Skip to content

Commit 624918a

Browse files
committed
add box component and image sizing
1 parent 6de49d9 commit 624918a

File tree

13 files changed

+138
-2
lines changed

13 files changed

+138
-2
lines changed

packages/ui-extensions-react/src/surfaces/point-of-sale/components.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
export {ActionItem} from './components/ActionItem/ActionItem';
22
export {Badge} from './components/Badge/Badge';
33
export {Banner} from './components/Banner/Banner';
4+
export {Box} from './components/Box/Box';
45
export {Button} from './components/Button/Button';
56
export {CameraScanner} from './components/CameraScanner/CameraScanner';
67
export {DateField} from './components/DateField/DateField';
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
import {Box as BaseBox} from '@shopify/ui-extensions/point-of-sale';
2+
import {createRemoteReactComponent} from '@remote-ui/react';
3+
4+
export const Box = createRemoteReactComponent(BaseBox);

packages/ui-extensions/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88

99
### Minor Changes
1010

11+
- [#2524](https://github.com/Shopify/ui-extensions/pull/2524)[`4a76915c79dd0ee0cee20c1e61936fd8bd736015`](https://github.com/Shopify/ui-extensions/pull/2524/commits/4a76915c79dd0ee0cee20c1e61936fd8bd736015) - Add Sizing properties to `Image`, and a `Box` component.
12+
1113
- [#2307](https://github.com/Shopify/ui-extensions/pull/2307) [`21234eea51b50dfc53d3fc4962512728b4a19446`](https://github.com/Shopify/ui-extensions/commit/21234eea51b50dfc53d3fc4962512728b4a19446) Thanks [@oliverigor](https://github.com/oliverigor)! - Add size property to Modal
1214

1315
- [#2371](https://github.com/Shopify/ui-extensions/pull/2371) [`28edde440ceee584c71c5ac983252ca71a7f853a`](https://github.com/Shopify/ui-extensions/commit/28edde440ceee584c71c5ac983252ca71a7f853a) Thanks [@shopify-github-actions-access](https://github.com/apps/shopify-github-actions-access)! - Adds `type` property to `selectedPaymentOption`
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import {ReferenceEntityTemplateSchema} from '@shopify/generate-docs';
2+
import {generateCodeBlock} from '../helpers/generateCodeBlock';
3+
4+
const data: ReferenceEntityTemplateSchema = {
5+
name: 'Box',
6+
description:
7+
'The Box component provides styling options for spacing and layout.',
8+
isVisualComponent: true,
9+
type: 'component',
10+
definitions: [
11+
{
12+
title: 'Box',
13+
description: '',
14+
type: 'BoxProps',
15+
},
16+
],
17+
category: 'Components',
18+
related: [],
19+
defaultExample: {
20+
image: 'box-default.png',
21+
codeblock: generateCodeBlock('Example box', 'box', 'default.example'),
22+
},
23+
thumbnail: 'box-thumbnail.png',
24+
};
25+
26+
export default data;
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
import {
2+
Box,
3+
extension,
4+
} from '@shopify/ui-extensions/point-of-sale';
5+
6+
export default extension(
7+
'pos.purchase.post.block.render',
8+
(root, api) => {
9+
const posBlock = root.createComponent(
10+
Box,
11+
{
12+
blockSize: 600,
13+
inlineSize: 600,
14+
}
15+
);
16+
const image = root.createComponent(Image, {
17+
src: 'example.png',
18+
size: 'fill',
19+
resizeMode: 'contain',
20+
});
21+
22+
posBlock.append(image);
23+
24+
root.append(posBlock);
25+
},
26+
);
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import React from 'react';
2+
3+
import {
4+
Box,
5+
Image,
6+
Navigator,
7+
Screen,
8+
ScrollView,
9+
SectionHeader,
10+
reactExtension,
11+
} from '@shopify/ui-extensions-react/src/surfaces/point-of-sale';
12+
13+
const ImageModal = () => {
14+
return (
15+
<Navigator>
16+
<Screen name="ImageBox" title="ImageBox">
17+
<ScrollView>
18+
<SectionHeader title="Box-Contain" />
19+
<Box blockSize={600} inlineSize={600}>
20+
<Image
21+
src="example.png"
22+
size="fill"
23+
resizeMode="contain"
24+
/>
25+
</Box>
26+
</ScrollView>
27+
</Screen>
28+
</Navigator>
29+
);
30+
};
31+
32+
export default reactExtension(
33+
'pos.home.modal.render',
34+
() => <ImageModal />,
35+
);

packages/ui-extensions/docs/surfaces/point-of-sale/reference/examples/image/default-example.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ export default extension(
1111
(root, api) => {
1212
const image = root.createComponent(Image, {
1313
src: 'example.png',
14+
size: 's',
1415
});
1516

1617
const scrollView =

packages/ui-extensions/docs/surfaces/point-of-sale/reference/examples/image/default-example.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ const SmartGridModal = () => {
1313
<Navigator>
1414
<Screen name="Image" title="Image Example">
1515
<ScrollView>
16-
<Image src="example.png" />
16+
<Image src="example.png" size='s'/>
1717
</ScrollView>
1818
</Screen>
1919
</Navigator>
7.46 KB
Loading
10.3 KB
Loading

0 commit comments

Comments
 (0)