@esri/calcite-components 1.0.0-next.605 → 1.0.0-next.607
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/dist/calcite/calcite.esm.js +2 -2
- package/dist/calcite/index.esm.js +1 -1
- package/dist/calcite/{p-da9fb826.js → p-0194be0b.js} +1 -1
- package/dist/calcite/{p-c4ec7584.js → p-04cd97f0.js} +2 -2
- package/dist/calcite/{p-a3311f4c.entry.js → p-05d91128.entry.js} +2 -2
- package/dist/calcite/{p-d22a5a99.entry.js → p-0a89a06d.entry.js} +2 -2
- package/dist/calcite/{p-d73bfb49.entry.js → p-0c941429.entry.js} +2 -2
- package/dist/calcite/{p-56529171.entry.js → p-10ed6464.entry.js} +2 -2
- package/dist/calcite/{p-6fa69299.entry.js → p-1142d6c8.entry.js} +2 -2
- package/dist/calcite/p-1305ee55.entry.js +6 -0
- package/dist/calcite/p-15fac2ab.js +6 -0
- package/dist/calcite/{p-c05f14e1.entry.js → p-215f9b3e.entry.js} +2 -2
- package/dist/calcite/{p-47b05392.js → p-228742f9.js} +2 -2
- package/dist/calcite/{p-39310407.entry.js → p-233e9c82.entry.js} +2 -2
- package/dist/calcite/{p-a7ff8b5e.entry.js → p-2577a91d.entry.js} +2 -2
- package/dist/calcite/{p-a4b453ef.entry.js → p-27480e42.entry.js} +2 -2
- package/dist/calcite/{p-665d6690.entry.js → p-2824d942.entry.js} +2 -2
- package/dist/calcite/{p-7da1bd2d.entry.js → p-29e7d607.entry.js} +2 -2
- package/dist/calcite/{p-c4f35c1d.entry.js → p-2a2d9854.entry.js} +2 -2
- package/dist/calcite/{p-1b29b480.entry.js → p-2ac4da68.entry.js} +2 -2
- package/dist/calcite/{p-c5b161a3.entry.js → p-2b623d7a.entry.js} +2 -2
- package/dist/calcite/{p-d6395bde.js → p-2e91306b.js} +1 -1
- package/dist/calcite/{p-20cf073f.entry.js → p-3191298d.entry.js} +2 -2
- package/dist/calcite/{p-62faaa89.js → p-331f03ef.js} +2 -2
- package/dist/calcite/{p-b245e0bd.entry.js → p-35a4696c.entry.js} +2 -2
- package/dist/calcite/{p-76b938c3.entry.js → p-35f864c5.entry.js} +2 -2
- package/dist/calcite/{p-8bf0b09d.entry.js → p-36207d38.entry.js} +2 -2
- package/dist/calcite/{p-143ce726.entry.js → p-389235c5.entry.js} +2 -2
- package/dist/calcite/p-3ad75dbc.entry.js +6 -0
- package/dist/calcite/{p-c2a1336a.entry.js → p-3c0e6bf9.entry.js} +2 -2
- package/dist/calcite/{p-b2a0941a.entry.js → p-3f71cb54.entry.js} +2 -2
- package/dist/calcite/{p-5996812a.entry.js → p-4053f375.entry.js} +2 -2
- package/dist/calcite/{p-57ea3109.entry.js → p-4054de19.entry.js} +2 -2
- package/dist/calcite/{p-53361e13.entry.js → p-4b6ab904.entry.js} +2 -2
- package/dist/calcite/{p-16fca6d8.js → p-4bba5de5.js} +2 -2
- package/dist/calcite/{p-f5ab8322.entry.js → p-4d118fe7.entry.js} +2 -2
- package/dist/calcite/{p-42828fde.js → p-534d76ec.js} +1 -1
- package/dist/calcite/{p-2190ab0e.entry.js → p-56e13c26.entry.js} +2 -2
- package/dist/calcite/{p-07f07127.entry.js → p-57cd8bf6.entry.js} +2 -2
- package/dist/calcite/{p-811b9da2.js → p-5a7d6abb.js} +1 -1
- package/dist/calcite/{p-81a65195.js → p-68be1a57.js} +1 -1
- package/dist/calcite/{p-0a3c5912.js → p-724ffb2b.js} +1 -1
- package/dist/calcite/{p-45e5800d.js → p-792a67ad.js} +1 -1
- package/dist/calcite/{p-f614abb8.entry.js → p-7f645e69.entry.js} +2 -2
- package/dist/calcite/{p-ca974433.js → p-8027c4fc.js} +2 -2
- package/dist/calcite/{p-4ed85873.entry.js → p-860f95db.entry.js} +2 -2
- package/dist/calcite/{p-6faba067.entry.js → p-8bbc5021.entry.js} +2 -2
- package/dist/calcite/{p-6e531fad.entry.js → p-8ce99d30.entry.js} +2 -2
- package/dist/calcite/p-8d64e950.js +6 -0
- package/dist/calcite/{p-78f25919.entry.js → p-963f91e7.entry.js} +2 -2
- package/dist/calcite/{p-3489af4d.entry.js → p-976bd33d.entry.js} +2 -2
- package/dist/calcite/{p-ce4d590c.js → p-9cc66598.js} +2 -2
- package/dist/calcite/{p-c3ec4e71.entry.js → p-9ef24687.entry.js} +2 -2
- package/dist/calcite/{p-33a88844.js → p-a19ba1b8.js} +1 -1
- package/dist/calcite/{p-878d494f.entry.js → p-a214e596.entry.js} +2 -2
- package/dist/calcite/p-a4f2a140.js +6 -0
- package/dist/calcite/{p-061fbfb7.js → p-a9c93bf7.js} +1 -1
- package/dist/calcite/{p-eb756dbe.js → p-ab2f0124.js} +1 -1
- package/dist/calcite/{p-46ca1b08.entry.js → p-ae537940.entry.js} +2 -2
- package/dist/calcite/{p-ab26cd3b.js → p-aec0e90c.js} +1 -1
- package/dist/calcite/{p-4c3134dd.js → p-b068d057.js} +2 -2
- package/dist/calcite/{p-42475cf6.entry.js → p-b2c6b06b.entry.js} +2 -2
- package/dist/calcite/{p-d5de3abc.entry.js → p-b96cd9fe.entry.js} +2 -2
- package/dist/calcite/p-ba8d8dbd.entry.js +6 -0
- package/dist/calcite/{p-e9e4fc82.entry.js → p-bd7bf633.entry.js} +2 -2
- package/dist/calcite/{p-7f698ba9.js → p-befa72be.js} +1 -1
- package/dist/calcite/{p-6ab1706e.entry.js → p-c1f41172.entry.js} +2 -2
- package/dist/calcite/{p-63d01694.entry.js → p-c3f0ca58.entry.js} +2 -2
- package/dist/calcite/{p-74721533.entry.js → p-c7a40044.entry.js} +2 -2
- package/dist/calcite/{p-28680a4a.entry.js → p-c943664b.entry.js} +2 -2
- package/dist/calcite/{p-020db3d6.js → p-c9c594e4.js} +2 -2
- package/dist/calcite/{p-8d4ba716.entry.js → p-cfd04b12.entry.js} +2 -2
- package/dist/calcite/{p-8e3d90c3.js → p-d5d91d87.js} +1 -1
- package/dist/calcite/{p-06371a0c.entry.js → p-db5ed768.entry.js} +2 -2
- package/dist/calcite/{p-0f6e96a2.entry.js → p-dbd28f14.entry.js} +2 -2
- package/dist/calcite/{p-7bc1e82f.js → p-de41e5a9.js} +1 -1
- package/dist/calcite/{p-05c81bc1.entry.js → p-de5ad6d3.entry.js} +2 -2
- package/dist/calcite/p-dfda39cf.entry.js +6 -0
- package/dist/calcite/{p-986d3211.entry.js → p-dfe47ce7.entry.js} +2 -2
- package/dist/calcite/{p-c72598c8.entry.js → p-e0cb72b7.entry.js} +2 -2
- package/dist/calcite/{p-577950c9.entry.js → p-e423377f.entry.js} +2 -2
- package/dist/calcite/{p-738681b2.entry.js → p-e85ec259.entry.js} +2 -2
- package/dist/calcite/{p-d177e8a3.entry.js → p-eb088883.entry.js} +2 -2
- package/dist/calcite/p-ecd9436e.js +6 -0
- package/dist/calcite/{p-da9b728f.entry.js → p-ef74f7df.entry.js} +2 -2
- package/dist/calcite/{p-b3d730dc.js → p-f0513696.js} +1 -1
- package/dist/calcite/{p-28944c7e.js → p-f478e34c.js} +2 -2
- package/dist/calcite/p-f9398f20.entry.js +6 -0
- package/dist/calcite/p-fad91c38.entry.js +6 -0
- package/dist/calcite/{p-1c6f2bf3.js → p-ff2616f4.js} +1 -1
- package/dist/calcite/{p-347cc141.entry.js → p-ffb58fa7.entry.js} +2 -2
- package/dist/cjs/{ExpandToggle-f150d947.js → ExpandToggle-e018f211.js} +5 -5
- package/dist/cjs/{Heading-5a456260.js → Heading-c23ab3be.js} +2 -2
- package/dist/cjs/{app-globals-1c45d3d1.js → app-globals-882315c5.js} +2 -2
- package/dist/cjs/{array-ec81caec.js → array-46b159ae.js} +1 -1
- package/dist/cjs/calcite-accordion_2.cjs.entry.js +7 -7
- package/dist/cjs/calcite-action-bar.cjs.entry.js +11 -11
- package/dist/cjs/calcite-action-group.cjs.entry.js +9 -9
- package/dist/cjs/calcite-action-menu.cjs.entry.js +8 -8
- package/dist/cjs/calcite-action-pad.cjs.entry.js +10 -10
- package/dist/cjs/calcite-action.cjs.entry.js +7 -7
- package/dist/cjs/calcite-alert.cjs.entry.js +10 -10
- package/dist/cjs/calcite-avatar.cjs.entry.js +6 -6
- package/dist/cjs/calcite-block_2.cjs.entry.js +26 -24
- package/dist/cjs/calcite-button.cjs.entry.js +26 -20
- package/dist/cjs/calcite-card.cjs.entry.js +14 -13
- package/dist/cjs/calcite-checkbox.cjs.entry.js +18 -16
- package/dist/cjs/calcite-chip.cjs.entry.js +16 -16
- package/dist/cjs/calcite-color-picker_3.cjs.entry.js +52 -55
- package/dist/cjs/calcite-combobox_3.cjs.entry.js +52 -44
- package/dist/cjs/calcite-date-picker_4.cjs.entry.js +11 -11
- package/dist/cjs/calcite-dropdown_3.cjs.entry.js +38 -27
- package/dist/cjs/calcite-fab.cjs.entry.js +6 -6
- package/dist/cjs/calcite-filter.cjs.entry.js +8 -8
- package/dist/cjs/calcite-flow-item.cjs.entry.js +7 -7
- package/dist/cjs/calcite-flow.cjs.entry.js +3 -3
- package/dist/cjs/calcite-graph_2.cjs.entry.js +12 -12
- package/dist/cjs/calcite-handle.cjs.entry.js +6 -6
- package/dist/cjs/calcite-icon.cjs.entry.js +6 -6
- package/dist/cjs/calcite-inline-editable.cjs.entry.js +8 -8
- package/dist/cjs/calcite-input-date-picker.cjs.entry.js +44 -33
- package/dist/cjs/calcite-input-message.cjs.entry.js +5 -5
- package/dist/cjs/calcite-input-number.cjs.entry.js +12 -12
- package/dist/cjs/calcite-input-text.cjs.entry.js +9 -9
- package/dist/cjs/calcite-input-time-picker_2.cjs.entry.js +22 -16
- package/dist/cjs/calcite-input.cjs.entry.js +12 -12
- package/dist/cjs/calcite-label.cjs.entry.js +6 -6
- package/dist/cjs/calcite-link.cjs.entry.js +6 -6
- package/dist/cjs/calcite-list_3.cjs.entry.js +9 -9
- package/dist/cjs/calcite-loader.cjs.entry.js +3 -3
- package/dist/cjs/calcite-modal.cjs.entry.js +8 -8
- package/dist/cjs/calcite-notice.cjs.entry.js +8 -8
- package/dist/cjs/calcite-option_3.cjs.entry.js +9 -9
- package/dist/cjs/calcite-pagination.cjs.entry.js +8 -8
- package/dist/cjs/calcite-panel.cjs.entry.js +10 -10
- package/dist/cjs/calcite-pick-list_3.cjs.entry.js +12 -12
- package/dist/cjs/calcite-popover_2.cjs.entry.js +37 -28
- package/dist/cjs/calcite-progress.cjs.entry.js +2 -2
- package/dist/cjs/calcite-radio-button-group.cjs.entry.js +3 -3
- package/dist/cjs/calcite-radio-button.cjs.entry.js +9 -9
- package/dist/cjs/calcite-radio-group_2.cjs.entry.js +8 -8
- package/dist/cjs/calcite-rating.cjs.entry.js +9 -9
- package/dist/cjs/calcite-scrim.cjs.entry.js +2 -2
- package/dist/cjs/calcite-shell_3.cjs.entry.js +8 -8
- package/dist/cjs/calcite-sortable-list.cjs.entry.js +5 -5
- package/dist/cjs/calcite-split-button.cjs.entry.js +3 -3
- package/dist/cjs/calcite-stepper_2.cjs.entry.js +9 -9
- package/dist/cjs/calcite-switch.cjs.entry.js +9 -9
- package/dist/cjs/calcite-tab_4.cjs.entry.js +7 -7
- package/dist/cjs/calcite-tile-select_2.cjs.entry.js +4 -4
- package/dist/cjs/calcite-tile.cjs.entry.js +8 -8
- package/dist/cjs/calcite-tip_3.cjs.entry.js +9 -9
- package/dist/cjs/calcite-tooltip_2.cjs.entry.js +29 -20
- package/dist/cjs/calcite-tree_2.cjs.entry.js +8 -8
- package/dist/cjs/calcite-value-list_2.cjs.entry.js +13 -13
- package/dist/cjs/calcite.cjs.js +4 -4
- package/dist/cjs/{conditionalSlot-2d66c859.js → conditionalSlot-4f4eea6a.js} +3 -3
- package/dist/cjs/{debounce-c9573a72.js → debounce-62882659.js} +1 -1
- package/dist/cjs/{dom-701c026a.js → dom-4d157abb.js} +3 -3
- package/dist/cjs/{filter-6e58d73c.js → filter-da2797e5.js} +2 -2
- package/dist/cjs/{floating-ui-6d57c957.js → floating-ui-e4e82078.js} +175 -23
- package/dist/cjs/{form-c07a24e1.js → form-2f418822.js} +3 -3
- package/dist/cjs/{guid-28a45376.js → guid-1d60d25f.js} +1 -1
- package/dist/cjs/{index-06f4e4a7.js → index-9624081e.js} +1 -1
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/{interactive-3612d791.js → interactive-f3855fe3.js} +1 -1
- package/dist/cjs/{interfaces-ec1e235a.js → interfaces-78ca36e7.js} +1 -1
- package/dist/cjs/{key-c4719ef5.js → key-dbb23e1d.js} +1 -1
- package/dist/cjs/{label-6a9f46fe.js → label-cf0a7e54.js} +2 -2
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/cjs/{locale-ccc83c4a.js → locale-9261eb8c.js} +4 -4
- package/dist/cjs/{math-09e9fbc0.js → math-70844c29.js} +1 -1
- package/dist/cjs/nonChromiumPlatformUtils-e6d5cb22.js +506 -0
- package/dist/cjs/{observers-11c52473.js → observers-53e1a6d6.js} +1 -1
- package/dist/cjs/{openCloseComponent-8fa915a1.js → openCloseComponent-af87dcf3.js} +1 -1
- package/dist/cjs/{resources-3786d362.js → resources-020cc6d5.js} +1 -1
- package/dist/cjs/{resources-fa828919.js → resources-2f6b4dae.js} +1 -1
- package/dist/cjs/{resources-1dee3f64.js → resources-375914cd.js} +1 -1
- package/dist/cjs/{resources-08e926e6.js → resources-83f09a7b.js} +5 -5
- package/dist/cjs/{resources-dd1bf8b6.js → resources-8477fc7e.js} +1 -1
- package/dist/cjs/{resources-2fe6016f.js → resources-d07d3444.js} +3 -3
- package/dist/cjs/{sortable.esm-091035e0.js → sortable.esm-7dbec412.js} +1 -1
- package/dist/cjs/{utils-859c359b.js → utils-a61e740b.js} +1 -1
- package/dist/collection/components/accordion/accordion.js +1 -1
- package/dist/collection/components/accordion-item/accordion-item.js +1 -1
- package/dist/collection/components/accordion-item/resources.js +1 -1
- package/dist/collection/components/action/action.js +1 -1
- package/dist/collection/components/action/resources.js +1 -1
- package/dist/collection/components/action-bar/action-bar.js +1 -1
- package/dist/collection/components/action-bar/resources.js +1 -1
- package/dist/collection/components/action-bar/utils.js +1 -1
- package/dist/collection/components/action-group/action-group.js +1 -1
- package/dist/collection/components/action-group/resources.js +1 -1
- package/dist/collection/components/action-menu/action-menu.js +1 -1
- package/dist/collection/components/action-menu/resources.js +1 -1
- package/dist/collection/components/action-pad/action-pad.js +1 -1
- package/dist/collection/components/action-pad/resources.js +1 -1
- package/dist/collection/components/alert/alert.js +1 -1
- package/dist/collection/components/alert/interfaces.js +1 -1
- package/dist/collection/components/alert/resources.js +1 -1
- package/dist/collection/components/avatar/avatar.js +1 -1
- package/dist/collection/components/avatar/utils.js +1 -1
- package/dist/collection/components/block/block.js +31 -31
- package/dist/collection/components/block/resources.js +1 -1
- package/dist/collection/components/block-section/block-section.js +15 -13
- package/dist/collection/components/block-section/resources.js +1 -1
- package/dist/collection/components/button/button.js +49 -34
- package/dist/collection/components/button/resources.js +1 -1
- package/dist/collection/components/card/card.js +19 -18
- package/dist/collection/components/card/resources.js +1 -1
- package/dist/collection/components/checkbox/checkbox.css +1 -1
- package/dist/collection/components/checkbox/checkbox.js +26 -21
- package/dist/collection/components/chip/chip.js +21 -21
- package/dist/collection/components/chip/resources.js +1 -1
- package/dist/collection/components/color-picker/color-picker.js +65 -66
- package/dist/collection/components/color-picker/resources.js +1 -1
- package/dist/collection/components/color-picker/utils.js +1 -1
- package/dist/collection/components/color-picker-hex-input/color-picker-hex-input.js +12 -14
- package/dist/collection/components/color-picker-hex-input/resources.js +1 -1
- package/dist/collection/components/color-picker-swatch/color-picker-swatch.js +5 -5
- package/dist/collection/components/color-picker-swatch/resources.js +1 -1
- package/dist/collection/components/combobox/combobox.css +1 -2
- package/dist/collection/components/combobox/combobox.js +66 -51
- package/dist/collection/components/combobox/resources.js +1 -1
- package/dist/collection/components/combobox/utils.js +1 -1
- package/dist/collection/components/combobox-item/combobox-item.js +19 -17
- package/dist/collection/components/combobox-item/resources.js +1 -1
- package/dist/collection/components/combobox-item-group/combobox-item-group.js +3 -3
- package/dist/collection/components/combobox-item-group/resources.js +1 -1
- package/dist/collection/components/date-picker/date-picker.js +1 -1
- package/dist/collection/components/date-picker/resources.js +1 -1
- package/dist/collection/components/date-picker/utils.js +1 -1
- package/dist/collection/components/date-picker-day/date-picker-day.js +1 -1
- package/dist/collection/components/date-picker-month/date-picker-month.js +1 -1
- package/dist/collection/components/date-picker-month-header/date-picker-month-header.js +1 -1
- package/dist/collection/components/date-picker-month-header/resources.js +1 -1
- package/dist/collection/components/dropdown/dropdown.css +0 -1
- package/dist/collection/components/dropdown/dropdown.js +40 -21
- package/dist/collection/components/dropdown/resources.js +1 -1
- package/dist/collection/components/dropdown-group/dropdown-group.js +1 -1
- package/dist/collection/components/dropdown-group/resources.js +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.js +1 -1
- package/dist/collection/components/dropdown-item/resources.js +1 -1
- package/dist/collection/components/fab/fab.js +1 -1
- package/dist/collection/components/fab/resources.js +1 -1
- package/dist/collection/components/filter/filter.js +1 -1
- package/dist/collection/components/filter/resources.js +1 -1
- package/dist/collection/components/flow/flow.js +1 -1
- package/dist/collection/components/flow/resources.js +1 -1
- package/dist/collection/components/flow-item/flow-item.js +1 -1
- package/dist/collection/components/flow-item/resources.js +1 -1
- package/dist/collection/components/functional/ExpandToggle.js +1 -1
- package/dist/collection/components/functional/Heading.js +1 -1
- package/dist/collection/components/graph/graph.js +1 -1
- package/dist/collection/components/graph/util.js +1 -1
- package/dist/collection/components/handle/handle.css +1 -1
- package/dist/collection/components/handle/handle.js +1 -1
- package/dist/collection/components/handle/resources.js +1 -1
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/icon/resources.js +1 -1
- package/dist/collection/components/icon/utils.js +1 -1
- package/dist/collection/components/inline-editable/inline-editable.js +1 -1
- package/dist/collection/components/inline-editable/resources.js +1 -1
- package/dist/collection/components/input/input.js +1 -1
- package/dist/collection/components/input/resources.js +1 -1
- package/dist/collection/components/input-date-picker/input-date-picker.css +0 -1
- package/dist/collection/components/input-date-picker/input-date-picker.js +49 -30
- package/dist/collection/components/input-date-picker/resources.js +1 -1
- package/dist/collection/components/input-message/input-message.js +1 -1
- package/dist/collection/components/input-message/interfaces.js +1 -1
- package/dist/collection/components/input-number/input-number.js +1 -1
- package/dist/collection/components/input-number/resources.js +1 -1
- package/dist/collection/components/input-text/input-text.js +1 -1
- package/dist/collection/components/input-text/resources.js +1 -1
- package/dist/collection/components/input-time-picker/input-time-picker.js +25 -10
- package/dist/collection/components/label/label.js +1 -1
- package/dist/collection/components/label/resources.js +1 -1
- package/dist/collection/components/link/link.js +1 -1
- package/dist/collection/components/list/list.js +1 -1
- package/dist/collection/components/list/resources.js +1 -1
- package/dist/collection/components/list-item/list-item.js +1 -1
- package/dist/collection/components/list-item/resources.js +1 -1
- package/dist/collection/components/list-item-group/list-item-group.js +1 -1
- package/dist/collection/components/list-item-group/resources.js +1 -1
- package/dist/collection/components/loader/loader.js +1 -1
- package/dist/collection/components/modal/modal.js +1 -1
- package/dist/collection/components/modal/resources.js +1 -1
- package/dist/collection/components/notice/notice.js +1 -1
- package/dist/collection/components/notice/resources.js +1 -1
- package/dist/collection/components/option/option.js +1 -1
- package/dist/collection/components/option-group/option-group.js +1 -1
- package/dist/collection/components/pagination/pagination.js +1 -1
- package/dist/collection/components/pagination/resources.js +1 -1
- package/dist/collection/components/panel/panel.js +1 -1
- package/dist/collection/components/panel/resources.js +1 -1
- package/dist/collection/components/pick-list/pick-list.js +1 -1
- package/dist/collection/components/pick-list/resources.js +1 -1
- package/dist/collection/components/pick-list/shared-list-logic.js +1 -1
- package/dist/collection/components/pick-list/shared-list-render.js +1 -1
- package/dist/collection/components/pick-list-group/pick-list-group.js +1 -1
- package/dist/collection/components/pick-list-group/resources.js +1 -1
- package/dist/collection/components/pick-list-item/pick-list-item.js +1 -1
- package/dist/collection/components/pick-list-item/resources.js +1 -1
- package/dist/collection/components/popover/PopoverManager.js +1 -1
- package/dist/collection/components/popover/popover.css +0 -1
- package/dist/collection/components/popover/popover.js +40 -23
- package/dist/collection/components/popover/resources.js +1 -1
- package/dist/collection/components/popover-manager/popover-manager.js +1 -1
- package/dist/collection/components/progress/progress.js +1 -1
- package/dist/collection/components/radio-button/radio-button.js +1 -1
- package/dist/collection/components/radio-button/resources.js +1 -1
- package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
- package/dist/collection/components/radio-group/radio-group.js +1 -1
- package/dist/collection/components/radio-group-item/radio-group-item.js +1 -1
- package/dist/collection/components/radio-group-item/resources.js +1 -1
- package/dist/collection/components/rating/rating.js +1 -1
- package/dist/collection/components/rating/resources.js +1 -1
- package/dist/collection/components/scrim/resources.js +1 -1
- package/dist/collection/components/scrim/scrim.js +1 -1
- package/dist/collection/components/select/resources.js +1 -1
- package/dist/collection/components/select/select.js +1 -1
- package/dist/collection/components/shell/resources.js +1 -1
- package/dist/collection/components/shell/shell.js +1 -1
- package/dist/collection/components/shell-center-row/resources.js +1 -1
- package/dist/collection/components/shell-center-row/shell-center-row.js +1 -1
- package/dist/collection/components/shell-panel/resources.js +1 -1
- package/dist/collection/components/shell-panel/shell-panel.js +1 -1
- package/dist/collection/components/slider/resources.js +1 -1
- package/dist/collection/components/slider/slider.js +1 -1
- package/dist/collection/components/sortable-list/resources.js +1 -1
- package/dist/collection/components/sortable-list/sortable-list.js +1 -1
- package/dist/collection/components/split-button/resources.js +1 -1
- package/dist/collection/components/split-button/split-button.js +1 -1
- package/dist/collection/components/stepper/stepper.js +1 -1
- package/dist/collection/components/stepper-item/stepper-item.js +1 -1
- package/dist/collection/components/switch/switch.js +1 -1
- package/dist/collection/components/tab/tab.js +1 -1
- package/dist/collection/components/tab-nav/tab-nav.js +1 -1
- package/dist/collection/components/tab-title/tab-title.js +1 -1
- package/dist/collection/components/tabs/resources.js +1 -1
- package/dist/collection/components/tabs/tabs.js +1 -1
- package/dist/collection/components/tile/resources.js +1 -1
- package/dist/collection/components/tile/tile.js +1 -1
- package/dist/collection/components/tile-select/resources.js +1 -1
- package/dist/collection/components/tile-select/tile-select.js +1 -1
- package/dist/collection/components/tile-select-group/tile-select-group.js +1 -1
- package/dist/collection/components/time-picker/resources.js +1 -1
- package/dist/collection/components/time-picker/time-picker.js +1 -1
- package/dist/collection/components/tip/resources.js +1 -1
- package/dist/collection/components/tip/tip.js +3 -3
- package/dist/collection/components/tip-group/tip-group.js +1 -1
- package/dist/collection/components/tip-manager/resources.js +1 -1
- package/dist/collection/components/tip-manager/tip-manager.js +1 -1
- package/dist/collection/components/tooltip/TooltipManager.js +1 -1
- package/dist/collection/components/tooltip/resources.js +1 -1
- package/dist/collection/components/tooltip/tooltip.css +0 -1
- package/dist/collection/components/tooltip/tooltip.js +35 -18
- package/dist/collection/components/tooltip-manager/tooltip-manager.js +1 -1
- package/dist/collection/components/tree/interfaces.js +1 -1
- package/dist/collection/components/tree/tree.js +1 -1
- package/dist/collection/components/tree/utils.js +1 -1
- package/dist/collection/components/tree-item/resources.js +1 -1
- package/dist/collection/components/tree-item/tree-item.js +1 -1
- package/dist/collection/components/value-list/resources.js +1 -1
- package/dist/collection/components/value-list/utils.js +1 -1
- package/dist/collection/components/value-list/value-list.js +1 -1
- package/dist/collection/components/value-list-item/resources.js +1 -1
- package/dist/collection/components/value-list-item/value-list-item.css +1 -2
- package/dist/collection/components/value-list-item/value-list-item.js +1 -1
- package/dist/collection/utils/array.js +1 -1
- package/dist/collection/utils/conditionalSlot.js +1 -1
- package/dist/collection/utils/config.js +22 -0
- package/dist/collection/utils/date.js +1 -1
- package/dist/collection/utils/dom.js +1 -1
- package/dist/collection/utils/filter.js +1 -1
- package/dist/collection/utils/floating-ui/nonChromiumPlatformUtils.js +496 -0
- package/dist/collection/utils/floating-ui.js +123 -12
- package/dist/collection/utils/form.js +1 -1
- package/dist/collection/utils/globalAttributes.js +1 -1
- package/dist/collection/utils/globalScript.js +1 -1
- package/dist/collection/utils/guid.js +1 -1
- package/dist/collection/utils/interactive.js +1 -1
- package/dist/collection/utils/key.js +1 -1
- package/dist/collection/utils/label.js +1 -1
- package/dist/collection/utils/locale.js +1 -1
- package/dist/collection/utils/math.js +1 -1
- package/dist/collection/utils/number.js +1 -1
- package/dist/collection/utils/observers.js +1 -1
- package/dist/collection/utils/openCloseComponent.js +1 -1
- package/dist/collection/utils/resources.js +1 -1
- package/dist/collection/utils/t9n.js +1 -1
- package/dist/collection/utils/theme.js +1 -1
- package/dist/collection/utils/time.js +1 -1
- package/dist/components/ExpandToggle.js +1 -1
- package/dist/components/Heading.js +1 -1
- package/dist/components/action-group.js +1 -1
- package/dist/components/action-menu.js +1 -1
- package/dist/components/action.js +1 -1
- package/dist/components/array.js +1 -1
- package/dist/components/button.js +18 -12
- package/dist/components/calcite-accordion-item.js +1 -1
- package/dist/components/calcite-accordion.js +1 -1
- package/dist/components/calcite-action-bar.js +3 -3
- package/dist/components/calcite-action-group.js +1 -1
- package/dist/components/calcite-action-menu.js +1 -1
- package/dist/components/calcite-action-pad.js +1 -1
- package/dist/components/calcite-action.js +1 -1
- package/dist/components/calcite-alert.js +1 -1
- package/dist/components/calcite-avatar.js +1 -1
- package/dist/components/calcite-block-section.js +7 -5
- package/dist/components/calcite-block.js +11 -11
- package/dist/components/calcite-button.js +1 -1
- package/dist/components/calcite-card.js +8 -7
- package/dist/components/calcite-checkbox.js +1 -1
- package/dist/components/calcite-chip.js +1 -1
- package/dist/components/calcite-color-picker-hex-input.js +1 -1
- package/dist/components/calcite-color-picker-swatch.js +1 -1
- package/dist/components/calcite-color-picker.js +35 -36
- package/dist/components/calcite-combobox-item-group.js +1 -1
- package/dist/components/calcite-combobox-item.js +7 -5
- package/dist/components/calcite-combobox.js +35 -29
- package/dist/components/calcite-date-picker-day.js +1 -1
- package/dist/components/calcite-date-picker-month-header.js +1 -1
- package/dist/components/calcite-date-picker-month.js +1 -1
- package/dist/components/calcite-date-picker.js +1 -1
- package/dist/components/calcite-dropdown-group.js +1 -1
- package/dist/components/calcite-dropdown-item.js +1 -1
- package/dist/components/calcite-dropdown.js +1 -1
- package/dist/components/calcite-fab.js +1 -1
- package/dist/components/calcite-filter.js +1 -1
- package/dist/components/calcite-flow-item.js +1 -1
- package/dist/components/calcite-flow.js +1 -1
- package/dist/components/calcite-graph.js +1 -1
- package/dist/components/calcite-handle.js +1 -1
- package/dist/components/calcite-icon.js +1 -1
- package/dist/components/calcite-inline-editable.js +1 -1
- package/dist/components/calcite-input-date-picker.js +31 -21
- package/dist/components/calcite-input-message.js +1 -1
- package/dist/components/calcite-input-number.js +1 -1
- package/dist/components/calcite-input-text.js +1 -1
- package/dist/components/calcite-input-time-picker.js +12 -6
- package/dist/components/calcite-input.js +1 -1
- package/dist/components/calcite-label.js +1 -1
- package/dist/components/calcite-link.js +1 -1
- package/dist/components/calcite-list-item-group.js +1 -1
- package/dist/components/calcite-list-item.js +1 -1
- package/dist/components/calcite-list.js +1 -1
- package/dist/components/calcite-loader.js +1 -1
- package/dist/components/calcite-modal.js +1 -1
- package/dist/components/calcite-notice.js +1 -1
- package/dist/components/calcite-option-group.js +1 -1
- package/dist/components/calcite-option.js +1 -1
- package/dist/components/calcite-pagination.js +1 -1
- package/dist/components/calcite-panel.js +1 -1
- package/dist/components/calcite-pick-list-group.js +1 -1
- package/dist/components/calcite-pick-list-item.js +1 -1
- package/dist/components/calcite-pick-list.js +1 -1
- package/dist/components/calcite-popover-manager.js +1 -1
- package/dist/components/calcite-popover.js +1 -1
- package/dist/components/calcite-progress.js +1 -1
- package/dist/components/calcite-radio-button-group.js +1 -1
- package/dist/components/calcite-radio-button.js +1 -1
- package/dist/components/calcite-radio-group-item.js +1 -1
- package/dist/components/calcite-radio-group.js +1 -1
- package/dist/components/calcite-rating.js +1 -1
- package/dist/components/calcite-scrim.js +1 -1
- package/dist/components/calcite-select.js +1 -1
- package/dist/components/calcite-shell-center-row.js +1 -1
- package/dist/components/calcite-shell-panel.js +1 -1
- package/dist/components/calcite-shell.js +1 -1
- package/dist/components/calcite-slider.js +1 -1
- package/dist/components/calcite-sortable-list.js +1 -1
- package/dist/components/calcite-split-button.js +1 -1
- package/dist/components/calcite-stepper-item.js +1 -1
- package/dist/components/calcite-stepper.js +1 -1
- package/dist/components/calcite-switch.js +1 -1
- package/dist/components/calcite-tab-nav.js +1 -1
- package/dist/components/calcite-tab-title.js +1 -1
- package/dist/components/calcite-tab.js +1 -1
- package/dist/components/calcite-tabs.js +1 -1
- package/dist/components/calcite-tile-select-group.js +1 -1
- package/dist/components/calcite-tile-select.js +1 -1
- package/dist/components/calcite-tile.js +1 -1
- package/dist/components/calcite-time-picker.js +1 -1
- package/dist/components/calcite-tip-group.js +1 -1
- package/dist/components/calcite-tip-manager.js +1 -1
- package/dist/components/calcite-tip.js +2 -2
- package/dist/components/calcite-tooltip-manager.js +1 -1
- package/dist/components/calcite-tooltip.js +1 -1
- package/dist/components/calcite-tree-item.js +1 -1
- package/dist/components/calcite-tree.js +1 -1
- package/dist/components/calcite-value-list-item.js +2 -2
- package/dist/components/calcite-value-list.js +1 -1
- package/dist/components/checkbox.js +10 -8
- package/dist/components/chip.js +10 -10
- package/dist/components/color-picker-hex-input.js +7 -9
- package/dist/components/color-picker-swatch.js +3 -3
- package/dist/components/conditionalSlot.js +1 -1
- package/dist/components/date-picker-day.js +1 -1
- package/dist/components/date-picker-month-header.js +1 -1
- package/dist/components/date-picker-month.js +1 -1
- package/dist/components/date-picker.js +1 -1
- package/dist/components/date.js +1 -1
- package/dist/components/debounce.js +1 -1
- package/dist/components/dom.js +1 -1
- package/dist/components/dropdown.js +29 -19
- package/dist/components/filter.js +1 -1
- package/dist/components/filter2.js +1 -1
- package/dist/components/floating-ui.js +181 -22
- package/dist/components/form.js +1 -1
- package/dist/components/graph.js +1 -1
- package/dist/components/guid.js +1 -1
- package/dist/components/handle.js +2 -2
- package/dist/components/icon.js +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/input.js +1 -1
- package/dist/components/interactive.js +1 -1
- package/dist/components/interfaces.js +1 -1
- package/dist/components/interfaces2.js +1 -1
- package/dist/components/key.js +1 -1
- package/dist/components/label.js +1 -1
- package/dist/components/label2.js +1 -1
- package/dist/components/link.js +1 -1
- package/dist/components/loader.js +1 -1
- package/dist/components/locale.js +1 -1
- package/dist/components/math.js +1 -1
- package/dist/components/nonChromiumPlatformUtils.js +498 -0
- package/dist/components/observers.js +1 -1
- package/dist/components/openCloseComponent.js +1 -1
- package/dist/components/panel.js +1 -1
- package/dist/components/pick-list-item.js +1 -1
- package/dist/components/popover.js +28 -20
- package/dist/components/progress.js +1 -1
- package/dist/components/resources.js +1 -1
- package/dist/components/resources2.js +1 -1
- package/dist/components/resources3.js +1 -1
- package/dist/components/scrim.js +1 -1
- package/dist/components/shared-list-render.js +1 -1
- package/dist/components/sortable.esm.js +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/tab-nav.js +1 -1
- package/dist/components/tab-title.js +1 -1
- package/dist/components/tab.js +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/components/tile.js +1 -1
- package/dist/components/time-picker.js +1 -1
- package/dist/components/tooltip.js +24 -16
- package/dist/components/utils.js +1 -1
- package/dist/components/utils2.js +2 -2
- package/dist/esm/{ExpandToggle-b309a912.js → ExpandToggle-c19c7ae6.js} +5 -5
- package/dist/esm/{Heading-dfd64184.js → Heading-55c4005d.js} +2 -2
- package/dist/esm/{app-globals-332f4aa7.js → app-globals-a52284f2.js} +2 -2
- package/dist/esm/{array-b93a5fb6.js → array-740ce6b6.js} +1 -1
- package/dist/esm/calcite-accordion_2.entry.js +7 -7
- package/dist/esm/calcite-action-bar.entry.js +11 -11
- package/dist/esm/calcite-action-group.entry.js +9 -9
- package/dist/esm/calcite-action-menu.entry.js +8 -8
- package/dist/esm/calcite-action-pad.entry.js +10 -10
- package/dist/esm/calcite-action.entry.js +7 -7
- package/dist/esm/calcite-alert.entry.js +10 -10
- package/dist/esm/calcite-avatar.entry.js +6 -6
- package/dist/esm/calcite-block_2.entry.js +26 -24
- package/dist/esm/calcite-button.entry.js +26 -20
- package/dist/esm/calcite-card.entry.js +14 -13
- package/dist/esm/calcite-checkbox.entry.js +18 -16
- package/dist/esm/calcite-chip.entry.js +16 -16
- package/dist/esm/calcite-color-picker_3.entry.js +52 -55
- package/dist/esm/calcite-combobox_3.entry.js +52 -44
- package/dist/esm/calcite-date-picker_4.entry.js +11 -11
- package/dist/esm/calcite-dropdown_3.entry.js +38 -27
- package/dist/esm/calcite-fab.entry.js +6 -6
- package/dist/esm/calcite-filter.entry.js +8 -8
- package/dist/esm/calcite-flow-item.entry.js +7 -7
- package/dist/esm/calcite-flow.entry.js +3 -3
- package/dist/esm/calcite-graph_2.entry.js +12 -12
- package/dist/esm/calcite-handle.entry.js +6 -6
- package/dist/esm/calcite-icon.entry.js +6 -6
- package/dist/esm/calcite-inline-editable.entry.js +8 -8
- package/dist/esm/calcite-input-date-picker.entry.js +44 -33
- package/dist/esm/calcite-input-message.entry.js +5 -5
- package/dist/esm/calcite-input-number.entry.js +12 -12
- package/dist/esm/calcite-input-text.entry.js +9 -9
- package/dist/esm/calcite-input-time-picker_2.entry.js +22 -16
- package/dist/esm/calcite-input.entry.js +12 -12
- package/dist/esm/calcite-label.entry.js +6 -6
- package/dist/esm/calcite-link.entry.js +6 -6
- package/dist/esm/calcite-list_3.entry.js +9 -9
- package/dist/esm/calcite-loader.entry.js +3 -3
- package/dist/esm/calcite-modal.entry.js +8 -8
- package/dist/esm/calcite-notice.entry.js +8 -8
- package/dist/esm/calcite-option_3.entry.js +9 -9
- package/dist/esm/calcite-pagination.entry.js +8 -8
- package/dist/esm/calcite-panel.entry.js +10 -10
- package/dist/esm/calcite-pick-list_3.entry.js +12 -12
- package/dist/esm/calcite-popover_2.entry.js +37 -28
- package/dist/esm/calcite-progress.entry.js +2 -2
- package/dist/esm/calcite-radio-button-group.entry.js +3 -3
- package/dist/esm/calcite-radio-button.entry.js +9 -9
- package/dist/esm/calcite-radio-group_2.entry.js +8 -8
- package/dist/esm/calcite-rating.entry.js +9 -9
- package/dist/esm/calcite-scrim.entry.js +2 -2
- package/dist/esm/calcite-shell_3.entry.js +8 -8
- package/dist/esm/calcite-sortable-list.entry.js +5 -5
- package/dist/esm/calcite-split-button.entry.js +3 -3
- package/dist/esm/calcite-stepper_2.entry.js +9 -9
- package/dist/esm/calcite-switch.entry.js +9 -9
- package/dist/esm/calcite-tab_4.entry.js +7 -7
- package/dist/esm/calcite-tile-select_2.entry.js +4 -4
- package/dist/esm/calcite-tile.entry.js +8 -8
- package/dist/esm/calcite-tip_3.entry.js +9 -9
- package/dist/esm/calcite-tooltip_2.entry.js +29 -20
- package/dist/esm/calcite-tree_2.entry.js +8 -8
- package/dist/esm/calcite-value-list_2.entry.js +13 -13
- package/dist/esm/calcite.js +4 -4
- package/dist/esm/{conditionalSlot-db9ad6d4.js → conditionalSlot-3441e8f2.js} +3 -3
- package/dist/esm/{debounce-e42a1373.js → debounce-97857fea.js} +1 -1
- package/dist/esm/{dom-a2d12054.js → dom-fbef4a17.js} +3 -3
- package/dist/esm/{filter-2e4f1cbb.js → filter-5c7687ab.js} +2 -2
- package/dist/esm/{floating-ui-3124e4cb.js → floating-ui-d7d7ebf5.js} +173 -22
- package/dist/esm/{form-d0932f60.js → form-6c6f44c9.js} +3 -3
- package/dist/esm/{guid-7e7f8cb7.js → guid-46425949.js} +1 -1
- package/dist/esm/{index-f0e069a3.js → index-dd350c9e.js} +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/{interactive-109aac6f.js → interactive-7bb63697.js} +1 -1
- package/dist/esm/{interfaces-a195ea5d.js → interfaces-1e4b4247.js} +1 -1
- package/dist/esm/{key-c2bf57be.js → key-9fd0ee2d.js} +1 -1
- package/dist/esm/{label-289d45ea.js → label-4476feb8.js} +2 -2
- package/dist/esm/loader.js +4 -4
- package/dist/esm/{locale-a8017a0f.js → locale-59ce851a.js} +4 -4
- package/dist/esm/{math-db28d599.js → math-f58b6249.js} +1 -1
- package/dist/esm/nonChromiumPlatformUtils-9a77a585.js +502 -0
- package/dist/esm/{observers-02263ad9.js → observers-4a45256c.js} +1 -1
- package/dist/esm/{openCloseComponent-12bcbae8.js → openCloseComponent-16ae97af.js} +1 -1
- package/dist/esm/{resources-565275f0.js → resources-06042c92.js} +1 -1
- package/dist/esm/{resources-eeb28d59.js → resources-172c2a25.js} +1 -1
- package/dist/esm/{resources-e94ec9de.js → resources-51ebf03b.js} +5 -5
- package/dist/esm/{resources-41048db6.js → resources-57d6fea9.js} +3 -3
- package/dist/esm/{resources-bd0bd4fb.js → resources-c905d6cb.js} +1 -1
- package/dist/esm/{resources-b4d4d0ee.js → resources-f25e2a24.js} +1 -1
- package/dist/esm/{sortable.esm-0511272f.js → sortable.esm-6094be14.js} +1 -1
- package/dist/esm/{utils-fa27285e.js → utils-94170855.js} +1 -1
- package/dist/extras/docs-json.json +238 -188
- package/dist/loader/cdn.js +1 -1
- package/dist/loader/index.cjs.js +1 -1
- package/dist/loader/index.es2017.js +1 -1
- package/dist/loader/index.js +1 -1
- package/dist/types/components/block/block.d.ts +22 -20
- package/dist/types/components/block-section/block-section.d.ts +12 -10
- package/dist/types/components/button/button.d.ts +35 -19
- package/dist/types/components/card/card.d.ts +11 -10
- package/dist/types/components/checkbox/checkbox.d.ts +16 -14
- package/dist/types/components/chip/chip.d.ts +12 -12
- package/dist/types/components/color-picker/color-picker.d.ts +36 -39
- package/dist/types/components/color-picker-hex-input/color-picker-hex-input.d.ts +6 -8
- package/dist/types/components/color-picker-swatch/color-picker-swatch.d.ts +2 -2
- package/dist/types/components/combobox/combobox.d.ts +31 -28
- package/dist/types/components/combobox-item/combobox-item.d.ts +14 -12
- package/dist/types/components/combobox-item-group/combobox-item-group.d.ts +2 -2
- package/dist/types/components/dropdown/dropdown.d.ts +6 -3
- package/dist/types/components/input-date-picker/input-date-picker.d.ts +13 -10
- package/dist/types/components/input-time-picker/input-time-picker.d.ts +7 -3
- package/dist/types/components/popover/popover.d.ts +8 -5
- package/dist/types/components/tip/tip.d.ts +1 -1
- package/dist/types/components/tooltip/tooltip.d.ts +7 -4
- package/dist/types/components.d.ts +314 -294
- package/dist/types/utils/config.d.ts +7 -0
- package/dist/types/utils/floating-ui/nonChromiumPlatformUtils.d.ts +16 -0
- package/dist/types/utils/floating-ui.d.ts +45 -2
- package/hydrate/index.js +404 -293
- package/package.json +2 -2
- package/dist/calcite/p-19449fc2.entry.js +0 -6
- package/dist/calcite/p-36270916.entry.js +0 -6
- package/dist/calcite/p-3d77c2ee.js +0 -6
- package/dist/calcite/p-52b4a671.entry.js +0 -6
- package/dist/calcite/p-5875d9d9.entry.js +0 -6
- package/dist/calcite/p-6ee9d00f.js +0 -6
- package/dist/calcite/p-90cc2b83.entry.js +0 -6
- package/dist/calcite/p-e03c020c.js +0 -6
- package/dist/calcite/p-e3f1310b.entry.js +0 -6
|
@@ -0,0 +1,496 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
* See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
|
|
4
|
+
* v1.0.0-next.607
|
|
5
|
+
*/
|
|
6
|
+
import { rectToClientRect } from "@floating-ui/core";
|
|
7
|
+
/**
|
|
8
|
+
* This module provides utils to fix positioning across shadow DOM in non-Chromium browsers
|
|
9
|
+
*
|
|
10
|
+
* It is based on floating-ui's distributable
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* 👇 the following are needed to fix shadow DOM positioning 👇️
|
|
14
|
+
*
|
|
15
|
+
* @param element
|
|
16
|
+
*/
|
|
17
|
+
function getTrueOffsetParent(element) {
|
|
18
|
+
if (!isHTMLElement(element) || getComputedStyle(element).position === "fixed") {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return composedOffsetParent(element);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Polyfills the old offsetParent behavior from before the spec was changed:
|
|
25
|
+
* https://github.com/w3c/csswg-drafts/issues/159
|
|
26
|
+
*
|
|
27
|
+
* @param element
|
|
28
|
+
*/
|
|
29
|
+
function composedOffsetParent(element) {
|
|
30
|
+
let { offsetParent } = element;
|
|
31
|
+
let ancestor = element;
|
|
32
|
+
let foundInsideSlot = false;
|
|
33
|
+
while (ancestor && ancestor !== offsetParent) {
|
|
34
|
+
const { assignedSlot } = ancestor;
|
|
35
|
+
if (assignedSlot) {
|
|
36
|
+
let newOffsetParent = assignedSlot.offsetParent;
|
|
37
|
+
if (getComputedStyle(assignedSlot).display === "contents") {
|
|
38
|
+
const hadStyleAttribute = assignedSlot.hasAttribute("style");
|
|
39
|
+
const oldDisplay = assignedSlot.style.display;
|
|
40
|
+
assignedSlot.style.display = getComputedStyle(ancestor).display;
|
|
41
|
+
newOffsetParent = assignedSlot.offsetParent;
|
|
42
|
+
assignedSlot.style.display = oldDisplay;
|
|
43
|
+
if (!hadStyleAttribute) {
|
|
44
|
+
assignedSlot.removeAttribute("style");
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
ancestor = assignedSlot;
|
|
48
|
+
if (offsetParent !== newOffsetParent) {
|
|
49
|
+
offsetParent = newOffsetParent;
|
|
50
|
+
foundInsideSlot = true;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
else if (isShadowRoot(ancestor) && ancestor.host && foundInsideSlot) {
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
ancestor = (isShadowRoot(ancestor) && ancestor.host) || ancestor.parentNode;
|
|
57
|
+
}
|
|
58
|
+
return offsetParent;
|
|
59
|
+
}
|
|
60
|
+
function getElementRects(_ref) {
|
|
61
|
+
const { reference, floating, strategy } = _ref;
|
|
62
|
+
return {
|
|
63
|
+
reference: getRectRelativeToOffsetParent(reference, getOffsetParent(floating), strategy),
|
|
64
|
+
floating: { ...getDimensions(floating), x: 0, y: 0 }
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
export { getClippingRect, getElementRects, getOffsetParent };
|
|
68
|
+
/**
|
|
69
|
+
* ☝️ the following are needed to fix shadow DOM positioning ☝️
|
|
70
|
+
*/
|
|
71
|
+
/**
|
|
72
|
+
* 👇 the following are taken directly from floating-ui's ESM distributable to support the exports above 👇️
|
|
73
|
+
*
|
|
74
|
+
* **Notes**:
|
|
75
|
+
* unused functions are removed
|
|
76
|
+
* ESLint is disabled
|
|
77
|
+
* TS-warnings are suppressed
|
|
78
|
+
*/
|
|
79
|
+
/* eslint-disable */
|
|
80
|
+
function isWindow(value) {
|
|
81
|
+
return value && value.document && value.location && value.alert && value.setInterval;
|
|
82
|
+
}
|
|
83
|
+
function getWindow(node) {
|
|
84
|
+
if (node == null) {
|
|
85
|
+
return window;
|
|
86
|
+
}
|
|
87
|
+
if (!isWindow(node)) {
|
|
88
|
+
const ownerDocument = node.ownerDocument;
|
|
89
|
+
return ownerDocument ? ownerDocument.defaultView || window : window;
|
|
90
|
+
}
|
|
91
|
+
return node;
|
|
92
|
+
}
|
|
93
|
+
function getComputedStyle(element) {
|
|
94
|
+
return getWindow(element).getComputedStyle(element);
|
|
95
|
+
}
|
|
96
|
+
function getNodeName(node) {
|
|
97
|
+
return isWindow(node) ? "" : node ? (node.nodeName || "").toLowerCase() : "";
|
|
98
|
+
}
|
|
99
|
+
function getUAString() {
|
|
100
|
+
// @ts-ignore
|
|
101
|
+
const uaData = navigator.userAgentData;
|
|
102
|
+
if (uaData != null && uaData.brands) {
|
|
103
|
+
return uaData.brands.map((item) => item.brand + "/" + item.version).join(" ");
|
|
104
|
+
}
|
|
105
|
+
return navigator.userAgent;
|
|
106
|
+
}
|
|
107
|
+
function isHTMLElement(value) {
|
|
108
|
+
return value instanceof getWindow(value).HTMLElement;
|
|
109
|
+
}
|
|
110
|
+
function isElement(value) {
|
|
111
|
+
return value instanceof getWindow(value).Element;
|
|
112
|
+
}
|
|
113
|
+
function isNode(value) {
|
|
114
|
+
return value instanceof getWindow(value).Node;
|
|
115
|
+
}
|
|
116
|
+
function isShadowRoot(node) {
|
|
117
|
+
// Browsers without `ShadowRoot` support
|
|
118
|
+
if (typeof ShadowRoot === "undefined") {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
const OwnElement = getWindow(node).ShadowRoot;
|
|
122
|
+
return node instanceof OwnElement || node instanceof ShadowRoot;
|
|
123
|
+
}
|
|
124
|
+
function isOverflowElement(element) {
|
|
125
|
+
// Firefox wants us to check `-x` and `-y` variations as well
|
|
126
|
+
const { overflow, overflowX, overflowY, display } = getComputedStyle(element);
|
|
127
|
+
return (/auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX) && !["inline", "contents"].includes(display));
|
|
128
|
+
}
|
|
129
|
+
function isTableElement(element) {
|
|
130
|
+
return ["table", "td", "th"].includes(getNodeName(element));
|
|
131
|
+
}
|
|
132
|
+
function isContainingBlock(element) {
|
|
133
|
+
// TODO: Try and use feature detection here instead
|
|
134
|
+
const isFirefox = /firefox/i.test(getUAString());
|
|
135
|
+
const css = getComputedStyle(element); // This is non-exhaustive but covers the most common CSS properties that
|
|
136
|
+
// create a containing block.
|
|
137
|
+
// https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
|
|
138
|
+
return (css.transform !== "none" ||
|
|
139
|
+
css.perspective !== "none" ||
|
|
140
|
+
(isFirefox && css.willChange === "filter") ||
|
|
141
|
+
(isFirefox && (css.filter ? css.filter !== "none" : false)) ||
|
|
142
|
+
["transform", "perspective"].some((value) => css.willChange.includes(value)) ||
|
|
143
|
+
["paint", "layout", "strict", "content"].some(
|
|
144
|
+
// TS 4.1 compat
|
|
145
|
+
(value) => {
|
|
146
|
+
const contain = css.contain;
|
|
147
|
+
return contain != null ? contain.includes(value) : false;
|
|
148
|
+
}));
|
|
149
|
+
}
|
|
150
|
+
function isLayoutViewport() {
|
|
151
|
+
// Not Safari
|
|
152
|
+
return !/^((?!chrome|android).)*safari/i.test(getUAString()); // Feature detection for this fails in various ways
|
|
153
|
+
// • Always-visible scrollbar or not
|
|
154
|
+
// • Width of <html>, etc.
|
|
155
|
+
// const vV = win.visualViewport;
|
|
156
|
+
// return vV ? Math.abs(win.innerWidth / vV.scale - vV.width) < 0.5 : true;
|
|
157
|
+
}
|
|
158
|
+
function isLastTraversableNode(node) {
|
|
159
|
+
return ["html", "body", "#document"].includes(getNodeName(node));
|
|
160
|
+
}
|
|
161
|
+
const min = Math.min;
|
|
162
|
+
const max = Math.max;
|
|
163
|
+
const round = Math.round;
|
|
164
|
+
function getBoundingClientRect(element, includeScale, isFixedStrategy) {
|
|
165
|
+
var _win$visualViewport$o, _win$visualViewport, _win$visualViewport$o2, _win$visualViewport2;
|
|
166
|
+
if (includeScale === void 0) {
|
|
167
|
+
includeScale = false;
|
|
168
|
+
}
|
|
169
|
+
if (isFixedStrategy === void 0) {
|
|
170
|
+
isFixedStrategy = false;
|
|
171
|
+
}
|
|
172
|
+
const clientRect = element.getBoundingClientRect();
|
|
173
|
+
let scaleX = 1;
|
|
174
|
+
let scaleY = 1;
|
|
175
|
+
if (includeScale && isHTMLElement(element)) {
|
|
176
|
+
scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;
|
|
177
|
+
scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;
|
|
178
|
+
}
|
|
179
|
+
const win = isElement(element) ? getWindow(element) : window;
|
|
180
|
+
const addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
|
|
181
|
+
const x = (clientRect.left +
|
|
182
|
+
(addVisualOffsets
|
|
183
|
+
? (_win$visualViewport$o =
|
|
184
|
+
(_win$visualViewport = win.visualViewport) == null ? void 0 : _win$visualViewport.offsetLeft) != null
|
|
185
|
+
? _win$visualViewport$o
|
|
186
|
+
: 0
|
|
187
|
+
: 0)) /
|
|
188
|
+
scaleX;
|
|
189
|
+
const y = (clientRect.top +
|
|
190
|
+
(addVisualOffsets
|
|
191
|
+
? (_win$visualViewport$o2 =
|
|
192
|
+
(_win$visualViewport2 = win.visualViewport) == null ? void 0 : _win$visualViewport2.offsetTop) != null
|
|
193
|
+
? _win$visualViewport$o2
|
|
194
|
+
: 0
|
|
195
|
+
: 0)) /
|
|
196
|
+
scaleY;
|
|
197
|
+
const width = clientRect.width / scaleX;
|
|
198
|
+
const height = clientRect.height / scaleY;
|
|
199
|
+
return {
|
|
200
|
+
width,
|
|
201
|
+
height,
|
|
202
|
+
top: y,
|
|
203
|
+
right: x + width,
|
|
204
|
+
bottom: y + height,
|
|
205
|
+
left: x,
|
|
206
|
+
x,
|
|
207
|
+
y
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
function getDocumentElement(node) {
|
|
211
|
+
return ((isNode(node) ? node.ownerDocument : node.document) || window.document).documentElement;
|
|
212
|
+
}
|
|
213
|
+
function getNodeScroll(element) {
|
|
214
|
+
if (isElement(element)) {
|
|
215
|
+
return {
|
|
216
|
+
scrollLeft: element.scrollLeft,
|
|
217
|
+
scrollTop: element.scrollTop
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
return {
|
|
221
|
+
scrollLeft: element.pageXOffset,
|
|
222
|
+
scrollTop: element.pageYOffset
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
function getWindowScrollBarX(element) {
|
|
226
|
+
// If <html> has a CSS width greater than the viewport, then this will be
|
|
227
|
+
// incorrect for RTL.
|
|
228
|
+
// @ts-ignore
|
|
229
|
+
return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;
|
|
230
|
+
}
|
|
231
|
+
function isScaled(element) {
|
|
232
|
+
// @ts-ignore
|
|
233
|
+
const rect = getBoundingClientRect(element);
|
|
234
|
+
return round(rect.width) !== element.offsetWidth || round(rect.height) !== element.offsetHeight;
|
|
235
|
+
}
|
|
236
|
+
function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
|
|
237
|
+
const isOffsetParentAnElement = isHTMLElement(offsetParent);
|
|
238
|
+
const documentElement = getDocumentElement(offsetParent);
|
|
239
|
+
const rect = getBoundingClientRect(element, // @ts-ignore - checked above (TS 4.1 compat)
|
|
240
|
+
isOffsetParentAnElement && isScaled(offsetParent), strategy === "fixed");
|
|
241
|
+
let scroll = {
|
|
242
|
+
scrollLeft: 0,
|
|
243
|
+
scrollTop: 0
|
|
244
|
+
};
|
|
245
|
+
const offsets = {
|
|
246
|
+
x: 0,
|
|
247
|
+
y: 0
|
|
248
|
+
};
|
|
249
|
+
if (isOffsetParentAnElement || (!isOffsetParentAnElement && strategy !== "fixed")) {
|
|
250
|
+
if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
|
|
251
|
+
scroll = getNodeScroll(offsetParent);
|
|
252
|
+
}
|
|
253
|
+
if (isHTMLElement(offsetParent)) {
|
|
254
|
+
// @ts-ignore
|
|
255
|
+
const offsetRect = getBoundingClientRect(offsetParent, true);
|
|
256
|
+
offsets.x = offsetRect.x + offsetParent.clientLeft;
|
|
257
|
+
offsets.y = offsetRect.y + offsetParent.clientTop;
|
|
258
|
+
}
|
|
259
|
+
else if (documentElement) {
|
|
260
|
+
offsets.x = getWindowScrollBarX(documentElement);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
return {
|
|
264
|
+
x: rect.left + scroll.scrollLeft - offsets.x,
|
|
265
|
+
y: rect.top + scroll.scrollTop - offsets.y,
|
|
266
|
+
width: rect.width,
|
|
267
|
+
height: rect.height
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
function getParentNode(node) {
|
|
271
|
+
if (getNodeName(node) === "html") {
|
|
272
|
+
return node;
|
|
273
|
+
}
|
|
274
|
+
return (
|
|
275
|
+
// this is a quicker (but less type safe) way to save quite some bytes from the bundle
|
|
276
|
+
// @ts-ignore
|
|
277
|
+
node.assignedSlot || // step into the shadow DOM of the parent of a slotted node
|
|
278
|
+
node.parentNode || // DOM Element detected
|
|
279
|
+
(isShadowRoot(node) ? node.host : null) || // ShadowRoot detected
|
|
280
|
+
getDocumentElement(node) // fallback
|
|
281
|
+
);
|
|
282
|
+
}
|
|
283
|
+
function getContainingBlock(element) {
|
|
284
|
+
let currentNode = getParentNode(element);
|
|
285
|
+
if (isShadowRoot(currentNode)) {
|
|
286
|
+
currentNode = currentNode.host;
|
|
287
|
+
}
|
|
288
|
+
while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
|
|
289
|
+
if (isContainingBlock(currentNode)) {
|
|
290
|
+
return currentNode;
|
|
291
|
+
}
|
|
292
|
+
else {
|
|
293
|
+
const parent = currentNode.parentNode;
|
|
294
|
+
currentNode = isShadowRoot(parent) ? parent.host : parent;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
return null;
|
|
298
|
+
} // Gets the closest ancestor positioned element. Handles some edge cases,
|
|
299
|
+
// such as table ancestors and cross browser bugs.
|
|
300
|
+
function getOffsetParent(element) {
|
|
301
|
+
const window = getWindow(element);
|
|
302
|
+
let offsetParent = getTrueOffsetParent(element);
|
|
303
|
+
while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === "static") {
|
|
304
|
+
offsetParent = getTrueOffsetParent(offsetParent);
|
|
305
|
+
}
|
|
306
|
+
if (offsetParent &&
|
|
307
|
+
(getNodeName(offsetParent) === "html" ||
|
|
308
|
+
(getNodeName(offsetParent) === "body" &&
|
|
309
|
+
getComputedStyle(offsetParent).position === "static" &&
|
|
310
|
+
!isContainingBlock(offsetParent)))) {
|
|
311
|
+
return window;
|
|
312
|
+
}
|
|
313
|
+
return offsetParent || getContainingBlock(element) || window;
|
|
314
|
+
}
|
|
315
|
+
function getDimensions(element) {
|
|
316
|
+
if (isHTMLElement(element)) {
|
|
317
|
+
return {
|
|
318
|
+
width: element.offsetWidth,
|
|
319
|
+
height: element.offsetHeight
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
// @ts-ignore
|
|
323
|
+
const rect = getBoundingClientRect(element);
|
|
324
|
+
return {
|
|
325
|
+
width: rect.width,
|
|
326
|
+
height: rect.height
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
function getViewportRect(element, strategy) {
|
|
330
|
+
const win = getWindow(element);
|
|
331
|
+
const html = getDocumentElement(element);
|
|
332
|
+
const visualViewport = win.visualViewport;
|
|
333
|
+
let width = html.clientWidth;
|
|
334
|
+
let height = html.clientHeight;
|
|
335
|
+
let x = 0;
|
|
336
|
+
let y = 0;
|
|
337
|
+
if (visualViewport) {
|
|
338
|
+
width = visualViewport.width;
|
|
339
|
+
height = visualViewport.height;
|
|
340
|
+
const layoutViewport = isLayoutViewport();
|
|
341
|
+
if (layoutViewport || (!layoutViewport && strategy === "fixed")) {
|
|
342
|
+
x = visualViewport.offsetLeft;
|
|
343
|
+
y = visualViewport.offsetTop;
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
return {
|
|
347
|
+
width,
|
|
348
|
+
height,
|
|
349
|
+
x,
|
|
350
|
+
y
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
// of the `<html>` and `<body>` rect bounds if horizontally scrollable
|
|
354
|
+
function getDocumentRect(element) {
|
|
355
|
+
var _element$ownerDocumen;
|
|
356
|
+
const html = getDocumentElement(element);
|
|
357
|
+
const scroll = getNodeScroll(element);
|
|
358
|
+
const body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;
|
|
359
|
+
const width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);
|
|
360
|
+
const height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);
|
|
361
|
+
let x = -scroll.scrollLeft + getWindowScrollBarX(element);
|
|
362
|
+
const y = -scroll.scrollTop;
|
|
363
|
+
if (getComputedStyle(body || html).direction === "rtl") {
|
|
364
|
+
x += max(html.clientWidth, body ? body.clientWidth : 0) - width;
|
|
365
|
+
}
|
|
366
|
+
return {
|
|
367
|
+
width,
|
|
368
|
+
height,
|
|
369
|
+
x,
|
|
370
|
+
y
|
|
371
|
+
};
|
|
372
|
+
}
|
|
373
|
+
function getNearestOverflowAncestor(node) {
|
|
374
|
+
const parentNode = getParentNode(node);
|
|
375
|
+
if (isLastTraversableNode(parentNode)) {
|
|
376
|
+
// @ts-ignore assume body is always available
|
|
377
|
+
return node.ownerDocument.body;
|
|
378
|
+
}
|
|
379
|
+
if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
|
|
380
|
+
return parentNode;
|
|
381
|
+
}
|
|
382
|
+
return getNearestOverflowAncestor(parentNode);
|
|
383
|
+
}
|
|
384
|
+
function getOverflowAncestors(node, list) {
|
|
385
|
+
var _node$ownerDocument;
|
|
386
|
+
if (list === void 0) {
|
|
387
|
+
list = [];
|
|
388
|
+
}
|
|
389
|
+
const scrollableAncestor = getNearestOverflowAncestor(node);
|
|
390
|
+
const isBody = scrollableAncestor === ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.body);
|
|
391
|
+
const win = getWindow(scrollableAncestor);
|
|
392
|
+
const target = isBody
|
|
393
|
+
? [win].concat(win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [])
|
|
394
|
+
: scrollableAncestor;
|
|
395
|
+
const updatedList = list.concat(target);
|
|
396
|
+
return isBody
|
|
397
|
+
? updatedList // @ts-ignore: isBody tells us target will be an HTMLElement here
|
|
398
|
+
: updatedList.concat(getOverflowAncestors(target));
|
|
399
|
+
}
|
|
400
|
+
function contains(parent, child) {
|
|
401
|
+
const rootNode = child.getRootNode == null ? void 0 : child.getRootNode(); // First, attempt with faster native method
|
|
402
|
+
if (parent.contains(child)) {
|
|
403
|
+
return true;
|
|
404
|
+
} // then fallback to custom implementation with Shadow DOM support
|
|
405
|
+
else if (rootNode && isShadowRoot(rootNode)) {
|
|
406
|
+
let next = child;
|
|
407
|
+
do {
|
|
408
|
+
// use `===` replace node.isSameNode()
|
|
409
|
+
if (next && parent === next) {
|
|
410
|
+
return true;
|
|
411
|
+
} // @ts-ignore: need a better way to handle this...
|
|
412
|
+
next = next.parentNode || next.host;
|
|
413
|
+
} while (next);
|
|
414
|
+
}
|
|
415
|
+
return false;
|
|
416
|
+
}
|
|
417
|
+
function getNearestParentCapableOfEscapingClipping(element, clippingAncestors) {
|
|
418
|
+
let currentNode = element;
|
|
419
|
+
while (currentNode && !isLastTraversableNode(currentNode) && !clippingAncestors.includes(currentNode)) {
|
|
420
|
+
if (isElement(currentNode) && ["absolute", "fixed"].includes(getComputedStyle(currentNode).position)) {
|
|
421
|
+
break;
|
|
422
|
+
}
|
|
423
|
+
const parentNode = getParentNode(currentNode);
|
|
424
|
+
currentNode = isShadowRoot(parentNode) ? parentNode.host : parentNode;
|
|
425
|
+
}
|
|
426
|
+
return currentNode;
|
|
427
|
+
}
|
|
428
|
+
function getInnerBoundingClientRect(element, strategy) {
|
|
429
|
+
const clientRect = getBoundingClientRect(element, false, strategy === "fixed");
|
|
430
|
+
const top = clientRect.top + element.clientTop;
|
|
431
|
+
const left = clientRect.left + element.clientLeft;
|
|
432
|
+
return {
|
|
433
|
+
top,
|
|
434
|
+
left,
|
|
435
|
+
x: left,
|
|
436
|
+
y: top,
|
|
437
|
+
right: left + element.clientWidth,
|
|
438
|
+
bottom: top + element.clientHeight,
|
|
439
|
+
width: element.clientWidth,
|
|
440
|
+
height: element.clientHeight
|
|
441
|
+
};
|
|
442
|
+
}
|
|
443
|
+
function getClientRectFromClippingAncestor(element, clippingParent, strategy) {
|
|
444
|
+
if (clippingParent === "viewport") {
|
|
445
|
+
return rectToClientRect(getViewportRect(element, strategy));
|
|
446
|
+
}
|
|
447
|
+
if (isElement(clippingParent)) {
|
|
448
|
+
return getInnerBoundingClientRect(clippingParent, strategy);
|
|
449
|
+
}
|
|
450
|
+
return rectToClientRect(getDocumentRect(getDocumentElement(element)));
|
|
451
|
+
} // A "clipping ancestor" is an overflowable container with the characteristic of
|
|
452
|
+
// clipping (or hiding) overflowing elements with a position different from
|
|
453
|
+
// `initial`
|
|
454
|
+
function getClippingAncestors(element) {
|
|
455
|
+
// @ts-ignore
|
|
456
|
+
const clippingAncestors = getOverflowAncestors(element);
|
|
457
|
+
const nearestEscapableParent = getNearestParentCapableOfEscapingClipping(element, clippingAncestors);
|
|
458
|
+
let clipperElement = null;
|
|
459
|
+
if (nearestEscapableParent && isHTMLElement(nearestEscapableParent)) {
|
|
460
|
+
const offsetParent = getOffsetParent(nearestEscapableParent);
|
|
461
|
+
if (isOverflowElement(nearestEscapableParent)) {
|
|
462
|
+
clipperElement = nearestEscapableParent;
|
|
463
|
+
}
|
|
464
|
+
else if (isHTMLElement(offsetParent)) {
|
|
465
|
+
clipperElement = offsetParent;
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
if (!isElement(clipperElement)) {
|
|
469
|
+
return [];
|
|
470
|
+
} // @ts-ignore isElement check ensures we return Array<Element>
|
|
471
|
+
return clippingAncestors.filter((clippingAncestors) => clipperElement &&
|
|
472
|
+
isElement(clippingAncestors) &&
|
|
473
|
+
contains(clippingAncestors, clipperElement) &&
|
|
474
|
+
getNodeName(clippingAncestors) !== "body");
|
|
475
|
+
} // Gets the maximum area that the element is visible in due to any number of
|
|
476
|
+
// clipping ancestors
|
|
477
|
+
function getClippingRect(_ref) {
|
|
478
|
+
let { element, boundary, rootBoundary, strategy } = _ref;
|
|
479
|
+
const mainClippingAncestors = boundary === "clippingAncestors" ? getClippingAncestors(element) : [].concat(boundary);
|
|
480
|
+
const clippingAncestors = [...mainClippingAncestors, rootBoundary];
|
|
481
|
+
const firstClippingAncestor = clippingAncestors[0];
|
|
482
|
+
const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {
|
|
483
|
+
const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);
|
|
484
|
+
accRect.top = max(rect.top, accRect.top);
|
|
485
|
+
accRect.right = min(rect.right, accRect.right);
|
|
486
|
+
accRect.bottom = min(rect.bottom, accRect.bottom);
|
|
487
|
+
accRect.left = max(rect.left, accRect.left);
|
|
488
|
+
return accRect;
|
|
489
|
+
}, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));
|
|
490
|
+
return {
|
|
491
|
+
width: clippingRect.right - clippingRect.left,
|
|
492
|
+
height: clippingRect.bottom - clippingRect.top,
|
|
493
|
+
x: clippingRect.left,
|
|
494
|
+
y: clippingRect.top
|
|
495
|
+
};
|
|
496
|
+
}
|
|
@@ -1,10 +1,36 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
|
|
4
|
-
* v1.0.0-next.
|
|
4
|
+
* v1.0.0-next.607
|
|
5
|
+
*/
|
|
6
|
+
import { arrow, autoPlacement, autoUpdate, computePosition, flip, hide, offset, platform, shift } from "@floating-ui/dom";
|
|
7
|
+
import { closestElementCrossShadowBoundary, getElementDir } from "./dom";
|
|
8
|
+
import { debounce } from "lodash-es";
|
|
9
|
+
import { Build } from "@stencil/core";
|
|
10
|
+
import { config } from "./config";
|
|
11
|
+
const floatingUIBrowserCheck = patchFloatingUiForNonChromiumBrowsers();
|
|
12
|
+
async function patchFloatingUiForNonChromiumBrowsers() {
|
|
13
|
+
function getUAString() {
|
|
14
|
+
const uaData = navigator.userAgentData;
|
|
15
|
+
if (uaData === null || uaData === void 0 ? void 0 : uaData.brands) {
|
|
16
|
+
return uaData.brands.map((item) => `${item.brand}/${item.version}`).join(" ");
|
|
17
|
+
}
|
|
18
|
+
return navigator.userAgent;
|
|
19
|
+
}
|
|
20
|
+
if (Build.isBrowser &&
|
|
21
|
+
config.floatingUINonChromiumPositioningFix &&
|
|
22
|
+
// ⚠️ browser-sniffing is not a best practice and should be avoided ⚠️
|
|
23
|
+
/firefox|safari/i.test(getUAString())) {
|
|
24
|
+
const { getClippingRect, getElementRects, getOffsetParent } = await import("./floating-ui/nonChromiumPlatformUtils");
|
|
25
|
+
platform.getClippingRect = getClippingRect;
|
|
26
|
+
platform.getOffsetParent = getOffsetParent;
|
|
27
|
+
platform.getElementRects = getElementRects;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const placementDataAttribute = "data-placement";
|
|
31
|
+
/**
|
|
32
|
+
* Exported for testing purposes only
|
|
5
33
|
*/
|
|
6
|
-
import { computePosition, arrow, flip, shift, hide, offset, autoPlacement, autoUpdate } from "@floating-ui/dom";
|
|
7
|
-
import { getElementDir } from "./dom";
|
|
8
34
|
export const repositionDebounceTimeout = 100;
|
|
9
35
|
export const placements = [
|
|
10
36
|
"auto",
|
|
@@ -131,9 +157,40 @@ export function getEffectivePlacement(floatingEl, placement) {
|
|
|
131
157
|
.replace(/leading/gi, placements[0])
|
|
132
158
|
.replace(/trailing/gi, placements[1]);
|
|
133
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* Convenience function to manage `reposition` calls for FloatingUIComponents that use `positionFloatingUI.
|
|
162
|
+
*
|
|
163
|
+
* Note: this is not needed for components that use `calcite-popover`.
|
|
164
|
+
*
|
|
165
|
+
* @param component
|
|
166
|
+
* @param options
|
|
167
|
+
* @param options.referenceEl
|
|
168
|
+
* @param options.floatingEl
|
|
169
|
+
* @param options.overlayPositioning
|
|
170
|
+
* @param options.placement
|
|
171
|
+
* @param options.disableFlip
|
|
172
|
+
* @param options.flipPlacements
|
|
173
|
+
* @param options.offsetDistance
|
|
174
|
+
* @param options.offsetSkidding
|
|
175
|
+
* @param options.arrowEl
|
|
176
|
+
* @param options.type
|
|
177
|
+
* @param delayed
|
|
178
|
+
*/
|
|
179
|
+
export async function reposition(component, options, delayed = false) {
|
|
180
|
+
if (!component.open) {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
return delayed ? debouncedReposition(options) : positionFloatingUI(options);
|
|
184
|
+
}
|
|
185
|
+
const debouncedReposition = debounce(positionFloatingUI, repositionDebounceTimeout, {
|
|
186
|
+
leading: true,
|
|
187
|
+
maxWait: repositionDebounceTimeout
|
|
188
|
+
});
|
|
134
189
|
/**
|
|
135
190
|
* Positions the floating element relative to the reference element.
|
|
136
191
|
*
|
|
192
|
+
* **Note:** exported for testing purposes only
|
|
193
|
+
*
|
|
137
194
|
* @param root0
|
|
138
195
|
* @param root0.referenceEl
|
|
139
196
|
* @param root0.floatingEl
|
|
@@ -145,12 +202,14 @@ export function getEffectivePlacement(floatingEl, placement) {
|
|
|
145
202
|
* @param root0.offsetSkidding
|
|
146
203
|
* @param root0.arrowEl
|
|
147
204
|
* @param root0.type
|
|
205
|
+
* @param root0.includeArrow
|
|
148
206
|
*/
|
|
149
|
-
export async function positionFloatingUI({ referenceEl, floatingEl, overlayPositioning = "absolute", placement, disableFlip, flipPlacements, offsetDistance, offsetSkidding, arrowEl, type }) {
|
|
207
|
+
export async function positionFloatingUI({ referenceEl, floatingEl, overlayPositioning = "absolute", placement, disableFlip, flipPlacements, offsetDistance, offsetSkidding, includeArrow = false, arrowEl, type }) {
|
|
150
208
|
var _a;
|
|
151
|
-
if (!referenceEl || !floatingEl) {
|
|
209
|
+
if (!referenceEl || !floatingEl || (includeArrow && !arrowEl)) {
|
|
152
210
|
return null;
|
|
153
211
|
}
|
|
212
|
+
await floatingUIBrowserCheck;
|
|
154
213
|
const { x, y, placement: effectivePlacement, strategy: position, middlewareData } = await computePosition(referenceEl, floatingEl, {
|
|
155
214
|
strategy: overlayPositioning,
|
|
156
215
|
placement: placement === "auto" || placement === "auto-start" || placement === "auto-end"
|
|
@@ -176,7 +235,7 @@ export async function positionFloatingUI({ referenceEl, floatingEl, overlayPosit
|
|
|
176
235
|
const referenceHidden = (_a = middlewareData === null || middlewareData === void 0 ? void 0 : middlewareData.hide) === null || _a === void 0 ? void 0 : _a.referenceHidden;
|
|
177
236
|
const visibility = referenceHidden ? "hidden" : null;
|
|
178
237
|
const pointerEvents = visibility ? "none" : null;
|
|
179
|
-
floatingEl.setAttribute(
|
|
238
|
+
floatingEl.setAttribute(placementDataAttribute, effectivePlacement);
|
|
180
239
|
const transform = `translate(${Math.round(x)}px,${Math.round(y)}px)`;
|
|
181
240
|
Object.assign(floatingEl.style, {
|
|
182
241
|
visibility,
|
|
@@ -187,7 +246,12 @@ export async function positionFloatingUI({ referenceEl, floatingEl, overlayPosit
|
|
|
187
246
|
transform
|
|
188
247
|
});
|
|
189
248
|
}
|
|
190
|
-
|
|
249
|
+
/**
|
|
250
|
+
* Exported for testing purposes only
|
|
251
|
+
*
|
|
252
|
+
* @internal
|
|
253
|
+
*/
|
|
254
|
+
export const cleanupMap = new WeakMap();
|
|
191
255
|
/**
|
|
192
256
|
* Helper to set up floating element interactions on connectedCallback.
|
|
193
257
|
*
|
|
@@ -200,11 +264,21 @@ export function connectFloatingUI(component, referenceEl, floatingEl) {
|
|
|
200
264
|
return;
|
|
201
265
|
}
|
|
202
266
|
disconnectFloatingUI(component, referenceEl, floatingEl);
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
267
|
+
const position = component.overlayPositioning;
|
|
268
|
+
// ensure position matches for initial positioning
|
|
269
|
+
floatingEl.style.position = position;
|
|
270
|
+
if (position === "absolute") {
|
|
271
|
+
moveOffScreen(floatingEl);
|
|
272
|
+
}
|
|
273
|
+
const runAutoUpdate = Build.isBrowser
|
|
274
|
+
? autoUpdate
|
|
275
|
+
: (_refEl, _floatingEl, updateCallback) => {
|
|
276
|
+
updateCallback();
|
|
277
|
+
return () => {
|
|
278
|
+
/* noop */
|
|
279
|
+
};
|
|
280
|
+
};
|
|
281
|
+
cleanupMap.set(component, runAutoUpdate(referenceEl, floatingEl, () => component.reposition()));
|
|
208
282
|
}
|
|
209
283
|
/**
|
|
210
284
|
* Helper to tear down floating element interactions on disconnectedCallback.
|
|
@@ -217,6 +291,7 @@ export function disconnectFloatingUI(component, referenceEl, floatingEl) {
|
|
|
217
291
|
if (!floatingEl || !referenceEl) {
|
|
218
292
|
return;
|
|
219
293
|
}
|
|
294
|
+
getTransitionTarget(floatingEl).removeEventListener("transitionend", handleTransitionElTransitionEnd);
|
|
220
295
|
const cleanup = cleanupMap.get(component);
|
|
221
296
|
if (cleanup) {
|
|
222
297
|
cleanup();
|
|
@@ -230,3 +305,39 @@ const visiblePointerSize = 4;
|
|
|
230
305
|
* @default 6
|
|
231
306
|
*/
|
|
232
307
|
export const defaultOffsetDistance = Math.ceil(Math.hypot(visiblePointerSize, visiblePointerSize));
|
|
308
|
+
/**
|
|
309
|
+
* This utils applies floating element styles to avoid affecting layout when closed.
|
|
310
|
+
*
|
|
311
|
+
* This should be called when the closing transition will start.
|
|
312
|
+
*
|
|
313
|
+
* @param floatingEl
|
|
314
|
+
*/
|
|
315
|
+
export function updateAfterClose(floatingEl) {
|
|
316
|
+
if (!floatingEl || floatingEl.style.position !== "absolute") {
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
getTransitionTarget(floatingEl).addEventListener("transitionend", handleTransitionElTransitionEnd);
|
|
320
|
+
}
|
|
321
|
+
function getTransitionTarget(floatingEl) {
|
|
322
|
+
// assumes floatingEl w/ shadowRoot is a FloatingUIComponent
|
|
323
|
+
return floatingEl.shadowRoot || floatingEl;
|
|
324
|
+
}
|
|
325
|
+
function handleTransitionElTransitionEnd(event) {
|
|
326
|
+
const floatingTransitionEl = event.target;
|
|
327
|
+
if (
|
|
328
|
+
// using any prop from floating-ui transition
|
|
329
|
+
event.propertyName === "opacity" &&
|
|
330
|
+
floatingTransitionEl.classList.contains(FloatingCSS.animation)) {
|
|
331
|
+
const floatingEl = getFloatingElFromTransitionTarget(floatingTransitionEl);
|
|
332
|
+
moveOffScreen(floatingEl);
|
|
333
|
+
getTransitionTarget(floatingEl).removeEventListener("transitionend", handleTransitionElTransitionEnd);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
function moveOffScreen(floatingEl) {
|
|
337
|
+
floatingEl.style.transform = "";
|
|
338
|
+
floatingEl.style.top = "-99999px";
|
|
339
|
+
floatingEl.style.left = "-99999px";
|
|
340
|
+
}
|
|
341
|
+
function getFloatingElFromTransitionTarget(floatingTransitionEl) {
|
|
342
|
+
return closestElementCrossShadowBoundary(floatingTransitionEl, `[${placementDataAttribute}]`);
|
|
343
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
* See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
|
|
4
|
-
* v1.0.0-next.
|
|
4
|
+
* v1.0.0-next.607
|
|
5
5
|
*/
|
|
6
6
|
import { closestElementCrossShadowBoundary } from "./dom";
|
|
7
7
|
import { h } from "@stencil/core";
|