@duetds/components 5.2.0 → 5.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/hydrate/index.js +186 -100
- package/lib/cjs/{dom-66424ef2.js → dom-96576bce.js} +1 -1
- package/lib/cjs/duet-action-button.cjs.entry.js +1 -1
- package/lib/cjs/duet-alert.cjs.entry.js +1 -1
- package/lib/cjs/duet-badge.cjs.entry.js +1 -1
- package/lib/cjs/duet-breadcrumb.cjs.entry.js +1 -1
- package/lib/cjs/duet-breadcrumbs.cjs.entry.js +1 -1
- package/lib/cjs/duet-button_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-caption_4.cjs.entry.js +1 -1
- package/lib/cjs/duet-card.cjs.entry.js +1 -1
- package/lib/cjs/duet-checkbox.cjs.entry.js +1 -1
- package/lib/cjs/duet-choice_2.cjs.entry.js +2 -2
- package/lib/cjs/duet-collapsible.cjs.entry.js +1 -1
- package/lib/cjs/duet-combobox.cjs.entry.js +1 -1
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +1 -1
- package/lib/cjs/duet-date-picker.cjs.entry.js +2 -2
- package/lib/cjs/duet-divider_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-editable-table_3.cjs.entry.js +4 -3
- package/lib/cjs/duet-empty-state.cjs.entry.js +1 -1
- package/lib/cjs/duet-fieldset.cjs.entry.js +1 -1
- package/lib/cjs/duet-footer.cjs.entry.js +1 -1
- package/lib/cjs/duet-grid_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-header_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-hero.cjs.entry.js +1 -1
- package/lib/cjs/duet-icon.cjs.entry.js +1 -1
- package/lib/cjs/duet-input_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-layout.cjs.entry.js +1 -1
- package/lib/cjs/duet-list_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-modal.cjs.entry.js +2 -2
- package/lib/cjs/duet-notification_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-number-input.cjs.entry.js +92 -47
- package/lib/cjs/duet-pagination_2.cjs.entry.js +39 -17
- package/lib/cjs/duet-progress.cjs.entry.js +1 -1
- package/lib/cjs/duet-radio_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-range-slider.cjs.entry.js +1 -1
- package/lib/cjs/duet-scrollable_3.cjs.entry.js +1 -1
- package/lib/cjs/duet-select.cjs.entry.js +1 -1
- package/lib/cjs/duet-step_2.cjs.entry.js +1 -1
- package/lib/cjs/duet-textarea.cjs.entry.js +1 -1
- package/lib/cjs/duet-toggle.cjs.entry.js +1 -1
- package/lib/cjs/duet-tooltip.cjs.entry.js +1 -1
- package/lib/cjs/duet-tray.cjs.entry.js +1 -1
- package/lib/cjs/duet-upload-aria-status.cjs.entry.js +1 -1
- package/lib/cjs/duet-visually-hidden.cjs.entry.js +1 -1
- package/lib/cjs/duet.cjs.js +4 -4
- package/lib/cjs/{focus-utils-bfb10d32.js → focus-utils-12f0a2cb.js} +1 -1
- package/lib/cjs/{index-a4844346.js → index-ba78fa3c.js} +11 -9
- package/lib/cjs/loader.cjs.js +3 -3
- package/lib/cjs/{shadow-css-1ff2f74f.js → shadow-css-38b9e725.js} +2 -3
- package/lib/collection/collection-manifest.json +1 -1
- package/lib/collection/components/duet-editable-table/duet-editable-table.js +2 -1
- package/lib/collection/components/duet-number-input/duet-number-input.js +22 -27
- package/lib/collection/components/duet-pagination/duet-pagination.js +18 -13
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +28 -11
- package/lib/collection/components/duet-table/duet-table.css +30 -18
- package/lib/collection/utils/math.utils.js +76 -0
- package/lib/custom-elements-bundle/index.js +145 -78
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/duet.js +1 -1
- package/lib/duet/{p-285714dd.entry.js → p-0146f86f.entry.js} +1 -1
- package/lib/duet/{p-b0a4dc6d.entry.js → p-02fdca38.entry.js} +1 -1
- package/lib/duet/{p-99fe93c6.system.entry.js → p-034aa5af.system.entry.js} +1 -1
- package/lib/duet/{p-f5613315.system.entry.js → p-072a20bb.system.entry.js} +1 -1
- package/lib/duet/{p-b35d6368.system.entry.js → p-07970e02.system.entry.js} +1 -1
- package/lib/duet/{p-fbec1a47.entry.js → p-119b3a75.entry.js} +1 -1
- package/lib/duet/{p-423d4211.system.entry.js → p-12eb57c0.system.entry.js} +1 -1
- package/lib/duet/{p-78de93b3.entry.js → p-17d0567c.entry.js} +1 -1
- package/lib/duet/p-1919ea71.system.entry.js +4 -0
- package/lib/duet/{p-97f1e254.entry.js → p-1b03c0b0.entry.js} +1 -1
- package/lib/duet/p-1d3fe5c7.js +5 -0
- package/lib/duet/{p-b4ca3864.system.entry.js → p-1d557ffa.system.entry.js} +1 -1
- package/lib/duet/{p-6a843f9e.entry.js → p-1e124cda.entry.js} +1 -1
- package/lib/duet/p-28ed49f6.entry.js +4 -0
- package/lib/duet/{p-e8f8374b.system.entry.js → p-2b1098f7.system.entry.js} +1 -1
- package/lib/duet/{p-271107d8.entry.js → p-30c2a422.entry.js} +1 -1
- package/lib/duet/{p-b16befbc.system.entry.js → p-36ad89c8.system.entry.js} +1 -1
- package/lib/duet/{p-fef3a403.system.entry.js → p-38d81ea7.system.entry.js} +1 -1
- package/lib/duet/{p-e7b761c5.system.js → p-392d3906.system.js} +1 -1
- package/lib/duet/{p-00bf0bb9.system.entry.js → p-3a1bcb33.system.entry.js} +1 -1
- package/lib/duet/{p-fa59ebf4.js → p-3b31184e.js} +0 -0
- package/lib/duet/{p-360f8fff.system.entry.js → p-3dcf6143.system.entry.js} +1 -1
- package/lib/duet/{p-ec6d63fc.entry.js → p-45fce3bd.entry.js} +1 -1
- package/lib/duet/{p-bf87d801.entry.js → p-4d661df0.entry.js} +1 -1
- package/lib/duet/{p-41cc3490.entry.js → p-4d6b63bd.entry.js} +1 -1
- package/lib/duet/{p-c0aca70c.entry.js → p-4dfd691c.entry.js} +1 -1
- package/lib/duet/{p-7a4764db.system.entry.js → p-4e1342e8.system.entry.js} +1 -1
- package/lib/duet/{p-d4dba079.system.entry.js → p-506d7234.system.entry.js} +1 -1
- package/lib/duet/{p-bb4d8e7b.entry.js → p-518d507a.entry.js} +1 -1
- package/lib/duet/{p-437fe50b.system.entry.js → p-532a7563.system.entry.js} +1 -1
- package/lib/duet/{p-790ee851.entry.js → p-5de61303.entry.js} +1 -1
- package/lib/duet/{p-a2fa0049.entry.js → p-62635fbd.entry.js} +1 -1
- package/lib/duet/p-63536b2d.entry.js +4 -0
- package/lib/duet/{p-01478a01.system.entry.js → p-64469525.system.entry.js} +1 -1
- package/lib/duet/{p-53ad61ed.entry.js → p-65527b10.entry.js} +1 -1
- package/lib/duet/{p-98039227.system.entry.js → p-68b86cf3.system.entry.js} +1 -1
- package/lib/duet/{p-c1d55269.system.entry.js → p-6a4e52a8.system.entry.js} +1 -1
- package/lib/duet/{p-fd0a3ab7.entry.js → p-6b7706d1.entry.js} +1 -1
- package/lib/duet/{p-1ff51ad8.system.entry.js → p-6e7f309d.system.entry.js} +1 -1
- package/lib/duet/p-6e853c11.system.entry.js +4 -0
- package/lib/duet/{p-9920ad3b.entry.js → p-70a3b04a.entry.js} +1 -1
- package/lib/duet/{p-cb8ebdd7.entry.js → p-72975917.entry.js} +1 -1
- package/lib/duet/{p-ee97a406.system.entry.js → p-73c4e3a3.system.entry.js} +1 -1
- package/lib/duet/{p-f91e88e3.system.entry.js → p-78627725.system.entry.js} +1 -1
- package/lib/duet/{p-641edb93.system.entry.js → p-7adfeba7.system.entry.js} +1 -1
- package/lib/duet/{p-88ffd1cc.entry.js → p-82492a56.entry.js} +1 -1
- package/lib/duet/p-835fbc11.js +4 -0
- package/lib/duet/{p-10585f06.system.entry.js → p-84a7b980.system.entry.js} +1 -1
- package/lib/duet/{p-9406ee60.entry.js → p-856b4648.entry.js} +1 -1
- package/lib/duet/{p-04061cef.entry.js → p-89fa490e.entry.js} +1 -1
- package/lib/duet/{p-72739cec.entry.js → p-8bc46a6e.entry.js} +1 -1
- package/lib/duet/{p-24721182.system.entry.js → p-8bd8f3b9.system.entry.js} +1 -1
- package/lib/duet/{p-05e069d8.entry.js → p-8e2ec8a1.entry.js} +1 -1
- package/lib/duet/{p-56d3e64f.entry.js → p-8eeccac4.entry.js} +1 -1
- package/lib/duet/{p-95a0db46.entry.js → p-92ab9288.entry.js} +1 -1
- package/lib/duet/{p-030e20d7.entry.js → p-96d1c0b2.entry.js} +1 -1
- package/lib/duet/{p-7021d0c6.system.entry.js → p-97a5f165.system.entry.js} +1 -1
- package/lib/duet/{p-071ebe1d.system.entry.js → p-9c850ee8.system.entry.js} +1 -1
- package/lib/duet/{p-0bee3151.system.entry.js → p-9fb0854f.system.entry.js} +1 -1
- package/lib/duet/{p-afd34b6b.system.entry.js → p-a2f3f08d.system.entry.js} +1 -1
- package/lib/duet/p-a81531cf.system.js +4 -0
- package/lib/duet/{p-08eb2200.entry.js → p-a9f17642.entry.js} +1 -1
- package/lib/duet/{p-d33b5ac5.system.entry.js → p-ab1cda11.system.entry.js} +1 -1
- package/lib/duet/{p-64685397.entry.js → p-ae7e7fbf.entry.js} +1 -1
- package/lib/duet/{p-76e38bb2.system.entry.js → p-b3dba7d7.system.entry.js} +1 -1
- package/lib/duet/{p-542af014.system.js → p-b668b67c.system.js} +0 -0
- package/lib/duet/{p-c7657242.entry.js → p-baf2428d.entry.js} +1 -1
- package/lib/duet/p-bb65d334.system.entry.js +4 -0
- package/lib/duet/{p-03b6ce80.entry.js → p-bbf4391c.entry.js} +1 -1
- package/lib/duet/{p-a509cc2b.system.entry.js → p-c54d7981.system.entry.js} +1 -1
- package/lib/duet/p-c6791e18.system.js +5 -0
- package/lib/duet/{p-e75c7aa8.system.entry.js → p-c6d4025f.system.entry.js} +1 -1
- package/lib/duet/{p-73cd4f03.system.entry.js → p-c6d99598.system.entry.js} +1 -1
- package/lib/duet/{p-19100783.system.entry.js → p-c75db094.system.entry.js} +1 -1
- package/lib/duet/{p-b08bb1fd.entry.js → p-c9c6d840.entry.js} +1 -1
- package/lib/duet/{p-495a1326.system.entry.js → p-cfcb5990.system.entry.js} +1 -1
- package/lib/duet/{p-95e1a336.entry.js → p-d16b2352.entry.js} +1 -1
- package/lib/duet/{p-5f009925.system.entry.js → p-d1f678be.system.entry.js} +1 -1
- package/lib/duet/{p-27d238c5.js → p-d4c234ed.js} +1 -1
- package/lib/duet/{p-7fe67436.system.entry.js → p-d506da98.system.entry.js} +1 -1
- package/lib/duet/{p-b8623ab8.entry.js → p-d96432a0.entry.js} +1 -1
- package/lib/duet/{p-5b1cbe5b.entry.js → p-dc5971bf.entry.js} +1 -1
- package/lib/duet/{p-3260eef0.entry.js → p-de6e8bfb.entry.js} +1 -1
- package/lib/duet/{p-30e901f2.system.entry.js → p-dfff5f16.system.entry.js} +1 -1
- package/lib/duet/{p-0ae816ee.entry.js → p-e27f1382.entry.js} +1 -1
- package/lib/duet/{p-68cbc3b7.entry.js → p-e2cc3eb4.entry.js} +1 -1
- package/lib/duet/{p-9496d6d4.entry.js → p-e575b990.entry.js} +1 -1
- package/lib/duet/{p-a843e579.system.entry.js → p-ee6352cf.system.entry.js} +1 -1
- package/lib/duet/{p-4a7f290f.entry.js → p-f66e69a0.entry.js} +1 -1
- package/lib/duet/p-f80195fa.entry.js +4 -0
- package/lib/duet/{p-b51928dc.system.entry.js → p-fd8ac2e7.system.entry.js} +1 -1
- package/lib/duet/{p-33388bf3.system.entry.js → p-febd0192.system.entry.js} +1 -1
- package/lib/duet/p-ff46ec81.system.js +16 -0
- package/lib/esm/{dom-3c479050.js → dom-3dbcb0d8.js} +1 -1
- package/lib/esm/duet-action-button.entry.js +1 -1
- package/lib/esm/duet-alert.entry.js +1 -1
- package/lib/esm/duet-badge.entry.js +1 -1
- package/lib/esm/duet-breadcrumb.entry.js +1 -1
- package/lib/esm/duet-breadcrumbs.entry.js +1 -1
- package/lib/esm/duet-button_2.entry.js +1 -1
- package/lib/esm/duet-caption_4.entry.js +1 -1
- package/lib/esm/duet-card.entry.js +1 -1
- package/lib/esm/duet-checkbox.entry.js +1 -1
- package/lib/esm/duet-choice_2.entry.js +2 -2
- package/lib/esm/duet-collapsible.entry.js +1 -1
- package/lib/esm/duet-combobox.entry.js +1 -1
- package/lib/esm/duet-cookie-consent.entry.js +1 -1
- package/lib/esm/duet-date-picker.entry.js +2 -2
- package/lib/esm/duet-divider_2.entry.js +1 -1
- package/lib/esm/duet-editable-table_3.entry.js +4 -3
- package/lib/esm/duet-empty-state.entry.js +1 -1
- package/lib/esm/duet-fieldset.entry.js +1 -1
- package/lib/esm/duet-footer.entry.js +1 -1
- package/lib/esm/duet-grid_2.entry.js +1 -1
- package/lib/esm/duet-header_2.entry.js +1 -1
- package/lib/esm/duet-hero.entry.js +1 -1
- package/lib/esm/duet-icon.entry.js +1 -1
- package/lib/esm/duet-input_2.entry.js +1 -1
- package/lib/esm/duet-layout.entry.js +1 -1
- package/lib/esm/duet-list_2.entry.js +1 -1
- package/lib/esm/duet-modal.entry.js +2 -2
- package/lib/esm/duet-notification_2.entry.js +1 -1
- package/lib/esm/duet-number-input.entry.js +92 -47
- package/lib/esm/duet-pagination_2.entry.js +39 -17
- package/lib/esm/duet-progress.entry.js +1 -1
- package/lib/esm/duet-radio_2.entry.js +1 -1
- package/lib/esm/duet-range-slider.entry.js +1 -1
- package/lib/esm/duet-scrollable_3.entry.js +1 -1
- package/lib/esm/duet-select.entry.js +1 -1
- package/lib/esm/duet-step_2.entry.js +1 -1
- package/lib/esm/duet-textarea.entry.js +1 -1
- package/lib/esm/duet-toggle.entry.js +1 -1
- package/lib/esm/duet-tooltip.entry.js +1 -1
- package/lib/esm/duet-tray.entry.js +1 -1
- package/lib/esm/duet-upload-aria-status.entry.js +1 -1
- package/lib/esm/duet-visually-hidden.entry.js +1 -1
- package/lib/esm/duet.js +4 -4
- package/lib/esm/{focus-utils-3af074ea.js → focus-utils-3769afc3.js} +1 -1
- package/lib/esm/{index-ab2bfa68.js → index-374256c8.js} +11 -9
- package/lib/esm/loader.js +3 -3
- package/lib/esm/polyfills/css-shim.js +1 -1
- package/lib/esm/{shadow-css-fbe49d20.js → shadow-css-501eda9a.js} +2 -3
- package/lib/esm-es5/{dom-3c479050.js → dom-3dbcb0d8.js} +0 -0
- package/lib/esm-es5/duet-action-button.entry.js +1 -1
- package/lib/esm-es5/duet-alert.entry.js +1 -1
- package/lib/esm-es5/duet-badge.entry.js +1 -1
- package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
- package/lib/esm-es5/duet-breadcrumbs.entry.js +1 -1
- package/lib/esm-es5/duet-button_2.entry.js +1 -1
- package/lib/esm-es5/duet-caption_4.entry.js +1 -1
- package/lib/esm-es5/duet-card.entry.js +1 -1
- package/lib/esm-es5/duet-checkbox.entry.js +1 -1
- package/lib/esm-es5/duet-choice_2.entry.js +2 -2
- package/lib/esm-es5/duet-collapsible.entry.js +1 -1
- package/lib/esm-es5/duet-combobox.entry.js +1 -1
- package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
- package/lib/esm-es5/duet-date-picker.entry.js +1 -1
- package/lib/esm-es5/duet-divider_2.entry.js +1 -1
- package/lib/esm-es5/duet-editable-table_3.entry.js +2 -2
- package/lib/esm-es5/duet-empty-state.entry.js +1 -1
- package/lib/esm-es5/duet-fieldset.entry.js +1 -1
- package/lib/esm-es5/duet-footer.entry.js +1 -1
- package/lib/esm-es5/duet-grid_2.entry.js +1 -1
- package/lib/esm-es5/duet-header_2.entry.js +1 -1
- package/lib/esm-es5/duet-hero.entry.js +1 -1
- package/lib/esm-es5/duet-icon.entry.js +1 -1
- package/lib/esm-es5/duet-input_2.entry.js +1 -1
- package/lib/esm-es5/duet-layout.entry.js +1 -1
- package/lib/esm-es5/duet-list_2.entry.js +1 -1
- package/lib/esm-es5/duet-modal.entry.js +1 -1
- package/lib/esm-es5/duet-notification_2.entry.js +1 -1
- package/lib/esm-es5/duet-number-input.entry.js +2 -2
- package/lib/esm-es5/duet-pagination_2.entry.js +1 -1
- package/lib/esm-es5/duet-progress.entry.js +1 -1
- package/lib/esm-es5/duet-radio_2.entry.js +1 -1
- package/lib/esm-es5/duet-range-slider.entry.js +1 -1
- package/lib/esm-es5/duet-scrollable_3.entry.js +1 -1
- package/lib/esm-es5/duet-select.entry.js +1 -1
- package/lib/esm-es5/duet-step_2.entry.js +1 -1
- package/lib/esm-es5/duet-textarea.entry.js +1 -1
- package/lib/esm-es5/duet-toggle.entry.js +1 -1
- package/lib/esm-es5/duet-tooltip.entry.js +1 -1
- package/lib/esm-es5/duet-tray.entry.js +1 -1
- package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
- package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
- package/lib/esm-es5/duet.js +1 -1
- package/lib/esm-es5/{focus-utils-3af074ea.js → focus-utils-3769afc3.js} +1 -1
- package/lib/esm-es5/index-374256c8.js +5 -0
- package/lib/esm-es5/loader.js +1 -1
- package/lib/esm-es5/shadow-css-501eda9a.js +15 -0
- package/lib/types/components/duet-number-input/duet-number-input.d.ts +0 -1
- package/lib/types/components/duet-pagination/duet-pagination.d.ts +1 -1
- package/lib/types/components/duet-range-stepper/duet-range-stepper.d.ts +3 -1
- package/lib/types/components.d.ts +192 -80
- package/lib/types/utils/math.utils.d.ts +11 -0
- package/package.json +6 -6
- package/lib/collection/components/duet-number-input/number-input-utils.js +0 -26
- package/lib/duet/p-12c89686.system.js +0 -4
- package/lib/duet/p-37dc064c.js +0 -4
- package/lib/duet/p-4972c76e.system.js +0 -4
- package/lib/duet/p-5a5d8fb1.entry.js +0 -4
- package/lib/duet/p-66536958.system.entry.js +0 -4
- package/lib/duet/p-92a25fb5.system.js +0 -16
- package/lib/duet/p-971f42d6.system.entry.js +0 -4
- package/lib/duet/p-98a9556f.js +0 -4
- package/lib/duet/p-a76bf729.entry.js +0 -4
- package/lib/duet/p-b7462f8c.system.entry.js +0 -4
- package/lib/duet/p-fe99b9cb.entry.js +0 -4
- package/lib/esm-es5/index-ab2bfa68.js +0 -4
- package/lib/esm-es5/shadow-css-fbe49d20.js +0 -15
- package/lib/types/components/duet-number-input/number-input-utils.d.ts +0 -4
package/hydrate/index.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
7
7
|
|
|
8
8
|
/*!
|
|
9
|
-
Stencil Mock Doc v2.
|
|
9
|
+
Stencil Mock Doc v2.16.0 | MIT Licensed | https://stenciljs.com
|
|
10
10
|
*/
|
|
11
11
|
const CONTENT_REF_ID = 'r';
|
|
12
12
|
const ORG_LOCATION_ID = 'o';
|
|
@@ -385,7 +385,7 @@ function toDataAttribute(str) {
|
|
|
385
385
|
.toLowerCase());
|
|
386
386
|
}
|
|
387
387
|
function dashToPascalCase(str) {
|
|
388
|
-
str = String(str).
|
|
388
|
+
str = String(str).slice(5);
|
|
389
389
|
return str
|
|
390
390
|
.split('-')
|
|
391
391
|
.map((segment, index) => {
|
|
@@ -589,7 +589,7 @@ function cssCaseToJsCase(str) {
|
|
|
589
589
|
.split('-')
|
|
590
590
|
.map((segment) => segment.charAt(0).toUpperCase() + segment.slice(1))
|
|
591
591
|
.join('');
|
|
592
|
-
str = str.
|
|
592
|
+
str = str.slice(0, 1).toLowerCase() + str.slice(1);
|
|
593
593
|
}
|
|
594
594
|
return str;
|
|
595
595
|
}
|
|
@@ -1532,7 +1532,11 @@ class MockNode {
|
|
|
1532
1532
|
if (otherNode === this) {
|
|
1533
1533
|
return true;
|
|
1534
1534
|
}
|
|
1535
|
-
|
|
1535
|
+
const childNodes = Array.from(this.childNodes);
|
|
1536
|
+
if (childNodes.includes(otherNode)) {
|
|
1537
|
+
return true;
|
|
1538
|
+
}
|
|
1539
|
+
return childNodes.some((node) => this.contains.bind(node)(otherNode));
|
|
1536
1540
|
}
|
|
1537
1541
|
removeChild(childNode) {
|
|
1538
1542
|
const index = this.childNodes.indexOf(childNode);
|
|
@@ -3169,6 +3173,15 @@ class MockResponse {
|
|
|
3169
3173
|
}
|
|
3170
3174
|
}
|
|
3171
3175
|
|
|
3176
|
+
class MockDOMParser {
|
|
3177
|
+
parseFromString(htmlToParse, mimeType) {
|
|
3178
|
+
if (mimeType !== 'text/html') {
|
|
3179
|
+
console.error('XML parsing not implemented yet, continuing as html');
|
|
3180
|
+
}
|
|
3181
|
+
return parseHtmlToDocument(htmlToParse);
|
|
3182
|
+
}
|
|
3183
|
+
}
|
|
3184
|
+
|
|
3172
3185
|
function setupGlobal(gbl) {
|
|
3173
3186
|
if (gbl.window == null) {
|
|
3174
3187
|
const win = (gbl.window = new MockWindow());
|
|
@@ -3298,6 +3311,7 @@ const GLOBAL_CONSTRUCTORS = [
|
|
|
3298
3311
|
['MouseEvent', MockMouseEvent],
|
|
3299
3312
|
['Request', MockRequest],
|
|
3300
3313
|
['Response', MockResponse],
|
|
3314
|
+
['DOMParser', MockDOMParser],
|
|
3301
3315
|
['HTMLAnchorElement', MockAnchorElement],
|
|
3302
3316
|
['HTMLBaseElement', MockBaseElement],
|
|
3303
3317
|
['HTMLButtonElement', MockButtonElement],
|
|
@@ -4963,7 +4977,8 @@ const createTime = (e, t = "") => {
|
|
|
4963
4977
|
let n = styles.get(e);
|
|
4964
4978
|
n = t, styles.set(e, n);
|
|
4965
4979
|
}, addStyle = (e, t, o, n) => {
|
|
4966
|
-
let s = getScopeId(t)
|
|
4980
|
+
let s = getScopeId(t);
|
|
4981
|
+
const l = styles.get(s);
|
|
4967
4982
|
if (e = 11 === e.nodeType ? e : doc, l) if ("string" == typeof l) {
|
|
4968
4983
|
e = e.head || e;
|
|
4969
4984
|
let o, a = rootAppliedStyles.get(e);
|
|
@@ -4983,8 +4998,8 @@ const createTime = (e, t = "") => {
|
|
|
4983
4998
|
o.classList.add(l + "-h"), 2 & n && o.classList.add(l + "-s")),
|
|
4984
4999
|
s();
|
|
4985
5000
|
}, getScopeId = (e, t) => "sc-" + (e.$tagName$), EMPTY_OBJ = {}, isComplexType = e => "object" == (e = typeof e) || "function" === e, isPromise = e => !!e && ("object" == typeof e || "function" == typeof e) && "function" == typeof e.then, h = (e, t, ...o) => {
|
|
4986
|
-
let n = null, s = null, l = null, a = !1, r = !1
|
|
4987
|
-
const d = t => {
|
|
5001
|
+
let n = null, s = null, l = null, a = !1, r = !1;
|
|
5002
|
+
const i = [], d = t => {
|
|
4988
5003
|
for (let o = 0; o < t.length; o++) n = t[o], Array.isArray(n) ? d(n) : null != n && "boolean" != typeof n && ((a = "function" != typeof e && !isComplexType(n)) ? n = String(n) : BUILD.isDev ,
|
|
4989
5004
|
a && r ? i[i.length - 1].$text$ += n : i.push(a ? newVNode(null, n) : n), r = a);
|
|
4990
5005
|
};
|
|
@@ -5041,7 +5056,7 @@ const createTime = (e, t = "") => {
|
|
|
5041
5056
|
const i = isComplexType(n);
|
|
5042
5057
|
if ((a || i && null !== n) && !s) try {
|
|
5043
5058
|
if (e.tagName.includes("-")) e[t] = n; else {
|
|
5044
|
-
|
|
5059
|
+
const s = null == n ? "" : n;
|
|
5045
5060
|
"list" === t ? a = !1 : null != o && e[t] == s || (e[t] = s);
|
|
5046
5061
|
}
|
|
5047
5062
|
} catch (e) {}
|
|
@@ -5061,20 +5076,21 @@ const createTime = (e, t = "") => {
|
|
|
5061
5076
|
let scopeId, contentRef, hostTagName, useNativeShadowDom = !1, checkSlotFallbackVisibility = !1, checkSlotRelocate = !1, isSvgMode = !1;
|
|
5062
5077
|
|
|
5063
5078
|
const createElm = (e, t, o, n) => {
|
|
5064
|
-
|
|
5065
|
-
|
|
5066
|
-
|
|
5067
|
-
|
|
5068
|
-
isSvgMode && "
|
|
5069
|
-
|
|
5070
|
-
|
|
5071
|
-
|
|
5072
|
-
|
|
5079
|
+
const s = t.$children$[o];
|
|
5080
|
+
let l, a, r, i = 0;
|
|
5081
|
+
if (!useNativeShadowDom && (checkSlotRelocate = !0, "slot" === s.$tag$ && (scopeId && n.classList.add(scopeId + "-s"),
|
|
5082
|
+
s.$flags$ |= s.$children$ ? 2 : 1)), null !== s.$text$) l = s.$elm$ = doc.createTextNode(s.$text$); else if (1 & s.$flags$) l = s.$elm$ = slotReferenceDebugNode(s) ; else {
|
|
5083
|
+
if (!isSvgMode && (isSvgMode = "svg" === s.$tag$), l = s.$elm$ = doc.createElementNS(isSvgMode ? "http://www.w3.org/2000/svg" : "http://www.w3.org/1999/xhtml", 2 & s.$flags$ ? "slot-fb" : s.$tag$) ,
|
|
5084
|
+
isSvgMode && "foreignObject" === s.$tag$ && (isSvgMode = !1), updateElement(null, s, isSvgMode),
|
|
5085
|
+
null != scopeId && l["s-si"] !== scopeId && l.classList.add(l["s-si"] = scopeId),
|
|
5086
|
+
s.$children$) for (i = 0; i < s.$children$.length; ++i) a = createElm(e, s, i, l),
|
|
5087
|
+
a && l.appendChild(a);
|
|
5088
|
+
("svg" === s.$tag$ ? isSvgMode = !1 : "foreignObject" === l.tagName && (isSvgMode = !0));
|
|
5073
5089
|
}
|
|
5074
|
-
return (
|
|
5075
|
-
|
|
5076
|
-
|
|
5077
|
-
|
|
5090
|
+
return (l["s-hn"] = hostTagName, 3 & s.$flags$ && (l["s-sr"] = !0,
|
|
5091
|
+
l["s-cr"] = contentRef, l["s-sn"] = s.$name$ || "", r = e && e.$children$ && e.$children$[o],
|
|
5092
|
+
r && r.$tag$ === s.$tag$ && e.$elm$ && putBackInOriginalLocation(e.$elm$, !1))),
|
|
5093
|
+
l;
|
|
5078
5094
|
}, putBackInOriginalLocation = (e, t) => {
|
|
5079
5095
|
plt.$flags$ |= 1;
|
|
5080
5096
|
const o = e.childNodes;
|
|
@@ -5115,22 +5131,24 @@ const createElm = (e, t, o, n) => {
|
|
|
5115
5131
|
addVnodes(o, null, t, s, 0, s.length - 1)) : null !== n && removeVnodes(n, 0, n.length - 1),
|
|
5116
5132
|
isSvgMode && "svg" === l && (isSvgMode = !1));
|
|
5117
5133
|
}, updateFallbackSlotVisibility = e => {
|
|
5118
|
-
|
|
5119
|
-
|
|
5120
|
-
|
|
5121
|
-
|
|
5122
|
-
|
|
5123
|
-
|
|
5134
|
+
const t = e.childNodes;
|
|
5135
|
+
let o, n, s, l, a, r;
|
|
5136
|
+
for (n = 0, s = t.length; n < s; n++) if (o = t[n], 1 === o.nodeType) {
|
|
5137
|
+
if (o["s-sr"]) for (a = o["s-sn"], o.hidden = !1, l = 0; l < s; l++) if (r = t[l].nodeType,
|
|
5138
|
+
t[l]["s-hn"] !== o["s-hn"] || "" !== a) {
|
|
5139
|
+
if (1 === r && a === t[l].getAttribute("slot")) {
|
|
5140
|
+
o.hidden = !0;
|
|
5124
5141
|
break;
|
|
5125
5142
|
}
|
|
5126
|
-
} else if (1 ===
|
|
5127
|
-
|
|
5143
|
+
} else if (1 === r || 3 === r && "" !== t[l].textContent.trim()) {
|
|
5144
|
+
o.hidden = !0;
|
|
5128
5145
|
break;
|
|
5129
5146
|
}
|
|
5130
|
-
updateFallbackSlotVisibility(
|
|
5147
|
+
updateFallbackSlotVisibility(o);
|
|
5131
5148
|
}
|
|
5132
5149
|
}, relocateNodes = [], relocateSlotContent = e => {
|
|
5133
|
-
let t, o, n, s, l, a, r = 0
|
|
5150
|
+
let t, o, n, s, l, a, r = 0;
|
|
5151
|
+
const i = e.childNodes, d = i.length;
|
|
5134
5152
|
for (;r < d; r++) {
|
|
5135
5153
|
if (t = i[r], t["s-sr"] && (o = t["s-cr"]) && o.parentNode) for (n = o.parentNode.childNodes,
|
|
5136
5154
|
s = t["s-sn"], a = n.length - 1; a >= 0; a--) o = n[a], o["s-cn"] || o["s-nr"] || o["s-hn"] === t["s-hn"] || (isNodeLocatedInSlot(o, s) ? (l = relocateNodes.find((e => e.$nodeToRelocate$ === o)),
|
|
@@ -10020,6 +10038,7 @@ class DuetEditableTable {
|
|
|
10020
10038
|
render() {
|
|
10021
10039
|
return (hAsync(Host, { class: {
|
|
10022
10040
|
[`duet-editable-table-${this.variation}`]: true,
|
|
10041
|
+
"duet-editable-table": true,
|
|
10023
10042
|
[`duet-editable-table-${this.theme}`]: true,
|
|
10024
10043
|
// sticky only valid when in regular table layout
|
|
10025
10044
|
"duet-editable-table-scrollable": this.breakpoint === "none-scrollable",
|
|
@@ -10027,7 +10046,7 @@ class DuetEditableTable {
|
|
|
10027
10046
|
"duet-editable-table-actions": !!this.actions,
|
|
10028
10047
|
"duet-m-0": this.margin === "none",
|
|
10029
10048
|
"duet-theme-turva": this.theme === "turva",
|
|
10030
|
-
} }, hAsync("duet-table", { sticky: this.sticky, stickyDistance: this.stickyDistance, margin: this.margin, theme: this.theme, variation: this.variation, breakpoint: this.breakpoint }, hAsync("table", { role: this.accessibleRole }, hAsync("caption", null, hAsync("slot", { name: "tcaption" })), hAsync("thead", null, hAsync("tr", null, hAsync("td", { class: "duet-editable-table-actions-menu", colSpan: 99 }, hAsync("slot", { name: "thead-first" }))), this.renderTableHeader(), hAsync("tr", null, hAsync("td", { class: "duet-editable-table-actions-menu", colSpan: 99 }, hAsync("slot", { name: "thead-last" })))), hAsync("tbody", null, this.renderTableBody()), hAsync("tfoot", null, hAsync("tr", null, hAsync("th", { class: "duet-editable-table-footer-menu", colSpan: 99 }, hAsync("slot", { name: "tfoot" }))))))));
|
|
10049
|
+
} }, hAsync("duet-table", { class: "duet-editable-table-table", sticky: this.sticky, stickyDistance: this.stickyDistance, margin: this.margin, theme: this.theme, variation: this.variation, breakpoint: this.breakpoint }, hAsync("table", { role: this.accessibleRole }, hAsync("caption", null, hAsync("slot", { name: "tcaption" })), hAsync("thead", null, hAsync("tr", null, hAsync("td", { class: "duet-editable-table-actions-menu", colSpan: 99 }, hAsync("slot", { name: "thead-first" }))), this.renderTableHeader(), hAsync("tr", null, hAsync("td", { class: "duet-editable-table-actions-menu", colSpan: 99 }, hAsync("slot", { name: "thead-last" })))), hAsync("tbody", null, this.renderTableBody()), hAsync("tfoot", null, hAsync("tr", null, hAsync("th", { class: "duet-editable-table-footer-menu", colSpan: 99 }, hAsync("slot", { name: "tfoot" }))))))));
|
|
10031
10050
|
}
|
|
10032
10051
|
get element() { return getElement(this); }
|
|
10033
10052
|
static get style() { return duetEditableTableCss; }
|
|
@@ -13373,27 +13392,77 @@ var actionAdd={"title":"action-add","tags":"action add plus","svg":"<svg fill=\"
|
|
|
13373
13392
|
|
|
13374
13393
|
var actionSubtract={"title":"action-subtract","tags":"action subtract minus remove delete cancel","svg":"<svg fill=\"currentColor\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" role=\"img\"><path d=\"M.75 12.788a.75.75 0 0 1 0-1.5h22.5a.75.75 0 0 1 0 1.5z\"/></svg>"};
|
|
13375
13394
|
|
|
13376
|
-
|
|
13377
|
-
|
|
13378
|
-
|
|
13379
|
-
|
|
13380
|
-
|
|
13381
|
-
|
|
13382
|
-
|
|
13383
|
-
|
|
13384
|
-
|
|
13385
|
-
|
|
13386
|
-
|
|
13387
|
-
|
|
13388
|
-
|
|
13389
|
-
|
|
13390
|
-
|
|
13391
|
-
|
|
13392
|
-
|
|
13393
|
-
|
|
13394
|
-
|
|
13395
|
-
|
|
13396
|
-
|
|
13395
|
+
/**
|
|
13396
|
+
* function that takes a string value or number and looks for any character resembling a minus,
|
|
13397
|
+
* it will then replace it with a hypen-minus and return the parseFloat value of that string
|
|
13398
|
+
* it will string / number cast the value to a number and return that number
|
|
13399
|
+
* known issues: if a negative number is indicated with other characters than a "minus like" character, it will throw
|
|
13400
|
+
* - an example is that some locales use (number) as an indicator for negative values instead of -number
|
|
13401
|
+
*/
|
|
13402
|
+
function SafeParseFloat(value, locale) {
|
|
13403
|
+
let results;
|
|
13404
|
+
if (typeof value === "string") {
|
|
13405
|
+
//the minuses are NOT the same characters, they differ in unicode for some languages
|
|
13406
|
+
// "‐", "−", "–", and "—"
|
|
13407
|
+
let convertedMinus = value.replace("−", "-").replace("‐", "-").replace("−", "-").replace("–", "-").replace("—", "-");
|
|
13408
|
+
if (locale) {
|
|
13409
|
+
convertedMinus = ConvertToEnUS(convertedMinus, locale, false);
|
|
13410
|
+
}
|
|
13411
|
+
// replace all possible spaces from the string
|
|
13412
|
+
convertedMinus = convertedMinus.replace(/\s+/g, "");
|
|
13413
|
+
convertedMinus = convertedMinus.replace(/(?!^-?\d*\.{0,1}\d+$)/g, "");
|
|
13414
|
+
/*
|
|
13415
|
+
example: https://regex101.com/r/np7FqS/1
|
|
13416
|
+
/(?!^-?\d*\.{0,1}\d+$)/g
|
|
13417
|
+
Negative Lookahead (?!^-?\d*\.{0,1}\d+$)
|
|
13418
|
+
Assert that the Regex below does not match
|
|
13419
|
+
^ asserts position at start of a line
|
|
13420
|
+
- matches the character - with index 4510 (2D16 or 558) literally (case sensitive)
|
|
13421
|
+
? matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)
|
|
13422
|
+
\d matches a digit (equivalent to [0-9])
|
|
13423
|
+
* matches the previous token between zero and unlimited times, as many times as possible, giving back as needed (greedy)
|
|
13424
|
+
\. matches the character . with index 4610 (2E16 or 568) literally (case sensitive)
|
|
13425
|
+
{0,1} matches the previous token between zero and one times, as many times as possible, giving back as needed (greedy)
|
|
13426
|
+
\d matches a digit (equivalent to [0-9])
|
|
13427
|
+
+ matches the previous token between one and unlimited times, as many times as possible, giving back as needed (greedy)
|
|
13428
|
+
$ asserts position at the end of a line
|
|
13429
|
+
Global pattern flags
|
|
13430
|
+
g modifier: global. All matches (don't return after first match)
|
|
13431
|
+
m modifier: multi line. Causes ^ and $ to match the begin/end of each line (not only begin/end of string)
|
|
13432
|
+
*/
|
|
13433
|
+
results = parseFloat(convertedMinus);
|
|
13434
|
+
}
|
|
13435
|
+
if (typeof value === "number") {
|
|
13436
|
+
results = parseFloat(String(value));
|
|
13437
|
+
}
|
|
13438
|
+
if (!isNaN(Number(results))) {
|
|
13439
|
+
return Number(results);
|
|
13440
|
+
}
|
|
13441
|
+
if (value === null || value === undefined) {
|
|
13442
|
+
return null;
|
|
13443
|
+
}
|
|
13444
|
+
throw new Error("Invalid value passed to SafeParseFloat");
|
|
13445
|
+
}
|
|
13446
|
+
// string conversion function that takes a locale and coverts decimal indicator to en-US indicator
|
|
13447
|
+
// and takes the thousand separator for the given locale and transforms that to the en-US separator
|
|
13448
|
+
function ConvertToEnUS(value, locale, replaceThousands = false) {
|
|
13449
|
+
let replacedValue;
|
|
13450
|
+
const localeSeparator = new Intl.NumberFormat(locale).format(1 / 2).replace(/[0-9]/g, "");
|
|
13451
|
+
const enUSSeparator = new Intl.NumberFormat("en-US").format(1 / 2).replace(/[0-9]/g, "");
|
|
13452
|
+
const thousandSeparator = new Intl.NumberFormat(locale).format(1000).replace(/[0-9]/g, "");
|
|
13453
|
+
const enUSThousandSeparator = new Intl.NumberFormat("en-US").format(1000).replace(/[0-9]/g, "");
|
|
13454
|
+
// double conversions to avoid ,->. and .->, at the same time resulting in a double conversion
|
|
13455
|
+
replacedValue = value.replace(localeSeparator, "DECIMALSEPARATOR");
|
|
13456
|
+
if (replaceThousands) {
|
|
13457
|
+
replacedValue = replacedValue.replace(thousandSeparator, "THOUSANDSEPARATOR");
|
|
13458
|
+
}
|
|
13459
|
+
else {
|
|
13460
|
+
replacedValue = replacedValue.replace(thousandSeparator, "");
|
|
13461
|
+
}
|
|
13462
|
+
replacedValue = replacedValue.replace("DECIMALSEPARATOR", enUSSeparator);
|
|
13463
|
+
replacedValue = replacedValue.replace("THOUSANDSEPARATOR", enUSThousandSeparator);
|
|
13464
|
+
return replacedValue;
|
|
13465
|
+
}
|
|
13397
13466
|
const roundTo = (val, multiple) => Math.round(val / multiple) * multiple;
|
|
13398
13467
|
const clamp = (val, min, max) => Math.min(Math.max(val, min), max);
|
|
13399
13468
|
|
|
@@ -13569,7 +13638,7 @@ class DuetNumberInput {
|
|
|
13569
13638
|
this.handleChange = (ev) => {
|
|
13570
13639
|
const input = ev.target;
|
|
13571
13640
|
if (input && input.value) {
|
|
13572
|
-
let value =
|
|
13641
|
+
let value = SafeParseFloat(input.value, this.locale);
|
|
13573
13642
|
// Make sure that everything works if the user clears the input and
|
|
13574
13643
|
// starts typing non-numeric characters.
|
|
13575
13644
|
if (isNaN(value) || value == null) {
|
|
@@ -13579,7 +13648,7 @@ class DuetNumberInput {
|
|
|
13579
13648
|
this.duetInput.emit({
|
|
13580
13649
|
component: "duet-number-input",
|
|
13581
13650
|
originalEvent: ev,
|
|
13582
|
-
value: this.
|
|
13651
|
+
value: SafeParseFloat(this.value, this.locale).toString(),
|
|
13583
13652
|
valueAsNumber: value,
|
|
13584
13653
|
});
|
|
13585
13654
|
}
|
|
@@ -13600,30 +13669,29 @@ class DuetNumberInput {
|
|
|
13600
13669
|
if (input.value) {
|
|
13601
13670
|
// On blur we want to make sure that the user input is between the min and max values,
|
|
13602
13671
|
// and also round it up or down to the nearest step.
|
|
13603
|
-
let value =
|
|
13672
|
+
let value = SafeParseFloat(input.value, this.locale);
|
|
13604
13673
|
if (this.rounding) {
|
|
13605
13674
|
value = roundTo(value, this.step);
|
|
13606
13675
|
}
|
|
13607
13676
|
value = clamp(value, this.min, this.max);
|
|
13608
|
-
if (value !==
|
|
13677
|
+
if (value !== SafeParseFloat(this.value, this.locale) ||
|
|
13678
|
+
value !== SafeParseFloat(this.focusedValue, this.locale)) {
|
|
13609
13679
|
this.setValue(value);
|
|
13610
13680
|
this.emitChange(ev);
|
|
13611
13681
|
}
|
|
13612
13682
|
}
|
|
13613
|
-
|
|
13614
|
-
|
|
13615
|
-
|
|
13616
|
-
|
|
13617
|
-
|
|
13618
|
-
|
|
13619
|
-
});
|
|
13620
|
-
}
|
|
13683
|
+
this.duetChange.emit({
|
|
13684
|
+
originalEvent: ev,
|
|
13685
|
+
value: null,
|
|
13686
|
+
valueAsNumber: null,
|
|
13687
|
+
component: "duet-number-input",
|
|
13688
|
+
});
|
|
13621
13689
|
};
|
|
13622
13690
|
/**
|
|
13623
13691
|
* Local methods.
|
|
13624
13692
|
*/
|
|
13625
13693
|
this.emitChange = (ev) => {
|
|
13626
|
-
const currentValue = this.
|
|
13694
|
+
const currentValue = SafeParseFloat(this.value, this.locale);
|
|
13627
13695
|
this.duetChange.emit({
|
|
13628
13696
|
originalEvent: ev,
|
|
13629
13697
|
value: currentValue.toString(),
|
|
@@ -13631,10 +13699,6 @@ class DuetNumberInput {
|
|
|
13631
13699
|
component: "duet-number-input",
|
|
13632
13700
|
});
|
|
13633
13701
|
};
|
|
13634
|
-
this.cleanValue = (value) => {
|
|
13635
|
-
// Returns a number that can be used in calculations.
|
|
13636
|
-
return value ? parseLocaleFloat(value, this.locale) : null;
|
|
13637
|
-
};
|
|
13638
13702
|
this.localizeValue = (value) => {
|
|
13639
13703
|
// Returns a localized string that can be used as input value.
|
|
13640
13704
|
return value.toLocaleString(this.locale);
|
|
@@ -13651,13 +13715,13 @@ class DuetNumberInput {
|
|
|
13651
13715
|
if (ev) {
|
|
13652
13716
|
ev.preventDefault();
|
|
13653
13717
|
}
|
|
13654
|
-
const
|
|
13718
|
+
const cleanedValue = SafeParseFloat(this.value, this.locale);
|
|
13655
13719
|
// Only fire change event when necessary
|
|
13656
|
-
if (
|
|
13720
|
+
if (cleanedValue === this.max) {
|
|
13657
13721
|
return;
|
|
13658
13722
|
}
|
|
13659
13723
|
// in cases where no value set, incrementing should go to min
|
|
13660
|
-
let newValue =
|
|
13724
|
+
let newValue = cleanedValue == null ? this.min : cleanedValue + this.step;
|
|
13661
13725
|
// handle cases where value is not multiple of step
|
|
13662
13726
|
// e.g. if someone enters 199, with a step of 100, add should go to 200
|
|
13663
13727
|
// and if someone enters 101, add should also go to 200
|
|
@@ -13665,8 +13729,8 @@ class DuetNumberInput {
|
|
|
13665
13729
|
const adjustment = newValue % this.step;
|
|
13666
13730
|
newValue -= adjustment;
|
|
13667
13731
|
}
|
|
13668
|
-
|
|
13669
|
-
this.value = this.localizeValue(
|
|
13732
|
+
const clampedValue = clamp(newValue, this.min, this.max);
|
|
13733
|
+
this.value = this.localizeValue(clampedValue);
|
|
13670
13734
|
this.emitChange(ev);
|
|
13671
13735
|
};
|
|
13672
13736
|
this.subtract = (ev) => {
|
|
@@ -13675,7 +13739,7 @@ class DuetNumberInput {
|
|
|
13675
13739
|
if (ev) {
|
|
13676
13740
|
ev.preventDefault();
|
|
13677
13741
|
}
|
|
13678
|
-
const currentValue = this.
|
|
13742
|
+
const currentValue = SafeParseFloat(this.value, this.locale);
|
|
13679
13743
|
// Only fire change event when necessary.
|
|
13680
13744
|
if (currentValue === this.min) {
|
|
13681
13745
|
return;
|
|
@@ -13700,7 +13764,7 @@ class DuetNumberInput {
|
|
|
13700
13764
|
inheritGlobalTheme(this);
|
|
13701
13765
|
// Format the number value to a localeString initially.
|
|
13702
13766
|
if (this.value) {
|
|
13703
|
-
this.value = this.localizeValue(
|
|
13767
|
+
this.value = this.localizeValue(SafeParseFloat(this.value, this.locale));
|
|
13704
13768
|
}
|
|
13705
13769
|
}
|
|
13706
13770
|
/**
|
|
@@ -13715,7 +13779,7 @@ class DuetNumberInput {
|
|
|
13715
13779
|
this.duetInputElement.value = "";
|
|
13716
13780
|
}
|
|
13717
13781
|
formatAnnouncement() {
|
|
13718
|
-
const current = this.
|
|
13782
|
+
const current = SafeParseFloat(this.value, this.locale);
|
|
13719
13783
|
if (current == null) {
|
|
13720
13784
|
return "";
|
|
13721
13785
|
}
|
|
@@ -13728,7 +13792,7 @@ class DuetNumberInput {
|
|
|
13728
13792
|
render() {
|
|
13729
13793
|
const identifier = this.identifier || this.inputId;
|
|
13730
13794
|
const maxlength = `${this.localizeValue(this.max)} ${this.unit}`.length;
|
|
13731
|
-
const cleanedValue = this.
|
|
13795
|
+
const cleanedValue = SafeParseFloat(this.value, this.locale);
|
|
13732
13796
|
return (hAsync(Host, { class: {
|
|
13733
13797
|
"duet-theme-turva": this.theme === "turva",
|
|
13734
13798
|
"duet-expand": this.expand,
|
|
@@ -13918,6 +13982,7 @@ class DuetPagination {
|
|
|
13918
13982
|
await this.setFocus();
|
|
13919
13983
|
}
|
|
13920
13984
|
}
|
|
13985
|
+
return true;
|
|
13921
13986
|
};
|
|
13922
13987
|
//helper to emit relevant page events
|
|
13923
13988
|
this.emitPageEvent = debounce((ev, passedPage) => {
|
|
@@ -13931,7 +13996,7 @@ class DuetPagination {
|
|
|
13931
13996
|
type: "page",
|
|
13932
13997
|
originalEvent: ev,
|
|
13933
13998
|
});
|
|
13934
|
-
},
|
|
13999
|
+
}, 100);
|
|
13935
14000
|
// this will return the entered number, or the current page if the user presses enter
|
|
13936
14001
|
this.getEnteredNumber = debounce(ev => {
|
|
13937
14002
|
this.emitPageEvent(ev, this.numbersStore);
|
|
@@ -13949,7 +14014,7 @@ class DuetPagination {
|
|
|
13949
14014
|
}, 500);
|
|
13950
14015
|
}
|
|
13951
14016
|
watchStateHandler(newValue, oldValue) {
|
|
13952
|
-
this.actionChain(newValue, oldValue);
|
|
14017
|
+
return this.actionChain(newValue, oldValue);
|
|
13953
14018
|
}
|
|
13954
14019
|
/**
|
|
13955
14020
|
* Component lifecycle events.
|
|
@@ -13977,6 +14042,7 @@ class DuetPagination {
|
|
|
13977
14042
|
e.preventDefault();
|
|
13978
14043
|
e.stopPropagation();
|
|
13979
14044
|
this.current = this.current + dir;
|
|
14045
|
+
this.emitPageEvent(e);
|
|
13980
14046
|
}
|
|
13981
14047
|
//handle a11y keyboard navigation events
|
|
13982
14048
|
async onKeyboardDown(e) {
|
|
@@ -14019,8 +14085,9 @@ class DuetPagination {
|
|
|
14019
14085
|
sectionClickHandler(e, direction) {
|
|
14020
14086
|
e.preventDefault();
|
|
14021
14087
|
let next = this.internalSectionIndex + direction;
|
|
14022
|
-
|
|
14023
|
-
|
|
14088
|
+
const takePerVisibleItems = this.take * this.visibleItems;
|
|
14089
|
+
if (next * takePerVisibleItems > this.total) {
|
|
14090
|
+
next = this.internalSectionIndex;
|
|
14024
14091
|
}
|
|
14025
14092
|
const newSection = next;
|
|
14026
14093
|
this.internalSectionIndex = newSection >= 0 ? newSection : 0;
|
|
@@ -14030,12 +14097,14 @@ class DuetPagination {
|
|
|
14030
14097
|
e.preventDefault();
|
|
14031
14098
|
this.internalSectionIndex = 0;
|
|
14032
14099
|
this.current = 1;
|
|
14100
|
+
this.emitPageEvent(e);
|
|
14033
14101
|
}
|
|
14034
14102
|
//handles click on the jump (total) button
|
|
14035
14103
|
jumpToEnd(e) {
|
|
14036
14104
|
e.preventDefault();
|
|
14037
|
-
this.internalSectionIndex = this.totalPages / this.take - 1;
|
|
14105
|
+
this.internalSectionIndex = Math.ceil(this.totalPages / this.take - 1);
|
|
14038
14106
|
this.current = this.totalPages;
|
|
14107
|
+
this.emitPageEvent(e);
|
|
14039
14108
|
}
|
|
14040
14109
|
// render the individual page numbers
|
|
14041
14110
|
renderPageNumbers() {
|
|
@@ -14075,7 +14144,7 @@ class DuetPagination {
|
|
|
14075
14144
|
}, role: "menubar", "aria-label": this.accessibleLabels.pagination_label, "aria-description": this.accessibleLabels.description }, hAsync("li", { class: {
|
|
14076
14145
|
"duet-pagination-page-button": true,
|
|
14077
14146
|
"duet-pagination-button-first": true,
|
|
14078
|
-
}, role: "menuitem", part: "navigation-arrow" }, hAsync("duet-action-button", { disabled: this.internalSectionIndex === 0 && this.current <= 1, "data-direction": "back", onClick: e => this.onMouseHandler(e, -1), "aria-label": this.accessibleLabels.previous_page, "icon-name": "action-arrow-left-small" })), this.internalSectionIndex !== 0 && this.shouldDisplayNavigation() && (hAsync(Fragment, null, hAsync("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" }, hAsync("duet-button", { class: "duet-pagination-link", "center-text": "true", variation: "plain", color: "secondary", margin: "none", accessibleLabel: this.accessibleLabels.first_page, onClick: e => this.jumpToStart(e) }, hAsync("div", { class: "duet-pagination-page-number" }, "1"))), hAsync("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-section" }, hAsync("duet-button", { class: "duet-pagination-link", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.prev_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, -1) }, hAsync("div", { class: "duet-pagination-page-number", "aria-hidden": "true" }, "..."))))), this.renderPageNumbers(), this.internalSectionIndex
|
|
14147
|
+
}, role: "menuitem", part: "navigation-arrow" }, hAsync("duet-action-button", { disabled: this.internalSectionIndex === 0 && this.current <= 1, "data-direction": "back", onClick: e => this.onMouseHandler(e, -1), "aria-label": this.accessibleLabels.previous_page, "icon-name": "action-arrow-left-small" })), this.internalSectionIndex !== 0 && this.shouldDisplayNavigation() && (hAsync(Fragment, null, hAsync("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" }, hAsync("duet-button", { class: "duet-pagination-link duet-pagination-link-jump-back", "center-text": "true", variation: "plain", color: "secondary", margin: "none", accessibleLabel: this.accessibleLabels.first_page, onClick: e => this.jumpToStart(e) }, hAsync("div", { class: "duet-pagination-page-number" }, "1"))), hAsync("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-section" }, hAsync("duet-button", { class: "duet-pagination-link duet-pagination-link-dots-back", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.prev_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, -1) }, hAsync("div", { class: "duet-pagination-page-number", "aria-hidden": "true" }, "..."))))), this.renderPageNumbers(), this.internalSectionIndex * (this.visibleItems + 2) < this.totalPages && this.shouldDisplayNavigation() && (hAsync(Fragment, null, hAsync("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-section" }, hAsync("duet-button", { class: "duet-pagination-link duet-pagination-link-dots-forward", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.next_section.replace("{0}", `${this.visibleItems}`), onClick: e => this.sectionClickHandler(e, 1) }, hAsync("div", { class: "duet-pagination-page-number", "aria-hidden": "true" }, "..."))), hAsync("li", { class: "duet-pagination-item", role: "menuitem", part: "navigation-jump" }, hAsync("duet-button", { class: "duet-pagination-link duet-pagination-link-jump-forward", "center-text": "true", color: "secondary", variation: "plain", margin: "none", accessibleLabel: this.accessibleLabels.last_page, onClick: e => this.jumpToEnd(e) }, hAsync("div", { class: "duet-pagination-page-number" }, this.totalPages))))), hAsync("li", { class: {
|
|
14079
14148
|
"duet-pagination-page-button": true,
|
|
14080
14149
|
"duet-pagination-button-last": true,
|
|
14081
14150
|
}, role: "menuitem", part: "navigation-arrow" }, hAsync("duet-action-button", { disabled: this.current === this.totalPages &&
|
|
@@ -14099,9 +14168,9 @@ class DuetPagination {
|
|
|
14099
14168
|
"accessibleDescription": [1, "accessible-description"],
|
|
14100
14169
|
"accessibleLabelsDefaults": [16],
|
|
14101
14170
|
"accessibleLabels": [16],
|
|
14102
|
-
"take": [
|
|
14103
|
-
"visibleItems": [
|
|
14104
|
-
"total": [
|
|
14171
|
+
"take": [2],
|
|
14172
|
+
"visibleItems": [2, "visible-items"],
|
|
14173
|
+
"total": [2],
|
|
14105
14174
|
"ariaControls": [1, "accessible-controls"],
|
|
14106
14175
|
"current": [1026],
|
|
14107
14176
|
"numbersStore": [32],
|
|
@@ -14846,15 +14915,15 @@ class DuetRangeStepper {
|
|
|
14846
14915
|
this.handleStepClick(e);
|
|
14847
14916
|
};
|
|
14848
14917
|
}
|
|
14849
|
-
|
|
14850
|
-
if (newValue
|
|
14918
|
+
watchStepIndexStateHandler(newValue) {
|
|
14919
|
+
if (newValue <= 1) {
|
|
14851
14920
|
this.leftBnRef.setAttribute("disabled", "");
|
|
14852
14921
|
this.rightBnRef.focus();
|
|
14853
14922
|
}
|
|
14854
14923
|
else {
|
|
14855
14924
|
this.leftBnRef.removeAttribute("disabled");
|
|
14856
14925
|
}
|
|
14857
|
-
if (newValue
|
|
14926
|
+
if (newValue >= this.total / this.stepSize) {
|
|
14858
14927
|
this.rightBnRef.setAttribute("disabled", "");
|
|
14859
14928
|
this.leftBnRef.focus();
|
|
14860
14929
|
}
|
|
@@ -14862,12 +14931,20 @@ class DuetRangeStepper {
|
|
|
14862
14931
|
this.rightBnRef.removeAttribute("disabled");
|
|
14863
14932
|
}
|
|
14864
14933
|
}
|
|
14934
|
+
watchStepSizeStateHandler(newValue, oldValue) {
|
|
14935
|
+
if (newValue !== oldValue) {
|
|
14936
|
+
if (this.stepIndex * newValue > this.total) {
|
|
14937
|
+
this.stepIndex = this.total / newValue;
|
|
14938
|
+
}
|
|
14939
|
+
}
|
|
14940
|
+
}
|
|
14865
14941
|
handleStepClick(e) {
|
|
14942
|
+
const from = this.stepIndex * this.stepSize - this.stepSize;
|
|
14866
14943
|
this.duetRangeStepUpdate.emit({
|
|
14867
14944
|
originalEvent: e,
|
|
14868
14945
|
component: "duet-range-stepper",
|
|
14869
|
-
from:
|
|
14870
|
-
to: this.
|
|
14946
|
+
from: from,
|
|
14947
|
+
to: this.getTo(),
|
|
14871
14948
|
index: this.stepIndex,
|
|
14872
14949
|
});
|
|
14873
14950
|
}
|
|
@@ -14875,7 +14952,7 @@ class DuetRangeStepper {
|
|
|
14875
14952
|
inheritGlobalTheme(this);
|
|
14876
14953
|
}
|
|
14877
14954
|
componentDidLoad() {
|
|
14878
|
-
this.
|
|
14955
|
+
this.watchStepIndexStateHandler(this.stepIndex);
|
|
14879
14956
|
}
|
|
14880
14957
|
increment(direction) {
|
|
14881
14958
|
const newIndex = this.stepIndex + direction;
|
|
@@ -14883,20 +14960,28 @@ class DuetRangeStepper {
|
|
|
14883
14960
|
this.stepIndex = 1;
|
|
14884
14961
|
}
|
|
14885
14962
|
else {
|
|
14886
|
-
if (newIndex * this.stepSize
|
|
14963
|
+
if (newIndex * this.stepSize < this.total + this.stepSize) {
|
|
14887
14964
|
this.stepIndex = newIndex;
|
|
14888
14965
|
}
|
|
14966
|
+
else if (newIndex * this.stepSize > this.total + this.stepSize) {
|
|
14967
|
+
this.stepIndex = Math.floor(this.total / this.stepSize);
|
|
14968
|
+
}
|
|
14889
14969
|
}
|
|
14890
14970
|
}
|
|
14971
|
+
getTo() {
|
|
14972
|
+
const to = this.stepIndex * this.stepSize;
|
|
14973
|
+
const result = to > this.total ? this.total : to;
|
|
14974
|
+
return result;
|
|
14975
|
+
}
|
|
14891
14976
|
generateStepSize() {
|
|
14892
14977
|
// this function uses this.stepIndex and this.range to generate a range of number like 1-100
|
|
14893
14978
|
// this is used to generate the step size
|
|
14894
|
-
let start = (this.stepIndex - 1) * this.stepSize;
|
|
14979
|
+
let start = Math.floor((this.stepIndex - 1) * this.stepSize);
|
|
14895
14980
|
//easy fix for starting position
|
|
14896
14981
|
if (start === 0) {
|
|
14897
14982
|
start = 1;
|
|
14898
14983
|
}
|
|
14899
|
-
const end = this.stepIndex * this.stepSize;
|
|
14984
|
+
const end = Math.floor(this.stepIndex * this.stepSize);
|
|
14900
14985
|
return this.ariaLabels.x_of_y
|
|
14901
14986
|
.replace("{0}", String(start))
|
|
14902
14987
|
.replace("{1}", String(end))
|
|
@@ -14934,7 +15019,8 @@ class DuetRangeStepper {
|
|
|
14934
15019
|
}
|
|
14935
15020
|
get element() { return getElement(this); }
|
|
14936
15021
|
static get watchers() { return {
|
|
14937
|
-
"stepIndex": ["
|
|
15022
|
+
"stepIndex": ["watchStepIndexStateHandler"],
|
|
15023
|
+
"stepSize": ["watchStepSizeStateHandler"]
|
|
14938
15024
|
}; }
|
|
14939
15025
|
static get style() { return duetRangeStepperCss; }
|
|
14940
15026
|
static get cmpMeta() { return {
|
|
@@ -16003,7 +16089,7 @@ class DuetTabGroup {
|
|
|
16003
16089
|
}; }
|
|
16004
16090
|
}
|
|
16005
16091
|
|
|
16006
|
-
const duetTableCss = "duet-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;font-variant-numeric:tabular-nums}duet-table table,duet-table thead,duet-table tbody,duet-table tfoot,duet-table th,duet-table td,duet-table tr{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}duet-table.duet-m-0{margin:0 !important}duet-table table{width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;text-align:left;border-spacing:0;border-collapse:separate}duet-table.duet-theme-turva table{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}duet-table td{-webkit-hyphens:auto;hyphens:auto;color:#00294d}duet-table.duet-theme-turva td{color:#171c3a}duet-table th{font-weight:600;line-height:1.25;color:#657787;text-align:left}duet-table.duet-theme-turva th{color:#747475}duet-table tbody th{font-weight:600;color:#00294d}duet-table.duet-theme-turva tbody th{color:#171c3a}duet-table .duet-table-action-row td:last-child{justify-self:end;padding-right:20px !important;white-space:nowrap}.duet-table-flattened
|
|
16092
|
+
const duetTableCss = "duet-table{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none;margin-bottom:20px !important;display:block;font-variant-numeric:tabular-nums}duet-table table,duet-table thead,duet-table tbody,duet-table tfoot,duet-table th,duet-table td,duet-table tr{box-sizing:border-box;padding:0;margin:0;background:transparent;border:0;-moz-appearance:none;-webkit-appearance:none;appearance:none}duet-table.duet-m-0{margin:0 !important}duet-table table{width:100%;font-family:\"localtapiola-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";font-size:1rem;text-align:left;border-spacing:0;border-collapse:separate}duet-table.duet-theme-turva table{font-family:\"turva-sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"}duet-table td{-webkit-hyphens:auto;hyphens:auto;color:#00294d}duet-table.duet-theme-turva td{color:#171c3a}duet-table th{font-weight:600;line-height:1.25;color:#657787;text-align:left}duet-table.duet-theme-turva th{color:#747475}duet-table tbody th{font-weight:600;color:#00294d}duet-table.duet-theme-turva tbody th{color:#171c3a}duet-table .duet-table-action-row td:last-child{justify-self:end;padding-right:20px !important;white-space:nowrap}.duet-table-flattened table,.duet-table-flattened thead,.duet-table-flattened tbody,.duet-table-flattened tfoot,.duet-table-flattened th,.duet-table-flattened td,.duet-table-flattened tr{display:block}.duet-table-flattened thead tr{position:absolute !important;top:0;width:1px !important;height:1px !important;padding:0 !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important;border:0 !important}.duet-table-flattened td{line-height:1.25}.duet-table-flattened td:not(:last-child){margin-bottom:16px !important}.duet-table-flattened tbody td,.duet-table-flattened tbody th,.duet-table-flattened tfoot td{padding:0 !important;text-align:left !important}.duet-table-flattened tbody th{font-weight:600;line-height:1.25;color:#657787;text-align:left}.duet-table-flattened td[data-heading]::before{margin-bottom:4px !important;display:block;font-size:1rem;font-weight:600;color:#00294d;content:attr(data-heading)}.duet-table-flattened.duet-theme-turva td[data-heading]::before{color:#171c3a}.duet-table-sticky thead th{position:sticky;top:0;background:white}.duet-table-striped td,.duet-table-striped th{padding:20px !important}@media (max-width: 35.9375em){.duet-table-striped td,.duet-table-striped th{padding:20px 12px !important}}.duet-table-striped tbody th{background:white}.duet-table-striped.duet-table-sticky thead th{border-bottom:1px solid #e1e3e6}.duet-table-striped.duet-table-sticky.duet-theme-turva thead th{border-bottom-color:#e4e4e6}.duet-table-striped tbody:not(:first-of-type) th{padding-top:40px !important}.duet-table-striped tbody:only-of-type tr:nth-of-type(odd){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:only-of-type tr:nth-of-type(odd){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(0, 80, 128, 0.04)}.duet-table-striped.duet-theme-turva tbody:not(:only-of-type) tr:nth-of-type(even){background:rgba(23, 28, 58, 0.04)}.duet-table-striped tfoot td{border-top:1px solid #e1e3e6}.duet-table-striped.duet-theme-turva tfoot td{border-top-color:#e4e4e6}.duet-table-striped.duet-table-flattened tbody:not(:first-of-type) th{padding-top:20px !important}.duet-table-striped.duet-table-flattened tr{padding:20px !important}.duet-table-striped.duet-table-flattened tfoot td{border-top:0}.duet-table-striped.duet-table-flattened tfoot tr{border-top:1px solid #e1e3e6}.duet-table-striped.duet-table-flattened.duet-theme-turva tfoot tr{border-top-color:#e4e4e6}.duet-table-fixed th,.duet-table-minimal th,.duet-table-plain th{padding:16px !important;border-bottom:1px solid #657787}.duet-table-fixed th:first-child,.duet-table-minimal th:first-child,.duet-table-plain th:first-child{padding-left:0 !important}.duet-table-fixed th:last-child,.duet-table-minimal th:last-child,.duet-table-plain th:last-child{padding-right:0 !important}.duet-theme-turva.duet-table-fixed th,.duet-theme-turva.duet-table-minimal th,.duet-theme-turva.duet-table-plain th{border-bottom-color:#444445}.duet-table-fixed tbody th,.duet-table-minimal tbody th,.duet-table-plain tbody th{padding-top:40px !important;border-bottom-color:#e1e3e6}.duet-theme-turva.duet-table-fixed tbody th,.duet-theme-turva.duet-table-minimal tbody th,.duet-theme-turva.duet-table-plain tbody th{border-bottom-color:#e4e4e6}.duet-table-fixed td,.duet-table-minimal td,.duet-table-plain td{padding:16px !important}.duet-table-fixed td:first-child,.duet-table-minimal td:first-child,.duet-table-plain td:first-child{padding-left:0 !important}.duet-table-fixed td:last-child,.duet-table-minimal td:last-child,.duet-table-plain td:last-child{padding-right:0 !important}.duet-table-fixed tbody td,.duet-table-minimal tbody td,.duet-table-plain tbody td{border-bottom:1px solid #e1e3e6}.duet-theme-turva.duet-table-fixed tbody td,.duet-theme-turva.duet-table-minimal tbody td,.duet-theme-turva.duet-table-plain tbody td{border-bottom-color:#e4e4e6}.duet-table-flattened.duet-table-fixed tbody:first-of-type th,.duet-table-flattened.duet-table-minimal tbody:first-of-type th,.duet-table-flattened.duet-table-plain tbody:first-of-type th{padding-top:0 !important}.duet-table-flattened.duet-table-fixed td,.duet-table-flattened.duet-table-minimal td,.duet-table-flattened.duet-table-plain td,.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{border-bottom:0}.duet-table-flattened.duet-table-fixed tr,.duet-table-flattened.duet-table-minimal tr,.duet-table-flattened.duet-table-plain tr{padding:20px 0 !important}.duet-table-flattened.duet-table-fixed tbody th,.duet-table-flattened.duet-table-minimal tbody th,.duet-table-flattened.duet-table-plain tbody th{padding-top:20px !important}.duet-table-flattened.duet-table-fixed tfoot td,.duet-table-flattened.duet-table-minimal tfoot td,.duet-table-flattened.duet-table-plain tfoot td{margin-bottom:4px !important}.duet-table-flattened.duet-table-fixed tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-minimal tbody:not(:only-of-type) tr:first-child,.duet-table-flattened.duet-table-plain tbody:not(:only-of-type) tr:first-child{border-bottom:0}.duet-table-plain.duet-table-flattened tbody tr{border-bottom:1px solid #e1e3e6}.duet-table-plain.duet-table-flattened.duet-theme-turva tbody tr{border-bottom-color:#e4e4e6}.duet-table-minimal tbody tr,.duet-table-minimal tbody tr td{vertical-align:top;border-bottom:0 none}.duet-table-minimal tbody tr:last-of-type,.duet-table-minimal tbody tr:last-of-type td{border-bottom:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened tbody tr,.duet-table-minimal.duet-table-flattened tbody tr td{border-bottom:0 none}.duet-table-minimal.duet-table-flattened tbody tr td[data-heading]::before{display:none}.duet-table-minimal.duet-table-flattened tfoot{border-top:1px solid #e1e3e6}.duet-table-minimal.duet-table-flattened.duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-fixed table{table-layout:fixed}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td,.duet-table-fixed tbody tr td:first-child{padding:4px !important;vertical-align:text-bottom;border-bottom:0 none}.duet-table-fixed thead{display:none}.duet-table-fixed tbody tr,.duet-table-fixed tbody tr td{border-bottom:0 none}.duet-table-fixed:not(.duet-table-flattened) tfoot{border-top:1px solid #e1e3e6}.duet-table-fixed:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-scrollable{position:relative;width:100%;overflow-x:auto;background:linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0)), linear-gradient(-90deg, #fff 0%, rgba(255, 255, 255, 0)) 100% 0, radial-gradient(farthest-side at 0% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)), radial-gradient(farthest-side at 100% 50%, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)) 100% 0%;background-repeat:no-repeat;background-attachment:local, local, scroll, scroll;background-size:100px 100%, 100px 100%, 12px 100%, 12px 100%}.duet-table-selected-column{background:rgba(0, 119, 179, 0.08)}.duet-theme-turva .duet-table-selected-column{background:rgba(68, 68, 69, 0.08)}.duet-table-sortable tbody tr td:first-child,.duet-table-sortable thead tr th:first-child{padding:20px}.duet-table-sortable:not(.duet-table-flattened) tfoot{border-top:1px solid #e1e3e6}.duet-table-sortable:not(.duet-table-flattened).duet-theme-turva tfoot{border-top-color:#e4e4e6}.duet-table-actions table{table-layout:auto}.duet-table-actions thead th:last-child{width:1px;white-space:nowrap}.duet-editable-table-table.duet-table-flattened tr{display:grid;grid-template-columns:repeat(2, 1fr);grid-auto-rows:auto;gap:10px}.duet-editable-table-table.duet-table-flattened tr.duet-table-action-row td:last-child::before{padding:0;content:\"\"}.duet-editable-table-table.duet-table-flattened td{grid-column:1/2}.duet-editable-table-table.duet-table-flattened td:first-child{grid-row:1;grid-column:1}.duet-editable-table-table.duet-table-flattened td:last-child{grid-row:1;grid-column:2}";
|
|
16007
16093
|
|
|
16008
16094
|
// remove wrapping speech marks.
|
|
16009
16095
|
// media query tokens are wrapped in speech marks,
|
|
@@ -19109,7 +19195,7 @@ const templateWindows = new Map, createHydrateBuildId = () => {
|
|
|
19109
19195
|
}, commentre = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g, getCssSelectors = e => {
|
|
19110
19196
|
SELECTORS.all.length = SELECTORS.tags.length = SELECTORS.classNames.length = SELECTORS.ids.length = SELECTORS.attrs.length = 0;
|
|
19111
19197
|
const t = (e = e.replace(/\./g, " .").replace(/\#/g, " #").replace(/\[/g, " [").replace(/\>/g, " > ").replace(/\+/g, " + ").replace(/\~/g, " ~ ").replace(/\*/g, " * ").replace(/\:not\((.*?)\)/g, " ")).split(" ");
|
|
19112
|
-
for (let e = 0, r = t.length; e < r; e++) t[e] = t[e].split(":")[0], 0 !== t[e].length && ("." === t[e].charAt(0) ? SELECTORS.classNames.push(t[e].
|
|
19198
|
+
for (let e = 0, r = t.length; e < r; e++) t[e] = t[e].split(":")[0], 0 !== t[e].length && ("." === t[e].charAt(0) ? SELECTORS.classNames.push(t[e].slice(1)) : "#" === t[e].charAt(0) ? SELECTORS.ids.push(t[e].slice(1)) : "[" === t[e].charAt(0) ? (t[e] = t[e].slice(1).split("=")[0].split("]")[0].trim(),
|
|
19113
19199
|
SELECTORS.attrs.push(t[e].toLowerCase())) : /[a-z]/g.test(t[e].charAt(0)) && SELECTORS.tags.push(t[e].toLowerCase()));
|
|
19114
19200
|
return SELECTORS.classNames = SELECTORS.classNames.sort(((e, t) => e.length < t.length ? -1 : e.length > t.length ? 1 : 0)),
|
|
19115
19201
|
SELECTORS;
|