@xplortech/apollo-core 2.10.0 → 2.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.typings/apollo-components.html-data.json +134 -12
- package/AGENTS.md +27 -3
- package/README.md +12 -0
- package/build/components/accordion.css +1 -0
- package/build/components/application-shell.css +1 -0
- package/build/components/avatar.css +1 -0
- package/build/components/backdrop.css +1 -0
- package/build/components/badge.css +1 -0
- package/build/components/banner.css +1 -0
- package/build/components/breadcrumbs.css +1 -0
- package/build/components/button-row.css +1 -0
- package/build/components/button.css +1 -0
- package/build/components/calendar.css +1 -0
- package/build/components/checkbox-radio.css +1 -0
- package/build/components/choicelist.css +1 -0
- package/build/components/content-area.css +1 -0
- package/build/components/dashboard.css +1 -0
- package/build/components/data-card.css +1 -0
- package/build/components/divider.css +1 -0
- package/build/components/dropdown.css +1 -0
- package/build/components/dynamic-table-cell.css +1 -0
- package/build/components/dynamic-table-row.css +1 -0
- package/build/components/dynamic-table.css +1 -0
- package/build/components/grid.css +1 -0
- package/build/components/header-accordion.css +1 -0
- package/build/components/icon.css +1 -0
- package/build/components/input-color.css +1 -0
- package/build/components/input-date.css +1 -0
- package/build/components/input-file.css +1 -0
- package/build/components/input-phone.css +1 -0
- package/build/components/input-search.css +1 -0
- package/build/components/input-time.css +1 -0
- package/build/components/input.css +1 -0
- package/build/components/label.css +1 -0
- package/build/components/large-card.css +1 -0
- package/build/components/list-action.css +1 -0
- package/build/components/list-item.css +1 -0
- package/build/components/list.css +1 -0
- package/build/components/main-nav.css +1 -0
- package/build/components/modal.css +1 -0
- package/build/components/nav-item.css +1 -0
- package/build/components/pagination.css +1 -0
- package/build/components/panel.css +1 -0
- package/build/components/popover.css +1 -0
- package/build/components/progress-bar.css +1 -0
- package/build/components/progress-indicator.css +1 -0
- package/build/components/secondary-nav.css +1 -0
- package/build/components/select.css +1 -0
- package/build/components/side-nav.css +1 -0
- package/build/components/skeleton.css +1 -0
- package/build/components/slideout.css +1 -0
- package/build/components/spotlight.css +1 -0
- package/build/components/table-header-cell.css +1 -0
- package/build/components/table-header.css +1 -0
- package/build/components/table.css +1 -0
- package/build/components/tabs.css +1 -0
- package/build/components/tag.css +1 -0
- package/build/components/toast.css +1 -0
- package/build/components/toggle.css +1 -0
- package/build/components/toolbar.css +1 -0
- package/build/components/tooltip.css +1 -0
- package/build/components/top-nav.css +1 -0
- package/build/components/utility-bar.css +1 -0
- package/build/components-manifest.json +220 -0
- package/build/core.css +2 -0
- package/build/reset.css +394 -0
- package/build/style.css +2 -13120
- package/build/tailwind-theme.css +2 -0
- package/build/typography.css +1 -0
- package/build/variables/apollo.css +779 -0
- package/build/variables/field-edge.css +554 -0
- package/build/vendor/flatpickr.css +1 -0
- package/dist/apollo-core/apollo-core.css +2 -55
- package/dist/apollo-core/apollo-core.esm.js +1 -1
- package/dist/apollo-core/p-0095174c.entry.js +1 -0
- package/dist/apollo-core/p-020ecd66.entry.js +1 -0
- package/dist/apollo-core/p-0463c29f.entry.js +1 -0
- package/dist/apollo-core/p-091411e3.entry.js +1 -0
- package/dist/apollo-core/p-0be4dbb8.entry.js +1 -0
- package/dist/apollo-core/p-1139fac0.entry.js +1 -0
- package/dist/apollo-core/p-121d1a4b.entry.js +1 -0
- package/dist/apollo-core/p-140a96c7.entry.js +1 -0
- package/dist/apollo-core/p-1M1pu0C2.js +1 -0
- package/dist/apollo-core/p-1a417191.entry.js +1 -0
- package/dist/apollo-core/p-256ece8b.entry.js +1 -0
- package/dist/apollo-core/p-26861d09.entry.js +1 -0
- package/dist/apollo-core/p-26b6a0ed.entry.js +1 -0
- package/dist/apollo-core/p-39e71d86.entry.js +1 -0
- package/dist/apollo-core/p-3d9c90ee.entry.js +1 -0
- package/dist/apollo-core/p-3dd1de49.entry.js +1 -0
- package/dist/apollo-core/p-4129d971.entry.js +1 -0
- package/dist/apollo-core/p-46d21684.entry.js +1 -0
- package/dist/apollo-core/p-4e61587f.entry.js +1 -0
- package/dist/apollo-core/p-5afc9831.entry.js +1 -0
- package/dist/apollo-core/p-5ca18bc1.entry.js +1 -0
- package/dist/apollo-core/p-5d25a84a.entry.js +1 -0
- package/dist/apollo-core/p-5e5c5016.entry.js +1 -0
- package/dist/apollo-core/p-601b3ab5.entry.js +1 -0
- package/dist/apollo-core/p-616c5a32.entry.js +1 -0
- package/dist/apollo-core/p-638fd9b1.entry.js +1 -0
- package/dist/apollo-core/p-643c8038.entry.js +1 -0
- package/dist/apollo-core/p-707b1918.entry.js +1 -0
- package/dist/apollo-core/p-724c5038.entry.js +1 -0
- package/dist/apollo-core/p-76f64d65.entry.js +1 -0
- package/dist/apollo-core/p-7976cd3b.entry.js +1 -0
- package/dist/apollo-core/p-7f105d63.entry.js +1 -0
- package/dist/apollo-core/p-80a11cad.entry.js +1 -0
- package/dist/apollo-core/p-853418be.entry.js +1 -0
- package/dist/apollo-core/p-875e0eaa.entry.js +1 -0
- package/dist/apollo-core/p-8845106f.entry.js +1 -0
- package/dist/apollo-core/p-8a81ef98.entry.js +1 -0
- package/dist/apollo-core/p-8a925e9d.entry.js +1 -0
- package/dist/apollo-core/p-8ddbf2e2.entry.js +1 -0
- package/dist/apollo-core/p-9747cf43.entry.js +1 -0
- package/dist/apollo-core/p-9b0174b1.entry.js +1 -0
- package/dist/apollo-core/p-9bf2ff9f.entry.js +1 -0
- package/dist/apollo-core/p-BFTU3MAI.js +1 -0
- package/dist/apollo-core/p-BQtbf88X.js +1 -0
- package/dist/apollo-core/p-CWdQxaaX.js +1 -0
- package/dist/apollo-core/p-C_PEOQWj.js +1 -0
- package/dist/apollo-core/p-CzwViN3U.js +1 -0
- package/dist/apollo-core/p-DkqlawVY.js +1 -0
- package/dist/apollo-core/p-Dqb1pIRo.js +1 -0
- package/dist/apollo-core/p-_r9-FML8.js +1 -0
- package/dist/apollo-core/p-a0d3b7f8.entry.js +1 -0
- package/dist/apollo-core/p-a33b0943.entry.js +1 -0
- package/dist/apollo-core/p-b537f72d.entry.js +1 -0
- package/dist/apollo-core/p-ba41bbd5.entry.js +1 -0
- package/dist/apollo-core/p-bb22ed2a.entry.js +1 -0
- package/dist/apollo-core/p-c25aebe5.entry.js +1 -0
- package/dist/apollo-core/p-c427a31d.entry.js +1 -0
- package/dist/apollo-core/p-cde21f72.entry.js +1 -0
- package/dist/apollo-core/p-d288c1d1.entry.js +1 -0
- package/dist/apollo-core/p-d37488d4.entry.js +1 -0
- package/dist/apollo-core/p-d3f2b8b8.entry.js +1 -0
- package/dist/apollo-core/p-dfaba114.entry.js +1 -0
- package/dist/apollo-core/p-e00ed4f4.entry.js +1 -0
- package/dist/apollo-core/p-e2a16242.entry.js +1 -0
- package/dist/apollo-core/p-e4ae3f60.entry.js +1 -0
- package/dist/apollo-core/p-ec488f9c.entry.js +1 -0
- package/dist/apollo-core/p-efa21ec0.entry.js +1 -0
- package/dist/apollo-core/p-f199ad66.entry.js +1 -0
- package/dist/apollo-core/p-f2bfe6a6.entry.js +1 -0
- package/dist/apollo-core/p-fd2756d8.entry.js +1 -0
- package/dist/apollo-core/p-fef6c256.entry.js +1 -0
- package/dist/apollo-core/p-ff8acf15.entry.js +1 -0
- package/dist/apollo-core/p-ukZKsqqq.js +2 -0
- package/dist/cjs/_commonjsHelpers-BJu3ubxk.js +10 -0
- package/dist/cjs/apollo-core.cjs.js +2 -2
- package/dist/cjs/floating-ui.dom-DuvGwvW-.js +1710 -0
- package/dist/cjs/{index-BaXVr8ux.js → index-3cBvw409.js} +760 -9
- package/dist/cjs/index-DP4JWqOH.js +456 -0
- package/dist/cjs/lifecycle-DeSsFfQZ.js +74 -0
- package/dist/cjs/light-dom-slots-CS8Q9rRZ.js +19 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/side-nav-slot-utils-DMog5BVN.js +41 -0
- package/dist/cjs/slot-presence-HmQUW2Ba.js +10 -0
- package/dist/cjs/tab-a11y-ids--A4ZoXEj.js +27 -0
- package/dist/cjs/top-nav-constants-DckvgAo7.js +5 -0
- package/dist/cjs/xpl-accordion.cjs.entry.js +5 -3
- package/dist/cjs/xpl-application-shell.cjs.entry.js +2 -2
- package/dist/cjs/xpl-avatar_3.cjs.entry.js +210 -0
- package/dist/cjs/xpl-backdrop.cjs.entry.js +19 -0
- package/dist/cjs/xpl-badge.cjs.entry.js +37 -0
- package/dist/cjs/xpl-banner.cjs.entry.js +74 -0
- package/dist/cjs/xpl-breadcrumb-item.cjs.entry.js +18 -0
- package/dist/cjs/xpl-breadcrumbs.cjs.entry.js +14 -0
- package/dist/cjs/xpl-button-row.cjs.entry.js +2 -2
- package/dist/cjs/xpl-button.cjs.entry.js +81 -0
- package/dist/cjs/xpl-calendar.cjs.entry.js +10 -6
- package/dist/cjs/xpl-checkbox.cjs.entry.js +32 -0
- package/dist/cjs/xpl-choicelist.cjs.entry.js +68 -0
- package/dist/cjs/xpl-content-area.cjs.entry.js +15 -0
- package/dist/cjs/xpl-dashboard.cjs.entry.js +14 -0
- package/dist/cjs/xpl-data-card.cjs.entry.js +111 -0
- package/dist/cjs/xpl-dropdown_4.cjs.entry.js +577 -0
- package/dist/cjs/xpl-dynamic-table-cell.cjs.entry.js +8 -6
- package/dist/cjs/xpl-dynamic-table-row.cjs.entry.js +5 -5
- package/dist/cjs/xpl-dynamic-table.cjs.entry.js +11 -18
- package/dist/cjs/xpl-grid-item.cjs.entry.js +2 -2
- package/dist/cjs/xpl-grid.cjs.entry.js +6 -6
- package/dist/cjs/xpl-header-accordion.cjs.entry.js +69 -0
- package/dist/{esm/xpl-avatar_54.entry.js → cjs/xpl-icon.cjs.entry.js} +1293 -10607
- package/dist/cjs/xpl-input-color.cjs.entry.js +435 -0
- package/dist/cjs/xpl-input-phone.cjs.entry.js +509 -0
- package/dist/cjs/xpl-input-time.cjs.entry.js +196 -0
- package/dist/cjs/xpl-input_4.cjs.entry.js +524 -0
- package/dist/cjs/xpl-large-card.cjs.entry.js +63 -4
- package/dist/cjs/xpl-list-item.cjs.entry.js +460 -0
- package/dist/cjs/xpl-list.cjs.entry.js +396 -0
- package/dist/cjs/xpl-main-nav.cjs.entry.js +2 -2
- package/dist/cjs/xpl-modal.cjs.entry.js +78 -0
- package/dist/cjs/xpl-nav-header-menu.cjs.entry.js +86 -0
- package/dist/cjs/xpl-nav-item.cjs.entry.js +25 -0
- package/dist/cjs/xpl-pagination.cjs.entry.js +112 -0
- package/dist/cjs/xpl-panel.cjs.entry.js +21 -0
- package/dist/cjs/xpl-popover.cjs.entry.js +265 -0
- package/dist/cjs/xpl-progress-bar.cjs.entry.js +41 -0
- package/dist/cjs/xpl-progress-indicator.cjs.entry.js +74 -0
- package/dist/cjs/xpl-secondary-nav.cjs.entry.js +14 -0
- package/dist/cjs/xpl-select_2.cjs.entry.js +493 -0
- package/dist/cjs/xpl-side-nav-header-item.cjs.entry.js +101 -0
- package/dist/cjs/xpl-side-nav-item.cjs.entry.js +130 -0
- package/dist/cjs/xpl-side-nav-section.cjs.entry.js +105 -0
- package/dist/cjs/xpl-side-nav.cjs.entry.js +272 -0
- package/dist/cjs/xpl-skeleton.cjs.entry.js +26 -0
- package/dist/cjs/xpl-slideout.cjs.entry.js +47 -0
- package/dist/cjs/xpl-spotlight.cjs.entry.js +722 -0
- package/dist/cjs/xpl-tab-panel.cjs.entry.js +24 -0
- package/dist/cjs/xpl-tab.cjs.entry.js +87 -0
- package/dist/cjs/xpl-table-header-cell.cjs.entry.js +5 -3
- package/dist/cjs/xpl-table-header.cjs.entry.js +2 -2
- package/dist/cjs/xpl-table.cjs.entry.js +185 -0
- package/dist/cjs/xpl-tabs.cjs.entry.js +373 -0
- package/dist/cjs/xpl-toast.cjs.entry.js +91 -0
- package/dist/cjs/xpl-toggle.cjs.entry.js +6 -6
- package/dist/cjs/xpl-toolbar.cjs.entry.js +3 -3
- package/dist/cjs/xpl-tooltip.cjs.entry.js +18 -0
- package/dist/cjs/xpl-top-nav-item.cjs.entry.js +435 -0
- package/dist/cjs/xpl-top-nav-menu.cjs.entry.js +91 -0
- package/dist/cjs/xpl-top-nav.cjs.entry.js +342 -0
- package/dist/cjs/xpl-utility-bar.cjs.entry.js +23 -0
- package/dist/collection/collection-manifest.json +4 -1
- package/dist/collection/components/xpl-accordion/accordion.stories.js +6 -2
- package/dist/collection/components/xpl-accordion/xpl-accordion.js +4 -2
- package/dist/collection/components/xpl-application-shell/application-shell.stories.js +19 -1
- package/dist/collection/components/xpl-application-shell/xpl-application-shell.js +1 -1
- package/dist/collection/components/xpl-avatar/avatar.stories.js +19 -9
- package/dist/collection/components/xpl-avatar/xpl-avatar.js +12 -16
- package/dist/collection/components/xpl-backdrop/backdrop.stories.js +17 -3
- package/dist/collection/components/xpl-backdrop/xpl-backdrop.js +1 -1
- package/dist/collection/components/xpl-badge/badge.stories.js +21 -8
- package/dist/collection/components/xpl-badge/xpl-badge.js +4 -5
- package/dist/collection/components/xpl-banner/banner.stories.js +1 -1
- package/dist/collection/components/xpl-banner/xpl-banner.js +7 -9
- package/dist/collection/components/xpl-breadcrumbs/breadcrumbs.stories.js +5 -0
- package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.js +1 -1
- package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.js +1 -1
- package/dist/collection/components/xpl-button/button.stories.js +2 -0
- package/dist/collection/components/xpl-button/xpl-button.js +17 -14
- package/dist/collection/components/xpl-button-row/button-row.stories.js +9 -0
- package/dist/collection/components/xpl-button-row/xpl-button-row.js +1 -1
- package/dist/collection/components/xpl-calendar/calendar.stories.js +11 -3
- package/dist/collection/components/xpl-calendar/xpl-calendar.js +9 -5
- package/dist/collection/components/xpl-checkbox/checkbox.stories.js +11 -2
- package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +7 -8
- package/dist/collection/components/xpl-choicelist/choicelist.stories.js +24 -0
- package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +6 -6
- package/dist/collection/components/xpl-content-area/content-area.stories.js +13 -24
- package/dist/collection/components/xpl-content-area/xpl-content-area.js +1 -1
- package/dist/collection/components/xpl-dashboard/dashboard.stories.js +9 -0
- package/dist/collection/components/xpl-dashboard/xpl-dashboard.js +1 -1
- package/dist/collection/components/xpl-data-card/data-card.stories.js +55 -0
- package/dist/collection/components/xpl-data-card/xpl-data-card.js +69 -5
- package/dist/collection/components/xpl-divider/divider.stories.js +11 -0
- package/dist/collection/components/xpl-divider/xpl-divider.js +1 -1
- package/dist/collection/components/xpl-dropdown/dropdown.stories.js +13 -5
- package/dist/collection/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.js +2 -17
- package/dist/collection/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.js +1 -1
- package/dist/collection/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.js +9 -5
- package/dist/collection/components/xpl-dropdown/xpl-dropdown.js +108 -116
- package/dist/collection/components/xpl-dynamic-table/dynamic-table.stories.js +5 -1
- package/dist/collection/components/xpl-dynamic-table/xpl-dynamic-table.js +13 -19
- package/dist/collection/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.js +7 -5
- package/dist/collection/components/xpl-dynamic-table-row/xpl-dynamic-table-row.js +4 -4
- package/dist/collection/components/xpl-grid/grid.stories.js +9 -0
- package/dist/collection/components/xpl-grid/xpl-grid.js +5 -5
- package/dist/collection/components/xpl-grid-item/xpl-grid-item.js +1 -1
- package/dist/collection/components/xpl-header-accordion/header-accordion.stories.js +6 -2
- package/dist/collection/components/xpl-header-accordion/xpl-header-accordion.js +7 -23
- package/dist/collection/components/xpl-icon/icons.stories.js +21 -2
- package/dist/collection/components/xpl-icon/xpl-icon.js +2 -3
- package/dist/collection/components/xpl-input/input.stories.js +120 -104
- package/dist/collection/components/xpl-input/xpl-input-color/color-utils.js +12 -6
- package/dist/collection/components/xpl-input/xpl-input-color/xpl-input-color.js +47 -38
- package/dist/collection/components/xpl-input/xpl-input-date/xpl-input-date.js +31 -14
- package/dist/collection/components/xpl-input/xpl-input-file/xpl-input-file.js +11 -13
- package/dist/collection/components/xpl-input/xpl-input-phone/xpl-input-phone.js +38 -41
- package/dist/collection/components/xpl-input/xpl-input-search/xpl-input-search.js +5 -8
- package/dist/collection/components/xpl-input/xpl-input-time/xpl-input-time.js +11 -10
- package/dist/collection/components/xpl-input/xpl-input.js +69 -37
- package/dist/collection/components/xpl-large-card/large-card.stories.js +27 -3
- package/dist/collection/components/xpl-large-card/xpl-large-card.js +69 -3
- package/dist/collection/components/xpl-list/list.stories.js +11 -2
- package/dist/collection/components/xpl-list/xpl-list-item/xpl-list-item.js +29 -31
- package/dist/collection/components/xpl-list/xpl-list.js +21 -26
- package/dist/collection/components/xpl-main-nav/main-nav.stories.js +5 -0
- package/dist/collection/components/xpl-main-nav/xpl-main-nav.js +1 -1
- package/dist/collection/components/xpl-modal/modal.stories.js +15 -6
- package/dist/collection/components/xpl-modal/xpl-modal.js +21 -8
- package/dist/collection/components/xpl-nav-item/xpl-nav-item.js +2 -2
- package/dist/collection/components/xpl-pagination/pagination.stories.js +10 -2
- package/dist/collection/components/xpl-pagination/xpl-pagination.js +10 -12
- package/dist/collection/components/xpl-panel/panel.stories.js +9 -0
- package/dist/collection/components/xpl-panel/xpl-panel.js +2 -2
- package/dist/collection/components/xpl-popover/popover.stories.js +15 -5
- package/dist/collection/components/xpl-popover/xpl-popover.js +36 -8
- package/dist/collection/components/xpl-progress-bar/progress-bar.stories.js +10 -1
- package/dist/collection/components/xpl-progress-bar/xpl-progress-bar.js +2 -2
- package/dist/collection/components/xpl-progress-indicator/progress-indicator.stories.js +9 -1
- package/dist/collection/components/xpl-progress-indicator/xpl-progress-indicator.js +1 -1
- package/dist/collection/components/xpl-radio/radio.stories.js +9 -0
- package/dist/collection/components/xpl-radio/xpl-radio.js +7 -7
- package/dist/collection/components/xpl-secondary-nav/secondary-nav.stories.js +10 -5
- package/dist/collection/components/xpl-secondary-nav/xpl-secondary-nav.js +1 -1
- package/dist/collection/components/xpl-select/select.stories.js +11 -8
- package/dist/collection/components/xpl-select/xpl-select.js +91 -49
- package/dist/collection/components/xpl-side-nav/side-nav-slot-utils.js +35 -0
- package/dist/collection/components/xpl-side-nav/side-nav.stories.js +454 -18
- package/dist/collection/components/xpl-side-nav/xpl-side-nav-header-item/xpl-side-nav-header-item.js +201 -0
- package/dist/collection/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.js +10 -11
- package/dist/collection/components/xpl-side-nav/xpl-side-nav-section/xpl-side-nav-section.js +186 -0
- package/dist/collection/components/xpl-side-nav/xpl-side-nav.js +75 -12
- package/dist/collection/components/xpl-skeleton/skeleton.stories.js +10 -1
- package/dist/collection/components/xpl-skeleton/xpl-skeleton.js +3 -3
- package/dist/collection/components/xpl-slideout/slideout.stories.js +13 -0
- package/dist/collection/components/xpl-slideout/xpl-slideout.js +4 -1
- package/dist/collection/components/xpl-spotlight/spotlight.stories.js +22 -15
- package/dist/collection/components/xpl-spotlight/xpl-spotlight.js +44 -49
- package/dist/collection/components/xpl-tab/xpl-tab.js +63 -8
- package/dist/collection/components/xpl-tab-panel/xpl-tab-panel.js +3 -4
- package/dist/collection/components/xpl-table/table.stories.js +11 -2
- package/dist/collection/components/xpl-table/xpl-table.js +52 -36
- package/dist/collection/components/xpl-table-header/table-header.stories.js +9 -1
- package/dist/collection/components/xpl-table-header/xpl-table-header.js +1 -1
- package/dist/collection/components/xpl-table-header-cell/table-header-cell.stories.js +10 -2
- package/dist/collection/components/xpl-table-header-cell/xpl-table-header-cell.js +4 -2
- package/dist/collection/components/xpl-tabs/segment-control.stories.js +10 -1
- package/dist/collection/components/xpl-tabs/tabs.shared.js +77 -19
- package/dist/collection/components/xpl-tabs/tabs.stories.js +14 -2
- package/dist/collection/components/xpl-tabs/xpl-tabs.js +29 -25
- package/dist/collection/components/xpl-tag/tag.stories.js +15 -9
- package/dist/collection/components/xpl-tag/xpl-tag.js +5 -7
- package/dist/collection/components/xpl-toast/toast.stories.js +43 -17
- package/dist/collection/components/xpl-toast/xpl-toast.js +107 -56
- package/dist/collection/components/xpl-toggle/toggle.stories.js +8 -1
- package/dist/collection/components/xpl-toggle/xpl-toggle.js +5 -5
- package/dist/collection/components/xpl-toolbar/toolbar.stories.js +39 -0
- package/dist/collection/components/xpl-toolbar/xpl-toolbar.js +2 -2
- package/dist/collection/components/xpl-tooltip/tooltip.stories.js +9 -0
- package/dist/collection/components/xpl-tooltip/xpl-tooltip.js +1 -1
- package/dist/collection/components/xpl-top-nav/top-nav-constants.js +1 -0
- package/dist/collection/components/xpl-top-nav/top-nav.stories.js +160 -21
- package/dist/collection/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.js +11 -5
- package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/top-nav-item-constants.js +2 -0
- package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.js +335 -97
- package/dist/collection/components/xpl-top-nav/xpl-top-nav-menu/xpl-top-nav-menu.js +114 -0
- package/dist/collection/components/xpl-top-nav/xpl-top-nav.js +101 -33
- package/dist/collection/components/xpl-utility-bar/utility-bar.stories.js +16 -9
- package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +1 -1
- package/dist/collection/utils/floating.js +69 -0
- package/dist/collection/utils/layout-ancestors.js +7 -0
- package/dist/collection/utils/lifecycle.js +31 -10
- package/dist/collection/utils/light-dom-slots.js +15 -0
- package/dist/collection/utils/slot-presence.js +6 -0
- package/dist/collection/utils/ssr-known-mismatches.js +50 -0
- package/dist/collection/utils/tab-a11y-ids.js +1 -2
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.js +1 -1
- package/dist/components/p-1M1pu0C2.js +1 -0
- package/dist/components/p-2jYZ7ACH.js +1 -0
- package/dist/components/p-BGqQbjLl.js +1 -0
- package/dist/components/p-BQtbf88X.js +1 -0
- package/dist/components/p-BSHdGbmH.js +1 -0
- package/dist/components/p-BnTsRbko.js +1 -0
- package/dist/components/p-Bseq_BgD.js +1 -0
- package/dist/components/p-CCgZCY_A.js +1 -0
- package/dist/components/p-CJzsLWeV.js +1 -0
- package/dist/components/p-CRKY79vL.js +1 -0
- package/dist/components/p-C_PEOQWj.js +1 -0
- package/dist/components/p-CjbPCnPP.js +1 -0
- package/dist/components/p-Cjxw-qOg.js +1 -0
- package/dist/components/p-D6JUVA1x.js +1 -0
- package/dist/components/p-DFGw0APN.js +1 -0
- package/dist/components/p-DLLQBDCb.js +1 -0
- package/dist/components/p-DS2Kv5fl.js +1 -0
- package/dist/components/p-DWUJ_jsx.js +1 -0
- package/dist/components/p-Di1NDy0w.js +1 -0
- package/dist/components/p-DkM7jyQB.js +1 -0
- package/dist/components/p-DkqlawVY.js +1 -0
- package/dist/components/p-Dqb1pIRo.js +1 -0
- package/dist/components/p-DsRsm61K.js +1 -0
- package/dist/components/p-DywQ3S73.js +1 -0
- package/dist/components/p-Dzp5p-eh.js +1 -0
- package/dist/components/p-Mehog36m.js +1 -0
- package/dist/components/p-RYnBuuDE.js +1 -0
- package/dist/components/p-_r9-FML8.js +1 -0
- package/dist/components/{p-B1PBAEzg.js → p-imCMp2Nl.js} +1 -1
- package/dist/components/xpl-accordion.js +1 -1
- package/dist/components/xpl-application-shell.js +1 -1
- package/dist/components/xpl-avatar.js +1 -1
- package/dist/components/xpl-backdrop.js +1 -1
- package/dist/components/xpl-badge.js +1 -1
- package/dist/components/xpl-banner.js +1 -1
- package/dist/components/xpl-breadcrumb-item.js +1 -1
- package/dist/components/xpl-breadcrumbs.js +1 -1
- package/dist/components/xpl-button-row.js +1 -1
- package/dist/components/xpl-button.js +1 -1
- package/dist/components/xpl-calendar.js +1 -1
- package/dist/components/xpl-checkbox.js +1 -1
- package/dist/components/xpl-choicelist.js +1 -1
- package/dist/components/xpl-content-area.js +1 -1
- package/dist/components/xpl-dashboard.js +1 -1
- package/dist/components/xpl-data-card.js +1 -1
- package/dist/components/xpl-divider.js +1 -1
- package/dist/components/xpl-dropdown-group.js +1 -1
- package/dist/components/xpl-dropdown-heading.js +1 -1
- package/dist/components/xpl-dropdown-option.js +1 -1
- package/dist/components/xpl-dropdown.js +1 -1
- package/dist/components/xpl-dynamic-table-cell.js +1 -1
- package/dist/components/xpl-dynamic-table-row.js +1 -1
- package/dist/components/xpl-dynamic-table.js +1 -1
- package/dist/components/xpl-grid-item.js +1 -1
- package/dist/components/xpl-grid.js +1 -1
- package/dist/components/xpl-header-accordion.js +1 -1
- package/dist/components/xpl-icon.js +1 -1
- package/dist/components/xpl-input-color.js +1 -1
- package/dist/components/xpl-input-date.js +1 -1
- package/dist/components/xpl-input-file.js +1 -1
- package/dist/components/xpl-input-phone.js +1 -1
- package/dist/components/xpl-input-search.js +1 -1
- package/dist/components/xpl-input-time.js +1 -1
- package/dist/components/xpl-input.js +1 -1
- package/dist/components/xpl-large-card.js +1 -1
- package/dist/components/xpl-list-item.js +1 -1
- package/dist/components/xpl-list.js +1 -1
- package/dist/components/xpl-main-nav.js +1 -1
- package/dist/components/xpl-modal.js +1 -1
- package/dist/components/xpl-nav-header-menu.js +1 -1
- package/dist/components/xpl-nav-item.js +1 -1
- package/dist/components/xpl-pagination.js +1 -1
- package/dist/components/xpl-panel.js +1 -1
- package/dist/components/xpl-popover.js +1 -1
- package/dist/components/xpl-progress-bar.js +1 -1
- package/dist/components/xpl-progress-indicator.js +1 -1
- package/dist/components/xpl-radio.js +1 -1
- package/dist/components/xpl-secondary-nav.js +1 -1
- package/dist/components/xpl-select.js +1 -1
- package/dist/components/xpl-side-nav-header-item.d.ts +11 -0
- package/dist/components/xpl-side-nav-header-item.js +1 -0
- package/dist/components/xpl-side-nav-item.js +1 -1
- package/dist/components/xpl-side-nav-section.d.ts +11 -0
- package/dist/components/xpl-side-nav-section.js +1 -0
- package/dist/components/xpl-side-nav.js +1 -1
- package/dist/components/xpl-skeleton.js +1 -1
- package/dist/components/xpl-slideout.js +1 -1
- package/dist/components/xpl-spotlight.js +1 -1
- package/dist/components/xpl-tab-panel.js +1 -1
- package/dist/components/xpl-tab.js +1 -1
- package/dist/components/xpl-table-header-cell.js +1 -1
- package/dist/components/xpl-table-header.js +1 -1
- package/dist/components/xpl-table.js +1 -1
- package/dist/components/xpl-tabs.js +1 -1
- package/dist/components/xpl-tag.js +1 -1
- package/dist/components/xpl-toast.js +1 -1
- package/dist/components/xpl-toggle.js +1 -1
- package/dist/components/xpl-toolbar.js +1 -1
- package/dist/components/xpl-tooltip.js +1 -1
- package/dist/components/xpl-top-nav-item.js +1 -1
- package/dist/components/xpl-top-nav-menu.d.ts +11 -0
- package/dist/components/xpl-top-nav-menu.js +1 -0
- package/dist/components/xpl-top-nav.js +1 -1
- package/dist/components/xpl-utility-bar.js +1 -1
- package/dist/css/typography.stories.js +9 -0
- package/dist/docs/xpl-application-shell/readme.md +33 -0
- package/dist/docs/xpl-backdrop/readme.md +7 -0
- package/dist/docs/xpl-badge/readme.md +2 -0
- package/dist/docs/xpl-breadcrumbs/xpl-breadcrumbs/readme.md +9 -0
- package/dist/docs/xpl-button/readme.md +4 -2
- package/dist/docs/xpl-checkbox/readme.md +12 -0
- package/dist/docs/xpl-choicelist/readme.md +21 -0
- package/dist/docs/xpl-content-area/readme.md +8 -0
- package/dist/docs/xpl-data-card/readme.md +26 -0
- package/dist/docs/xpl-dropdown/readme.md +32 -6
- package/dist/docs/xpl-dynamic-table/readme.md +35 -0
- package/dist/docs/xpl-header-accordion/readme.md +18 -0
- package/dist/docs/xpl-icon/readme.md +23 -0
- package/dist/docs/xpl-input/xpl-input-color/readme.md +18 -0
- package/dist/docs/xpl-input/xpl-input-file/readme.md +13 -0
- package/dist/docs/xpl-input/xpl-input-time/readme.md +9 -0
- package/dist/docs/xpl-large-card/readme.md +18 -0
- package/dist/docs/xpl-list/readme.md +2 -2
- package/dist/docs/xpl-list/xpl-list-item/readme.md +3 -3
- package/dist/docs/xpl-main-nav/readme.md +16 -0
- package/dist/docs/xpl-modal/readme.md +20 -0
- package/dist/docs/xpl-nav-item/readme.md +14 -0
- package/dist/docs/xpl-pagination/readme.md +29 -0
- package/dist/docs/xpl-radio/readme.md +12 -0
- package/dist/docs/xpl-secondary-nav/readme.md +25 -0
- package/dist/docs/xpl-select/readme.md +13 -0
- package/dist/docs/xpl-side-nav/readme.md +12 -7
- package/dist/docs/xpl-side-nav/xpl-side-nav-header-item/readme.md +155 -0
- package/dist/docs/xpl-side-nav/xpl-side-nav-item/readme.md +16 -6
- package/dist/docs/xpl-side-nav/xpl-side-nav-section/readme.md +126 -0
- package/dist/docs/xpl-slideout/readme.md +23 -0
- package/dist/docs/xpl-tab/readme.md +14 -8
- package/dist/docs/xpl-table/readme.md +4 -4
- package/dist/docs/xpl-toast/readme.md +90 -7
- package/dist/docs/xpl-toggle/readme.md +46 -0
- package/dist/docs/xpl-toolbar/readme.md +19 -0
- package/dist/docs/xpl-top-nav/readme.md +5 -1
- package/dist/docs/xpl-top-nav/xpl-top-nav-item/readme.md +79 -20
- package/dist/docs/xpl-top-nav/xpl-top-nav-menu/readme.md +96 -0
- package/dist/docs/xpl-utility-bar/readme.md +12 -0
- package/dist/docs.d.ts +480 -0
- package/dist/docs.json +16441 -0
- package/dist/esm/_commonjsHelpers-BFTU3MAI.js +7 -0
- package/dist/esm/apollo-core.js +3 -3
- package/dist/esm/floating-ui.dom-1M1pu0C2.js +1702 -0
- package/dist/esm/index-BhYfWG18.js +454 -0
- package/dist/esm/{index-CXkZUm1c.js → index-ukZKsqqq.js} +760 -9
- package/dist/esm/lifecycle-Dqb1pIRo.js +71 -0
- package/dist/esm/light-dom-slots-DkqlawVY.js +17 -0
- package/dist/esm/loader.js +3 -3
- package/dist/esm/side-nav-slot-utils-C_PEOQWj.js +37 -0
- package/dist/esm/slot-presence-_r9-FML8.js +8 -0
- package/dist/esm/tab-a11y-ids-BQtbf88X.js +23 -0
- package/dist/esm/top-nav-constants-CWdQxaaX.js +3 -0
- package/dist/esm/xpl-accordion.entry.js +5 -3
- package/dist/esm/xpl-application-shell.entry.js +2 -2
- package/dist/esm/xpl-avatar_3.entry.js +206 -0
- package/dist/esm/xpl-backdrop.entry.js +17 -0
- package/dist/esm/xpl-badge.entry.js +35 -0
- package/dist/esm/xpl-banner.entry.js +72 -0
- package/dist/esm/xpl-breadcrumb-item.entry.js +16 -0
- package/dist/esm/xpl-breadcrumbs.entry.js +12 -0
- package/dist/esm/xpl-button-row.entry.js +2 -2
- package/dist/esm/xpl-button.entry.js +79 -0
- package/dist/esm/xpl-calendar.entry.js +10 -6
- package/dist/esm/xpl-checkbox.entry.js +30 -0
- package/dist/esm/xpl-choicelist.entry.js +66 -0
- package/dist/esm/xpl-content-area.entry.js +13 -0
- package/dist/esm/xpl-dashboard.entry.js +12 -0
- package/dist/esm/xpl-data-card.entry.js +109 -0
- package/dist/esm/xpl-dropdown_4.entry.js +572 -0
- package/dist/esm/xpl-dynamic-table-cell.entry.js +8 -6
- package/dist/esm/xpl-dynamic-table-row.entry.js +5 -5
- package/dist/esm/xpl-dynamic-table.entry.js +11 -18
- package/dist/esm/xpl-grid-item.entry.js +2 -2
- package/dist/esm/xpl-grid.entry.js +6 -6
- package/dist/esm/xpl-header-accordion.entry.js +67 -0
- package/dist/{cjs/xpl-avatar_54.cjs.entry.js → esm/xpl-icon.entry.js} +1290 -10661
- package/dist/esm/xpl-input-color.entry.js +433 -0
- package/dist/esm/xpl-input-phone.entry.js +507 -0
- package/dist/esm/xpl-input-time.entry.js +194 -0
- package/dist/esm/xpl-input_4.entry.js +519 -0
- package/dist/esm/xpl-large-card.entry.js +63 -4
- package/dist/esm/xpl-list-item.entry.js +458 -0
- package/dist/esm/xpl-list.entry.js +394 -0
- package/dist/esm/xpl-main-nav.entry.js +2 -2
- package/dist/esm/xpl-modal.entry.js +76 -0
- package/dist/esm/xpl-nav-header-menu.entry.js +84 -0
- package/dist/esm/xpl-nav-item.entry.js +23 -0
- package/dist/esm/xpl-pagination.entry.js +110 -0
- package/dist/esm/xpl-panel.entry.js +19 -0
- package/dist/esm/xpl-popover.entry.js +263 -0
- package/dist/esm/xpl-progress-bar.entry.js +39 -0
- package/dist/esm/xpl-progress-indicator.entry.js +72 -0
- package/dist/esm/xpl-secondary-nav.entry.js +12 -0
- package/dist/esm/xpl-select_2.entry.js +490 -0
- package/dist/esm/xpl-side-nav-header-item.entry.js +99 -0
- package/dist/esm/xpl-side-nav-item.entry.js +128 -0
- package/dist/esm/xpl-side-nav-section.entry.js +103 -0
- package/dist/esm/xpl-side-nav.entry.js +270 -0
- package/dist/esm/xpl-skeleton.entry.js +24 -0
- package/dist/esm/xpl-slideout.entry.js +45 -0
- package/dist/esm/xpl-spotlight.entry.js +720 -0
- package/dist/esm/xpl-tab-panel.entry.js +22 -0
- package/dist/esm/xpl-tab.entry.js +85 -0
- package/dist/esm/xpl-table-header-cell.entry.js +5 -3
- package/dist/esm/xpl-table-header.entry.js +2 -2
- package/dist/esm/xpl-table.entry.js +183 -0
- package/dist/esm/xpl-tabs.entry.js +371 -0
- package/dist/esm/xpl-toast.entry.js +89 -0
- package/dist/esm/xpl-toggle.entry.js +6 -6
- package/dist/esm/xpl-toolbar.entry.js +3 -3
- package/dist/esm/xpl-tooltip.entry.js +16 -0
- package/dist/esm/xpl-top-nav-item.entry.js +433 -0
- package/dist/esm/xpl-top-nav-menu.entry.js +89 -0
- package/dist/esm/xpl-top-nav.entry.js +340 -0
- package/dist/esm/xpl-utility-bar.entry.js +21 -0
- package/dist/types/components/xpl-accordion/accordion.stories.d.ts +11 -2
- package/dist/types/components/xpl-application-shell/application-shell.stories.d.ts +5 -23
- package/dist/types/components/xpl-application-shell/xpl-application-shell.d.ts +1 -1
- package/dist/types/components/xpl-avatar/avatar.stories.d.ts +17 -116
- package/dist/types/components/xpl-backdrop/backdrop.stories.d.ts +2 -0
- package/dist/types/components/xpl-badge/badge.stories.d.ts +7 -0
- package/dist/types/components/xpl-breadcrumbs/breadcrumbs.stories.d.ts +10 -27
- package/dist/types/components/xpl-button/button.stories.d.ts +4 -0
- package/dist/types/components/xpl-button-row/button-row.stories.d.ts +10 -21
- package/dist/types/components/xpl-calendar/calendar.stories.d.ts +11 -28
- package/dist/types/components/xpl-checkbox/checkbox.stories.d.ts +13 -31
- package/dist/types/components/xpl-choicelist/choicelist.stories.d.ts +9 -23
- package/dist/types/components/xpl-content-area/content-area.stories.d.ts +7 -1
- package/dist/types/components/xpl-dashboard/dashboard.stories.d.ts +8 -17
- package/dist/types/components/xpl-data-card/data-card.stories.d.ts +32 -37
- package/dist/types/components/xpl-data-card/xpl-data-card.d.ts +12 -0
- package/dist/types/components/xpl-divider/divider.stories.d.ts +10 -23
- package/dist/types/components/xpl-dropdown/dropdown.stories.d.ts +160 -8
- package/dist/types/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.d.ts +1 -1
- package/dist/types/components/xpl-dropdown/xpl-dropdown.d.ts +7 -9
- package/dist/types/components/xpl-dynamic-table/dynamic-table.stories.d.ts +7 -22
- package/dist/types/components/xpl-dynamic-table/xpl-dynamic-table.d.ts +2 -1
- package/dist/types/components/xpl-grid/grid.stories.d.ts +23 -47
- package/dist/types/components/xpl-header-accordion/header-accordion.stories.d.ts +8 -24
- package/dist/types/components/xpl-header-accordion/xpl-header-accordion.d.ts +0 -2
- package/dist/types/components/xpl-icon/icons.stories.d.ts +16 -39
- package/dist/types/components/xpl-input/input.stories.d.ts +255 -54
- package/dist/types/components/xpl-input/xpl-input-date/xpl-input-date.d.ts +1 -1
- package/dist/types/components/xpl-input/xpl-input-file/xpl-input-file.d.ts +1 -1
- package/dist/types/components/xpl-input/xpl-input-phone/xpl-input-phone.d.ts +2 -2
- package/dist/types/components/xpl-input/xpl-input-time/time-utils.d.ts +1 -1
- package/dist/types/components/xpl-input/xpl-input-time/xpl-input-time.d.ts +1 -1
- package/dist/types/components/xpl-input/xpl-input.d.ts +11 -6
- package/dist/types/components/xpl-large-card/large-card.stories.d.ts +12 -30
- package/dist/types/components/xpl-large-card/xpl-large-card.d.ts +12 -0
- package/dist/types/components/xpl-list/list.stories.d.ts +33 -1
- package/dist/types/components/xpl-list/listitem.d.ts +5 -0
- package/dist/types/components/xpl-list/xpl-list-item/xpl-list-item.d.ts +0 -1
- package/dist/types/components/xpl-main-nav/main-nav.stories.d.ts +7 -1
- package/dist/types/components/xpl-modal/modal.stories.d.ts +16 -16
- package/dist/types/components/xpl-modal/xpl-modal.d.ts +3 -1
- package/dist/types/components/xpl-pagination/pagination.stories.d.ts +9 -30
- package/dist/types/components/xpl-panel/panel.stories.d.ts +9 -1
- package/dist/types/components/xpl-popover/popover.stories.d.ts +12 -3
- package/dist/types/components/xpl-popover/xpl-popover.d.ts +4 -2
- package/dist/types/components/xpl-progress-bar/progress-bar.stories.d.ts +13 -24
- package/dist/types/components/xpl-progress-indicator/progress-indicator.stories.d.ts +2 -0
- package/dist/types/components/xpl-radio/radio.stories.d.ts +3 -0
- package/dist/types/components/xpl-secondary-nav/secondary-nav.stories.d.ts +4 -1
- package/dist/types/components/xpl-select/select.stories.d.ts +35 -45
- package/dist/types/components/xpl-select/xpl-select.d.ts +1 -0
- package/dist/types/components/xpl-side-nav/side-nav-slot-utils.d.ts +3 -0
- package/dist/types/components/xpl-side-nav/side-nav.stories.d.ts +73 -1
- package/dist/types/components/xpl-side-nav/xpl-side-nav-header-item/xpl-side-nav-header-item.d.ts +24 -0
- package/dist/types/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.d.ts +1 -1
- package/dist/types/components/xpl-side-nav/xpl-side-nav-section/xpl-side-nav-section.d.ts +24 -0
- package/dist/types/components/xpl-side-nav/xpl-side-nav.d.ts +10 -0
- package/dist/types/components/xpl-skeleton/skeleton.stories.d.ts +11 -1
- package/dist/types/components/xpl-slideout/slideout.stories.d.ts +20 -16
- package/dist/types/components/xpl-spotlight/spotlight.stories.d.ts +7 -1
- package/dist/types/components/xpl-spotlight/xpl-spotlight.d.ts +1 -0
- package/dist/types/components/xpl-tab/xpl-tab.d.ts +5 -0
- package/dist/types/components/xpl-table/table.stories.d.ts +16 -37
- package/dist/types/components/xpl-table/xpl-table.d.ts +8 -8
- package/dist/types/components/xpl-table-header/table-header.stories.d.ts +21 -48
- package/dist/types/components/xpl-table-header-cell/table-header-cell.stories.d.ts +11 -34
- package/dist/types/components/xpl-tabs/segment-control.stories.d.ts +22 -0
- package/dist/types/components/xpl-tabs/tabs.shared.d.ts +35 -1
- package/dist/types/components/xpl-tabs/tabs.stories.d.ts +29 -19
- package/dist/types/components/xpl-tag/tag.stories.d.ts +3 -0
- package/dist/types/components/xpl-toast/toast.stories.d.ts +17 -13
- package/dist/types/components/xpl-toast/xpl-toast.d.ts +13 -4
- package/dist/types/components/xpl-toggle/toggle.stories.d.ts +13 -31
- package/dist/types/components/xpl-toolbar/toolbar.stories.d.ts +35 -0
- package/dist/types/components/xpl-tooltip/tooltip.stories.d.ts +10 -24
- package/dist/types/components/xpl-top-nav/top-nav-constants.d.ts +1 -0
- package/dist/types/components/xpl-top-nav/top-nav.stories.d.ts +79 -1
- package/dist/types/components/xpl-top-nav/xpl-top-nav-item/top-nav-item-constants.d.ts +2 -0
- package/dist/types/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.d.ts +26 -4
- package/dist/types/components/xpl-top-nav/xpl-top-nav-menu/xpl-top-nav-menu.d.ts +18 -0
- package/dist/types/components/xpl-top-nav/xpl-top-nav.d.ts +8 -2
- package/dist/types/components/xpl-utility-bar/utility-bar.stories.d.ts +9 -2
- package/dist/types/components.d.ts +1186 -66
- package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/.storybook/utils/story-function.d.ts +11 -0
- package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/.storybook/utils/wait-for-hydration.d.ts +1 -0
- package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/src/css/typography.stories.d.ts +76 -0
- package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/src/utils/form-bindings.d.ts +4 -0
- package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/src/utils/story-vrt.d.ts +1 -0
- package/dist/types/third-party.d.ts +20 -0
- package/dist/types/utils/floating.d.ts +26 -0
- package/dist/types/utils/lifecycle.d.ts +4 -1
- package/dist/types/utils/light-dom-slots.d.ts +6 -0
- package/dist/types/utils/slot-presence.d.ts +1 -0
- package/dist/types/utils/ssr-known-mismatches.d.ts +16 -0
- package/dist/utils/form-bindings.js +64 -0
- package/dist/utils/story-vrt.js +48 -0
- package/hydrate/index.d.ts +287 -0
- package/hydrate/index.js +51669 -0
- package/hydrate/index.mjs +51659 -0
- package/hydrate/package.json +12 -0
- package/package.json +111 -44
- package/dist/apollo-core/p-0e45f332.entry.js +0 -1
- package/dist/apollo-core/p-0f251f98.entry.js +0 -1
- package/dist/apollo-core/p-1691c4f3.entry.js +0 -1
- package/dist/apollo-core/p-172ac720.entry.js +0 -1
- package/dist/apollo-core/p-23870463.entry.js +0 -1
- package/dist/apollo-core/p-3b8639b7.entry.js +0 -1
- package/dist/apollo-core/p-44a16751.entry.js +0 -1
- package/dist/apollo-core/p-4efecab2.entry.js +0 -1
- package/dist/apollo-core/p-5094dd97.entry.js +0 -1
- package/dist/apollo-core/p-70e7facc.entry.js +0 -1
- package/dist/apollo-core/p-728341d2.entry.js +0 -1
- package/dist/apollo-core/p-910be81f.entry.js +0 -1
- package/dist/apollo-core/p-9adf3694.entry.js +0 -1
- package/dist/apollo-core/p-CXkZUm1c.js +0 -2
- package/dist/apollo-core/p-c17b6351.entry.js +0 -1
- package/dist/apollo-core/p-e08b434c.entry.js +0 -1
- package/dist/apollo-core/p-e9e7577f.entry.js +0 -1
- package/dist/components/p-3qMYyqTe.js +0 -1
- package/dist/components/p-BG0-6Xek.js +0 -1
- package/dist/components/p-BT_Lq3Vd.js +0 -1
- package/dist/components/p-BWyAzrwu.js +0 -1
- package/dist/components/p-B_Wi--Ov.js +0 -1
- package/dist/components/p-Bd6JweBt.js +0 -1
- package/dist/components/p-Bn-27-xj.js +0 -1
- package/dist/components/p-Bs6vq0C6.js +0 -1
- package/dist/components/p-C9BO2vL-.js +0 -1
- package/dist/components/p-CFW_w5Wj.js +0 -1
- package/dist/components/p-CFpsSZyr.js +0 -1
- package/dist/components/p-CGNq3DyC.js +0 -1
- package/dist/components/p-CVqbA9op.js +0 -1
- package/dist/components/p-CtIUusUL.js +0 -1
- package/dist/components/p-D97c0GjM.js +0 -1
- package/dist/components/p-DBWV65V-.js +0 -1
- package/dist/components/p-DEl4Rvzs.js +0 -1
- package/dist/components/p-DPTHmitJ.js +0 -1
- package/dist/components/p-DllC7F-H.js +0 -1
- package/dist/components/p-Ds28UyUR.js +0 -1
- package/dist/components/p-U5dPMCXE.js +0 -1
- package/dist/components/p-Yj_QFaRn.js +0 -1
- package/dist/components/p-hPUzON4O.js +0 -1
- package/dist/components/p-kPHfCq1d.js +0 -1
- package/dist/types/home/runner/work/apollo/apollo/packages/apollo-core/.stencil/css/typography.stories.d.ts +0 -90
|
@@ -11,16 +11,16 @@ export class InputTime {
|
|
|
11
11
|
this.showOptions = false;
|
|
12
12
|
this.options = [];
|
|
13
13
|
this.handleInput = (ev) => {
|
|
14
|
-
var _a;
|
|
15
14
|
const target = ev.target;
|
|
16
|
-
const allowedChars =
|
|
15
|
+
const allowedChars = target.value?.replace(/[^0-9:apmAPM]/g, '');
|
|
17
16
|
this.value = allowedChars;
|
|
18
17
|
};
|
|
19
18
|
this.handleFocus = () => {
|
|
20
19
|
this.showOptions = true;
|
|
21
20
|
};
|
|
22
21
|
this.handleBlur = () => {
|
|
23
|
-
|
|
22
|
+
const normalized = normalizeTime(this.value ?? '');
|
|
23
|
+
this.value = normalized ?? undefined;
|
|
24
24
|
};
|
|
25
25
|
this.handleClick = () => {
|
|
26
26
|
this.showOptions = true;
|
|
@@ -63,7 +63,9 @@ export class InputTime {
|
|
|
63
63
|
this.hasErrorState = 'Invalid time format, must be HH:MM';
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
|
-
|
|
66
|
+
const min = String(this.min ?? '00:00');
|
|
67
|
+
const max = String(this.max ?? '23:59');
|
|
68
|
+
if (this.value < min || this.value > max) {
|
|
67
69
|
this.hasErrorState = 'Out of range';
|
|
68
70
|
return;
|
|
69
71
|
}
|
|
@@ -79,11 +81,10 @@ export class InputTime {
|
|
|
79
81
|
this.hasErrorStateChanged.emit(newValue);
|
|
80
82
|
}
|
|
81
83
|
componentDidLoad() {
|
|
82
|
-
var _a;
|
|
83
84
|
if (this.mode === 'range') {
|
|
84
85
|
console.warn('Range mode is not supported for time inputs at this time.');
|
|
85
86
|
}
|
|
86
|
-
|
|
87
|
+
this.dropdown?.addEventListener('isOpenChange', (e) => {
|
|
87
88
|
this.showOptions = e.detail;
|
|
88
89
|
});
|
|
89
90
|
}
|
|
@@ -95,7 +96,7 @@ export class InputTime {
|
|
|
95
96
|
this.updateState(this.value);
|
|
96
97
|
}
|
|
97
98
|
getOptions() {
|
|
98
|
-
return generateTimeOptions(this.step, this.min
|
|
99
|
+
return generateTimeOptions(this.step, String(this.min ?? '00:00'), String(this.max ?? '23:59'), this.timeFormat ?? '24h').map(({ label, value }) => ({
|
|
99
100
|
label,
|
|
100
101
|
value,
|
|
101
102
|
onClick: () => {
|
|
@@ -105,12 +106,12 @@ export class InputTime {
|
|
|
105
106
|
}));
|
|
106
107
|
}
|
|
107
108
|
render() {
|
|
108
|
-
return (h(Host, { key: '
|
|
109
|
+
return (h(Host, { key: '61190dc5c00042aa095367bcce600a4d759bdbca', class: {
|
|
109
110
|
'xpl-input-time': true,
|
|
110
111
|
[`xpl-input-time--mode-${this.mode}`]: true,
|
|
111
112
|
'xpl-input-time--error': !!this.hasErrorState,
|
|
112
|
-
} }, h("xpl-input", { key: '
|
|
113
|
-
this.dropdown = el;
|
|
113
|
+
} }, h("xpl-input", { key: '8793e06e961f53794df33d0015280930a43d1a90', pre: h("xpl-icon", { class: "xpl-input-time__clock-icon", icon: "clock", size: 24 }), post: this.timeFormat === '12h' ? this.amPm || 'AM' : undefined, type: "text", _id: this.inputId, disabled: this.disabled, name: this.name, required: this.required, readonly: this.readonly, placeholder: this.placeholder, max: this.max, min: this.min, onInput: this.handleInput, value: this.formattedValue, onFocusEvent: this.handleFocus, onBlurEvent: this.handleBlur, onClick: this.handleClick }), !this.readonly && !this.disabled && (h("xpl-dropdown", { key: '7c88be365f26e1eecb6c731acb9d1c87d96973dd', options: this.options, isOpen: this.showOptions, ref: (el) => {
|
|
114
|
+
this.dropdown = el ?? undefined;
|
|
114
115
|
}, class: "xpl-input-time__dropdown" }))));
|
|
115
116
|
}
|
|
116
117
|
static get is() { return "xpl-input-time"; }
|
|
@@ -40,12 +40,6 @@ export class Input {
|
|
|
40
40
|
const { value } = ev.target;
|
|
41
41
|
this.inputEvent.emit(value);
|
|
42
42
|
};
|
|
43
|
-
this.syncPreSlotContent = () => {
|
|
44
|
-
const hasSlotted = this.hasDirectPreSlotChild();
|
|
45
|
-
if (hasSlotted !== this.hasPreSlotContent) {
|
|
46
|
-
this.hasPreSlotContent = hasSlotted;
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
43
|
this.handleSearchBlurForward = (event) => {
|
|
50
44
|
const { detail } = event;
|
|
51
45
|
if (!detail) {
|
|
@@ -67,11 +61,16 @@ export class Input {
|
|
|
67
61
|
this.focusEvent.emit(detail);
|
|
68
62
|
};
|
|
69
63
|
}
|
|
70
|
-
|
|
71
|
-
|
|
64
|
+
connectedCallback() {
|
|
65
|
+
this.syncPreSlotContent();
|
|
66
|
+
this.connectPreSlotObserver();
|
|
72
67
|
}
|
|
73
|
-
|
|
74
|
-
this.
|
|
68
|
+
disconnectedCallback() {
|
|
69
|
+
if (this.preSlotSyncTimeoutId !== undefined) {
|
|
70
|
+
clearTimeout(this.preSlotSyncTimeoutId);
|
|
71
|
+
this.preSlotSyncTimeoutId = undefined;
|
|
72
|
+
}
|
|
73
|
+
this.disconnectPreSlotObserver();
|
|
75
74
|
}
|
|
76
75
|
componentWillLoad() {
|
|
77
76
|
if (this._id === undefined || this._id === null || this._id === '')
|
|
@@ -79,32 +78,66 @@ export class Input {
|
|
|
79
78
|
if (this.multiline && this.maxCharacterCount !== undefined) {
|
|
80
79
|
this.characterCount = this.value !== undefined ? this.value.length : 0;
|
|
81
80
|
}
|
|
82
|
-
|
|
83
|
-
|
|
81
|
+
this.syncPreSlotContent();
|
|
82
|
+
}
|
|
83
|
+
componentWillRender() {
|
|
84
|
+
this.disconnectPreSlotObserver();
|
|
85
|
+
}
|
|
86
|
+
componentDidRender() {
|
|
87
|
+
this.schedulePreSlotSync();
|
|
88
|
+
}
|
|
89
|
+
async setFocus() {
|
|
90
|
+
if (this.type === 'search') {
|
|
91
|
+
await this.searchInputRef?.setFocus();
|
|
92
|
+
return;
|
|
84
93
|
}
|
|
94
|
+
this.input?.focus();
|
|
85
95
|
}
|
|
86
|
-
|
|
87
|
-
|
|
96
|
+
connectPreSlotObserver() {
|
|
97
|
+
this.disconnectPreSlotObserver();
|
|
98
|
+
if (this.multiline || this.type === 'search' || typeof MutationObserver === 'undefined') {
|
|
88
99
|
return;
|
|
89
|
-
if (typeof MutationObserver !== 'undefined') {
|
|
90
|
-
this.preSlotObserver = new MutationObserver(this.syncPreSlotContent);
|
|
91
|
-
this.preSlotObserver.observe(this.el, { childList: true });
|
|
92
100
|
}
|
|
101
|
+
this.preSlotObserver = new MutationObserver(() => {
|
|
102
|
+
this.schedulePreSlotSync();
|
|
103
|
+
});
|
|
104
|
+
this.preSlotObserver.observe(this.el, {
|
|
105
|
+
childList: true,
|
|
106
|
+
subtree: true,
|
|
107
|
+
attributes: true,
|
|
108
|
+
attributeFilter: ['slot'],
|
|
109
|
+
});
|
|
93
110
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
111
|
+
disconnectPreSlotObserver() {
|
|
112
|
+
this.preSlotObserver?.disconnect();
|
|
113
|
+
this.preSlotObserver = undefined;
|
|
97
114
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
115
|
+
schedulePreSlotSync() {
|
|
116
|
+
if (this.preSlotSyncTimeoutId !== undefined) {
|
|
117
|
+
clearTimeout(this.preSlotSyncTimeoutId);
|
|
118
|
+
}
|
|
119
|
+
this.preSlotSyncTimeoutId = setTimeout(() => {
|
|
120
|
+
this.preSlotSyncTimeoutId = undefined;
|
|
121
|
+
if (!this.el.isConnected) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
this.syncPreSlotContent();
|
|
125
|
+
this.connectPreSlotObserver();
|
|
126
|
+
}, 0);
|
|
127
|
+
}
|
|
128
|
+
syncPreSlotContent() {
|
|
129
|
+
if (this.multiline || this.type === 'search') {
|
|
102
130
|
return;
|
|
103
131
|
}
|
|
104
|
-
|
|
132
|
+
const next = Array.from(this.el.querySelectorAll('[slot="pre"]')).some((node) => node.closest('xpl-input') === this.el);
|
|
133
|
+
if (next !== this.hasPreSlotContent) {
|
|
134
|
+
this.hasPreSlotContent = next;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
updateCharacterCount() {
|
|
138
|
+
this.characterCount = this.input?.value.length ?? 0;
|
|
105
139
|
}
|
|
106
140
|
renderInput() {
|
|
107
|
-
var _a, _b, _c, _d, _e, _f;
|
|
108
141
|
switch (this.type) {
|
|
109
142
|
case 'file':
|
|
110
143
|
return (h("xpl-input-file", { accept: this.accept, disabled: this.disabled, hideAcceptText: this.hideAcceptText, hideFileNames: this.hideFileNames, hideTriggerOnSelect: this.hideTriggerOnSelect, multiple: this.multiple, name: this.name, onInputChange: this.handleChildValueChange, _id: this._id }, h("slot", { name: "trigger" })));
|
|
@@ -117,27 +150,26 @@ export class Input {
|
|
|
117
150
|
case 'phone':
|
|
118
151
|
return (h("xpl-input-phone", { inputId: this._id, disabled: this.disabled, error: !!this.error, name: this.name, required: this.required, readonly: this.readonly, value: this.value, placeholder: this.placeholder, defaultCountry: this.defaultCountry, preferredCountries: this.preferredCountries, isInternational: this.isInternational, onValueChange: this.handleChildValueChange }));
|
|
119
152
|
case 'search': {
|
|
120
|
-
const hasVisibleLabel = Boolean((
|
|
153
|
+
const hasVisibleLabel = Boolean((this.label ?? '').trim());
|
|
121
154
|
const hasErrorMessage = Boolean(this.error && this.error.length > 0);
|
|
122
|
-
return (h("xpl-input-search", { ariaLabel: (
|
|
123
|
-
this.searchInputRef = el
|
|
124
|
-
}, required: this.required, shape:
|
|
155
|
+
return (h("xpl-input-search", { ariaLabel: (this.ariaLabel ?? '').trim() || 'Search', autocomplete: this.autocomplete ?? 'off', disabled: this.disabled, errorMessageId: hasErrorMessage ? `${this._id}-error` : undefined, hasError: hasErrorMessage, hasVisibleLabel: hasVisibleLabel, inputId: this._id ?? '', name: this.name, onBlurEvent: this.handleSearchBlurForward, onFocusEvent: this.handleSearchFocusForward, onSearch: this.handleSearchCommit, onValueChange: this.handleChildValueChange, placeholder: this.placeholder ?? 'Search', readonly: this.readonly, ref: (el) => {
|
|
156
|
+
this.searchInputRef = el ?? undefined;
|
|
157
|
+
}, required: this.required, shape: this.shape ?? 'rounded', value: this.value ?? '' }));
|
|
125
158
|
}
|
|
126
159
|
default:
|
|
127
160
|
return (h("div", { class: "xpl-input-wrapper" }, !this.multiline && (h("label", { class: {
|
|
128
161
|
'xpl-input-pre': true,
|
|
129
162
|
'xpl-input-pre--hidden': !this.pre && !this.hasPreSlotContent,
|
|
130
163
|
}, htmlFor: this._id }, h("slot", { name: "pre" }, this.pre))), !this.multiline ? (h("input", { autocomplete: this.autocomplete, disabled: this.disabled, id: this._id, max: this.max, min: this.min, name: this.name, placeholder: this.placeholder, readonly: this.readonly, ref: (el) => {
|
|
131
|
-
this.input = el;
|
|
164
|
+
this.input = el ?? undefined;
|
|
132
165
|
}, required: this.required, step: this.step, type: this.type, value: this.value, onChange: this.valueChanged, onFocus: this.handleFocus, onBlur: this.handleBlur, onInput: this.handleInput })) : (h("textarea", { disabled: this.disabled, id: this._id, name: this.name, placeholder: this.placeholder, readonly: this.readonly, ref: (el) => {
|
|
133
|
-
this.input = el;
|
|
166
|
+
this.input = el ?? undefined;
|
|
134
167
|
}, required: this.required, onChange: this.valueChanged, onFocus: this.handleFocus, onBlur: this.handleBlur, onInput: this.handleInput }, this.value)), this.type === 'password' && (h("button", { "aria-label": "Toggle password visibility", class: "xpl-input-password", onClick: () => {
|
|
135
168
|
this.passwordVisible = !this.passwordVisible;
|
|
136
169
|
}, role: "presentation" }, h("xpl-icon", { icon: this.passwordVisible ? 'eye-closed' : 'eye', size: 24 }))), this.post && !this.multiline && (h("label", { class: "xpl-input-post", htmlFor: this._id }, this.post)), this.multiline && this.maxCharacterCount !== undefined && (h("span", { class: "xpl-input-characters" }, this.characterCount, "/", this.maxCharacterCount))));
|
|
137
170
|
}
|
|
138
171
|
}
|
|
139
172
|
render() {
|
|
140
|
-
var _a;
|
|
141
173
|
let hasError = false;
|
|
142
174
|
if (this.error) {
|
|
143
175
|
hasError = true;
|
|
@@ -151,13 +183,13 @@ export class Input {
|
|
|
151
183
|
if (type === 'password' && this.passwordVisible) {
|
|
152
184
|
type = 'text';
|
|
153
185
|
}
|
|
154
|
-
return (h(Host, { key: '
|
|
186
|
+
return (h(Host, { key: '008387a60d49c0a4d303f7b6254c18ba109138c8', class: {
|
|
155
187
|
'xpl-input': true,
|
|
156
|
-
'xpl-input--disabled': this.disabled,
|
|
188
|
+
'xpl-input--disabled': !!this.disabled,
|
|
157
189
|
'xpl-input--error': hasError,
|
|
158
|
-
'xpl-input--readonly': this.readonly,
|
|
190
|
+
'xpl-input--readonly': !!this.readonly,
|
|
159
191
|
[`xpl-input--${this.type}`]: true,
|
|
160
|
-
} }, this.label && (h("label", { key: '
|
|
192
|
+
} }, this.label && (h("label", { key: '73e44138ac4bcd5ab6f96de33d818ae0d0bdb8fb', class: "xpl-input-label", htmlFor: this._id }, this.label, this.description && h("small", { key: '85b33374df5ba7f1c002d1a5555a23013fd5f8f9' }, this.description))), this.renderInput(), (this.error?.length ?? 0) > 0 && (h("label", { key: '802f79003fe348f0d6927701b4becdf086dc207e', class: "xpl-input-error", htmlFor: this._id, id: `${this._id}-error` }, h("xpl-icon", { key: '3b43c9816359cfbfc0c11a8874a4b561d04986d1', icon: "circle-warning", size: 16 }), h("span", { key: '76fe2a5cb424eb17e5d7c9358f81d2ad36775903' }, this.error)))));
|
|
161
193
|
}
|
|
162
194
|
static get is() { return "xpl-input"; }
|
|
163
195
|
static get properties() {
|
|
@@ -1,5 +1,28 @@
|
|
|
1
|
+
import { expect, waitFor } from "storybook/test";
|
|
2
|
+
import { setAutoSnapshotOptions } from "vitest-plugin-vis";
|
|
3
|
+
const waitForHydration = async ({ canvasElement }) => {
|
|
4
|
+
if (document.fonts?.ready) {
|
|
5
|
+
await document.fonts.ready;
|
|
6
|
+
}
|
|
7
|
+
await waitFor(() => {
|
|
8
|
+
const cards = canvasElement.querySelectorAll('xpl-large-card');
|
|
9
|
+
expect(cards.length).toBeGreaterThan(0);
|
|
10
|
+
const customEls = canvasElement.querySelectorAll('xpl-large-card, xpl-icon, xpl-tooltip');
|
|
11
|
+
customEls.forEach((el) => expect(el.classList.contains('hydrated')).toBe(true));
|
|
12
|
+
}, { timeout: 15000 });
|
|
13
|
+
};
|
|
1
14
|
export default {
|
|
2
15
|
title: 'Data Components/Large Card',
|
|
16
|
+
tags: ['vrt'],
|
|
17
|
+
beforeEach() {
|
|
18
|
+
document.body.classList.remove('dark');
|
|
19
|
+
document.body.classList.add('light');
|
|
20
|
+
setAutoSnapshotOptions({
|
|
21
|
+
enable: true,
|
|
22
|
+
failureThreshold: 2,
|
|
23
|
+
failureThresholdType: 'percent',
|
|
24
|
+
});
|
|
25
|
+
},
|
|
3
26
|
argTypes: {
|
|
4
27
|
contentType: {
|
|
5
28
|
control: 'radio',
|
|
@@ -29,8 +52,8 @@ export default {
|
|
|
29
52
|
},
|
|
30
53
|
},
|
|
31
54
|
};
|
|
32
|
-
export const LargeCard = ({ name, description, link, title, graphContent }) => `
|
|
33
|
-
<dl class="xpl-dl xpl-dl--center">
|
|
55
|
+
export const LargeCard = ({ name, description, link, title, graphContent, }) => `
|
|
56
|
+
<dl class="xpl-dl xpl-dl--center" style="width: 37.5rem;">
|
|
34
57
|
<xpl-large-card
|
|
35
58
|
name="${name}"
|
|
36
59
|
description="${description}"
|
|
@@ -87,7 +110,7 @@ LargeCard.parameters = {
|
|
|
87
110
|
${title || ''}
|
|
88
111
|
${link
|
|
89
112
|
? `
|
|
90
|
-
<span class="xpl-
|
|
113
|
+
<span class="xpl-large-card__header-arrow">
|
|
91
114
|
<xpl-icon
|
|
92
115
|
icon="chevron-right"
|
|
93
116
|
size={16}
|
|
@@ -129,3 +152,4 @@ LargeCard.parameters = {
|
|
|
129
152
|
url: 'https://www.figma.com/design/MjjYek73MFnHmVNdm45Sd1/Apollo-Web?node-id=17661-38565&p=f&t=01tbTrRZyfvVafsA-11',
|
|
130
153
|
},
|
|
131
154
|
};
|
|
155
|
+
LargeCard.play = waitForHydration;
|
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
import { Host, h } from "@stencil/core";
|
|
2
|
+
import { hostHasNamedSlot } from "../../utils/slot-presence";
|
|
3
|
+
const GRAPH_CONTENT_SLOT = 'graph-content';
|
|
2
4
|
export class LargeCard {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.graphContentPresent = false;
|
|
7
|
+
}
|
|
8
|
+
connectedCallback() {
|
|
9
|
+
this.syncGraphContentSlot();
|
|
10
|
+
this.connectGraphContentSlotObserver();
|
|
11
|
+
}
|
|
12
|
+
disconnectedCallback() {
|
|
13
|
+
if (this.graphContentSlotSyncTimeoutId !== undefined) {
|
|
14
|
+
clearTimeout(this.graphContentSlotSyncTimeoutId);
|
|
15
|
+
this.graphContentSlotSyncTimeoutId = undefined;
|
|
16
|
+
}
|
|
17
|
+
this.disconnectGraphContentSlotObserver();
|
|
18
|
+
}
|
|
19
|
+
componentWillLoad() {
|
|
20
|
+
this.syncGraphContentSlot();
|
|
21
|
+
}
|
|
3
22
|
componentDidLoad() {
|
|
4
23
|
if (this.link) {
|
|
5
24
|
const anchorEl = this.el.getElementsByTagName('a')[0] || this.el.getElementsByTagName('button')[0];
|
|
@@ -10,10 +29,52 @@ export class LargeCard {
|
|
|
10
29
|
anchorEl.appendChild(anchorSpan);
|
|
11
30
|
}
|
|
12
31
|
}
|
|
32
|
+
componentWillRender() {
|
|
33
|
+
this.disconnectGraphContentSlotObserver();
|
|
34
|
+
}
|
|
35
|
+
componentDidRender() {
|
|
36
|
+
this.scheduleGraphContentSlotSync();
|
|
37
|
+
}
|
|
38
|
+
connectGraphContentSlotObserver() {
|
|
39
|
+
this.disconnectGraphContentSlotObserver();
|
|
40
|
+
if (typeof MutationObserver === 'undefined') {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
this.graphContentSlotObserver = new MutationObserver(() => {
|
|
44
|
+
this.scheduleGraphContentSlotSync();
|
|
45
|
+
});
|
|
46
|
+
this.graphContentSlotObserver.observe(this.el, {
|
|
47
|
+
childList: true,
|
|
48
|
+
subtree: true,
|
|
49
|
+
attributes: true,
|
|
50
|
+
attributeFilter: ['slot'],
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
disconnectGraphContentSlotObserver() {
|
|
54
|
+
this.graphContentSlotObserver?.disconnect();
|
|
55
|
+
this.graphContentSlotObserver = undefined;
|
|
56
|
+
}
|
|
57
|
+
scheduleGraphContentSlotSync() {
|
|
58
|
+
if (this.graphContentSlotSyncTimeoutId !== undefined) {
|
|
59
|
+
clearTimeout(this.graphContentSlotSyncTimeoutId);
|
|
60
|
+
}
|
|
61
|
+
this.graphContentSlotSyncTimeoutId = setTimeout(() => {
|
|
62
|
+
this.graphContentSlotSyncTimeoutId = undefined;
|
|
63
|
+
if (!this.el.isConnected) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
this.syncGraphContentSlot();
|
|
67
|
+
this.connectGraphContentSlotObserver();
|
|
68
|
+
}, 0);
|
|
69
|
+
}
|
|
70
|
+
syncGraphContentSlot() {
|
|
71
|
+
const hasGraphContent = hostHasNamedSlot(this.el, GRAPH_CONTENT_SLOT);
|
|
72
|
+
if (hasGraphContent !== this.graphContentPresent) {
|
|
73
|
+
this.graphContentPresent = hasGraphContent;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
13
76
|
render() {
|
|
14
|
-
|
|
15
|
-
const hasContentSlot = this.el.querySelector(`[slot="${contentSlot}"]`);
|
|
16
|
-
return (h(Host, { key: '886078965cb1ca87fd9c4f45a8b06f089a4b2e04', role: "group", class: `xpl-large-card ${this.link ? 'xpl-large-card__link' : ''}`, tabindex: "0" }, h("dt", { key: '1c2006c9167b2d46262b222ace3c5e9135863783', class: "xpl-large-card__header" }, h("header", { key: '21ba4629c7e3d0d9dff98f9dde2ac4bc9f1f494e' }, h("slot", { key: 'd50991dc4fcca6c56c04c7cc9a401f0894035aa2', name: "title" }, this.name), this.link && (h("span", { key: '35b1b15786c1674f6d1797ec3b04da81b27d5d3a', class: "xpl-data-card__header-arrow" }, h("xpl-icon", { key: 'f52a7a39b3d044341296d88adb9d2bc07cdec9ab', icon: "chevron-right", size: 16 })))), this.description && (h("div", { key: 'bac9d6cec27272d277c991c81e651714603066a2', class: "xpl-large-card__description" }, this.description))), h("dd", { key: '9da3ca8ec575a6755f1f47065299ec3ab3e5169b', class: "xpl-large-card__body" }, hasContentSlot && h("slot", { key: '022da3c1e07c264441c58f7d42d6edca109a504d', name: contentSlot }))));
|
|
77
|
+
return (h(Host, { key: '1f4d73841c0645f6eaa784d5a684baf605fd249c', role: "group", class: `xpl-large-card ${this.link ? 'xpl-large-card__link' : ''}`, tabindex: "0" }, h("dt", { key: '37a067e460a49508251b44102fd8470caef01c95', class: "xpl-large-card__header" }, h("header", { key: '4ab9ba4d4bee0b82b7e5f51fec425caa23334bca' }, h("slot", { key: 'ce45a8dd99e027d1ce56c780d6304438524778b1', name: "title" }, this.name), this.link && (h("span", { key: '90c795212858e49ff947da8e91ccbeee357e92ef', class: "xpl-large-card__header-arrow" }, h("xpl-icon", { key: '459405641d21f234bc322f20745cdb5f81e4c60e', icon: "chevron-right", size: 16 })))), this.description && (h("div", { key: '7cffdab2f56ef65c097e254ae859b1314f96849f', class: "xpl-large-card__description" }, this.description))), h("dd", { key: '6454b51a6cc99af277c557b16a0e77877aa455d9', class: "xpl-large-card__body" }, this.graphContentPresent && h("slot", { key: 'c1ec933cef4a0098e69f408445de06ca32799911', name: GRAPH_CONTENT_SLOT }))));
|
|
17
78
|
}
|
|
18
79
|
static get is() { return "xpl-large-card"; }
|
|
19
80
|
static get properties() {
|
|
@@ -77,5 +138,10 @@ export class LargeCard {
|
|
|
77
138
|
}
|
|
78
139
|
};
|
|
79
140
|
}
|
|
141
|
+
static get states() {
|
|
142
|
+
return {
|
|
143
|
+
"graphContentPresent": {}
|
|
144
|
+
};
|
|
145
|
+
}
|
|
80
146
|
static get elementRef() { return "el"; }
|
|
81
147
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { v4 as uuid } from "uuid";
|
|
2
|
+
import { setAutoSnapshotOptions } from "vitest-plugin-vis";
|
|
3
|
+
import { waitForHydration } from "../../../../.storybook/utils/wait-for-hydration";
|
|
2
4
|
const PLACEHOLDER_AVATAR_SRC = 'https://placebear.com/128/128';
|
|
3
5
|
function slotBasedAvatarMarkup(slotAvatar, name) {
|
|
4
6
|
if (slotAvatar === 'image') {
|
|
@@ -10,6 +12,13 @@ function slotBasedAvatarMarkup(slotAvatar, name) {
|
|
|
10
12
|
return `<xpl-avatar name="${name}"></xpl-avatar>`;
|
|
11
13
|
}
|
|
12
14
|
export default {
|
|
15
|
+
tags: ['vrt'],
|
|
16
|
+
beforeEach() {
|
|
17
|
+
setAutoSnapshotOptions({ enable: true });
|
|
18
|
+
},
|
|
19
|
+
async play({ canvasElement }) {
|
|
20
|
+
await waitForHydration(canvasElement);
|
|
21
|
+
},
|
|
13
22
|
title: 'Components/List',
|
|
14
23
|
parameters: {
|
|
15
24
|
controls: {
|
|
@@ -165,7 +174,7 @@ export default {
|
|
|
165
174
|
},
|
|
166
175
|
},
|
|
167
176
|
};
|
|
168
|
-
const script = ({ id, avatar, avatars, badges, metadata, link, title, subtext }) => `
|
|
177
|
+
const script = ({ id, avatar, avatars, badges, metadata, link, title, subtext, }) => `
|
|
169
178
|
(function() {
|
|
170
179
|
const list = document.getElementById("${id}");
|
|
171
180
|
const item = ${JSON.stringify({
|
|
@@ -289,7 +298,7 @@ export const List = (props) => {
|
|
|
289
298
|
`;
|
|
290
299
|
}
|
|
291
300
|
return `<xpl-list id="${id}"></xpl-list>
|
|
292
|
-
<script>${script(
|
|
301
|
+
<script>${script({ id, ...props })}</script>`;
|
|
293
302
|
};
|
|
294
303
|
List.args = {
|
|
295
304
|
type: 'Slot based',
|
|
@@ -14,6 +14,12 @@ function emptyXplListItemSlotPresence() {
|
|
|
14
14
|
title: false,
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
|
+
function renderLegacyAvatarCell(item) {
|
|
18
|
+
if (!item.avatar || typeof item.avatar !== 'string') {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return item.avatar.slice(0, 1) === '/' || item.avatar.slice(0, 4) === 'http' ? (h("xpl-avatar", { src: item.avatar, name: item.title })) : (h("xpl-avatar", { name: item.title }, item.avatar));
|
|
22
|
+
}
|
|
17
23
|
export class XplListItem {
|
|
18
24
|
constructor() {
|
|
19
25
|
this.dragFromHandle = false;
|
|
@@ -42,7 +48,7 @@ export class XplListItem {
|
|
|
42
48
|
e.dataTransfer.setData('text/plain', this.itemId || this.el.id || '');
|
|
43
49
|
}
|
|
44
50
|
const wrapper = this.el.querySelector('.xpl-list-item__wrapper');
|
|
45
|
-
wrapper
|
|
51
|
+
wrapper?.classList.add('dragging');
|
|
46
52
|
this.itemDragStart.emit({ itemId: this.itemId, item: this.el });
|
|
47
53
|
};
|
|
48
54
|
this.handleDrop = (e) => {
|
|
@@ -69,7 +75,7 @@ export class XplListItem {
|
|
|
69
75
|
}
|
|
70
76
|
e.preventDefault();
|
|
71
77
|
const wrapper = this.el.querySelector('.xpl-list-item__wrapper');
|
|
72
|
-
wrapper
|
|
78
|
+
wrapper?.classList.add('drag-over');
|
|
73
79
|
};
|
|
74
80
|
this.handleDragLeave = (e) => {
|
|
75
81
|
if (this.disabled) {
|
|
@@ -84,7 +90,7 @@ export class XplListItem {
|
|
|
84
90
|
this.detachDragHandlePointerReleaseListeners();
|
|
85
91
|
this.dragFromHandle = false;
|
|
86
92
|
const wrapper = this.el.querySelector('.xpl-list-item__wrapper');
|
|
87
|
-
wrapper
|
|
93
|
+
wrapper?.classList.remove('dragging', 'drag-over');
|
|
88
94
|
const parent = this.el.parentElement;
|
|
89
95
|
if (parent) {
|
|
90
96
|
Array.from(parent.children).forEach((sibling) => {
|
|
@@ -92,7 +98,7 @@ export class XplListItem {
|
|
|
92
98
|
return;
|
|
93
99
|
}
|
|
94
100
|
const siblingWrapper = sibling.querySelector('.xpl-list-item__wrapper');
|
|
95
|
-
siblingWrapper
|
|
101
|
+
siblingWrapper?.classList.remove('drag-over');
|
|
96
102
|
});
|
|
97
103
|
}
|
|
98
104
|
this.itemDragEnd.emit({ itemId: this.itemId, item: this.el });
|
|
@@ -281,22 +287,20 @@ export class XplListItem {
|
|
|
281
287
|
return false;
|
|
282
288
|
}
|
|
283
289
|
getTitleSlotAccessibleText() {
|
|
284
|
-
var _a;
|
|
285
290
|
const directTitle = Array.from(this.el.children).find((c) => c.getAttribute('slot') === 'title');
|
|
286
291
|
if (directTitle) {
|
|
287
|
-
return
|
|
292
|
+
return directTitle.textContent ?? undefined;
|
|
288
293
|
}
|
|
289
294
|
const slotEl = Array.from(this.el.querySelectorAll('slot[name="title"]')).find((s) => s.closest('xpl-list-item') === this.el);
|
|
290
295
|
if (slotEl && typeof slotEl.assignedNodes === 'function') {
|
|
291
296
|
const combined = slotEl
|
|
292
297
|
.assignedNodes({ flatten: true })
|
|
293
298
|
.map((node) => {
|
|
294
|
-
var _a, _b;
|
|
295
299
|
if (node.nodeType === Node.TEXT_NODE) {
|
|
296
|
-
return
|
|
300
|
+
return node.textContent ?? '';
|
|
297
301
|
}
|
|
298
302
|
if (node.nodeType === Node.ELEMENT_NODE) {
|
|
299
|
-
return
|
|
303
|
+
return node.textContent ?? '';
|
|
300
304
|
}
|
|
301
305
|
return '';
|
|
302
306
|
})
|
|
@@ -307,26 +311,24 @@ export class XplListItem {
|
|
|
307
311
|
return undefined;
|
|
308
312
|
}
|
|
309
313
|
getRowIdForAccessibleLabel() {
|
|
310
|
-
|
|
311
|
-
const fromProp = (_a = this.itemId) === null || _a === void 0 ? void 0 : _a.trim();
|
|
314
|
+
const fromProp = this.itemId?.trim();
|
|
312
315
|
if (fromProp) {
|
|
313
316
|
return fromProp;
|
|
314
317
|
}
|
|
315
|
-
const fromAttr =
|
|
318
|
+
const fromAttr = this.el.getAttribute('item-id')?.trim();
|
|
316
319
|
if (fromAttr) {
|
|
317
320
|
return fromAttr;
|
|
318
321
|
}
|
|
319
|
-
const fromId =
|
|
322
|
+
const fromId = this.el.id?.trim();
|
|
320
323
|
if (fromId) {
|
|
321
324
|
return fromId;
|
|
322
325
|
}
|
|
323
326
|
return '';
|
|
324
327
|
}
|
|
325
328
|
getSelectableRadioLabel() {
|
|
326
|
-
var _a;
|
|
327
329
|
const rowId = this.getRowIdForAccessibleLabel();
|
|
328
330
|
if (this.slotPresence.title) {
|
|
329
|
-
const titleText =
|
|
331
|
+
const titleText = this.getTitleSlotAccessibleText()?.trim();
|
|
330
332
|
if (titleText) {
|
|
331
333
|
return titleText;
|
|
332
334
|
}
|
|
@@ -340,22 +342,19 @@ export class XplListItem {
|
|
|
340
342
|
}
|
|
341
343
|
return 'Select list item';
|
|
342
344
|
}
|
|
343
|
-
renderLegacyAvatarCell() {
|
|
344
|
-
if (!this.item.avatar || typeof this.item.avatar !== 'string') {
|
|
345
|
-
return null;
|
|
346
|
-
}
|
|
347
|
-
return this.item.avatar.slice(0, 1) === '/' || this.item.avatar.slice(0, 4) === 'http' ? (h("xpl-avatar", { src: this.item.avatar, name: this.item.title })) : (h("xpl-avatar", { name: this.item.title }, this.item.avatar));
|
|
348
|
-
}
|
|
349
345
|
renderPropBasedItem() {
|
|
350
346
|
const { item } = this;
|
|
347
|
+
if (!item) {
|
|
348
|
+
return null;
|
|
349
|
+
}
|
|
351
350
|
const hasRight = item.avatars || item.badges || item.subtext;
|
|
352
351
|
const Tag = item.href ? 'a' : 'div';
|
|
353
352
|
const linkProps = item.href ? { href: item.href } : {};
|
|
354
353
|
return (h(Host, { role: "listitem", class: {
|
|
355
354
|
'xpl-list-item': true,
|
|
356
|
-
'xpl-list-item--error': this.error,
|
|
357
|
-
'xpl-list-item--disabled': this.disabled,
|
|
358
|
-
}, hidden: this.hidden },
|
|
355
|
+
'xpl-list-item--error': !!this.error,
|
|
356
|
+
'xpl-list-item--disabled': !!this.disabled,
|
|
357
|
+
}, hidden: this.hidden }, renderLegacyAvatarCell(item), h(Tag, { class: "xpl-list-item-content", ...linkProps }, h("div", { class: "xpl-list-left" }, h("div", null, h("h4", null, item.title), item.metadata && (h("ul", { class: "xpl-list-item-metadata" }, item.metadata.map((d) => {
|
|
359
358
|
if (typeof d === 'string') {
|
|
360
359
|
return h("li", null, d);
|
|
361
360
|
}
|
|
@@ -379,7 +378,6 @@ export class XplListItem {
|
|
|
379
378
|
return (h("div", { class: "xpl-list-item__title-badge" }, h("xpl-badge", { dotOnly: true, size: "small", variant: variant })));
|
|
380
379
|
}
|
|
381
380
|
renderSlotBasedItem() {
|
|
382
|
-
var _a;
|
|
383
381
|
const hasRightSideContent = this.slotPresence.details || this.slotPresence.badges || this.slotPresence.actions;
|
|
384
382
|
const hasStackedContent = this.slotPresence.title ||
|
|
385
383
|
this.slotPresence.metadata ||
|
|
@@ -401,21 +399,21 @@ export class XplListItem {
|
|
|
401
399
|
const rowBody = (h(Fragment, null, reorderActive && (h("div", { class: "xpl-list-item__reorderable" }, h("xpl-button", { class: {
|
|
402
400
|
'xpl-list-item__drag-handle': true,
|
|
403
401
|
'xpl-list-item__drag-handle--keyboard-mode': this.isKeyboardMode,
|
|
404
|
-
}, type: "button", variant: "tertiary", sentiment: "neutral", iconOnly: true, icon: this.isKeyboardMode ? 'caret-expand-y' : 'grip-dots-vertical', disabled: this.disabled, onClick: this.preventRowLinkNavigation, onMouseDown: this.handleDragHandleMouseDown, onKeyDown: this.handleDragHandleKeyDown }))), this.selectable && radioGroupName ? (h("div", { class: "xpl-list-item__selectable", onClick: this.handleRadioClick }, h("xpl-radio", { checked: this.selected, disabled: this.disabled, name: radioGroupName, value:
|
|
402
|
+
}, type: "button", variant: "tertiary", sentiment: "neutral", iconOnly: true, icon: this.isKeyboardMode ? 'caret-expand-y' : 'grip-dots-vertical', disabled: this.disabled, onClick: this.preventRowLinkNavigation, onMouseDown: this.handleDragHandleMouseDown, onKeyDown: this.handleDragHandleKeyDown }))), this.selectable && radioGroupName ? (h("div", { class: "xpl-list-item__selectable", onClick: this.handleRadioClick }, h("xpl-radio", { checked: this.selected, disabled: this.disabled, name: radioGroupName, value: this.itemId ?? '', onRadioChange: this.handleRadioChange }, this.getSelectableRadioLabel()))) : null, this.slotPresence.avatar && (h("div", { class: "xpl-list-item__avatar", onClick: this.preventRowLinkNavigation }, h("slot", { name: "avatar" }))), hasStackedContent && (h("div", { class: "xpl-list-item__stacked" }, (this.slotPresence.title || this.slotPresence.titleBadge) && (h("div", { class: "xpl-list-item__title-row" }, h("div", { class: "xpl-list-item__title-wrapper" }, this.renderTitleBadge(), h("slot", { name: "title" })))), this.showDivider && h("xpl-divider", null), this.slotPresence.metadata && (h("div", { class: "xpl-list-item__metadata-row" }, h("slot", { name: "metadata" }))), this.slotPresence.stackedExtra1 && (h("div", { class: "xpl-list-item__stacked-extra-1" }, h("slot", { name: "stacked-extra-1" }))), this.slotPresence.stackedExtra2 && (h("div", { class: "xpl-list-item__stacked-extra-2" }, h("slot", { name: "stacked-extra-2" }))), this.slotPresence.stackedExtra3 && (h("div", { class: "xpl-list-item__stacked-extra-3" }, h("slot", { name: "stacked-extra-3" }))))), hasRightSideContent && (h("div", { class: "xpl-list-item__right" }, this.slotPresence.details && (h("div", { class: "xpl-list-item__details" }, h("slot", { name: "details" }))), this.slotPresence.badges && (h("div", { class: "xpl-list-item__badges" }, h("slot", { name: "badges" }))), this.slotPresence.actions && (h("div", { class: "xpl-list-item__actions", onClick: this.preventRowLinkNavigation }, h("slot", { name: "actions" }))))), this.href ? (h("span", { class: "xpl-list-item__link-chevron", "aria-hidden": "true" }, h("xpl-icon", { icon: "chevron-right", size: 12 }))) : null));
|
|
405
403
|
return (h(Host, { class: {
|
|
406
404
|
'xpl-list-item': true,
|
|
407
|
-
'xpl-list-item--error': this.error || this.slotPresence.errorText,
|
|
408
|
-
'xpl-list-item--disabled': this.disabled,
|
|
405
|
+
'xpl-list-item--error': !!(this.error || this.slotPresence.errorText),
|
|
406
|
+
'xpl-list-item--disabled': !!this.disabled,
|
|
409
407
|
'xpl-list-item--slot-based': true,
|
|
410
|
-
'xpl-list-item--selected': this.selected,
|
|
411
|
-
}, hidden: this.hidden }, this.href ? (h("div", { role: "listitem", class: "xpl-list-item__listitem-shell" }, h("a",
|
|
408
|
+
'xpl-list-item--selected': !!this.selected,
|
|
409
|
+
}, hidden: this.hidden }, this.href ? (h("div", { role: "listitem", class: "xpl-list-item__listitem-shell" }, h("a", { class: wrapperClass, href: this.href, ...dragSurfaceProps }, rowBody))) : (h("div", { role: "listitem", class: wrapperClass, ...dragSurfaceProps }, rowBody)), this.slotPresence.errorText && (h("div", { class: "xpl-list-item__error-text" }, h("xpl-icon", { icon: "circle-warning", size: 16 }), h("slot", { name: "error-text" })))));
|
|
412
410
|
}
|
|
413
411
|
syncReorderDragHandleA11y() {
|
|
414
412
|
if (!this.reorderable || this.disabled) {
|
|
415
413
|
return;
|
|
416
414
|
}
|
|
417
415
|
const host = this.el.querySelector('xpl-button.xpl-list-item__drag-handle');
|
|
418
|
-
const nativeBtn = host
|
|
416
|
+
const nativeBtn = host?.querySelector('button');
|
|
419
417
|
if (!nativeBtn) {
|
|
420
418
|
return;
|
|
421
419
|
}
|