@websolutespa/bom-mixer-ui 1.2.2 → 1.3.0
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/CHANGELOG.md +7 -0
- package/dist/cjs/index.js +443 -211
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/accessibility/index.js +13 -0
- package/dist/esm/accessibility/index.js.map +1 -0
- package/dist/esm/components/breakpoint/breakpoint.js +2 -1
- package/dist/esm/components/breakpoint/breakpoint.js.map +1 -1
- package/dist/esm/components/media/media-image.js +6 -7
- package/dist/esm/components/media/media-image.js.map +1 -1
- package/dist/esm/components/media/media.js +15 -5
- package/dist/esm/components/media/media.js.map +1 -1
- package/dist/esm/fields/field-accept.js +22 -8
- package/dist/esm/fields/field-accept.js.map +1 -1
- package/dist/esm/fields/field-autocomplete.js +19 -13
- package/dist/esm/fields/field-autocomplete.js.map +1 -1
- package/dist/esm/fields/field-card.js +7 -4
- package/dist/esm/fields/field-card.js.map +1 -1
- package/dist/esm/fields/field-checkbox.js +7 -4
- package/dist/esm/fields/field-checkbox.js.map +1 -1
- package/dist/esm/fields/field-collection.js +44 -35
- package/dist/esm/fields/field-collection.js.map +1 -1
- package/dist/esm/fields/field-error.variants.js +8 -7
- package/dist/esm/fields/field-error.variants.js.map +1 -1
- package/dist/esm/fields/field-password.js +12 -6
- package/dist/esm/fields/field-password.js.map +1 -1
- package/dist/esm/fields/field-select.js +15 -8
- package/dist/esm/fields/field-select.js.map +1 -1
- package/dist/esm/fields/field-text.js +16 -8
- package/dist/esm/fields/field-text.js.map +1 -1
- package/dist/esm/fields/field-textarea.js +92 -0
- package/dist/esm/fields/field-textarea.js.map +1 -0
- package/dist/esm/fields/fields.js +5 -0
- package/dist/esm/fields/fields.js.map +1 -1
- package/dist/esm/forms/autocomplete/autocomplete.js +17 -11
- package/dist/esm/forms/autocomplete/autocomplete.js.map +1 -1
- package/dist/esm/forms/custom-select/custom-select-input.js +15 -13
- package/dist/esm/forms/custom-select/custom-select-input.js.map +1 -1
- package/dist/esm/forms/custom-select/custom-select.js +8 -5
- package/dist/esm/forms/custom-select/custom-select.js.map +1 -1
- package/dist/esm/forms/field/field.js +3 -2
- package/dist/esm/forms/field/field.js.map +1 -1
- package/dist/esm/forms/field/field.variants.js +24 -3
- package/dist/esm/forms/field/field.variants.js.map +1 -1
- package/dist/esm/forms/form/form.js +0 -22
- package/dist/esm/forms/form/form.js.map +1 -1
- package/dist/esm/forms/form-error/form-error.variants.js +14 -2
- package/dist/esm/forms/form-error/form-error.variants.js.map +1 -1
- package/dist/esm/forms/form-tester/form-tester.variants.js +1 -1
- package/dist/esm/forms/form-tester/form-tester.variants.js.map +1 -1
- package/dist/esm/forms/input/input.js +6 -2
- package/dist/esm/forms/input/input.js.map +1 -1
- package/dist/esm/forms/input/input.variants.js +4 -3
- package/dist/esm/forms/input/input.variants.js.map +1 -1
- package/dist/esm/forms/input-group/input-group.js +4 -3
- package/dist/esm/forms/input-group/input-group.js.map +1 -1
- package/dist/esm/forms/label/label.variants.js +3 -1
- package/dist/esm/forms/label/label.variants.js.map +1 -1
- package/dist/esm/forms/select/select.js +1 -1
- package/dist/esm/forms/select/select.js.map +1 -1
- package/dist/esm/forms/textarea/textarea.js +21 -3
- package/dist/esm/forms/textarea/textarea.js.map +1 -1
- package/dist/esm/forms/textarea/textarea.variants.js +1 -1
- package/dist/esm/forms/textarea/textarea.variants.js.map +1 -1
- package/dist/esm/forms/utils/utils.js +3 -2
- package/dist/esm/forms/utils/utils.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/layouts/layout-default/layout-default.js +2 -1
- package/dist/esm/layouts/layout-default/layout-default.js.map +1 -1
- package/dist/esm/lazy/carousel-1/carousel-1.js +1 -1
- package/dist/esm/lazy/carousel-1/carousel-1.js.map +1 -1
- package/dist/esm/lazy/download-1/download-1.js +1 -1
- package/dist/esm/lazy/download-1/download-1.js.map +1 -1
- package/dist/esm/lazy/lazy-loader/lazy-loader.js +11 -6
- package/dist/esm/lazy/lazy-loader/lazy-loader.js.map +1 -1
- package/dist/esm/lazy/media-full-1/media-full-1.js +1 -1
- package/dist/esm/lazy/media-full-1/media-full-1.js.map +1 -1
- package/dist/esm/lazy/media-full-2/media-full-2.js +1 -1
- package/dist/esm/lazy/media-full-2/media-full-2.js.map +1 -1
- package/dist/esm/lazy/media-media-1/media-media-1.js +1 -1
- package/dist/esm/lazy/media-media-1/media-media-1.js.map +1 -1
- package/dist/esm/lazy/related-1/related-1.js +1 -1
- package/dist/esm/lazy/related-1/related-1.js.map +1 -1
- package/dist/esm/lazy/sizes-colors-1/sizes-colors-1.js +1 -1
- package/dist/esm/lazy/sizes-colors-1/sizes-colors-1.js.map +1 -1
- package/dist/esm/lazy/text-1/text-1.js +1 -1
- package/dist/esm/lazy/text-1/text-1.js.map +1 -1
- package/dist/esm/lazy/text-aside-1/text-aside-1.js +1 -1
- package/dist/esm/lazy/text-aside-1/text-aside-1.js.map +1 -1
- package/dist/esm/lazy/text-media-1/text-media-1.js +1 -1
- package/dist/esm/lazy/text-media-1/text-media-1.js.map +1 -1
- package/dist/esm/lazy/text-text-1/text-text-1.js +1 -1
- package/dist/esm/lazy/text-text-1/text-text-1.js.map +1 -1
- package/dist/esm/sections/auth/auth-change-password.js +2 -1
- package/dist/esm/sections/auth/auth-change-password.js.map +1 -1
- package/dist/esm/sections/auth/auth-forgot.js +2 -1
- package/dist/esm/sections/auth/auth-forgot.js.map +1 -1
- package/dist/esm/sections/auth/auth-login.js +2 -1
- package/dist/esm/sections/auth/auth-login.js.map +1 -1
- package/dist/esm/sections/auth/auth-register.js +2 -1
- package/dist/esm/sections/auth/auth-register.js.map +1 -1
- package/dist/esm/sections/auth/auth-update.js +2 -1
- package/dist/esm/sections/auth/auth-update.js.map +1 -1
- package/dist/esm/sections/checkout/checkout-delivery.js +2 -1
- package/dist/esm/sections/checkout/checkout-delivery.js.map +1 -1
- package/dist/esm/sections/checkout/checkout-discount.js +2 -1
- package/dist/esm/sections/checkout/checkout-discount.js.map +1 -1
- package/dist/esm/sections/checkout/checkout-payment.js +2 -1
- package/dist/esm/sections/checkout/checkout-payment.js.map +1 -1
- package/dist/esm/sections/checkout/checkout-review.js +2 -1
- package/dist/esm/sections/checkout/checkout-review.js.map +1 -1
- package/dist/esm/sections/footer/footer.js +1 -0
- package/dist/esm/sections/footer/footer.js.map +1 -1
- package/dist/esm/sections/magazine-related/magazine-related.js +1 -1
- package/dist/esm/sections/magazine-related/magazine-related.js.map +1 -1
- package/dist/esm/sections/products-detail-download/products-detail-download.js +1 -1
- package/dist/esm/sections/products-detail-download/products-detail-download.js.map +1 -1
- package/dist/esm/sections/products-detail-related/products-detail-related.js +1 -1
- package/dist/esm/sections/products-detail-related/products-detail-related.js.map +1 -1
- package/dist/esm/sections/products-detail-size-color/products-detail-size-color.js +1 -1
- package/dist/esm/sections/products-detail-size-color/products-detail-size-color.js.map +1 -1
- package/dist/esm/sections/shop-detail-related/shop-detail-related.js +1 -1
- package/dist/esm/sections/shop-detail-related/shop-detail-related.js.map +1 -1
- package/dist/esm/theme/global.vars.js +34 -7
- package/dist/esm/theme/global.vars.js.map +1 -1
- package/dist/esm/theme/theme.json.js +26 -5
- package/dist/esm/theme/theme.json.js.map +1 -1
- package/dist/types/accessibility/index.d.ts +3 -0
- package/dist/types/accessibility/index.d.ts.map +1 -0
- package/dist/types/components/breakpoint/breakpoint.d.ts.map +1 -1
- package/dist/types/components/media/media-image.d.ts +1 -1
- package/dist/types/components/media/media-image.d.ts.map +1 -1
- package/dist/types/components/media/media.d.ts +17 -0
- package/dist/types/components/media/media.d.ts.map +1 -1
- package/dist/types/fields/field-accept.d.ts +2 -2
- package/dist/types/fields/field-accept.d.ts.map +1 -1
- package/dist/types/fields/field-autocomplete.d.ts +2 -2
- package/dist/types/fields/field-autocomplete.d.ts.map +1 -1
- package/dist/types/fields/field-card.d.ts +2 -2
- package/dist/types/fields/field-card.d.ts.map +1 -1
- package/dist/types/fields/field-checkbox.d.ts +2 -2
- package/dist/types/fields/field-checkbox.d.ts.map +1 -1
- package/dist/types/fields/field-collection.d.ts +4 -2
- package/dist/types/fields/field-collection.d.ts.map +1 -1
- package/dist/types/fields/field-error.variants.d.ts.map +1 -1
- package/dist/types/fields/field-password.d.ts +2 -2
- package/dist/types/fields/field-password.d.ts.map +1 -1
- package/dist/types/fields/field-select.d.ts +2 -2
- package/dist/types/fields/field-select.d.ts.map +1 -1
- package/dist/types/fields/field-text.d.ts +2 -2
- package/dist/types/fields/field-text.d.ts.map +1 -1
- package/dist/types/fields/field-textarea.d.ts +8 -0
- package/dist/types/fields/field-textarea.d.ts.map +1 -0
- package/dist/types/fields/fields.d.ts +1 -1
- package/dist/types/fields/fields.d.ts.map +1 -1
- package/dist/types/fields/index.d.ts +1 -0
- package/dist/types/fields/index.d.ts.map +1 -1
- package/dist/types/forms/autocomplete/autocomplete.d.ts.map +1 -1
- package/dist/types/forms/custom-select/custom-select-input.d.ts.map +1 -1
- package/dist/types/forms/custom-select/custom-select.d.ts.map +1 -1
- package/dist/types/forms/field/field.d.ts +2 -0
- package/dist/types/forms/field/field.d.ts.map +1 -1
- package/dist/types/forms/field/field.variants.d.ts.map +1 -1
- package/dist/types/forms/form/form.d.ts.map +1 -1
- package/dist/types/forms/form-error/form-error.variants.d.ts.map +1 -1
- package/dist/types/forms/input/input.d.ts.map +1 -1
- package/dist/types/forms/input/input.variants.d.ts.map +1 -1
- package/dist/types/forms/input-group/input-group.d.ts.map +1 -1
- package/dist/types/forms/label/label.variants.d.ts.map +1 -1
- package/dist/types/forms/textarea/textarea.d.ts.map +1 -1
- package/dist/types/forms/utils/utils.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/lazy/carousel-1/carousel-1.d.ts +4 -8
- package/dist/types/lazy/carousel-1/carousel-1.d.ts.map +1 -1
- package/dist/types/lazy/download-1/download-1.d.ts +4 -8
- package/dist/types/lazy/download-1/download-1.d.ts.map +1 -1
- package/dist/types/lazy/lazy-loader/lazy-loader-client.d.ts +5 -2
- package/dist/types/lazy/lazy-loader/lazy-loader-client.d.ts.map +1 -1
- package/dist/types/lazy/lazy-loader/lazy-loader.d.ts +5 -3
- package/dist/types/lazy/lazy-loader/lazy-loader.d.ts.map +1 -1
- package/dist/types/lazy/media-full-1/media-full-1.d.ts +4 -8
- package/dist/types/lazy/media-full-1/media-full-1.d.ts.map +1 -1
- package/dist/types/lazy/media-full-2/media-full-2.d.ts +4 -8
- package/dist/types/lazy/media-full-2/media-full-2.d.ts.map +1 -1
- package/dist/types/lazy/media-media-1/media-media-1.d.ts +4 -7
- package/dist/types/lazy/media-media-1/media-media-1.d.ts.map +1 -1
- package/dist/types/lazy/not-found/not-found.d.ts +4 -8
- package/dist/types/lazy/not-found/not-found.d.ts.map +1 -1
- package/dist/types/lazy/related-1/related-1-card.d.ts +1 -2
- package/dist/types/lazy/related-1/related-1-card.d.ts.map +1 -1
- package/dist/types/lazy/related-1/related-1.d.ts +4 -8
- package/dist/types/lazy/related-1/related-1.d.ts.map +1 -1
- package/dist/types/lazy/sizes-colors-1/sizes-colors-1.d.ts +4 -7
- package/dist/types/lazy/sizes-colors-1/sizes-colors-1.d.ts.map +1 -1
- package/dist/types/lazy/text-1/text-1.d.ts +4 -7
- package/dist/types/lazy/text-1/text-1.d.ts.map +1 -1
- package/dist/types/lazy/text-aside-1/text-aside-1.d.ts +4 -8
- package/dist/types/lazy/text-aside-1/text-aside-1.d.ts.map +1 -1
- package/dist/types/lazy/text-media-1/text-media-1.d.ts +4 -8
- package/dist/types/lazy/text-media-1/text-media-1.d.ts.map +1 -1
- package/dist/types/lazy/text-text-1/text-text-1.d.ts +4 -8
- package/dist/types/lazy/text-text-1/text-text-1.d.ts.map +1 -1
- package/dist/types/sections/magazine-related/magazine-related.d.ts +4 -8
- package/dist/types/sections/magazine-related/magazine-related.d.ts.map +1 -1
- package/dist/types/sections/products-detail-download/products-detail-download.d.ts +6 -9
- package/dist/types/sections/products-detail-download/products-detail-download.d.ts.map +1 -1
- package/dist/types/sections/products-detail-related/products-detail-related.d.ts +6 -9
- package/dist/types/sections/products-detail-related/products-detail-related.d.ts.map +1 -1
- package/dist/types/sections/products-detail-size-color/products-detail-size-color.d.ts +6 -9
- package/dist/types/sections/products-detail-size-color/products-detail-size-color.d.ts.map +1 -1
- package/dist/types/sections/shop-detail-related/shop-detail-related.d.ts +6 -9
- package/dist/types/sections/shop-detail-related/shop-detail-related.d.ts.map +1 -1
- package/dist/types/theme/global.vars.d.ts.map +1 -1
- package/dist/types/theme/types.d.ts +11 -2
- package/dist/types/theme/types.d.ts.map +1 -1
- package/package.json +2 -1
- package/src/accessibility/index.ts +10 -0
- package/src/components/breakpoint/breakpoint.tsx +1 -0
- package/src/components/media/media-image.tsx +6 -3
- package/src/components/media/media.tsx +36 -13
- package/src/fields/field-accept.tsx +18 -8
- package/src/fields/field-autocomplete.tsx +15 -15
- package/src/fields/field-card.tsx +4 -8
- package/src/fields/field-checkbox.tsx +4 -8
- package/src/fields/field-collection.tsx +42 -27
- package/src/fields/field-error.variants.ts +8 -7
- package/src/fields/field-password.tsx +9 -9
- package/src/fields/field-select.tsx +12 -13
- package/src/fields/field-text.tsx +11 -12
- package/src/fields/field-textarea.tsx +62 -0
- package/src/fields/fields.tsx +3 -1
- package/src/fields/index.ts +1 -0
- package/src/forms/autocomplete/autocomplete.tsx +24 -10
- package/src/forms/custom-select/custom-select-input.tsx +16 -14
- package/src/forms/custom-select/custom-select.tsx +12 -5
- package/src/forms/field/field.tsx +4 -1
- package/src/forms/field/field.variants.ts +24 -3
- package/src/forms/form/form.tsx +0 -22
- package/src/forms/form-error/form-error.variants.ts +14 -2
- package/src/forms/form-tester/form-tester.variants.ts +1 -1
- package/src/forms/input/input.tsx +3 -1
- package/src/forms/input/input.variants.ts +4 -3
- package/src/forms/input-group/input-group.tsx +4 -3
- package/src/forms/label/label.variants.ts +3 -1
- package/src/forms/select/select.tsx +1 -1
- package/src/forms/textarea/textarea.tsx +19 -3
- package/src/forms/textarea/textarea.variants.ts +1 -1
- package/src/forms/utils/utils.tsx +3 -2
- package/src/index.ts +1 -0
- package/src/lazy/carousel-1/carousel-1.tsx +5 -10
- package/src/lazy/download-1/download-1.tsx +5 -10
- package/src/lazy/lazy-loader/lazy-loader-client.tsx +13 -17
- package/src/lazy/lazy-loader/lazy-loader.tsx +13 -9
- package/src/lazy/media-full-1/media-full-1.tsx +5 -10
- package/src/lazy/media-full-2/media-full-2.tsx +5 -10
- package/src/lazy/media-media-1/media-media-1.tsx +5 -9
- package/src/lazy/not-found/not-found.tsx +4 -9
- package/src/lazy/related-1/related-1-card.tsx +1 -1
- package/src/lazy/related-1/related-1.tsx +5 -9
- package/src/lazy/sizes-colors-1/sizes-colors-1.tsx +5 -9
- package/src/lazy/text-1/text-1.tsx +5 -9
- package/src/lazy/text-aside-1/text-aside-1.tsx +5 -10
- package/src/lazy/text-media-1/text-media-1.tsx +5 -10
- package/src/lazy/text-text-1/text-text-1.tsx +5 -10
- package/src/sections/footer/footer.tsx +1 -1
- package/src/sections/magazine-related/magazine-related.tsx +5 -10
- package/src/sections/products-detail-download/products-detail-download.tsx +5 -11
- package/src/sections/products-detail-related/products-detail-related.tsx +5 -11
- package/src/sections/products-detail-size-color/products-detail-size-color.tsx +5 -11
- package/src/sections/shop-detail-related/shop-detail-related.tsx +5 -11
- package/src/theme/global.vars.scss +34 -7
- package/src/theme/global.vars.ts +34 -7
- package/src/theme/theme.json +26 -5
- package/src/theme/types.ts +12 -2
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { __awaiter } from '../node_modules/tslib/tslib.es6.js';
|
|
2
|
+
import { isDevelopment, isBrowser } from '@websolutespa/bom-core';
|
|
3
|
+
|
|
4
|
+
const accessibility = (App, config) => __awaiter(void 0, void 0, void 0, function* () {
|
|
5
|
+
if (isDevelopment && isBrowser) {
|
|
6
|
+
const axe = yield import('@axe-core/react');
|
|
7
|
+
const ReactDOM = yield import('react-dom');
|
|
8
|
+
axe.default(App, ReactDOM, 1000, config);
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
export { accessibility };
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/accessibility/index.ts"],"sourcesContent":["import { __awaiter } from \"tslib\";\nimport { isBrowser, isDevelopment } from '@websolutespa/bom-core';\nexport const accessibility = (App, config) => __awaiter(void 0, void 0, void 0, function* () {\n if (isDevelopment && isBrowser) {\n const axe = yield import('@axe-core/react');\n const ReactDOM = yield import('react-dom');\n axe.default(App, ReactDOM, 1000, config);\n }\n});\n//# sourceMappingURL=index.js.map"],"names":["accessibility","App","config","__awaiter","isDevelopment","isBrowser","axe","ReactDOM","default"],"mappings":";;;MAEaA,aAAa,GAAGA,CAACC,GAAG,EAAEC,MAAM,KAAKC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,aAAa;EACzF,IAAIC,aAAa,IAAIC,SAAS,EAAE;AAC5B,IAAA,MAAMC,GAAG,GAAG,MAAM,OAAO,iBAAiB,CAAC,CAAA;AAC3C,IAAA,MAAMC,QAAQ,GAAG,MAAM,OAAO,WAAW,CAAC,CAAA;IAC1CD,GAAG,CAACE,OAAO,CAACP,GAAG,EAAEM,QAAQ,EAAE,IAAI,EAAEL,MAAM,CAAC,CAAA;AAC5C,GAAA;AACJ,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breakpoint.js","sources":["../../../../src/components/breakpoint/breakpoint.tsx"],"sourcesContent":["import { jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nimport { useBreakpoint, useIdle } from '@websolutespa/bom-mixer-hooks';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport styled from 'styled-components';\nimport { getCssResponsive } from '../../components/utils';\nconst StyledBreakpoint = styled(motion.div) `\r\n position: fixed;\r\n top: 6px;\r\n left: 6px;\r\n padding: 0.3em 0.8em;\r\n background: var(--color-warning-500);\r\n color: var(--color-warning-900);\r\n border: 1px solid var(--color-warning-700);\r\n border-radius: 0.3em;\r\n z-index: 10000;\r\n font-family: monospace;\r\n font-size: 0.8rem;\r\n line-height: 1;\r\n pointer-events: none;\r\n ${props => getCssResponsive(props)}\r\n`;\nexport const Breakpoint = ((props) => {\n const breakpoint = useBreakpoint();\n const isIdle = useIdle(3000);\n return breakpoint.max > 0 ? (_jsx(AnimatePresence, { children: !isIdle && (_jsxs(StyledBreakpoint, Object.assign({ initial: { opacity: 0, y: '100%' }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: '100%' } }, props, { children: [breakpoint.key, \" (\", breakpoint.min, \"/\", breakpoint.max < 50000 ? breakpoint.max : '∞', \")\"] }), \"breakpoint\")) })) : null;\n});\n//# sourceMappingURL=breakpoint.js.map"],"names":["StyledBreakpoint","styled","motion","div","props","getCssResponsive","Breakpoint","breakpoint","useBreakpoint","isIdle","useIdle","max","_jsx","AnimatePresence","children","_jsxs","Object","assign","initial","opacity","y","animate","exit","key","min"],"mappings":";;;;;;AAKA,MAAMA,gBAAgB,GAAGC,MAAM,CAACC,MAAM,CAACC,GAAG,CAAG,CAAA;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,EAAIC,KAAK,IAAIC,gBAAgB,CAACD,KAAK,CAAE,CAAA;AACrC,CAAC,CAAA;AACYE,MAAAA,UAAU,GAAKF,KAAK,IAAK;AAClC,EAAA,MAAMG,UAAU,GAAGC,aAAa,EAAE,CAAA;AAClC,EAAA,MAAMC,MAAM,GAAGC,OAAO,CAAC,IAAI,CAAC,CAAA;EAC5B,OAAOH,UAAU,CAACI,GAAG,GAAG,CAAC,GAAIC,GAAI,CAACC,eAAe,EAAE;IAAEC,QAAQ,EAAE,CAACL,MAAM,IAAKM,IAAK,CAACf,gBAAgB,EAAEgB,MAAM,CAACC,MAAM,CAAC;AAAEC,MAAAA,OAAO,EAAE;AAAEC,QAAAA,OAAO,EAAE,CAAC;AAAEC,QAAAA,CAAC,EAAE,MAAA;OAAQ;AAAEC,MAAAA,OAAO,EAAE;AAAEF,QAAAA,OAAO,EAAE,CAAC;AAAEC,QAAAA,CAAC,EAAE,CAAA;OAAG;AAAEE,MAAAA,IAAI,EAAE;AAAEH,QAAAA,OAAO,EAAE,CAAC;AAAEC,QAAAA,CAAC,EAAE,MAAA;
|
|
1
|
+
{"version":3,"file":"breakpoint.js","sources":["../../../../src/components/breakpoint/breakpoint.tsx"],"sourcesContent":["import { jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nimport { useBreakpoint, useIdle } from '@websolutespa/bom-mixer-hooks';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport styled from 'styled-components';\nimport { getCssResponsive } from '../../components/utils';\nconst StyledBreakpoint = styled(motion.div) `\r\n position: fixed;\r\n top: 6px;\r\n left: 6px;\r\n padding: 0.3em 0.8em;\r\n background: var(--color-warning-500);\r\n color: var(--color-warning-900);\r\n border: 1px solid var(--color-warning-700);\r\n border-radius: 0.3em;\r\n z-index: 10000;\r\n font-family: monospace;\r\n font-size: 0.8rem;\r\n line-height: 1;\r\n pointer-events: none;\r\n ${props => getCssResponsive(props)}\r\n`;\nexport const Breakpoint = ((props) => {\n const breakpoint = useBreakpoint();\n const isIdle = useIdle(3000);\n return breakpoint.max > 0 ? (_jsx(AnimatePresence, { children: !isIdle && (_jsxs(StyledBreakpoint, Object.assign({ initial: { opacity: 0, y: '100%' }, animate: { opacity: 1, y: 0 }, exit: { opacity: 0, y: '100%' }, \"aria-hidden\": \"true\" }, props, { children: [breakpoint.key, \" (\", breakpoint.min, \"/\", breakpoint.max < 50000 ? breakpoint.max : '∞', \")\"] }), \"breakpoint\")) })) : null;\n});\n//# sourceMappingURL=breakpoint.js.map"],"names":["StyledBreakpoint","styled","motion","div","props","getCssResponsive","Breakpoint","breakpoint","useBreakpoint","isIdle","useIdle","max","_jsx","AnimatePresence","children","_jsxs","Object","assign","initial","opacity","y","animate","exit","key","min"],"mappings":";;;;;;AAKA,MAAMA,gBAAgB,GAAGC,MAAM,CAACC,MAAM,CAACC,GAAG,CAAG,CAAA;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,EAAIC,KAAK,IAAIC,gBAAgB,CAACD,KAAK,CAAE,CAAA;AACrC,CAAC,CAAA;AACYE,MAAAA,UAAU,GAAKF,KAAK,IAAK;AAClC,EAAA,MAAMG,UAAU,GAAGC,aAAa,EAAE,CAAA;AAClC,EAAA,MAAMC,MAAM,GAAGC,OAAO,CAAC,IAAI,CAAC,CAAA;EAC5B,OAAOH,UAAU,CAACI,GAAG,GAAG,CAAC,GAAIC,GAAI,CAACC,eAAe,EAAE;IAAEC,QAAQ,EAAE,CAACL,MAAM,IAAKM,IAAK,CAACf,gBAAgB,EAAEgB,MAAM,CAACC,MAAM,CAAC;AAAEC,MAAAA,OAAO,EAAE;AAAEC,QAAAA,OAAO,EAAE,CAAC;AAAEC,QAAAA,CAAC,EAAE,MAAA;OAAQ;AAAEC,MAAAA,OAAO,EAAE;AAAEF,QAAAA,OAAO,EAAE,CAAC;AAAEC,QAAAA,CAAC,EAAE,CAAA;OAAG;AAAEE,MAAAA,IAAI,EAAE;AAAEH,QAAAA,OAAO,EAAE,CAAC;AAAEC,QAAAA,CAAC,EAAE,MAAA;OAAQ;AAAE,MAAA,aAAa,EAAE,MAAA;KAAQ,EAAEhB,KAAK,EAAE;MAAEU,QAAQ,EAAE,CAACP,UAAU,CAACgB,GAAG,EAAE,IAAI,EAAEhB,UAAU,CAACiB,GAAG,EAAE,GAAG,EAAEjB,UAAU,CAACI,GAAG,GAAG,KAAK,GAAGJ,UAAU,CAACI,GAAG,GAAG,GAAG,EAAE,GAAG,CAAA;KAAG,CAAC,EAAE,YAAY,CAAA;GAAI,CAAC,GAAI,IAAI,CAAA;AACpY;;;;"}
|
|
@@ -19,19 +19,18 @@ const StyledMediaImage = styled.img`
|
|
|
19
19
|
`;
|
|
20
20
|
const MediaImage = _a => {
|
|
21
21
|
var {
|
|
22
|
-
alt = '',
|
|
23
22
|
className,
|
|
24
|
-
type
|
|
23
|
+
type,
|
|
24
|
+
loading = 'lazy'
|
|
25
25
|
} = _a,
|
|
26
|
-
props = __rest(_a, ["
|
|
26
|
+
props = __rest(_a, ["className", "type", "loading"]);
|
|
27
27
|
const classNames = getClassNames(className, 'image', {
|
|
28
28
|
'image-svg': isSVG(props.src)
|
|
29
29
|
});
|
|
30
30
|
const imageProps = getImageProps(props);
|
|
31
31
|
return jsx(StyledMediaImage, Object.assign({
|
|
32
32
|
className: classNames,
|
|
33
|
-
|
|
34
|
-
loading: "lazy"
|
|
33
|
+
loading: loading
|
|
35
34
|
}, imageProps));
|
|
36
35
|
};
|
|
37
36
|
function getImageProps(_a) {
|
|
@@ -40,9 +39,9 @@ function getImageProps(_a) {
|
|
|
40
39
|
} = _a,
|
|
41
40
|
props = __rest(_a, ["src"]);
|
|
42
41
|
if (IMAGE_STRATEGY === ImageStrategy.None || isSVG(src)) {
|
|
43
|
-
return {
|
|
42
|
+
return Object.assign({
|
|
44
43
|
src
|
|
45
|
-
};
|
|
44
|
+
}, props);
|
|
46
45
|
}
|
|
47
46
|
const ratio = props.width && props.height ? parseInt(props.width.toString()) / parseInt(props.height.toString()) : 0;
|
|
48
47
|
const sizes = IMAGE_SIZES;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-image.js","sources":["../../../../src/components/media/media-image.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { getClassNames } from '@websolutespa/bom-core';\nimport styled from 'styled-components';\nexport var ImageStrategy;\n(function (ImageStrategy) {\n ImageStrategy[\"None\"] = \"none\";\n ImageStrategy[\"Next\"] = \"next\";\n ImageStrategy[\"Custom\"] = \"custom\";\n})(ImageStrategy || (ImageStrategy = {}));\nconst IMAGE_QUALITY = process.env.IMAGE_QUALITY ?\n parseInt(process.env.IMAGE_QUALITY) :\n 80;\nconst IMAGE_SIZES = process.env.IMAGE_SIZES ?\n process.env.IMAGE_SIZES.split(',').map(x => parseInt(x)) :\n [640, 828, 1080, 1200, 1920];\nconst IMAGE_STRATEGY = process.env.IMAGE_STRATEGY ?\n process.env.IMAGE_STRATEGY :\n ImageStrategy.Next;\nconst StyledMediaImage = styled.img `\r\n max-width: 100%;\r\n // height: auto;\r\n user-select: none;\r\n`;\nexport const MediaImage = (_a) => {\n var {
|
|
1
|
+
{"version":3,"file":"media-image.js","sources":["../../../../src/components/media/media-image.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { getClassNames } from '@websolutespa/bom-core';\nimport styled from 'styled-components';\nexport var ImageStrategy;\n(function (ImageStrategy) {\n ImageStrategy[\"None\"] = \"none\";\n ImageStrategy[\"Next\"] = \"next\";\n ImageStrategy[\"Custom\"] = \"custom\";\n})(ImageStrategy || (ImageStrategy = {}));\nconst IMAGE_QUALITY = process.env.IMAGE_QUALITY ?\n parseInt(process.env.IMAGE_QUALITY) :\n 80;\nconst IMAGE_SIZES = process.env.IMAGE_SIZES ?\n process.env.IMAGE_SIZES.split(',').map(x => parseInt(x)) :\n [640, 828, 1080, 1200, 1920];\nconst IMAGE_STRATEGY = process.env.IMAGE_STRATEGY ?\n process.env.IMAGE_STRATEGY :\n ImageStrategy.Next;\nconst StyledMediaImage = styled.img `\r\n max-width: 100%;\r\n // height: auto;\r\n user-select: none;\r\n`;\nexport const MediaImage = (_a) => {\n var { className, type, loading = 'lazy' } = _a, props = __rest(_a, [\"className\", \"type\", \"loading\"]);\n const classNames = getClassNames(className, 'image', { 'image-svg': isSVG(props.src) });\n const imageProps = getImageProps(props);\n return (_jsx(StyledMediaImage, Object.assign({ className: classNames, loading: loading }, imageProps)));\n};\nfunction getImageProps(_a) {\n var { src } = _a, props = __rest(_a, [\"src\"]);\n if (IMAGE_STRATEGY === ImageStrategy.None || isSVG(src)) {\n return Object.assign({ src }, props);\n }\n const ratio = props.width && props.height ? (parseInt(props.width.toString()) / parseInt(props.height.toString())) : 0;\n const sizes = IMAGE_SIZES;\n return Object.assign({ src: getImageSrc(src, ratio, sizes[0]), srcSet: getImageSrcset(src, ratio, sizes), sizes: ratio !== 0 ? getImageSizes(sizes) : '100vw' }, props);\n}\nfunction getImageSrc(src, ratio, width, quality = IMAGE_QUALITY) {\n if (isSVG(src)) {\n return src;\n }\n return ratio !== 0 ?\n `/_next/image?url=${encodeURIComponent(src)}&w=${width}&h=${width / ratio}&q=${quality}` :\n `/_next/image?url=${encodeURIComponent(src)}&w=${width}&q=${quality}`;\n}\nfunction getImageSrcset(src, ratio, widths, quality = IMAGE_QUALITY) {\n if (isSVG(src)) {\n return undefined;\n }\n return widths.map(width => getImageSrc(src, ratio, width, quality) + ` ${width}w`).join(', ');\n}\nfunction getImageSizes(widths) {\n return widths.map((width, i) => `${i < widths.length - 1 ? `(max-width: ${width}px) ` : ''}${width}px`).join(', ');\n}\nfunction isSVG(src) {\n return src.indexOf('.svg') !== -1;\n}\n//# sourceMappingURL=media-image.js.map"],"names":["ImageStrategy","IMAGE_QUALITY","process","env","parseInt","IMAGE_SIZES","split","map","x","IMAGE_STRATEGY","Next","StyledMediaImage","styled","img","MediaImage","_a","className","type","loading","props","__rest","classNames","getClassNames","isSVG","src","imageProps","getImageProps","_jsx","Object","assign","None","ratio","width","height","toString","sizes","getImageSrc","srcSet","getImageSrcset","getImageSizes","quality","encodeURIComponent","widths","undefined","join","i","length","indexOf"],"mappings":"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"}
|
|
@@ -118,9 +118,13 @@ const MediaBase = /*#__PURE__*/forwardRef((_a, ref) => {
|
|
|
118
118
|
item,
|
|
119
119
|
onClick,
|
|
120
120
|
className,
|
|
121
|
+
aspectRatio,
|
|
122
|
+
eager,
|
|
123
|
+
alt,
|
|
124
|
+
title,
|
|
121
125
|
as = 'div'
|
|
122
126
|
} = _a,
|
|
123
|
-
props = __rest(_a, ["children", "item", "onClick", "className", "as"]);
|
|
127
|
+
props = __rest(_a, ["children", "item", "onClick", "className", "aspectRatio", "eager", "alt", "title", "as"]);
|
|
124
128
|
const {
|
|
125
129
|
id,
|
|
126
130
|
open
|
|
@@ -129,9 +133,11 @@ const MediaBase = /*#__PURE__*/forwardRef((_a, ref) => {
|
|
|
129
133
|
'media--gallery': id
|
|
130
134
|
});
|
|
131
135
|
const mediaChildren = item && !children ? getMediaItems(item, {
|
|
132
|
-
aspectRatio
|
|
133
|
-
eager
|
|
136
|
+
aspectRatio,
|
|
137
|
+
eager,
|
|
134
138
|
galleryId: id,
|
|
139
|
+
alt,
|
|
140
|
+
title,
|
|
135
141
|
open
|
|
136
142
|
}) : children;
|
|
137
143
|
return jsx(StyledMedia, Object.assign({
|
|
@@ -162,7 +168,12 @@ function getMediaItems(itemOrItems, options) {
|
|
|
162
168
|
});
|
|
163
169
|
const hasGallery = options.galleryId != null && typeof options.open === 'function';
|
|
164
170
|
const getMediaItemProps = media => {
|
|
165
|
-
const
|
|
171
|
+
const title = media.title || options.title || media.alt || options.alt;
|
|
172
|
+
const alt = media.alt || options.alt || media.title || options.title;
|
|
173
|
+
const props = {
|
|
174
|
+
title,
|
|
175
|
+
alt
|
|
176
|
+
};
|
|
166
177
|
if (hasGallery) {
|
|
167
178
|
props['data-gallery'] = JSON.stringify({
|
|
168
179
|
galleryId: options.galleryId,
|
|
@@ -197,7 +208,6 @@ function getMediaItems(itemOrItems, options) {
|
|
|
197
208
|
type: "video/mp4"
|
|
198
209
|
})
|
|
199
210
|
}), m) : jsx(MediaImage, Object.assign({}, media, {
|
|
200
|
-
alt: media.alt,
|
|
201
211
|
draggable: false
|
|
202
212
|
}, getMediaItemProps(media)), m));
|
|
203
213
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","sources":["../../../../src/components/media/media.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { getClassNames, withSchema } from '@websolutespa/bom-core';\nimport { forwardRef } from 'react';\nimport styled, { css } from 'styled-components';\nimport { getAspectResponsive, getCssResponsive } from '../../components/utils';\nimport { useMediaGalleryContext } from '../media-gallery/media-gallery-context';\nimport { MediaImage } from './media-image';\nconst StyledMediaInfo = styled.div `\r\n position: absolute;\r\n display: flex;\r\n flex-direction: column;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n z-index: 1;\r\n color: var(--color-neutral-100);\r\n\r\n ${props => getCssResponsive(props)}\r\n`;\nconst MediaInfo = (_a) => {\n var { children, className } = _a, props = __rest(_a, [\"children\", \"className\"]);\n const classNames = getClassNames(className, 'media-info');\n return (_jsx(StyledMediaInfo, Object.assign({ className: classNames }, props, { children: children })));\n};\nconst StyledMedia = styled.div `\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n // color: var(--color-neutral-100);\r\n\r\n ${props => getCssResponsive(props)}\r\n\r\n &>:not(.media-info) {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n &>.image:not(.image-svg),\r\n &>video,\r\n &>.video {\r\n object-fit: cover;\r\n background: var(--color-neutral-200);\r\n }\r\n\r\n &>svg {\r\n height: 100%;\r\n }\r\n\r\n &.media--gallery {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n overflow: hidden;\r\n cursor: pointer;\r\n\r\n &>:not(.media-info) {\r\n transition: ease-in-out 200ms;\r\n transition-property: transform, opacity;\r\n }\r\n\r\n &:hover {\r\n &>:not(.media-info) {\r\n transform: scale(1.05);\r\n }\r\n }\r\n }\r\n\r\n ${props => props.circle ? css `\r\n aspect-ratio: 1;\r\n overflow: hidden;\r\n border-radius: 50%;\r\n &>* {\r\n top: 0;\r\n left: 0;\r\n height: 100%;\r\n }\r\n ` : ''};\r\n\r\n ${props => props.rounded ? css `\r\n overflow: hidden;\r\n border-radius: var(--border-radius);\r\n ` : ''};\r\n\r\n ${props => getAspectResponsive(props, props.circle ? { aspectRatio: 1 } : undefined)};\r\n\r\n ${props => props.overlay ? (css `\r\n position: relative;\r\n\r\n &:after {\r\n content: '';\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n ${typeof props.overlay === 'number' ?\n (css `background: rgba(0,0,0,${props.overlay})`) :\n (css `background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.1) 15.9%, rgba(0, 0, 0, 0) 41.67%, rgba(0, 0, 0, 0.1) 61.79%, rgba(0, 0, 0, 0.6) 100%)`)};\r\n }\r\n `) : ''}\r\n`;\nconst MediaBase = forwardRef((_a, ref) => {\n var { children, item, onClick, className, as = 'div' } = _a, props = __rest(_a, [\"children\", \"item\", \"onClick\", \"className\", \"as\"]);\n const { id, open } = useMediaGalleryContext();\n const classNames = getClassNames(className, 'media', { 'media--gallery': id });\n const mediaChildren = (item && !children) ? getMediaItems(item, {\n aspectRatio: props.aspectRatio,\n eager: props.eager,\n galleryId: id,\n open,\n }) : children;\n return (_jsx(StyledMedia, Object.assign({ className: classNames, ref: ref, as: as }, props, { children: mediaChildren })));\n});\nMediaBase.displayName = 'Media';\nexport const Media = withSchema(MediaBase, {\n Info: MediaInfo,\n});\nfunction getMediaItems(itemOrItems, options = {}) {\n // !!! todo remap payloadcms media\n const items = (Array.isArray(itemOrItems) ? itemOrItems : [itemOrItems]).map(x => {\n if (typeof x['media'] === 'object') {\n x = x['media'];\n }\n if (typeof x.url === 'string') {\n x.src = x.url;\n }\n return x;\n });\n const hasGallery = options.galleryId != null && typeof options.open === 'function';\n const getMediaItemProps = (media) => {\n const props = {};\n if (hasGallery) {\n props['data-gallery'] = JSON.stringify({ galleryId: options.galleryId, media });\n props.onClick = (event) => {\n if (options.open) {\n options.open(media);\n }\n };\n }\n if (media.type === 'image') {\n const aspectRatio = typeof options.aspectRatio === 'string' ? parseFloat(options.aspectRatio) : options.aspectRatio;\n if (aspectRatio != null) {\n props.width = 800;\n props.height = 800 / aspectRatio;\n }\n if (options.eager) {\n props.loading = 'eager';\n }\n }\n return props;\n };\n return (items.map((media, m) => media.type === 'video' ?\n (_jsx(\"video\", Object.assign({ playsInline: true, autoPlay: true, muted: true, loop: true }, getMediaItemProps(media), { children: _jsx(\"source\", { src: media.src, type: \"video/mp4\" }) }), m)) :\n (_jsx(MediaImage, Object.assign({}, media, { alt: media.alt, draggable: false }, getMediaItemProps(media)), m))));\n}\n//# sourceMappingURL=media.js.map"],"names":["StyledMediaInfo","styled","div","props","getCssResponsive","MediaInfo","_a","children","className","__rest","classNames","getClassNames","_jsx","Object","assign","StyledMedia","circle","css","rounded","getAspectResponsive","aspectRatio","undefined","overlay","MediaBase","forwardRef","ref","item","onClick","as","id","open","useMediaGalleryContext","mediaChildren","getMediaItems","eager","galleryId","displayName","Media","withSchema","Info","itemOrItems","options","items","Array","isArray","map","x","url","src","hasGallery","getMediaItemProps","media","JSON","stringify","event","type","parseFloat","width","height","loading","m","playsInline","autoPlay","muted","loop","MediaImage","alt","draggable"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"media.js","sources":["../../../../src/components/media/media.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { getClassNames, withSchema } from '@websolutespa/bom-core';\nimport { forwardRef } from 'react';\nimport styled, { css } from 'styled-components';\nimport { getAspectResponsive, getCssResponsive } from '../../components/utils';\nimport { useMediaGalleryContext } from '../media-gallery/media-gallery-context';\nimport { MediaImage } from './media-image';\nconst StyledMediaInfo = styled.div `\r\n position: absolute;\r\n display: flex;\r\n flex-direction: column;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n z-index: 1;\r\n color: var(--color-neutral-100);\r\n\r\n ${props => getCssResponsive(props)}\r\n`;\nconst MediaInfo = (_a) => {\n var { children, className } = _a, props = __rest(_a, [\"children\", \"className\"]);\n const classNames = getClassNames(className, 'media-info');\n return (_jsx(StyledMediaInfo, Object.assign({ className: classNames }, props, { children: children })));\n};\nconst StyledMedia = styled.div `\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n // color: var(--color-neutral-100);\r\n\r\n ${props => getCssResponsive(props)}\r\n\r\n &>:not(.media-info) {\r\n width: 100%;\r\n height: 100%;\r\n }\r\n\r\n &>.image:not(.image-svg),\r\n &>video,\r\n &>.video {\r\n object-fit: cover;\r\n background: var(--color-neutral-200);\r\n }\r\n\r\n &>svg {\r\n height: 100%;\r\n }\r\n\r\n &.media--gallery {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n overflow: hidden;\r\n cursor: pointer;\r\n\r\n &>:not(.media-info) {\r\n transition: ease-in-out 200ms;\r\n transition-property: transform, opacity;\r\n }\r\n\r\n &:hover {\r\n &>:not(.media-info) {\r\n transform: scale(1.05);\r\n }\r\n }\r\n }\r\n\r\n ${props => props.circle ? css `\r\n aspect-ratio: 1;\r\n overflow: hidden;\r\n border-radius: 50%;\r\n &>* {\r\n top: 0;\r\n left: 0;\r\n height: 100%;\r\n }\r\n ` : ''};\r\n\r\n ${props => props.rounded ? css `\r\n overflow: hidden;\r\n border-radius: var(--border-radius);\r\n ` : ''};\r\n\r\n ${props => getAspectResponsive(props, props.circle ? { aspectRatio: 1 } : undefined)};\r\n\r\n ${props => props.overlay ? (css `\r\n position: relative;\r\n\r\n &:after {\r\n content: '';\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n ${typeof props.overlay === 'number' ?\n (css `background: rgba(0,0,0,${props.overlay})`) :\n (css `background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.1) 15.9%, rgba(0, 0, 0, 0) 41.67%, rgba(0, 0, 0, 0.1) 61.79%, rgba(0, 0, 0, 0.6) 100%)`)};\r\n }\r\n `) : ''}\r\n`;\nconst MediaBase = forwardRef((_a, ref) => {\n var { children, item, onClick, className, aspectRatio, eager, alt, title, as = 'div' } = _a, props = __rest(_a, [\"children\", \"item\", \"onClick\", \"className\", \"aspectRatio\", \"eager\", \"alt\", \"title\", \"as\"]);\n const { id, open } = useMediaGalleryContext();\n const classNames = getClassNames(className, 'media', { 'media--gallery': id });\n const mediaChildren = (item && !children) ? getMediaItems(item, {\n aspectRatio,\n eager,\n galleryId: id,\n alt,\n title,\n open,\n }) : children;\n return (_jsx(StyledMedia, Object.assign({ className: classNames, ref: ref, as: as }, props, { children: mediaChildren })));\n});\nMediaBase.displayName = 'Media';\nexport const Media = withSchema(MediaBase, {\n Info: MediaInfo,\n});\nfunction getMediaItems(itemOrItems, options = {}) {\n // !!! todo remap payloadcms media\n const items = (Array.isArray(itemOrItems) ? itemOrItems : [itemOrItems]).map(x => {\n if (typeof x['media'] === 'object') {\n x = x['media'];\n }\n if (typeof x.url === 'string') {\n x.src = x.url;\n }\n return x;\n });\n const hasGallery = options.galleryId != null && typeof options.open === 'function';\n const getMediaItemProps = (media) => {\n const title = media.title || options.title || media.alt || options.alt;\n const alt = media.alt || options.alt || media.title || options.title;\n const props = { title, alt };\n if (hasGallery) {\n props['data-gallery'] = JSON.stringify({ galleryId: options.galleryId, media });\n props.onClick = (event) => {\n if (options.open) {\n options.open(media);\n }\n };\n }\n if (media.type === 'image') {\n const aspectRatio = typeof options.aspectRatio === 'string' ? parseFloat(options.aspectRatio) : options.aspectRatio;\n if (aspectRatio != null) {\n props.width = 800;\n props.height = 800 / aspectRatio;\n }\n if (options.eager) {\n props.loading = 'eager';\n }\n }\n return props;\n };\n return (items.map((media, m) => media.type === 'video' ?\n (_jsx(\"video\", Object.assign({ playsInline: true, autoPlay: true, muted: true, loop: true }, getMediaItemProps(media), { children: _jsx(\"source\", { src: media.src, type: \"video/mp4\" }) }), m)) :\n (_jsx(MediaImage, Object.assign({}, media, { draggable: false }, getMediaItemProps(media)), m))));\n}\n//# sourceMappingURL=media.js.map"],"names":["StyledMediaInfo","styled","div","props","getCssResponsive","MediaInfo","_a","children","className","__rest","classNames","getClassNames","_jsx","Object","assign","StyledMedia","circle","css","rounded","getAspectResponsive","aspectRatio","undefined","overlay","MediaBase","forwardRef","ref","item","onClick","eager","alt","title","as","id","open","useMediaGalleryContext","mediaChildren","getMediaItems","galleryId","displayName","Media","withSchema","Info","itemOrItems","options","items","Array","isArray","map","x","url","src","hasGallery","getMediaItemProps","media","JSON","stringify","event","type","parseFloat","width","height","loading","m","playsInline","autoPlay","muted","loop","MediaImage","draggable"],"mappings":"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"}
|
|
@@ -92,9 +92,16 @@ import '../forms/textarea/textarea.variants.js';
|
|
|
92
92
|
import '../forms/utils/utils.js';
|
|
93
93
|
import { FieldError } from './field-error.js';
|
|
94
94
|
|
|
95
|
-
function FieldAccept(
|
|
95
|
+
function FieldAccept(_ref) {
|
|
96
|
+
let {
|
|
97
|
+
control,
|
|
98
|
+
uid = 0
|
|
99
|
+
} = _ref;
|
|
96
100
|
const label = useLabel();
|
|
97
|
-
const
|
|
101
|
+
const uniqueName = `${control.name}-${uid}`;
|
|
102
|
+
const uniqueNameTrue = `${uniqueName}-true`;
|
|
103
|
+
const uniqueNameFalse = `${uniqueName}-false`;
|
|
104
|
+
const [state, setValue, setTouched] = useControl(control);
|
|
98
105
|
const onSelect = value => {
|
|
99
106
|
// console.log('value', value);
|
|
100
107
|
setValue(value);
|
|
@@ -114,6 +121,7 @@ function FieldAccept(props) {
|
|
|
114
121
|
type: "hidden",
|
|
115
122
|
value: state.value ? 'true' : 'false'
|
|
116
123
|
}) : jsxs(Field, {
|
|
124
|
+
state: state,
|
|
117
125
|
padding: "1em 0",
|
|
118
126
|
borderBottom: "1px solid var(--color-neutral-200)",
|
|
119
127
|
children: [jsxs(Radio.Group, {
|
|
@@ -123,18 +131,24 @@ function FieldAccept(props) {
|
|
|
123
131
|
onFocus: onFocus,
|
|
124
132
|
disabled: state.flags.disabled || state.flags.readonly,
|
|
125
133
|
children: [jsxs(Label, {
|
|
134
|
+
htmlFor: uniqueNameTrue,
|
|
126
135
|
width: "auto",
|
|
127
136
|
children: [jsx(Radio, {
|
|
128
|
-
value: "true"
|
|
129
|
-
|
|
137
|
+
value: "true",
|
|
138
|
+
name: uniqueNameTrue,
|
|
139
|
+
id: uniqueNameTrue
|
|
140
|
+
}), label('form.accept.true')]
|
|
130
141
|
}), jsxs(Label, {
|
|
142
|
+
htmlFor: uniqueNameFalse,
|
|
131
143
|
width: "auto",
|
|
132
144
|
children: [jsx(Radio, {
|
|
133
|
-
value: "false"
|
|
134
|
-
|
|
145
|
+
value: "false",
|
|
146
|
+
name: uniqueNameFalse,
|
|
147
|
+
id: uniqueNameFalse
|
|
148
|
+
}), label('form.accept.false')]
|
|
135
149
|
})]
|
|
136
|
-
}),
|
|
137
|
-
children: label(
|
|
150
|
+
}), control.label && jsx(Text, {
|
|
151
|
+
children: label(control.label)
|
|
138
152
|
}), jsx(FieldError, {
|
|
139
153
|
state: state
|
|
140
154
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-accept.js","sources":["../../../src/fields/field-accept.tsx"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useControl } from '@websolutespa/bom-mixer-forms';\nimport { useLabel } from '@websolutespa/bom-mixer-hooks';\nimport { useState } from 'react';\nimport { Text } from '../components';\nimport { Field, Label, Radio } from '../forms';\nimport { FieldError } from './field-error';\nexport function FieldAccept(
|
|
1
|
+
{"version":3,"file":"field-accept.js","sources":["../../../src/fields/field-accept.tsx"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useControl } from '@websolutespa/bom-mixer-forms';\nimport { useLabel } from '@websolutespa/bom-mixer-hooks';\nimport { useState } from 'react';\nimport { Text } from '../components';\nimport { Field, Label, Radio } from '../forms';\nimport { FieldError } from './field-error';\nexport function FieldAccept({ control, uid = 0 }) {\n const label = useLabel();\n const uniqueName = `${control.name}-${uid}`;\n const uniqueNameTrue = `${uniqueName}-true`;\n const uniqueNameFalse = `${uniqueName}-false`;\n const [state, setValue, setTouched] = useControl(control);\n const onSelect = (value) => {\n // console.log('value', value);\n setValue(value);\n };\n const onChange = (event) => {\n onSelect(event.target.value === 'true');\n };\n const [focus, setFocus] = useState(false);\n const onBlur = (_) => {\n setTouched();\n setFocus(false);\n };\n const onFocus = (_) => {\n setFocus(true);\n };\n return (state.flags.hidden ? (_jsx(\"input\", { type: \"hidden\", value: state.value ? 'true' : 'false' })) : (_jsxs(Field, { state: state, padding: \"1em 0\", borderBottom: \"1px solid var(--color-neutral-200)\", children: [_jsxs(Radio.Group, { initialValue: state.value ? 'true' : 'false', onChange: onChange, onBlur: onBlur, onFocus: onFocus, disabled: state.flags.disabled || state.flags.readonly, children: [_jsxs(Label, { htmlFor: uniqueNameTrue, width: \"auto\", children: [_jsx(Radio, { value: \"true\", name: uniqueNameTrue, id: uniqueNameTrue }), label('form.accept.true')] }), _jsxs(Label, { htmlFor: uniqueNameFalse, width: \"auto\", children: [_jsx(Radio, { value: \"false\", name: uniqueNameFalse, id: uniqueNameFalse }), label('form.accept.false')] })] }), control.label &&\n _jsx(Text, { children: label(control.label) }), _jsx(FieldError, { state: state })] })));\n}\n//# sourceMappingURL=field-accept.js.map"],"names":["FieldAccept","_ref","control","uid","label","useLabel","uniqueName","name","uniqueNameTrue","uniqueNameFalse","state","setValue","setTouched","useControl","onSelect","value","onChange","event","target","focus","setFocus","useState","onBlur","_","onFocus","flags","hidden","_jsx","type","_jsxs","Field","padding","borderBottom","children","Radio","Group","initialValue","disabled","readonly","Label","htmlFor","width","id","Text","FieldError"],"mappings":"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"}
|
|
@@ -43,12 +43,16 @@ import '../forms/utils/utils.js';
|
|
|
43
43
|
import { FieldError } from './field-error.js';
|
|
44
44
|
|
|
45
45
|
// !!! todo
|
|
46
|
-
function FieldAutocomplete(
|
|
46
|
+
function FieldAutocomplete(_ref) {
|
|
47
|
+
let {
|
|
48
|
+
control,
|
|
49
|
+
uid = 0
|
|
50
|
+
} = _ref;
|
|
47
51
|
const label = useLabel();
|
|
48
|
-
const uniqueName = `${
|
|
49
|
-
const [state, setValue, setTouched] = useControl(
|
|
52
|
+
const uniqueName = `${control.name}-${uid}`;
|
|
53
|
+
const [state, setValue, setTouched] = useControl(control);
|
|
50
54
|
const onChange = value => {
|
|
51
|
-
const valueOrValues = stringToValue(value,
|
|
55
|
+
const valueOrValues = stringToValue(value, control.options);
|
|
52
56
|
setValue(valueOrValues);
|
|
53
57
|
};
|
|
54
58
|
const [focus, setFocus] = useState(false);
|
|
@@ -74,7 +78,7 @@ function FieldAutocomplete(props) {
|
|
|
74
78
|
}
|
|
75
79
|
function source(query) {
|
|
76
80
|
return new Promise((resolve, reject) => {
|
|
77
|
-
const options = (
|
|
81
|
+
const options = (control.options || []).filter(x => {
|
|
78
82
|
const name = x.name.toString().toLowerCase();
|
|
79
83
|
return name.indexOf(query.toLowerCase()) !== -1;
|
|
80
84
|
}).map(x => {
|
|
@@ -88,8 +92,8 @@ function FieldAutocomplete(props) {
|
|
|
88
92
|
}
|
|
89
93
|
const initialValue = useMemo(() => {
|
|
90
94
|
var _a;
|
|
91
|
-
if ((_a =
|
|
92
|
-
const options =
|
|
95
|
+
if ((_a = control.optionsExtra) === null || _a === void 0 ? void 0 : _a.asEquatable) {
|
|
96
|
+
const options = control.options || [];
|
|
93
97
|
if (!state.value) {
|
|
94
98
|
return undefined;
|
|
95
99
|
}
|
|
@@ -111,19 +115,21 @@ function FieldAutocomplete(props) {
|
|
|
111
115
|
type: "hidden",
|
|
112
116
|
value: valueToString(state.value)
|
|
113
117
|
}) : jsxs(Field, {
|
|
114
|
-
|
|
115
|
-
|
|
118
|
+
state: state,
|
|
119
|
+
children: [jsx(Label, {
|
|
120
|
+
htmlFor: uniqueName,
|
|
121
|
+
children: control.label && label(control.label)
|
|
116
122
|
}), jsx(Autocomplete, {
|
|
117
|
-
background: "var(--color-neutral-100)",
|
|
118
|
-
overflow: "hidden",
|
|
119
123
|
id: uniqueName,
|
|
120
124
|
name: uniqueName,
|
|
121
|
-
placeholder: label(
|
|
125
|
+
placeholder: label(control.placeholder || control.label || ''),
|
|
122
126
|
initialValue: initialValue,
|
|
123
127
|
source: source,
|
|
124
128
|
onAutocomplete: onAutocomplete,
|
|
125
129
|
onFocus: onFocus,
|
|
126
|
-
onBlur: onBlur
|
|
130
|
+
onBlur: onBlur,
|
|
131
|
+
background: "var(--color-neutral-100)",
|
|
132
|
+
overflow: "hidden"
|
|
127
133
|
}), jsx(FieldError, {
|
|
128
134
|
state: state
|
|
129
135
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-autocomplete.js","sources":["../../../src/fields/field-autocomplete.tsx"],"sourcesContent":["import { __awaiter } from \"tslib\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { stringToValue, useControl, valueToString } from '@websolutespa/bom-mixer-forms';\nimport { useLabel } from '@websolutespa/bom-mixer-hooks';\nimport { useMemo, useState } from 'react';\nimport { Autocomplete, Field, Label } from '../forms';\nimport { FieldError } from './field-error';\n// !!! todo\nexport function FieldAutocomplete(
|
|
1
|
+
{"version":3,"file":"field-autocomplete.js","sources":["../../../src/fields/field-autocomplete.tsx"],"sourcesContent":["import { __awaiter } from \"tslib\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { stringToValue, useControl, valueToString } from '@websolutespa/bom-mixer-forms';\nimport { useLabel } from '@websolutespa/bom-mixer-hooks';\nimport { useMemo, useState } from 'react';\nimport { Autocomplete, Field, Label } from '../forms';\nimport { FieldError } from './field-error';\n// !!! todo\nexport function FieldAutocomplete({ control, uid = 0 }) {\n const label = useLabel();\n const uniqueName = `${control.name}-${uid}`;\n const [state, setValue, setTouched] = useControl(control);\n const onChange = (value) => {\n const valueOrValues = stringToValue(value, control.options);\n setValue(valueOrValues);\n };\n const [focus, setFocus] = useState(false);\n const onBlur = (_) => {\n setTouched();\n setFocus(false);\n };\n const onFocus = (_) => {\n setFocus(true);\n };\n // fires when user select a google autocomplete result\n function onAutocomplete(item) {\n return __awaiter(this, void 0, void 0, function* () {\n console.log('onAutocomplete', item);\n if (!item) {\n return;\n }\n const id = item.id.toString();\n if (id) {\n onChange(id);\n }\n });\n }\n function source(query) {\n return new Promise((resolve, reject) => {\n const options = (control.options || []).filter(x => {\n const name = x.name.toString().toLowerCase();\n return name.indexOf(query.toLowerCase()) !== -1;\n }).map(x => {\n return {\n id: x.id,\n name: x.name.toString(),\n };\n });\n resolve(options);\n });\n }\n const initialValue = useMemo(() => {\n var _a;\n if ((_a = control.optionsExtra) === null || _a === void 0 ? void 0 : _a.asEquatable) {\n const options = control.options || [];\n if (!state.value) {\n return undefined;\n }\n const option = options.find(x => x.id === state.value);\n if (option) {\n return {\n id: option.id,\n name: option.name.toString(),\n };\n }\n else {\n return undefined;\n }\n }\n else {\n return state.value || undefined;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return (state.flags.hidden ? (_jsx(\"input\", { type: \"hidden\", value: valueToString(state.value) })) : (_jsxs(Field, { state: state, children: [_jsx(Label, { htmlFor: uniqueName, children: control.label && label(control.label) }), _jsx(Autocomplete, { id: uniqueName, name: uniqueName, placeholder: label(control.placeholder || control.label || ''), initialValue: initialValue, source: source, onAutocomplete: onAutocomplete, onFocus: onFocus, onBlur: onBlur, background: \"var(--color-neutral-100)\", overflow: \"hidden\" }), _jsx(FieldError, { state: state })] })));\n}\n//# sourceMappingURL=field-autocomplete.js.map"],"names":["FieldAutocomplete","_ref","control","uid","label","useLabel","uniqueName","name","state","setValue","setTouched","useControl","onChange","value","valueOrValues","stringToValue","options","focus","setFocus","useState","onBlur","_","onFocus","onAutocomplete","item","__awaiter","console","log","id","toString","source","query","Promise","resolve","reject","filter","x","toLowerCase","indexOf","map","initialValue","useMemo","_a","optionsExtra","asEquatable","undefined","option","find","flags","hidden","_jsx","type","valueToString","_jsxs","Field","children","Label","htmlFor","Autocomplete","placeholder","background","overflow","FieldError"],"mappings":"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"}
|
|
@@ -45,10 +45,10 @@ import { FieldError } from './field-error.js';
|
|
|
45
45
|
function FieldCard(_a) {
|
|
46
46
|
var _b, _c;
|
|
47
47
|
var {
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
control,
|
|
49
|
+
uid = 0
|
|
50
50
|
} = _a,
|
|
51
|
-
props = __rest(_a, ["
|
|
51
|
+
props = __rest(_a, ["control", "uid"]);
|
|
52
52
|
const label = useLabel();
|
|
53
53
|
const uniqueName = `${control.name}-${uid}`;
|
|
54
54
|
const [state, setValue, setTouched] = useControl(control);
|
|
@@ -69,8 +69,11 @@ function FieldCard(_a) {
|
|
|
69
69
|
return state.flags.hidden ? jsx("input", {
|
|
70
70
|
type: "hidden",
|
|
71
71
|
value: state.value ? state.value.toString() : ''
|
|
72
|
-
}) : jsxs(Field, Object.assign({
|
|
72
|
+
}) : jsxs(Field, Object.assign({
|
|
73
|
+
state: state
|
|
74
|
+
}, props, {
|
|
73
75
|
children: [jsx(Label, {
|
|
76
|
+
htmlFor: uniqueName,
|
|
74
77
|
margin: "0",
|
|
75
78
|
children: control.label && label(control.label)
|
|
76
79
|
}), jsx(RadioCard.Group, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-card.js","sources":["../../../src/fields/field-card.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useControl } from '@websolutespa/bom-mixer-forms';\nimport { useLabel } from '@websolutespa/bom-mixer-hooks';\nimport { useState } from 'react';\nimport { Field, Label, RadioCard } from '../forms';\nimport { FieldError } from './field-error';\nexport function FieldCard(_a) {\n var _b, _c;\n var {
|
|
1
|
+
{"version":3,"file":"field-card.js","sources":["../../../src/fields/field-card.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useControl } from '@websolutespa/bom-mixer-forms';\nimport { useLabel } from '@websolutespa/bom-mixer-hooks';\nimport { useState } from 'react';\nimport { Field, Label, RadioCard } from '../forms';\nimport { FieldError } from './field-error';\nexport function FieldCard(_a) {\n var _b, _c;\n var { control, uid = 0 } = _a, props = __rest(_a, [\"control\", \"uid\"]);\n const label = useLabel();\n const uniqueName = `${control.name}-${uid}`;\n const [state, setValue, setTouched] = useControl(control);\n const onChange = (event) => {\n var _a;\n // console.log('onChange', event.target.value);\n const option = (_a = control.options) === null || _a === void 0 ? void 0 : _a.find(x => x.id.toString() === event.target.value);\n setValue(option || null);\n };\n const [focus, setFocus] = useState(false);\n const onBlur = (_) => {\n setTouched();\n setFocus(false);\n };\n const onFocus = (_) => {\n setFocus(true);\n };\n return (state.flags.hidden ? (_jsx(\"input\", { type: \"hidden\", value: state.value ? state.value.toString() : '' })) : (_jsxs(Field, Object.assign({ state: state }, props, { children: [_jsx(Label, { htmlFor: uniqueName, margin: \"0\", children: control.label && label(control.label) }), _jsx(RadioCard.Group, { id: uniqueName, name: uniqueName, initialValue: (_b = state.value) === null || _b === void 0 ? void 0 : _b.id.toString(), onChange: onChange, onBlur: onBlur, onFocus: onFocus, disabled: state.flags.disabled || state.flags.readonly, children: (_c = control.options) === null || _c === void 0 ? void 0 : _c.map(option => (_jsxs(RadioCard, { value: option.id.toString(), children: [_jsx(RadioCard.Title, { children: option.name }), option.abstract && _jsx(RadioCard.Abstract, { dangerouslySetInnerHTML: { __html: option.abstract } })] }, option.id))) }), _jsx(FieldError, { state: state })] }))));\n}\n//# sourceMappingURL=field-card.js.map"],"names":["FieldCard","_a","_b","_c","control","uid","props","__rest","label","useLabel","uniqueName","name","state","setValue","setTouched","useControl","onChange","event","option","options","find","x","id","toString","target","value","focus","setFocus","useState","onBlur","_","onFocus","flags","hidden","_jsx","type","_jsxs","Field","Object","assign","children","Label","htmlFor","margin","RadioCard","Group","initialValue","disabled","readonly","map","Title","abstract","Abstract","dangerouslySetInnerHTML","__html","FieldError"],"mappings":"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"}
|
|
@@ -44,10 +44,10 @@ import { FieldError } from './field-error.js';
|
|
|
44
44
|
|
|
45
45
|
function FieldCheckbox(_a) {
|
|
46
46
|
var {
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
control,
|
|
48
|
+
uid = 0
|
|
49
49
|
} = _a,
|
|
50
|
-
props = __rest(_a, ["
|
|
50
|
+
props = __rest(_a, ["control", "uid"]);
|
|
51
51
|
const label = useLabel();
|
|
52
52
|
const uniqueName = `${control.name}-${uid}`;
|
|
53
53
|
const [state, setValue, setTouched] = useControl(control);
|
|
@@ -66,8 +66,11 @@ function FieldCheckbox(_a) {
|
|
|
66
66
|
return state.flags.hidden ? jsx("input", {
|
|
67
67
|
type: "hidden",
|
|
68
68
|
value: state.value ? state.value.toString() : ''
|
|
69
|
-
}) : jsxs(Field, Object.assign({
|
|
69
|
+
}) : jsxs(Field, Object.assign({
|
|
70
|
+
state: state
|
|
71
|
+
}, props, {
|
|
70
72
|
children: [jsxs(Label, {
|
|
73
|
+
htmlFor: uniqueName,
|
|
71
74
|
margin: "0",
|
|
72
75
|
children: [jsx(Checkbox, {
|
|
73
76
|
id: uniqueName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-checkbox.js","sources":["../../../src/fields/field-checkbox.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useControl } from '@websolutespa/bom-mixer-forms';\nimport { useLabel } from '@websolutespa/bom-mixer-hooks';\nimport { useState } from 'react';\nimport { Checkbox, Field, Label } from '../forms';\nimport { FieldError } from './field-error';\nexport function FieldCheckbox(_a) {\n var {
|
|
1
|
+
{"version":3,"file":"field-checkbox.js","sources":["../../../src/fields/field-checkbox.tsx"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useControl } from '@websolutespa/bom-mixer-forms';\nimport { useLabel } from '@websolutespa/bom-mixer-hooks';\nimport { useState } from 'react';\nimport { Checkbox, Field, Label } from '../forms';\nimport { FieldError } from './field-error';\nexport function FieldCheckbox(_a) {\n var { control, uid = 0 } = _a, props = __rest(_a, [\"control\", \"uid\"]);\n const label = useLabel();\n const uniqueName = `${control.name}-${uid}`;\n const [state, setValue, setTouched] = useControl(control);\n const onChange = (event) => {\n // console.log('onChange', event.target.checked);\n setValue(event.target.checked);\n };\n const [focus, setFocus] = useState(false);\n const onBlur = (_) => {\n setTouched();\n setFocus(false);\n };\n const onFocus = (_) => {\n setFocus(true);\n };\n return (state.flags.hidden ? (_jsx(\"input\", { type: \"hidden\", value: state.value ? state.value.toString() : '' })) : (_jsxs(Field, Object.assign({ state: state }, props, { children: [_jsxs(Label, { htmlFor: uniqueName, margin: \"0\", children: [_jsx(Checkbox, { id: uniqueName, name: uniqueName, onChange: onChange, onBlur: onBlur, onFocus: onFocus, disabled: state.flags.disabled || state.flags.readonly, checked: state.value === true }), control.label && label(control.label)] }), _jsx(FieldError, { state: state })] }))));\n}\n//# sourceMappingURL=field-checkbox.js.map"],"names":["FieldCheckbox","_a","control","uid","props","__rest","label","useLabel","uniqueName","name","state","setValue","setTouched","useControl","onChange","event","target","checked","focus","setFocus","useState","onBlur","_","onFocus","flags","hidden","_jsx","type","value","toString","_jsxs","Field","Object","assign","children","Label","htmlFor","margin","Checkbox","id","disabled","readonly","FieldError"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,SAASA,aAAaA,CAACC,EAAE,EAAE;EAC9B,IAAI;MAAEC,OAAO;AAAEC,MAAAA,GAAG,GAAG,CAAA;AAAE,KAAC,GAAGF,EAAE;IAAEG,KAAK,GAAGC,MAAM,CAACJ,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAA;AACrE,EAAA,MAAMK,KAAK,GAAGC,QAAQ,EAAE,CAAA;EACxB,MAAMC,UAAU,GAAI,CAAEN,EAAAA,OAAO,CAACO,IAAK,CAAA,CAAA,EAAGN,GAAI,CAAC,CAAA,CAAA;EAC3C,MAAM,CAACO,KAAK,EAAEC,QAAQ,EAAEC,UAAU,CAAC,GAAGC,UAAU,CAACX,OAAO,CAAC,CAAA;EACzD,MAAMY,QAAQ,GAAIC,KAAK,IAAK;AACxB;AACAJ,IAAAA,QAAQ,CAACI,KAAK,CAACC,MAAM,CAACC,OAAO,CAAC,CAAA;GACjC,CAAA;EACD,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC,CAAA;EACzC,MAAMC,MAAM,GAAIC,CAAC,IAAK;AAClBV,IAAAA,UAAU,EAAE,CAAA;IACZO,QAAQ,CAAC,KAAK,CAAC,CAAA;GAClB,CAAA;EACD,MAAMI,OAAO,GAAID,CAAC,IAAK;IACnBH,QAAQ,CAAC,IAAI,CAAC,CAAA;GACjB,CAAA;EACD,OAAQT,KAAK,CAACc,KAAK,CAACC,MAAM,GAAIC,GAAI,CAAC,OAAO,EAAE;AAAEC,IAAAA,IAAI,EAAE,QAAQ;AAAEC,IAAAA,KAAK,EAAElB,KAAK,CAACkB,KAAK,GAAGlB,KAAK,CAACkB,KAAK,CAACC,QAAQ,EAAE,GAAG,EAAA;GAAI,CAAC,GAAKC,IAAK,CAACC,KAAK,EAAEC,MAAM,CAACC,MAAM,CAAC;AAAEvB,IAAAA,KAAK,EAAEA,KAAAA;GAAO,EAAEN,KAAK,EAAE;AAAE8B,IAAAA,QAAQ,EAAE,CAACJ,IAAK,CAACK,KAAK,EAAE;AAAEC,MAAAA,OAAO,EAAE5B,UAAU;AAAE6B,MAAAA,MAAM,EAAE,GAAG;AAAEH,MAAAA,QAAQ,EAAE,CAACR,GAAI,CAACY,QAAQ,EAAE;AAAEC,QAAAA,EAAE,EAAE/B,UAAU;AAAEC,QAAAA,IAAI,EAAED,UAAU;AAAEM,QAAAA,QAAQ,EAAEA,QAAQ;AAAEO,QAAAA,MAAM,EAAEA,MAAM;AAAEE,QAAAA,OAAO,EAAEA,OAAO;QAAEiB,QAAQ,EAAE9B,KAAK,CAACc,KAAK,CAACgB,QAAQ,IAAI9B,KAAK,CAACc,KAAK,CAACiB,QAAQ;AAAExB,QAAAA,OAAO,EAAEP,KAAK,CAACkB,KAAK,KAAK,IAAA;OAAM,CAAC,EAAE1B,OAAO,CAACI,KAAK,IAAIA,KAAK,CAACJ,OAAO,CAACI,KAAK,CAAC,CAAA;AAAE,KAAC,CAAC,EAAEoB,GAAI,CAACgB,UAAU,EAAE;AAAEhC,MAAAA,KAAK,EAAEA,KAAAA;AAAM,KAAC,CAAC,CAAA;AAAE,GAAC,CAAC,CAAE,CAAA;AAC7gB;;;;"}
|