@xplortech/apollo-core 2.5.0 → 2.6.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 +393 -26
- package/build/style.css +4224 -1016
- package/dist/apollo-core/apollo-core.css +18 -27
- package/dist/apollo-core/apollo-core.esm.js +1 -1
- package/dist/apollo-core/p-02167464.entry.js +1 -0
- package/dist/apollo-core/p-0bce3874.entry.js +1 -0
- package/dist/apollo-core/{p-0e1877a2.entry.js → p-1fd3dc87.entry.js} +1 -1
- package/dist/apollo-core/{p-0ac33b3a.entry.js → p-42016063.entry.js} +1 -1
- package/dist/apollo-core/p-5549756c.entry.js +1 -0
- package/dist/apollo-core/p-56fa4941.entry.js +1 -0
- package/dist/apollo-core/p-76c324da.entry.js +1 -0
- package/dist/apollo-core/p-7a3224b4.entry.js +1 -0
- package/dist/apollo-core/p-7e924697.entry.js +1 -0
- package/dist/apollo-core/{p-f4c2626d.entry.js → p-8a1affce.entry.js} +1 -1
- package/dist/apollo-core/p-9efca9e1.entry.js +1 -0
- package/dist/apollo-core/p-C_Z2nG0p.js +2 -0
- package/dist/apollo-core/p-b252b380.entry.js +1 -0
- package/dist/apollo-core/p-c91daac1.entry.js +1 -0
- package/dist/apollo-core/p-d9b62508.entry.js +1 -0
- package/dist/apollo-core/p-eaea16d1.entry.js +1 -0
- package/dist/apollo-core/p-eed13bca.entry.js +1 -0
- package/dist/apollo-core/{p-4fab8172.entry.js → p-f5af9539.entry.js} +1 -1
- package/dist/cjs/apollo-core.cjs.js +3 -3
- package/dist/cjs/{index-D__N_vw2.js → index-DH6pgWru.js} +137 -87
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/xpl-accordion.cjs.entry.js +5 -5
- package/dist/cjs/xpl-application-shell.cjs.entry.js +4 -4
- package/dist/cjs/{xpl-avatar_41.cjs.entry.js → xpl-avatar_47.cjs.entry.js} +2802 -272
- package/dist/cjs/xpl-button-row.cjs.entry.js +4 -4
- package/dist/cjs/xpl-calendar.cjs.entry.js +4 -4
- package/dist/cjs/xpl-dynamic-table-cell.cjs.entry.js +5 -5
- package/dist/cjs/xpl-dynamic-table-row.cjs.entry.js +5 -5
- package/dist/cjs/xpl-dynamic-table.cjs.entry.js +4 -4
- package/dist/cjs/xpl-grid-item.cjs.entry.js +4 -4
- package/dist/cjs/xpl-grid.cjs.entry.js +4 -4
- package/dist/cjs/xpl-large-card.cjs.entry.js +4 -4
- package/dist/cjs/xpl-list.cjs.entry.js +4 -4
- package/dist/cjs/xpl-main-nav.cjs.entry.js +4 -4
- package/dist/cjs/xpl-table-header-cell.cjs.entry.js +3 -3
- package/dist/cjs/xpl-table-header.cjs.entry.js +4 -4
- package/dist/cjs/xpl-toggle.cjs.entry.js +6 -6
- package/dist/cjs/xpl-toolbar.cjs.entry.js +5 -5
- package/dist/collection/collection-manifest.json +9 -2
- package/dist/collection/components/xpl-accordion/accordion.stories.js +4 -0
- package/dist/collection/components/xpl-accordion/xpl-accordion.js +3 -3
- package/dist/collection/components/xpl-application-shell/application-shell.stories.js +4 -0
- package/dist/collection/components/xpl-application-shell/xpl-application-shell.js +2 -2
- package/dist/collection/components/xpl-avatar/avatar.stories.js +4 -0
- package/dist/collection/components/xpl-avatar/xpl-avatar.js +3 -3
- package/dist/collection/components/xpl-backdrop/backdrop.stories.js +4 -0
- package/dist/collection/components/xpl-backdrop/xpl-backdrop.js +2 -2
- package/dist/collection/components/xpl-badge/badge.stories.js +108 -33
- package/dist/collection/components/xpl-badge/xpl-badge.js +122 -14
- package/dist/collection/components/xpl-banner/banner.stories.js +64 -0
- package/dist/collection/components/xpl-banner/xpl-banner.js +295 -0
- package/dist/collection/components/xpl-breadcrumbs/breadcrumbs.stories.js +4 -0
- package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.js +2 -2
- package/dist/collection/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.js +2 -2
- package/dist/collection/components/xpl-button/button.stories.js +102 -98
- package/dist/collection/components/xpl-button/xpl-button.js +183 -93
- package/dist/collection/components/xpl-button-row/xpl-button-row.js +2 -2
- package/dist/collection/components/xpl-calendar/calendar.stories.js +4 -0
- package/dist/collection/components/xpl-calendar/xpl-calendar.js +2 -2
- package/dist/collection/components/xpl-checkbox/checkbox.stories.js +4 -0
- package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +4 -4
- package/dist/collection/components/xpl-choicelist/choicelist.stories.js +4 -0
- package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +2 -2
- package/dist/collection/components/xpl-content-area/xpl-content-area.js +2 -2
- package/dist/collection/components/xpl-dashboard/xpl-dashboard.js +2 -2
- package/dist/collection/components/xpl-data-card/data-card.stories.js +4 -0
- package/dist/collection/components/xpl-data-card/xpl-data-card.js +3 -3
- package/dist/collection/components/xpl-divider/divider.stories.js +4 -0
- package/dist/collection/components/xpl-divider/xpl-divider.js +2 -2
- package/dist/collection/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.js +2 -2
- package/dist/collection/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.js +2 -2
- package/dist/collection/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.js +29 -4
- package/dist/collection/components/xpl-dropdown/xpl-dropdown.js +120 -79
- package/dist/collection/components/xpl-dynamic-table/xpl-dynamic-table.js +2 -2
- package/dist/collection/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.js +3 -3
- package/dist/collection/components/xpl-dynamic-table-row/xpl-dynamic-table-row.js +3 -3
- package/dist/collection/components/xpl-grid/xpl-grid.js +2 -2
- package/dist/collection/components/xpl-grid-item/xpl-grid-item.js +2 -2
- package/dist/collection/components/xpl-header-accordion/xpl-header-accordion.js +2 -2
- package/dist/collection/components/xpl-icon/xpl-icon.js +3 -3
- package/dist/collection/components/xpl-input/input.stories.js +75 -9
- package/dist/collection/components/xpl-input/xpl-input-color/xpl-input-color.js +9 -9
- package/dist/collection/components/xpl-input/xpl-input-date/xpl-input-date.js +55 -17
- package/dist/collection/components/xpl-input/xpl-input-file/xpl-input-file.js +5 -5
- package/dist/collection/components/xpl-input/xpl-input-phone/phone-country-data.js +58 -0
- package/dist/collection/components/xpl-input/xpl-input-phone/phone-format.js +219 -0
- package/dist/collection/components/xpl-input/xpl-input-phone/xpl-input-phone.js +469 -0
- package/dist/collection/components/xpl-input/xpl-input-time/xpl-input-time.js +3 -3
- package/dist/collection/components/xpl-input/xpl-input.js +101 -7
- package/dist/collection/components/xpl-large-card/large-card.stories.js +4 -0
- package/dist/collection/components/xpl-large-card/xpl-large-card.js +2 -2
- package/dist/collection/components/xpl-list/xpl-list.js +2 -2
- package/dist/collection/components/xpl-main-nav/xpl-main-nav.js +2 -2
- package/dist/collection/components/xpl-modal/modal.stories.js +4 -0
- package/dist/collection/components/xpl-modal/xpl-modal.js +2 -2
- package/dist/collection/components/xpl-nav-item/xpl-nav-item.js +3 -3
- package/dist/collection/components/xpl-pagination/pagination.stories.js +4 -0
- package/dist/collection/components/xpl-pagination/xpl-pagination.js +4 -4
- package/dist/collection/components/xpl-panel/panel.stories.js +51 -0
- package/dist/collection/components/xpl-panel/xpl-panel.js +60 -0
- package/dist/collection/components/xpl-popover/popover.stories.js +4 -0
- package/dist/collection/components/xpl-popover/xpl-popover.js +5 -5
- package/dist/collection/components/xpl-progress/xpl-progress.js +2 -2
- package/dist/collection/components/xpl-progress-bar/progress-bar.stories.js +96 -0
- package/dist/collection/components/xpl-progress-bar/xpl-progress-bar.js +158 -0
- package/dist/collection/components/xpl-radio/xpl-radio.js +4 -4
- package/dist/collection/components/xpl-secondary-nav/xpl-secondary-nav.js +2 -2
- package/dist/collection/components/xpl-select/xpl-select.js +7 -7
- package/dist/collection/components/xpl-side-nav/side-nav.stories.js +519 -0
- package/dist/collection/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.js +259 -0
- package/dist/collection/components/xpl-side-nav/xpl-side-nav.js +32 -0
- package/dist/collection/components/xpl-skeleton/xpl-skeleton.js +2 -2
- package/dist/collection/components/xpl-slideout/xpl-slideout.js +2 -2
- package/dist/collection/components/xpl-tab/xpl-tab.js +3 -3
- package/dist/collection/components/xpl-tab-panel/xpl-tab-panel.js +3 -3
- package/dist/collection/components/xpl-table/xpl-table.js +6 -6
- package/dist/collection/components/xpl-table-header/xpl-table-header.js +2 -2
- package/dist/collection/components/xpl-table-header-cell/xpl-table-header-cell.js +1 -1
- package/dist/collection/components/xpl-tabs/xpl-tabs.js +6 -6
- package/dist/collection/components/xpl-tag/xpl-tag.js +3 -3
- package/dist/collection/components/xpl-toast/xpl-toast.js +3 -3
- package/dist/collection/components/xpl-toggle/xpl-toggle.js +4 -4
- package/dist/collection/components/xpl-toolbar/xpl-toolbar.js +3 -3
- package/dist/collection/components/xpl-tooltip/xpl-tooltip.js +2 -2
- package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +2 -2
- package/dist/collection/utils/layout-ancestors.js +22 -0
- package/dist/components/index.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-avatar2.js +1 -1
- package/dist/components/xpl-backdrop.js +1 -1
- package/dist/components/xpl-backdrop2.js +1 -1
- package/dist/components/xpl-badge.js +1 -1
- package/dist/components/xpl-badge2.js +1 -1
- package/dist/components/xpl-banner.d.ts +11 -0
- package/dist/components/xpl-banner.js +1 -0
- 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-button2.js +1 -1
- package/dist/components/xpl-calendar.js +1 -1
- package/dist/components/xpl-checkbox.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-divider.js +1 -1
- package/dist/components/xpl-divider2.js +1 -1
- package/dist/components/xpl-dropdown-group.js +1 -1
- package/dist/components/xpl-dropdown-group2.js +1 -1
- package/dist/components/xpl-dropdown-heading.js +1 -1
- package/dist/components/xpl-dropdown-heading2.js +1 -1
- package/dist/components/xpl-dropdown-option.js +1 -1
- package/dist/components/xpl-dropdown-option2.js +1 -1
- package/dist/components/xpl-dropdown.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-icon.js +1 -1
- package/dist/components/xpl-icon2.js +1 -1
- package/dist/components/xpl-input-date.js +1 -1
- package/dist/components/xpl-input-date2.js +1 -1
- package/dist/components/xpl-input-file.js +1 -1
- package/dist/components/xpl-input-file2.js +1 -1
- package/dist/components/xpl-input-phone.d.ts +11 -0
- package/dist/components/xpl-input-phone.js +1 -0
- package/dist/components/xpl-input-time.js +1 -1
- package/dist/components/xpl-input.js +1 -1
- package/dist/components/xpl-input2.js +1 -1
- package/dist/components/xpl-large-card.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-item.js +1 -1
- package/dist/components/xpl-pagination.js +1 -1
- package/dist/components/xpl-panel.d.ts +11 -0
- package/dist/components/xpl-panel.js +1 -0
- package/dist/components/xpl-popover.js +1 -1
- package/dist/components/xpl-popover2.js +1 -1
- package/dist/components/xpl-progress-bar.d.ts +11 -0
- package/dist/components/xpl-progress-bar.js +1 -0
- package/dist/components/xpl-progress.js +1 -1
- package/dist/components/xpl-radio.js +1 -1
- package/dist/components/xpl-radio2.js +1 -1
- package/dist/components/xpl-secondary-nav.js +1 -1
- package/dist/components/xpl-select.js +1 -1
- package/dist/components/xpl-select2.js +1 -1
- package/dist/components/xpl-side-nav-item.d.ts +11 -0
- package/dist/components/xpl-side-nav-item.js +1 -0
- package/dist/components/xpl-side-nav.d.ts +11 -0
- package/dist/components/xpl-side-nav.js +1 -0
- package/dist/components/xpl-skeleton.js +1 -1
- package/dist/components/xpl-slideout.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.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-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-tooltip.js +1 -1
- package/dist/components/xpl-tooltip2.js +1 -1
- package/dist/components/xpl-utility-bar.js +1 -1
- package/dist/docs/xpl-accordion/readme.md +4 -0
- package/dist/docs/xpl-avatar/readme.md +5 -0
- package/dist/docs/xpl-backdrop/readme.md +1 -1
- package/dist/docs/xpl-badge/readme.md +97 -4
- package/dist/docs/xpl-banner/readme.md +166 -0
- package/dist/docs/xpl-button/readme.md +151 -14
- package/dist/docs/xpl-button-row/readme.md +1 -0
- package/dist/docs/xpl-calendar/readme.md +2 -1
- package/dist/docs/xpl-checkbox/readme.md +2 -0
- package/dist/docs/xpl-choicelist/readme.md +1 -0
- package/dist/docs/xpl-data-card/readme.md +2 -2
- package/dist/docs/xpl-divider/readme.md +1 -1
- package/dist/docs/xpl-dropdown/readme.md +14 -11
- package/dist/docs/xpl-dropdown/xpl-dropdown-group/readme.md +1 -0
- package/dist/docs/xpl-dropdown/xpl-dropdown-option/readme.md +6 -0
- package/dist/docs/xpl-icon/readme.md +12 -0
- package/dist/docs/xpl-input/readme.md +41 -31
- package/dist/docs/xpl-input/xpl-input-color/readme.md +4 -0
- package/dist/docs/xpl-input/xpl-input-phone/readme.md +167 -0
- package/dist/docs/xpl-input/xpl-input-time/readme.md +4 -0
- package/dist/docs/xpl-large-card/readme.md +1 -1
- package/dist/docs/xpl-modal/readme.md +3 -0
- package/dist/docs/xpl-pagination/readme.md +3 -0
- package/dist/docs/xpl-panel/readme.md +83 -0
- package/dist/docs/xpl-popover/readme.md +1 -1
- package/dist/docs/xpl-progress-bar/readme.md +145 -0
- package/dist/docs/xpl-select/readme.md +1 -0
- package/dist/docs/xpl-side-nav/readme.md +71 -0
- package/dist/docs/xpl-side-nav/xpl-side-nav-item/readme.md +115 -0
- package/dist/docs/xpl-slideout/readme.md +1 -0
- package/dist/docs/xpl-tabs/readme.md +1 -0
- package/dist/docs/xpl-toast/readme.md +55 -0
- package/dist/esm/apollo-core.js +4 -4
- package/dist/esm/{index-DhZas3eX.js → index-C_Z2nG0p.js} +137 -87
- package/dist/esm/loader.js +3 -3
- package/dist/esm/xpl-accordion.entry.js +5 -5
- package/dist/esm/xpl-application-shell.entry.js +4 -4
- package/dist/esm/{xpl-avatar_41.entry.js → xpl-avatar_47.entry.js} +2753 -229
- package/dist/esm/xpl-button-row.entry.js +4 -4
- package/dist/esm/xpl-calendar.entry.js +4 -4
- package/dist/esm/xpl-dynamic-table-cell.entry.js +5 -5
- package/dist/esm/xpl-dynamic-table-row.entry.js +5 -5
- package/dist/esm/xpl-dynamic-table.entry.js +4 -4
- package/dist/esm/xpl-grid-item.entry.js +4 -4
- package/dist/esm/xpl-grid.entry.js +4 -4
- package/dist/esm/xpl-large-card.entry.js +4 -4
- package/dist/esm/xpl-list.entry.js +4 -4
- package/dist/esm/xpl-main-nav.entry.js +4 -4
- package/dist/esm/xpl-table-header-cell.entry.js +3 -3
- package/dist/esm/xpl-table-header.entry.js +4 -4
- package/dist/esm/xpl-toggle.entry.js +6 -6
- package/dist/esm/xpl-toolbar.entry.js +5 -5
- package/dist/types/components/xpl-accordion/xpl-accordion.d.ts +1 -1
- package/dist/types/components/xpl-application-shell/application-shell.stories.d.ts +4 -0
- package/dist/types/components/xpl-application-shell/xpl-application-shell.d.ts +1 -1
- package/dist/types/components/xpl-avatar/avatar.stories.d.ts +4 -0
- package/dist/types/components/xpl-avatar/xpl-avatar.d.ts +1 -1
- package/dist/types/components/xpl-backdrop/backdrop.stories.d.ts +4 -0
- package/dist/types/components/xpl-backdrop/xpl-backdrop.d.ts +1 -1
- package/dist/types/components/xpl-badge/badge.stories.d.ts +66 -11
- package/dist/types/components/xpl-badge/xpl-badge.d.ts +9 -2
- package/dist/types/components/xpl-banner/banner.stories.d.ts +77 -0
- package/dist/types/components/xpl-banner/xpl-banner.d.ts +20 -0
- package/dist/types/components/xpl-breadcrumbs/breadcrumbs.stories.d.ts +4 -0
- package/dist/types/components/xpl-breadcrumbs/xpl-breadcrumb-item/xpl-breadcrumb-item.d.ts +1 -1
- package/dist/types/components/xpl-breadcrumbs/xpl-breadcrumbs/xpl-breadcrumbs.d.ts +1 -1
- package/dist/types/components/xpl-button/button.stories.d.ts +68 -30
- package/dist/types/components/xpl-button/xpl-button.d.ts +14 -8
- package/dist/types/components/xpl-button-row/xpl-button-row.d.ts +1 -1
- package/dist/types/components/xpl-calendar/calendar.stories.d.ts +4 -0
- package/dist/types/components/xpl-calendar/xpl-calendar.d.ts +1 -1
- package/dist/types/components/xpl-checkbox/checkbox.stories.d.ts +4 -0
- package/dist/types/components/xpl-checkbox/xpl-checkbox.d.ts +1 -1
- package/dist/types/components/xpl-choicelist/choicelist.stories.d.ts +4 -0
- package/dist/types/components/xpl-choicelist/xpl-choicelist.d.ts +1 -1
- package/dist/types/components/xpl-content-area/xpl-content-area.d.ts +1 -1
- package/dist/types/components/xpl-dashboard/xpl-dashboard.d.ts +1 -1
- package/dist/types/components/xpl-data-card/data-card.stories.d.ts +4 -0
- package/dist/types/components/xpl-data-card/xpl-data-card.d.ts +1 -1
- package/dist/types/components/xpl-divider/divider.stories.d.ts +4 -0
- package/dist/types/components/xpl-divider/xpl-divider.d.ts +1 -1
- package/dist/types/components/xpl-dropdown/dropdown-option.d.ts +1 -0
- package/dist/types/components/xpl-dropdown/dropdown.stories.d.ts +1 -1
- package/dist/types/components/xpl-dropdown/xpl-dropdown-group/xpl-dropdown-group.d.ts +1 -1
- package/dist/types/components/xpl-dropdown/xpl-dropdown-heading/xpl-dropdown-heading.d.ts +1 -1
- package/dist/types/components/xpl-dropdown/xpl-dropdown-option/xpl-dropdown-option.d.ts +3 -2
- package/dist/types/components/xpl-dropdown/xpl-dropdown.d.ts +11 -8
- package/dist/types/components/xpl-dynamic-table/xpl-dynamic-table.d.ts +1 -1
- package/dist/types/components/xpl-dynamic-table-cell/xpl-dynamic-table-cell.d.ts +1 -1
- package/dist/types/components/xpl-dynamic-table-row/xpl-dynamic-table-row.d.ts +1 -1
- package/dist/types/components/xpl-grid/xpl-grid.d.ts +1 -1
- package/dist/types/components/xpl-grid-item/xpl-grid-item.d.ts +1 -1
- package/dist/types/components/xpl-header-accordion/xpl-header-accordion.d.ts +1 -1
- package/dist/types/components/xpl-icon/xpl-icon.d.ts +1 -1
- package/dist/types/components/xpl-input/input.stories.d.ts +36 -7
- package/dist/types/components/xpl-input/xpl-input-color/xpl-input-color.d.ts +1 -1
- package/dist/types/components/xpl-input/xpl-input-date/xpl-input-date.d.ts +10 -3
- 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/phone-country-data.d.ts +13 -0
- package/dist/types/components/xpl-input/xpl-input-phone/phone-format.d.ts +5 -0
- package/dist/types/components/xpl-input/xpl-input-phone/xpl-input-phone.d.ts +48 -0
- 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 +12 -2
- package/dist/types/components/xpl-large-card/large-card.stories.d.ts +4 -0
- package/dist/types/components/xpl-large-card/xpl-large-card.d.ts +1 -1
- package/dist/types/components/xpl-list/xpl-list.d.ts +1 -1
- package/dist/types/components/xpl-main-nav/xpl-main-nav.d.ts +1 -1
- package/dist/types/components/xpl-modal/modal.stories.d.ts +4 -0
- package/dist/types/components/xpl-modal/xpl-modal.d.ts +1 -1
- package/dist/types/components/xpl-nav-item/xpl-nav-item.d.ts +1 -1
- package/dist/types/components/xpl-pagination/pagination.stories.d.ts +4 -0
- package/dist/types/components/xpl-pagination/xpl-pagination.d.ts +1 -1
- package/dist/types/components/xpl-panel/panel.stories.d.ts +20 -0
- package/dist/types/components/xpl-panel/xpl-panel.d.ts +5 -0
- package/dist/types/components/xpl-popover/xpl-popover.d.ts +1 -1
- package/dist/types/components/xpl-progress/xpl-progress.d.ts +1 -1
- package/dist/types/components/xpl-progress-bar/progress-bar.stories.d.ts +73 -0
- package/dist/types/components/xpl-progress-bar/xpl-progress-bar.d.ts +15 -0
- package/dist/types/components/xpl-radio/xpl-radio.d.ts +1 -1
- package/dist/types/components/xpl-secondary-nav/xpl-secondary-nav.d.ts +1 -1
- package/dist/types/components/xpl-select/xpl-select.d.ts +1 -1
- package/dist/types/components/xpl-side-nav/side-nav.stories.d.ts +80 -0
- package/dist/types/components/xpl-side-nav/xpl-side-nav-item/xpl-side-nav-item.d.ts +20 -0
- package/dist/types/components/xpl-side-nav/xpl-side-nav.d.ts +4 -0
- package/dist/types/components/xpl-skeleton/xpl-skeleton.d.ts +1 -1
- package/dist/types/components/xpl-slideout/xpl-slideout.d.ts +1 -1
- package/dist/types/components/xpl-tab/xpl-tab.d.ts +1 -1
- package/dist/types/components/xpl-tab-panel/xpl-tab-panel.d.ts +1 -1
- package/dist/types/components/xpl-table/xpl-table.d.ts +1 -1
- package/dist/types/components/xpl-table-header/xpl-table-header.d.ts +1 -1
- package/dist/types/components/xpl-table-header-cell/xpl-table-header-cell.d.ts +1 -1
- package/dist/types/components/xpl-tabs/xpl-tabs.d.ts +2 -2
- package/dist/types/components/xpl-tag/xpl-tag.d.ts +1 -1
- package/dist/types/components/xpl-toast/xpl-toast.d.ts +1 -1
- package/dist/types/components/xpl-toggle/xpl-toggle.d.ts +1 -1
- package/dist/types/components/xpl-toolbar/xpl-toolbar.d.ts +1 -1
- package/dist/types/components/xpl-tooltip/xpl-tooltip.d.ts +1 -1
- package/dist/types/components/xpl-utility-bar/xpl-utility-bar.d.ts +1 -1
- package/dist/types/components.d.ts +1219 -178
- package/dist/types/stencil-public-runtime.d.ts +23 -2
- package/dist/types/utils/layout-ancestors.d.ts +2 -0
- package/package.json +41 -27
- package/dist/apollo-core/p-1c2e4034.entry.js +0 -1
- package/dist/apollo-core/p-3b5f8989.entry.js +0 -1
- package/dist/apollo-core/p-576ce90f.entry.js +0 -1
- package/dist/apollo-core/p-5ec45742.entry.js +0 -1
- package/dist/apollo-core/p-77f0fd4a.entry.js +0 -1
- package/dist/apollo-core/p-7b7db57a.entry.js +0 -1
- package/dist/apollo-core/p-7c22b842.entry.js +0 -1
- package/dist/apollo-core/p-7d245bf0.entry.js +0 -1
- package/dist/apollo-core/p-812bb0e4.entry.js +0 -1
- package/dist/apollo-core/p-845eef0d.entry.js +0 -1
- package/dist/apollo-core/p-9853028c.entry.js +0 -1
- package/dist/apollo-core/p-9d65ece7.entry.js +0 -1
- package/dist/apollo-core/p-DhZas3eX.js +0 -2
- package/dist/apollo-core/p-be292555.entry.js +0 -1
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# xpl-input-phone
|
|
2
|
+
|
|
3
|
+
The Phone Input Field allows users to input properly formatted phone numbers. It supports two modes: **international** (country selector + dial code prefix) and **domestic** (single country, no selector). Used as a subcomponent of `xpl-input` when `type="phone"`. The value is always emitted in **E.164** format (e.g. `+14155551234`).
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
### International mode (default)
|
|
8
|
+
|
|
9
|
+
Use via the parent component for full international support with a country selector:
|
|
10
|
+
|
|
11
|
+
```html
|
|
12
|
+
<xpl-input type="phone" label="Phone number" name="phone"></xpl-input>
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
With preferred countries pinned to the top of the list:
|
|
16
|
+
|
|
17
|
+
```html
|
|
18
|
+
<xpl-input
|
|
19
|
+
type="phone"
|
|
20
|
+
label="Phone number"
|
|
21
|
+
name="phone"
|
|
22
|
+
preferred-countries='["US","CA","GB"]'
|
|
23
|
+
></xpl-input>
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### Domestic mode
|
|
27
|
+
|
|
28
|
+
Set `is-international="false"` to lock the input to a single country. The country selector trigger and dropdown are hidden, and no dial code is shown in the input. The emitted value is still E.164.
|
|
29
|
+
|
|
30
|
+
```html
|
|
31
|
+
<xpl-input
|
|
32
|
+
type="phone"
|
|
33
|
+
label="Phone number"
|
|
34
|
+
name="phone"
|
|
35
|
+
default-country="US"
|
|
36
|
+
is-international="false"
|
|
37
|
+
></xpl-input>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Pre-populating a value
|
|
41
|
+
|
|
42
|
+
Pass an E.164 string to `value`. The component parses it into the correct country and national number:
|
|
43
|
+
|
|
44
|
+
```html
|
|
45
|
+
<xpl-input type="phone" label="Phone" value="+14155551234"></xpl-input>
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Value format
|
|
49
|
+
|
|
50
|
+
- **value** / **valueChange**: E.164 string (e.g. `+14155551234`). You can set `value` to pre-fill; the component parses it into country and national number.
|
|
51
|
+
- **defaultCountry**: ISO 3166-1 alpha-2 code (e.g. `"US"`) used when value is empty. In domestic mode, this locks the country permanently.
|
|
52
|
+
- **preferredCountries**: Optional array of country codes to show at the top of the country list (international mode only).
|
|
53
|
+
- **isInternational**: When `true` (default), the full international UI is shown. When `false`, the component is a simple domestic phone input locked to `defaultCountry`.
|
|
54
|
+
|
|
55
|
+
## Design and behaviour
|
|
56
|
+
|
|
57
|
+
### Country selector (international mode)
|
|
58
|
+
|
|
59
|
+
- The **trigger** displays a country flag icon (`xpl-icon`) and a chevron-down icon.
|
|
60
|
+
- Clicking the trigger opens an `xpl-dropdown` panel containing a **type-ahead search** field and a scrollable list of countries. Each option shows its flag icon, name, and dial code.
|
|
61
|
+
- Search filters by country name, dial code, or ISO country code.
|
|
62
|
+
- When a country is selected, focus returns to the phone input and the cursor is positioned after the dial code.
|
|
63
|
+
- Countries sharing a dial code (e.g. US and Canada both use `+1`) are handled correctly: changing the country in the dropdown preserves the selection even when the dial code is the same.
|
|
64
|
+
|
|
65
|
+
### Domestic mode
|
|
66
|
+
|
|
67
|
+
No country selector is rendered. The input behaves as a standard phone field with country-specific formatting and validation based on `defaultCountry`. The dial code is not displayed in the input, but the emitted value is still E.164.
|
|
68
|
+
|
|
69
|
+
### Input handling
|
|
70
|
+
|
|
71
|
+
- **Sanitization**: Non-numeric characters are automatically stripped on every keystroke, paste, or autofill. The input only accepts digits.
|
|
72
|
+
- **Max length**: Enforced per country based on the national number format (e.g. 10 digits for US/CA, 9 for AU/FR).
|
|
73
|
+
- **Cursor protection** (international mode): The dial code prefix (e.g. `+1 `) is read-only within the input. Users cannot backspace into it, click before it, or use Home/ArrowLeft to move the cursor before it.
|
|
74
|
+
- **Clear button**: A clear (`x-circle`) button appears when there is input and the field is not disabled or readonly.
|
|
75
|
+
|
|
76
|
+
### Phone formatting
|
|
77
|
+
|
|
78
|
+
The national number is formatted as the user types (e.g. US: `415 555 1234`, FR: `6 12 34 56 78`). The stored and emitted value remains E.164. Cursor position is intelligently preserved during formatting so it does not jump.
|
|
79
|
+
|
|
80
|
+
Countries with custom formatters: US/CA, GB, AU, DE/AT/CH, FR, BR, MX, JP, CN, IN, KR. All other countries use a generic grouping format.
|
|
81
|
+
|
|
82
|
+
### Validation and errors
|
|
83
|
+
|
|
84
|
+
- When `required` is set, the component emits a `hasErrorStateChanged` event with `"required"` if the national number is empty on change.
|
|
85
|
+
- The parent `xpl-input` can pass an `error` prop for external error messages (e.g. server-side validation).
|
|
86
|
+
- The component applies `xpl-input-phone--error` to the host when an internal error state is active.
|
|
87
|
+
|
|
88
|
+
### Accessibility
|
|
89
|
+
|
|
90
|
+
- The country selector trigger has `aria-haspopup="listbox"` and `aria-expanded`.
|
|
91
|
+
- The country selector trigger has `aria-label="Select country"` for screen-reader clarity.
|
|
92
|
+
- The dropdown panel has `aria-label="Country"`.
|
|
93
|
+
- The clear button has `aria-label="Clear phone number"`.
|
|
94
|
+
- The input uses `inputmode="numeric"` to hint a numeric keyboard on mobile and `autocomplete="tel-national"` (international) or `autocomplete="tel"` (domestic).
|
|
95
|
+
- The input sets `aria-invalid="true"` when in an error state (e.g. required field left empty).
|
|
96
|
+
- Decorative icons (flag, chevron) use `aria-hidden="true"` to avoid screen reader noise.
|
|
97
|
+
|
|
98
|
+
## Supported countries
|
|
99
|
+
|
|
100
|
+
28 countries are currently supported. See `phone-country-data.ts` for the full list. Countries with custom number formatting are noted above. To add a new country, add an entry to the `PHONE_COUNTRIES` array and optionally add a formatter in `phone-format.ts`.
|
|
101
|
+
|
|
102
|
+
<!-- Auto Generated Below -->
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
## Properties
|
|
106
|
+
|
|
107
|
+
| Property | Attribute | Description | Type | Default |
|
|
108
|
+
| -------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------- | ----------- |
|
|
109
|
+
| `defaultCountry` | `default-country` | Default country code (ISO 3166-1 alpha-2) when value is empty, e.g. "US". | `string` | `'US'` |
|
|
110
|
+
| `disabled` | `disabled` | Whether the field is disabled | `boolean` | `undefined` |
|
|
111
|
+
| `inputId` | `input-id` | The `inputId` is used to associate the input with a label. | `string` | `undefined` |
|
|
112
|
+
| `isInternational` | `is-international` | Enables international mode with a country selector and dial code prefix. When false, the input is locked to `defaultCountry` with no country picker and no dial code shown in the display value. Emitted value is still E.164. | `boolean` | `true` |
|
|
113
|
+
| `name` | `name` | Most inputs are used in forms, and should have a `name` associated with the input for handling form data. | `string` | `undefined` |
|
|
114
|
+
| `placeholder` | `placeholder` | Placeholder text that appears when the field has no value | `string` | `undefined` |
|
|
115
|
+
| `preferredCountries` | -- | Country codes to show at the top of the country list, e.g. ["US", "CA", "GB"]. | `string[]` | `undefined` |
|
|
116
|
+
| `readonly` | `readonly` | Whether the input is editable | `boolean` | `undefined` |
|
|
117
|
+
| `required` | `required` | Whether the input is required | `boolean` | `undefined` |
|
|
118
|
+
| `value` | `value` | Including a `value` will pre-populate the input (E.164 format, e.g. +14155551234). | `string` | `undefined` |
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
## Events
|
|
122
|
+
|
|
123
|
+
| Event | Description | Type |
|
|
124
|
+
| ---------------------- | --------------------------------------------------------------- | --------------------- |
|
|
125
|
+
| `hasErrorStateChanged` | Event that is emitted when the hasErrorState state changes. | `CustomEvent<string>` |
|
|
126
|
+
| `valueChange` | Event that emits the current value of the input (E.164 format). | `CustomEvent<string>` |
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
## Dependencies
|
|
130
|
+
|
|
131
|
+
### Used by
|
|
132
|
+
|
|
133
|
+
- [xpl-input](..)
|
|
134
|
+
|
|
135
|
+
### Depends on
|
|
136
|
+
|
|
137
|
+
- [xpl-icon](../../xpl-icon)
|
|
138
|
+
- [xpl-dropdown](../../xpl-dropdown)
|
|
139
|
+
- [xpl-input](..)
|
|
140
|
+
|
|
141
|
+
### Graph
|
|
142
|
+
```mermaid
|
|
143
|
+
graph TD;
|
|
144
|
+
xpl-input-phone --> xpl-icon
|
|
145
|
+
xpl-input-phone --> xpl-dropdown
|
|
146
|
+
xpl-input-phone --> xpl-input
|
|
147
|
+
xpl-dropdown --> xpl-dropdown-group
|
|
148
|
+
xpl-dropdown --> xpl-dropdown-option
|
|
149
|
+
xpl-dropdown-group --> xpl-dropdown-group
|
|
150
|
+
xpl-dropdown-group --> xpl-dropdown-option
|
|
151
|
+
xpl-dropdown-group --> xpl-dropdown-heading
|
|
152
|
+
xpl-dropdown-option --> xpl-icon
|
|
153
|
+
xpl-input --> xpl-input-phone
|
|
154
|
+
xpl-input-file --> xpl-icon
|
|
155
|
+
xpl-input-color --> xpl-popover
|
|
156
|
+
xpl-input-color --> xpl-icon
|
|
157
|
+
xpl-input-color --> xpl-input
|
|
158
|
+
xpl-input-date --> xpl-icon
|
|
159
|
+
xpl-input-time --> xpl-input
|
|
160
|
+
xpl-input-time --> xpl-icon
|
|
161
|
+
xpl-input-time --> xpl-dropdown
|
|
162
|
+
style xpl-input-phone fill:#f9f,stroke:#333,stroke-width:4px
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
----------------------------------------------
|
|
166
|
+
|
|
167
|
+
*Built with [StencilJS](https://stenciljs.com/)*
|
|
@@ -56,11 +56,15 @@ graph TD;
|
|
|
56
56
|
xpl-input-color --> xpl-icon
|
|
57
57
|
xpl-input-color --> xpl-input
|
|
58
58
|
xpl-input-date --> xpl-icon
|
|
59
|
+
xpl-input-phone --> xpl-icon
|
|
60
|
+
xpl-input-phone --> xpl-dropdown
|
|
61
|
+
xpl-input-phone --> xpl-input
|
|
59
62
|
xpl-dropdown --> xpl-dropdown-group
|
|
60
63
|
xpl-dropdown --> xpl-dropdown-option
|
|
61
64
|
xpl-dropdown-group --> xpl-dropdown-group
|
|
62
65
|
xpl-dropdown-group --> xpl-dropdown-option
|
|
63
66
|
xpl-dropdown-group --> xpl-dropdown-heading
|
|
67
|
+
xpl-dropdown-option --> xpl-icon
|
|
64
68
|
style xpl-input-time fill:#f9f,stroke:#333,stroke-width:4px
|
|
65
69
|
```
|
|
66
70
|
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# xpl-modal
|
|
2
2
|
|
|
3
|
+
Modals are dialogs that focus the user’s attention exclusively on one task or piece of information via a window layer above the current content.
|
|
3
4
|
|
|
5
|
+
Modals are disruptive and should only be used when disrupting the user’s flow is desired.
|
|
4
6
|
|
|
5
7
|
<!-- Auto Generated Below -->
|
|
6
8
|
|
|
@@ -47,6 +49,7 @@ graph TD;
|
|
|
47
49
|
xpl-modal --> xpl-backdrop
|
|
48
50
|
xpl-modal --> xpl-icon
|
|
49
51
|
xpl-modal --> xpl-button
|
|
52
|
+
xpl-button --> xpl-icon
|
|
50
53
|
style xpl-modal fill:#f9f,stroke:#333,stroke-width:4px
|
|
51
54
|
```
|
|
52
55
|
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# xpl-pagination
|
|
2
2
|
|
|
3
|
+
Pagination bar allows users to navigate pages of content.
|
|
4
|
+
|
|
3
5
|
> **Note:** This component is in beta. Use with caution and expect updates before the full release.
|
|
4
6
|
|
|
5
7
|
<!-- Auto Generated Below -->
|
|
@@ -44,6 +46,7 @@ graph TD;
|
|
|
44
46
|
xpl-dropdown-group --> xpl-dropdown-group
|
|
45
47
|
xpl-dropdown-group --> xpl-dropdown-option
|
|
46
48
|
xpl-dropdown-group --> xpl-dropdown-heading
|
|
49
|
+
xpl-dropdown-option --> xpl-icon
|
|
47
50
|
style xpl-pagination fill:#f9f,stroke:#333,stroke-width:4px
|
|
48
51
|
```
|
|
49
52
|
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# xpl-panel
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
XPL-Panel is a stateless, composable container component that defines a section on a page and can house any type of content. Panels are not dismissible and may contain a top accent in 5 standard accent colors.
|
|
6
|
+
|
|
7
|
+
## Usage
|
|
8
|
+
|
|
9
|
+
### Basic panel (no accent)
|
|
10
|
+
|
|
11
|
+
```html
|
|
12
|
+
<xpl-panel>
|
|
13
|
+
<p>Any content goes here.</p>
|
|
14
|
+
</xpl-panel>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
### Panel with accent
|
|
18
|
+
|
|
19
|
+
```html
|
|
20
|
+
<xpl-panel accent="primary">
|
|
21
|
+
<p>Content with a primary accent bar.</p>
|
|
22
|
+
</xpl-panel>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Available accent values: `none` (default), `primary`, `secondary`, `positive`,
|
|
26
|
+
`negative`, `highlight`.
|
|
27
|
+
|
|
28
|
+
### Padding density
|
|
29
|
+
|
|
30
|
+
```html
|
|
31
|
+
<xpl-panel padding="tight">
|
|
32
|
+
<p>Tighter padding on all breakpoints.</p>
|
|
33
|
+
</xpl-panel>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Available padding values: `default`, `tight`, `loose`. Padding is responsive
|
|
37
|
+
and automatically scales down at tablet (768 px) and mobile (480 px) breakpoints.
|
|
38
|
+
|
|
39
|
+
### Composing with other components
|
|
40
|
+
|
|
41
|
+
```html
|
|
42
|
+
<xpl-panel accent="secondary" padding="loose">
|
|
43
|
+
<xpl-accordion header="Details">
|
|
44
|
+
<div slot="content">Accordion inside a panel.</div>
|
|
45
|
+
</xpl-accordion>
|
|
46
|
+
</xpl-panel>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Dark mode
|
|
50
|
+
|
|
51
|
+
Wrap with an ancestor that has the `dark` class — the panel automatically
|
|
52
|
+
adapts its background, border, and accent colors.
|
|
53
|
+
|
|
54
|
+
## Design
|
|
55
|
+
|
|
56
|
+
- [Figma: XPL-Panel](https://www.figma.com/design/MjjYek73MFnHmVNdm45Sd1/Apollo-Web?node-id=1546-136120&p=f&t=SMeY3LnfDOiNmx1p-11)
|
|
57
|
+
|
|
58
|
+
<!-- Auto Generated Below -->
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
## Overview
|
|
62
|
+
|
|
63
|
+
A stateless container that defines a section on a page and can house any
|
|
64
|
+
type of content. Panels are not dismissible and may contain a top accent.
|
|
65
|
+
|
|
66
|
+
## Properties
|
|
67
|
+
|
|
68
|
+
| Property | Attribute | Description | Type | Default |
|
|
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 | `"highlight" \| "negative" \| "none" \| "positive" \| "primary" \| "secondary"` | `'none'` |
|
|
71
|
+
| `padding` | `padding` | Padding density applied to the content area. Responsive: scales down at tablet and mobile breakpoints. - `default` – 24 px desktop / 16 px tablet+mobile - `tight` – 16 px desktop / 8 px tablet+mobile - `loose` – 40 px desktop / 32 px tablet / 24 px mobile | `"default" \| "loose" \| "tight"` | `'default'` |
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
## Slots
|
|
75
|
+
|
|
76
|
+
| Slot | Description |
|
|
77
|
+
| ---- | ------------------------------------------------------------------------------------------------------------------ |
|
|
78
|
+
| | Default slot for panel content. Compose other Apollo components within the slot or build your own local component. |
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
----------------------------------------------
|
|
82
|
+
|
|
83
|
+
*Built with [StencilJS](https://stenciljs.com/)*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# xpl-popover
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A popover is an overlay that pops up over all other layers and is triggered by a click or tap, and dismissed by clicking outside the popover or a dismiss icon. Popovers can contain additional actions and allow those actions to be triggered.
|
|
4
4
|
|
|
5
5
|
<!-- Auto Generated Below -->
|
|
6
6
|
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# xpl-progress-bar
|
|
2
|
+
|
|
3
|
+
The `xpl-progress-bar` component displays the progress of an operation, such as file uploads, form completion, or loading states. It supports multiple visual variants including default, success, error, and indeterminate states, with optional label and helper text.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
### Basic progress bar
|
|
8
|
+
|
|
9
|
+
```html
|
|
10
|
+
<xpl-progress-bar label="Uploading..." value="45"></xpl-progress-bar>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### With helper text
|
|
14
|
+
|
|
15
|
+
```html
|
|
16
|
+
<xpl-progress-bar
|
|
17
|
+
label="Uploading file..."
|
|
18
|
+
value="65"
|
|
19
|
+
helper-text="2.4 MB of 5 MB">
|
|
20
|
+
</xpl-progress-bar>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Error state
|
|
24
|
+
|
|
25
|
+
```html
|
|
26
|
+
<xpl-progress-bar
|
|
27
|
+
label="Upload failed"
|
|
28
|
+
value="30"
|
|
29
|
+
variant="error"
|
|
30
|
+
helper-text="Network error. Please check your connection.">
|
|
31
|
+
</xpl-progress-bar>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Indeterminate loading
|
|
35
|
+
|
|
36
|
+
```html
|
|
37
|
+
<xpl-progress-bar label="Processing..." variant="indeterminate"></xpl-progress-bar>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Small size
|
|
41
|
+
|
|
42
|
+
```html
|
|
43
|
+
<xpl-progress-bar value="60" size="sm"></xpl-progress-bar>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Custom max value
|
|
47
|
+
|
|
48
|
+
```html
|
|
49
|
+
<xpl-progress-bar value="75" max="150" label="75 of 150 items"></xpl-progress-bar>
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Variants
|
|
53
|
+
|
|
54
|
+
| Variant | Description |
|
|
55
|
+
|---------|-------------|
|
|
56
|
+
| `default` | Standard progress bar with accent color fill. Shows a checkmark icon when value reaches max. |
|
|
57
|
+
| `success` | Explicit success state with positive color. Shows a checkmark icon. |
|
|
58
|
+
| `error` | Error state with negative color. Shows an error (x-mark) icon. Helper text is recommended for this state. |
|
|
59
|
+
| `indeterminate` | Used when the progress duration is unknown. Displays an animated sliding bar instead of a fill percentage. |
|
|
60
|
+
|
|
61
|
+
## Sizes
|
|
62
|
+
|
|
63
|
+
- `lg` (default): 6px height
|
|
64
|
+
- `sm`: 4px height
|
|
65
|
+
|
|
66
|
+
## Icon Mapping
|
|
67
|
+
|
|
68
|
+
The component automatically renders status icons based on the variant or completion state:
|
|
69
|
+
|
|
70
|
+
| State | xpl-icon name |
|
|
71
|
+
|-------|---------------|
|
|
72
|
+
| Complete (default variant when value equals max) | `circle-check-1` |
|
|
73
|
+
| Success variant | `circle-check-1` |
|
|
74
|
+
| Error variant | `circle-xmark-1` |
|
|
75
|
+
|
|
76
|
+
## Design Tokens
|
|
77
|
+
|
|
78
|
+
The following Apollo Foundation tokens are used by this component:
|
|
79
|
+
|
|
80
|
+
### Background Colors (Fill)
|
|
81
|
+
- `--xpl-background-accent-default` - Default variant fill
|
|
82
|
+
- `--xpl-background-accent-positive-bold` - Success/complete fill
|
|
83
|
+
- `--xpl-background-accent-negative-bold` - Error fill
|
|
84
|
+
- `--xpl-background-accent-neutral` - Track background
|
|
85
|
+
|
|
86
|
+
### Icon Colors
|
|
87
|
+
- `--xpl-icon-positive` - Success/complete icon
|
|
88
|
+
- `--xpl-icon-negative` - Error icon
|
|
89
|
+
|
|
90
|
+
### Text Colors
|
|
91
|
+
- `--xpl-text-default` - Label text
|
|
92
|
+
- `--xpl-text-subdued` - Helper text
|
|
93
|
+
- `--xpl-text-negative` - Error helper text
|
|
94
|
+
|
|
95
|
+
### Typography
|
|
96
|
+
- `--xpl-font-size-callout` - Label font size
|
|
97
|
+
- `--xpl-font-size-caption` - Helper text font size
|
|
98
|
+
- `--xpl-font-weight-normal` - Label and helper font weight
|
|
99
|
+
|
|
100
|
+
### Spacing & Sizing
|
|
101
|
+
- `--xpl-space-8` - Gap between elements
|
|
102
|
+
- `--xpl-size-025` (4px) - Small bar height
|
|
103
|
+
- `--xpl-size-0375` (6px) - Large bar height
|
|
104
|
+
- `--xpl-border-radius-full` - Bar border radius
|
|
105
|
+
|
|
106
|
+
## Accessibility
|
|
107
|
+
|
|
108
|
+
- **Determinate variants** (default, success, error) use the native HTML `<progress>` element, which provides:
|
|
109
|
+
- Native `role="progressbar"` semantics
|
|
110
|
+
- Automatic `aria-valuenow`, `aria-valuemin`, `aria-valuemax` handling
|
|
111
|
+
- Native value/max API with built-in clamping
|
|
112
|
+
- **Indeterminate variant** uses a custom `<div role="progressbar">` since native `<progress>` indeterminate state cannot be styled cross-browser
|
|
113
|
+
- The `aria-label` is set from the `label` prop, or falls back to `'Progress'` when no label is provided
|
|
114
|
+
|
|
115
|
+
<!-- Auto Generated Below -->
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
## Properties
|
|
119
|
+
|
|
120
|
+
| Property | Attribute | Description | Type | Default |
|
|
121
|
+
| ------------ | ------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------ | ----------- |
|
|
122
|
+
| `helperText` | `helper-text` | The helper text displayed below the progress bar (recommended for error state) | `string` | `undefined` |
|
|
123
|
+
| `label` | `label` | The label text displayed above the progress bar | `string` | `undefined` |
|
|
124
|
+
| `max` | `max` | The maximum value of the progress (mirrors native <progress> max attribute) | `number` | `100` |
|
|
125
|
+
| `size` | `size` | The size of the progress bar height: sm = 4px, lg = 6px | `"lg" \| "sm"` | `'lg'` |
|
|
126
|
+
| `value` | `value` | The current value of the progress (mirrors native <progress> value attribute) | `number` | `0` |
|
|
127
|
+
| `variant` | `variant` | The visual variant of the progress bar | `"default" \| "error" \| "indeterminate" \| "success"` | `'default'` |
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
## Dependencies
|
|
131
|
+
|
|
132
|
+
### Depends on
|
|
133
|
+
|
|
134
|
+
- [xpl-icon](../xpl-icon)
|
|
135
|
+
|
|
136
|
+
### Graph
|
|
137
|
+
```mermaid
|
|
138
|
+
graph TD;
|
|
139
|
+
xpl-progress-bar --> xpl-icon
|
|
140
|
+
style xpl-progress-bar fill:#f9f,stroke:#333,stroke-width:4px
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
----------------------------------------------
|
|
144
|
+
|
|
145
|
+
*Built with [StencilJS](https://stenciljs.com/)*
|
|
@@ -78,6 +78,7 @@ graph TD;
|
|
|
78
78
|
xpl-dropdown-group --> xpl-dropdown-group
|
|
79
79
|
xpl-dropdown-group --> xpl-dropdown-option
|
|
80
80
|
xpl-dropdown-group --> xpl-dropdown-heading
|
|
81
|
+
xpl-dropdown-option --> xpl-icon
|
|
81
82
|
xpl-pagination --> xpl-select
|
|
82
83
|
xpl-tabs --> xpl-select
|
|
83
84
|
style xpl-select fill:#f9f,stroke:#333,stroke-width:4px
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# xpl-side-nav
|
|
2
|
+
|
|
3
|
+
Slot-based sidebar for app navigation: scrollable main area and a fixed footer. Compose with [`xpl-side-nav-item`](./xpl-side-nav-item) for rows in the section and footer.
|
|
4
|
+
|
|
5
|
+
## Slots
|
|
6
|
+
|
|
7
|
+
| Slot | Description |
|
|
8
|
+
| ---- | ----------- |
|
|
9
|
+
| `section` | Primary navigation. Place `xpl-side-nav-item` elements (or wrappers) inside this slot; layout uses internal section markup. |
|
|
10
|
+
| `nav-footer` | Footer actions (e.g. Help, Logout). Same item component; typically smaller label styling via CSS. |
|
|
11
|
+
|
|
12
|
+
## Usage
|
|
13
|
+
|
|
14
|
+
Use the **`label`** prop for a unique accessible name on the `<nav>` when multiple landmarks exist on the page (see **Multi-Navigation Layouts** below).
|
|
15
|
+
|
|
16
|
+
```html
|
|
17
|
+
<xpl-side-nav label="Main navigation">
|
|
18
|
+
<div slot="section">
|
|
19
|
+
<xpl-side-nav-item label="Dashboard" icon="house-4" selected></xpl-side-nav-item>
|
|
20
|
+
<xpl-side-nav-item has-children label="Settings" expanded>
|
|
21
|
+
<xpl-side-nav-item label="Profile"></xpl-side-nav-item>
|
|
22
|
+
</xpl-side-nav-item>
|
|
23
|
+
</div>
|
|
24
|
+
<div slot="nav-footer">
|
|
25
|
+
<xpl-side-nav-item label="Help" icon="headset"></xpl-side-nav-item>
|
|
26
|
+
</div>
|
|
27
|
+
</xpl-side-nav>
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**Link rows:** use `xpl-side-nav-item` with `link` and an anchor in the default slot — see [xpl-side-nav-item](./xpl-side-nav-item) **Link mode**.
|
|
31
|
+
|
|
32
|
+
### Multi-Navigation Layouts (Accessibility)
|
|
33
|
+
|
|
34
|
+
When multiple navigation landmarks exist on a page (e.g., side nav, top nav, breadcrumbs), use the `label` prop to provide a unique accessible name for each `<nav>` element. This helps screen reader users distinguish between them.
|
|
35
|
+
|
|
36
|
+
```html
|
|
37
|
+
<!-- Main side navigation -->
|
|
38
|
+
<xpl-side-nav label="Main navigation">
|
|
39
|
+
...
|
|
40
|
+
</xpl-side-nav>
|
|
41
|
+
|
|
42
|
+
<!-- Top navigation (different component) -->
|
|
43
|
+
<xpl-top-navigation label="User menu">
|
|
44
|
+
...
|
|
45
|
+
</xpl-top-navigation>
|
|
46
|
+
|
|
47
|
+
<!-- Breadcrumbs (different component) -->
|
|
48
|
+
<xpl-breadcrumbs label="Breadcrumb">
|
|
49
|
+
...
|
|
50
|
+
</xpl-breadcrumbs>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**WCAG Note:** When a page has multiple `<nav>` landmarks, each should have a unique accessible name via `aria-label`.
|
|
54
|
+
|
|
55
|
+
## Related components
|
|
56
|
+
|
|
57
|
+
- [xpl-side-nav-item](../xpl-side-nav-item) — Navigation rows (leaf, expandable, or link) for section and footer.
|
|
58
|
+
|
|
59
|
+
<!-- Auto Generated Below -->
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
## Properties
|
|
63
|
+
|
|
64
|
+
| Property | Attribute | Description | Type | Default |
|
|
65
|
+
| -------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ----------- |
|
|
66
|
+
| `label` | `label` | Accessible label for the navigation landmark. Maps to `aria-label` on the `<nav>` element. Recommended when multiple navigation landmarks exist on a page (e.g., side nav + top nav + breadcrumbs) to help screen readers distinguish them. | `string` | `undefined` |
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
----------------------------------------------
|
|
70
|
+
|
|
71
|
+
*Built with [StencilJS](https://stenciljs.com/)*
|