@webstudio-is/react-sdk 0.7.1 → 0.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/arg-types/utils.d.ts +4 -11
- package/lib/arg-types/utils.d.ts.map +1 -1
- package/lib/arg-types/utils.js +22 -31
- package/lib/cjs/arg-types/utils.cjs +88 -0
- package/lib/cjs/arg-types/utils.d.ts +10 -0
- package/lib/cjs/arg-types/utils.d.ts.map +1 -0
- package/lib/cjs/components/body.cjs +8 -0
- package/lib/cjs/components/body.d.ts +3 -0
- package/lib/cjs/components/body.d.ts.map +1 -0
- package/lib/cjs/components/body.props.json +491 -0
- package/lib/cjs/components/body.stories.cjs +11 -0
- package/lib/cjs/components/body.stories.d.ts +7 -0
- package/lib/cjs/components/body.stories.d.ts.map +1 -0
- package/lib/cjs/components/body.ws.cjs +64 -0
- package/lib/cjs/components/body.ws.d.ts +5 -0
- package/lib/cjs/components/body.ws.d.ts.map +1 -0
- package/lib/cjs/components/bold.cjs +8 -0
- package/lib/cjs/components/bold.d.ts +3 -0
- package/lib/cjs/components/bold.d.ts.map +1 -0
- package/lib/cjs/components/bold.props.json +491 -0
- package/lib/cjs/components/bold.stories.cjs +14 -0
- package/lib/cjs/components/bold.stories.d.ts +6 -0
- package/lib/cjs/components/bold.stories.d.ts.map +1 -0
- package/lib/cjs/components/bold.ws.cjs +14 -0
- package/lib/cjs/components/bold.ws.d.ts +5 -0
- package/lib/cjs/components/bold.ws.d.ts.map +1 -0
- package/lib/cjs/components/box.cjs +9 -0
- package/lib/cjs/components/box.d.ts +8 -0
- package/lib/cjs/components/box.d.ts.map +1 -0
- package/lib/cjs/components/box.props.json +508 -0
- package/lib/cjs/components/box.stories.cjs +12 -0
- package/lib/cjs/components/box.stories.d.ts +10 -0
- package/lib/cjs/components/box.stories.d.ts.map +1 -0
- package/lib/cjs/components/box.ws.cjs +21 -0
- package/lib/cjs/components/box.ws.d.ts +5 -0
- package/lib/cjs/components/box.ws.d.ts.map +1 -0
- package/lib/cjs/components/button.cjs +11 -0
- package/lib/cjs/components/button.d.ts +3 -0
- package/lib/cjs/components/button.d.ts.map +1 -0
- package/lib/cjs/components/button.props.json +547 -0
- package/lib/cjs/components/button.stories.cjs +14 -0
- package/lib/cjs/components/button.stories.d.ts +6 -0
- package/lib/cjs/components/button.stories.d.ts.map +1 -0
- package/lib/cjs/components/button.ws.cjs +15 -0
- package/lib/cjs/components/button.ws.d.ts +5 -0
- package/lib/cjs/components/button.ws.d.ts.map +1 -0
- package/lib/cjs/components/component-type.cjs +28 -0
- package/lib/cjs/components/component-type.d.ts +17 -0
- package/lib/cjs/components/component-type.d.ts.map +1 -0
- package/lib/cjs/components/form.cjs +8 -0
- package/lib/cjs/components/form.d.ts +3 -0
- package/lib/cjs/components/form.d.ts.map +1 -0
- package/lib/cjs/components/form.props.json +531 -0
- package/lib/cjs/components/form.stories.cjs +12 -0
- package/lib/cjs/components/form.stories.d.ts +6 -0
- package/lib/cjs/components/form.stories.d.ts.map +1 -0
- package/lib/cjs/components/form.ws.cjs +26 -0
- package/lib/cjs/components/form.ws.d.ts +5 -0
- package/lib/cjs/components/form.ws.d.ts.map +1 -0
- package/lib/cjs/components/heading.cjs +9 -0
- package/lib/cjs/components/heading.d.ts +8 -0
- package/lib/cjs/components/heading.d.ts.map +1 -0
- package/lib/cjs/components/heading.props.json +497 -0
- package/lib/cjs/components/heading.stories.cjs +14 -0
- package/lib/cjs/components/heading.stories.d.ts +10 -0
- package/lib/cjs/components/heading.stories.d.ts.map +1 -0
- package/lib/cjs/components/heading.ws.cjs +15 -0
- package/lib/cjs/components/heading.ws.d.ts +5 -0
- package/lib/cjs/components/heading.ws.d.ts.map +1 -0
- package/lib/cjs/components/image.cjs +40 -0
- package/lib/cjs/components/image.d.ts +3 -0
- package/lib/cjs/components/image.d.ts.map +1 -0
- package/lib/cjs/components/image.props.json +575 -0
- package/lib/cjs/components/image.stories.cjs +12 -0
- package/lib/cjs/components/image.stories.d.ts +6 -0
- package/lib/cjs/components/image.stories.d.ts.map +1 -0
- package/lib/cjs/components/image.ws.cjs +29 -0
- package/lib/cjs/components/image.ws.d.ts +5 -0
- package/lib/cjs/components/image.ws.d.ts.map +1 -0
- package/lib/cjs/components/index.cjs +36 -0
- package/lib/cjs/components/index.d.ts +16 -0
- package/lib/cjs/components/index.d.ts.map +1 -0
- package/lib/cjs/components/index.test.cjs +33 -0
- package/lib/cjs/components/index.test.d.ts +2 -0
- package/lib/cjs/components/index.test.d.ts.map +1 -0
- package/lib/cjs/components/input.cjs +8 -0
- package/lib/cjs/components/input.d.ts +3 -0
- package/lib/cjs/components/input.d.ts.map +1 -0
- package/lib/cjs/components/input.props.json +657 -0
- package/lib/cjs/components/input.stories.cjs +12 -0
- package/lib/cjs/components/input.stories.d.ts +6 -0
- package/lib/cjs/components/input.stories.d.ts.map +1 -0
- package/lib/cjs/components/input.ws.cjs +14 -0
- package/lib/cjs/components/input.ws.d.ts +5 -0
- package/lib/cjs/components/input.ws.d.ts.map +1 -0
- package/lib/cjs/components/italic.cjs +8 -0
- package/lib/cjs/components/italic.d.ts +3 -0
- package/lib/cjs/components/italic.d.ts.map +1 -0
- package/lib/cjs/components/italic.props.json +491 -0
- package/lib/cjs/components/italic.stories.cjs +14 -0
- package/lib/cjs/components/italic.stories.d.ts +6 -0
- package/lib/cjs/components/italic.stories.d.ts.map +1 -0
- package/lib/cjs/components/italic.ws.cjs +14 -0
- package/lib/cjs/components/italic.ws.d.ts +5 -0
- package/lib/cjs/components/italic.ws.d.ts.map +1 -0
- package/lib/cjs/components/link.cjs +8 -0
- package/lib/cjs/components/link.d.ts +8 -0
- package/lib/cjs/components/link.d.ts.map +1 -0
- package/lib/cjs/components/link.props.json +547 -0
- package/lib/cjs/components/link.stories.cjs +14 -0
- package/lib/cjs/components/link.stories.d.ts +10 -0
- package/lib/cjs/components/link.stories.d.ts.map +1 -0
- package/lib/cjs/components/link.ws.cjs +27 -0
- package/lib/cjs/components/link.ws.d.ts +5 -0
- package/lib/cjs/components/link.ws.d.ts.map +1 -0
- package/lib/cjs/components/meta.cjs +40 -0
- package/lib/cjs/components/meta.d.ts +7479 -0
- package/lib/cjs/components/meta.d.ts.map +1 -0
- package/lib/cjs/components/paragraph.cjs +8 -0
- package/lib/cjs/components/paragraph.d.ts +3 -0
- package/lib/cjs/components/paragraph.d.ts.map +1 -0
- package/lib/cjs/components/paragraph.props.json +491 -0
- package/lib/cjs/components/paragraph.stories.cjs +14 -0
- package/lib/cjs/components/paragraph.stories.d.ts +6 -0
- package/lib/cjs/components/paragraph.stories.d.ts.map +1 -0
- package/lib/cjs/components/paragraph.ws.cjs +15 -0
- package/lib/cjs/components/paragraph.ws.d.ts +5 -0
- package/lib/cjs/components/paragraph.ws.d.ts.map +1 -0
- package/lib/cjs/components/span.cjs +8 -0
- package/lib/cjs/components/span.d.ts +3 -0
- package/lib/cjs/components/span.d.ts.map +1 -0
- package/lib/cjs/components/span.props.json +491 -0
- package/lib/cjs/components/span.stories.cjs +14 -0
- package/lib/cjs/components/span.stories.d.ts +6 -0
- package/lib/cjs/components/span.stories.d.ts.map +1 -0
- package/lib/cjs/components/span.ws.cjs +14 -0
- package/lib/cjs/components/span.ws.d.ts +5 -0
- package/lib/cjs/components/span.ws.d.ts.map +1 -0
- package/lib/cjs/components/subscript.cjs +8 -0
- package/lib/cjs/components/subscript.d.ts +3 -0
- package/lib/cjs/components/subscript.d.ts.map +1 -0
- package/lib/cjs/components/subscript.props.json +491 -0
- package/lib/cjs/components/subscript.stories.cjs +14 -0
- package/lib/cjs/components/subscript.stories.d.ts +6 -0
- package/lib/cjs/components/subscript.stories.d.ts.map +1 -0
- package/lib/cjs/components/subscript.ws.cjs +14 -0
- package/lib/cjs/components/subscript.ws.d.ts +5 -0
- package/lib/cjs/components/subscript.ws.d.ts.map +1 -0
- package/lib/cjs/components/superscript.cjs +8 -0
- package/lib/cjs/components/superscript.d.ts +3 -0
- package/lib/cjs/components/superscript.d.ts.map +1 -0
- package/lib/cjs/components/superscript.props.json +491 -0
- package/lib/cjs/components/superscript.stories.cjs +14 -0
- package/lib/cjs/components/superscript.stories.d.ts +6 -0
- package/lib/cjs/components/superscript.stories.d.ts.map +1 -0
- package/lib/cjs/components/superscript.ws.cjs +14 -0
- package/lib/cjs/components/superscript.ws.d.ts +5 -0
- package/lib/cjs/components/superscript.ws.d.ts.map +1 -0
- package/lib/cjs/components/text-block.cjs +8 -0
- package/lib/cjs/components/text-block.d.ts +3 -0
- package/lib/cjs/components/text-block.d.ts.map +1 -0
- package/lib/cjs/components/text-block.props.json +491 -0
- package/lib/cjs/components/text-block.stories.cjs +14 -0
- package/lib/cjs/components/text-block.stories.d.ts +6 -0
- package/lib/cjs/components/text-block.stories.d.ts.map +1 -0
- package/lib/cjs/components/text-block.ws.cjs +23 -0
- package/lib/cjs/components/text-block.ws.d.ts +5 -0
- package/lib/cjs/components/text-block.ws.d.ts.map +1 -0
- package/lib/cjs/css/breakpoints.cjs +9 -0
- package/lib/cjs/css/breakpoints.d.ts +4 -0
- package/lib/cjs/css/breakpoints.d.ts.map +1 -0
- package/lib/cjs/css/categories.cjs +229 -0
- package/lib/cjs/css/categories.d.ts +408 -0
- package/lib/cjs/css/categories.d.ts.map +1 -0
- package/lib/cjs/css/get-browser-style.cjs +48 -0
- package/lib/cjs/css/get-browser-style.d.ts +3 -0
- package/lib/cjs/css/get-browser-style.d.ts.map +1 -0
- package/lib/cjs/css/index.cjs +19 -0
- package/lib/cjs/css/index.d.ts +4 -0
- package/lib/cjs/css/index.d.ts.map +1 -0
- package/lib/cjs/db/index.cjs +18 -0
- package/lib/cjs/db/index.d.ts +3 -0
- package/lib/cjs/db/index.d.ts.map +1 -0
- package/lib/cjs/db/instance.cjs +21 -0
- package/lib/cjs/db/instance.d.ts +14 -0
- package/lib/cjs/db/instance.d.ts.map +1 -0
- package/lib/cjs/db/types.cjs +2 -0
- package/lib/cjs/db/types.d.ts +17 -0
- package/lib/cjs/db/types.d.ts.map +1 -0
- package/lib/cjs/index.cjs +37 -0
- package/lib/cjs/index.d.ts +9 -0
- package/lib/cjs/index.d.ts.map +1 -0
- package/lib/cjs/pubsub/create.cjs +66 -0
- package/lib/cjs/pubsub/create.d.ts +29 -0
- package/lib/cjs/pubsub/create.d.ts.map +1 -0
- package/lib/cjs/pubsub/index.cjs +17 -0
- package/lib/cjs/pubsub/index.d.ts +2 -0
- package/lib/cjs/pubsub/index.d.ts.map +1 -0
- package/lib/cjs/remix/handle-request.server.cjs +15 -0
- package/lib/cjs/remix/handle-request.server.d.ts +3 -0
- package/lib/cjs/remix/handle-request.server.d.ts.map +1 -0
- package/lib/cjs/remix/index.cjs +18 -0
- package/lib/cjs/remix/index.d.ts +3 -0
- package/lib/cjs/remix/index.d.ts.map +1 -0
- package/lib/cjs/remix/root.cjs +13 -0
- package/lib/cjs/remix/root.d.ts +8 -0
- package/lib/cjs/remix/root.d.ts.map +1 -0
- package/lib/cjs/tree/create-elements-tree.cjs +54 -0
- package/lib/cjs/tree/create-elements-tree.d.ts +19 -0
- package/lib/cjs/tree/create-elements-tree.d.ts.map +1 -0
- package/lib/cjs/tree/index.cjs +19 -0
- package/lib/cjs/tree/index.d.ts +4 -0
- package/lib/cjs/tree/index.d.ts.map +1 -0
- package/lib/cjs/tree/root.cjs +17 -0
- package/lib/cjs/tree/root.d.ts +18 -0
- package/lib/cjs/tree/root.d.ts.map +1 -0
- package/lib/cjs/tree/session-storage-polyfill.cjs +39 -0
- package/lib/cjs/tree/session-storage-polyfill.d.ts +2 -0
- package/lib/cjs/tree/session-storage-polyfill.d.ts.map +1 -0
- package/lib/cjs/tree/wrapper-component.cjs +53 -0
- package/lib/cjs/tree/wrapper-component.d.ts +12 -0
- package/lib/cjs/tree/wrapper-component.d.ts.map +1 -0
- package/lib/cjs/user-props/all-user-props.cjs +21 -0
- package/lib/cjs/user-props/all-user-props.d.ts +8 -0
- package/lib/cjs/user-props/all-user-props.d.ts.map +1 -0
- package/lib/cjs/user-props/index.cjs +20 -0
- package/lib/cjs/user-props/index.d.ts +5 -0
- package/lib/cjs/user-props/index.d.ts.map +1 -0
- package/lib/cjs/user-props/schema.cjs +33 -0
- package/lib/cjs/user-props/schema.d.ts +72 -0
- package/lib/cjs/user-props/schema.d.ts.map +1 -0
- package/lib/cjs/user-props/types.cjs +2 -0
- package/lib/cjs/user-props/types.d.ts +13 -0
- package/lib/cjs/user-props/types.d.ts.map +1 -0
- package/lib/cjs/user-props/use-user-props.cjs +33 -0
- package/lib/cjs/user-props/use-user-props.d.ts +12 -0
- package/lib/cjs/user-props/use-user-props.d.ts.map +1 -0
- package/lib/components/body.js +4 -7
- package/lib/components/body.props.json +103 -1817
- package/lib/components/body.stories.d.ts +2 -2
- package/lib/components/body.stories.d.ts.map +1 -1
- package/lib/components/body.stories.js +5 -14
- package/lib/components/body.ws.js +5 -7
- package/lib/components/bold.d.ts +2 -2
- package/lib/components/bold.d.ts.map +1 -1
- package/lib/components/bold.js +4 -7
- package/lib/components/bold.props.json +103 -1817
- package/lib/components/bold.stories.d.ts +3 -3
- package/lib/components/bold.stories.d.ts.map +1 -1
- package/lib/components/bold.stories.js +7 -15
- package/lib/components/bold.ws.js +5 -7
- package/lib/components/box.js +4 -7
- package/lib/components/box.props.json +106 -1866
- package/lib/components/box.stories.d.ts +5 -5
- package/lib/components/box.stories.d.ts.map +1 -1
- package/lib/components/box.stories.js +7 -15
- package/lib/components/box.ws.js +5 -7
- package/lib/components/button.d.ts +2 -2
- package/lib/components/button.d.ts.map +1 -1
- package/lib/components/button.js +5 -8
- package/lib/components/button.props.json +115 -2028
- package/lib/components/button.stories.d.ts +3 -3
- package/lib/components/button.stories.d.ts.map +1 -1
- package/lib/components/button.stories.js +7 -15
- package/lib/components/button.ws.js +5 -7
- package/lib/components/component-type.js +11 -14
- package/lib/components/form.d.ts +2 -2
- package/lib/components/form.d.ts.map +1 -1
- package/lib/components/form.js +4 -7
- package/lib/components/form.props.json +111 -1961
- package/lib/components/form.stories.d.ts +3 -3
- package/lib/components/form.stories.d.ts.map +1 -1
- package/lib/components/form.stories.js +7 -15
- package/lib/components/form.ws.js +5 -7
- package/lib/components/heading.js +4 -7
- package/lib/components/heading.props.json +105 -1853
- package/lib/components/heading.stories.d.ts +5 -5
- package/lib/components/heading.stories.d.ts.map +1 -1
- package/lib/components/heading.stories.js +7 -15
- package/lib/components/heading.ws.js +5 -7
- package/lib/components/image.d.ts +2 -10
- package/lib/components/image.d.ts.map +1 -1
- package/lib/components/image.js +6 -21
- package/lib/components/image.props.json +122 -2125
- package/lib/components/image.stories.d.ts +3 -11
- package/lib/components/image.stories.d.ts.map +1 -1
- package/lib/components/image.stories.js +7 -15
- package/lib/components/image.ws.js +5 -7
- package/lib/components/index.js +15 -36
- package/lib/components/index.test.js +3 -28
- package/lib/components/input.d.ts +2 -2
- package/lib/components/input.d.ts.map +1 -1
- package/lib/components/input.js +4 -7
- package/lib/components/input.props.json +137 -2436
- package/lib/components/input.stories.d.ts +3 -3
- package/lib/components/input.stories.d.ts.map +1 -1
- package/lib/components/input.stories.js +7 -15
- package/lib/components/input.ws.js +5 -7
- package/lib/components/italic.d.ts +2 -2
- package/lib/components/italic.d.ts.map +1 -1
- package/lib/components/italic.js +4 -7
- package/lib/components/italic.props.json +103 -1817
- package/lib/components/italic.stories.d.ts +3 -3
- package/lib/components/italic.stories.d.ts.map +1 -1
- package/lib/components/italic.stories.js +7 -15
- package/lib/components/italic.ws.js +5 -7
- package/lib/components/link.d.ts +2 -2
- package/lib/components/link.d.ts.map +1 -1
- package/lib/components/link.js +4 -7
- package/lib/components/link.props.json +114 -2007
- package/lib/components/link.stories.d.ts +5 -5
- package/lib/components/link.stories.d.ts.map +1 -1
- package/lib/components/link.stories.js +7 -15
- package/lib/components/link.ws.js +5 -7
- package/lib/components/meta.d.ts +7478 -15
- package/lib/components/meta.d.ts.map +1 -1
- package/lib/components/meta.js +33 -35
- package/lib/components/paragraph.d.ts +2 -2
- package/lib/components/paragraph.d.ts.map +1 -1
- package/lib/components/paragraph.js +4 -7
- package/lib/components/paragraph.props.json +103 -1817
- package/lib/components/paragraph.stories.d.ts +3 -3
- package/lib/components/paragraph.stories.d.ts.map +1 -1
- package/lib/components/paragraph.stories.js +7 -15
- package/lib/components/paragraph.ws.js +5 -7
- package/lib/components/span.js +4 -7
- package/lib/components/span.props.json +103 -1817
- package/lib/components/span.stories.d.ts.map +1 -1
- package/lib/components/span.stories.js +7 -15
- package/lib/components/span.ws.js +5 -7
- package/lib/components/subscript.js +4 -7
- package/lib/components/subscript.props.json +103 -1817
- package/lib/components/subscript.stories.d.ts +3 -3
- package/lib/components/subscript.stories.d.ts.map +1 -1
- package/lib/components/subscript.stories.js +7 -15
- package/lib/components/subscript.ws.js +5 -7
- package/lib/components/superscript.js +4 -7
- package/lib/components/superscript.props.json +103 -1817
- package/lib/components/superscript.stories.d.ts.map +1 -1
- package/lib/components/superscript.stories.js +7 -15
- package/lib/components/superscript.ws.js +5 -7
- package/lib/components/text-block.d.ts +2 -2
- package/lib/components/text-block.d.ts.map +1 -1
- package/lib/components/text-block.js +4 -7
- package/lib/components/text-block.props.json +103 -1817
- package/lib/components/text-block.stories.d.ts +3 -3
- package/lib/components/text-block.stories.d.ts.map +1 -1
- package/lib/components/text-block.stories.js +7 -15
- package/lib/components/text-block.ws.js +5 -7
- package/lib/css/breakpoints.js +1 -4
- package/lib/css/categories.js +5 -8
- package/lib/css/get-browser-style.js +7 -11
- package/lib/css/index.js +3 -19
- package/lib/db/index.js +2 -18
- package/lib/db/instance.js +8 -12
- package/lib/db/types.d.ts +6 -0
- package/lib/db/types.d.ts.map +1 -1
- package/lib/db/types.js +1 -2
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -37
- package/lib/pubsub/create.js +8 -15
- package/lib/pubsub/index.js +1 -17
- package/lib/remix/handle-request.server.js +5 -9
- package/lib/remix/index.js +2 -18
- package/lib/remix/root.js +5 -9
- package/lib/tree/create-elements-tree.js +7 -11
- package/lib/tree/index.js +3 -19
- package/lib/tree/root.js +7 -11
- package/lib/tree/session-storage-polyfill.js +2 -6
- package/lib/tree/wrapper-component.js +11 -39
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/user-props/all-user-props.js +7 -11
- package/lib/user-props/index.js +4 -20
- package/lib/user-props/schema.d.ts +41 -4
- package/lib/user-props/schema.d.ts.map +1 -1
- package/lib/user-props/schema.js +29 -10
- package/lib/user-props/types.js +1 -2
- package/lib/user-props/use-user-props.d.ts.map +1 -1
- package/lib/user-props/use-user-props.js +7 -11
- package/package.json +15 -9
- package/lib/component-utils/image.d.ts +0 -107
- package/lib/component-utils/image.d.ts.map +0 -1
- package/lib/component-utils/image.js +0 -198
- package/lib/component-utils/image.test.d.ts +0 -2
- package/lib/component-utils/image.test.d.ts.map +0 -1
- package/lib/component-utils/image.test.js +0 -132
- package/lib/components/image-dev.stories.d.ts +0 -36
- package/lib/components/image-dev.stories.d.ts.map +0 -1
- package/lib/components/image-dev.stories.js +0 -102
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const image_1 = require("./image");
|
|
4
|
-
describe("Image optimizations applied", () => {
|
|
5
|
-
test("width is number, create pixel density descriptor 'x'", () => {
|
|
6
|
-
const imgAttr = (0, image_1.getImageAttributes)({
|
|
7
|
-
optimize: true,
|
|
8
|
-
width: 100,
|
|
9
|
-
src: "https://webstudio.is/logo.webp",
|
|
10
|
-
srcSet: undefined,
|
|
11
|
-
sizes: undefined,
|
|
12
|
-
quality: 100,
|
|
13
|
-
});
|
|
14
|
-
expect(imgAttr).toMatchInlineSnapshot(`
|
|
15
|
-
Object {
|
|
16
|
-
"sizes": undefined,
|
|
17
|
-
"src": "/cdn-cgi/image/width=256,quality=100,format=auto/https://webstudio.is/logo.webp",
|
|
18
|
-
"srcSet": "/cdn-cgi/image/width=128,quality=100,format=auto/https://webstudio.is/logo.webp 1x, /cdn-cgi/image/width=256,quality=100,format=auto/https://webstudio.is/logo.webp 2x",
|
|
19
|
-
}
|
|
20
|
-
`);
|
|
21
|
-
});
|
|
22
|
-
test("width is undefined, create 'w' descriptor and sizes prop", () => {
|
|
23
|
-
const imgAttr = (0, image_1.getImageAttributes)({
|
|
24
|
-
optimize: true,
|
|
25
|
-
width: undefined,
|
|
26
|
-
src: "https://webstudio.is/logo.webp",
|
|
27
|
-
srcSet: undefined,
|
|
28
|
-
sizes: undefined,
|
|
29
|
-
quality: 90,
|
|
30
|
-
});
|
|
31
|
-
expect(imgAttr).toMatchInlineSnapshot(`
|
|
32
|
-
Object {
|
|
33
|
-
"sizes": "(min-width: 1280px) 50vw, 100vw",
|
|
34
|
-
"src": "/cdn-cgi/image/width=3840,quality=90,format=auto/https://webstudio.is/logo.webp",
|
|
35
|
-
"srcSet": "/cdn-cgi/image/width=384,quality=90,format=auto/https://webstudio.is/logo.webp 384w, /cdn-cgi/image/width=640,quality=90,format=auto/https://webstudio.is/logo.webp 640w, /cdn-cgi/image/width=750,quality=90,format=auto/https://webstudio.is/logo.webp 750w, /cdn-cgi/image/width=828,quality=90,format=auto/https://webstudio.is/logo.webp 828w, /cdn-cgi/image/width=1080,quality=90,format=auto/https://webstudio.is/logo.webp 1080w, /cdn-cgi/image/width=1200,quality=90,format=auto/https://webstudio.is/logo.webp 1200w, /cdn-cgi/image/width=1920,quality=90,format=auto/https://webstudio.is/logo.webp 1920w, /cdn-cgi/image/width=2048,quality=90,format=auto/https://webstudio.is/logo.webp 2048w, /cdn-cgi/image/width=3840,quality=90,format=auto/https://webstudio.is/logo.webp 3840w",
|
|
36
|
-
}
|
|
37
|
-
`);
|
|
38
|
-
});
|
|
39
|
-
test("width is undefined and size defined, creates 'w' descriptor and use input sizes props", () => {
|
|
40
|
-
const imgAttr = (0, image_1.getImageAttributes)({
|
|
41
|
-
optimize: true,
|
|
42
|
-
width: undefined,
|
|
43
|
-
src: "https://webstudio.is/logo.webp",
|
|
44
|
-
srcSet: undefined,
|
|
45
|
-
sizes: "100vw",
|
|
46
|
-
quality: 70,
|
|
47
|
-
});
|
|
48
|
-
expect(imgAttr).toMatchInlineSnapshot(`
|
|
49
|
-
Object {
|
|
50
|
-
"sizes": "100vw",
|
|
51
|
-
"src": "/cdn-cgi/image/width=3840,quality=70,format=auto/https://webstudio.is/logo.webp",
|
|
52
|
-
"srcSet": "/cdn-cgi/image/width=640,quality=70,format=auto/https://webstudio.is/logo.webp 640w, /cdn-cgi/image/width=750,quality=70,format=auto/https://webstudio.is/logo.webp 750w, /cdn-cgi/image/width=828,quality=70,format=auto/https://webstudio.is/logo.webp 828w, /cdn-cgi/image/width=1080,quality=70,format=auto/https://webstudio.is/logo.webp 1080w, /cdn-cgi/image/width=1200,quality=70,format=auto/https://webstudio.is/logo.webp 1200w, /cdn-cgi/image/width=1920,quality=70,format=auto/https://webstudio.is/logo.webp 1920w, /cdn-cgi/image/width=2048,quality=70,format=auto/https://webstudio.is/logo.webp 2048w, /cdn-cgi/image/width=3840,quality=70,format=auto/https://webstudio.is/logo.webp 3840w",
|
|
53
|
-
}
|
|
54
|
-
`);
|
|
55
|
-
});
|
|
56
|
-
test("custom loader", () => {
|
|
57
|
-
const imgAttr = (0, image_1.getImageAttributes)({
|
|
58
|
-
optimize: true,
|
|
59
|
-
width: undefined,
|
|
60
|
-
src: "https://webstudio.is/logo.webp",
|
|
61
|
-
srcSet: undefined,
|
|
62
|
-
sizes: "100vw",
|
|
63
|
-
quality: 70,
|
|
64
|
-
loader: ({ width, src, quality }) => `${new URL(src).pathname}?w=${width}&q=${quality}`,
|
|
65
|
-
});
|
|
66
|
-
expect(imgAttr).toMatchInlineSnapshot(`
|
|
67
|
-
Object {
|
|
68
|
-
"sizes": "100vw",
|
|
69
|
-
"src": "/logo.webp?w=3840&q=70",
|
|
70
|
-
"srcSet": "/logo.webp?w=640&q=70 640w, /logo.webp?w=750&q=70 750w, /logo.webp?w=828&q=70 828w, /logo.webp?w=1080&q=70 1080w, /logo.webp?w=1200&q=70 1200w, /logo.webp?w=1920&q=70 1920w, /logo.webp?w=2048&q=70 2048w, /logo.webp?w=3840&q=70 3840w",
|
|
71
|
-
}
|
|
72
|
-
`);
|
|
73
|
-
});
|
|
74
|
-
});
|
|
75
|
-
describe("Image optimizations not applied", () => {
|
|
76
|
-
test("optimize is false", () => {
|
|
77
|
-
const imgAttr = (0, image_1.getImageAttributes)({
|
|
78
|
-
optimize: false,
|
|
79
|
-
width: 100,
|
|
80
|
-
src: "https://webstudio.is/logo.webp",
|
|
81
|
-
srcSet: undefined,
|
|
82
|
-
sizes: undefined,
|
|
83
|
-
quality: 100,
|
|
84
|
-
});
|
|
85
|
-
expect(imgAttr).toMatchInlineSnapshot(`
|
|
86
|
-
Object {
|
|
87
|
-
"sizes": undefined,
|
|
88
|
-
"src": "https://webstudio.is/logo.webp",
|
|
89
|
-
"srcSet": undefined,
|
|
90
|
-
}
|
|
91
|
-
`);
|
|
92
|
-
});
|
|
93
|
-
test("srcSet is defined", () => {
|
|
94
|
-
const imgAttr = (0, image_1.getImageAttributes)({
|
|
95
|
-
optimize: true,
|
|
96
|
-
width: 100,
|
|
97
|
-
src: "https://webstudio.is/logo.webp",
|
|
98
|
-
srcSet: "user-defined-srcset",
|
|
99
|
-
sizes: undefined,
|
|
100
|
-
quality: 100,
|
|
101
|
-
});
|
|
102
|
-
expect(imgAttr).toMatchInlineSnapshot(`
|
|
103
|
-
Object {
|
|
104
|
-
"sizes": undefined,
|
|
105
|
-
"src": "https://webstudio.is/logo.webp",
|
|
106
|
-
"srcSet": "user-defined-srcset",
|
|
107
|
-
}
|
|
108
|
-
`);
|
|
109
|
-
});
|
|
110
|
-
test("src is empty", () => {
|
|
111
|
-
const imgAttr = (0, image_1.getImageAttributes)({
|
|
112
|
-
optimize: true,
|
|
113
|
-
width: 100,
|
|
114
|
-
src: "",
|
|
115
|
-
srcSet: undefined,
|
|
116
|
-
sizes: undefined,
|
|
117
|
-
quality: 100,
|
|
118
|
-
});
|
|
119
|
-
expect(imgAttr).toMatchInlineSnapshot(`null`);
|
|
120
|
-
});
|
|
121
|
-
test("src is undefined", () => {
|
|
122
|
-
const imgAttr = (0, image_1.getImageAttributes)({
|
|
123
|
-
optimize: true,
|
|
124
|
-
width: 100,
|
|
125
|
-
src: undefined,
|
|
126
|
-
srcSet: undefined,
|
|
127
|
-
sizes: undefined,
|
|
128
|
-
quality: 100,
|
|
129
|
-
});
|
|
130
|
-
expect(imgAttr).toMatchInlineSnapshot(`null`);
|
|
131
|
-
});
|
|
132
|
-
});
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import type { ComponentMeta, ComponentStory } from "@storybook/react";
|
|
3
|
-
import { type ImageLoader } from "../component-utils/image";
|
|
4
|
-
declare const _default: ComponentMeta<React.ForwardRefExoticComponent<Pick<React.ClassAttributes<HTMLImageElement> & React.ImgHTMLAttributes<HTMLImageElement> & {
|
|
5
|
-
quality?: number | undefined;
|
|
6
|
-
loader?: ImageLoader | undefined;
|
|
7
|
-
optimize?: boolean | undefined;
|
|
8
|
-
}, "key" | "quality" | "loader" | keyof React.ImgHTMLAttributes<HTMLImageElement> | "optimize"> & React.RefAttributes<HTMLImageElement>>>;
|
|
9
|
-
export default _default;
|
|
10
|
-
/**
|
|
11
|
-
* Load images depending on image width and device per pixel ratio.
|
|
12
|
-
**/
|
|
13
|
-
export declare const FixedWidthImage: ComponentStory<React.FunctionComponent>;
|
|
14
|
-
/**
|
|
15
|
-
* Preserve ratio using object-fit: cover. Load images depending on image width and device per pixel ratio.
|
|
16
|
-
**/
|
|
17
|
-
export declare const FixedWidthImageCover: ComponentStory<React.FunctionComponent>;
|
|
18
|
-
/**
|
|
19
|
-
* Load images depending on the viewport width.
|
|
20
|
-
**/
|
|
21
|
-
export declare const UnknownWidthImage: ComponentStory<React.FunctionComponent>;
|
|
22
|
-
/**
|
|
23
|
-
* Fit width of the parent container, has own aspect-ratio and object-fit=cover.
|
|
24
|
-
* Load images depending on the viewport width.
|
|
25
|
-
**/
|
|
26
|
-
export declare const AspectRatioImage: ComponentStory<React.FunctionComponent>;
|
|
27
|
-
/**
|
|
28
|
-
* Fill width and height of the relative parent container, object-fit=cover. Load images depending on the viewport width.
|
|
29
|
-
**/
|
|
30
|
-
export declare const FillParentImage: ComponentStory<React.FunctionComponent>;
|
|
31
|
-
/**
|
|
32
|
-
* "sizes" attribute explicitly equal to 100vw allowing to skip the default behavior.
|
|
33
|
-
* See DEFAULT_SIZES in the Image component. Load images depending on the viewport width.
|
|
34
|
-
**/
|
|
35
|
-
export declare const HeroImage: ComponentStory<React.FunctionComponent>;
|
|
36
|
-
//# sourceMappingURL=image-dev.stories.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"image-dev.stories.d.ts","sourceRoot":"","sources":["../../src/components/image-dev.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AACxE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAItE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;;;;;;AAO5D,wBAE0C;AAgF1C;;IAEI;AACJ,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAEnE,CAAC;AAEF;;IAEI;AACJ,eAAO,MAAM,oBAAoB,EAAE,cAAc,CAC/C,KAAK,CAAC,iBAAiB,CAQxB,CAAC;AAEF;;IAEI;AACJ,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAC5C,KAAK,CAAC,iBAAiB,CACa,CAAC;AAEvC;;;IAGI;AACJ,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAOpE,CAAC;AAEF;;IAEI;AACJ,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAYnE,CAAC;AAEF;;;IAGI;AACJ,eAAO,MAAM,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAU7D,CAAC"}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.HeroImage = exports.FillParentImage = exports.AspectRatioImage = exports.UnknownWidthImage = exports.FixedWidthImageCover = exports.FixedWidthImage = void 0;
|
|
7
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
-
const warn_once_1 = __importDefault(require("warn-once"));
|
|
9
|
-
const image_1 = require("./image");
|
|
10
|
-
const image_ws_1 = __importDefault(require("./image.ws"));
|
|
11
|
-
// to not allow include local assets everywhere, just enable it for this file
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
13
|
-
// @ts-ignore
|
|
14
|
-
const logo_webp_1 = __importDefault(require("../../storybook-assets/logo.webp"));
|
|
15
|
-
exports.default = {
|
|
16
|
-
title: "Components/ImageDev",
|
|
17
|
-
};
|
|
18
|
-
/**
|
|
19
|
-
* In case you need to test img with real cloudflare trasforms
|
|
20
|
-
* set USE_CLOUDFLARE_IMAGE_TRANSFORM = true
|
|
21
|
-
**/
|
|
22
|
-
const USE_CLOUDFLARE_IMAGE_TRANSFORM = false;
|
|
23
|
-
// For cloudflare image transform testing, logo should be the most consistent image on the site
|
|
24
|
-
const REMOTE_SELF_DOMAIN_IMAGE = "https://webstudio.is/logo.webp";
|
|
25
|
-
const imageSrc = USE_CLOUDFLARE_IMAGE_TRANSFORM
|
|
26
|
-
? REMOTE_SELF_DOMAIN_IMAGE
|
|
27
|
-
: logo_webp_1.default;
|
|
28
|
-
// In case of REMOTE_DEBUG
|
|
29
|
-
const cloudflareImageLoader = ({ width, src, quality }) => {
|
|
30
|
-
// No image transformation in development
|
|
31
|
-
const resizeOrigin = "https://webstudio.is";
|
|
32
|
-
const pathParams = [
|
|
33
|
-
`width=${width}`,
|
|
34
|
-
quality != null && `quality=${quality}`,
|
|
35
|
-
"format=auto",
|
|
36
|
-
].filter(Boolean);
|
|
37
|
-
const pathname = `/cdn-cgi/image/${pathParams.join(",")}/${src}`;
|
|
38
|
-
const url = new URL(pathname, resizeOrigin);
|
|
39
|
-
return url.href;
|
|
40
|
-
};
|
|
41
|
-
const localImageLoader = ({ width, src, quality }) => {
|
|
42
|
-
// Just emulate like we really resize the image
|
|
43
|
-
const params = new URLSearchParams();
|
|
44
|
-
params.set("width", `${width}`);
|
|
45
|
-
params.set("quality", `${quality}`);
|
|
46
|
-
return `${src}?${params.toString()}`;
|
|
47
|
-
};
|
|
48
|
-
const imageLoader = USE_CLOUDFLARE_IMAGE_TRANSFORM
|
|
49
|
-
? cloudflareImageLoader
|
|
50
|
-
: localImageLoader;
|
|
51
|
-
const ImageBase = (args) => {
|
|
52
|
-
(0, warn_once_1.default)(!(image_ws_1.default.defaultStyle?.maxWidth?.value === 100 &&
|
|
53
|
-
image_ws_1.default.defaultStyle?.maxWidth?.unit === "%"), "We expect that the image default style has maxWidth: 100%");
|
|
54
|
-
(0, warn_once_1.default)(image_ws_1.default.defaultStyle?.display?.value !== "block", "We expect that the image default style has display: block");
|
|
55
|
-
const style = {
|
|
56
|
-
maxWidth: "100%",
|
|
57
|
-
display: "block",
|
|
58
|
-
...args.style,
|
|
59
|
-
};
|
|
60
|
-
return ((0, jsx_runtime_1.jsx)(image_1.Image, { ...args, optimize: true, loader: imageLoader, style: style }));
|
|
61
|
-
};
|
|
62
|
-
/**
|
|
63
|
-
* Load images depending on image width and device per pixel ratio.
|
|
64
|
-
**/
|
|
65
|
-
const FixedWidthImage = () => ((0, jsx_runtime_1.jsx)(ImageBase, { src: imageSrc, width: "300", height: "400" }));
|
|
66
|
-
exports.FixedWidthImage = FixedWidthImage;
|
|
67
|
-
/**
|
|
68
|
-
* Preserve ratio using object-fit: cover. Load images depending on image width and device per pixel ratio.
|
|
69
|
-
**/
|
|
70
|
-
const FixedWidthImageCover = () => ((0, jsx_runtime_1.jsx)(ImageBase, { src: imageSrc, width: "300", height: "400", style: { objectFit: "cover" } }));
|
|
71
|
-
exports.FixedWidthImageCover = FixedWidthImageCover;
|
|
72
|
-
/**
|
|
73
|
-
* Load images depending on the viewport width.
|
|
74
|
-
**/
|
|
75
|
-
const UnknownWidthImage = () => (0, jsx_runtime_1.jsx)(ImageBase, { src: imageSrc });
|
|
76
|
-
exports.UnknownWidthImage = UnknownWidthImage;
|
|
77
|
-
/**
|
|
78
|
-
* Fit width of the parent container, has own aspect-ratio and object-fit=cover.
|
|
79
|
-
* Load images depending on the viewport width.
|
|
80
|
-
**/
|
|
81
|
-
const AspectRatioImage = () => ((0, jsx_runtime_1.jsx)("div", { style: { width: "50%" }, children: (0, jsx_runtime_1.jsx)(ImageBase, { src: imageSrc, style: { aspectRatio: "2/1", objectFit: "cover", width: "100%" } }) }));
|
|
82
|
-
exports.AspectRatioImage = AspectRatioImage;
|
|
83
|
-
/**
|
|
84
|
-
* Fill width and height of the relative parent container, object-fit=cover. Load images depending on the viewport width.
|
|
85
|
-
**/
|
|
86
|
-
const FillParentImage = () => ((0, jsx_runtime_1.jsx)("div", { style: { width: "50%", aspectRatio: "2/1", position: "relative" }, children: (0, jsx_runtime_1.jsx)(ImageBase, { src: imageSrc, style: {
|
|
87
|
-
objectFit: "cover",
|
|
88
|
-
position: "absolute",
|
|
89
|
-
width: "100%",
|
|
90
|
-
height: "100%",
|
|
91
|
-
} }) }));
|
|
92
|
-
exports.FillParentImage = FillParentImage;
|
|
93
|
-
/**
|
|
94
|
-
* "sizes" attribute explicitly equal to 100vw allowing to skip the default behavior.
|
|
95
|
-
* See DEFAULT_SIZES in the Image component. Load images depending on the viewport width.
|
|
96
|
-
**/
|
|
97
|
-
const HeroImage = () => ((0, jsx_runtime_1.jsx)(ImageBase, { src: imageSrc, sizes: "100vw", style: {
|
|
98
|
-
aspectRatio: "3/1",
|
|
99
|
-
objectFit: "cover",
|
|
100
|
-
width: "100%",
|
|
101
|
-
} }));
|
|
102
|
-
exports.HeroImage = HeroImage;
|