@xplortech/apollo-core 2.6.0 → 2.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.typings/apollo-components.html-data.json +626 -35
- package/build/style.css +5949 -3070
- package/dist/apollo-core/apollo-core.css +29 -19
- package/dist/apollo-core/apollo-core.esm.js +1 -1
- package/dist/apollo-core/p-0bf50890.entry.js +1 -0
- package/dist/apollo-core/p-1947e7a8.entry.js +1 -0
- package/dist/apollo-core/p-27928cb0.entry.js +1 -0
- package/dist/apollo-core/{p-5549756c.entry.js → p-34438721.entry.js} +1 -1
- package/dist/apollo-core/p-35c2f72d.entry.js +1 -0
- package/dist/apollo-core/p-368c81f1.entry.js +1 -0
- package/dist/apollo-core/{p-f5af9539.entry.js → p-36ba29da.entry.js} +1 -1
- package/dist/apollo-core/p-406b27a8.entry.js +1 -0
- package/dist/apollo-core/p-5d63b4ce.entry.js +1 -0
- package/dist/apollo-core/{p-02167464.entry.js → p-6a15f1e0.entry.js} +1 -1
- package/dist/apollo-core/p-8d692d05.entry.js +1 -0
- package/dist/apollo-core/{p-C_Z2nG0p.js → p-C7bgJs6C.js} +2 -2
- package/dist/apollo-core/{p-42016063.entry.js → p-b61d7952.entry.js} +1 -1
- package/dist/apollo-core/{p-8a1affce.entry.js → p-ca127ee8.entry.js} +1 -1
- package/dist/apollo-core/p-d1c9c233.entry.js +1 -0
- package/dist/apollo-core/p-dc205893.entry.js +1 -0
- package/dist/apollo-core/p-e2a5d41c.entry.js +1 -0
- package/dist/cjs/apollo-core.cjs.js +3 -3
- package/dist/cjs/{index-DH6pgWru.js → index-BQ97-AWw.js} +18 -7
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/xpl-accordion.cjs.entry.js +3 -3
- package/dist/cjs/xpl-application-shell.cjs.entry.js +2 -2
- package/dist/cjs/{xpl-avatar_47.cjs.entry.js → xpl-avatar_54.cjs.entry.js} +3726 -536
- package/dist/cjs/xpl-button-row.cjs.entry.js +2 -2
- package/dist/cjs/xpl-calendar.cjs.entry.js +2 -2
- package/dist/cjs/xpl-dynamic-table-cell.cjs.entry.js +3 -3
- package/dist/cjs/xpl-dynamic-table-row.cjs.entry.js +3 -3
- package/dist/cjs/xpl-dynamic-table.cjs.entry.js +2 -2
- package/dist/cjs/xpl-grid-item.cjs.entry.js +2 -2
- package/dist/cjs/xpl-grid.cjs.entry.js +2 -2
- package/dist/cjs/xpl-large-card.cjs.entry.js +2 -2
- package/dist/cjs/xpl-main-nav.cjs.entry.js +2 -2
- package/dist/cjs/xpl-table-header-cell.cjs.entry.js +1 -1
- package/dist/cjs/xpl-table-header.cjs.entry.js +2 -2
- package/dist/cjs/xpl-toggle.cjs.entry.js +4 -4
- package/dist/cjs/xpl-toolbar.cjs.entry.js +3 -3
- package/dist/collection/collection-manifest.json +11 -5
- package/dist/collection/components/xpl-accordion/xpl-accordion.js +2 -2
- package/dist/collection/components/xpl-application-shell/xpl-application-shell.js +1 -1
- package/dist/collection/components/xpl-avatar/avatar.stories.js +122 -107
- package/dist/collection/components/xpl-avatar/xpl-avatar.js +249 -15
- package/dist/collection/components/xpl-backdrop/xpl-backdrop.js +1 -1
- package/dist/collection/components/xpl-badge/badge.stories.js +1 -33
- package/dist/collection/components/xpl-badge/xpl-badge.js +1 -1
- package/dist/collection/components/xpl-banner/xpl-banner.js +4 -3
- 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/xpl-button.js +21 -3
- package/dist/collection/components/xpl-button-row/xpl-button-row.js +1 -1
- package/dist/collection/components/xpl-calendar/xpl-calendar.js +1 -1
- package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +25 -3
- package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +1 -1
- package/dist/collection/components/xpl-content-area/xpl-content-area.js +1 -1
- package/dist/collection/components/xpl-dashboard/xpl-dashboard.js +1 -1
- package/dist/collection/components/xpl-data-card/xpl-data-card.js +2 -2
- package/dist/collection/components/xpl-divider/xpl-divider.js +1 -1
- package/dist/collection/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.js +1 -1
- 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 +2 -2
- package/dist/collection/components/xpl-dropdown/xpl-dropdown.js +77 -7
- package/dist/collection/components/xpl-dynamic-table/xpl-dynamic-table.js +1 -1
- package/dist/collection/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.js +2 -2
- package/dist/collection/components/xpl-dynamic-table-row/xpl-dynamic-table-row.js +2 -2
- package/dist/collection/components/xpl-grid/xpl-grid.js +1 -1
- package/dist/collection/components/xpl-grid-item/xpl-grid-item.js +1 -1
- package/dist/collection/components/xpl-header-accordion/xpl-header-accordion.js +1 -1
- package/dist/collection/components/xpl-icon/xpl-icon.js +2 -2
- package/dist/collection/components/xpl-input/input.stories.js +96 -1
- package/dist/collection/components/xpl-input/xpl-input-color/xpl-input-color.js +8 -8
- package/dist/collection/components/xpl-input/xpl-input-date/xpl-input-date.js +3 -3
- package/dist/collection/components/xpl-input/xpl-input-file/xpl-input-file.js +4 -4
- package/dist/collection/components/xpl-input/xpl-input-phone/xpl-input-phone.js +5 -5
- package/dist/collection/components/xpl-input/xpl-input-search/xpl-input-search.js +485 -0
- package/dist/collection/components/xpl-input/xpl-input-time/xpl-input-time.js +2 -2
- package/dist/collection/components/xpl-input/xpl-input.js +130 -18
- package/dist/collection/components/xpl-large-card/xpl-large-card.js +1 -1
- package/dist/collection/components/xpl-list/list.stories.js +300 -63
- package/dist/collection/components/xpl-list/xpl-list-item/xpl-list-item.js +818 -0
- package/dist/collection/components/xpl-list/xpl-list.js +579 -21
- package/dist/collection/components/xpl-main-nav/xpl-main-nav.js +1 -1
- package/dist/collection/components/xpl-modal/xpl-modal.js +1 -1
- package/dist/collection/components/xpl-nav-item/xpl-nav-item.js +2 -2
- package/dist/collection/components/xpl-pagination/pagination.stories.js +18 -0
- package/dist/collection/components/xpl-pagination/xpl-pagination.js +7 -3
- package/dist/collection/components/xpl-panel/panel.stories.js +5 -3
- package/dist/collection/components/xpl-panel/xpl-panel.js +3 -3
- package/dist/collection/components/xpl-popover/xpl-popover.js +4 -4
- package/dist/collection/components/xpl-progress-bar/xpl-progress-bar.js +2 -2
- package/dist/collection/components/xpl-progress-indicator/progress-indicator.stories.js +118 -0
- package/dist/collection/components/xpl-progress-indicator/xpl-progress-indicator.js +171 -0
- package/dist/collection/components/xpl-radio/xpl-radio.js +3 -3
- package/dist/collection/components/xpl-secondary-nav/xpl-secondary-nav.js +1 -1
- package/dist/collection/components/xpl-select/xpl-select.js +58 -6
- package/dist/collection/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.js +2 -2
- package/dist/collection/components/xpl-side-nav/xpl-side-nav.js +2 -2
- package/dist/collection/components/xpl-skeleton/xpl-skeleton.js +1 -1
- package/dist/collection/components/xpl-slideout/xpl-slideout.js +1 -1
- package/dist/collection/components/xpl-spotlight/spotlight.stories.js +385 -0
- package/dist/collection/components/xpl-spotlight/xpl-spotlight.js +1085 -0
- package/dist/collection/components/xpl-tab/xpl-tab.js +261 -8
- package/dist/collection/components/xpl-tab-panel/xpl-tab-panel.js +22 -15
- package/dist/collection/components/xpl-table/xpl-table.js +5 -5
- package/dist/collection/components/xpl-table-header/xpl-table-header.js +1 -1
- package/dist/collection/components/xpl-tabs/segment-control.stories.js +31 -0
- package/dist/collection/components/xpl-tabs/tabs.shared.js +156 -0
- package/dist/collection/components/xpl-tabs/tabs.stories.js +10 -60
- package/dist/collection/components/xpl-tabs/xpl-tabs.js +338 -62
- package/dist/collection/components/xpl-tag/tag.stories.js +153 -0
- package/dist/collection/components/xpl-tag/xpl-tag.js +312 -9
- package/dist/collection/components/xpl-toast/xpl-toast.js +2 -2
- package/dist/collection/components/xpl-toggle/xpl-toggle.js +3 -3
- package/dist/collection/components/xpl-toolbar/xpl-toolbar.js +2 -2
- package/dist/collection/components/xpl-tooltip/xpl-tooltip.js +1 -1
- package/dist/collection/components/xpl-top-nav/top-nav.stories.js +625 -0
- package/dist/collection/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.js +122 -0
- package/dist/collection/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.js +481 -0
- package/dist/collection/components/xpl-top-nav/xpl-top-nav.js +433 -0
- package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +1 -1
- package/dist/collection/utils/lifecycle.js +79 -0
- package/dist/collection/utils/tab-a11y-ids.js +22 -0
- package/dist/components/floating-ui.dom.js +1 -0
- package/dist/components/index.js +1 -1
- package/dist/components/tab-a11y-ids.js +1 -0
- package/dist/components/xpl-accordion.js +1 -1
- package/dist/components/xpl-application-shell.js +1 -1
- package/dist/components/xpl-avatar2.js +1 -1
- package/dist/components/xpl-backdrop2.js +1 -1
- package/dist/components/xpl-badge2.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-button2.js +1 -1
- package/dist/components/xpl-calendar.js +1 -1
- package/dist/components/xpl-checkbox2.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-divider2.js +1 -1
- package/dist/components/xpl-dropdown-group2.js +1 -1
- package/dist/components/xpl-dropdown-heading2.js +1 -1
- package/dist/components/xpl-dropdown-option2.js +1 -1
- package/dist/components/xpl-dropdown2.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-icon2.js +1 -1
- package/dist/components/xpl-input-date2.js +1 -1
- package/dist/components/xpl-input-file2.js +1 -1
- package/dist/components/xpl-input-search.d.ts +11 -0
- package/dist/components/xpl-input-search.js +1 -0
- package/dist/components/xpl-input-search2.js +1 -0
- package/dist/components/xpl-input2.js +1 -1
- package/dist/components/xpl-large-card.js +1 -1
- package/dist/components/{xpl-progress.d.ts → xpl-list-item.d.ts} +4 -4
- package/dist/components/xpl-list-item.js +1 -0
- package/dist/components/xpl-list-item2.js +1 -0
- 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.d.ts +11 -0
- package/dist/components/xpl-nav-header-menu.js +1 -0
- 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-popover2.js +1 -1
- package/dist/components/xpl-progress-bar.js +1 -1
- package/dist/components/xpl-progress-indicator.d.ts +11 -0
- package/dist/components/xpl-progress-indicator.js +1 -0
- package/dist/components/xpl-radio2.js +1 -1
- package/dist/components/xpl-secondary-nav.js +1 -1
- package/dist/components/xpl-select2.js +1 -1
- package/dist/components/xpl-side-nav-item.js +1 -1
- 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.d.ts +11 -0
- package/dist/components/xpl-spotlight.js +1 -0
- package/dist/components/xpl-tab-panel.js +1 -1
- package/dist/components/xpl-tab.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-tag2.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-tooltip2.js +1 -1
- package/dist/components/xpl-top-nav-item.d.ts +11 -0
- package/dist/components/xpl-top-nav-item.js +1 -0
- package/dist/components/xpl-top-nav-item2.js +1 -0
- package/dist/components/xpl-top-nav.d.ts +11 -0
- package/dist/components/xpl-top-nav.js +1 -0
- package/dist/components/xpl-utility-bar.js +1 -1
- package/dist/docs/xpl-avatar/readme.md +289 -15
- package/dist/docs/xpl-badge/readme.md +14 -9
- package/dist/docs/xpl-banner/readme.md +48 -11
- package/dist/docs/xpl-button/readme.md +28 -18
- package/dist/docs/xpl-calendar/readme.md +1 -1
- package/dist/docs/xpl-checkbox/readme.md +12 -11
- package/dist/docs/xpl-divider/readme.md +6 -4
- package/dist/docs/xpl-dropdown/readme.md +14 -12
- package/dist/docs/xpl-icon/readme.md +14 -2
- package/dist/docs/xpl-input/readme.md +66 -41
- package/dist/docs/xpl-input/xpl-input-color/readme.md +1 -0
- package/dist/docs/xpl-input/xpl-input-phone/readme.md +1 -0
- package/dist/docs/xpl-input/xpl-input-search/readme.md +175 -0
- package/dist/docs/xpl-input/xpl-input-time/readme.md +1 -0
- package/dist/docs/xpl-list/readme.md +320 -10
- package/dist/docs/xpl-list/xpl-list-item/readme.md +99 -0
- package/dist/docs/xpl-pagination/readme.md +1 -0
- package/dist/docs/xpl-panel/readme.md +108 -17
- package/dist/docs/xpl-popover/readme.md +2 -0
- package/dist/docs/xpl-progress-indicator/readme.md +234 -0
- package/dist/docs/xpl-radio/readme.md +6 -4
- package/dist/docs/xpl-select/readme.md +19 -16
- package/dist/docs/xpl-side-nav/readme.md +2 -2
- package/dist/docs/xpl-slideout/readme.md +1 -1
- package/dist/docs/xpl-spotlight/readme.md +235 -0
- package/dist/docs/xpl-tab/readme.md +43 -7
- package/dist/docs/xpl-tab-panel/readme.md +42 -0
- package/dist/docs/xpl-tabs/readme.md +62 -8
- package/dist/docs/xpl-tag/readme.md +379 -4
- package/dist/docs/xpl-toast/readme.md +1 -1
- package/dist/docs/xpl-top-nav/readme.md +179 -0
- package/dist/docs/xpl-top-nav/xpl-nav-header-menu/readme.md +81 -0
- package/dist/docs/xpl-top-nav/xpl-top-nav-item/readme.md +87 -0
- package/dist/esm/apollo-core.js +4 -4
- package/dist/esm/{index-C_Z2nG0p.js → index-C7bgJs6C.js} +18 -8
- package/dist/esm/loader.js +3 -3
- package/dist/esm/xpl-accordion.entry.js +3 -3
- package/dist/esm/xpl-application-shell.entry.js +2 -2
- package/dist/esm/{xpl-avatar_47.entry.js → xpl-avatar_54.entry.js} +3719 -536
- package/dist/esm/xpl-button-row.entry.js +2 -2
- package/dist/esm/xpl-calendar.entry.js +2 -2
- package/dist/esm/xpl-dynamic-table-cell.entry.js +3 -3
- package/dist/esm/xpl-dynamic-table-row.entry.js +3 -3
- package/dist/esm/xpl-dynamic-table.entry.js +2 -2
- package/dist/esm/xpl-grid-item.entry.js +2 -2
- package/dist/esm/xpl-grid.entry.js +2 -2
- package/dist/esm/xpl-large-card.entry.js +2 -2
- package/dist/esm/xpl-main-nav.entry.js +2 -2
- package/dist/esm/xpl-table-header-cell.entry.js +1 -1
- package/dist/esm/xpl-table-header.entry.js +2 -2
- package/dist/esm/xpl-toggle.entry.js +4 -4
- package/dist/esm/xpl-toolbar.entry.js +3 -3
- package/dist/types/components/xpl-avatar/avatar.stories.d.ts +88 -29
- package/dist/types/components/xpl-avatar/xpl-avatar.d.ts +29 -2
- package/dist/types/components/xpl-badge/badge.stories.d.ts +0 -19
- package/dist/types/components/xpl-button/xpl-button.d.ts +7 -0
- package/dist/types/components/xpl-checkbox/xpl-checkbox.d.ts +2 -1
- package/dist/types/components/xpl-dropdown/xpl-dropdown.d.ts +5 -0
- package/dist/types/components/xpl-input/input.stories.d.ts +1 -0
- package/dist/types/components/xpl-input/xpl-input-search/xpl-input-search.d.ts +39 -0
- package/dist/types/components/xpl-input/xpl-input.d.ts +13 -5
- package/dist/types/components/xpl-list/list.stories.d.ts +299 -13
- package/dist/types/components/xpl-list/listitem.d.ts +13 -0
- package/dist/types/components/xpl-list/xpl-list-item/xpl-list-item.d.ts +71 -0
- package/dist/types/components/xpl-list/xpl-list.d.ts +55 -2
- package/dist/types/components/xpl-pagination/pagination.stories.d.ts +13 -0
- package/dist/types/components/xpl-panel/panel.stories.d.ts +2 -0
- package/dist/types/components/xpl-progress-indicator/progress-indicator.stories.d.ts +62 -0
- package/dist/types/components/xpl-progress-indicator/xpl-progress-indicator.d.ts +11 -0
- package/dist/types/components/xpl-select/xpl-select.d.ts +3 -0
- package/dist/types/components/xpl-spotlight/spotlight.stories.d.ts +197 -0
- package/dist/types/components/xpl-spotlight/xpl-spotlight.d.ts +101 -0
- package/dist/types/components/xpl-tab/xpl-tab.d.ts +14 -1
- package/dist/types/components/xpl-tab-panel/xpl-tab-panel.d.ts +2 -1
- package/dist/types/components/xpl-tabs/segment-control.stories.d.ts +112 -0
- package/dist/types/components/xpl-tabs/tabs.shared.d.ts +156 -0
- package/dist/types/components/xpl-tabs/tabs.stories.d.ts +65 -12
- package/dist/types/components/xpl-tabs/xpl-tabs.d.ts +37 -18
- package/dist/types/components/xpl-tag/tag.stories.d.ts +65 -0
- package/dist/types/components/xpl-tag/xpl-tag.d.ts +36 -1
- package/dist/types/components/xpl-top-nav/top-nav.stories.d.ts +471 -0
- package/dist/types/components/xpl-top-nav/xpl-nav-header-menu/xpl-nav-header-menu.d.ts +18 -0
- package/dist/types/components/xpl-top-nav/xpl-top-nav-item/xpl-top-nav-item.d.ts +48 -0
- package/dist/types/components/xpl-top-nav/xpl-top-nav.d.ts +51 -0
- package/dist/types/components.d.ts +1521 -83
- package/dist/types/utils/lifecycle.d.ts +16 -0
- package/dist/types/utils/tab-a11y-ids.d.ts +4 -0
- package/package.json +12 -3
- package/dist/apollo-core/p-0bce3874.entry.js +0 -1
- package/dist/apollo-core/p-1fd3dc87.entry.js +0 -1
- package/dist/apollo-core/p-56fa4941.entry.js +0 -1
- package/dist/apollo-core/p-76c324da.entry.js +0 -1
- package/dist/apollo-core/p-7a3224b4.entry.js +0 -1
- package/dist/apollo-core/p-7e924697.entry.js +0 -1
- package/dist/apollo-core/p-9efca9e1.entry.js +0 -1
- package/dist/apollo-core/p-b252b380.entry.js +0 -1
- package/dist/apollo-core/p-c91daac1.entry.js +0 -1
- package/dist/apollo-core/p-d9b62508.entry.js +0 -1
- package/dist/apollo-core/p-eaea16d1.entry.js +0 -1
- package/dist/apollo-core/p-eed13bca.entry.js +0 -1
- package/dist/cjs/xpl-list.cjs.entry.js +0 -32
- package/dist/collection/components/xpl-progress/progress.stories.js +0 -106
- package/dist/collection/components/xpl-progress/xpl-progress.js +0 -60
- package/dist/components/xpl-progress.js +0 -1
- package/dist/docs/xpl-progress/readme.md +0 -22
- package/dist/esm/xpl-list.entry.js +0 -30
- package/dist/types/components/xpl-progress/progress.stories.d.ts +0 -38
- package/dist/types/components/xpl-progress/xpl-progress.d.ts +0 -6
|
@@ -1,12 +1,65 @@
|
|
|
1
1
|
# xpl-panel
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
`xpl-panel` is a stateless, composable container that defines a section on a page and can house any type of content. Panels are not dismissible and may show a colored top accent bar. Padding is applied evenly to **`.xpl-panel__content`** (all sides use the same spacing token).
|
|
4
|
+
|
|
5
|
+
## Accessibility
|
|
6
|
+
|
|
7
|
+
The panel is a generic layout container: it does not define a landmark role or trap focus. Place interactive controls in the default slot. For a named region, wrap the panel (or its content) in an element with `role="region"` and an accessible name (e.g. `aria-label`) when the panel represents a distinct section.
|
|
8
|
+
|
|
9
|
+
When an accent is present, the accent bar is a decorative `div` with `aria-hidden="true"` so assistive technologies ignore it; meaning comes from slot content.
|
|
10
|
+
|
|
11
|
+
## Token use
|
|
12
|
+
|
|
13
|
+
**Host (surface)**
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
| Property | Token |
|
|
17
|
+
| ------------- | --------------------------------------- |
|
|
18
|
+
| Background | `var(--xpl-background-surface-default)` |
|
|
19
|
+
| Border color | `var(--xpl-border-default)` |
|
|
20
|
+
| Border width | `var(--xpl-border-small)` |
|
|
21
|
+
| Border radius | `var(--xpl-border-radius-default)` |
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
**Accent bar** (`accent` ≠ `none`): height `var(--xpl-size-050)`; top radii `var(--xpl-border-radius-default)`, bottom `var(--xpl-border-radius-none)`.
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
| `accent` | Background token |
|
|
28
|
+
| ----------- | ---------------------------------------- |
|
|
29
|
+
| `primary` | `var(--xpl-background-brand-primary)` |
|
|
30
|
+
| `secondary` | `var(--xpl-background-brand-secondary)` |
|
|
31
|
+
| `positive` | `var(--xpl-background-accent-positive)` |
|
|
32
|
+
| `negative` | `var(--xpl-background-accent-negative)` |
|
|
33
|
+
| `highlight` | `var(--xpl-background-accent-highlight)` |
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
Light and dark mode follow Apollo Foundation purpose-specific tokens; the component does not use `.dark` overrides in its CSS.
|
|
37
|
+
|
|
38
|
+
## Content padding by viewport
|
|
39
|
+
|
|
40
|
+
The `padding` prop sets **content** padding via `var(--xpl-space-*)` on `.xpl-panel__content`. Two `max-width` media queries step values down on smaller viewports (`panel.css`).
|
|
41
|
+
|
|
42
|
+
### Matrix: `padding` × viewport
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
| Viewport | Approx. width | `padding="default"` | `padding="tight"` | `padding="loose"` |
|
|
46
|
+
| ---------- | ------------------- | ---------------------------- | ---------------------------- | ---------------------------- |
|
|
47
|
+
| **Large** | > 768px | `var(--xpl-space-24)` · 24px | `var(--xpl-space-16)` · 16px | `var(--xpl-space-40)` · 40px |
|
|
48
|
+
| **Tablet** | ≤ 768px and > 480px | same as large | same as large | `var(--xpl-space-32)` · 32px |
|
|
49
|
+
| **Mobile** | ≤ 480px | `var(--xpl-space-16)` · 16px | `var(--xpl-space-8)` · 8px | `var(--xpl-space-24)` · 24px |
|
|
50
|
+
|
|
4
51
|
|
|
5
|
-
|
|
52
|
+
**How the breakpoints stack**
|
|
53
|
+
|
|
54
|
+
1. Base rules apply the **Large** row for all widths.
|
|
55
|
+
2. At `max-width: 768px`, only **loose** changes (tablet row for that column).
|
|
56
|
+
3. At `max-width: 480px`, **default**, **tight**, and **loose** all use the **Mobile** row.
|
|
57
|
+
|
|
58
|
+
Pixel values match the Foundation `space/`* scale; if tokens change in a future Foundation release, spacing updates without component code changes.
|
|
6
59
|
|
|
7
60
|
## Usage
|
|
8
61
|
|
|
9
|
-
###
|
|
62
|
+
### Web component
|
|
10
63
|
|
|
11
64
|
```html
|
|
12
65
|
<xpl-panel>
|
|
@@ -14,27 +67,38 @@ XPL-Panel is a stateless, composable container component that defines a section
|
|
|
14
67
|
</xpl-panel>
|
|
15
68
|
```
|
|
16
69
|
|
|
17
|
-
### Panel with accent
|
|
18
|
-
|
|
19
70
|
```html
|
|
20
71
|
<xpl-panel accent="primary">
|
|
21
72
|
<p>Content with a primary accent bar.</p>
|
|
22
73
|
</xpl-panel>
|
|
23
74
|
```
|
|
24
75
|
|
|
25
|
-
Available accent values: `none` (default), `primary`, `secondary`, `positive`,
|
|
26
|
-
`negative`, `highlight`.
|
|
76
|
+
Available accent values: `none` (default), `primary`, `secondary`, `positive`, `negative`, `highlight`.
|
|
27
77
|
|
|
28
78
|
### Padding density
|
|
29
79
|
|
|
30
80
|
```html
|
|
31
81
|
<xpl-panel padding="tight">
|
|
32
|
-
<p>Tighter padding on
|
|
82
|
+
<p>Tighter padding on small screens (see content padding matrix).</p>
|
|
33
83
|
</xpl-panel>
|
|
34
84
|
```
|
|
35
85
|
|
|
36
|
-
|
|
37
|
-
|
|
86
|
+
Use `padding="default"` | `"tight"` | `"loose"`. **default** and **tight** keep the same values from large screens through tablet; only at **≤480px** do they step down. **loose** steps down at **≤768px** (tablet) and again at **≤480px** (mobile).
|
|
87
|
+
|
|
88
|
+
### HTML/CSS (no Stencil)
|
|
89
|
+
|
|
90
|
+
Use the same BEM classes the component applies on the host. The accent bar must stay decorative (`aria-hidden="true"`).
|
|
91
|
+
|
|
92
|
+
```html
|
|
93
|
+
<div class="xpl-panel xpl-panel--accent-primary xpl-panel--padding-default">
|
|
94
|
+
<div aria-hidden="true" class="xpl-panel__accent"></div>
|
|
95
|
+
<div class="xpl-panel__content">
|
|
96
|
+
<p>Panel body</p>
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Omit `xpl-panel--accent-*` when `accent` is `none`; do not render `.xpl-panel__accent`.
|
|
38
102
|
|
|
39
103
|
### Composing with other components
|
|
40
104
|
|
|
@@ -46,14 +110,41 @@ and automatically scales down at tablet (768 px) and mobile (480 px) breakpoints
|
|
|
46
110
|
</xpl-panel>
|
|
47
111
|
```
|
|
48
112
|
|
|
113
|
+
### Content styling
|
|
114
|
+
|
|
115
|
+
The panel intentionally does **not** apply default typography or color styles to slotted content. It provides the surface (background, border, accent) and content padding — nothing more. This means text inside the panel inherits whatever styles the surrounding page defines.
|
|
116
|
+
|
|
117
|
+
To ensure consistent, theme-aware content you should use Apollo Foundation tokens on elements inside the slot:
|
|
118
|
+
|
|
119
|
+
```html
|
|
120
|
+
<xpl-panel>
|
|
121
|
+
<h3 class="xpl-text-title-4" style="color: var(--xpl-text-strong)">Section title</h3>
|
|
122
|
+
<p class="xpl-text-body" style="color: var(--xpl-text-default)">
|
|
123
|
+
Body copy that adapts to light and dark mode automatically.
|
|
124
|
+
</p>
|
|
125
|
+
<p class="xpl-text-caption" style="color: var(--xpl-text-subdued)">
|
|
126
|
+
Subdued helper text.
|
|
127
|
+
</p>
|
|
128
|
+
</xpl-panel>
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
| Purpose | Recommended token |
|
|
132
|
+
| ------- | ----------------- |
|
|
133
|
+
| Primary text | `var(--xpl-text-default)` |
|
|
134
|
+
| Headings / emphasis | `var(--xpl-text-strong)` |
|
|
135
|
+
| Secondary / helper text | `var(--xpl-text-subdued)` |
|
|
136
|
+
| Disabled text | `var(--xpl-text-disabled)` |
|
|
137
|
+
| Links | `var(--xpl-text-link-default)` |
|
|
138
|
+
|
|
139
|
+
Using purpose-specific text tokens guarantees content switches correctly in dark mode. If slot content uses raw colors (e.g. `color: #333`) or relies on browser defaults, text will **not** adapt when the panel's ancestor has the `dark` class.
|
|
140
|
+
|
|
49
141
|
### Dark mode
|
|
50
142
|
|
|
51
|
-
|
|
52
|
-
adapts its background, border, and accent colors.
|
|
143
|
+
Use an ancestor with the `dark` class — surface, border, and accent tokens update via Foundation.
|
|
53
144
|
|
|
54
145
|
## Design
|
|
55
146
|
|
|
56
|
-
- [Figma:
|
|
147
|
+
- [Figma: xpl-panel](https://www.figma.com/design/MjjYek73MFnHmVNdm45Sd1/Apollo-Web?node-id=1546-136120&p=f)
|
|
57
148
|
|
|
58
149
|
<!-- Auto Generated Below -->
|
|
59
150
|
|
|
@@ -65,10 +156,10 @@ type of content. Panels are not dismissible and may contain a top accent.
|
|
|
65
156
|
|
|
66
157
|
## Properties
|
|
67
158
|
|
|
68
|
-
| Property | Attribute | Description
|
|
69
|
-
| --------- | --------- |
|
|
70
|
-
| `accent` | `accent` | Color accent bar displayed at the top of the panel. - `none` – no accent (default) - `primary` – brand primary color - `secondary` – brand secondary color - `positive` – positive / success color - `negative` – negative / error color - `highlight` – highlight / warning color
|
|
71
|
-
| `padding` | `padding` | Padding density applied to the content area.
|
|
159
|
+
| Property | Attribute | Description | Type | Default |
|
|
160
|
+
| --------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ----------- |
|
|
161
|
+
| `accent` | `accent` | Color accent bar displayed at the top of the panel. - `none` – no accent (default) - `primary` – brand primary color - `secondary` – brand secondary color - `positive` – positive / success color - `negative` – negative / error color - `highlight` – highlight / warning color | `"highlight" \| "negative" \| "none" \| "positive" \| "primary" \| "secondary"` | `'none'` |
|
|
162
|
+
| `padding` | `padding` | Padding density applied to the content area. (default and tight keep desktop padding through tablet; mobile ≤480px). - `default` – 24 px desktop & tablet / 16 px mobile - `tight` – 16 px desktop & tablet / 8 px mobile - `loose` – 40 px desktop / 32 px tablet / 24 px mobile | `"default" \| "loose" \| "tight"` | `'default'` |
|
|
72
163
|
|
|
73
164
|
|
|
74
165
|
## Slots
|
|
@@ -35,11 +35,13 @@ A popover is an overlay that pops up over all other layers and is triggered by a
|
|
|
35
35
|
### Used by
|
|
36
36
|
|
|
37
37
|
- [xpl-input-color](../xpl-input/xpl-input-color)
|
|
38
|
+
- [xpl-top-nav](../xpl-top-nav)
|
|
38
39
|
|
|
39
40
|
### Graph
|
|
40
41
|
```mermaid
|
|
41
42
|
graph TD;
|
|
42
43
|
xpl-input-color --> xpl-popover
|
|
44
|
+
xpl-top-nav --> xpl-popover
|
|
43
45
|
style xpl-popover fill:#f9f,stroke:#333,stroke-width:4px
|
|
44
46
|
```
|
|
45
47
|
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
# xpl-progress-indicator
|
|
2
|
+
|
|
3
|
+
A progress indicator that guides users through linear, multi-step tasks by displaying completed, current, and future steps. Progress indicators help manage user expectations by showing their position in a multi-step process, the total number of steps, and overall progress toward task completion.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```html
|
|
8
|
+
<!-- Basic horizontal progress with numbered steps -->
|
|
9
|
+
<xpl-progress-indicator steps='["Details", "Location", "Review"]' current-step="1"></xpl-progress-indicator>
|
|
10
|
+
|
|
11
|
+
<!-- Vertical layout for side navigation -->
|
|
12
|
+
<xpl-progress-indicator steps='["Step 1", "Step 2", "Step 3"]' current-step="0" layout="vertical"></xpl-progress-indicator>
|
|
13
|
+
|
|
14
|
+
<!-- Dots only (no numbers) with labels -->
|
|
15
|
+
<xpl-progress-indicator steps='["Upload", "Process", "Complete"]' current-step="1" show-numbers="false"></xpl-progress-indicator>
|
|
16
|
+
|
|
17
|
+
<!-- Numbers only (no labels) -->
|
|
18
|
+
<xpl-progress-indicator steps='["Step 1", "Step 2", "Step 3"]' current-step="1" show-labels="false"></xpl-progress-indicator>
|
|
19
|
+
|
|
20
|
+
<!-- Minimal dots only -->
|
|
21
|
+
<xpl-progress-indicator steps='["Step 1", "Step 2", "Step 3"]' current-step="1" show-numbers="false" show-labels="false"></xpl-progress-indicator>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Layouts
|
|
25
|
+
|
|
26
|
+
### Horizontal (Default)
|
|
27
|
+
|
|
28
|
+
The horizontal layout displays steps in a row with a 16px gap between each step. Steps are connected by absolute-positioned lines that maintain consistent spacing from circle edges. Step labels appear below the circles and wrap naturally when the container narrows. This layout is ideal for page headers and top-level step navigation in desktop applications.
|
|
29
|
+
|
|
30
|
+
The layout is responsive: steps distribute equally via `flex: 1`, with a minimum width of 32px (the circle size) to prevent overlap. Labels wrap within their column using `overflow-wrap: break-word`. When the container becomes too narrow for all steps, the progress indicator will overflow horizontally rather than squashing elements together.
|
|
31
|
+
|
|
32
|
+
```html
|
|
33
|
+
<xpl-progress-indicator steps='["Details", "Location", "Instructor", "Review"]' current-step="1"></xpl-progress-indicator>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Vertical
|
|
37
|
+
|
|
38
|
+
The vertical layout stacks steps vertically with connecting lines running downward. Labels appear to the right of each circle. This layout works well for side navigation panels and narrow spaces.
|
|
39
|
+
|
|
40
|
+
```html
|
|
41
|
+
<xpl-progress-indicator steps='["Step 1", "Step 2", "Step 3"]' current-step="1" layout="vertical"></xpl-progress-indicator>
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Display Options
|
|
45
|
+
|
|
46
|
+
### Step Numbers
|
|
47
|
+
|
|
48
|
+
By default, each step circle displays its index number (1, 2, 3, etc.). Set `show-numbers="false"` to display dots instead of numbers for a more minimal appearance.
|
|
49
|
+
|
|
50
|
+
| Option | Visual |
|
|
51
|
+
|--------|--------|
|
|
52
|
+
| `show-numbers="true"` (default) | Numbered circles |
|
|
53
|
+
| `show-numbers="false"` | Dots for waiting/active, checkmark for finished |
|
|
54
|
+
|
|
55
|
+
### Step Labels
|
|
56
|
+
|
|
57
|
+
Step labels appear below (horizontal) or beside (vertical) each circle by default. Set `show-labels="false"` to hide labels and show only the step indicators.
|
|
58
|
+
|
|
59
|
+
In horizontal mode, labels are constrained to the width of their step column and will wrap naturally using `overflow-wrap: break-word` when the container narrows. This prevents labels from colliding with neighboring steps.
|
|
60
|
+
|
|
61
|
+
| Option | Horizontal | Vertical |
|
|
62
|
+
|--------|------------|----------|
|
|
63
|
+
| `show-labels="true"` (default) | Labels below circles, wrap when narrow | Labels beside circles |
|
|
64
|
+
| `show-labels="false"` | Circles only | Circles only |
|
|
65
|
+
|
|
66
|
+
## Step States
|
|
67
|
+
|
|
68
|
+
Each step can be in one of three states, determined by comparing the step index to `current-step`:
|
|
69
|
+
|
|
70
|
+
| State | Visual | Description |
|
|
71
|
+
|-------|--------|-------------|
|
|
72
|
+
| **Waiting** | Gray circle/dot | Steps after the current step |
|
|
73
|
+
| **Active** | Purple bordered circle | The current step (`current-step` index) |
|
|
74
|
+
| **Finished** | Filled purple circle with checkmark | Steps before the current step |
|
|
75
|
+
|
|
76
|
+
## Icon Mapping
|
|
77
|
+
|
|
78
|
+
The progress component uses `xpl-icon` for the finished step indicator:
|
|
79
|
+
|
|
80
|
+
| State | Icon Name |
|
|
81
|
+
|-------|-----------|
|
|
82
|
+
| Finished | `check-2` |
|
|
83
|
+
|
|
84
|
+
## Design Tokens
|
|
85
|
+
|
|
86
|
+
The progress component uses the following Apollo Foundation tokens:
|
|
87
|
+
|
|
88
|
+
### Horizontal Layout
|
|
89
|
+
|
|
90
|
+
| Element | Property | Token/Value |
|
|
91
|
+
|---------|----------|-------------|
|
|
92
|
+
| Container | Min width | `0px` (fluid) |
|
|
93
|
+
| | Width | `100%` |
|
|
94
|
+
| | Padding horizontal | `--xpl-space-16` (16px) |
|
|
95
|
+
| | Gap (between steps) | `--xpl-space-16` (16px) |
|
|
96
|
+
| | Flex | `1` (equal width distribution) |
|
|
97
|
+
| Step Circle | Width/Height | `--xpl-size-200` (32px) |
|
|
98
|
+
| | Border | `--xpl-border-default` (waiting), `--xpl-border-focus` (active) |
|
|
99
|
+
| | Border radius | `--xpl-border-radius-full` |
|
|
100
|
+
| | Font size | `--xpl-font-size-title-5` |
|
|
101
|
+
| | Font weight | `--xpl-font-weight-medium` |
|
|
102
|
+
| Connector Line | Position | Absolute, from circle edge to edge |
|
|
103
|
+
| | Height | `--xpl-size-0125` (2px) |
|
|
104
|
+
| | Margins | `--xpl-space-4` (4px) from circle edges |
|
|
105
|
+
| | Color (waiting) | `--xpl-border-default` |
|
|
106
|
+
| | Color (finished) | `--xpl-background-action-primary-default` |
|
|
107
|
+
| Step Label | Font size | `--xpl-font-size-title-5` |
|
|
108
|
+
| | Color (waiting) | `--xpl-text-subdued` |
|
|
109
|
+
| | Color (active) | `--xpl-text-default` |
|
|
110
|
+
| | Layout | In normal flow, wraps at narrow widths |
|
|
111
|
+
| | Max width | `100%` of step column |
|
|
112
|
+
|
|
113
|
+
### Vertical Layout
|
|
114
|
+
|
|
115
|
+
| Element | Property | Token/Value |
|
|
116
|
+
|---------|----------|-------------|
|
|
117
|
+
| Container | Min width | `--xpl-size-0` (0px) |
|
|
118
|
+
| | Min height | `0px` (fluid) |
|
|
119
|
+
| | Height | `100%` |
|
|
120
|
+
| Connector Line | Width | `--xpl-size-0125` (2px) |
|
|
121
|
+
| | Color (waiting) | `--xpl-border-default` |
|
|
122
|
+
| | Color (finished) | `--xpl-background-action-primary-default` |
|
|
123
|
+
| Step Label | Margin left | `--xpl-space-8` (8px) |
|
|
124
|
+
|
|
125
|
+
### Step States
|
|
126
|
+
|
|
127
|
+
| State | Circle Background | Circle Border | Circle Text |
|
|
128
|
+
|-------|-------------------|---------------|-------------|
|
|
129
|
+
| Waiting | Transparent | `--xpl-border-default` | `--xpl-text-subdued` |
|
|
130
|
+
| Active | Transparent | `--xpl-border-focus` | `--xpl-text-link-default` |
|
|
131
|
+
| Finished | `--xpl-background-action-primary-default` | `--xpl-border-accent-default` | `--xpl-text-inverse` |
|
|
132
|
+
|
|
133
|
+
## Accessibility
|
|
134
|
+
|
|
135
|
+
### ARIA structure
|
|
136
|
+
|
|
137
|
+
The host element uses `role="group"` with a dynamic `aria-label` that announces the current position:
|
|
138
|
+
|
|
139
|
+
| Condition | `aria-label` value |
|
|
140
|
+
|-----------|-------------------|
|
|
141
|
+
| Steps in progress | `"Progress: step 2 of 5"` |
|
|
142
|
+
| All steps complete | `"Progress: all 5 steps complete"` |
|
|
143
|
+
| No steps provided | `"Progress"` |
|
|
144
|
+
|
|
145
|
+
Steps are wrapped in a container with `role="list"`, and each step is a `role="listitem"`. The active step receives `aria-current="step"`; non-active steps do not carry `aria-current`.
|
|
146
|
+
|
|
147
|
+
### Keyboard interaction
|
|
148
|
+
|
|
149
|
+
This component is a display-only progress indicator and does not require keyboard interaction. It is typically used alongside form navigation controls (e.g., Previous/Next buttons) that manage step changes.
|
|
150
|
+
|
|
151
|
+
### Visual distinction
|
|
152
|
+
|
|
153
|
+
- State changes use both color and shape differences (numbered circles, dots, and checkmark icons) to support colorblind users.
|
|
154
|
+
- The `xpl-icon` component with icon `check-2` provides the finished-step checkmark at an accessible size (20px).
|
|
155
|
+
|
|
156
|
+
## HTML/CSS Usage
|
|
157
|
+
|
|
158
|
+
When building the progress component in plain HTML, use the following structure:
|
|
159
|
+
|
|
160
|
+
```html
|
|
161
|
+
<!-- Horizontal progress -->
|
|
162
|
+
<div class="xpl-progress-indicator xpl-progress-indicator-horizontal" role="group" aria-label="Progress: step 2 of 3">
|
|
163
|
+
<div class="xpl-progress-indicator-container" role="list">
|
|
164
|
+
<!-- Step 1: Finished -->
|
|
165
|
+
<div class="xpl-progress-indicator-step xpl-progress-indicator-step-finished" role="listitem" aria-label="Details, completed">
|
|
166
|
+
<div class="xpl-progress-indicator-step-content">
|
|
167
|
+
<div class="xpl-progress-indicator-step-circle">
|
|
168
|
+
<xpl-icon icon="check-2" size="20"></xpl-icon>
|
|
169
|
+
</div>
|
|
170
|
+
<div class="xpl-progress-indicator-step-text">Details</div>
|
|
171
|
+
</div>
|
|
172
|
+
</div>
|
|
173
|
+
<!-- Step 2: Active -->
|
|
174
|
+
<div class="xpl-progress-indicator-step xpl-progress-indicator-step-active" role="listitem" aria-label="Location, current" aria-current="step">
|
|
175
|
+
<div class="xpl-progress-indicator-step-content">
|
|
176
|
+
<div class="xpl-progress-indicator-step-circle">2</div>
|
|
177
|
+
<div class="xpl-progress-indicator-step-text">Location</div>
|
|
178
|
+
</div>
|
|
179
|
+
</div>
|
|
180
|
+
<!-- Step 3: Waiting -->
|
|
181
|
+
<div class="xpl-progress-indicator-step" role="listitem" aria-label="Review, upcoming">
|
|
182
|
+
<div class="xpl-progress-indicator-step-content">
|
|
183
|
+
<div class="xpl-progress-indicator-step-circle">3</div>
|
|
184
|
+
<div class="xpl-progress-indicator-step-text">Review</div>
|
|
185
|
+
</div>
|
|
186
|
+
</div>
|
|
187
|
+
</div>
|
|
188
|
+
</div>
|
|
189
|
+
|
|
190
|
+
<!-- Vertical progress -->
|
|
191
|
+
<div class="xpl-progress-indicator xpl-progress-indicator-vertical" role="group" aria-label="Progress: step 2 of 3">
|
|
192
|
+
<div class="xpl-progress-indicator-container" role="list">
|
|
193
|
+
<!-- Step 1: Finished -->
|
|
194
|
+
<div class="xpl-progress-indicator-step xpl-progress-indicator-step-finished" role="listitem" aria-label="Step 1, completed">
|
|
195
|
+
<div class="xpl-progress-indicator-step-circle">
|
|
196
|
+
<xpl-icon icon="check-2" size="20"></xpl-icon>
|
|
197
|
+
</div>
|
|
198
|
+
<div class="xpl-progress-indicator-step-text">Step 1</div>
|
|
199
|
+
</div>
|
|
200
|
+
<!-- ... additional steps ... -->
|
|
201
|
+
</div>
|
|
202
|
+
</div>
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
<!-- Auto Generated Below -->
|
|
206
|
+
|
|
207
|
+
|
|
208
|
+
## Properties
|
|
209
|
+
|
|
210
|
+
| Property | Attribute | Description | Type | Default |
|
|
211
|
+
| ------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | -------------- |
|
|
212
|
+
| `currentStep` | `current-step` | Current step index. Steps with index < currentStep are "finished", the step at currentStep is "active", and steps beyond are "waiting". Set to steps.length to mark all steps as finished. Automatically clamped to [0, steps.length]. | `number` | `0` |
|
|
213
|
+
| `layout` | `layout` | Layout direction - 'horizontal' or 'vertical' | `"horizontal" \| "vertical"` | `'horizontal'` |
|
|
214
|
+
| `showLabels` | `show-labels` | Whether to show step labels | `boolean` | `true` |
|
|
215
|
+
| `showNumbers` | `show-numbers` | Whether to show step numbers inside circles | `boolean` | `true` |
|
|
216
|
+
| `steps` | -- | The steps is an array of the steps name. | `string[]` | `undefined` |
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
## Dependencies
|
|
220
|
+
|
|
221
|
+
### Depends on
|
|
222
|
+
|
|
223
|
+
- [xpl-icon](../xpl-icon)
|
|
224
|
+
|
|
225
|
+
### Graph
|
|
226
|
+
```mermaid
|
|
227
|
+
graph TD;
|
|
228
|
+
xpl-progress-indicator --> xpl-icon
|
|
229
|
+
style xpl-progress-indicator fill:#f9f,stroke:#333,stroke-width:4px
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
----------------------------------------------
|
|
233
|
+
|
|
234
|
+
*Built with [StencilJS](https://stenciljs.com/)*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
# xpl-radio
|
|
2
|
-
|
|
3
|
-
Radio buttons allow users to make selections or choices. Radios are always single select, and can also act as controls.
|
|
4
|
-
|
|
1
|
+
# xpl-radio
|
|
2
|
+
|
|
3
|
+
Radio buttons allow users to make selections or choices. Radios are always single select, and can also act as controls.
|
|
4
|
+
|
|
5
5
|
<!-- Auto Generated Below -->
|
|
6
6
|
|
|
7
7
|
|
|
@@ -30,11 +30,13 @@ Radio buttons allow users to make selections or choices. Radios are always singl
|
|
|
30
30
|
### Used by
|
|
31
31
|
|
|
32
32
|
- [xpl-choicelist](../xpl-choicelist)
|
|
33
|
+
- [xpl-list-item](../xpl-list/xpl-list-item)
|
|
33
34
|
|
|
34
35
|
### Graph
|
|
35
36
|
```mermaid
|
|
36
37
|
graph TD;
|
|
37
38
|
xpl-choicelist --> xpl-radio
|
|
39
|
+
xpl-list-item --> xpl-radio
|
|
38
40
|
style xpl-radio fill:#f9f,stroke:#333,stroke-width:4px
|
|
39
41
|
```
|
|
40
42
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Select allows users to make a single selection or multiple selections from a list of options. Items can be a simple list, grouped, simple multi-select. User selections typically appear within the Select Box once created unless multiple selections are made, where truncation or another method of showing these selections is required.
|
|
4
4
|
|
|
5
|
-
***When the list of options contains “Actions”, use a ***[Dropdown component](https://
|
|
5
|
+
***When the list of options contains “Actions”, use a ***[Dropdown component](https://apollo.xplordocs.com/?path=/story/components-dropdown--simple).
|
|
6
6
|
|
|
7
7
|
The `selectIcon` property accepts icon names as strings. See [xpl-icon available icons](../xpl-icon/ICONS.md) for the complete list.
|
|
8
8
|
|
|
@@ -13,21 +13,23 @@ The `selectIcon` property accepts icon names as strings. See [xpl-icon available
|
|
|
13
13
|
|
|
14
14
|
## Properties
|
|
15
15
|
|
|
16
|
-
| Property
|
|
17
|
-
|
|
|
18
|
-
| `choices`
|
|
19
|
-
| `classNames`
|
|
20
|
-
| `customDisplayValue`
|
|
21
|
-
| `description`
|
|
22
|
-
| `disabled`
|
|
23
|
-
| `
|
|
24
|
-
| `
|
|
25
|
-
| `
|
|
26
|
-
| `
|
|
27
|
-
| `
|
|
28
|
-
| `
|
|
29
|
-
| `
|
|
30
|
-
| `
|
|
16
|
+
| Property | Attribute | Description | Type | Default |
|
|
17
|
+
| -------------------------------- | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- |
|
|
18
|
+
| `choices` | -- | An array of choices for the user to choose from. Each choice should be of the form: { label: string; href?: string; value?: string; isGroupHeading?: boolean; isSelected?: boolean; isDisabled?: boolean; options?: DropdownItem[]; groupName?: string; } | `Partial<DropdownOption & DropdownOptionGroup>[]` | `[]` |
|
|
19
|
+
| `classNames` | `class-names` | The class name to apply to the select component. | `string` | `undefined` |
|
|
20
|
+
| `customDisplayValue` | `custom-display-value` | If true, enables custom display value rendering via slot. | `boolean` | `undefined` |
|
|
21
|
+
| `description` | `description` | Optional text that appears below the input label. | `string` | `undefined` |
|
|
22
|
+
| `disabled` | `disabled` | Whether the field is disabled | `boolean` | `undefined` |
|
|
23
|
+
| `dropdownFlipFallbackPlacements` | -- | Additional placements to try for the options panel when the default `dropdownPlacement` does not fit. Passed to `xpl-dropdown` / Floating UI `flip`. | `Placement[]` | `undefined` |
|
|
24
|
+
| `dropdownPlacement` | `dropdown-placement` | Initial Floating UI placement for the options panel (e.g. `top-start`, `bottom-start`). Forwarded to the inner `xpl-dropdown` when the menu is open. | `"bottom" \| "bottom-end" \| "bottom-start" \| "left" \| "left-end" \| "left-start" \| "right" \| "right-end" \| "right-start" \| "top" \| "top-end" \| "top-start"` | `'bottom-start'` |
|
|
25
|
+
| `error` | `error` | If an empty string (attribute present with no value), will display visually as an error. If a string is included, will display visually as an error and include the value as an error message. | `string` | `undefined` |
|
|
26
|
+
| `label` | `label` | The label that appears above the select dropdown | `string` | `undefined` |
|
|
27
|
+
| `mode` | `mode` | Whether to allow a single choice or multiple choices. | `"multi" \| "single"` | `'single'` |
|
|
28
|
+
| `name` | `name` | The name of the hidden input field that contains the selected option's value(s) | `string` | `undefined` |
|
|
29
|
+
| `placeholder` | `placeholder` | Placeholder text that appears when the field has no value | `string` | `undefined` |
|
|
30
|
+
| `selectIcon` | `select-icon` | The icon to display in the select trigger button. See [xpl-icon available icons](../xpl-icon/ICONS.md) for valid icon names. | `string` | `'chevron-down'` |
|
|
31
|
+
| `selectedValues` | `selected-values` | The value(s) currently selected in the select component. | `string \| string[]` | `undefined` |
|
|
32
|
+
| `truncate` | `truncate` | Only used in multi-choice selects. If `true`, badges representing selections that would overflow the container are replaced with "+x more" (where x is the number not shown). If `false`, the container's height will adjust to show all badges representing selections. | `boolean` | `true` |
|
|
31
33
|
|
|
32
34
|
|
|
33
35
|
## Events
|
|
@@ -73,6 +75,7 @@ graph TD;
|
|
|
73
75
|
xpl-select --> xpl-tag
|
|
74
76
|
xpl-select --> xpl-icon
|
|
75
77
|
xpl-select --> xpl-dropdown
|
|
78
|
+
xpl-tag --> xpl-icon
|
|
76
79
|
xpl-dropdown --> xpl-dropdown-group
|
|
77
80
|
xpl-dropdown --> xpl-dropdown-option
|
|
78
81
|
xpl-dropdown-group --> xpl-dropdown-group
|
|
@@ -40,9 +40,9 @@ When multiple navigation landmarks exist on a page (e.g., side nav, top nav, bre
|
|
|
40
40
|
</xpl-side-nav>
|
|
41
41
|
|
|
42
42
|
<!-- Top navigation (different component) -->
|
|
43
|
-
<xpl-top-
|
|
43
|
+
<xpl-top-nav label="User menu">
|
|
44
44
|
...
|
|
45
|
-
</xpl-top-
|
|
45
|
+
</xpl-top-nav>
|
|
46
46
|
|
|
47
47
|
<!-- Breadcrumbs (different component) -->
|
|
48
48
|
<xpl-breadcrumbs label="Breadcrumb">
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# xpl-slideout
|
|
2
2
|
|
|
3
|
-
Content and Footer subcomponents are optional and can be hidden. Slideout always has a header with an X close button upper right. Slide Out Panel OPTIONALLY uses the [<xpl-backdrop>](https://
|
|
3
|
+
Content and Footer subcomponents are optional and can be hidden. Slideout always has a header with an X close button upper right. Slide Out Panel OPTIONALLY uses the [<xpl-backdrop>](https://apollo.xplordocs.com/?path=/story/components-backdrop--backdrop) component to overlay content and create focus on the Slide Out Panel content.
|
|
4
4
|
|
|
5
5
|
<!-- Auto Generated Below -->
|
|
6
6
|
|