wcs-core 3.0.0 → 4.0.1
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/README.md +7 -0
- package/dist/cjs/{grid-pagination-ff65e0ff.js → grid-pagination-4b55c908.js} +1 -2
- package/dist/cjs/grid-pagination-4b55c908.js.map +1 -0
- package/dist/cjs/{helpers-11518d4f.js → helpers-4a14051a.js} +41 -1
- package/dist/cjs/helpers-4a14051a.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/wcs-action-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-app.cjs.entry.js +0 -1
- package/dist/cjs/wcs-app.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-button.cjs.entry.js +17 -3
- package/dist/cjs/wcs-button.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-checkbox.cjs.entry.js +0 -1
- package/dist/cjs/wcs-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-com-nav-category.cjs.entry.js +1 -1
- package/dist/cjs/wcs-com-nav-category.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-com-nav-submenu.cjs.entry.js +1 -1
- package/dist/cjs/wcs-com-nav-submenu.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-com-nav.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-counter.cjs.entry.js +130 -0
- package/dist/cjs/wcs-counter.cjs.entry.js.map +1 -0
- package/dist/cjs/wcs-dropdown-item.cjs.entry.js +1 -1
- package/dist/cjs/wcs-dropdown.cjs.entry.js +1 -1
- package/dist/cjs/wcs-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-editable-field.cjs.entry.js +16 -3
- package/dist/cjs/wcs-editable-field.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-error_2.cjs.entry.js +1 -1
- package/dist/cjs/wcs-error_2.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-field.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-galactic-menu.cjs.entry.js +1 -1
- package/dist/cjs/wcs-galactic-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-galactic.cjs.entry.js +0 -1
- package/dist/cjs/wcs-galactic.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-grid-column.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-grid-pagination.cjs.entry.js +1 -1
- package/dist/cjs/wcs-grid.cjs.entry.js +1 -1
- package/dist/cjs/wcs-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-header.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-hint.cjs.entry.js +3 -3
- package/dist/cjs/wcs-hint.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js +0 -1
- package/dist/cjs/wcs-horizontal-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-input.cjs.entry.js +14 -4
- package/dist/cjs/wcs-input.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-native-select.cjs.entry.js +102 -0
- package/dist/cjs/wcs-native-select.cjs.entry.js.map +1 -0
- package/dist/cjs/wcs-nav-item.cjs.entry.js +1 -1
- package/dist/cjs/wcs-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-radio.cjs.entry.js +3 -3
- package/dist/cjs/wcs-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-select_2.cjs.entry.js +229 -72
- package/dist/cjs/wcs-select_2.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-switch.cjs.entry.js +0 -1
- package/dist/cjs/wcs-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-textarea.cjs.entry.js +5 -3
- package/dist/cjs/wcs-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/wcs.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/action-bar/action-bar.js.map +1 -1
- package/dist/collection/components/app/app.js +0 -1
- package/dist/collection/components/app/app.js.map +1 -1
- package/dist/collection/components/button/button-interface.js +5 -1
- package/dist/collection/components/button/button-interface.js.map +1 -1
- package/dist/collection/components/button/button.css +28 -20
- package/dist/collection/components/button/button.js +54 -5
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/checkbox/checkbox.js +0 -1
- package/dist/collection/components/checkbox/checkbox.js.map +1 -1
- package/dist/collection/components/com-nav/com-nav.js.map +1 -1
- package/dist/collection/components/com-nav-category/com-nav-category.js.map +1 -1
- package/dist/collection/components/com-nav-submenu/com-nav-submenu.js.map +1 -1
- package/dist/collection/components/counter/counter-interface.js +6 -0
- package/dist/collection/components/counter/counter-interface.js.map +1 -0
- package/dist/collection/components/counter/counter.css +93 -0
- package/dist/collection/components/counter/counter.js +293 -0
- package/dist/collection/components/counter/counter.js.map +1 -0
- package/dist/collection/components/dropdown/dropdown.js +1 -1
- package/dist/collection/components/dropdown/dropdown.js.map +1 -1
- package/dist/collection/components/editable-field/editable-field-interface.js +5 -1
- package/dist/collection/components/editable-field/editable-field-interface.js.map +1 -1
- package/dist/collection/components/editable-field/editable-field.css +21 -6
- package/dist/collection/components/editable-field/editable-field.js +33 -2
- package/dist/collection/components/editable-field/editable-field.js.map +1 -1
- package/dist/collection/components/field/field.js +4 -0
- package/dist/collection/components/field/field.js.map +1 -1
- package/dist/collection/components/footer/footer.js +5 -0
- package/dist/collection/components/footer/footer.js.map +1 -1
- package/dist/collection/components/form-field/form-field.js +1 -1
- package/dist/collection/components/form-field/form-field.js.map +1 -1
- package/dist/collection/components/galactic/galactic.js +0 -1
- package/dist/collection/components/galactic/galactic.js.map +1 -1
- package/dist/collection/components/galactic-menu/galactic-menu.js.map +1 -1
- package/dist/collection/components/grid/grid.js.map +1 -1
- package/dist/collection/components/grid-column/grid-column.js.map +1 -1
- package/dist/collection/components/grid-pagination/grid-pagination.js +0 -1
- package/dist/collection/components/grid-pagination/grid-pagination.js.map +1 -1
- package/dist/collection/components/header/header.js +5 -0
- package/dist/collection/components/header/header.js.map +1 -1
- package/dist/collection/components/hint/hint.js +2 -2
- package/dist/collection/components/hint/hint.js.map +1 -1
- package/dist/collection/components/horizontal-stepper/horizontal-stepper.js +0 -2
- package/dist/collection/components/horizontal-stepper/horizontal-stepper.js.map +1 -1
- package/dist/collection/components/input/input-interface.js +5 -1
- package/dist/collection/components/input/input-interface.js.map +1 -1
- package/dist/collection/components/input/input.css +21 -4
- package/dist/collection/components/input/input.js +30 -19
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/native-select/native-select.component.js +153 -0
- package/dist/collection/components/native-select/native-select.component.js.map +1 -0
- package/dist/collection/components/native-select/native-select.css +78 -0
- package/dist/collection/components/radio/radio.component.js +1 -1
- package/dist/collection/components/radio/radio.component.js.map +1 -1
- package/dist/collection/components/radio/radio.css +15 -4
- package/dist/collection/components/radio-group/radio-group.js.map +1 -1
- package/dist/collection/components/select/select-interface.js +5 -1
- package/dist/collection/components/select/select-interface.js.map +1 -1
- package/dist/collection/components/select/select.css +41 -37
- package/dist/collection/components/select/select.js +233 -68
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/select-option/select-option.css +3 -0
- package/dist/collection/components/select-option/select-option.js +25 -3
- package/dist/collection/components/select-option/select-option.js.map +1 -1
- package/dist/collection/components/switch/switch.js +0 -1
- package/dist/collection/components/switch/switch.js.map +1 -1
- package/dist/collection/components/tab/tab.js.map +1 -1
- package/dist/collection/components/tabs/tabs.js.map +1 -1
- package/dist/collection/components/textarea/textarea.css +3 -1
- package/dist/collection/components/textarea/textarea.js +23 -1
- package/dist/collection/components/textarea/textarea.js.map +1 -1
- package/dist/collection/components/tooltip/tooltip.js.map +1 -1
- package/dist/collection/index.js +3 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/shared-types.js +2 -0
- package/dist/collection/shared-types.js.map +1 -0
- package/dist/collection/utils/helpers.js +30 -0
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/esm/{grid-pagination-62f9fbbc.js → grid-pagination-41354861.js} +2 -3
- package/dist/esm/grid-pagination-41354861.js.map +1 -0
- package/dist/esm/{helpers-e9b73aad.js → helpers-1f7170dd.js} +32 -2
- package/dist/esm/helpers-1f7170dd.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/wcs-action-bar.entry.js.map +1 -1
- package/dist/esm/wcs-app.entry.js +1 -2
- package/dist/esm/wcs-app.entry.js.map +1 -1
- package/dist/esm/wcs-button.entry.js +17 -3
- package/dist/esm/wcs-button.entry.js.map +1 -1
- package/dist/esm/wcs-checkbox.entry.js +1 -2
- package/dist/esm/wcs-checkbox.entry.js.map +1 -1
- package/dist/esm/wcs-com-nav-category.entry.js +1 -1
- package/dist/esm/wcs-com-nav-category.entry.js.map +1 -1
- package/dist/esm/wcs-com-nav-submenu.entry.js +1 -1
- package/dist/esm/wcs-com-nav-submenu.entry.js.map +1 -1
- package/dist/esm/wcs-com-nav.entry.js.map +1 -1
- package/dist/esm/wcs-counter.entry.js +126 -0
- package/dist/esm/wcs-counter.entry.js.map +1 -0
- package/dist/esm/wcs-dropdown-item.entry.js +1 -1
- package/dist/esm/wcs-dropdown.entry.js +1 -1
- package/dist/esm/wcs-dropdown.entry.js.map +1 -1
- package/dist/esm/wcs-editable-field.entry.js +16 -3
- package/dist/esm/wcs-editable-field.entry.js.map +1 -1
- package/dist/esm/wcs-error_2.entry.js +1 -1
- package/dist/esm/wcs-error_2.entry.js.map +1 -1
- package/dist/esm/wcs-field.entry.js.map +1 -1
- package/dist/esm/wcs-footer.entry.js.map +1 -1
- package/dist/esm/wcs-galactic-menu.entry.js +1 -1
- package/dist/esm/wcs-galactic-menu.entry.js.map +1 -1
- package/dist/esm/wcs-galactic.entry.js +1 -2
- package/dist/esm/wcs-galactic.entry.js.map +1 -1
- package/dist/esm/wcs-grid-column.entry.js.map +1 -1
- package/dist/esm/wcs-grid-pagination.entry.js +1 -1
- package/dist/esm/wcs-grid.entry.js +1 -1
- package/dist/esm/wcs-grid.entry.js.map +1 -1
- package/dist/esm/wcs-header.entry.js.map +1 -1
- package/dist/esm/wcs-hint.entry.js +3 -3
- package/dist/esm/wcs-hint.entry.js.map +1 -1
- package/dist/esm/wcs-horizontal-stepper.entry.js +0 -1
- package/dist/esm/wcs-horizontal-stepper.entry.js.map +1 -1
- package/dist/esm/wcs-input.entry.js +14 -4
- package/dist/esm/wcs-input.entry.js.map +1 -1
- package/dist/esm/wcs-native-select.entry.js +98 -0
- package/dist/esm/wcs-native-select.entry.js.map +1 -0
- package/dist/esm/wcs-nav-item.entry.js +1 -1
- package/dist/esm/wcs-radio-group.entry.js.map +1 -1
- package/dist/esm/wcs-radio.entry.js +3 -3
- package/dist/esm/wcs-radio.entry.js.map +1 -1
- package/dist/esm/wcs-select_2.entry.js +229 -72
- package/dist/esm/wcs-select_2.entry.js.map +1 -1
- package/dist/esm/wcs-switch.entry.js +1 -2
- package/dist/esm/wcs-switch.entry.js.map +1 -1
- package/dist/esm/wcs-tab.entry.js.map +1 -1
- package/dist/esm/wcs-tabs.entry.js.map +1 -1
- package/dist/esm/wcs-textarea.entry.js +5 -3
- package/dist/esm/wcs-textarea.entry.js.map +1 -1
- package/dist/esm/wcs-tooltip.entry.js.map +1 -1
- package/dist/esm/wcs.js +1 -1
- package/dist/types/components/action-bar/action-bar.d.ts +2 -2
- package/dist/types/components/app/app.d.ts +0 -1
- package/dist/types/components/button/button-interface.d.ts +5 -1
- package/dist/types/components/button/button.d.ts +16 -7
- package/dist/types/components/checkbox/checkbox.d.ts +0 -1
- package/dist/types/components/com-nav/com-nav.d.ts +4 -4
- package/dist/types/components/com-nav-category/com-nav-category.d.ts +2 -2
- package/dist/types/components/com-nav-submenu/com-nav-submenu.d.ts +2 -2
- package/dist/types/components/counter/counter-interface.d.ts +7 -0
- package/dist/types/components/counter/counter.d.ts +67 -0
- package/dist/types/components/dropdown/dropdown.d.ts +2 -2
- package/dist/types/components/editable-field/editable-field-interface.d.ts +4 -0
- package/dist/types/components/editable-field/editable-field.d.ts +10 -13
- package/dist/types/components/field/field.d.ts +4 -0
- package/dist/types/components/footer/footer.d.ts +5 -0
- package/dist/types/components/form-field/form-field.d.ts +4 -4
- package/dist/types/components/galactic/galactic.d.ts +0 -1
- package/dist/types/components/galactic-menu/galactic-menu.d.ts +2 -2
- package/dist/types/components/grid/grid.d.ts +4 -4
- package/dist/types/components/grid-column/grid-column.d.ts +1 -1
- package/dist/types/components/grid-pagination/grid-pagination.d.ts +0 -1
- package/dist/types/components/header/header.d.ts +5 -0
- package/dist/types/components/hint/hint.d.ts +4 -1
- package/dist/types/components/horizontal-stepper/horizontal-stepper.d.ts +2 -4
- package/dist/types/components/input/input-interface.d.ts +4 -0
- package/dist/types/components/input/input.d.ts +8 -8
- package/dist/types/components/native-select/native-select.component.d.ts +56 -0
- package/dist/types/components/radio/radio.component.d.ts +1 -1
- package/dist/types/components/radio-group/radio-group.d.ts +1 -1
- package/dist/types/components/select/select-interface.d.ts +4 -0
- package/dist/types/components/select/select.d.ts +32 -20
- package/dist/types/components/select-option/select-option.d.ts +9 -3
- package/dist/types/components/switch/switch.d.ts +0 -1
- package/dist/types/components/tabs/tabs.d.ts +3 -3
- package/dist/types/components/textarea/textarea.d.ts +10 -2
- package/dist/types/components/tooltip/tooltip.d.ts +1 -2
- package/dist/types/components.d.ts +242 -22
- package/dist/types/index.d.ts +2 -0
- package/dist/types/shared-types.d.ts +10 -0
- package/dist/types/utils/helpers.d.ts +10 -0
- package/dist/wcs/p-029eb12a.entry.js +2 -0
- package/dist/wcs/p-029eb12a.entry.js.map +1 -0
- package/dist/wcs/p-069555a1.entry.js.map +1 -1
- package/dist/wcs/p-07b8cd36.entry.js.map +1 -1
- package/dist/wcs/p-12ac2547.js +2 -0
- package/dist/wcs/p-12ac2547.js.map +1 -0
- package/dist/wcs/p-1e43122f.entry.js.map +1 -1
- package/dist/wcs/p-26c4c983.entry.js +2 -0
- package/dist/wcs/p-26c4c983.entry.js.map +1 -0
- package/dist/wcs/p-26e7de5c.entry.js +16 -0
- package/dist/wcs/p-26e7de5c.entry.js.map +1 -0
- package/dist/wcs/p-31a8d23f.entry.js +2 -0
- package/dist/wcs/{p-d11c66d4.entry.js.map → p-31a8d23f.entry.js.map} +1 -1
- package/dist/wcs/p-463667c9.entry.js +2 -0
- package/dist/wcs/p-475ac7c5.js +2 -0
- package/dist/wcs/p-475ac7c5.js.map +1 -0
- package/dist/wcs/p-47d8ece5.entry.js.map +1 -1
- package/dist/wcs/p-4a9f8e94.entry.js.map +1 -1
- package/dist/wcs/p-4b2d8a6d.entry.js +2 -0
- package/dist/wcs/p-4b2d8a6d.entry.js.map +1 -0
- package/dist/wcs/{p-c7b42bae.entry.js → p-4b4d53e2.entry.js} +2 -2
- package/dist/wcs/p-50dce764.entry.js.map +1 -1
- package/dist/wcs/{p-8762cf93.entry.js → p-554ca93c.entry.js} +2 -2
- package/dist/wcs/p-627bbb6a.entry.js.map +1 -1
- package/dist/wcs/p-64dd7356.entry.js.map +1 -1
- package/dist/wcs/p-6acbf38a.entry.js +2 -0
- package/dist/wcs/{p-7d7472e2.entry.js.map → p-6acbf38a.entry.js.map} +1 -1
- package/dist/wcs/{p-6f921d57.entry.js → p-732b2faa.entry.js} +2 -2
- package/dist/wcs/p-732b2faa.entry.js.map +1 -0
- package/dist/wcs/{p-587fea23.entry.js → p-966a241e.entry.js} +2 -2
- package/dist/wcs/p-966a241e.entry.js.map +1 -0
- package/dist/wcs/p-9ecdeaf9.entry.js +2 -0
- package/dist/wcs/p-9ecdeaf9.entry.js.map +1 -0
- package/dist/wcs/p-a24fa4f4.entry.js +2 -0
- package/dist/wcs/p-a24fa4f4.entry.js.map +1 -0
- package/dist/wcs/p-a5cd4c07.entry.js +2 -0
- package/dist/wcs/{p-8bb19e58.entry.js.map → p-a5cd4c07.entry.js.map} +1 -1
- package/dist/wcs/p-b229a91c.entry.js +2 -0
- package/dist/wcs/p-b229a91c.entry.js.map +1 -0
- package/dist/wcs/{p-d998e112.entry.js → p-b6cd196d.entry.js} +2 -2
- package/dist/wcs/{p-d998e112.entry.js.map → p-b6cd196d.entry.js.map} +1 -1
- package/dist/wcs/p-b856f2f6.entry.js +2 -0
- package/dist/wcs/p-b856f2f6.entry.js.map +1 -0
- package/dist/wcs/{p-274232e6.entry.js → p-bcb8b731.entry.js} +2 -2
- package/dist/wcs/p-bcb8b731.entry.js.map +1 -0
- package/dist/wcs/p-d2da0c9f.entry.js +2 -0
- package/dist/wcs/p-d2da0c9f.entry.js.map +1 -0
- package/dist/wcs/p-d3f1cafe.entry.js.map +1 -1
- package/dist/wcs/p-d6b3f742.entry.js +2 -0
- package/dist/wcs/p-d6b3f742.entry.js.map +1 -0
- package/dist/wcs/p-ee453b6e.entry.js +2 -0
- package/dist/wcs/p-ee453b6e.entry.js.map +1 -0
- package/dist/wcs/p-f386bb8b.entry.js.map +1 -1
- package/dist/wcs/{p-e4dcd310.entry.js → p-f82e7a61.entry.js} +2 -2
- package/dist/wcs/{p-e4dcd310.entry.js.map → p-f82e7a61.entry.js.map} +1 -1
- package/dist/wcs/p-fc3f5b53.entry.js.map +1 -1
- package/dist/wcs/wcs.css +1 -1
- package/dist/wcs/wcs.esm.js +1 -1
- package/dist/wcs/wcs.esm.js.map +1 -1
- package/package.json +17 -12
- package/dist/cjs/grid-pagination-ff65e0ff.js.map +0 -1
- package/dist/cjs/helpers-11518d4f.js.map +0 -1
- package/dist/esm/grid-pagination-62f9fbbc.js.map +0 -1
- package/dist/esm/helpers-e9b73aad.js.map +0 -1
- package/dist/wcs/p-111ae1af.entry.js +0 -2
- package/dist/wcs/p-111ae1af.entry.js.map +0 -1
- package/dist/wcs/p-14e04d5e.entry.js +0 -2
- package/dist/wcs/p-14e04d5e.entry.js.map +0 -1
- package/dist/wcs/p-274232e6.entry.js.map +0 -1
- package/dist/wcs/p-2920b759.entry.js +0 -16
- package/dist/wcs/p-2920b759.entry.js.map +0 -1
- package/dist/wcs/p-3e370f48.entry.js +0 -2
- package/dist/wcs/p-49e66081.entry.js +0 -2
- package/dist/wcs/p-49e66081.entry.js.map +0 -1
- package/dist/wcs/p-504fb24e.entry.js +0 -2
- package/dist/wcs/p-504fb24e.entry.js.map +0 -1
- package/dist/wcs/p-5140269d.entry.js +0 -2
- package/dist/wcs/p-5140269d.entry.js.map +0 -1
- package/dist/wcs/p-587fea23.entry.js.map +0 -1
- package/dist/wcs/p-62db1219.js +0 -2
- package/dist/wcs/p-62db1219.js.map +0 -1
- package/dist/wcs/p-6f921d57.entry.js.map +0 -1
- package/dist/wcs/p-7d7472e2.entry.js +0 -2
- package/dist/wcs/p-89b3550b.entry.js +0 -2
- package/dist/wcs/p-89b3550b.entry.js.map +0 -1
- package/dist/wcs/p-8bb19e58.entry.js +0 -2
- package/dist/wcs/p-9157466f.entry.js +0 -2
- package/dist/wcs/p-9157466f.entry.js.map +0 -1
- package/dist/wcs/p-d11c66d4.entry.js +0 -2
- package/dist/wcs/p-d218509e.entry.js +0 -2
- package/dist/wcs/p-d218509e.entry.js.map +0 -1
- package/dist/wcs/p-dc57a5f7.js +0 -2
- package/dist/wcs/p-dc57a5f7.js.map +0 -1
- /package/dist/wcs/{p-3e370f48.entry.js.map → p-463667c9.entry.js.map} +0 -0
- /package/dist/wcs/{p-c7b42bae.entry.js.map → p-4b4d53e2.entry.js.map} +0 -0
- /package/dist/wcs/{p-8762cf93.entry.js.map → p-554ca93c.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"wcs-error.wcs-form-field.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,QAAQ,GAAG,gDAAgD;;MCOpD,KAAK;;;;EACd,MAAM;IACF,QACIA,QAACC,UAAI,IAAC,IAAI,EAAC,OAAO,IACdD,qBAAQ,CACL,EACT;GACL;;;;ACdL,MAAM,YAAY,GAAG,2+BAA2+B;;MCWn/B,SAAS;;;mBAM8B,KAAK;qBAEhC,KAAK;qBACL,KAAK;;;EAK1B,iBAAiB;IACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IAC9D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;GACjE;EAED,gBAAgB;IACZ,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACxB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAChC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;GAC9C;EAKO,aAAa,CAAC,QAAiB;IACnC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;GAC1C;EAEO,uBAAuB,CAAC,QAAiB;IAC7C,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE;MACxD,IAAI,QAAQ,EAAE;QACV,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;OACpD;WAAM;QACH,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;OACtD;KACJ;GACJ;;;;;;EAOO,oBAAoB,CAAC,GAAG,KAAe;;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;MACtB,IAAI,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,OAAO,MAAK,IAAI,CAAC,WAAW,EAAE;QAAE,OAAO,IAAI,CAAC;KACtE;IACD,OAAO,KAAK,CAAA;GACf;EAGO,wBAAwB;;;IAE5B,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,SAAS;;MAC1C,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;MACrF,IAAI,mBAAmB,EAAE;QACrB,IAAI,CAAC,uBAAuB,CAAC,MAAA,IAAI,CAAC,YAAY,0CAAE,YAAY,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;OACpF;KACJ,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,YAAY,EAAE;MACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAC,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC;KAChE;IAED,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,YAAY,0CAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IAC/D,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;GACnD;EAGO,gBAAgB;;IACpB,MAAM,oBAAoB,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAE1H,IAAI,CAAC,YAAY,GAAG,MAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,kBAAkB,CAAqB,0CACvF,gBAAgB,GACjB,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,oBAAoB,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;IAG5G,IAAI,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,OAAO,MAAK,MAAM,EAAE;MACvC,IAAI,CAAC,YAAY,IAAK,IAAI,CAAC,YAAgC;SACtD,gBAAgB,EAAE;SAClB,MAAM,CAAC,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAgB,CAAC;KAClH;IAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;;MAEpB,OAAO,CAAC,IAAI,CAAC,oCAAoC,GAAG,oBAAoB,CAAC,QAAQ,EAAE,GAAG,2DAA2D,CAAC,CAAC;MACnJ,OAAO;KACV;GACJ;EAEO,uBAAuB,CAAC,UAAmB,EAAE,KAAc;IAC/D,IAAI,UAAU,IAAI,KAAK,EAAE;MACrB,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;KAC1C;SAAM,IAAI,CAAC,UAAU,IAAI,KAAK,EAAE;MAC7B,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;KACrC;GACJ;EAED,oBAAoB;;IAChB,MAAA,IAAI,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAC;GAC/B;EAED,MAAM;IACF,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAE7B,IAAI,IAAI,CAAC,SAAS,EAAE;MAChB,OAAO,IAAI,aAAa,CAAC;KAC5B;IACD,IAAI,IAAI,CAAC,SAAS,EAAE;MAChB,OAAO,IAAI,aAAa,CAAC;KAC5B;IACD,QACIA,QAACC,UAAI,IAAC,KAAK,EAAE,OAAO,IAChBD,kBAAM,IAAI,EAAC,OAAO,GAAE,EACpBA,iBAAK,KAAK,EAAC,iBAAiB,IACxBA,kBAAM,IAAI,EAAC,QAAQ,GAAE,EACrBA,kBAAM,YAAY,EAAE,MAAM,IAAI,CAAC,qBAAqB,EAAE,GAAG,EACzDA,kBAAM,IAAI,EAAC,QAAQ,GAAE,CACnB,EAEF,OAAO,IAAIA,kBAAM,IAAI,EAAC,OAAO,GAAE,IAAI,EAAE,EAEzCA,kBAAM,IAAI,EAAC,UAAU,GAAE,CACpB,EACT;GACL;EAEO,qBAAqB;IACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACxB,IAAI,CAAC,wBAAwB,EAAE,CAAC;IAChC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;GAC9C;;;;;;;;;;;","names":["h","Host"],"sources":["./src/components/error/error.scss?tag=wcs-error&encapsulation=shadow","./src/components/error/error.tsx","./src/components/form-field/form-field.scss?tag=wcs-form-field&encapsulation=shadow","./src/components/form-field/form-field.tsx"],"sourcesContent":[":host {\n margin-top: 0.25rem;\n color: var(--wcs-red);\n}","import { Component, ComponentInterface, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'wcs-error',\n styleUrl: 'error.scss',\n shadow: true,\n})\nexport class Label implements ComponentInterface {\n render() {\n return (\n <Host slot=\"error\">\n <slot />\n </Host>\n );\n }\n}\n",":host {\n --wcs-form-field-border-radius-left: var(--wcs-border-radius);\n --wcs-form-field-border-radius-right: var(--wcs-border-radius);\n\n display: flex;\n flex-direction: column;\n}\n\n.input-container {\n display: flex;\n}\n\n::slotted(wcs-radio-group) {\n margin-left: var(--wcs-base-margin);\n}\n\n::slotted(wcs-radio-group[mode=option]) {\n margin-left: 0;\n}\n\n::slotted(wcs-select:not([slot=prefix])) {\n width: 100%;\n}\n\n// Label style\n::slotted(label) {\n font-weight: 500;\n margin-bottom: 8px;\n}\n\n// Make input square on left side if there is a prefix\n:host(.has-prefix) {\n --wcs-input-border-radius-left: 0;\n}\n\n// Make input square on right side if there is a suffix\n:host(.has-suffix) {\n --wcs-input-border-radius-right: 0;\n}\n\n// Prefixed select\n::slotted([slot=prefix]) {\n --wcs-select-border-radius: var(--wcs-border-radius) 0 0 var(--wcs-border-radius);\n --wcs-select-background-color: var(--wcs-gray-light);\n --wcs-select-value-color: var(--wcs-white);\n --wcs-select-placeholder-color: var(--wcs-white);\n --wcs-select-border-color: var(--wcs-gray-light);\n}\n\n::slotted([slot=suffix]) {\n // Make button square on left side\n --wcs-button-border-radius: 0 var(--wcs-border-radius) var(--wcs-border-radius) 0;\n\n // Make select square on left side\n --wcs-select-border-radius: 0 var(--wcs-border-radius) var(--wcs-border-radius) 0 ;\n}\n","import { Component, ComponentInterface, Element, h, Host, Prop, State, Watch } from '@stencil/core';\n\n/**\n * TODO:\n * - [ ] Suffix button style\n */\n@Component({\n tag: 'wcs-form-field',\n styleUrl: 'form-field.scss',\n shadow: true,\n})\nexport class FormField implements ComponentInterface {\n @Element() el!: HTMLWcsFormFieldElement;\n\n /**\n * Specifies whether the form field is in an error state. Displays the field border in red and the message contained in the wcs-error component\n */\n @Prop({mutable: true, reflect: true}) isError = false;\n\n @State() hasPrefix = false;\n @State() hasSuffix = false;\n @State() spiedElement: Element;\n\n private observer: MutationObserver;\n\n componentWillLoad() {\n this.hasSuffix = this.el.querySelector('wcs-button') !== null;\n this.hasPrefix = this.el.querySelector('wcs-select') !== null;\n }\n\n componentDidLoad() {\n this.initSpiedElement();\n this.addRequiredMarkerToLabel();\n this.updateErrorStateOnInput(this.isError);\n }\n\n\n @Watch('isError')\n // @ts-ignore\n private isErrorChange(newValue: boolean) {\n this.updateErrorStateOnInput(newValue);\n }\n\n private updateErrorStateOnInput(newValue: boolean) {\n if (this.spiedElementIsOfType('wcs-input', 'wcs-textarea')) {\n if (newValue) {\n this.spiedElement.setAttribute('state', 'error');\n } else {\n this.spiedElement.setAttribute('state', 'initial');\n }\n }\n }\n\n /**\n * This function return true if the form field contains an element with tagName matches a value of the types param\n * @param types\n * @private\n */\n private spiedElementIsOfType(...types: string[]): boolean {\n for (const type of types) {\n if (this.spiedElement?.tagName === type.toUpperCase()) return true;\n }\n return false\n }\n\n\n private addRequiredMarkerToLabel() {\n // TODO: deprecate this in favor of the 'required' component attribute\n const label = this.el.querySelector('wcs-label');\n this.observer = new MutationObserver(mutations => {\n const requiredAttMutation = mutations.filter(m => m.attributeName === 'required')[0];\n if (requiredAttMutation) {\n this.updateLabelRequiredFlag(this.spiedElement?.hasAttribute('required'), label);\n }\n });\n if (this.spiedElement) {\n this.observer.observe(this.spiedElement, {attributes: true});\n }\n\n const isRequired = this.spiedElement?.hasAttribute('required');\n this.updateLabelRequiredFlag(isRequired, label);\n }\n\n\n private initSpiedElement() {\n const SUPPORTED_COMPONENTS = ['wcs-input', 'wcs-select', 'wcs-textarea', 'wcs-radio-group', 'wcs-switch', 'wcs-checkbox'];\n\n this.spiedElement = (this.el.shadowRoot.querySelector('slot:not([name])') as HTMLSlotElement)\n ?.assignedElements()\n .filter(n => [...SUPPORTED_COMPONENTS, 'SLOT'].map(x => x.toUpperCase()).indexOf(n.nodeName) !== -1)[0];\n\n // If the component is used in another web component\n if (this.spiedElement?.tagName === 'SLOT') {\n this.spiedElement = ((this.spiedElement as HTMLSlotElement)\n .assignedElements()\n .filter(n => SUPPORTED_COMPONENTS.map(x => x.toUpperCase()).indexOf(n.nodeName) !== -1)[0]) as HTMLElement;\n }\n\n if (!this.spiedElement) {\n // tslint:disable-next-line:no-console\n console.warn('Form-field component support only ' + SUPPORTED_COMPONENTS.toString() + '. Some features may not work with the provided component.');\n return;\n }\n }\n\n private updateLabelRequiredFlag(isRequired: boolean, label: Element) {\n if (isRequired && label) {\n label.setAttribute('required', 'true');\n } else if (!isRequired && label) {\n label.removeAttribute('required');\n }\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n }\n\n render() {\n let classes = '';\n const isError = this.isError;\n\n if (this.hasSuffix) {\n classes += ' has-suffix';\n }\n if (this.hasPrefix) {\n classes += ' has-prefix';\n }\n return (\n <Host class={classes}>\n <slot name=\"label\"/>\n <div class=\"input-container\">\n <slot name=\"prefix\"/>\n <slot onSlotchange={() => this.onFormInputSlotChange()}/>\n <slot name=\"suffix\"/>\n </div>\n {\n isError ? (<slot name=\"error\"/>) : ''\n }\n <slot name=\"messages\"/>\n </Host>\n );\n }\n\n private onFormInputSlotChange() {\n this.initSpiedElement();\n this.addRequiredMarkerToLabel();\n this.updateErrorStateOnInput(this.isError);\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"wcs-error.wcs-form-field.entry.cjs.js","mappings":"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","names":["h","Host"],"sources":["./src/components/error/error.scss?tag=wcs-error&encapsulation=shadow","./src/components/error/error.tsx","./src/components/form-field/form-field.scss?tag=wcs-form-field&encapsulation=shadow","./src/components/form-field/form-field.tsx"],"sourcesContent":[":host {\n margin-top: 0.25rem;\n color: var(--wcs-red);\n}","import { Component, ComponentInterface, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'wcs-error',\n styleUrl: 'error.scss',\n shadow: true,\n})\nexport class Label implements ComponentInterface {\n render() {\n return (\n <Host slot=\"error\">\n <slot />\n </Host>\n );\n }\n}\n",":host {\n --wcs-form-field-border-radius-left: var(--wcs-border-radius);\n --wcs-form-field-border-radius-right: var(--wcs-border-radius);\n\n display: flex;\n flex-direction: column;\n}\n\n.input-container {\n display: flex;\n}\n\n::slotted(wcs-radio-group) {\n margin-left: var(--wcs-base-margin);\n}\n\n::slotted(wcs-radio-group[mode=option]) {\n margin-left: 0;\n}\n\n::slotted(wcs-select:not([slot=prefix])) {\n width: 100%;\n}\n\n// Label style\n::slotted(label) {\n font-weight: 500;\n margin-bottom: 8px;\n}\n\n// Make input square on left side if there is a prefix\n:host(.has-prefix) {\n --wcs-input-border-radius-left: 0;\n}\n\n// Make input square on right side if there is a suffix\n:host(.has-suffix) {\n --wcs-input-border-radius-right: 0;\n}\n\n// Prefixed select\n::slotted([slot=prefix]) {\n --wcs-select-border-radius: var(--wcs-border-radius) 0 0 var(--wcs-border-radius);\n --wcs-select-background-color: var(--wcs-gray-light);\n --wcs-select-value-color: var(--wcs-white);\n --wcs-select-placeholder-color: var(--wcs-white);\n --wcs-select-border-color: var(--wcs-gray-light);\n}\n\n::slotted([slot=suffix]) {\n // Make button square on left side\n --wcs-button-border-radius: 0 var(--wcs-border-radius) var(--wcs-border-radius) 0;\n\n // Make select square on left side\n --wcs-select-border-radius: 0 var(--wcs-border-radius) var(--wcs-border-radius) 0 ;\n}\n","import { Component, ComponentInterface, Element, h, Host, Prop, State, Watch } from '@stencil/core';\n\n/**\n * TODO:\n * - [ ] Suffix button style\n */\n@Component({\n tag: 'wcs-form-field',\n styleUrl: 'form-field.scss',\n shadow: true,\n})\nexport class FormField implements ComponentInterface {\n @Element() private el!: HTMLWcsFormFieldElement;\n\n /**\n * Specifies whether the form field is in an error state. Displays the field border in red and the message contained in the wcs-error component\n */\n @Prop({mutable: true, reflect: true}) isError = false;\n\n @State() private hasPrefix = false;\n @State() private hasSuffix = false;\n @State() private spiedElement: Element;\n\n private observer: MutationObserver;\n\n componentWillLoad() {\n this.hasSuffix = this.el.querySelector('wcs-button') !== null;\n this.hasPrefix = this.el.querySelector('wcs-select') !== null;\n }\n\n componentDidLoad() {\n this.initSpiedElement();\n this.addRequiredMarkerToLabel();\n this.updateErrorStateOnInput(this.isError);\n }\n\n\n @Watch('isError')\n // @ts-ignore\n private isErrorChange(newValue: boolean) {\n this.updateErrorStateOnInput(newValue);\n }\n\n private updateErrorStateOnInput(newValue: boolean) {\n if (this.spiedElementIsOfType('wcs-input', 'wcs-textarea')) {\n if (newValue) {\n this.spiedElement.setAttribute('state', 'error');\n } else {\n this.spiedElement.setAttribute('state', 'initial');\n }\n }\n }\n\n /**\n * This function return true if the form field contains an element with tagName matches a value of the types param\n * @param types\n * @private\n */\n private spiedElementIsOfType(...types: string[]): boolean {\n for (const type of types) {\n if (this.spiedElement?.tagName === type.toUpperCase()) return true;\n }\n return false\n }\n\n\n private addRequiredMarkerToLabel() {\n // TODO: deprecate this in favor of the 'required' component attribute\n const label = this.el.querySelector('wcs-label');\n this.observer = new MutationObserver(mutations => {\n const requiredAttMutation = mutations.filter(m => m.attributeName === 'required')[0];\n if (requiredAttMutation) {\n this.updateLabelRequiredFlag(this.spiedElement?.hasAttribute('required'), label);\n }\n });\n if (this.spiedElement) {\n this.observer.observe(this.spiedElement, {attributes: true});\n }\n\n const isRequired = this.spiedElement?.hasAttribute('required');\n this.updateLabelRequiredFlag(isRequired, label);\n }\n\n\n private initSpiedElement() {\n const SUPPORTED_COMPONENTS = ['wcs-input', 'wcs-select', 'wcs-textarea', 'wcs-radio-group', 'wcs-switch', 'wcs-checkbox', 'wcs-native-select'];\n\n this.spiedElement = (this.el.shadowRoot.querySelector('slot:not([name])') as HTMLSlotElement)\n ?.assignedElements()\n .filter(n => [...SUPPORTED_COMPONENTS, 'SLOT'].map(x => x.toUpperCase()).indexOf(n.nodeName) !== -1)[0];\n\n // If the component is used in another web component\n if (this.spiedElement?.tagName === 'SLOT') {\n this.spiedElement = ((this.spiedElement as HTMLSlotElement)\n .assignedElements()\n .filter(n => SUPPORTED_COMPONENTS.map(x => x.toUpperCase()).indexOf(n.nodeName) !== -1)[0]) as HTMLElement;\n }\n\n if (!this.spiedElement) {\n // tslint:disable-next-line:no-console\n console.warn('Form-field component support only ' + SUPPORTED_COMPONENTS.toString() + '. Some features may not work with the provided component.');\n return;\n }\n }\n\n private updateLabelRequiredFlag(isRequired: boolean, label: Element) {\n if (isRequired && label) {\n label.setAttribute('required', 'true');\n } else if (!isRequired && label) {\n label.removeAttribute('required');\n }\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n }\n\n render() {\n let classes = '';\n const isError = this.isError;\n\n if (this.hasSuffix) {\n classes += ' has-suffix';\n }\n if (this.hasPrefix) {\n classes += ' has-prefix';\n }\n return (\n <Host class={classes}>\n <slot name=\"label\"/>\n <div class=\"input-container\">\n <slot name=\"prefix\"/>\n <slot onSlotchange={() => this.onFormInputSlotChange()}/>\n <slot name=\"suffix\"/>\n </div>\n {\n isError ? (<slot name=\"error\"/>) : ''\n }\n <slot name=\"messages\"/>\n </Host>\n );\n }\n\n private onFormInputSlotChange() {\n this.initSpiedElement();\n this.addRequiredMarkerToLabel();\n this.updateErrorStateOnInput(this.isError);\n }\n}\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"wcs-field.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,QAAQ,GAAG,qWAAqW;;
|
|
1
|
+
{"file":"wcs-field.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,QAAQ,GAAG,qWAAqW;;MCWzW,KAAK;;;;EACd,MAAM;IACF,QACIA,QAACC,UAAI,QACDD,kBAAM,IAAI,EAAC,OAAO,GAAE,EACpBA,kBAAM,IAAI,EAAC,SAAS,GAAE,CACnB,EACT;GACL;;;;;;","names":["h","Host"],"sources":["./src/components/field/field.scss?tag=wcs-field&encapsulation=shadow","./src/components/field/field.tsx"],"sourcesContent":[":host{\n display: flex;\n flex-direction: column;\n margin-top: var(--wcs-base-margin);\n margin-bottom: calc(var(--wcs-base-margin) * 2);\n}\n::slotted([slot=label]) {\n font-size: 1rem;\n line-height: 1.375;\n font-weight: 500;\n margin-bottom: calc(var(--wcs-base-margin) / 2);\n color: var(--wcs-gray-light);\n}\n\n::slotted([slot=content]) {\n font-size: 1rem;\n font-weight: 400;\n color: var(--wcs-gray-light);\n}\n","import { Component, ComponentInterface, h, Host, } from '@stencil/core';\n\n/**\n * @slot label Label of the field\n * @slot content Content of the field\n */\n@Component({\n tag: 'wcs-field',\n styleUrl: 'field.scss',\n shadow: true\n})\nexport class Field implements ComponentInterface {\n render() {\n return (\n <Host>\n <slot name=\"label\"/>\n <slot name=\"content\"/>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"wcs-footer.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,SAAS,GAAG,gwBAAgwB;;
|
|
1
|
+
{"file":"wcs-footer.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,SAAS,GAAG,gwBAAgwB;;MCYrwB,MAAM;;;;EACf,MAAM;IACF,QACIA,QAACC,UAAI,QACDD,iBAAK,KAAK,EAAC,WAAW,IAClBA,qBACIA,qBAAQ,CACN,EACNA,iBAAK,KAAK,EAAC,KAAK,IACZA,iBAAK,KAAK,EAAC,UAAU,IACjBA,kBAAM,IAAI,EAAC,UAAU,GAAE,CACrB,EACNA,iBAAK,KAAK,EAAC,WAAW,IAClBA,kBAAM,IAAI,EAAC,WAAW,GAAE,CACtB,CACJ,CACJ,CACH,EACV;GACJ;;;;;;","names":["h","Host"],"sources":["./src/components/footer/footer.scss?tag=wcs-footer&encapsulation=shadow","./src/components/footer/footer.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n background-color: var(--wcs-gray);\n color: white;\n\n .end {\n margin-top: calc(2*var(--wcs-base-margin));\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: baseline;\n gap: var(--wcs-base-margin);\n\n .end-left, .end-right {\n display: flex;\n flex-wrap: wrap;\n }\n\n @media only screen and (max-width:1024px) {\n .end-left, .end-right {\n flex-direction: column;\n }\n }\n\n slot[name=end-left]::slotted(a) {\n color: var(--wcs-text-disabled);\n text-decoration: none;\n font-size: 14px;\n font-weight: 500;\n margin-right: 35px;\n }\n\n slot[name=end-left]::slotted(a:hover) {\n color: var(--wcs-white);\n }\n\n }\n\n .container {\n margin: 0 auto;\n max-width: var(--wcs-com-content-max-width);\n display: flex;\n flex-direction: column;\n padding: 20px;\n }\n\n}\n","import { Component, ComponentInterface, h, Host } from '@stencil/core';\n\n/**\n * @slot <no-name> Main container slot\n * @slot end-left Bottom-left part of the footer\n * @slot end-right Bottom-right part of the footer\n */\n@Component({\n tag: 'wcs-footer',\n styleUrl: 'footer.scss',\n shadow: true,\n})\nexport class Footer implements ComponentInterface {\n render(): any {\n return (\n <Host>\n <div class=\"container\">\n <div>\n <slot />\n </div>\n <div class=\"end\">\n <div class=\"end-left\">\n <slot name=\"end-left\"/>\n </div>\n <div class=\"end-right\">\n <slot name=\"end-right\"/>\n </div>\n </div>\n </div>\n </Host>\n )\n }\n}\n"],"version":3}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-ca67a6dc.js');
|
|
6
|
-
const helpers = require('./helpers-
|
|
6
|
+
const helpers = require('./helpers-4a14051a.js');
|
|
7
7
|
const popper = require('./popper-e3b74571.js');
|
|
8
8
|
|
|
9
9
|
const galacticMenuCss = "#menu{background-color:var(--wcs-gray);color:white;display:none;padding:var(--wcs-padding)}#menu[data-show]{display:block;z-index:9999}#menu[data-popper-placement^=top]>#arrow{bottom:-4px}#menu[data-popper-placement^=bottom]>#arrow{top:-4px}#menu[data-popper-placement^=left]>#arrow{right:-4px}#menu[data-popper-placement^=right]>#arrow{left:-4px}:host{display:flex;align-items:center;height:32px;padding-left:var(--wcs-padding);background-color:var(--wcs-gray-light)}#toggle-menu-icon{cursor:pointer;padding:0 var(--wcs-padding);user-select:none}#arrow,#arrow::before{position:absolute;width:8px;height:8px;background:inherit}#arrow{visibility:hidden}#arrow::before{visibility:visible;content:\"\";transform:rotate(45deg)}";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"wcs-galactic-menu.entry.cjs.js","mappings":";;;;;;;;AAAA,MAAM,eAAe,GAAG,qtBAAqtB;;MCShuB,QAAQ;;;
|
|
1
|
+
{"file":"wcs-galactic-menu.entry.cjs.js","mappings":";;;;;;;;AAAA,MAAM,eAAe,GAAG,qtBAAqtB;;MCShuB,QAAQ;;;2BAE2B,KAAK;;;EASjD,gBAAgB;IACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAClE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,GAAGA,mBAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;MAChD,SAAS,EAAE,YAAY;MACvB,SAAS,EAAE;QACP;UACI,IAAI,EAAE,QAAQ;UACd,OAAO,EAAE;YACL,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;WACjB;SACJ;OACJ;KACJ,CAAC,CAAC;GACN;EAGD,kBAAkB,CAAC,KAAiB;IAChC,IAAIC,0BAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAIA,0BAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE;MACjF,OAAO;KACV;SAAM;MACH,IAAI,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,UAAU,EAAE,CAAC;OACrB;KACJ;GACJ;EAGO,UAAU;IACd,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;GAChD;EAED,kBAAkB;IACd,IAAI,IAAI,CAAC,MAAM,EAAE;MACb,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;KACxB;GACJ;EAED,MAAM;IACF,QACIC,QAACC,UAAI,QACDD,sBAAO,IAAI,CAAC,IAAI,CAAQ,EACxBA,0BAAc,EAAE,EAAC,kBAAkB,EAAC,IAAI,EAAC,YAAY,EAAC,IAAI,EAAC,GAAG,EAAC,OAAO,EAAE,CAAC;QACrE,IAAI,CAAC,UAAU,EAAE,CAAC;OACrB,GAAiB,EAClBA,kBAAM,EAAE,EAAC,MAAM,eAAY,IAAI,CAAC,eAAe,IAC3CA,iBAAK,EAAE,EAAC,OAAO,8BAAqB,EACpCA,qBAAO,CACJ,CACJ,EACT;GACL;;;;;;;","names":["createPopper","clickInsideElement","h","Host"],"sources":["./src/components/galactic-menu/galactic-menu.scss?tag=wcs-galactic-menu&encapsulation=shadow","./src/components/galactic-menu/galactic-menu.tsx"],"sourcesContent":["#menu {\n background-color: var(--wcs-gray);\n color: white;\n display: none;\n padding: var(--wcs-padding);\n}\n#menu[data-show] {\n display: block;\n z-index: 9999;\n}\n#menu[data-popper-placement^='top'] > #arrow {\n bottom: -4px;\n}\n\n#menu[data-popper-placement^='bottom'] > #arrow {\n top: -4px;\n}\n\n#menu[data-popper-placement^='left'] > #arrow {\n right: -4px;\n}\n\n#menu[data-popper-placement^='right'] > #arrow {\n left: -4px;\n}\n:host {\n display: flex;\n align-items: center;\n height: 32px;\n padding-left: var(--wcs-padding);\n background-color: var(--wcs-gray-light);\n}\n#toggle-menu-icon{\n cursor: pointer;\n padding: 0 var(--wcs-padding);\n user-select: none;\n}\n#arrow,\n#arrow::before {\n position: absolute;\n width: 8px;\n height: 8px;\n background: inherit;\n}\n\n#arrow {\n visibility: hidden;\n}\n\n#arrow::before {\n visibility: visible;\n content: '';\n transform: rotate(45deg);\n}\n","import { Component, ComponentInterface, Element, h, Host, Listen, Prop, State } from '@stencil/core';\nimport { Instance, createPopper } from '@popperjs/core';\nimport { clickInsideElement } from '../../utils/helpers';\n\n@Component({\n tag: 'wcs-galactic-menu',\n styleUrl: 'galactic-menu.scss',\n shadow: true\n})\nexport class Galactic implements ComponentInterface {\n @Element() private el: HTMLWcsGalacticMenuElement;\n @State() private showPopoverMenu: boolean = false;\n private popper: Instance;\n /**\n * Text to be displayed in the galactic bar\n */\n @Prop() text: string;\n private menu;\n private tooltip;\n\n componentDidLoad() {\n this.menu = this.el.shadowRoot.getElementById('toggle-menu-icon');\n this.tooltip = this.el.shadowRoot.getElementById('menu');\n this.popper = createPopper(this.menu, this.tooltip, {\n placement: 'bottom-end',\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 8]\n }\n }\n ]\n });\n }\n\n @Listen('click', {target: 'window'})\n onWindowClickEvent(event: MouseEvent) {\n if (clickInsideElement(event, this.tooltip) || clickInsideElement(event, this.menu)) {\n return;\n } else {\n if (this.showPopoverMenu) {\n this.toogleMenu();\n }\n }\n }\n\n\n private toogleMenu() {\n this.showPopoverMenu = !this.showPopoverMenu;\n }\n\n componentDidRender() {\n if (this.popper) {\n this.popper.update();\n }\n }\n\n render(): any {\n return (\n <Host>\n <span>{this.text}</span>\n <wcs-mat-icon id=\"toggle-menu-icon\" icon=\"more_horiz\" size=\"m\" onClick={_ => {\n this.toogleMenu();\n }}></wcs-mat-icon>\n <span id=\"menu\" data-show={this.showPopoverMenu}>\n <div id=\"arrow\" data-popper-arrow />\n <slot/>\n </span>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -15,7 +15,6 @@ const Galactic = class {
|
|
|
15
15
|
render() {
|
|
16
16
|
return (index.h(index.Host, null, index.h("div", { class: "container" }, index.h("div", { class: "container-left" }, index.h("img", { src: SNCF_BASE64_SVG_LOGO, id: "sncf-logo", alt: "Logo SNCF" }), index.h("span", null, this.text)), index.h("div", { class: "menu" }, index.h("slot", null)))));
|
|
17
17
|
}
|
|
18
|
-
get el() { return index.getElement(this); }
|
|
19
18
|
};
|
|
20
19
|
const SNCF_BASE64_SVG_LOGO = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVy' +
|
|
21
20
|
'c2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"wcs-galactic.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,WAAW,GAAG,0VAA0V;;MCOjW,QAAQ;;;;
|
|
1
|
+
{"file":"wcs-galactic.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,WAAW,GAAG,0VAA0V;;MCOjW,QAAQ;;;;gBAGQ,KAAK;;EAG9B,MAAM;IACF,QAAQA,QAACC,UAAI,QACLD,iBAAK,KAAK,EAAC,WAAW,IAClBA,iBAAK,KAAK,EAAC,gBAAgB,IACvBA,iBACI,GAAG,EAAE,oBAAoB,EACzB,EAAE,EAAC,WAAW,EACd,GAAG,EAAC,WAAW,GAAE,EACrBA,sBAAO,IAAI,CAAC,IAAI,CAAQ,CACtB,EACNA,iBAAK,KAAK,EAAC,MAAM,IACbA,qBAAO,CACL,CACJ,CACH,EACT;GACL;;AAIL,MAAM,oBAAoB,GAAG,4FAA4F;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,qHAAqH;EACrH,oCAAoC,CAAC;;;;;","names":["h","Host"],"sources":["./src/components/galactic/galactic.scss?tag=wcs-galactic&encapsulation=shadow","./src/components/galactic/galactic.tsx"],"sourcesContent":["\n:host {\n display: block;\n background-color: var(--wcs-gray);\n}\n\n.container {\n height: 32px;\n align-items: center;\n justify-content: space-between;\n color: var(--wcs-white);\n font-size: 14px;\n display: flex;\n max-width: var(--wcs-com-content-max-width);\n margin: 0 auto;\n\n #sncf-logo {\n height: 32px;\n margin-right: 20px;\n }\n\n .container-left {\n display: flex;\n align-items: center;\n }\n}\n\n","import { Component, ComponentInterface, Host, h, Prop, State } from '@stencil/core';\n\n@Component({\n tag: 'wcs-galactic',\n styleUrl: 'galactic.scss',\n shadow: true\n})\nexport class Galactic implements ComponentInterface {\n /** Text to display in the bar */\n @Prop() text: string;\n @State() show: boolean = false;\n\n\n render(): any {\n return (<Host>\n <div class=\"container\">\n <div class=\"container-left\">\n <img\n src={SNCF_BASE64_SVG_LOGO}\n id=\"sncf-logo\"\n alt=\"Logo SNCF\"/>\n <span>{this.text}</span>\n </div>\n <div class=\"menu\">\n <slot/>\n </div>\n </div>\n </Host>\n );\n }\n}\n\n\nconst SNCF_BASE64_SVG_LOGO = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVy' +\n 'c2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5' +\n 'rIiB2aWV3Qm94PSIwIDAgMzIgMzIiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHX0dSQURJRU5UIiBncmFkaW' +\n 'VudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAiIHkxPSIxNiIgeDI9IjMxLjk1OTMiIHkyPSIxNiI+DQoJCTxzdG9wICBvZmZzZXQ9IjAiIHN0e' +\n 'WxlPSJzdG9wLWNvbG9yOiM4MzJGNzAiLz4NCgkJPHN0b3AgIG9mZnNldD0iMC4yNDcyIiBzdHlsZT0ic3RvcC1jb2xvcjojQUMyODdDIi8+DQoJCTxz' +\n 'dG9wICBvZmZzZXQ9IjAuODE0NiIgc3R5bGU9InN0b3AtY29sb3I6I0RGMjUzMCIvPg0KCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2x' +\n 'vcjojREYyNTMwIi8+DQoJPC9saW5lYXJHcmFkaWVudD4NCgk8cGF0aCBmaWxsPSJ1cmwoI1NWR19HUkFESUVOVCkiIGQ9Ik0wLjYsNy43QzAuMiw3Lj' +\n 'csMCw3LjgsMCw4LjJ2MTUuN2MwLDAuMywwLjIsMC41LDAuNSwwLjVoMjhjMC4zLDAsMC41LDAsMC42LTAuNGMwLDAsMi44LTguOSwyLjktOSBjMC4xL' +\n 'TAuMywwLTAuNS0wLjMtMC43QzIyLjYsOC41LDguOSw3LjYsMi44LDcuNkMxLjksNy42LDEuMSw3LjYsMC42LDcuN3oiLz4NCgk8cGF0aCBmaWxsPSIj' +\n 'RkZGRkZGIiBkPSJNNi40LDE3LjdjLTEtMC41LTEuNy0wLjgtMS42LTEuM0M1LDE1LjgsNi4xLDE1LjYsNywxNS42YzAuNSwwLDAuOCwwLjEsMS4yLDA' +\n 'uMmwwLjMtMS4xIGMtMC41LTAuMS0wLjgtMC4xLTEuNC0wLjFjLTEuOSwwLTMuNiwwLjUtNCwxLjZjLTAuNSwxLjMsMC45LDIsMi4yLDIuNmMxLDAuNS' +\n 'wxLjgsMC45LDEuNSwxLjVjLTAuMiwwLjUtMC45LDAuNy0yLDAuNyBjLTAuOSwwLTItMC4zLTIuOS0wLjdsLTAuNSwxLjFjMC42LDAuMywyLDAuNywzL' +\n 'jEsMC43YzIuMSwwLDMuNS0wLjUsNC4xLTEuN0M5LjMsMTkuMSw3LjcsMTguMyw2LjQsMTcuN3oiLz4NCgk8cGF0aCBmaWxsPSIjRkZGRkZGIiBkPSJN' +\n 'OS4zLDE5LjZDOS4zLDE5LjcsOS4zLDE5LjcsOS4zLDE5LjZjMC4xLDAsMC4xLDAsMC4xLDBjMCwwLDEtMy4yLDEtMy4yYzEuMSwxLjUsMi4xLDMuNSw' +\n 'yLjcsNS42aDEuNyBsMC45LTIuN2MwLDAsMCwwLDAuMSwwYzAsMCwwLDAsMC4xLDBjMC4zLDEuNywxLjksMi44LDQuMywyLjhjMS41LDAsMi45LTAuNC' +\n 'wzLjItMC42bDAuOS0yLjhoMy40bDAuMy0xLjFoLTMuNGwwLjYtMS44aDQuMSBsMC40LTEuMWgtNS43bC0xLjksNi4xYy0wLjQsMC4xLTAuOSwwLjItM' +\n 'S41LDAuMmMtMS4xLDAtMi4xLTAuMy0yLjYtMC45Yy0wLjQtMC41LTAuNS0xLTAuNC0xLjdjMC4yLTEuNiwxLjgtMi42LDMuOC0yLjYgYzAuNCwwLDAu' +\n 'OSwwLDEuMywwLjFsMC40LTEuMmMtMC41LTAuMS0xLjEtMC4xLTEuNy0wLjFjLTEuOCwwLTMuNCwwLjYtNC40LDEuN2MwLDAtMC4xLDAtMC4xLDBjMCw' +\n 'wLTAuMSwwLDAsMGwwLjUtMS42aC0xLjUgTDE0LDE5LjhjLTAuNS0xLjUtMS42LTMuNS0yLjktNS4xSDkuNWwtMS4yLDMuN0M4LjksMTguOCw5LjEsMT' +\n 'kuMiw5LjMsMTkuNnoiLz4NCjwvc3ZnPg0K';\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"wcs-grid-column.entry.cjs.js","mappings":";;;;;;AAOO,MAAM,aAAa,GAA4C,CAAC,EAAE,KAAK,EAAE,MAC5EA,iBAAK,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW;EAC7GA,mBAAO,IAAI,EAAC,UAAU,IAAE;;;;;;;;;;;;;;;;;;;SAmBvB,CAAS;EACVA,eAAG,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,iBAAiB;IAClCA,kBAAM,KAAK,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,QAAQ,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC,EAAC,gDAAgD,GAAG;IAChHA,kBAAM,CAAC,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,GAAG,CACtC;EACJA,eAAG,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,kBAAkB;IACnCA,kBAAM,KAAK,EAAE,CAAC,KAAK,KAAK,MAAM,GAAG,QAAQ,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC,EAAC,gDAAgD,GAAG;IACjHA,kBAAM,CAAC,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,GAAG,CACtC,CACF,CACT;;ACtCD,MAAM,aAAa,GAAG,gqBAAgqB;;MCSzqB,UAAU;;;;;;;gBAIK,KAAK;;;qBAGoB,MAAM;;uBAKxB,KAAK;kBACV,KAAK;;EAK/B,iBAAiB,CAAC,QAAiB;IAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;GACvC;EAGD,eAAe,CAAC,CAAe;IAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;GACzB;EAED,cAAc;IACV,IAAI,CAAC,IAAI,CAAC,IAAI;MAAE,OAAO;IACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;MACpB,MAAM,EAAE,IAAI,CAAC,EAAE;MACf,KAAK,EAAE,IAAI,CAAC,SAAS;MACrB,MAAM,EAAE,IAAI,CAAC,MAAM;KACtB,CAAC,CAAC;GACN;EAED,MAAM;IACF,QAAQA,QAACC,UAAI,IAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAC,aAAa,IAClED,gBAAI,KAAK,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,GAAG,SAAS,GAAG,EAAE,IAC7DA,iBAAK,KAAK,EAAC,wBAAwB,IAC/BA,sBAAO,IAAI,CAAC,IAAI,CAAQ,EAEpB,IAAI,CAAC,IAAI,GAAGA,QAAC,aAAa,IAAC,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAE1D,CACL,CACF,EAAC;GACX;EAEO,WAAW;;IAEf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;GAC5F;;;;;;;;;;;","names":["h","Host"],"sources":["./src/components/grid-column/grid-sort-arrow.tsx","./src/components/grid-column/grid-column.scss?tag=wcs-grid-column&encapsulation=shadow","./src/components/grid-column/grid-column.tsx"],"sourcesContent":["import { FunctionalComponent, h } from '@stencil/core';\nimport { WcsSortOrder } from '../grid/grid-interface';\n\ninterface GridSortArrowProps {\n state: WcsSortOrder;\n}\n\nexport const GridSortArrow: FunctionalComponent<GridSortArrowProps> = ({ state }) => (\n <svg style={{ marginLeft: 'auto' }} xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"20\" viewBox=\"0 0 24 20\">\n <style type=\"text/css\">{`\n .arrow-group {\n transform-origin: 50% 51%;\n transition: transform 175ms ease-in-out;\n }\n .arrow{\n transition: fill 175ms ease-in-out;\n fill: var(--wcs-text-light);\n }\n .asc {\n transform: scaleY(1) translateY(-6px);\n }\n .desc {\n transform: scaleY(-1) translateY(-6px);\n }\n .active {\n fill: var(--wcs-primary);\n }\n\n `}</style>\n <g fill=\"none\" class='asc arrow-group'>\n <path class={(state === 'asc' ? 'active' : '') + ' arrow'} d=\"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z\" />\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n </g>\n <g fill=\"none\" class='desc arrow-group'>\n <path class={(state === 'desc' ? 'active' : '') + ' arrow'} d=\"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z\" />\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n </g>\n </svg>\n);\n",":host {\n --wcs-grid-column-border-left: solid 1px var(--wcs-text-light);\n\n display: contents;\n\n th {\n color: var(--wcs-gray-dark);\n background-color: var(--wcs-light);\n border-left: var(--wcs-grid-column-border-left);\n padding: calc(var(--wcs-padding) / 2) var(--wcs-padding);\n text-align: left;\n\n .grid-column-th-content {\n display: inline-flex;\n flex-direction: row;\n\n span {\n user-select: none;\n }\n }\n }\n\n .pointer {\n cursor: pointer;\n }\n}\n\n:host([sort-order=\"asc\"]) {\n img {\n transform: scaleY(1);\n }\n}\n\n:host([sort-order=\"desc\"]) {\n img {\n transform: scaleY(-1);\n }\n}\n\n:host([sort-order=\"none\"]) {\n img {\n display: none;\n }\n\n th:hover {\n img {\n display: inline-block;\n }\n }\n}\n\n:host([hidden]) {\n display: none !important;\n}\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Host, Prop, Watch } from '@stencil/core';\nimport { WcsCellFormatter, WcsGridColumnSortChangeEventDetails, WcsSortFn, WcsSortOrder } from '../grid/grid-interface';\nimport { GridSortArrow } from './grid-sort-arrow';\n\n@Component({\n tag: 'wcs-grid-column',\n styleUrl: 'grid-column.scss',\n shadow: true\n})\nexport class GridColumn implements ComponentInterface {\n @Element() el: HTMLWcsGridColumnElement;\n @Prop() path: string;\n @Prop() name: string;\n @Prop() sort: boolean = false;\n @Prop() sortFn: WcsSortFn;\n @Prop() formatter: WcsCellFormatter;\n @Prop({mutable: true}) sortOrder: WcsSortOrder = 'none';\n /**\n * Set the column <th> element width\n */\n @Prop() width: string;\n @Prop() customCells: boolean = false;\n @Prop() hidden: boolean = false;\n @Event() wcsSortChange!: EventEmitter<WcsGridColumnSortChangeEventDetails>;\n @Event() wcsHiddenChange!: EventEmitter<boolean>;\n\n @Watch('hidden')\n parseMyObjectProp(newValue: boolean) {\n this.wcsHiddenChange.emit(newValue);\n }\n\n @Watch('sortOrder')\n sortOrderChange(_: WcsSortOrder) {\n this.emitSortConfig();\n }\n\n emitSortConfig() {\n if (!this.sort) return;\n this.wcsSortChange.emit({\n column: this.el,\n order: this.sortOrder,\n sortFn: this.sortFn\n });\n }\n\n render(): any {\n return (<Host onClick={this.onSortClick.bind(this)} slot=\"grid-column\">\n <th style={{width: this.width}} class={this.sort ? 'pointer' : ''}>\n <div class=\"grid-column-th-content\">\n <span>{this.name}</span>\n {\n this.sort ? <GridSortArrow state={this.sortOrder}/> : ''\n }\n </div>\n </th>\n </Host>)\n }\n\n private onSortClick() {\n // @Watch on sortOrder property will trigger wcsSortChange event\n this.sortOrder = this.sortOrder === 'none' || this.sortOrder === 'desc' ? 'asc' : 'desc';\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"wcs-grid-column.entry.cjs.js","mappings":";;;;;;AAOO,MAAM,aAAa,GAA4C,CAAC,EAAE,KAAK,EAAE,MAC5EA,iBAAK,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW;EAC7GA,mBAAO,IAAI,EAAC,UAAU,IAAE;;;;;;;;;;;;;;;;;;;SAmBvB,CAAS;EACVA,eAAG,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,iBAAiB;IAClCA,kBAAM,KAAK,EAAE,CAAC,KAAK,KAAK,KAAK,GAAG,QAAQ,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC,EAAC,gDAAgD,GAAG;IAChHA,kBAAM,CAAC,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,GAAG,CACtC;EACJA,eAAG,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,kBAAkB;IACnCA,kBAAM,KAAK,EAAE,CAAC,KAAK,KAAK,MAAM,GAAG,QAAQ,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC,EAAC,gDAAgD,GAAG;IACjHA,kBAAM,CAAC,EAAC,eAAe,EAAC,IAAI,EAAC,MAAM,GAAG,CACtC,CACF,CACT;;ACtCD,MAAM,aAAa,GAAG,gqBAAgqB;;MCSzqB,UAAU;;;;;;;gBAIK,KAAK;;;qBAGoB,MAAM;;uBAKxB,KAAK;kBACV,KAAK;;EAK/B,iBAAiB,CAAC,QAAiB;IAC/B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;GACvC;EAGD,eAAe,CAAC,CAAe;IAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;GACzB;EAED,cAAc;IACV,IAAI,CAAC,IAAI,CAAC,IAAI;MAAE,OAAO;IACvB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;MACpB,MAAM,EAAE,IAAI,CAAC,EAAE;MACf,KAAK,EAAE,IAAI,CAAC,SAAS;MACrB,MAAM,EAAE,IAAI,CAAC,MAAM;KACtB,CAAC,CAAC;GACN;EAED,MAAM;IACF,QAAQA,QAACC,UAAI,IAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAC,aAAa,IAClED,gBAAI,KAAK,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,GAAG,SAAS,GAAG,EAAE,IAC7DA,iBAAK,KAAK,EAAC,wBAAwB,IAC/BA,sBAAO,IAAI,CAAC,IAAI,CAAQ,EAEpB,IAAI,CAAC,IAAI,GAAGA,QAAC,aAAa,IAAC,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,CAE1D,CACL,CACF,EAAC;GACX;EAEO,WAAW;;IAEf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;GAC5F;;;;;;;;;;;","names":["h","Host"],"sources":["./src/components/grid-column/grid-sort-arrow.tsx","./src/components/grid-column/grid-column.scss?tag=wcs-grid-column&encapsulation=shadow","./src/components/grid-column/grid-column.tsx"],"sourcesContent":["import { FunctionalComponent, h } from '@stencil/core';\nimport { WcsSortOrder } from '../grid/grid-interface';\n\ninterface GridSortArrowProps {\n state: WcsSortOrder;\n}\n\nexport const GridSortArrow: FunctionalComponent<GridSortArrowProps> = ({ state }) => (\n <svg style={{ marginLeft: 'auto' }} xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"20\" viewBox=\"0 0 24 20\">\n <style type=\"text/css\">{`\n .arrow-group {\n transform-origin: 50% 51%;\n transition: transform 175ms ease-in-out;\n }\n .arrow{\n transition: fill 175ms ease-in-out;\n fill: var(--wcs-text-light);\n }\n .asc {\n transform: scaleY(1) translateY(-6px);\n }\n .desc {\n transform: scaleY(-1) translateY(-6px);\n }\n .active {\n fill: var(--wcs-primary);\n }\n\n `}</style>\n <g fill=\"none\" class='asc arrow-group'>\n <path class={(state === 'asc' ? 'active' : '') + ' arrow'} d=\"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z\" />\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n </g>\n <g fill=\"none\" class='desc arrow-group'>\n <path class={(state === 'desc' ? 'active' : '') + ' arrow'} d=\"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z\" />\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n </g>\n </svg>\n);\n",":host {\n --wcs-grid-column-border-left: solid 1px var(--wcs-text-light);\n\n display: contents;\n\n th {\n color: var(--wcs-gray-dark);\n background-color: var(--wcs-light);\n border-left: var(--wcs-grid-column-border-left);\n padding: calc(var(--wcs-padding) / 2) var(--wcs-padding);\n text-align: left;\n\n .grid-column-th-content {\n display: inline-flex;\n flex-direction: row;\n\n span {\n user-select: none;\n }\n }\n }\n\n .pointer {\n cursor: pointer;\n }\n}\n\n:host([sort-order=\"asc\"]) {\n img {\n transform: scaleY(1);\n }\n}\n\n:host([sort-order=\"desc\"]) {\n img {\n transform: scaleY(-1);\n }\n}\n\n:host([sort-order=\"none\"]) {\n img {\n display: none;\n }\n\n th:hover {\n img {\n display: inline-block;\n }\n }\n}\n\n:host([hidden]) {\n display: none !important;\n}\n","import { Component, ComponentInterface, Element, Event, EventEmitter, h, Host, Prop, Watch } from '@stencil/core';\nimport { WcsCellFormatter, WcsGridColumnSortChangeEventDetails, WcsSortFn, WcsSortOrder } from '../grid/grid-interface';\nimport { GridSortArrow } from './grid-sort-arrow';\n\n@Component({\n tag: 'wcs-grid-column',\n styleUrl: 'grid-column.scss',\n shadow: true\n})\nexport class GridColumn implements ComponentInterface {\n @Element() private el: HTMLWcsGridColumnElement;\n @Prop() path: string;\n @Prop() name: string;\n @Prop() sort: boolean = false;\n @Prop() sortFn: WcsSortFn;\n @Prop() formatter: WcsCellFormatter;\n @Prop({mutable: true}) sortOrder: WcsSortOrder = 'none';\n /**\n * Set the column <th> element width\n */\n @Prop() width: string;\n @Prop() customCells: boolean = false;\n @Prop() hidden: boolean = false;\n @Event() wcsSortChange!: EventEmitter<WcsGridColumnSortChangeEventDetails>;\n @Event() wcsHiddenChange!: EventEmitter<boolean>;\n\n @Watch('hidden')\n parseMyObjectProp(newValue: boolean) {\n this.wcsHiddenChange.emit(newValue);\n }\n\n @Watch('sortOrder')\n sortOrderChange(_: WcsSortOrder) {\n this.emitSortConfig();\n }\n\n emitSortConfig() {\n if (!this.sort) return;\n this.wcsSortChange.emit({\n column: this.el,\n order: this.sortOrder,\n sortFn: this.sortFn\n });\n }\n\n render(): any {\n return (<Host onClick={this.onSortClick.bind(this)} slot=\"grid-column\">\n <th style={{width: this.width}} class={this.sort ? 'pointer' : ''}>\n <div class=\"grid-column-th-content\">\n <span>{this.name}</span>\n {\n this.sort ? <GridSortArrow state={this.sortOrder}/> : ''\n }\n </div>\n </th>\n </Host>)\n }\n\n private onSortClick() {\n // @Watch on sortOrder property will trigger wcsSortChange event\n this.sortOrder = this.sortOrder === 'none' || this.sortOrder === 'desc' ? 'asc' : 'desc';\n }\n}\n"],"version":3}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
const index = require('./index-ca67a6dc.js');
|
|
6
6
|
const lodash = require('./lodash-776d6f03.js');
|
|
7
|
-
const gridPagination = require('./grid-pagination-
|
|
7
|
+
const gridPagination = require('./grid-pagination-4b55c908.js');
|
|
8
8
|
|
|
9
9
|
function getSortOrderInteger(sortOrder) {
|
|
10
10
|
switch (sortOrder) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"wcs-grid.entry.cjs.js","mappings":"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","names":["forceUpdate","_","uuid","GridPagination","h","Host"],"sources":["./src/components/grid/grid-interface.ts","./node_modules/uuid/dist/esm-browser/rng.js","./node_modules/uuid/dist/esm-browser/regex.js","./node_modules/uuid/dist/esm-browser/validate.js","./node_modules/uuid/dist/esm-browser/stringify.js","./node_modules/uuid/dist/esm-browser/v4.js","./src/components/grid/grid.scss?tag=wcs-grid&encapsulation=shadow","./src/components/grid/grid.tsx"],"sourcesContent":["import { VNode } from '@stencil/core';\n\nexport type WcsGridSelectionConfig = 'none' | 'single' | 'multiple';\n\nexport type WcsSortFn = (a: any, b: any, column: HTMLWcsGridColumnElement) => -1 | 0 | 1;\n\nexport type WcsCellFormatter = (_h: HyperFunc<VNode>, column: HTMLWcsGridColumnElement, rowData: WcsGridRowData) => HTMLElement | HTMLElement[];\n\nexport interface WcsGridColumnSortChangeEventDetails {\n sortFn: WcsSortFn;\n order: WcsSortOrder;\n column: HTMLWcsGridColumnElement;\n}\n\nexport interface WcsGridRowSelectedEventDetails {\n row: WcsGridRowData;\n}\n\nexport interface WcsGridAllRowSelectedEventDetails {\n rows: WcsGridRowData[];\n}\n\nexport type WcsGridPaginationConfig = {\n currentPage: number;\n pageSize: number;\n itemsCount: number;\n pageCount: number;\n};\n\nexport interface WcsGridPaginationChangeEventDetails {\n pagination: WcsGridPaginationConfig;\n}\n\nexport type WcsSortOrder = 'asc' | 'desc' | 'none';\n\nexport function getSortOrderInteger(sortOrder: WcsSortOrder) {\n switch (sortOrder) {\n case 'asc':\n return 1;\n case 'desc':\n return -1;\n case 'none':\n break;\n }\n}\n\nexport interface WcsGridRow {\n uuid: string;\n page?: number;\n selected?: boolean;\n data?: any;\n cells?: WcsGridCell[];\n}\n\nexport interface WcsGridCell {\n content: string | void;\n column: HTMLWcsGridColumnElement;\n formatter: (_h: HyperFunc<VNode>, column: HTMLWcsGridColumnElement, rowData: WcsGridRowData) => HTMLElement | HTMLElement[];\n}\n\nexport interface WcsGridRowData {\n page: number;\n selected: boolean;\n data: any;\n}\n\nexport interface HyperFunc<T> {\n (tag: any): T;\n}\n\nexport interface HyperFunc<T> {\n (tag: any, data: any): T;\n}\n\nexport interface HyperFunc<T> {\n (tag: any, text: string): T;\n}\n\nexport interface HyperFunc<T> {\n (sel: any, children: (T | undefined | null)[]): T;\n}\n\nexport interface HyperFunc<T> {\n (sel: any, data: any, text: string): T;\n}\n\nexport interface HyperFunc<T> {\n (sel: any, data: any, children: (T | undefined | null)[]): T;\n}\n\nexport interface HyperFunc<T> {\n (sel: any, data: any, children: T): T;\n}\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;",":host {\n display: block;\n --wcs-grid-highlight-color: var(--wcs-light);\n\n th {\n background-color: var(--wcs-light);\n }\n\n th:not(:first-child) {\n border-left: solid 1px var(--wcs-text-light);\n }\n\n // Remove the border for the first column\n ::slotted([slot=grid-column]:first-child) {\n --wcs-grid-column-border-left: none;\n }\n\n table {\n width: 100%;\n border-spacing: 0;\n }\n\n td {\n color: var(--wcs-gray-light);\n margin: 0;\n padding: calc(var(--wcs-padding) / 2) var(--wcs-padding);\n }\n\n tr:not(:last-child) td {\n border-bottom: solid 1px var(--wcs-text-light);\n }\n\n .wcs-grid-selection-column {\n padding: calc(var(--wcs-padding) / 2) var(--wcs-padding);\n width: 40px;\n }\n\n tr.selected {\n background-color: var(--wcs-grid-highlight-color);\n }\n\n .loading {\n text-align: center;\n }\n}\n\n// If the grid displays a selection column, we set the border on the\n// first data column (which has been disabled in :host)\n:host([selection]) {\n ::slotted([slot=grid-column]:first-child) {\n --wcs-grid-column-border-left: solid 1px var(--wcs-text-light) !important;\n }\n}\n","import {\n Component,\n ComponentDidLoad,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n forceUpdate,\n h,\n Host,\n Listen,\n Prop,\n State,\n VNode,\n Watch\n} from '@stencil/core';\nimport {\n getSortOrderInteger,\n HyperFunc,\n WcsGridAllRowSelectedEventDetails,\n WcsGridCell,\n WcsGridColumnSortChangeEventDetails,\n WcsGridPaginationChangeEventDetails,\n WcsGridRow,\n WcsGridRowData,\n WcsGridRowSelectedEventDetails,\n WcsGridSelectionConfig\n} from './grid-interface';\nimport _ from 'lodash';\nimport { v4 as uuid } from 'uuid';\nimport { GridPagination } from '../grid-pagination/grid-pagination';\n\n@Component({\n tag: 'wcs-grid',\n styleUrl: 'grid.scss',\n shadow: true\n})\nexport class Grid implements ComponentInterface, ComponentDidLoad {\n @Element() el!: HTMLWcsGridElement;\n /**\n * True to manage sort and pagination with a backend server, default: false\n */\n @Prop() serverMode: boolean;\n @Prop() data: any[];\n /**\n * Flag to display spinner during data loading\n */\n @Prop() loading: boolean;\n /**\n * Used to manage grid's row selection\n */\n @Prop() selectionConfig: WcsGridSelectionConfig = 'none';\n /**\n * Set the selected items\n */\n @Prop() selectedItems: any | any[] = [];\n @Prop() wcsGridPaginationId: string;\n /**\n * Name of the object's key that will be used to display the cells whose keyValue attribute matches to the\n * object's value for this key.\n */\n @Prop() rowIdPath: string;\n @State() columns: HTMLWcsGridColumnElement[];\n @State() paginationEl: HTMLWcsGridPaginationElement;\n /**\n * Rows to display, contains user data and meta data\n */\n @State() rows: WcsGridRow[] = [];\n /**\n * Event emitted when a row is selected or unselected\n */\n @Event() wcsGridSelectionChange!: EventEmitter<WcsGridRowSelectedEventDetails>;\n /**\n * Event emitted when all rows are selected or unselected\n */\n @Event() wcsGridAllSelectionChange!: EventEmitter<WcsGridAllRowSelectedEventDetails>;\n\n @Watch('data')\n onDataChange(newValue: any[]): void {\n this.updateGridRows(newValue);\n this.refreshSort(false);\n }\n\n @Watch('selectedItems')\n onSelectedItemsPropertyChange(newValue: any | any[]) {\n this.updateSelectionWithValues(newValue);\n }\n\n @Listen('wcsHiddenChange')\n onHiddenColumnChange(): void {\n // We use forceUpdate because the fact of hiding a column or not does not modify the internal structure of the grid (WcsGridRow).\n // Hide a column only impacts the way it is rendered but the grid-column remains in the dom and in our internal model.\n forceUpdate(this);\n }\n\n private updateSelectionWithValues(values: any | any[]) {\n if (this.selectionConfig === 'single') {\n this.rows.map(r => r.selected = false);\n for (const row of this.rows) {\n if (_.isEqual(row.data, values)) {\n row.selected = true;\n break; // only one line can be selected\n }\n }\n } else if (this.selectionConfig === 'multiple') {\n this.rows.map(r => r.selected = false);\n for (const row of this.rows) {\n if (values.find(x => _.isEqual(x, row.data))) {\n row.selected = true;\n }\n }\n }\n this.rows = _.cloneDeep(this.rows);\n }\n\n private wcsGridRowToWcsGridRowData(row: WcsGridRow): WcsGridRowData {\n return {selected: row.selected, page: row.page, data: row.data};\n }\n\n private updateGridRows(data: any[]): void {\n const rows: WcsGridRow[] = [];\n if (data && this.columns) {\n for (let i = 0; i < data.length; i++) {\n const row: WcsGridRow = {\n uuid: uuid(),\n data: data[i],\n selected: false,\n cells: []\n };\n for (const column of this.columns) {\n row.cells.push({\n content: _.get(data[i], column.path),\n column,\n formatter: column.formatter\n })\n }\n rows.push(row);\n }\n this.rows = rows;\n this.updatePageIndex();\n }\n }\n\n componentDidLoad(): void {\n this.columns = this.getGridColumnsFromTemplate();\n this.paginationEl = this.wcsGridPaginationId\n ? document.getElementById(this.wcsGridPaginationId) as HTMLWcsGridPaginationElement\n : this.getGridPaginationsFromTemplate()[0];\n this.updateGridRows(this.data);\n if (this.selectedItems) {\n this.updateSelectionWithValues(this.selectedItems);\n }\n this.refreshSort(true);\n }\n\n /**\n * Handle existing column's filters (defined before the grid is instantiated)\n * @private\n */\n private refreshSort(refreshOthersColmumnsSortOrderState: boolean) {\n //fixme: why the column property can be null or undefined?\n if (this.columns) {\n const [first, ...other] = this.columns.filter(c => c.sortOrder !== 'none');\n if (first && !this.serverMode) {\n this.sortBy(first);\n }\n refreshOthersColmumnsSortOrderState && this.disableSortOrderForColumns(other);\n }\n }\n\n private disableSortOrderForColumns(columns: HTMLWcsGridColumnElement[] | null | undefined): void {\n columns?.forEach(c => c.sortOrder = 'none');\n }\n\n private getGridColumnsFromTemplate(): HTMLWcsGridColumnElement[] {\n const slotted = this.el.shadowRoot.querySelector('slot[name=\"grid-column\"]') as HTMLSlotElement;\n return slotted.assignedElements() as any as HTMLWcsGridColumnElement[];\n }\n\n private getGridPaginationsFromTemplate(): HTMLWcsGridPaginationElement[] {\n const slotted = this.el.shadowRoot.querySelector('slot[name=\"grid-pagination\"]') as HTMLSlotElement;\n return slotted.assignedElements() as any as HTMLWcsGridPaginationElement[];\n }\n\n @Listen('wcsSortChange')\n sortChangeEventHandler(event: CustomEvent<WcsGridColumnSortChangeEventDetails>): void {\n if (event.detail.order === 'none') return;\n // We keep only one active sort column\n this.disableSortOrderForColumns(this.columns.filter(c => c !== event.detail.column));\n if (this.serverMode) return;\n this.sortBy(event.detail.column);\n this.updatePageIndex();\n }\n\n /**\n * Sorts the grid rows according to the given column's configuration\n * @param colmun Column from which to extract the sorting configuration\n * @private\n */\n private sortBy(colmun: HTMLWcsGridColumnElement) {\n if (colmun.sortFn) {\n this.rows = _.cloneDeep(this.rows)\n .sort((a: any, b: any) => colmun.sortFn(a.data, b.data, colmun) * getSortOrderInteger(colmun.sortOrder));\n } else {\n this.rows = _.cloneDeep(this.rows)\n .sort((a: any, b: any) => {\n const path = colmun.path;\n return ((_.get(a.data, path) < _.get(b.data, path)) ? -1 : (_.get(a.data, path) > _.get(b.data, path)) ? 1 : 0) * getSortOrderInteger(colmun.sortOrder);\n });\n }\n }\n\n /**\n * Update the page's number of all rows\n */\n private updatePageIndex(): void {\n if (!this.serverMode && this.paginationEl) {\n this.paginationEl.itemsCount = this.data.length;\n this.paginationEl.pageCount = Math.ceil(this.data.length / this.paginationEl.pageSize);\n\n if (this.paginationEl.pageCount <= 1) {\n this.paginationEl.currentPage = GridPagination.INDEX_FIRST_PAGE;\n } else if (this.paginationEl.pageCount > 0 && this.paginationEl.currentPage + 1 > this.paginationEl.pageCount) {\n this.paginationEl.currentPage = this.paginationEl.pageCount - 1;\n }\n\n const rows = _.cloneDeep(this.rows);\n rows.forEach((row: WcsGridRow, index: number) =>\n row.page = Math.floor(index / this.paginationEl.pageSize)\n );\n this.rows = [...rows];\n }\n }\n\n @Listen('wcsGridPaginationChange')\n paginationChangeEventHandler(): void {\n this.onPaginationChange();\n }\n\n @Listen('wcsGridPaginationChange', {target: 'window'})\n paginationChangeEventHandlerOutside(event: CustomEvent<WcsGridPaginationChangeEventDetails>): void {\n if (this.wcsGridPaginationId && this.wcsGridPaginationId === (event.target as HTMLElement).id) {\n this.onPaginationChange();\n }\n }\n\n private onPaginationChange(): void {\n if (this.serverMode) return;\n this.updatePageIndex();\n }\n\n private onRowSelection(row: WcsGridRow): void {\n if (this.selectionConfig === 'single') {\n this.rows.filter(r => r.uuid !== row.uuid).map(r => r.selected = false);\n }\n row.selected = !row.selected;\n if (this.selectionConfig !== 'single' || row.selected) {\n this.wcsGridSelectionChange.emit({row: this.wcsGridRowToWcsGridRowData(row)});\n }\n this.rows = _.cloneDeep(this.rows);\n }\n\n private selectAllRows(): void {\n const rows = this.getRowsForCurrentPage();\n const selected = !this.allRowsAreSelected();\n rows.map(r => r.selected = selected);\n this.wcsGridAllSelectionChange.emit({rows: selected ? rows.map(row => this.wcsGridRowToWcsGridRowData(row)) : []});\n this.rows = _.cloneDeep(this.rows);\n }\n\n private allRowsAreSelected(): boolean {\n const rows = this.getRowsForCurrentPage();\n return rows.length > 0 && rows.filter(row => row.selected).length === rows.length;\n }\n\n private getRowsForCurrentPage(): WcsGridRow[] {\n if (this.paginationEl) {\n return this.rows.filter(row => row.page === this.paginationEl.currentPage);\n }\n return this.rows;\n }\n\n renderSelectionColumn(row: WcsGridRow): any {\n switch (this.selectionConfig) {\n case 'none':\n return;\n case 'single':\n return <td>\n <wcs-radio checked={row.selected} onClick={this.onRowSelection.bind(this, row)}/>\n </td>;\n case 'multiple':\n return <td>\n <wcs-checkbox checked={row.selected} onWcsChange={this.onRowSelection.bind(this, row)}/>\n </td>;\n }\n }\n\n private getCellContent(row: WcsGridRow, cell: WcsGridCell): HTMLElement | HTMLElement[] | string | void {\n if (cell.formatter) {\n return cell.formatter(\n (h as unknown) as HyperFunc<VNode>,\n cell.column,\n this.wcsGridRowToWcsGridRowData(row)\n );\n }\n return cell.content;\n }\n\n private totalColumnCount() {\n if (!this.columns) {\n return 0;\n }\n return this.columns.length + (this.selectionConfig === 'none' ? 0 : 1);\n }\n\n render(): any {\n return (\n <Host>\n {\n <table>\n <thead>\n {\n this.selectionConfig === 'none' ? ''\n : <th class=\"wcs-grid-selection-column\">\n {\n this.selectionConfig === 'single' ? '' :\n <wcs-checkbox checked={this.allRowsAreSelected()}\n onWcsChange={this.selectAllRows.bind(this)}/>\n }\n </th>\n }\n <slot name=\"grid-column\"></slot>\n </thead>\n <tbody>\n {\n this.loading\n ? <tr>\n <td colSpan={this.totalColumnCount()} class=\"loading\">\n <wcs-spinner></wcs-spinner>\n </td>\n </tr>\n : this.rows\n ?.filter(row => this.serverMode || !this.paginationEl || row.page === this.paginationEl.currentPage)\n .map(row =>\n this.renderRow(row)\n )\n }\n </tbody>\n </table>\n }\n <slot name=\"grid-pagination\"></slot>\n </Host>\n );\n }\n\n private renderRow(row: WcsGridRow) {\n return <tr class={row.selected ? 'selected' : ''}>\n {this.renderSelectionColumn(row)}\n {row.cells?.map(cell => {\n if (cell.column.hidden) {\n return;\n }\n return cell.column.customCells\n ? (<td>\n <slot name={cell.column.id + '-' + row.data[this.rowIdPath]}/>\n </td>)\n : (<td part={cell.column.path + '-column'}>{this.getCellContent(row, cell)}</td>)\n }\n )}\n </tr>;\n }\n}\n\n/**\n * Pour resize le tableau\n * https://www.brainbell.com/javascript/making-resizable-table-js.htmls\n *\n */\n"],"version":3}
|
|
1
|
+
{"file":"wcs-grid.entry.cjs.js","mappings":"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","names":["forceUpdate","_","uuid","GridPagination","h","Host"],"sources":["./src/components/grid/grid-interface.ts","./node_modules/uuid/dist/esm-browser/rng.js","./node_modules/uuid/dist/esm-browser/regex.js","./node_modules/uuid/dist/esm-browser/validate.js","./node_modules/uuid/dist/esm-browser/stringify.js","./node_modules/uuid/dist/esm-browser/v4.js","./src/components/grid/grid.scss?tag=wcs-grid&encapsulation=shadow","./src/components/grid/grid.tsx"],"sourcesContent":["import { VNode } from '@stencil/core';\n\nexport type WcsGridSelectionConfig = 'none' | 'single' | 'multiple';\n\nexport type WcsSortFn = (a: any, b: any, column: HTMLWcsGridColumnElement) => -1 | 0 | 1;\n\nexport type WcsCellFormatter = (_h: HyperFunc<VNode>, column: HTMLWcsGridColumnElement, rowData: WcsGridRowData) => HTMLElement | HTMLElement[];\n\nexport interface WcsGridColumnSortChangeEventDetails {\n sortFn: WcsSortFn;\n order: WcsSortOrder;\n column: HTMLWcsGridColumnElement;\n}\n\nexport interface WcsGridRowSelectedEventDetails {\n row: WcsGridRowData;\n}\n\nexport interface WcsGridAllRowSelectedEventDetails {\n rows: WcsGridRowData[];\n}\n\nexport type WcsGridPaginationConfig = {\n currentPage: number;\n pageSize: number;\n itemsCount: number;\n pageCount: number;\n};\n\nexport interface WcsGridPaginationChangeEventDetails {\n pagination: WcsGridPaginationConfig;\n}\n\nexport type WcsSortOrder = 'asc' | 'desc' | 'none';\n\nexport function getSortOrderInteger(sortOrder: WcsSortOrder) {\n switch (sortOrder) {\n case 'asc':\n return 1;\n case 'desc':\n return -1;\n case 'none':\n break;\n }\n}\n\nexport interface WcsGridRow {\n uuid: string;\n page?: number;\n selected?: boolean;\n data?: any;\n cells?: WcsGridCell[];\n}\n\nexport interface WcsGridCell {\n content: string | void;\n column: HTMLWcsGridColumnElement;\n formatter: (_h: HyperFunc<VNode>, column: HTMLWcsGridColumnElement, rowData: WcsGridRowData) => HTMLElement | HTMLElement[];\n}\n\nexport interface WcsGridRowData {\n page: number;\n selected: boolean;\n data: any;\n}\n\nexport interface HyperFunc<T> {\n (tag: any): T;\n}\n\nexport interface HyperFunc<T> {\n (tag: any, data: any): T;\n}\n\nexport interface HyperFunc<T> {\n (tag: any, text: string): T;\n}\n\nexport interface HyperFunc<T> {\n (sel: any, children: (T | undefined | null)[]): T;\n}\n\nexport interface HyperFunc<T> {\n (sel: any, data: any, text: string): T;\n}\n\nexport interface HyperFunc<T> {\n (sel: any, data: any, children: (T | undefined | null)[]): T;\n}\n\nexport interface HyperFunc<T> {\n (sel: any, data: any, children: T): T;\n}\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;",":host {\n display: block;\n --wcs-grid-highlight-color: var(--wcs-light);\n\n th {\n background-color: var(--wcs-light);\n }\n\n th:not(:first-child) {\n border-left: solid 1px var(--wcs-text-light);\n }\n\n // Remove the border for the first column\n ::slotted([slot=grid-column]:first-child) {\n --wcs-grid-column-border-left: none;\n }\n\n table {\n width: 100%;\n border-spacing: 0;\n }\n\n td {\n color: var(--wcs-gray-light);\n margin: 0;\n padding: calc(var(--wcs-padding) / 2) var(--wcs-padding);\n }\n\n tr:not(:last-child) td {\n border-bottom: solid 1px var(--wcs-text-light);\n }\n\n .wcs-grid-selection-column {\n padding: calc(var(--wcs-padding) / 2) var(--wcs-padding);\n width: 40px;\n }\n\n tr.selected {\n background-color: var(--wcs-grid-highlight-color);\n }\n\n .loading {\n text-align: center;\n }\n}\n\n// If the grid displays a selection column, we set the border on the\n// first data column (which has been disabled in :host)\n:host([selection]) {\n ::slotted([slot=grid-column]:first-child) {\n --wcs-grid-column-border-left: solid 1px var(--wcs-text-light) !important;\n }\n}\n","import {\n Component,\n ComponentDidLoad,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n forceUpdate,\n h,\n Host,\n Listen,\n Prop,\n State,\n VNode,\n Watch\n} from '@stencil/core';\nimport {\n getSortOrderInteger,\n HyperFunc,\n WcsGridAllRowSelectedEventDetails,\n WcsGridCell,\n WcsGridColumnSortChangeEventDetails,\n WcsGridPaginationChangeEventDetails,\n WcsGridRow,\n WcsGridRowData,\n WcsGridRowSelectedEventDetails,\n WcsGridSelectionConfig\n} from './grid-interface';\nimport _ from 'lodash';\nimport { v4 as uuid } from 'uuid';\nimport { GridPagination } from '../grid-pagination/grid-pagination';\n\n@Component({\n tag: 'wcs-grid',\n styleUrl: 'grid.scss',\n shadow: true\n})\nexport class Grid implements ComponentInterface, ComponentDidLoad {\n @Element() private el!: HTMLWcsGridElement;\n /**\n * True to manage sort and pagination with a backend server, default: false\n */\n @Prop() serverMode: boolean;\n @Prop() data: any[];\n /**\n * Flag to display spinner during data loading\n */\n @Prop() loading: boolean;\n /**\n * Used to manage grid's row selection\n */\n @Prop() selectionConfig: WcsGridSelectionConfig = 'none';\n /**\n * Set the selected items\n */\n @Prop() selectedItems: any | any[] = [];\n @Prop() wcsGridPaginationId: string;\n /**\n * Name of the object's key that will be used to display the cells whose keyValue attribute matches to the\n * object's value for this key.\n */\n @Prop() rowIdPath: string;\n @State() private columns: HTMLWcsGridColumnElement[];\n @State() private paginationEl: HTMLWcsGridPaginationElement;\n /**\n * Rows to display, contains user data and meta data\n */\n @State() private rows: WcsGridRow[] = [];\n /**\n * Event emitted when a row is selected or unselected\n */\n @Event() wcsGridSelectionChange!: EventEmitter<WcsGridRowSelectedEventDetails>;\n /**\n * Event emitted when all rows are selected or unselected\n */\n @Event() wcsGridAllSelectionChange!: EventEmitter<WcsGridAllRowSelectedEventDetails>;\n\n @Watch('data')\n onDataChange(newValue: any[]): void {\n this.updateGridRows(newValue);\n this.refreshSort(false);\n }\n\n @Watch('selectedItems')\n onSelectedItemsPropertyChange(newValue: any | any[]) {\n this.updateSelectionWithValues(newValue);\n }\n\n @Listen('wcsHiddenChange')\n onHiddenColumnChange(): void {\n // We use forceUpdate because the fact of hiding a column or not does not modify the internal structure of the grid (WcsGridRow).\n // Hide a column only impacts the way it is rendered but the grid-column remains in the dom and in our internal model.\n forceUpdate(this);\n }\n\n private updateSelectionWithValues(values: any | any[]) {\n if (this.selectionConfig === 'single') {\n this.rows.map(r => r.selected = false);\n for (const row of this.rows) {\n if (_.isEqual(row.data, values)) {\n row.selected = true;\n break; // only one line can be selected\n }\n }\n } else if (this.selectionConfig === 'multiple') {\n this.rows.map(r => r.selected = false);\n for (const row of this.rows) {\n if (values.find(x => _.isEqual(x, row.data))) {\n row.selected = true;\n }\n }\n }\n this.rows = _.cloneDeep(this.rows);\n }\n\n private wcsGridRowToWcsGridRowData(row: WcsGridRow): WcsGridRowData {\n return {selected: row.selected, page: row.page, data: row.data};\n }\n\n private updateGridRows(data: any[]): void {\n const rows: WcsGridRow[] = [];\n if (data && this.columns) {\n for (let i = 0; i < data.length; i++) {\n const row: WcsGridRow = {\n uuid: uuid(),\n data: data[i],\n selected: false,\n cells: []\n };\n for (const column of this.columns) {\n row.cells.push({\n content: _.get(data[i], column.path),\n column,\n formatter: column.formatter\n })\n }\n rows.push(row);\n }\n this.rows = rows;\n this.updatePageIndex();\n }\n }\n\n componentDidLoad(): void {\n this.columns = this.getGridColumnsFromTemplate();\n this.paginationEl = this.wcsGridPaginationId\n ? document.getElementById(this.wcsGridPaginationId) as HTMLWcsGridPaginationElement\n : this.getGridPaginationsFromTemplate()[0];\n this.updateGridRows(this.data);\n if (this.selectedItems) {\n this.updateSelectionWithValues(this.selectedItems);\n }\n this.refreshSort(true);\n }\n\n /**\n * Handle existing column's filters (defined before the grid is instantiated)\n * @private\n */\n private refreshSort(refreshOthersColmumnsSortOrderState: boolean) {\n //fixme: why the column property can be null or undefined?\n if (this.columns) {\n const [first, ...other] = this.columns.filter(c => c.sortOrder !== 'none');\n if (first && !this.serverMode) {\n this.sortBy(first);\n }\n refreshOthersColmumnsSortOrderState && this.disableSortOrderForColumns(other);\n }\n }\n\n private disableSortOrderForColumns(columns: HTMLWcsGridColumnElement[] | null | undefined): void {\n columns?.forEach(c => c.sortOrder = 'none');\n }\n\n private getGridColumnsFromTemplate(): HTMLWcsGridColumnElement[] {\n const slotted = this.el.shadowRoot.querySelector('slot[name=\"grid-column\"]') as HTMLSlotElement;\n return slotted.assignedElements() as any as HTMLWcsGridColumnElement[];\n }\n\n private getGridPaginationsFromTemplate(): HTMLWcsGridPaginationElement[] {\n const slotted = this.el.shadowRoot.querySelector('slot[name=\"grid-pagination\"]') as HTMLSlotElement;\n return slotted.assignedElements() as any as HTMLWcsGridPaginationElement[];\n }\n\n @Listen('wcsSortChange')\n sortChangeEventHandler(event: CustomEvent<WcsGridColumnSortChangeEventDetails>): void {\n if (event.detail.order === 'none') return;\n // We keep only one active sort column\n this.disableSortOrderForColumns(this.columns.filter(c => c !== event.detail.column));\n if (this.serverMode) return;\n this.sortBy(event.detail.column);\n this.updatePageIndex();\n }\n\n /**\n * Sorts the grid rows according to the given column's configuration\n * @param colmun Column from which to extract the sorting configuration\n * @private\n */\n private sortBy(colmun: HTMLWcsGridColumnElement) {\n if (colmun.sortFn) {\n this.rows = _.cloneDeep(this.rows)\n .sort((a: any, b: any) => colmun.sortFn(a.data, b.data, colmun) * getSortOrderInteger(colmun.sortOrder));\n } else {\n this.rows = _.cloneDeep(this.rows)\n .sort((a: any, b: any) => {\n const path = colmun.path;\n return ((_.get(a.data, path) < _.get(b.data, path)) ? -1 : (_.get(a.data, path) > _.get(b.data, path)) ? 1 : 0) * getSortOrderInteger(colmun.sortOrder);\n });\n }\n }\n\n /**\n * Update the page's number of all rows\n */\n private updatePageIndex(): void {\n if (!this.serverMode && this.paginationEl) {\n this.paginationEl.itemsCount = this.data.length;\n this.paginationEl.pageCount = Math.ceil(this.data.length / this.paginationEl.pageSize);\n\n if (this.paginationEl.pageCount <= 1) {\n this.paginationEl.currentPage = GridPagination.INDEX_FIRST_PAGE;\n } else if (this.paginationEl.pageCount > 0 && this.paginationEl.currentPage + 1 > this.paginationEl.pageCount) {\n this.paginationEl.currentPage = this.paginationEl.pageCount - 1;\n }\n\n const rows = _.cloneDeep(this.rows);\n rows.forEach((row: WcsGridRow, index: number) =>\n row.page = Math.floor(index / this.paginationEl.pageSize)\n );\n this.rows = [...rows];\n }\n }\n\n @Listen('wcsGridPaginationChange')\n paginationChangeEventHandler(): void {\n this.onPaginationChange();\n }\n\n @Listen('wcsGridPaginationChange', {target: 'window'})\n paginationChangeEventHandlerOutside(event: CustomEvent<WcsGridPaginationChangeEventDetails>): void {\n if (this.wcsGridPaginationId && this.wcsGridPaginationId === (event.target as HTMLElement).id) {\n this.onPaginationChange();\n }\n }\n\n private onPaginationChange(): void {\n if (this.serverMode) return;\n this.updatePageIndex();\n }\n\n private onRowSelection(row: WcsGridRow): void {\n if (this.selectionConfig === 'single') {\n this.rows.filter(r => r.uuid !== row.uuid).map(r => r.selected = false);\n }\n row.selected = !row.selected;\n if (this.selectionConfig !== 'single' || row.selected) {\n this.wcsGridSelectionChange.emit({row: this.wcsGridRowToWcsGridRowData(row)});\n }\n this.rows = _.cloneDeep(this.rows);\n }\n\n private selectAllRows(): void {\n const rows = this.getRowsForCurrentPage();\n const selected = !this.allRowsAreSelected();\n rows.map(r => r.selected = selected);\n this.wcsGridAllSelectionChange.emit({rows: selected ? rows.map(row => this.wcsGridRowToWcsGridRowData(row)) : []});\n this.rows = _.cloneDeep(this.rows);\n }\n\n private allRowsAreSelected(): boolean {\n const rows = this.getRowsForCurrentPage();\n return rows.length > 0 && rows.filter(row => row.selected).length === rows.length;\n }\n\n private getRowsForCurrentPage(): WcsGridRow[] {\n if (this.paginationEl) {\n return this.rows.filter(row => row.page === this.paginationEl.currentPage);\n }\n return this.rows;\n }\n\n renderSelectionColumn(row: WcsGridRow): any {\n switch (this.selectionConfig) {\n case 'none':\n return;\n case 'single':\n return <td>\n <wcs-radio checked={row.selected} onClick={this.onRowSelection.bind(this, row)}/>\n </td>;\n case 'multiple':\n return <td>\n <wcs-checkbox checked={row.selected} onWcsChange={this.onRowSelection.bind(this, row)}/>\n </td>;\n }\n }\n\n private getCellContent(row: WcsGridRow, cell: WcsGridCell): HTMLElement | HTMLElement[] | string | void {\n if (cell.formatter) {\n return cell.formatter(\n (h as unknown) as HyperFunc<VNode>,\n cell.column,\n this.wcsGridRowToWcsGridRowData(row)\n );\n }\n return cell.content;\n }\n\n private totalColumnCount() {\n if (!this.columns) {\n return 0;\n }\n return this.columns.length + (this.selectionConfig === 'none' ? 0 : 1);\n }\n\n render(): any {\n return (\n <Host>\n {\n <table>\n <thead>\n {\n this.selectionConfig === 'none' ? ''\n : <th class=\"wcs-grid-selection-column\">\n {\n this.selectionConfig === 'single' ? '' :\n <wcs-checkbox checked={this.allRowsAreSelected()}\n onWcsChange={this.selectAllRows.bind(this)}/>\n }\n </th>\n }\n <slot name=\"grid-column\"></slot>\n </thead>\n <tbody>\n {\n this.loading\n ? <tr>\n <td colSpan={this.totalColumnCount()} class=\"loading\">\n <wcs-spinner></wcs-spinner>\n </td>\n </tr>\n : this.rows\n ?.filter(row => this.serverMode || !this.paginationEl || row.page === this.paginationEl.currentPage)\n .map(row =>\n this.renderRow(row)\n )\n }\n </tbody>\n </table>\n }\n <slot name=\"grid-pagination\"></slot>\n </Host>\n );\n }\n\n private renderRow(row: WcsGridRow) {\n return <tr class={row.selected ? 'selected' : ''}>\n {this.renderSelectionColumn(row)}\n {row.cells?.map(cell => {\n if (cell.column.hidden) {\n return;\n }\n return cell.column.customCells\n ? (<td>\n <slot name={cell.column.id + '-' + row.data[this.rowIdPath]}/>\n </td>)\n : (<td part={cell.column.path + '-column'}>{this.getCellContent(row, cell)}</td>)\n }\n )}\n </tr>;\n }\n}\n\n/**\n * Pour resize le tableau\n * https://www.brainbell.com/javascript/making-resizable-table-js.htmls\n *\n */\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"wcs-header.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,SAAS,GAAG,uZAAuZ;;
|
|
1
|
+
{"file":"wcs-header.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,SAAS,GAAG,uZAAuZ;;MCa5Z,MAAM;;;;EACf,QAAQ;IACJ,OAAO;MACH,MAAM,EAAE,QAAQ;KACnB,CAAC;GACL;EAED;IACI,QACIA,wBACIA,kBAAM,IAAI,EAAC,MAAM,GAAE,EACnBA,kBAAM,IAAI,EAAC,OAAO,GAAE,EACpBA,kBAAM,IAAI,EAAC,SAAS,GAAE,CACjB,EACX;GACL;;;;;;;","names":["h"],"sources":["./src/components/header/header.scss?tag=wcs-header&encapsulation=shadow","./src/components/header/header.tsx"],"sourcesContent":["@import '../../style/elevation.scss';\n\nheader {\n @include wcs-elevation(4);\n display: flex;\n align-items: center;\n background: var(--wcs-gray);\n padding: 8px 8px 8px 16px;\n height: calc(64px - 16px);\n z-index: 1;\n}\n\n::slotted(img) {\n width: 70px;\n height: 36.8px;\n margin-right: 16px;\n}\n\n::slotted(h1) {\n color: var(--wcs-white);\n margin: 0;\n font-weight: 500;\n font-size: 1.5rem;\n}\n\n::slotted([slot=actions]) {\n margin-left: auto;\n}\n","import { Component, ComponentInterface, h } from '@stencil/core';\n\n\n/**\n * @slot logo SNCF Logo\n * @slot title Title of your application\n * @slot actions Actions such as buttons, dropdown or any useful information to always display on your application\n */\n@Component({\n tag: 'wcs-header',\n styleUrl: 'header.scss',\n shadow: true\n})\nexport class Header implements ComponentInterface {\n hostData() {\n return {\n 'slot': 'header'\n };\n }\n\n render() {\n return (\n <header>\n <slot name=\"logo\"/>\n <slot name=\"title\"/>\n <slot name=\"actions\"/>\n </header>\n );\n }\n}\n"],"version":3}
|
|
@@ -6,7 +6,7 @@ const index = require('./index-ca67a6dc.js');
|
|
|
6
6
|
|
|
7
7
|
const hintCss = ":host{margin-top:0.25rem}:host([small]){font-size:0.75rem;font-weight:400;color:var(--wcs-text-medium)}";
|
|
8
8
|
|
|
9
|
-
const
|
|
9
|
+
const Hint = class {
|
|
10
10
|
constructor(hostRef) {
|
|
11
11
|
index.registerInstance(this, hostRef);
|
|
12
12
|
this.small = false;
|
|
@@ -15,8 +15,8 @@ const Label = class {
|
|
|
15
15
|
return (index.h(index.Host, { slot: "messages" }, index.h("slot", null)));
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
|
-
|
|
18
|
+
Hint.style = hintCss;
|
|
19
19
|
|
|
20
|
-
exports.wcs_hint =
|
|
20
|
+
exports.wcs_hint = Hint;
|
|
21
21
|
|
|
22
22
|
//# sourceMappingURL=wcs-hint.cjs.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"wcs-hint.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,OAAO,GAAG,yGAAyG;;MCO5G,
|
|
1
|
+
{"file":"wcs-hint.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,OAAO,GAAG,yGAAyG;;MCO5G,IAAI;;;iBAKI,KAAK;;EAEtB,MAAM;IACF,QACIA,QAACC,UAAI,IAAC,IAAI,EAAC,UAAU,IACjBD,qBAAQ,CACL,EACT;GACL;;;;;;","names":["h","Host"],"sources":["./src/components/hint/hint.scss?tag=wcs-hint&encapsulation=shadow","./src/components/hint/hint.tsx"],"sourcesContent":[":host {\n margin-top: 0.25rem;\n}\n\n:host([small]) {\n font-size: 0.75rem;\n font-weight: 400;\n color: var(--wcs-text-medium)\n}","import { Component, ComponentInterface, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'wcs-hint',\n styleUrl: 'hint.scss',\n shadow: true,\n})\nexport class Hint implements ComponentInterface {\n /**\n * Whether the component should display the small version of the hint\n */\n @Prop({ reflect: true, mutable: true })\n small: boolean = false;\n\n render() {\n return (\n <Host slot=\"messages\">\n <slot />\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"wcs-horizontal-stepper.entry.cjs.js","mappings":"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","names":["h","Host","index"],"sources":["./src/components/horizontal-stepper/horizontal-step.tsx","./src/components/horizontal-stepper/horizontal-stepper.scss?tag=wcs-horizontal-stepper&encapsulation=shadow","./src/components/horizontal-stepper/horizontal-stepper.tsx"],"sourcesContent":["import { FunctionalComponent, h } from '@stencil/core';\nimport { HorizontalStepConfig, StepButton } from './horizontal-stepper-interface';\n\ninterface HorizontalStepProps {\n step: HorizontalStepConfig;\n checkOnComplete: boolean;\n complete: boolean;\n passed: boolean;\n active: boolean;\n first: boolean;\n disable: boolean;\n onClick: (step: HorizontalStepConfig) => void;\n}\n\nexport const HorizontalStep: FunctionalComponent<HorizontalStepProps> = (\n {\n step,\n checkOnComplete,\n complete,\n passed,\n active,\n first,\n disable,\n onClick\n }) => {\n return (\n <div class=\"graphic-step\" data-first={first}>\n {first ? null : (<wcs-progress-bar value={passed ? 100 : 0}></wcs-progress-bar>)}\n <wcs-button style={{'backgroundColor': 'white'}}\n shape=\"round\"\n onClick={_ => onClick(step)}\n mode={(active || complete) && !step.disable ? 'plain' : 'stroked'}\n disabled={disable}>{getButtonContent(step.button, checkOnComplete, complete, active)}</wcs-button>\n </div>\n );\n}\n\nconst getButtonContent = (stepButton: StepButton, checkOnComplete: boolean, complete: boolean, active: boolean) => {\n if (checkOnComplete && complete && !active) {\n return (<wcs-mat-icon size=\"m\" icon=\"done\" family=\"outlined\"></wcs-mat-icon>);\n }\n switch (stepButton.kind) {\n case 'Icon':\n return (<wcs-mat-icon size=\"m\" icon={stepButton.iconName}\n family={stepButton.family ? stepButton.family : 'outlined'}></wcs-mat-icon>);\n case 'Text':\n return (stepButton.text);\n }\n}\n\n",":host {\n display: block;\n\n .steps {\n display: flex;\n flex-direction: row;\n flex: 1;\n }\n\n .graphic-step {\n display: flex;\n flex-direction: row;\n flex: 1;\n align-items: center;\n }\n\n .graphic-step[data-first] {\n flex: 0;\n }\n\n wcs-progress-bar {\n --wcs-internal-progress-bar-border-radius: 0;\n flex: 1;\n margin: 0 -1px;\n }\n\n .label-container {\n justify-content: space-between;\n display: flex;\n flex-direction: row;\n margin-top: var(--wcs-base-margin);\n }\n\n .label-container > * {\n width: 100%;\n text-align: center;\n flex: 1;\n color: var(--wcs-text-medium);\n font-weight: 500;\n\n }\n\n .label-container > *[data-disable] {\n color: var(--wcs-text-light);\n }\n\n .label-container > *[data-current] {\n color: var(--wcs-primary);\n }\n\n .label-container > div[data-first] {\n margin-left: 20px;\n text-align: left;\n flex: 0.5;\n }\n\n .label-container > div[data-first] > span {\n margin-left: -20px;\n }\n\n .label-container > div[data-last] {\n margin-right: 20px;\n text-align: right;\n flex: 0.5;\n }\n\n .label-container > div[data-last] > span {\n margin-right: -20px;\n }\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch\n} from '@stencil/core';\nimport { WcsButtonMode } from '../button/button-interface';\nimport { HorizontalStepClickEvent, HorizontalStepConfig, HorizontalStepperMode } from './horizontal-stepper-interface';\nimport { HorizontalStep } from './horizontal-step';\n\n@Component({\n tag: 'wcs-horizontal-stepper',\n styleUrl: 'horizontal-stepper.scss',\n shadow: true,\n})\nexport class HorizontalStepper implements ComponentInterface {\n @Element() el!: HTMLWcsHorizontalStepperElement;\n /**\n * index of the active step. The index corresponds to the index of the step in the 'steps' list\n */\n @Prop({mutable: true}) currentStep: number = 0;\n /**\n * steps to display\n */\n @Prop() steps: HorizontalStepConfig[];\n /**\n * Specifies if the stepper is in linear mode (the user can only click on the next step)\n * or non-linear (the user can click on any step)\n */\n @Prop() mode: HorizontalStepperMode = 'nonLinear';\n /**\n * Specifies whether a check should be displayed when a step is passed.\n */\n @Prop() checkOnComplete: boolean;\n /**\n * Emits when the user selects a new step.\n */\n @Event() wcsHorizontalStepClick!: EventEmitter<HorizontalStepClickEvent>\n @State() buttonMode: WcsButtonMode = 'stroked';\n @State() internalCurrentStep;\n\n componentWillLoad(): Promise<void> | void {\n this.internalCurrentStep = this.currentStep;\n if (this.steps.length < 1) {\n throw new Error('You must add at least one step');\n }\n }\n\n @Watch('currentStep')\n // @ts-ignore\n private onCurrentStepChange(newValue: number, oldValue: number) {\n //Check if the function is called before the component has finished its initialization in which case we do nothing\n if (this.internalCurrentStep !== undefined) {\n const stepInterval = Math.abs(oldValue - newValue);\n this.el.style.setProperty('--wcs-progress-bar-animation-duration', 375 / stepInterval + 'ms');\n if (newValue !== oldValue) {\n for (let i = 0; i < stepInterval; i++) {\n setTimeout(() => {\n this.internalCurrentStep -= (oldValue - newValue) > 0 ? 1 : -1;\n if (i === stepInterval - 1) {\n this.el.style.removeProperty('--wcs-progress-bar-animation-duration');\n }\n }, (i * (375 / stepInterval)));\n }\n }\n }\n }\n\n @Method()\n async previous() {\n this.navigateToIndex(this.internalCurrentStep - 1, 'backward');\n }\n\n @Method()\n async next() {\n this.navigateToIndex(this.internalCurrentStep + 1, 'forward');\n }\n\n private navigateToIndex(index: number, direction: 'backward' | 'forward'): void {\n if (index >= 0 && index <= this.steps.length - 1) {\n if (this.steps[index]?.complete || this.steps[index]?.disable) {\n this.navigateToIndex(index + (direction === 'forward' ? 1 : -1), direction)\n } else {\n this.currentStep = index;\n }\n }\n }\n\n render(): any {\n return (\n <Host>\n <div class=\"steps\">\n {this.steps.map((step, index) =>\n (<HorizontalStep step={step}\n passed={index <= this.internalCurrentStep}\n checkOnComplete={this.checkOnComplete}\n complete={this.isComplete(step, index)}\n active={index === this.internalCurrentStep}\n first={index === 0}\n disable={this.isDisable(step, index)}\n onClick={step => this.wcsHorizontalStepClick.emit({step, index})}\n />\n )\n )}\n </div>\n {this.renderLabels()}\n </Host>\n );\n }\n\n private isComplete(step: HorizontalStepConfig, index: number) {\n return index <= this.internalCurrentStep || step.complete;\n }\n\n private renderLabels() {\n if (this.steps.map(s => s.text).every(s => !s)) {\n return null;\n } else {\n return <div class=\"label-container\">\n {this.steps.map((step, index) =>\n (<div data-first={index === 0} data-current={index === this.internalCurrentStep && !step.disable}\n data-disable={this.isDisable(step, index)} data-last={index === this.steps.length - 1}>\n <span>{step.text}</span></div>)\n )}\n </div>;\n }\n }\n\n private isDisable(step, index) {\n return step.disable || (this.mode === 'linear' && (!this.isNextPossibleStep(index) && this.internalCurrentStep < index));\n }\n\n private isNextPossibleStep(index) {\n if (index === 0) return true;\n if (this.steps[index - 1]?.disable || this.previousStepIsCompleteAndNotActive(index)) return this.isNextPossibleStep(index - 1);\n return this.internalCurrentStep === index - 1;\n }\n\n private previousStepIsCompleteAndNotActive(index) {\n return this.steps[index - 1]?.complete && index - 1 !== this.internalCurrentStep;\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"wcs-horizontal-stepper.entry.cjs.js","mappings":"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","names":["h","Host","index"],"sources":["./src/components/horizontal-stepper/horizontal-step.tsx","./src/components/horizontal-stepper/horizontal-stepper.scss?tag=wcs-horizontal-stepper&encapsulation=shadow","./src/components/horizontal-stepper/horizontal-stepper.tsx"],"sourcesContent":["import { FunctionalComponent, h } from '@stencil/core';\nimport { HorizontalStepConfig, StepButton } from './horizontal-stepper-interface';\n\ninterface HorizontalStepProps {\n step: HorizontalStepConfig;\n checkOnComplete: boolean;\n complete: boolean;\n passed: boolean;\n active: boolean;\n first: boolean;\n disable: boolean;\n onClick: (step: HorizontalStepConfig) => void;\n}\n\nexport const HorizontalStep: FunctionalComponent<HorizontalStepProps> = (\n {\n step,\n checkOnComplete,\n complete,\n passed,\n active,\n first,\n disable,\n onClick\n }) => {\n return (\n <div class=\"graphic-step\" data-first={first}>\n {first ? null : (<wcs-progress-bar value={passed ? 100 : 0}></wcs-progress-bar>)}\n <wcs-button style={{'backgroundColor': 'white'}}\n shape=\"round\"\n onClick={_ => onClick(step)}\n mode={(active || complete) && !step.disable ? 'plain' : 'stroked'}\n disabled={disable}>{getButtonContent(step.button, checkOnComplete, complete, active)}</wcs-button>\n </div>\n );\n}\n\nconst getButtonContent = (stepButton: StepButton, checkOnComplete: boolean, complete: boolean, active: boolean) => {\n if (checkOnComplete && complete && !active) {\n return (<wcs-mat-icon size=\"m\" icon=\"done\" family=\"outlined\"></wcs-mat-icon>);\n }\n switch (stepButton.kind) {\n case 'Icon':\n return (<wcs-mat-icon size=\"m\" icon={stepButton.iconName}\n family={stepButton.family ? stepButton.family : 'outlined'}></wcs-mat-icon>);\n case 'Text':\n return (stepButton.text);\n }\n}\n\n",":host {\n display: block;\n\n .steps {\n display: flex;\n flex-direction: row;\n flex: 1;\n }\n\n .graphic-step {\n display: flex;\n flex-direction: row;\n flex: 1;\n align-items: center;\n }\n\n .graphic-step[data-first] {\n flex: 0;\n }\n\n wcs-progress-bar {\n --wcs-internal-progress-bar-border-radius: 0;\n flex: 1;\n margin: 0 -1px;\n }\n\n .label-container {\n justify-content: space-between;\n display: flex;\n flex-direction: row;\n margin-top: var(--wcs-base-margin);\n }\n\n .label-container > * {\n width: 100%;\n text-align: center;\n flex: 1;\n color: var(--wcs-text-medium);\n font-weight: 500;\n\n }\n\n .label-container > *[data-disable] {\n color: var(--wcs-text-light);\n }\n\n .label-container > *[data-current] {\n color: var(--wcs-primary);\n }\n\n .label-container > div[data-first] {\n margin-left: 20px;\n text-align: left;\n flex: 0.5;\n }\n\n .label-container > div[data-first] > span {\n margin-left: -20px;\n }\n\n .label-container > div[data-last] {\n margin-right: 20px;\n text-align: right;\n flex: 0.5;\n }\n\n .label-container > div[data-last] > span {\n margin-right: -20px;\n }\n}\n","import {\n Component,\n ComponentInterface,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n Watch\n} from '@stencil/core';\nimport { HorizontalStepClickEvent, HorizontalStepConfig, HorizontalStepperMode } from './horizontal-stepper-interface';\nimport { HorizontalStep } from './horizontal-step';\n\n@Component({\n tag: 'wcs-horizontal-stepper',\n styleUrl: 'horizontal-stepper.scss',\n shadow: true,\n})\nexport class HorizontalStepper implements ComponentInterface {\n @Element() private el!: HTMLWcsHorizontalStepperElement;\n /**\n * index of the active step. The index corresponds to the index of the step in the 'steps' list\n */\n @Prop({mutable: true}) currentStep: number = 0;\n /**\n * steps to display\n */\n @Prop() steps: HorizontalStepConfig[];\n /**\n * Specifies if the stepper is in linear mode (the user can only click on the next step)\n * or non-linear (the user can click on any step)\n */\n @Prop() mode: HorizontalStepperMode = 'nonLinear';\n /**\n * Specifies whether a check should be displayed when a step is passed.\n */\n @Prop() checkOnComplete: boolean;\n /**\n * Emits when the user selects a new step.\n */\n @Event() wcsHorizontalStepClick!: EventEmitter<HorizontalStepClickEvent>\n @State() private internalCurrentStep;\n\n componentWillLoad(): Promise<void> | void {\n this.internalCurrentStep = this.currentStep;\n if (this.steps.length < 1) {\n throw new Error('You must add at least one step');\n }\n }\n\n @Watch('currentStep')\n // @ts-ignore\n private onCurrentStepChange(newValue: number, oldValue: number) {\n //Check if the function is called before the component has finished its initialization in which case we do nothing\n if (this.internalCurrentStep !== undefined) {\n const stepInterval = Math.abs(oldValue - newValue);\n this.el.style.setProperty('--wcs-progress-bar-animation-duration', 375 / stepInterval + 'ms');\n if (newValue !== oldValue) {\n for (let i = 0; i < stepInterval; i++) {\n setTimeout(() => {\n this.internalCurrentStep -= (oldValue - newValue) > 0 ? 1 : -1;\n if (i === stepInterval - 1) {\n this.el.style.removeProperty('--wcs-progress-bar-animation-duration');\n }\n }, (i * (375 / stepInterval)));\n }\n }\n }\n }\n\n @Method()\n async previous() {\n this.navigateToIndex(this.internalCurrentStep - 1, 'backward');\n }\n\n @Method()\n async next() {\n this.navigateToIndex(this.internalCurrentStep + 1, 'forward');\n }\n\n private navigateToIndex(index: number, direction: 'backward' | 'forward'): void {\n if (index >= 0 && index <= this.steps.length - 1) {\n if (this.steps[index]?.complete || this.steps[index]?.disable) {\n this.navigateToIndex(index + (direction === 'forward' ? 1 : -1), direction)\n } else {\n this.currentStep = index;\n }\n }\n }\n\n render(): any {\n return (\n <Host>\n <div class=\"steps\">\n {this.steps.map((step, index) =>\n (<HorizontalStep step={step}\n passed={index <= this.internalCurrentStep}\n checkOnComplete={this.checkOnComplete}\n complete={this.isComplete(step, index)}\n active={index === this.internalCurrentStep}\n first={index === 0}\n disable={this.isDisable(step, index)}\n onClick={step => this.wcsHorizontalStepClick.emit({step, index})}\n />\n )\n )}\n </div>\n {this.renderLabels()}\n </Host>\n );\n }\n\n private isComplete(step: HorizontalStepConfig, index: number) {\n return index <= this.internalCurrentStep || step.complete;\n }\n\n private renderLabels() {\n if (this.steps.map(s => s.text).every(s => !s)) {\n return null;\n } else {\n return <div class=\"label-container\">\n {this.steps.map((step, index) =>\n (<div data-first={index === 0} data-current={index === this.internalCurrentStep && !step.disable}\n data-disable={this.isDisable(step, index)} data-last={index === this.steps.length - 1}>\n <span>{step.text}</span></div>)\n )}\n </div>;\n }\n }\n\n private isDisable(step, index) {\n return step.disable || (this.mode === 'linear' && (!this.isNextPossibleStep(index) && this.internalCurrentStep < index));\n }\n\n private isNextPossibleStep(index) {\n if (index === 0) return true;\n if (this.steps[index - 1]?.disable || this.previousStepIsCompleteAndNotActive(index)) return this.isNextPossibleStep(index - 1);\n return this.internalCurrentStep === index - 1;\n }\n\n private previousStepIsCompleteAndNotActive(index) {\n return this.steps[index - 1]?.complete && index - 1 !== this.internalCurrentStep;\n }\n}\n"],"version":3}
|
|
@@ -3,9 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
const index = require('./index-ca67a6dc.js');
|
|
6
|
-
const helpers = require('./helpers-
|
|
6
|
+
const helpers = require('./helpers-4a14051a.js');
|
|
7
7
|
|
|
8
|
-
const
|
|
8
|
+
const WcsInputSizeValues = ['s', 'm', 'l']; // as const keyword is used to infer and preserve the exact literal values of an array or object.
|
|
9
|
+
function isWcsInputSize(size) {
|
|
10
|
+
// @ts-ignore : ignore size type, as it is checked with WcsInputSizeValues
|
|
11
|
+
return WcsInputSizeValues.includes(size);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const inputCss = ":host{--wcs-input-icon-color:var(--wcs-text-medium);--wcs-internal-input-border-radius-left:var(--wcs-input-border-radius-left, var(--wcs-border-radius));--wcs-internal-input-border-radius-right:var(--wcs-input-border-radius-right, var(--wcs-border-radius));--wcs-internal-input-border-width:2px;display:flex;width:100%;height:var(--wcs-input-host-height);box-sizing:border-box;border-radius:var(--wcs-internal-input-border-radius-left) var(--wcs-internal-input-border-radius-right) var(--wcs-internal-input-border-radius-right) var(--wcs-internal-input-border-radius-left);background-color:var(--wcs-light);border:var(--wcs-internal-input-border-width) solid var(--wcs-light);background-clip:padding-box}:host ::placeholder{font-weight:400;font-style:italic}:host input{overflow:hidden;min-height:var(--wcs-size-xs);width:100%;background-color:transparent;font-family:var(--wcs-font-sans-serif);color:var(--wcs-primary);font-weight:var(--wcs-font-weight-form-value) !important;border:none;padding:0 calc(var(--wcs-padding) - var(--wcs-internal-input-border-width));font-size:var(--wcs-input-font-size, 1rem);line-height:1.5}:host input:focus{box-shadow:none;outline:0}:host wcs-mat-icon{position:relative;margin-left:8px;margin-right:-8px}:host .toggle_password{cursor:pointer;margin-left:-8px;margin-right:8px}:host .prefix,:host .suffix{color:var(--wcs-white);display:flex;white-space:nowrap;align-items:center;font-size:var(--wcs-input-font-size, 1rem);padding:0 calc(var(--wcs-padding) / 2);font-weight:var(--wcs-font-weight-form-value) !important;background-color:var(--wcs-text-disabled)}:host .prefix{border-radius:var(--wcs-internal-input-border-radius-left) 0 0 var(--wcs-internal-input-border-radius-left);margin:calc(-1 * var(--wcs-internal-input-border-width)) 0 calc(-1 * var(--wcs-internal-input-border-width)) calc(-1 * var(--wcs-internal-input-border-width));border-left:solid var(--wcs-internal-input-border-width) transparent;border-top:solid var(--wcs-internal-input-border-width) transparent;border-bottom:solid var(--wcs-internal-input-border-width) transparent}:host .suffix{border-radius:0 var(--wcs-internal-input-border-radius-right) var(--wcs-internal-input-border-radius-right) 0;margin:calc(-1 * var(--wcs-internal-input-border-width)) calc(-1 * var(--wcs-internal-input-border-width)) calc(-1 * var(--wcs-internal-input-border-width)) 0px;border-right:solid var(--wcs-internal-input-border-width) transparent;border-top:solid var(--wcs-internal-input-border-width) transparent;border-bottom:solid var(--wcs-internal-input-border-width) transparent}:host([size=l]){--wcs-input-host-height:var(--wcs-size-l);--wcs-input-font-size:1.0625rem}:host([size=m]){--wcs-input-host-height:var(--wcs-size-m);--wcs-input-font-size:1rem}:host([size=s]){--wcs-input-host-height:var(--wcs-size-s);--wcs-input-font-size:0.9375rem}:host([state=error]){border-color:var(--wcs-red) !important}:host([data-has-prefix]) input{padding-left:calc(var(--wcs-padding) / 2)}:host([data-has-suffix]) input{padding-left:calc(var(--wcs-padding) / 2)}:host([disabled]) input{color:var(--wcs-text-disabled);cursor:not-allowed}:host([disabled]) .prefix,:host([disabled]) .suffix{color:var(--wcs-light)}:host(:focus-within){border:dashed var(--wcs-internal-input-border-width) var(--wcs-primary)}:host(:focus-within) .prefix{border-left:dashed var(--wcs-internal-input-border-width) var(--wcs-primary);border-top:dashed var(--wcs-internal-input-border-width) var(--wcs-primary);border-bottom:dashed var(--wcs-internal-input-border-width) var(--wcs-primary)}:host(:focus-within) .suffix{border-right:dashed var(--wcs-internal-input-border-width) var(--wcs-primary);border-top:dashed var(--wcs-internal-input-border-width) var(--wcs-primary);border-bottom:dashed var(--wcs-internal-input-border-width) var(--wcs-primary)}:host(:focus-within) wcs-mat-icon{color:var(--wcs-primary)}";
|
|
9
15
|
|
|
10
16
|
const Input = class {
|
|
11
17
|
constructor(hostRef) {
|
|
@@ -83,6 +89,7 @@ const Input = class {
|
|
|
83
89
|
this.suffixLabel = undefined;
|
|
84
90
|
this.disabled = false;
|
|
85
91
|
this.enterkeyhint = undefined;
|
|
92
|
+
this.size = 'm';
|
|
86
93
|
this.icon = undefined;
|
|
87
94
|
this.inputmode = undefined;
|
|
88
95
|
this.max = undefined;
|
|
@@ -98,7 +105,6 @@ const Input = class {
|
|
|
98
105
|
this.spellcheck = false;
|
|
99
106
|
this.state = 'initial';
|
|
100
107
|
this.step = undefined;
|
|
101
|
-
this.size = undefined;
|
|
102
108
|
this.type = 'text';
|
|
103
109
|
this.value = '';
|
|
104
110
|
}
|
|
@@ -114,6 +120,10 @@ const Input = class {
|
|
|
114
120
|
}
|
|
115
121
|
componentWillLoad() {
|
|
116
122
|
this.inheritedAttributes = helpers.inheritAttributes(this.el, ['aria-label', 'tabindex', 'title']);
|
|
123
|
+
if (!isWcsInputSize(this.size)) {
|
|
124
|
+
console.error(`Invalid size value for wcs-input : "${this.size}". Must be one of "${WcsInputSizeValues.join(', ')}"`);
|
|
125
|
+
this.size = "m"; // Default fallback value
|
|
126
|
+
}
|
|
117
127
|
}
|
|
118
128
|
connectedCallback() {
|
|
119
129
|
this.debounceChanged();
|
|
@@ -189,7 +199,7 @@ const Input = class {
|
|
|
189
199
|
if (label) {
|
|
190
200
|
label.id = labelId;
|
|
191
201
|
}
|
|
192
|
-
return (index.h(index.Host, { "aria-disabled": this.disabled ? 'true' : null, "data-has-prefix": !!this.prefixLabel, "data-has-suffix": !!this.suffixLabel }, this.prefixLabel ? (index.h("span", { class: "prefix", part: "prefix" }, this.prefixLabel)) : null, this.icon ? (index.h("wcs-mat-icon", { icon: this.icon, size: "m" })) : null, index.h("input", Object.assign({ class: "native-input", ref: input => this.nativeInput = input, "aria-labelledby": label ? labelId : null, disabled: this.disabled, accept: this.accept, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step,
|
|
202
|
+
return (index.h(index.Host, { "aria-disabled": this.disabled ? 'true' : null, "data-has-prefix": !!this.prefixLabel, "data-has-suffix": !!this.suffixLabel }, this.prefixLabel ? (index.h("span", { class: "prefix", part: "prefix" }, this.prefixLabel)) : null, this.icon ? (index.h("wcs-mat-icon", { icon: this.icon, size: "m" })) : null, index.h("input", Object.assign({ class: "native-input", ref: input => this.nativeInput = input, "aria-labelledby": label ? labelId : null, disabled: this.disabled, accept: this.accept, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, autoFocus: this.autofocus, enterKeyHint: this.enterkeyhint, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, multiple: this.multiple, name: this.name, pattern: this.pattern, placeholder: this.placeholder || '', readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, type: this.passwordReveal ? 'text' : this.type, value: value, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.onKeydown }, this.inheritedAttributes)), this.type === "password" ? (index.h("wcs-mat-icon", { class: "toggle_password", icon: this.iconPassword, size: "m", onClick: () => this.passwordRevealIconClick() })) : null, this.suffixLabel ? (index.h("span", { class: "suffix", part: "suffix" }, this.suffixLabel)) : null));
|
|
193
203
|
}
|
|
194
204
|
static get delegatesFocus() { return true; }
|
|
195
205
|
get el() { return index.getElement(this); }
|