@purpur/library 9.10.1 → 10.0.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/CHANGELOG.json +106 -0
- package/CHANGELOG.md +44 -1
- package/dist/LICENSE.txt +234 -179
- package/dist/{RichText-IejAKqm2.js → RichText-B865Qkzj.js} +2 -2
- package/dist/{RichText-IejAKqm2.js.map → RichText-B865Qkzj.js.map} +1 -1
- package/dist/{RichText-2_z57EYi.mjs → RichText-CPkBwXNI.mjs} +2 -2
- package/dist/{RichText-2_z57EYi.mjs.map → RichText-CPkBwXNI.mjs.map} +1 -1
- package/dist/accordion-aEZas0k1.mjs +122 -0
- package/dist/accordion-aEZas0k1.mjs.map +1 -0
- package/dist/accordion-zwsF1oUj.js +2 -0
- package/dist/accordion-zwsF1oUj.js.map +1 -0
- package/dist/accordion.cjs.js +1 -1
- package/dist/accordion.es.js +1 -1
- package/dist/button-C5CYysw5.js +2 -0
- package/dist/button-C5CYysw5.js.map +1 -0
- package/dist/button-mHw_J7JU.mjs +106 -0
- package/dist/button-mHw_J7JU.mjs.map +1 -0
- package/dist/button.cjs.js +1 -1
- package/dist/button.es.js +1 -1
- package/dist/{calendar-CTWhxuS4.mjs → calendar-DTL_g0ue.mjs} +4 -14
- package/dist/{calendar-CTWhxuS4.mjs.map → calendar-DTL_g0ue.mjs.map} +1 -1
- package/dist/{calendar-Cwzqytai.js → calendar-DVOrK53J.js} +2 -2
- package/dist/{calendar-Cwzqytai.js.map → calendar-DVOrK53J.js.map} +1 -1
- package/dist/calendar.cjs.js +1 -1
- package/dist/calendar.es.js +1 -1
- package/dist/{card-t2ZkZ82G.mjs → card-C0yhMN5d.mjs} +3 -3
- package/dist/card-C0yhMN5d.mjs.map +1 -0
- package/dist/{card-pdsBEJif.js → card-CIlY38WI.js} +2 -2
- package/dist/card-CIlY38WI.js.map +1 -0
- package/dist/card.cjs.js +1 -1
- package/dist/card.es.js +1 -1
- package/dist/{carousel-DiKGSL-7.mjs → carousel-Dq9yzk_-.mjs} +2 -2
- package/dist/{carousel-DiKGSL-7.mjs.map → carousel-Dq9yzk_-.mjs.map} +1 -1
- package/dist/{carousel-Dz_bUGo4.js → carousel-j-s6M1hu.js} +2 -2
- package/dist/{carousel-Dz_bUGo4.js.map → carousel-j-s6M1hu.js.map} +1 -1
- package/dist/carousel.cjs.js +1 -1
- package/dist/carousel.es.js +1 -1
- package/dist/{chat-field-B2jmpVNr.js → chat-field-CLAjIHlM.js} +2 -2
- package/dist/{chat-field-B2jmpVNr.js.map → chat-field-CLAjIHlM.js.map} +1 -1
- package/dist/{chat-field-8cKqYcKi.mjs → chat-field-nxFRXoQx.mjs} +2 -2
- package/dist/{chat-field-8cKqYcKi.mjs.map → chat-field-nxFRXoQx.mjs.map} +1 -1
- package/dist/chat-field.cjs.js +1 -1
- package/dist/chat-field.es.js +1 -1
- package/dist/{chip-group-B775zvKD.js → chip-group-BLuG0MC6.js} +2 -2
- package/dist/{chip-group-B775zvKD.js.map → chip-group-BLuG0MC6.js.map} +1 -1
- package/dist/{chip-group-xuOe7nL3.mjs → chip-group-Bo4kJ8Vq.mjs} +2 -2
- package/dist/{chip-group-xuOe7nL3.mjs.map → chip-group-Bo4kJ8Vq.mjs.map} +1 -1
- package/dist/chip-group.cjs.js +1 -1
- package/dist/chip-group.es.js +1 -1
- package/dist/color-dot-BEE5rKco.js.map +1 -1
- package/dist/color-dot-Dz9yzVX3.mjs.map +1 -1
- package/dist/{comparison-table-N5G3k2kr.js → comparison-table-CRWRijfG.js} +2 -2
- package/dist/{comparison-table-N5G3k2kr.js.map → comparison-table-CRWRijfG.js.map} +1 -1
- package/dist/{comparison-table-CmtSOUfK.mjs → comparison-table-DYaRaP9Z.mjs} +3 -3
- package/dist/{comparison-table-CmtSOUfK.mjs.map → comparison-table-DYaRaP9Z.mjs.map} +1 -1
- package/dist/comparison-table.cjs.js +1 -1
- package/dist/comparison-table.es.js +1 -1
- package/dist/components/accordion/src/accordion-item.d.ts +5 -5
- package/dist/components/accordion/src/accordion-item.d.ts.map +1 -1
- package/dist/components/accordion/src/accordion.d.ts +2 -6
- package/dist/components/accordion/src/accordion.d.ts.map +1 -1
- package/dist/components/accordion/src/accordion.visual.fixtures.d.ts.map +1 -1
- package/dist/components/alert-badge/src/alert-badge.d.ts +1 -1
- package/dist/components/badge/src/badge.d.ts +1 -1
- package/dist/components/button/src/button.d.ts +3 -4
- package/dist/components/button/src/button.d.ts.map +1 -1
- package/dist/components/button/src/button.visual.fixtures.d.ts +1 -1
- package/dist/components/calendar/src/calendar.d.ts.map +1 -1
- package/dist/components/card/src/card-badge.d.ts +1 -1
- package/dist/components/card/src/card-content-container.d.ts +1 -1
- package/dist/components/card/src/card-content.d.ts +1 -1
- package/dist/components/card/src/card-heading.d.ts +5 -5
- package/dist/components/card/src/card-heading.d.ts.map +1 -1
- package/dist/components/card/src/card-root.d.ts +1 -1
- package/dist/components/color-dot/src/color-dot.d.ts +2 -1
- package/dist/components/color-dot/src/color-dot.d.ts.map +1 -1
- package/dist/components/comparison-table/src/components/OptionCard/option-card.d.ts +1 -1
- package/dist/components/content-block/src/content-block-group.d.ts +1 -1
- package/dist/components/content-block/src/content-block.d.ts +2 -2
- package/dist/components/content-block/src/content-block.d.ts.map +1 -1
- package/dist/components/counter-badge/src/counter-badge.d.ts +1 -1
- package/dist/components/country-flag-icon/src/all-country-flag-assets.d.ts +0 -1
- package/dist/components/country-flag-icon/src/all-country-flag-assets.d.ts.map +1 -1
- package/dist/components/country-flag-icon/src/country-flag-icon.d.ts +1 -1
- package/dist/components/cta-link/src/cta-link.d.ts +10 -10
- package/dist/components/date-field/src/date-field.d.ts +1 -1
- package/dist/components/date-picker/src/date-picker.d.ts +1 -1
- package/dist/components/date-range-field/src/date-range-field.d.ts +2 -2
- package/dist/components/date-range-field/src/date-range-field.d.ts.map +1 -1
- package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts +2 -2
- package/dist/components/dismissable-chip-group/src/dismissable-chip-group.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer-container.d.ts +1 -1
- package/dist/components/drawer/src/drawer-container.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer-frame.d.ts +2 -2
- package/dist/components/drawer/src/drawer-handle.d.ts +1 -1
- package/dist/components/drawer/src/drawer-header.d.ts +1 -1
- package/dist/components/drawer/src/drawer-scroll-area.d.ts +1 -1
- package/dist/components/drawer/src/drawer-trigger.d.ts +1 -1
- package/dist/components/drawer/src/drawer.context.d.ts +2 -0
- package/dist/components/drawer/src/drawer.context.d.ts.map +1 -1
- package/dist/components/drawer/src/drawer.d.ts +2 -0
- package/dist/components/drawer/src/drawer.d.ts.map +1 -1
- package/dist/components/dropdown/src/dropdown-combobox.d.ts +2 -34
- package/dist/components/dropdown/src/dropdown-combobox.d.ts.map +1 -1
- package/dist/components/dropdown/src/dropdown-select.d.ts +2 -34
- package/dist/components/dropdown/src/dropdown-select.d.ts.map +1 -1
- package/dist/components/dropdown/src/dropdown-shared.d.ts +2 -1
- package/dist/components/dropdown/src/dropdown-shared.d.ts.map +1 -1
- package/dist/components/dropdown/src/dropdown.types.d.ts +24 -13
- package/dist/components/dropdown/src/dropdown.types.d.ts.map +1 -1
- package/dist/components/dropdown/src/useDropdown.d.ts +1 -1
- package/dist/components/dropdown/src/useDropdown.d.ts.map +1 -1
- package/dist/components/dropdown/src/useDropdownFilter.d.ts.map +1 -1
- package/dist/components/dropdown/src/useDropdownInput.d.ts.map +1 -1
- package/dist/components/field-helper-text/src/field-helper-text.d.ts +1 -1
- package/dist/components/file-upload/src/file-upload-button.d.ts +22 -0
- package/dist/components/file-upload/src/file-upload-button.d.ts.map +1 -0
- package/dist/components/file-upload/src/file-upload-drag-and-drop.d.ts +10 -0
- package/dist/components/file-upload/src/file-upload-drag-and-drop.d.ts.map +1 -0
- package/dist/components/file-upload/src/file-upload-file-name-label.d.ts +8 -0
- package/dist/components/file-upload/src/file-upload-file-name-label.d.ts.map +1 -0
- package/dist/components/file-upload/src/file-upload-icon.d.ts +8 -0
- package/dist/components/file-upload/src/file-upload-icon.d.ts.map +1 -0
- package/dist/components/file-upload/src/file-upload-types.d.ts +82 -0
- package/dist/components/file-upload/src/file-upload-types.d.ts.map +1 -0
- package/dist/components/file-upload/src/file-upload-utils.d.ts +7 -0
- package/dist/components/file-upload/src/file-upload-utils.d.ts.map +1 -0
- package/dist/components/file-upload/src/file-upload.d.ts +6 -0
- package/dist/components/file-upload/src/file-upload.d.ts.map +1 -0
- package/dist/components/file-upload/src/file-upload.visual.fixtures.d.ts +14 -0
- package/dist/components/file-upload/src/file-upload.visual.fixtures.d.ts.map +1 -0
- package/dist/components/footer/src/footer-social-link.d.ts +3 -3
- package/dist/components/heading/src/heading.d.ts +22 -4
- package/dist/components/heading/src/heading.d.ts.map +1 -1
- package/dist/components/hero-banner/src/hero-banner-types.d.ts +4 -4
- package/dist/components/hero-banner/src/hero-banner-types.d.ts.map +1 -1
- package/dist/components/hero-banner/src/hero-banner.d.ts +1 -1
- package/dist/components/hero-banner/src/hero-banner.d.ts.map +1 -1
- package/dist/components/icon/src/icon.d.ts +2 -2
- package/dist/components/illustrative-icon/src/static-illustrative-icon.d.ts +2 -2
- package/dist/components/label/src/label.d.ts +1 -1
- package/dist/components/listbox/src/listbox.d.ts +1 -1
- package/dist/components/loading/src/loading-illustrative.d.ts +1 -1
- package/dist/components/logo/src/logo.types.d.ts +1 -1
- package/dist/components/modal/src/modal-content.d.ts +1 -1
- package/dist/components/modal/src/modal-content.d.ts.map +1 -1
- package/dist/components/notification-banner/src/notification-banner.d.ts +3 -3
- package/dist/components/notification-banner/src/notification-banner.d.ts.map +1 -1
- package/dist/components/pagination/src/pagination-page-size-selector.d.ts +2 -2
- package/dist/components/pagination/src/pagination-page-trigger.d.ts +1 -1
- package/dist/components/pagination/src/pagination-pages.d.ts +2 -2
- package/dist/components/pagination/src/pagination-step-trigger.d.ts +2 -2
- package/dist/components/pagination/src/pagination-truncation-separator.d.ts +1 -1
- package/dist/components/pagination/src/types.d.ts +1 -1
- package/dist/components/pagination/src/use-page-options.hook.d.ts +1 -1
- package/dist/components/pagination/src/use-page-size-options.hook.d.ts +1 -1
- package/dist/components/paragraph/src/paragraph.d.ts +1 -1
- package/dist/components/password-field/src/password-strength-indicator.d.ts +1 -1
- package/dist/components/popover/src/popover-button.d.ts +2 -2
- package/dist/components/product-card/src/product-card.d.ts +1 -1
- package/dist/components/promotion-card/src/promotion-card.d.ts +10 -10
- package/dist/components/promotion-card/src/promotion-card.d.ts.map +1 -1
- package/dist/components/quantity-selector/src/quantity-selector-button.d.ts +2 -3
- package/dist/components/quantity-selector/src/quantity-selector-button.d.ts.map +1 -1
- package/dist/components/quantity-selector/src/quantity-selector.d.ts +3 -6
- package/dist/components/quantity-selector/src/quantity-selector.d.ts.map +1 -1
- package/dist/components/radio-button-group/src/radio-button-group-root.d.ts +1 -1
- package/dist/components/radio-card-group/src/radio-card-item.d.ts +1 -1
- package/dist/components/rich-text/src/types.d.ts +3 -3
- package/dist/components/search-field/src/search-field-autocomplete.d.ts +1 -1
- package/dist/components/search-field/src/search-field-base.d.ts +1 -1
- package/dist/components/select/src/select.d.ts +1 -1
- package/dist/components/skeleton/src/skeleton.d.ts +1 -1
- package/dist/components/spacer/src/spacer.d.ts +2 -2
- package/dist/components/spinner/src/spinner.d.ts +3 -3
- package/dist/components/stepper/src/stepper-container.d.ts +1 -1
- package/dist/components/stepper/src/{stepper-button.d.ts → stepper-link.d.ts} +5 -4
- package/dist/components/stepper/src/stepper-link.d.ts.map +1 -0
- package/dist/components/stepper/src/stepper-nav-items.d.ts +1 -0
- package/dist/components/stepper/src/stepper-nav-items.d.ts.map +1 -1
- package/dist/components/stepper/src/stepper.d.ts +2 -2
- package/dist/components/stepper/src/stepper.d.ts.map +1 -1
- package/dist/components/stepper/src/types.d.ts +2 -2
- package/dist/components/stepper/src/types.d.ts.map +1 -1
- package/dist/components/stepper/src/use-content-focus.hook.d.ts.map +1 -1
- package/dist/components/table/src/cell-types/button-group-cell.d.ts +2 -2
- package/dist/components/table/src/draggable-table.d.ts.map +1 -1
- package/dist/components/table/src/empty-table.d.ts +2 -2
- package/dist/components/table/src/table-column-header-cell.d.ts +1 -2
- package/dist/components/table/src/table-column-header-cell.d.ts.map +1 -1
- package/dist/components/table/src/table-content.d.ts +1 -1
- package/dist/components/table/src/table-headers.d.ts +2 -3
- package/dist/components/table/src/table-headers.d.ts.map +1 -1
- package/dist/components/table/src/table-settings-drawer.d.ts +11 -20
- package/dist/components/table/src/table-settings-drawer.d.ts.map +1 -1
- package/dist/components/table/src/table.d.ts +1 -8
- package/dist/components/table/src/table.d.ts.map +1 -1
- package/dist/components/table/src/test-utils/helpers.d.ts +10 -19
- package/dist/components/table/src/test-utils/helpers.d.ts.map +1 -1
- package/dist/components/tabs/src/tab-content.d.ts +4 -2
- package/dist/components/tabs/src/tab-content.d.ts.map +1 -1
- package/dist/components/text-field/src/text-field-ai.d.ts +4 -4
- package/dist/components/text-field/src/text-field-base.d.ts +4 -4
- package/dist/components/text-field/src/text-field.d.ts +5 -5
- package/dist/components/text-spacing/src/text-spacing.d.ts +1 -1
- package/dist/components/toggle/src/toggle.d.ts +1 -1
- package/dist/components/tooltip/src/tooltip.d.ts +4 -6
- package/dist/components/tooltip/src/tooltip.d.ts.map +1 -1
- package/dist/components-metadata.js +20 -10
- package/dist/{content-block-CDMrz41K.mjs → content-block-BCM0I3Y2.mjs} +2 -2
- package/dist/content-block-BCM0I3Y2.mjs.map +1 -0
- package/dist/{content-block-DyYAnL2e.js → content-block-DQppQumZ.js} +2 -2
- package/dist/content-block-DQppQumZ.js.map +1 -0
- package/dist/content-block.cjs.js +1 -1
- package/dist/content-block.es.js +1 -1
- package/dist/core.esm-BmIwrKkJ.js +6 -0
- package/dist/core.esm-BmIwrKkJ.js.map +1 -0
- package/dist/core.esm-CKGHpLM_.mjs +2892 -0
- package/dist/core.esm-CKGHpLM_.mjs.map +1 -0
- package/dist/country-flag-icon/LICENSE.txt +11 -0
- package/dist/country-flag-icon/all-country-flag-assets.cjs.js +1 -1
- package/dist/country-flag-icon/all-country-flag-assets.cjs.js.map +1 -1
- package/dist/country-flag-icon/all-country-flag-assets.d.ts +0 -1
- package/dist/country-flag-icon/all-country-flag-assets.d.ts.map +1 -1
- package/dist/country-flag-icon/all-country-flag-assets.es.js +0 -1
- package/dist/country-flag-icon/all-country-flag-assets.es.js.map +1 -1
- package/dist/country-flag-icon/dynamic-country-flag-icon.cjs.js +2 -0
- package/dist/country-flag-icon/dynamic-country-flag-icon.cjs.js.map +1 -0
- package/dist/country-flag-icon/dynamic-country-flag-icon.es.js +366 -0
- package/dist/country-flag-icon/dynamic-country-flag-icon.es.js.map +1 -0
- package/dist/{date-field-CwZ64buh.js → date-field-CtpWDaSh.js} +2 -2
- package/dist/{date-field-CwZ64buh.js.map → date-field-CtpWDaSh.js.map} +1 -1
- package/dist/{date-field-ChYx0N2j.mjs → date-field-_rCuf15v.mjs} +2 -2
- package/dist/{date-field-ChYx0N2j.mjs.map → date-field-_rCuf15v.mjs.map} +1 -1
- package/dist/date-field.cjs.js +1 -1
- package/dist/date-field.es.js +1 -1
- package/dist/{date-picker-BWMKTOq6.js → date-picker-BYlszX1W.js} +2 -2
- package/dist/{date-picker-BWMKTOq6.js.map → date-picker-BYlszX1W.js.map} +1 -1
- package/dist/{date-picker-CTyqgBRB.mjs → date-picker-sqcNAplg.mjs} +6 -6
- package/dist/{date-picker-CTyqgBRB.mjs.map → date-picker-sqcNAplg.mjs.map} +1 -1
- package/dist/date-picker.cjs.js +1 -1
- package/dist/date-picker.es.js +1 -1
- package/dist/date-range-field-B33XeBW8.js +2 -0
- package/dist/date-range-field-B33XeBW8.js.map +1 -0
- package/dist/{date-range-field-DDr-qEGX.mjs → date-range-field-BmjQeiOv.mjs} +23 -23
- package/dist/date-range-field-BmjQeiOv.mjs.map +1 -0
- package/dist/date-range-field.cjs.js +1 -1
- package/dist/date-range-field.es.js +1 -1
- package/dist/{dismissable-chip-group-2updhyuR.js → dismissable-chip-group-5ALErhD2.js} +2 -2
- package/dist/dismissable-chip-group-5ALErhD2.js.map +1 -0
- package/dist/{dismissable-chip-group-Cfs2s2BH.mjs → dismissable-chip-group-DMNU7g5e.mjs} +3 -3
- package/dist/dismissable-chip-group-DMNU7g5e.mjs.map +1 -0
- package/dist/dismissable-chip-group.cjs.js +1 -1
- package/dist/dismissable-chip-group.es.js +1 -1
- package/dist/{drawer-Cnk2OKgi.mjs → drawer-Chx3H8EU.mjs} +241 -233
- package/dist/drawer-Chx3H8EU.mjs.map +1 -0
- package/dist/drawer-oFJcxW58.js +2 -0
- package/dist/drawer-oFJcxW58.js.map +1 -0
- package/dist/drawer.cjs.js +1 -1
- package/dist/drawer.es.js +1 -1
- package/dist/dropdown-Bn7WvsL2.js +2 -0
- package/dist/dropdown-Bn7WvsL2.js.map +1 -0
- package/dist/dropdown-CrufJnb4.mjs +945 -0
- package/dist/dropdown-CrufJnb4.mjs.map +1 -0
- package/dist/dropdown.cjs.js +1 -1
- package/dist/dropdown.es.js +1 -1
- package/dist/file-upload-Ctw6LCTU.mjs +589 -0
- package/dist/file-upload-Ctw6LCTU.mjs.map +1 -0
- package/dist/file-upload-MvNuX4ks.js +2 -0
- package/dist/file-upload-MvNuX4ks.js.map +1 -0
- package/dist/file-upload.cjs.js +2 -0
- package/dist/file-upload.cjs.js.map +1 -0
- package/dist/file-upload.es.js +5 -0
- package/dist/file-upload.es.js.map +1 -0
- package/dist/{floating-ui.react-dom-EredA301.mjs → floating-ui.react-dom-1kwKo24Z.mjs} +15 -15
- package/dist/{floating-ui.react-dom-EredA301.mjs.map → floating-ui.react-dom-1kwKo24Z.mjs.map} +1 -1
- package/dist/footer-Bbemct3Z.js +2 -0
- package/dist/footer-Bbemct3Z.js.map +1 -0
- package/dist/{footer-D5YkHmCo.mjs → footer-DkVmTd-f.mjs} +24 -24
- package/dist/footer-DkVmTd-f.mjs.map +1 -0
- package/dist/footer.cjs.js +1 -1
- package/dist/footer.es.js +1 -1
- package/dist/{heading-xwBuT_-9.mjs → heading-BG7JTFO1.mjs} +25 -24
- package/dist/heading-BG7JTFO1.mjs.map +1 -0
- package/dist/{heading-drD5ugCC.js → heading-BPeRwNYu.js} +2 -2
- package/dist/heading-BPeRwNYu.js.map +1 -0
- package/dist/heading.cjs.js +1 -1
- package/dist/heading.es.js +6 -5
- package/dist/{hero-banner-BXRArPWP.mjs → hero-banner-ChDoFRhq.mjs} +4 -4
- package/dist/hero-banner-ChDoFRhq.mjs.map +1 -0
- package/dist/{hero-banner-CW7DIEZe.js → hero-banner-Mag1OwL4.js} +2 -2
- package/dist/hero-banner-Mag1OwL4.js.map +1 -0
- package/dist/hero-banner.cjs.js +1 -1
- package/dist/hero-banner.es.js +1 -1
- package/dist/index-BPY_9ddu.js +2 -0
- package/dist/index-BPY_9ddu.js.map +1 -0
- package/dist/index-Fewa56cA.mjs +440 -0
- package/dist/index-Fewa56cA.mjs.map +1 -0
- package/dist/libraries/library/src/calendar.d.ts +1 -1
- package/dist/libraries/library/src/card.d.ts +1 -1
- package/dist/libraries/library/src/container.d.ts +1 -1
- package/dist/libraries/library/src/content-block.d.ts +1 -1
- package/dist/libraries/library/src/dismissable-chip-group.d.ts +1 -1
- package/dist/libraries/library/src/drawer.d.ts +1 -1
- package/dist/libraries/library/src/file-upload.d.ts +6 -0
- package/dist/libraries/library/src/file-upload.d.ts.map +1 -0
- package/dist/libraries/library/src/library.d.ts +1 -1
- package/dist/libraries/library/src/library.d.ts.map +1 -1
- package/dist/libraries/library/src/notification-banner.d.ts +1 -1
- package/dist/libraries/library/src/notification.d.ts +1 -1
- package/dist/libraries/theme/src/ThemeProvider.d.ts +1 -1
- package/dist/library.cjs.js +1 -1
- package/dist/library.es.js +595 -596
- package/dist/{modal-CnC4Zyjk.js → modal-CXOYUsJm.js} +2 -2
- package/dist/modal-CXOYUsJm.js.map +1 -0
- package/dist/{modal-BuUQrUYJ.mjs → modal-Pwvhrzn-.mjs} +31 -31
- package/dist/modal-Pwvhrzn-.mjs.map +1 -0
- package/dist/modal.cjs.js +1 -1
- package/dist/modal.es.js +1 -1
- package/dist/{notification-CeoAXDXq.js → notification-BkM2vLzI.js} +2 -2
- package/dist/{notification-CeoAXDXq.js.map → notification-BkM2vLzI.js.map} +1 -1
- package/dist/{notification-C3f3N1K1.mjs → notification-Cbn0UN1p.mjs} +3 -3
- package/dist/{notification-C3f3N1K1.mjs.map → notification-Cbn0UN1p.mjs.map} +1 -1
- package/dist/notification-banner-B9RhXAZ8.js +2 -0
- package/dist/notification-banner-B9RhXAZ8.js.map +1 -0
- package/dist/{notification-banner-BvAy8dlg.mjs → notification-banner-C4NVekCZ.mjs} +5 -5
- package/dist/notification-banner-C4NVekCZ.mjs.map +1 -0
- package/dist/notification-banner.cjs.js +1 -1
- package/dist/notification-banner.es.js +1 -1
- package/dist/notification.cjs.js +1 -1
- package/dist/notification.es.js +1 -1
- package/dist/{password-field-C_E4563x.mjs → password-field-Cy_E-D_G.mjs} +29 -29
- package/dist/{password-field-C_E4563x.mjs.map → password-field-Cy_E-D_G.mjs.map} +1 -1
- package/dist/{password-field-BjKdBoIK.js → password-field-lKyWHjQS.js} +2 -2
- package/dist/{password-field-BjKdBoIK.js.map → password-field-lKyWHjQS.js.map} +1 -1
- package/dist/password-field.cjs.js +1 -1
- package/dist/password-field.es.js +1 -1
- package/dist/popover-B6ntmuEK.mjs +614 -0
- package/dist/popover-B6ntmuEK.mjs.map +1 -0
- package/dist/popover-DJHMEFXP.js +2 -0
- package/dist/popover-DJHMEFXP.js.map +1 -0
- package/dist/popover.cjs.js +1 -1
- package/dist/popover.es.js +1 -1
- package/dist/{product-card-CxfHfJVV.mjs → product-card-BMseoNrG.mjs} +3 -3
- package/dist/{product-card-CxfHfJVV.mjs.map → product-card-BMseoNrG.mjs.map} +1 -1
- package/dist/{product-card-XxBwuxM-.js → product-card-D0jX5-up.js} +2 -2
- package/dist/{product-card-XxBwuxM-.js.map → product-card-D0jX5-up.js.map} +1 -1
- package/dist/product-card.cjs.js +1 -1
- package/dist/product-card.es.js +1 -1
- package/dist/{promotion-card-C1UoxzcV.js → promotion-card-B3mz__m7.js} +2 -2
- package/dist/promotion-card-B3mz__m7.js.map +1 -0
- package/dist/{promotion-card-CooYPpFo.mjs → promotion-card-Co6qAkTZ.mjs} +5 -5
- package/dist/promotion-card-Co6qAkTZ.mjs.map +1 -0
- package/dist/promotion-card.cjs.js +1 -1
- package/dist/promotion-card.es.js +1 -1
- package/dist/purpur.css +1 -1
- package/dist/quantity-selector-Cy0aJGGX.js +2 -0
- package/dist/quantity-selector-Cy0aJGGX.js.map +1 -0
- package/dist/quantity-selector-k6ZaVrk1.mjs +162 -0
- package/dist/quantity-selector-k6ZaVrk1.mjs.map +1 -0
- package/dist/quantity-selector.cjs.js +1 -1
- package/dist/quantity-selector.es.js +2 -3
- package/dist/{radio-button-group-D_F6kWD6.mjs → radio-button-group-DjiTo3b1.mjs} +2 -2
- package/dist/{radio-button-group-D_F6kWD6.mjs.map → radio-button-group-DjiTo3b1.mjs.map} +1 -1
- package/dist/{radio-button-group-CdUrC7h9.js → radio-button-group-uCRGh1H5.js} +2 -2
- package/dist/{radio-button-group-CdUrC7h9.js.map → radio-button-group-uCRGh1H5.js.map} +1 -1
- package/dist/radio-button-group.cjs.js +1 -1
- package/dist/radio-button-group.es.js +1 -1
- package/dist/{radio-card-group-B9_jOJnM.mjs → radio-card-group-DoM7qYO1.mjs} +2 -2
- package/dist/{radio-card-group-B9_jOJnM.mjs.map → radio-card-group-DoM7qYO1.mjs.map} +1 -1
- package/dist/{radio-card-group-DcdGkfOp.js → radio-card-group-_9wJC-s3.js} +2 -2
- package/dist/{radio-card-group-DcdGkfOp.js.map → radio-card-group-_9wJC-s3.js.map} +1 -1
- package/dist/radio-card-group.cjs.js +1 -1
- package/dist/radio-card-group.es.js +1 -1
- package/dist/rich-text.cjs.js +1 -1
- package/dist/rich-text.es.js +1 -1
- package/dist/{search-field-BTqVE1-l.mjs → search-field-BTJtRyw5.mjs} +3 -3
- package/dist/{search-field-BTqVE1-l.mjs.map → search-field-BTJtRyw5.mjs.map} +1 -1
- package/dist/{search-field-DkJrwzJB.js → search-field-nzVXak1a.js} +2 -2
- package/dist/{search-field-DkJrwzJB.js.map → search-field-nzVXak1a.js.map} +1 -1
- package/dist/search-field.cjs.js +1 -1
- package/dist/search-field.es.js +1 -1
- package/dist/stepper-D59T-Y2_.mjs +469 -0
- package/dist/stepper-D59T-Y2_.mjs.map +1 -0
- package/dist/stepper-Dao4XaDV.js +2 -0
- package/dist/stepper-Dao4XaDV.js.map +1 -0
- package/dist/stepper.cjs.js +1 -1
- package/dist/stepper.es.js +1 -1
- package/dist/table-DRSgesQ4.mjs +4545 -0
- package/dist/table-DRSgesQ4.mjs.map +1 -0
- package/dist/table-zBs9JALh.js +5 -0
- package/dist/table-zBs9JALh.js.map +1 -0
- package/dist/table.cjs.js +1 -1
- package/dist/table.es.js +1 -1
- package/dist/tabs-D2__wbCs.js +2 -0
- package/dist/tabs-D2__wbCs.js.map +1 -0
- package/dist/tabs-DOG5g2wf.mjs +440 -0
- package/dist/tabs-DOG5g2wf.mjs.map +1 -0
- package/dist/tabs.cjs.js +1 -1
- package/dist/tabs.es.js +1 -1
- package/dist/{text-field-CS0PT5T6.js → text-field-BSgqJjpv.js} +2 -2
- package/dist/text-field-BSgqJjpv.js.map +1 -0
- package/dist/{text-field-C9LX7LBf.mjs → text-field-MQHeITxy.mjs} +3 -3
- package/dist/text-field-MQHeITxy.mjs.map +1 -0
- package/dist/text-field.cjs.js +1 -1
- package/dist/text-field.es.js +1 -1
- package/dist/tooltip-DeP1UsPW.js +2 -0
- package/dist/{tooltip-COFCRUKv.js.map → tooltip-DeP1UsPW.js.map} +1 -1
- package/dist/{tooltip-FH9R2MAA.mjs → tooltip-bqdd2lJL.mjs} +347 -309
- package/dist/{tooltip-FH9R2MAA.mjs.map → tooltip-bqdd2lJL.mjs.map} +1 -1
- package/dist/tooltip.cjs.js +1 -1
- package/dist/tooltip.es.js +1 -1
- package/package.json +25 -25
- package/src/aliases.ts +4 -4
- package/src/entries.js +1 -1
- package/src/{autocomplete.ts → file-upload.ts} +1 -1
- package/src/library.ts +1 -1
- package/src/purpur.css +4 -0
- package/dist/accordion-B6OoQ4uZ.mjs +0 -128
- package/dist/accordion-B6OoQ4uZ.mjs.map +0 -1
- package/dist/accordion-BfpN5h4C.js +0 -2
- package/dist/accordion-BfpN5h4C.js.map +0 -1
- package/dist/autocomplete-C6AqdYaZ.mjs +0 -228
- package/dist/autocomplete-C6AqdYaZ.mjs.map +0 -1
- package/dist/autocomplete-yrPbF5gq.js +0 -2
- package/dist/autocomplete-yrPbF5gq.js.map +0 -1
- package/dist/autocomplete.cjs.js +0 -2
- package/dist/autocomplete.cjs.js.map +0 -1
- package/dist/autocomplete.es.js +0 -6
- package/dist/autocomplete.es.js.map +0 -1
- package/dist/button-DZgtrGqN.js +0 -2
- package/dist/button-DZgtrGqN.js.map +0 -1
- package/dist/button-EVRfctR8.mjs +0 -109
- package/dist/button-EVRfctR8.mjs.map +0 -1
- package/dist/card-pdsBEJif.js.map +0 -1
- package/dist/card-t2ZkZ82G.mjs.map +0 -1
- package/dist/components/autocomplete/src/autocomplete.d.ts +0 -18
- package/dist/components/autocomplete/src/autocomplete.d.ts.map +0 -1
- package/dist/components/autocomplete/src/useAutocomplete.d.ts +0 -59
- package/dist/components/autocomplete/src/useAutocomplete.d.ts.map +0 -1
- package/dist/components/autocomplete/src/utils.d.ts +0 -7
- package/dist/components/autocomplete/src/utils.d.ts.map +0 -1
- package/dist/components/stepper/src/stepper-button.d.ts.map +0 -1
- package/dist/content-block-CDMrz41K.mjs.map +0 -1
- package/dist/content-block-DyYAnL2e.js.map +0 -1
- package/dist/date-range-field-CvzOl-eC.js +0 -2
- package/dist/date-range-field-CvzOl-eC.js.map +0 -1
- package/dist/date-range-field-DDr-qEGX.mjs.map +0 -1
- package/dist/dismissable-chip-group-2updhyuR.js.map +0 -1
- package/dist/dismissable-chip-group-Cfs2s2BH.mjs.map +0 -1
- package/dist/drawer-BnqxUIPM.js +0 -2
- package/dist/drawer-BnqxUIPM.js.map +0 -1
- package/dist/drawer-Cnk2OKgi.mjs.map +0 -1
- package/dist/dropdown-C8VsfTQw.mjs +0 -936
- package/dist/dropdown-C8VsfTQw.mjs.map +0 -1
- package/dist/dropdown-p4R2yCnJ.js +0 -2
- package/dist/dropdown-p4R2yCnJ.js.map +0 -1
- package/dist/footer-B8rzVSrZ.js +0 -2
- package/dist/footer-B8rzVSrZ.js.map +0 -1
- package/dist/footer-D5YkHmCo.mjs.map +0 -1
- package/dist/heading-drD5ugCC.js.map +0 -1
- package/dist/heading-xwBuT_-9.mjs.map +0 -1
- package/dist/hero-banner-BXRArPWP.mjs.map +0 -1
- package/dist/hero-banner-CW7DIEZe.js.map +0 -1
- package/dist/libraries/library/src/autocomplete.d.ts +0 -6
- package/dist/libraries/library/src/autocomplete.d.ts.map +0 -1
- package/dist/modal-BuUQrUYJ.mjs.map +0 -1
- package/dist/modal-CnC4Zyjk.js.map +0 -1
- package/dist/notification-banner-BvAy8dlg.mjs.map +0 -1
- package/dist/notification-banner-DUe4fT1r.js +0 -2
- package/dist/notification-banner-DUe4fT1r.js.map +0 -1
- package/dist/popover-4phnhJLj.js +0 -2
- package/dist/popover-4phnhJLj.js.map +0 -1
- package/dist/popover-DhObSx97.mjs +0 -1043
- package/dist/popover-DhObSx97.mjs.map +0 -1
- package/dist/promotion-card-C1UoxzcV.js.map +0 -1
- package/dist/promotion-card-CooYPpFo.mjs.map +0 -1
- package/dist/quantity-selector-Ds7d4MnV.js +0 -2
- package/dist/quantity-selector-Ds7d4MnV.js.map +0 -1
- package/dist/quantity-selector-DwkKKmFy.mjs +0 -172
- package/dist/quantity-selector-DwkKKmFy.mjs.map +0 -1
- package/dist/stepper-5rQ3cK18.js +0 -2
- package/dist/stepper-5rQ3cK18.js.map +0 -1
- package/dist/stepper-B3p9r3gv.mjs +0 -449
- package/dist/stepper-B3p9r3gv.mjs.map +0 -1
- package/dist/table-BIyaTsOh.js +0 -9
- package/dist/table-BIyaTsOh.js.map +0 -1
- package/dist/table-BtymEUG4.mjs +0 -7428
- package/dist/table-BtymEUG4.mjs.map +0 -1
- package/dist/tabs-Bye5lgZ1.mjs +0 -424
- package/dist/tabs-Bye5lgZ1.mjs.map +0 -1
- package/dist/tabs-D-nfZHIA.js +0 -2
- package/dist/tabs-D-nfZHIA.js.map +0 -1
- package/dist/text-field-C9LX7LBf.mjs.map +0 -1
- package/dist/text-field-CS0PT5T6.js.map +0 -1
- package/dist/tooltip-COFCRUKv.js +0 -2
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
import { jsx as r, jsxs as S, Fragment as x } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as B, isValidElement as rr, useRef as w, useEffect as Y, useState as O, Children as q, useId as er } from "react";
|
|
3
|
+
import { b as D, a as F } from "./button-mHw_J7JU.mjs";
|
|
4
|
+
import { l as tr } from "./chevron-left.es-UFhf3v35.mjs";
|
|
5
|
+
import { n as sr } from "./chevron-right.es-D7aVK4ER.mjs";
|
|
6
|
+
import { R as nr, V as pr, S as lr, T as ir } from "./index-B8Mazo6u.mjs";
|
|
7
|
+
import { c as E } from "./bind-CU-R61T-.mjs";
|
|
8
|
+
import { b as or } from "./tooltip-bqdd2lJL.mjs";
|
|
9
|
+
import { a as ar } from "./checkmark.es-DdgIZN2R.mjs";
|
|
10
|
+
const _r = {
|
|
11
|
+
PRIMARY: "primary"
|
|
12
|
+
}, I = {
|
|
13
|
+
SMALL_SCREEN: "small-screen",
|
|
14
|
+
LARGE_SCREEN: "large-screen",
|
|
15
|
+
ALWAYS: "always"
|
|
16
|
+
}, ur = {
|
|
17
|
+
"purpur-stepper__nav-container": "_purpur-stepper__nav-container_17tj8_1",
|
|
18
|
+
"purpur-stepper__nav": "_purpur-stepper__nav_17tj8_1",
|
|
19
|
+
"purpur-stepper": "_purpur-stepper_17tj8_1",
|
|
20
|
+
"purpur-stepper__scroll-button": "_purpur-stepper__scroll-button_17tj8_7",
|
|
21
|
+
"purpur-stepper__scroll-button--left": "_purpur-stepper__scroll-button--left_17tj8_18",
|
|
22
|
+
"purpur-stepper__scroll-button--right": "_purpur-stepper__scroll-button--right_17tj8_21",
|
|
23
|
+
"purpur-stepper__scroll-button--align-with-grid": "_purpur-stepper__scroll-button--align-with-grid_17tj8_24",
|
|
24
|
+
"purpur-stepper__scroll-button-icon": "_purpur-stepper__scroll-button-icon_17tj8_48",
|
|
25
|
+
"purpur-stepper__hidden": "_purpur-stepper__hidden_17tj8_51"
|
|
26
|
+
}, cr = {
|
|
27
|
+
"purpur-stepper-container": "_purpur-stepper-container_lnheo_1",
|
|
28
|
+
"purpur-stepper-container__inner--align-with-grid": "_purpur-stepper-container__inner--align-with-grid_lnheo_5",
|
|
29
|
+
"purpur-stepper-container--primary": "_purpur-stepper-container--primary_lnheo_28",
|
|
30
|
+
"purpur-stepper-container--secondary": "_purpur-stepper-container--secondary_lnheo_31"
|
|
31
|
+
}, H = E.bind(cr), y = "purpur-stepper-container", dr = ({
|
|
32
|
+
["data-testid"]: e = "purpur-stepper-container",
|
|
33
|
+
children: t,
|
|
34
|
+
className: n,
|
|
35
|
+
alignWithGrid: s,
|
|
36
|
+
variant: i,
|
|
37
|
+
...p
|
|
38
|
+
}) => {
|
|
39
|
+
const m = H(n, y, {
|
|
40
|
+
[`${y}--${i}`]: i,
|
|
41
|
+
[`${y}--align-with-grid`]: s
|
|
42
|
+
});
|
|
43
|
+
return /* @__PURE__ */ r("div", { className: m, "data-testid": e, ...p, children: /* @__PURE__ */ r(
|
|
44
|
+
"div",
|
|
45
|
+
{
|
|
46
|
+
className: H(`${y}__inner`, {
|
|
47
|
+
[`${y}__inner--align-with-grid`]: s
|
|
48
|
+
}),
|
|
49
|
+
children: t
|
|
50
|
+
}
|
|
51
|
+
) });
|
|
52
|
+
}, mr = B(
|
|
53
|
+
({ children: e, ...t }, n) => {
|
|
54
|
+
const { finished: s, ...i } = t;
|
|
55
|
+
return /* @__PURE__ */ r("div", { ...i, ref: n, children: e });
|
|
56
|
+
}
|
|
57
|
+
), br = (e) => !!e && rr(e) && !!e.props.label, fr = {
|
|
58
|
+
"purpur-stepper-link": "_purpur-stepper-link_1sqvz_1",
|
|
59
|
+
"purpur-stepper-link--disabled": "_purpur-stepper-link--disabled_1sqvz_27",
|
|
60
|
+
"purpur-stepper-link__trigger-outline": "_purpur-stepper-link__trigger-outline_1sqvz_53",
|
|
61
|
+
"purpur-stepper-link--first": "_purpur-stepper-link--first_1sqvz_65",
|
|
62
|
+
"purpur-stepper-link--current": "_purpur-stepper-link--current_1sqvz_65",
|
|
63
|
+
"purpur-stepper-link--middle": "_purpur-stepper-link--middle_1sqvz_70",
|
|
64
|
+
"purpur-stepper-link--last": "_purpur-stepper-link--last_1sqvz_80",
|
|
65
|
+
"purpur-stepper-link--visibility-small-screen": "_purpur-stepper-link--visibility-small-screen_1sqvz_90",
|
|
66
|
+
"purpur-stepper-link--visibility-large-screen": "_purpur-stepper-link--visibility-large-screen_1sqvz_98",
|
|
67
|
+
"purpur-stepper-link__icon": "_purpur-stepper-link__icon_1sqvz_122",
|
|
68
|
+
"purpur-stepper-link__step-number": "_purpur-stepper-link__step-number_1sqvz_132",
|
|
69
|
+
"purpur-stepper-link__step-number--current": "_purpur-stepper-link__step-number--current_1sqvz_143",
|
|
70
|
+
"purpur-stepper-link__step-number--disabled": "_purpur-stepper-link__step-number--disabled_1sqvz_147",
|
|
71
|
+
"purpur-stepper-link__step-label": "_purpur-stepper-link__step-label_1sqvz_152",
|
|
72
|
+
"arrow-forward": "_arrow-forward_1sqvz_156",
|
|
73
|
+
"purpur-stepper-link--primary": "_purpur-stepper-link--primary_1sqvz_168",
|
|
74
|
+
"purpur-stepper-link--secondary": "_purpur-stepper-link--secondary_1sqvz_177",
|
|
75
|
+
"arrow-tail": "_arrow-tail_1sqvz_187",
|
|
76
|
+
"sr-only--lg-down": "_sr-only--lg-down_1sqvz_206"
|
|
77
|
+
}, R = E.bind(fr), c = "purpur-stepper-link", hr = ({
|
|
78
|
+
["data-testid"]: e,
|
|
79
|
+
current: t,
|
|
80
|
+
disabled: n,
|
|
81
|
+
stepNumber: s
|
|
82
|
+
}) => /* @__PURE__ */ r(
|
|
83
|
+
"div",
|
|
84
|
+
{
|
|
85
|
+
"data-testid": e,
|
|
86
|
+
className: R([
|
|
87
|
+
`${c}__step-number`,
|
|
88
|
+
{
|
|
89
|
+
[`${c}__step-number--current`]: t
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
[`${c}__step-number--disabled`]: n
|
|
93
|
+
}
|
|
94
|
+
]),
|
|
95
|
+
children: s
|
|
96
|
+
}
|
|
97
|
+
), A = B(
|
|
98
|
+
({
|
|
99
|
+
className: e,
|
|
100
|
+
["data-testid"]: t,
|
|
101
|
+
variant: n,
|
|
102
|
+
step: s,
|
|
103
|
+
indexOfLastItem: i,
|
|
104
|
+
index: p,
|
|
105
|
+
currentStepIndex: m,
|
|
106
|
+
whenToBeVisible: u,
|
|
107
|
+
handleStepChange: o,
|
|
108
|
+
handleStepFocus: a,
|
|
109
|
+
completedStepLabel: l,
|
|
110
|
+
idPrefix: h,
|
|
111
|
+
...d
|
|
112
|
+
}, b) => {
|
|
113
|
+
const g = p === 0 ? "first" : p === i ? "last" : "middle", $ = p === m, T = (C) => {
|
|
114
|
+
if (s.disabled) {
|
|
115
|
+
C.preventDefault();
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
o(C, p);
|
|
119
|
+
};
|
|
120
|
+
return /* @__PURE__ */ r(
|
|
121
|
+
"a",
|
|
122
|
+
{
|
|
123
|
+
...d,
|
|
124
|
+
ref: b,
|
|
125
|
+
className: R(
|
|
126
|
+
e,
|
|
127
|
+
c,
|
|
128
|
+
`${c}--${g}`,
|
|
129
|
+
`${c}--${n}`,
|
|
130
|
+
`${c}--visibility-${u}`,
|
|
131
|
+
{
|
|
132
|
+
[`${c}--current`]: $
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
[`${c}--disabled`]: s.disabled
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"arrow-tail": g !== "first"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"arrow-forward": g !== "last"
|
|
142
|
+
}
|
|
143
|
+
),
|
|
144
|
+
id: `${h}-trigger-${p}`,
|
|
145
|
+
href: s.disabled ? void 0 : `#${h}-content`,
|
|
146
|
+
tabIndex: s.disabled ? -1 : void 0,
|
|
147
|
+
"data-testid": `${t}-step-trigger-item-${p}`,
|
|
148
|
+
"aria-disabled": s.disabled,
|
|
149
|
+
"aria-current": $ && "step",
|
|
150
|
+
"aria-label": s.finished && !$ ? [String(p + 1), s.label, l].filter(Boolean).join(", ") : void 0,
|
|
151
|
+
onClick: T,
|
|
152
|
+
onFocus: a,
|
|
153
|
+
children: /* @__PURE__ */ S("span", { className: R(`${c}__trigger-outline`), children: [
|
|
154
|
+
s.finished && !$ ? /* @__PURE__ */ r(
|
|
155
|
+
ar,
|
|
156
|
+
{
|
|
157
|
+
className: R(`${c}__icon`),
|
|
158
|
+
"data-testid": `${t}-step-finished-icon`,
|
|
159
|
+
size: "sm"
|
|
160
|
+
}
|
|
161
|
+
) : /* @__PURE__ */ r(
|
|
162
|
+
hr,
|
|
163
|
+
{
|
|
164
|
+
"data-testid": `${t}-step-number`,
|
|
165
|
+
current: $,
|
|
166
|
+
disabled: s.disabled,
|
|
167
|
+
stepNumber: p + 1
|
|
168
|
+
}
|
|
169
|
+
),
|
|
170
|
+
/* @__PURE__ */ r(
|
|
171
|
+
"span",
|
|
172
|
+
{
|
|
173
|
+
className: R(`${c}__step-label`, {
|
|
174
|
+
"sr-only--lg-down": !$
|
|
175
|
+
}),
|
|
176
|
+
children: s.label
|
|
177
|
+
}
|
|
178
|
+
)
|
|
179
|
+
] })
|
|
180
|
+
}
|
|
181
|
+
);
|
|
182
|
+
}
|
|
183
|
+
), gr = {
|
|
184
|
+
"purpur-stepper-nav-items__list": "_purpur-stepper-nav-items__list_lgkh0_1",
|
|
185
|
+
"purpur-stepper-nav-items__list-item": "_purpur-stepper-nav-items__list-item_lgkh0_7",
|
|
186
|
+
"purpur-stepper-nav-items__list-item--current": "_purpur-stepper-nav-items__list-item--current_lgkh0_25",
|
|
187
|
+
"purpur-stepper-nav-items__tooltip-content": "_purpur-stepper-nav-items__tooltip-content_lgkh0_31",
|
|
188
|
+
"purpur-stepper-nav-items__tooltip-trigger-item-container": "_purpur-stepper-nav-items__tooltip-trigger-item-container_lgkh0_34"
|
|
189
|
+
}, z = E.bind(gr), N = "purpur-stepper-nav-items", $r = B(
|
|
190
|
+
({
|
|
191
|
+
["data-testid"]: e,
|
|
192
|
+
variant: t,
|
|
193
|
+
handleStepChange: n,
|
|
194
|
+
handleStepFocus: s,
|
|
195
|
+
steps: i,
|
|
196
|
+
firstStepRef: p,
|
|
197
|
+
lastStepRef: m,
|
|
198
|
+
currentStepIndex: u,
|
|
199
|
+
completedStepLabel: o,
|
|
200
|
+
idPrefix: a
|
|
201
|
+
}, l) => {
|
|
202
|
+
const h = i.map((d, b) => {
|
|
203
|
+
const g = /* @__PURE__ */ r("span", { className: z(`${N}__tooltip-trigger-item-container`), children: /* @__PURE__ */ r(
|
|
204
|
+
A,
|
|
205
|
+
{
|
|
206
|
+
"data-testid": `${e}-disabled-sm`,
|
|
207
|
+
variant: t,
|
|
208
|
+
step: d,
|
|
209
|
+
indexOfLastItem: i.length - 1,
|
|
210
|
+
index: b,
|
|
211
|
+
currentStepIndex: u,
|
|
212
|
+
whenToBeVisible: I.SMALL_SCREEN,
|
|
213
|
+
completedStepLabel: o,
|
|
214
|
+
handleStepChange: n,
|
|
215
|
+
handleStepFocus: s,
|
|
216
|
+
idPrefix: a
|
|
217
|
+
}
|
|
218
|
+
) });
|
|
219
|
+
return /* @__PURE__ */ r(
|
|
220
|
+
"li",
|
|
221
|
+
{
|
|
222
|
+
className: z(`${N}__list-item`, {
|
|
223
|
+
[`${N}__list-item--current`]: b === u
|
|
224
|
+
}),
|
|
225
|
+
ref: b === 0 ? p : b === i.length - 1 ? m : null,
|
|
226
|
+
children: d.disabled ? /* @__PURE__ */ S(x, { children: [
|
|
227
|
+
/* @__PURE__ */ r(
|
|
228
|
+
or,
|
|
229
|
+
{
|
|
230
|
+
contentClassName: z(`${N}__tooltip-content`),
|
|
231
|
+
triggerElement: g,
|
|
232
|
+
children: d.label
|
|
233
|
+
}
|
|
234
|
+
),
|
|
235
|
+
/* @__PURE__ */ r(
|
|
236
|
+
A,
|
|
237
|
+
{
|
|
238
|
+
"data-testid": `${e}-disabled-lg`,
|
|
239
|
+
variant: t,
|
|
240
|
+
step: d,
|
|
241
|
+
indexOfLastItem: i.length - 1,
|
|
242
|
+
index: b,
|
|
243
|
+
currentStepIndex: u,
|
|
244
|
+
whenToBeVisible: I.LARGE_SCREEN,
|
|
245
|
+
completedStepLabel: o,
|
|
246
|
+
handleStepChange: n,
|
|
247
|
+
handleStepFocus: s,
|
|
248
|
+
idPrefix: a
|
|
249
|
+
}
|
|
250
|
+
)
|
|
251
|
+
] }) : /* @__PURE__ */ r(
|
|
252
|
+
A,
|
|
253
|
+
{
|
|
254
|
+
"data-testid": e,
|
|
255
|
+
variant: t,
|
|
256
|
+
step: d,
|
|
257
|
+
indexOfLastItem: i.length - 1,
|
|
258
|
+
index: b,
|
|
259
|
+
currentStepIndex: u,
|
|
260
|
+
whenToBeVisible: I.ALWAYS,
|
|
261
|
+
completedStepLabel: o,
|
|
262
|
+
handleStepChange: n,
|
|
263
|
+
handleStepFocus: s,
|
|
264
|
+
idPrefix: a
|
|
265
|
+
}
|
|
266
|
+
)
|
|
267
|
+
},
|
|
268
|
+
d.label
|
|
269
|
+
);
|
|
270
|
+
});
|
|
271
|
+
return /* @__PURE__ */ r("ol", { ref: l, className: z(`${N}__list`), children: h });
|
|
272
|
+
}
|
|
273
|
+
), vr = (e) => {
|
|
274
|
+
const t = w(!0), n = w(null);
|
|
275
|
+
return Y(() => {
|
|
276
|
+
!t.current && n.current !== null && n.current.focus(), t.current = !1;
|
|
277
|
+
}, [e]), {
|
|
278
|
+
contentRef: n
|
|
279
|
+
};
|
|
280
|
+
}, L = {
|
|
281
|
+
LEFT: "left",
|
|
282
|
+
RIGHT: "right"
|
|
283
|
+
}, kr = () => {
|
|
284
|
+
const e = w(null), t = w(null), n = w(null), [s, i] = O(!1), [p, m] = O(!1), u = (o) => {
|
|
285
|
+
if (!e.current)
|
|
286
|
+
return;
|
|
287
|
+
const a = e.current, l = a.clientWidth, h = a.scrollLeft;
|
|
288
|
+
o === L.LEFT && a.scroll({
|
|
289
|
+
behavior: "smooth",
|
|
290
|
+
left: h - l / 2
|
|
291
|
+
}), o === L.RIGHT && a.scroll({
|
|
292
|
+
behavior: "smooth",
|
|
293
|
+
left: h + l / 2
|
|
294
|
+
});
|
|
295
|
+
};
|
|
296
|
+
return Y(() => {
|
|
297
|
+
if (t.current && n.current && e.current) {
|
|
298
|
+
const o = new IntersectionObserver(
|
|
299
|
+
(a) => {
|
|
300
|
+
for (const l of a) {
|
|
301
|
+
if (l.target === t.current) {
|
|
302
|
+
l.isIntersecting ? i(!1) : i(!0);
|
|
303
|
+
continue;
|
|
304
|
+
}
|
|
305
|
+
l.target === n.current && (l.isIntersecting ? m(!1) : m(!0));
|
|
306
|
+
}
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
root: e.current,
|
|
310
|
+
threshold: 0.95
|
|
311
|
+
}
|
|
312
|
+
);
|
|
313
|
+
return o.observe(t.current), o.observe(n.current), () => o.disconnect();
|
|
314
|
+
}
|
|
315
|
+
}, [t, n, e]), {
|
|
316
|
+
scrollContainer: e,
|
|
317
|
+
firstStepRef: t,
|
|
318
|
+
lastStepRef: n,
|
|
319
|
+
displayLeftScrollButton: s,
|
|
320
|
+
displayRightScrollButton: p,
|
|
321
|
+
handleHorizontalScroll: u
|
|
322
|
+
};
|
|
323
|
+
}, v = E.bind(ur), _ = "purpur-stepper", M = ({
|
|
324
|
+
["aria-label"]: e,
|
|
325
|
+
["data-testid"]: t,
|
|
326
|
+
children: n,
|
|
327
|
+
className: s,
|
|
328
|
+
completedStepLabel: i,
|
|
329
|
+
currentStepIndex: p = 0,
|
|
330
|
+
onStepChange: m,
|
|
331
|
+
alignWithGrid: u = !1,
|
|
332
|
+
leftScrollButtonAriaLabel: o,
|
|
333
|
+
rightScrollButtonAriaLabel: a,
|
|
334
|
+
variant: l = _r.PRIMARY,
|
|
335
|
+
...h
|
|
336
|
+
}) => {
|
|
337
|
+
const d = q.toArray(n).filter(br), b = q.map(d, (f) => {
|
|
338
|
+
const { disabled: k, finished: Q, label: Z } = f.props;
|
|
339
|
+
return {
|
|
340
|
+
disabled: k ?? !1,
|
|
341
|
+
finished: Q ?? !1,
|
|
342
|
+
label: Z
|
|
343
|
+
};
|
|
344
|
+
}), g = er(), $ = `${g}-content`, {
|
|
345
|
+
scrollContainer: T,
|
|
346
|
+
firstStepRef: C,
|
|
347
|
+
lastStepRef: G,
|
|
348
|
+
displayLeftScrollButton: P,
|
|
349
|
+
displayRightScrollButton: X,
|
|
350
|
+
handleHorizontalScroll: j
|
|
351
|
+
} = kr(), { contentRef: U } = vr(p), W = v([
|
|
352
|
+
s,
|
|
353
|
+
_,
|
|
354
|
+
{
|
|
355
|
+
[`${_}--${l}`]: l
|
|
356
|
+
}
|
|
357
|
+
]), V = (f) => {
|
|
358
|
+
f.target.scrollIntoView({
|
|
359
|
+
behavior: "smooth",
|
|
360
|
+
block: "nearest",
|
|
361
|
+
inline: "center"
|
|
362
|
+
});
|
|
363
|
+
}, J = (f, k) => {
|
|
364
|
+
f.preventDefault(), V(f), m(k);
|
|
365
|
+
}, K = (f) => {
|
|
366
|
+
V(f);
|
|
367
|
+
};
|
|
368
|
+
return /* @__PURE__ */ S("div", { className: W, ...h, children: [
|
|
369
|
+
/* @__PURE__ */ r(dr, { variant: l, alignWithGrid: u, children: /* @__PURE__ */ S("div", { className: v(`${_}__nav-container`), children: [
|
|
370
|
+
/* @__PURE__ */ S(nr, { children: [
|
|
371
|
+
/* @__PURE__ */ r(pr, { ref: T, children: /* @__PURE__ */ r(
|
|
372
|
+
"nav",
|
|
373
|
+
{
|
|
374
|
+
"aria-label": e,
|
|
375
|
+
"data-testid": t,
|
|
376
|
+
className: v([
|
|
377
|
+
`${_}__nav`,
|
|
378
|
+
{
|
|
379
|
+
[`${_}__nav--${l}`]: l
|
|
380
|
+
}
|
|
381
|
+
]),
|
|
382
|
+
children: /* @__PURE__ */ r(
|
|
383
|
+
$r,
|
|
384
|
+
{
|
|
385
|
+
"data-testid": t,
|
|
386
|
+
variant: l,
|
|
387
|
+
firstStepRef: C,
|
|
388
|
+
lastStepRef: G,
|
|
389
|
+
steps: b,
|
|
390
|
+
currentStepIndex: p,
|
|
391
|
+
handleStepChange: J,
|
|
392
|
+
handleStepFocus: K,
|
|
393
|
+
completedStepLabel: i,
|
|
394
|
+
idPrefix: g
|
|
395
|
+
}
|
|
396
|
+
)
|
|
397
|
+
}
|
|
398
|
+
) }),
|
|
399
|
+
/* @__PURE__ */ r(lr, { orientation: "horizontal", children: /* @__PURE__ */ r(ir, {}) })
|
|
400
|
+
] }),
|
|
401
|
+
P && /* @__PURE__ */ r(
|
|
402
|
+
D,
|
|
403
|
+
{
|
|
404
|
+
"aria-label": o,
|
|
405
|
+
className: v([
|
|
406
|
+
`${_}__scroll-button`,
|
|
407
|
+
`${_}__scroll-button--left`,
|
|
408
|
+
{
|
|
409
|
+
[`${_}__scroll-button--align-with-grid`]: u
|
|
410
|
+
}
|
|
411
|
+
]),
|
|
412
|
+
variant: F.TEXT,
|
|
413
|
+
tabIndex: -1,
|
|
414
|
+
iconOnly: !0,
|
|
415
|
+
onClick: () => {
|
|
416
|
+
j(L.LEFT);
|
|
417
|
+
},
|
|
418
|
+
children: /* @__PURE__ */ r(tr, { className: v(`${_}__scroll-button-icon`), size: "md" })
|
|
419
|
+
}
|
|
420
|
+
),
|
|
421
|
+
X && /* @__PURE__ */ r(
|
|
422
|
+
D,
|
|
423
|
+
{
|
|
424
|
+
"aria-label": a,
|
|
425
|
+
className: v([
|
|
426
|
+
`${_}__scroll-button`,
|
|
427
|
+
`${_}__scroll-button--right`,
|
|
428
|
+
{
|
|
429
|
+
[`${_}__scroll-button--align-with-grid`]: u
|
|
430
|
+
}
|
|
431
|
+
]),
|
|
432
|
+
variant: F.TEXT,
|
|
433
|
+
tabIndex: -1,
|
|
434
|
+
iconOnly: !0,
|
|
435
|
+
onClick: () => {
|
|
436
|
+
j(L.RIGHT);
|
|
437
|
+
},
|
|
438
|
+
children: /* @__PURE__ */ r(sr, { className: v(`${_}__scroll-button-icon`), size: "md" })
|
|
439
|
+
}
|
|
440
|
+
)
|
|
441
|
+
] }) }),
|
|
442
|
+
/* @__PURE__ */ r(
|
|
443
|
+
"section",
|
|
444
|
+
{
|
|
445
|
+
tabIndex: -1,
|
|
446
|
+
id: $,
|
|
447
|
+
"aria-labelledby": `${g}-trigger-${p}`,
|
|
448
|
+
ref: U,
|
|
449
|
+
style: { outline: "none" },
|
|
450
|
+
children: q.map(d, (f, k) => /* @__PURE__ */ r(
|
|
451
|
+
"div",
|
|
452
|
+
{
|
|
453
|
+
className: v({
|
|
454
|
+
[`${_}__hidden`]: k !== p
|
|
455
|
+
}),
|
|
456
|
+
hidden: k !== p,
|
|
457
|
+
children: f
|
|
458
|
+
}
|
|
459
|
+
))
|
|
460
|
+
}
|
|
461
|
+
)
|
|
462
|
+
] });
|
|
463
|
+
};
|
|
464
|
+
M.Content = mr;
|
|
465
|
+
M.displayName = "Stepper";
|
|
466
|
+
export {
|
|
467
|
+
M as S
|
|
468
|
+
};
|
|
469
|
+
//# sourceMappingURL=stepper-D59T-Y2_.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepper-D59T-Y2_.mjs","sources":["../../../components/stepper/src/constants.ts","../../../components/stepper/src/stepper-container.tsx","../../../components/stepper/src/stepper-content.tsx","../../../components/stepper/src/stepper-link.tsx","../../../components/stepper/src/stepper-nav-items.tsx","../../../components/stepper/src/use-content-focus.hook.ts","../../../components/stepper/src/use-scroll-buttons.hook.ts","../../../components/stepper/src/stepper.tsx"],"sourcesContent":["export const STEPPER_VARIANT = {\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\",\n} as const;\n\nexport const VISIBILITY_STATES = {\n SMALL_SCREEN: \"small-screen\",\n LARGE_SCREEN: \"large-screen\",\n ALWAYS: \"always\",\n} as const;\n","import React, { type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./stepper-container.module.scss\";\nimport { type StepperVariant } from \"./types\";\n\nconst cx = c.bind(styles);\n\nexport type StepperContainerProps = Omit<BaseProps, \"children\"> & {\n children: ReactNode;\n alignWithGrid: boolean;\n variant: StepperVariant;\n};\n\nconst rootClassName = \"purpur-stepper-container\";\n\nexport const StepperContainer = ({\n [\"data-testid\"]: dataTestId = \"purpur-stepper-container\",\n children,\n className,\n alignWithGrid,\n variant,\n ...props\n}: StepperContainerProps) => {\n const classes: string = cx(className, rootClassName, {\n [`${rootClassName}--${variant}`]: variant,\n [`${rootClassName}--align-with-grid`]: alignWithGrid,\n });\n\n return (\n <div className={classes} data-testid={dataTestId} {...props}>\n <div\n className={cx(`${rootClassName}__inner`, {\n [`${rootClassName}__inner--align-with-grid`]: alignWithGrid,\n })}\n >\n {children}\n </div>\n </div>\n );\n};\n","import React, { forwardRef, isValidElement, type ReactElement, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\n\nimport { type Optional, type Step } from \"./types\";\n\nexport type StepperContentProps = Omit<BaseProps, \"children\"> & {\n children: ReactNode;\n} & Optional<Step, \"disabled\" | \"finished\">;\n\nexport const StepperContent = forwardRef<HTMLDivElement, StepperContentProps>(\n ({ children, ...props }, ref) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { finished, ...rest } = props;\n return (\n <div {...rest} ref={ref}>\n {children}\n </div>\n );\n }\n);\n\nexport const isStepperContent = (child?: ReactNode): child is ReactElement<StepperContentProps> =>\n !!child && isValidElement<StepperContentProps>(child) && !!child.props.label;\n","import React, { forwardRef, type MouseEvent } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { IconCheckmark } from \"@purpur/icon/checkmark\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./stepper-link.module.scss\";\nimport {\n type HandleStepChangeFunction,\n type HandleStepFocusFunction,\n type Step,\n type StepperVariant,\n type VisibilityStates,\n} from \"./types\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-stepper-link\";\n\nexport type StepNumberProps = {\n current: boolean;\n disabled: boolean;\n stepNumber: number;\n [\"data-testid\"]?: string;\n};\n\nconst StepNumber = ({\n [\"data-testid\"]: dataTestId,\n current,\n disabled,\n stepNumber,\n}: StepNumberProps) => {\n return (\n <div\n data-testid={dataTestId}\n className={cx([\n `${rootClassName}__step-number`,\n {\n [`${rootClassName}__step-number--current`]: current,\n },\n {\n [`${rootClassName}__step-number--disabled`]: disabled,\n },\n ])}\n >\n {stepNumber}\n </div>\n );\n};\n\nexport type StepperLinkProps = Omit<BaseProps<\"a\">, \"children\"> & {\n variant: StepperVariant;\n step: Step;\n currentStepIndex: number;\n index: number;\n indexOfLastItem: number;\n whenToBeVisible: VisibilityStates;\n handleStepChange: HandleStepChangeFunction;\n handleStepFocus: HandleStepFocusFunction;\n completedStepLabel: string;\n idPrefix: string;\n};\n\nexport const StepperLink = forwardRef<HTMLAnchorElement, StepperLinkProps>(\n (\n {\n className,\n [\"data-testid\"]: dataTestId,\n variant,\n step,\n indexOfLastItem,\n index,\n currentStepIndex,\n whenToBeVisible,\n handleStepChange,\n handleStepFocus,\n completedStepLabel,\n idPrefix,\n ...props\n },\n ref\n ) => {\n const placement = index === 0 ? \"first\" : index === indexOfLastItem ? \"last\" : \"middle\";\n const isCurrentStep = index === currentStepIndex;\n\n const handleClick = (e: MouseEvent<HTMLAnchorElement>): void => {\n if (step.disabled) {\n e.preventDefault();\n return;\n }\n handleStepChange(e, index);\n };\n\n return (\n <a\n {...props}\n ref={ref}\n className={cx(\n className,\n rootClassName,\n `${rootClassName}--${placement}`,\n `${rootClassName}--${variant}`,\n `${rootClassName}--visibility-${whenToBeVisible}`,\n {\n [`${rootClassName}--current`]: isCurrentStep,\n },\n {\n [`${rootClassName}--disabled`]: step.disabled,\n },\n {\n [\"arrow-tail\"]: placement !== \"first\",\n },\n {\n [\"arrow-forward\"]: placement !== \"last\",\n }\n )}\n id={`${idPrefix}-trigger-${index}`}\n href={step.disabled ? undefined : `#${idPrefix}-content`}\n tabIndex={step.disabled ? -1 : undefined}\n data-testid={`${dataTestId}-step-trigger-item-${index}`}\n aria-disabled={step.disabled}\n aria-current={isCurrentStep && \"step\"}\n aria-label={\n step.finished && !isCurrentStep\n ? [String(index + 1), step.label, completedStepLabel].filter(Boolean).join(\", \")\n : undefined\n }\n onClick={handleClick}\n onFocus={handleStepFocus}\n >\n <span className={cx(`${rootClassName}__trigger-outline`)}>\n {step.finished && !isCurrentStep ? (\n <IconCheckmark\n className={cx(`${rootClassName}__icon`)}\n data-testid={`${dataTestId}-step-finished-icon`}\n size=\"sm\"\n />\n ) : (\n <StepNumber\n data-testid={`${dataTestId}-step-number`}\n current={isCurrentStep}\n disabled={step.disabled}\n stepNumber={index + 1}\n />\n )}\n <span\n className={cx(`${rootClassName}__step-label`, {\n [`sr-only--lg-down`]: !isCurrentStep,\n })}\n >\n {step.label}\n </span>\n </span>\n </a>\n );\n }\n);\n","import React, { forwardRef, type RefObject } from \"react\";\nimport { Tooltip } from \"@purpur/tooltip\";\nimport c from \"classnames/bind\";\n\nimport { VISIBILITY_STATES } from \"./constants\";\nimport { StepperLink } from \"./stepper-link\";\nimport styles from \"./stepper-nav-items.module.scss\";\nimport {\n type HandleStepChangeFunction,\n type HandleStepFocusFunction,\n type Step,\n type StepperVariant,\n} from \"./types\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-stepper-nav-items\";\n\nexport type StepperNavItemsProps = {\n variant: StepperVariant;\n [\"data-testid\"]?: string;\n firstStepRef: RefObject<HTMLLIElement | null>;\n lastStepRef: RefObject<HTMLLIElement | null>;\n steps: Step[];\n currentStepIndex: number;\n handleStepChange: HandleStepChangeFunction;\n handleStepFocus: HandleStepFocusFunction;\n completedStepLabel: string;\n idPrefix: string;\n};\n\nexport const StepperNavItems = forwardRef<HTMLOListElement, StepperNavItemsProps>(\n (\n {\n [\"data-testid\"]: dataTestId,\n variant,\n handleStepChange,\n handleStepFocus,\n steps,\n firstStepRef,\n lastStepRef,\n currentStepIndex,\n completedStepLabel,\n idPrefix,\n },\n ref\n ) => {\n const stepListItems = steps.map((step: Step, index: number) => {\n const tooltipTriggerItem = (\n <span className={cx(`${rootClassName}__tooltip-trigger-item-container`)}>\n <StepperLink\n data-testid={`${dataTestId}-disabled-sm`}\n variant={variant}\n step={step}\n indexOfLastItem={steps.length - 1}\n index={index}\n currentStepIndex={currentStepIndex}\n whenToBeVisible={VISIBILITY_STATES.SMALL_SCREEN}\n completedStepLabel={completedStepLabel}\n handleStepChange={handleStepChange}\n handleStepFocus={handleStepFocus}\n idPrefix={idPrefix}\n />\n </span>\n );\n\n return (\n <li\n className={cx(`${rootClassName}__list-item`, {\n [`${rootClassName}__list-item--current`]: index === currentStepIndex,\n })}\n ref={index === 0 ? firstStepRef : index === steps.length - 1 ? lastStepRef : null}\n key={step.label}\n >\n {step.disabled ? (\n <>\n <Tooltip\n contentClassName={cx(`${rootClassName}__tooltip-content`)}\n triggerElement={tooltipTriggerItem}\n >\n {step.label}\n </Tooltip>\n <StepperLink\n data-testid={`${dataTestId}-disabled-lg`}\n variant={variant}\n step={step}\n indexOfLastItem={steps.length - 1}\n index={index}\n currentStepIndex={currentStepIndex}\n whenToBeVisible={VISIBILITY_STATES.LARGE_SCREEN}\n completedStepLabel={completedStepLabel}\n handleStepChange={handleStepChange}\n handleStepFocus={handleStepFocus}\n idPrefix={idPrefix}\n />\n </>\n ) : (\n <StepperLink\n data-testid={dataTestId}\n variant={variant}\n step={step}\n indexOfLastItem={steps.length - 1}\n index={index}\n currentStepIndex={currentStepIndex}\n whenToBeVisible={VISIBILITY_STATES.ALWAYS}\n completedStepLabel={completedStepLabel}\n handleStepChange={handleStepChange}\n handleStepFocus={handleStepFocus}\n idPrefix={idPrefix}\n />\n )}\n </li>\n );\n });\n return (\n <ol ref={ref} className={cx(`${rootClassName}__list`)}>\n {stepListItems}\n </ol>\n );\n }\n);\n","import { type RefObject, useEffect, useRef } from \"react\";\n\ninterface UseContentFocusHook<T extends HTMLElement> {\n contentRef: RefObject<T | null>;\n}\n\nexport const useContentFocus = <T extends HTMLElement>(\n currentStepIndex: number\n): UseContentFocusHook<T> => {\n const firstLoad = useRef<boolean>(true);\n const contentRef = useRef<T | null>(null);\n\n useEffect(() => {\n if (!firstLoad.current && contentRef.current !== null) {\n contentRef.current.focus();\n }\n firstLoad.current = false;\n\n }, [currentStepIndex]);\n\n return {\n contentRef,\n };\n};\n","import { type RefObject, useEffect, useRef, useState } from \"react\";\n\nexport const SCROLL_DIRECTION = {\n LEFT: \"left\",\n RIGHT: \"right\",\n} as const;\n\nexport type ScrollDirection = (typeof SCROLL_DIRECTION)[keyof typeof SCROLL_DIRECTION];\n\nexport type UseScrollHook<ContainerElement, WatchedElement> = {\n scrollContainer: RefObject<ContainerElement | null>;\n firstStepRef: RefObject<WatchedElement | null>;\n lastStepRef: RefObject<WatchedElement | null>;\n displayLeftScrollButton: boolean;\n displayRightScrollButton: boolean;\n handleHorizontalScroll: (dir: ScrollDirection) => void;\n};\n\nexport const useScrollButtons = <\n ContainerElement extends HTMLElement,\n WatchedElement extends HTMLElement\n>(): UseScrollHook<ContainerElement, WatchedElement> => {\n const scrollContainer = useRef<ContainerElement | null>(null);\n const firstStepRef = useRef<WatchedElement | null>(null);\n const lastStepRef = useRef<WatchedElement | null>(null);\n const [displayLeftScrollButton, setDisplayLeftScrollButton] = useState(false);\n const [displayRightScrollButton, setDisplayRightScrollButton] = useState(false);\n\n const handleHorizontalScroll = (dir: ScrollDirection): void => {\n if (!scrollContainer.current) {\n return;\n }\n const scrollableContainer = scrollContainer.current;\n const scrollableContainerWidth = scrollableContainer.clientWidth;\n const currentScrollLeft = scrollableContainer.scrollLeft;\n if (dir === SCROLL_DIRECTION.LEFT) {\n scrollableContainer.scroll({\n behavior: \"smooth\",\n left: currentScrollLeft - scrollableContainerWidth / 2,\n });\n }\n if (dir === SCROLL_DIRECTION.RIGHT) {\n scrollableContainer.scroll({\n behavior: \"smooth\",\n left: currentScrollLeft + scrollableContainerWidth / 2,\n });\n }\n };\n\n useEffect(() => {\n if (firstStepRef.current && lastStepRef.current && scrollContainer.current) {\n const observer: IntersectionObserver = new IntersectionObserver(\n (entries: IntersectionObserverEntry[]) => {\n for (const entry of entries) {\n if (entry.target === firstStepRef.current) {\n if (entry.isIntersecting) {\n setDisplayLeftScrollButton(false);\n } else {\n setDisplayLeftScrollButton(true);\n }\n continue;\n }\n if (entry.target === lastStepRef.current) {\n if (entry.isIntersecting) {\n setDisplayRightScrollButton(false);\n } else {\n setDisplayRightScrollButton(true);\n }\n }\n }\n },\n {\n root: scrollContainer.current,\n threshold: 0.95,\n }\n );\n\n observer.observe(firstStepRef.current);\n observer.observe(lastStepRef.current);\n\n return () => observer.disconnect();\n }\n return undefined;\n }, [firstStepRef, lastStepRef, scrollContainer]);\n\n return {\n scrollContainer,\n firstStepRef,\n lastStepRef,\n displayLeftScrollButton,\n displayRightScrollButton,\n handleHorizontalScroll,\n };\n};\n","import React, { Children, type ReactElement, useId } from \"react\";\nimport { Button, BUTTON_VARIANT } from \"@purpur/button\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { IconChevronLeft } from \"@purpur/icon/chevron-left\";\nimport { IconChevronRight } from \"@purpur/icon/chevron-right\";\nimport * as ScrollArea from \"@radix-ui/react-scroll-area\";\nimport c from \"classnames/bind\";\n\nimport { STEPPER_VARIANT } from \"./constants\";\nimport styles from \"./stepper.module.scss\";\nimport { StepperContainer } from \"./stepper-container\";\nimport { isStepperContent, StepperContent } from \"./stepper-content\";\nimport { StepperNavItems } from \"./stepper-nav-items\";\nimport { type Step, type StepChangeFunction, type StepperVariant } from \"./types\";\nimport { useContentFocus } from \"./use-content-focus.hook\";\nimport { SCROLL_DIRECTION, useScrollButtons } from \"./use-scroll-buttons.hook\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-stepper\";\n\nexport type StepperProps = Omit<BaseProps, \"children\"> & {\n children: Array<ReactElement<typeof StepperContent>> | ReactElement<typeof StepperContent>;\n completedStepLabel: string;\n currentStepIndex: number;\n onStepChange: StepChangeFunction;\n alignWithGrid?: boolean;\n leftScrollButtonAriaLabel: string;\n rightScrollButtonAriaLabel: string;\n variant: StepperVariant;\n};\n\nexport type StepperComponent<P> = React.FunctionComponent<P> & {\n Content: typeof StepperContent;\n};\n\nexport const Stepper: StepperComponent<StepperProps> = ({\n [\"aria-label\"]: ariaLabel,\n [\"data-testid\"]: dataTestId,\n children,\n className,\n completedStepLabel,\n currentStepIndex = 0,\n onStepChange,\n alignWithGrid = false,\n leftScrollButtonAriaLabel,\n rightScrollButtonAriaLabel,\n variant = STEPPER_VARIANT.PRIMARY,\n ...props\n}: StepperProps) => {\n const stepperContentChildren = Children.toArray(children).filter(isStepperContent);\n const steps: Step[] = Children.map(stepperContentChildren, (child) => {\n const { disabled, finished, label } = child.props;\n return {\n disabled: disabled ?? false,\n finished: finished ?? false,\n label,\n };\n });\n const idPrefix = useId();\n const contentId = `${idPrefix}-content`;\n const {\n scrollContainer,\n firstStepRef,\n lastStepRef,\n displayLeftScrollButton,\n displayRightScrollButton,\n handleHorizontalScroll,\n } = useScrollButtons<HTMLDivElement, HTMLLIElement>();\n const { contentRef } = useContentFocus<HTMLElement>(currentStepIndex);\n\n const classes: string = cx([\n className,\n rootClassName,\n {\n [`${rootClassName}--${variant}`]: variant,\n },\n ]);\n const scrollTriggerIntoView = (e: React.FocusEvent | React.MouseEvent): void => {\n (e.target as HTMLAnchorElement).scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"center\",\n });\n };\n\n const handleStepChange = (e: React.MouseEvent<HTMLAnchorElement>, idx: number): void => {\n e.preventDefault();\n scrollTriggerIntoView(e);\n onStepChange(idx);\n };\n\n const handleStepFocus = (e: React.FocusEvent<HTMLAnchorElement>): void => {\n scrollTriggerIntoView(e);\n };\n\n return (\n <div className={classes} {...props}>\n <StepperContainer variant={variant} alignWithGrid={alignWithGrid}>\n <div className={cx(`${rootClassName}__nav-container`)}>\n <ScrollArea.Root>\n <ScrollArea.Viewport ref={scrollContainer}>\n <nav\n aria-label={ariaLabel}\n data-testid={dataTestId}\n className={cx([\n `${rootClassName}__nav`,\n {\n [`${rootClassName}__nav--${variant}`]: variant,\n },\n ])}\n >\n <StepperNavItems\n data-testid={dataTestId}\n variant={variant}\n firstStepRef={firstStepRef}\n lastStepRef={lastStepRef}\n steps={steps}\n currentStepIndex={currentStepIndex}\n handleStepChange={handleStepChange}\n handleStepFocus={handleStepFocus}\n completedStepLabel={completedStepLabel}\n idPrefix={idPrefix}\n />\n </nav>\n </ScrollArea.Viewport>\n <ScrollArea.Scrollbar orientation=\"horizontal\">\n <ScrollArea.Thumb />\n </ScrollArea.Scrollbar>\n </ScrollArea.Root>\n {displayLeftScrollButton && (\n <Button\n aria-label={leftScrollButtonAriaLabel}\n className={cx([\n `${rootClassName}__scroll-button`,\n `${rootClassName}__scroll-button--left`,\n {\n [`${rootClassName}__scroll-button--align-with-grid`]: alignWithGrid,\n },\n ])}\n variant={BUTTON_VARIANT.TEXT}\n tabIndex={-1}\n iconOnly\n onClick={() => {\n handleHorizontalScroll(SCROLL_DIRECTION.LEFT);\n }}\n >\n <IconChevronLeft className={cx(`${rootClassName}__scroll-button-icon`)} size=\"md\" />\n </Button>\n )}\n {displayRightScrollButton && (\n <Button\n aria-label={rightScrollButtonAriaLabel}\n className={cx([\n `${rootClassName}__scroll-button`,\n `${rootClassName}__scroll-button--right`,\n {\n [`${rootClassName}__scroll-button--align-with-grid`]: alignWithGrid,\n },\n ])}\n variant={BUTTON_VARIANT.TEXT}\n tabIndex={-1}\n iconOnly\n onClick={() => {\n handleHorizontalScroll(SCROLL_DIRECTION.RIGHT);\n }}\n >\n <IconChevronRight className={cx(`${rootClassName}__scroll-button-icon`)} size=\"md\" />\n </Button>\n )}\n </div>\n </StepperContainer>\n <section\n tabIndex={-1}\n id={contentId}\n aria-labelledby={`${idPrefix}-trigger-${currentStepIndex}`}\n ref={contentRef}\n style={{ outline: \"none\" }}\n >\n {Children.map(stepperContentChildren, (child, index: number) => (\n <div\n className={cx({\n [`${rootClassName}__hidden`]: index !== currentStepIndex,\n })}\n hidden={index !== currentStepIndex}\n >\n {child}\n </div>\n ))}\n </section>\n </div>\n );\n};\n\nStepper.Content = StepperContent;\n\nStepper.displayName = \"Stepper\";\n"],"names":["STEPPER_VARIANT","VISIBILITY_STATES","cx","c","styles","rootClassName","StepperContainer","dataTestId","children","className","alignWithGrid","variant","props","classes","jsx","StepperContent","forwardRef","ref","finished","rest","isStepperContent","child","isValidElement","StepNumber","current","disabled","stepNumber","StepperLink","step","indexOfLastItem","index","currentStepIndex","whenToBeVisible","handleStepChange","handleStepFocus","completedStepLabel","idPrefix","placement","isCurrentStep","handleClick","e","IconCheckmark","StepperNavItems","steps","firstStepRef","lastStepRef","stepListItems","tooltipTriggerItem","jsxs","Fragment","Tooltip","useContentFocus","firstLoad","useRef","contentRef","useEffect","SCROLL_DIRECTION","useScrollButtons","scrollContainer","displayLeftScrollButton","setDisplayLeftScrollButton","useState","displayRightScrollButton","setDisplayRightScrollButton","handleHorizontalScroll","dir","scrollableContainer","scrollableContainerWidth","currentScrollLeft","observer","entries","entry","Stepper","ariaLabel","onStepChange","leftScrollButtonAriaLabel","rightScrollButtonAriaLabel","stepperContentChildren","Children","label","useId","contentId","scrollTriggerIntoView","idx","ScrollArea.Root","ScrollArea.Viewport","ScrollArea.Scrollbar","ScrollArea.Thumb","Button","BUTTON_VARIANT","IconChevronLeft","IconChevronRight"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),o=require("react"),S=require("./button-C5CYysw5.js"),X=require("./chevron-left.es-B0vPg5XM.js"),W=require("./chevron-right.es-Bv376M3o.js"),C=require("./index-CoR7YA3H.js"),L=require("./bind-DeUYJ6m9.js"),J=require("./tooltip-DeP1UsPW.js"),K=require("./checkmark.es-lYntWFA3.js"),Q={PRIMARY:"primary"},x={SMALL_SCREEN:"small-screen",LARGE_SCREEN:"large-screen",ALWAYS:"always"},Z={"purpur-stepper__nav-container":"_purpur-stepper__nav-container_17tj8_1","purpur-stepper__nav":"_purpur-stepper__nav_17tj8_1","purpur-stepper":"_purpur-stepper_17tj8_1","purpur-stepper__scroll-button":"_purpur-stepper__scroll-button_17tj8_7","purpur-stepper__scroll-button--left":"_purpur-stepper__scroll-button--left_17tj8_18","purpur-stepper__scroll-button--right":"_purpur-stepper__scroll-button--right_17tj8_21","purpur-stepper__scroll-button--align-with-grid":"_purpur-stepper__scroll-button--align-with-grid_17tj8_24","purpur-stepper__scroll-button-icon":"_purpur-stepper__scroll-button-icon_17tj8_48","purpur-stepper__hidden":"_purpur-stepper__hidden_17tj8_51"},ee={"purpur-stepper-container":"_purpur-stepper-container_lnheo_1","purpur-stepper-container__inner--align-with-grid":"_purpur-stepper-container__inner--align-with-grid_lnheo_5","purpur-stepper-container--primary":"_purpur-stepper-container--primary_lnheo_28","purpur-stepper-container--secondary":"_purpur-stepper-container--secondary_lnheo_31"},V=L.c.bind(ee),R="purpur-stepper-container",re=({["data-testid"]:r="purpur-stepper-container",children:t,className:n,alignWithGrid:s,variant:p,...l})=>{const m=V(n,R,{[`${R}--${p}`]:p,[`${R}--align-with-grid`]:s});return e.jsx("div",{className:m,"data-testid":r,...l,children:e.jsx("div",{className:V(`${R}__inner`,{[`${R}__inner--align-with-grid`]:s}),children:t})})},te=o.forwardRef(({children:r,...t},n)=>{const{finished:s,...p}=t;return e.jsx("div",{...p,ref:n,children:r})}),se=r=>!!r&&o.isValidElement(r)&&!!r.props.label,ne={"purpur-stepper-link":"_purpur-stepper-link_1sqvz_1","purpur-stepper-link--disabled":"_purpur-stepper-link--disabled_1sqvz_27","purpur-stepper-link__trigger-outline":"_purpur-stepper-link__trigger-outline_1sqvz_53","purpur-stepper-link--first":"_purpur-stepper-link--first_1sqvz_65","purpur-stepper-link--current":"_purpur-stepper-link--current_1sqvz_65","purpur-stepper-link--middle":"_purpur-stepper-link--middle_1sqvz_70","purpur-stepper-link--last":"_purpur-stepper-link--last_1sqvz_80","purpur-stepper-link--visibility-small-screen":"_purpur-stepper-link--visibility-small-screen_1sqvz_90","purpur-stepper-link--visibility-large-screen":"_purpur-stepper-link--visibility-large-screen_1sqvz_98","purpur-stepper-link__icon":"_purpur-stepper-link__icon_1sqvz_122","purpur-stepper-link__step-number":"_purpur-stepper-link__step-number_1sqvz_132","purpur-stepper-link__step-number--current":"_purpur-stepper-link__step-number--current_1sqvz_143","purpur-stepper-link__step-number--disabled":"_purpur-stepper-link__step-number--disabled_1sqvz_147","purpur-stepper-link__step-label":"_purpur-stepper-link__step-label_1sqvz_152","arrow-forward":"_arrow-forward_1sqvz_156","purpur-stepper-link--primary":"_purpur-stepper-link--primary_1sqvz_168","purpur-stepper-link--secondary":"_purpur-stepper-link--secondary_1sqvz_177","arrow-tail":"_arrow-tail_1sqvz_187","sr-only--lg-down":"_sr-only--lg-down_1sqvz_206"},y=L.c.bind(ne),d="purpur-stepper-link",le=({["data-testid"]:r,current:t,disabled:n,stepNumber:s})=>e.jsx("div",{"data-testid":r,className:y([`${d}__step-number`,{[`${d}__step-number--current`]:t},{[`${d}__step-number--disabled`]:n}]),children:s}),E=o.forwardRef(({className:r,["data-testid"]:t,variant:n,step:s,indexOfLastItem:p,index:l,currentStepIndex:m,whenToBeVisible:c,handleStepChange:u,handleStepFocus:_,completedStepLabel:i,idPrefix:g,...b},f)=>{const v=l===0?"first":l===p?"last":"middle",$=l===m,T=w=>{if(s.disabled){w.preventDefault();return}u(w,l)};return e.jsx("a",{...b,ref:f,className:y(r,d,`${d}--${v}`,`${d}--${n}`,`${d}--visibility-${c}`,{[`${d}--current`]:$},{[`${d}--disabled`]:s.disabled},{"arrow-tail":v!=="first"},{"arrow-forward":v!=="last"}),id:`${g}-trigger-${l}`,href:s.disabled?void 0:`#${g}-content`,tabIndex:s.disabled?-1:void 0,"data-testid":`${t}-step-trigger-item-${l}`,"aria-disabled":s.disabled,"aria-current":$&&"step","aria-label":s.finished&&!$?[String(l+1),s.label,i].filter(Boolean).join(", "):void 0,onClick:T,onFocus:_,children:e.jsxs("span",{className:y(`${d}__trigger-outline`),children:[s.finished&&!$?e.jsx(K.a,{className:y(`${d}__icon`),"data-testid":`${t}-step-finished-icon`,size:"sm"}):e.jsx(le,{"data-testid":`${t}-step-number`,current:$,disabled:s.disabled,stepNumber:l+1}),e.jsx("span",{className:y(`${d}__step-label`,{"sr-only--lg-down":!$}),children:s.label})]})})}),ie={"purpur-stepper-nav-items__list":"_purpur-stepper-nav-items__list_lgkh0_1","purpur-stepper-nav-items__list-item":"_purpur-stepper-nav-items__list-item_lgkh0_7","purpur-stepper-nav-items__list-item--current":"_purpur-stepper-nav-items__list-item--current_lgkh0_25","purpur-stepper-nav-items__tooltip-content":"_purpur-stepper-nav-items__tooltip-content_lgkh0_31","purpur-stepper-nav-items__tooltip-trigger-item-container":"_purpur-stepper-nav-items__tooltip-trigger-item-container_lgkh0_34"},q=L.c.bind(ie),N="purpur-stepper-nav-items",pe=o.forwardRef(({["data-testid"]:r,variant:t,handleStepChange:n,handleStepFocus:s,steps:p,firstStepRef:l,lastStepRef:m,currentStepIndex:c,completedStepLabel:u,idPrefix:_},i)=>{const g=p.map((b,f)=>{const v=e.jsx("span",{className:q(`${N}__tooltip-trigger-item-container`),children:e.jsx(E,{"data-testid":`${r}-disabled-sm`,variant:t,step:b,indexOfLastItem:p.length-1,index:f,currentStepIndex:c,whenToBeVisible:x.SMALL_SCREEN,completedStepLabel:u,handleStepChange:n,handleStepFocus:s,idPrefix:_})});return e.jsx("li",{className:q(`${N}__list-item`,{[`${N}__list-item--current`]:f===c}),ref:f===0?l:f===p.length-1?m:null,children:b.disabled?e.jsxs(e.Fragment,{children:[e.jsx(J.Tooltip,{contentClassName:q(`${N}__tooltip-content`),triggerElement:v,children:b.label}),e.jsx(E,{"data-testid":`${r}-disabled-lg`,variant:t,step:b,indexOfLastItem:p.length-1,index:f,currentStepIndex:c,whenToBeVisible:x.LARGE_SCREEN,completedStepLabel:u,handleStepChange:n,handleStepFocus:s,idPrefix:_})]}):e.jsx(E,{"data-testid":r,variant:t,step:b,indexOfLastItem:p.length-1,index:f,currentStepIndex:c,whenToBeVisible:x.ALWAYS,completedStepLabel:u,handleStepChange:n,handleStepFocus:s,idPrefix:_})},b.label)});return e.jsx("ol",{ref:i,className:q(`${N}__list`),children:g})}),oe=r=>{const t=o.useRef(!0),n=o.useRef(null);return o.useEffect(()=>{!t.current&&n.current!==null&&n.current.focus(),t.current=!1},[r]),{contentRef:n}},z={LEFT:"left",RIGHT:"right"},ue=()=>{const r=o.useRef(null),t=o.useRef(null),n=o.useRef(null),[s,p]=o.useState(!1),[l,m]=o.useState(!1),c=u=>{if(!r.current)return;const _=r.current,i=_.clientWidth,g=_.scrollLeft;u===z.LEFT&&_.scroll({behavior:"smooth",left:g-i/2}),u===z.RIGHT&&_.scroll({behavior:"smooth",left:g+i/2})};return o.useEffect(()=>{if(t.current&&n.current&&r.current){const u=new IntersectionObserver(_=>{for(const i of _){if(i.target===t.current){i.isIntersecting?p(!1):p(!0);continue}i.target===n.current&&(i.isIntersecting?m(!1):m(!0))}},{root:r.current,threshold:.95});return u.observe(t.current),u.observe(n.current),()=>u.disconnect()}},[t,n,r]),{scrollContainer:r,firstStepRef:t,lastStepRef:n,displayLeftScrollButton:s,displayRightScrollButton:l,handleHorizontalScroll:c}},k=L.c.bind(Z),a="purpur-stepper",I=({["aria-label"]:r,["data-testid"]:t,children:n,className:s,completedStepLabel:p,currentStepIndex:l=0,onStepChange:m,alignWithGrid:c=!1,leftScrollButtonAriaLabel:u,rightScrollButtonAriaLabel:_,variant:i=Q.PRIMARY,...g})=>{const b=o.Children.toArray(n).filter(se),f=o.Children.map(b,h=>{const{disabled:j,finished:P,label:U}=h.props;return{disabled:j??!1,finished:P??!1,label:U}}),v=o.useId(),$=`${v}-content`,{scrollContainer:T,firstStepRef:w,lastStepRef:O,displayLeftScrollButton:D,displayRightScrollButton:F,handleHorizontalScroll:A}=ue(),{contentRef:H}=oe(l),Y=k([s,a,{[`${a}--${i}`]:i}]),B=h=>{h.target.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"})},M=(h,j)=>{h.preventDefault(),B(h),m(j)},G=h=>{B(h)};return e.jsxs("div",{className:Y,...g,children:[e.jsx(re,{variant:i,alignWithGrid:c,children:e.jsxs("div",{className:k(`${a}__nav-container`),children:[e.jsxs(C.Root,{children:[e.jsx(C.Viewport,{ref:T,children:e.jsx("nav",{"aria-label":r,"data-testid":t,className:k([`${a}__nav`,{[`${a}__nav--${i}`]:i}]),children:e.jsx(pe,{"data-testid":t,variant:i,firstStepRef:w,lastStepRef:O,steps:f,currentStepIndex:l,handleStepChange:M,handleStepFocus:G,completedStepLabel:p,idPrefix:v})})}),e.jsx(C.Scrollbar,{orientation:"horizontal",children:e.jsx(C.Thumb,{})})]}),D&&e.jsx(S.Button,{"aria-label":u,className:k([`${a}__scroll-button`,`${a}__scroll-button--left`,{[`${a}__scroll-button--align-with-grid`]:c}]),variant:S.BUTTON_VARIANT.TEXT,tabIndex:-1,iconOnly:!0,onClick:()=>{A(z.LEFT)},children:e.jsx(X.l,{className:k(`${a}__scroll-button-icon`),size:"md"})}),F&&e.jsx(S.Button,{"aria-label":_,className:k([`${a}__scroll-button`,`${a}__scroll-button--right`,{[`${a}__scroll-button--align-with-grid`]:c}]),variant:S.BUTTON_VARIANT.TEXT,tabIndex:-1,iconOnly:!0,onClick:()=>{A(z.RIGHT)},children:e.jsx(W.n,{className:k(`${a}__scroll-button-icon`),size:"md"})})]})}),e.jsx("section",{tabIndex:-1,id:$,"aria-labelledby":`${v}-trigger-${l}`,ref:H,style:{outline:"none"},children:o.Children.map(b,(h,j)=>e.jsx("div",{className:k({[`${a}__hidden`]:j!==l}),hidden:j!==l,children:h}))})]})};I.Content=te;I.displayName="Stepper";exports.Stepper=I;
|
|
2
|
+
//# sourceMappingURL=stepper-Dao4XaDV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepper-Dao4XaDV.js","sources":["../../../components/stepper/src/constants.ts","../../../components/stepper/src/stepper-container.tsx","../../../components/stepper/src/stepper-content.tsx","../../../components/stepper/src/stepper-link.tsx","../../../components/stepper/src/stepper-nav-items.tsx","../../../components/stepper/src/use-content-focus.hook.ts","../../../components/stepper/src/use-scroll-buttons.hook.ts","../../../components/stepper/src/stepper.tsx"],"sourcesContent":["export const STEPPER_VARIANT = {\n PRIMARY: \"primary\",\n SECONDARY: \"secondary\",\n} as const;\n\nexport const VISIBILITY_STATES = {\n SMALL_SCREEN: \"small-screen\",\n LARGE_SCREEN: \"large-screen\",\n ALWAYS: \"always\",\n} as const;\n","import React, { type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./stepper-container.module.scss\";\nimport { type StepperVariant } from \"./types\";\n\nconst cx = c.bind(styles);\n\nexport type StepperContainerProps = Omit<BaseProps, \"children\"> & {\n children: ReactNode;\n alignWithGrid: boolean;\n variant: StepperVariant;\n};\n\nconst rootClassName = \"purpur-stepper-container\";\n\nexport const StepperContainer = ({\n [\"data-testid\"]: dataTestId = \"purpur-stepper-container\",\n children,\n className,\n alignWithGrid,\n variant,\n ...props\n}: StepperContainerProps) => {\n const classes: string = cx(className, rootClassName, {\n [`${rootClassName}--${variant}`]: variant,\n [`${rootClassName}--align-with-grid`]: alignWithGrid,\n });\n\n return (\n <div className={classes} data-testid={dataTestId} {...props}>\n <div\n className={cx(`${rootClassName}__inner`, {\n [`${rootClassName}__inner--align-with-grid`]: alignWithGrid,\n })}\n >\n {children}\n </div>\n </div>\n );\n};\n","import React, { forwardRef, isValidElement, type ReactElement, type ReactNode } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\n\nimport { type Optional, type Step } from \"./types\";\n\nexport type StepperContentProps = Omit<BaseProps, \"children\"> & {\n children: ReactNode;\n} & Optional<Step, \"disabled\" | \"finished\">;\n\nexport const StepperContent = forwardRef<HTMLDivElement, StepperContentProps>(\n ({ children, ...props }, ref) => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { finished, ...rest } = props;\n return (\n <div {...rest} ref={ref}>\n {children}\n </div>\n );\n }\n);\n\nexport const isStepperContent = (child?: ReactNode): child is ReactElement<StepperContentProps> =>\n !!child && isValidElement<StepperContentProps>(child) && !!child.props.label;\n","import React, { forwardRef, type MouseEvent } from \"react\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { IconCheckmark } from \"@purpur/icon/checkmark\";\nimport c from \"classnames/bind\";\n\nimport styles from \"./stepper-link.module.scss\";\nimport {\n type HandleStepChangeFunction,\n type HandleStepFocusFunction,\n type Step,\n type StepperVariant,\n type VisibilityStates,\n} from \"./types\";\n\nconst cx = c.bind(styles);\nconst rootClassName = \"purpur-stepper-link\";\n\nexport type StepNumberProps = {\n current: boolean;\n disabled: boolean;\n stepNumber: number;\n [\"data-testid\"]?: string;\n};\n\nconst StepNumber = ({\n [\"data-testid\"]: dataTestId,\n current,\n disabled,\n stepNumber,\n}: StepNumberProps) => {\n return (\n <div\n data-testid={dataTestId}\n className={cx([\n `${rootClassName}__step-number`,\n {\n [`${rootClassName}__step-number--current`]: current,\n },\n {\n [`${rootClassName}__step-number--disabled`]: disabled,\n },\n ])}\n >\n {stepNumber}\n </div>\n );\n};\n\nexport type StepperLinkProps = Omit<BaseProps<\"a\">, \"children\"> & {\n variant: StepperVariant;\n step: Step;\n currentStepIndex: number;\n index: number;\n indexOfLastItem: number;\n whenToBeVisible: VisibilityStates;\n handleStepChange: HandleStepChangeFunction;\n handleStepFocus: HandleStepFocusFunction;\n completedStepLabel: string;\n idPrefix: string;\n};\n\nexport const StepperLink = forwardRef<HTMLAnchorElement, StepperLinkProps>(\n (\n {\n className,\n [\"data-testid\"]: dataTestId,\n variant,\n step,\n indexOfLastItem,\n index,\n currentStepIndex,\n whenToBeVisible,\n handleStepChange,\n handleStepFocus,\n completedStepLabel,\n idPrefix,\n ...props\n },\n ref\n ) => {\n const placement = index === 0 ? \"first\" : index === indexOfLastItem ? \"last\" : \"middle\";\n const isCurrentStep = index === currentStepIndex;\n\n const handleClick = (e: MouseEvent<HTMLAnchorElement>): void => {\n if (step.disabled) {\n e.preventDefault();\n return;\n }\n handleStepChange(e, index);\n };\n\n return (\n <a\n {...props}\n ref={ref}\n className={cx(\n className,\n rootClassName,\n `${rootClassName}--${placement}`,\n `${rootClassName}--${variant}`,\n `${rootClassName}--visibility-${whenToBeVisible}`,\n {\n [`${rootClassName}--current`]: isCurrentStep,\n },\n {\n [`${rootClassName}--disabled`]: step.disabled,\n },\n {\n [\"arrow-tail\"]: placement !== \"first\",\n },\n {\n [\"arrow-forward\"]: placement !== \"last\",\n }\n )}\n id={`${idPrefix}-trigger-${index}`}\n href={step.disabled ? undefined : `#${idPrefix}-content`}\n tabIndex={step.disabled ? -1 : undefined}\n data-testid={`${dataTestId}-step-trigger-item-${index}`}\n aria-disabled={step.disabled}\n aria-current={isCurrentStep && \"step\"}\n aria-label={\n step.finished && !isCurrentStep\n ? [String(index + 1), step.label, completedStepLabel].filter(Boolean).join(\", \")\n : undefined\n }\n onClick={handleClick}\n onFocus={handleStepFocus}\n >\n <span className={cx(`${rootClassName}__trigger-outline`)}>\n {step.finished && !isCurrentStep ? (\n <IconCheckmark\n className={cx(`${rootClassName}__icon`)}\n data-testid={`${dataTestId}-step-finished-icon`}\n size=\"sm\"\n />\n ) : (\n <StepNumber\n data-testid={`${dataTestId}-step-number`}\n current={isCurrentStep}\n disabled={step.disabled}\n stepNumber={index + 1}\n />\n )}\n <span\n className={cx(`${rootClassName}__step-label`, {\n [`sr-only--lg-down`]: !isCurrentStep,\n })}\n >\n {step.label}\n </span>\n </span>\n </a>\n );\n }\n);\n","import React, { forwardRef, type RefObject } from \"react\";\nimport { Tooltip } from \"@purpur/tooltip\";\nimport c from \"classnames/bind\";\n\nimport { VISIBILITY_STATES } from \"./constants\";\nimport { StepperLink } from \"./stepper-link\";\nimport styles from \"./stepper-nav-items.module.scss\";\nimport {\n type HandleStepChangeFunction,\n type HandleStepFocusFunction,\n type Step,\n type StepperVariant,\n} from \"./types\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-stepper-nav-items\";\n\nexport type StepperNavItemsProps = {\n variant: StepperVariant;\n [\"data-testid\"]?: string;\n firstStepRef: RefObject<HTMLLIElement | null>;\n lastStepRef: RefObject<HTMLLIElement | null>;\n steps: Step[];\n currentStepIndex: number;\n handleStepChange: HandleStepChangeFunction;\n handleStepFocus: HandleStepFocusFunction;\n completedStepLabel: string;\n idPrefix: string;\n};\n\nexport const StepperNavItems = forwardRef<HTMLOListElement, StepperNavItemsProps>(\n (\n {\n [\"data-testid\"]: dataTestId,\n variant,\n handleStepChange,\n handleStepFocus,\n steps,\n firstStepRef,\n lastStepRef,\n currentStepIndex,\n completedStepLabel,\n idPrefix,\n },\n ref\n ) => {\n const stepListItems = steps.map((step: Step, index: number) => {\n const tooltipTriggerItem = (\n <span className={cx(`${rootClassName}__tooltip-trigger-item-container`)}>\n <StepperLink\n data-testid={`${dataTestId}-disabled-sm`}\n variant={variant}\n step={step}\n indexOfLastItem={steps.length - 1}\n index={index}\n currentStepIndex={currentStepIndex}\n whenToBeVisible={VISIBILITY_STATES.SMALL_SCREEN}\n completedStepLabel={completedStepLabel}\n handleStepChange={handleStepChange}\n handleStepFocus={handleStepFocus}\n idPrefix={idPrefix}\n />\n </span>\n );\n\n return (\n <li\n className={cx(`${rootClassName}__list-item`, {\n [`${rootClassName}__list-item--current`]: index === currentStepIndex,\n })}\n ref={index === 0 ? firstStepRef : index === steps.length - 1 ? lastStepRef : null}\n key={step.label}\n >\n {step.disabled ? (\n <>\n <Tooltip\n contentClassName={cx(`${rootClassName}__tooltip-content`)}\n triggerElement={tooltipTriggerItem}\n >\n {step.label}\n </Tooltip>\n <StepperLink\n data-testid={`${dataTestId}-disabled-lg`}\n variant={variant}\n step={step}\n indexOfLastItem={steps.length - 1}\n index={index}\n currentStepIndex={currentStepIndex}\n whenToBeVisible={VISIBILITY_STATES.LARGE_SCREEN}\n completedStepLabel={completedStepLabel}\n handleStepChange={handleStepChange}\n handleStepFocus={handleStepFocus}\n idPrefix={idPrefix}\n />\n </>\n ) : (\n <StepperLink\n data-testid={dataTestId}\n variant={variant}\n step={step}\n indexOfLastItem={steps.length - 1}\n index={index}\n currentStepIndex={currentStepIndex}\n whenToBeVisible={VISIBILITY_STATES.ALWAYS}\n completedStepLabel={completedStepLabel}\n handleStepChange={handleStepChange}\n handleStepFocus={handleStepFocus}\n idPrefix={idPrefix}\n />\n )}\n </li>\n );\n });\n return (\n <ol ref={ref} className={cx(`${rootClassName}__list`)}>\n {stepListItems}\n </ol>\n );\n }\n);\n","import { type RefObject, useEffect, useRef } from \"react\";\n\ninterface UseContentFocusHook<T extends HTMLElement> {\n contentRef: RefObject<T | null>;\n}\n\nexport const useContentFocus = <T extends HTMLElement>(\n currentStepIndex: number\n): UseContentFocusHook<T> => {\n const firstLoad = useRef<boolean>(true);\n const contentRef = useRef<T | null>(null);\n\n useEffect(() => {\n if (!firstLoad.current && contentRef.current !== null) {\n contentRef.current.focus();\n }\n firstLoad.current = false;\n\n }, [currentStepIndex]);\n\n return {\n contentRef,\n };\n};\n","import { type RefObject, useEffect, useRef, useState } from \"react\";\n\nexport const SCROLL_DIRECTION = {\n LEFT: \"left\",\n RIGHT: \"right\",\n} as const;\n\nexport type ScrollDirection = (typeof SCROLL_DIRECTION)[keyof typeof SCROLL_DIRECTION];\n\nexport type UseScrollHook<ContainerElement, WatchedElement> = {\n scrollContainer: RefObject<ContainerElement | null>;\n firstStepRef: RefObject<WatchedElement | null>;\n lastStepRef: RefObject<WatchedElement | null>;\n displayLeftScrollButton: boolean;\n displayRightScrollButton: boolean;\n handleHorizontalScroll: (dir: ScrollDirection) => void;\n};\n\nexport const useScrollButtons = <\n ContainerElement extends HTMLElement,\n WatchedElement extends HTMLElement\n>(): UseScrollHook<ContainerElement, WatchedElement> => {\n const scrollContainer = useRef<ContainerElement | null>(null);\n const firstStepRef = useRef<WatchedElement | null>(null);\n const lastStepRef = useRef<WatchedElement | null>(null);\n const [displayLeftScrollButton, setDisplayLeftScrollButton] = useState(false);\n const [displayRightScrollButton, setDisplayRightScrollButton] = useState(false);\n\n const handleHorizontalScroll = (dir: ScrollDirection): void => {\n if (!scrollContainer.current) {\n return;\n }\n const scrollableContainer = scrollContainer.current;\n const scrollableContainerWidth = scrollableContainer.clientWidth;\n const currentScrollLeft = scrollableContainer.scrollLeft;\n if (dir === SCROLL_DIRECTION.LEFT) {\n scrollableContainer.scroll({\n behavior: \"smooth\",\n left: currentScrollLeft - scrollableContainerWidth / 2,\n });\n }\n if (dir === SCROLL_DIRECTION.RIGHT) {\n scrollableContainer.scroll({\n behavior: \"smooth\",\n left: currentScrollLeft + scrollableContainerWidth / 2,\n });\n }\n };\n\n useEffect(() => {\n if (firstStepRef.current && lastStepRef.current && scrollContainer.current) {\n const observer: IntersectionObserver = new IntersectionObserver(\n (entries: IntersectionObserverEntry[]) => {\n for (const entry of entries) {\n if (entry.target === firstStepRef.current) {\n if (entry.isIntersecting) {\n setDisplayLeftScrollButton(false);\n } else {\n setDisplayLeftScrollButton(true);\n }\n continue;\n }\n if (entry.target === lastStepRef.current) {\n if (entry.isIntersecting) {\n setDisplayRightScrollButton(false);\n } else {\n setDisplayRightScrollButton(true);\n }\n }\n }\n },\n {\n root: scrollContainer.current,\n threshold: 0.95,\n }\n );\n\n observer.observe(firstStepRef.current);\n observer.observe(lastStepRef.current);\n\n return () => observer.disconnect();\n }\n return undefined;\n }, [firstStepRef, lastStepRef, scrollContainer]);\n\n return {\n scrollContainer,\n firstStepRef,\n lastStepRef,\n displayLeftScrollButton,\n displayRightScrollButton,\n handleHorizontalScroll,\n };\n};\n","import React, { Children, type ReactElement, useId } from \"react\";\nimport { Button, BUTTON_VARIANT } from \"@purpur/button\";\nimport type { BaseProps } from \"@purpur/common-types\";\nimport { IconChevronLeft } from \"@purpur/icon/chevron-left\";\nimport { IconChevronRight } from \"@purpur/icon/chevron-right\";\nimport * as ScrollArea from \"@radix-ui/react-scroll-area\";\nimport c from \"classnames/bind\";\n\nimport { STEPPER_VARIANT } from \"./constants\";\nimport styles from \"./stepper.module.scss\";\nimport { StepperContainer } from \"./stepper-container\";\nimport { isStepperContent, StepperContent } from \"./stepper-content\";\nimport { StepperNavItems } from \"./stepper-nav-items\";\nimport { type Step, type StepChangeFunction, type StepperVariant } from \"./types\";\nimport { useContentFocus } from \"./use-content-focus.hook\";\nimport { SCROLL_DIRECTION, useScrollButtons } from \"./use-scroll-buttons.hook\";\n\nconst cx = c.bind(styles);\n\nconst rootClassName = \"purpur-stepper\";\n\nexport type StepperProps = Omit<BaseProps, \"children\"> & {\n children: Array<ReactElement<typeof StepperContent>> | ReactElement<typeof StepperContent>;\n completedStepLabel: string;\n currentStepIndex: number;\n onStepChange: StepChangeFunction;\n alignWithGrid?: boolean;\n leftScrollButtonAriaLabel: string;\n rightScrollButtonAriaLabel: string;\n variant: StepperVariant;\n};\n\nexport type StepperComponent<P> = React.FunctionComponent<P> & {\n Content: typeof StepperContent;\n};\n\nexport const Stepper: StepperComponent<StepperProps> = ({\n [\"aria-label\"]: ariaLabel,\n [\"data-testid\"]: dataTestId,\n children,\n className,\n completedStepLabel,\n currentStepIndex = 0,\n onStepChange,\n alignWithGrid = false,\n leftScrollButtonAriaLabel,\n rightScrollButtonAriaLabel,\n variant = STEPPER_VARIANT.PRIMARY,\n ...props\n}: StepperProps) => {\n const stepperContentChildren = Children.toArray(children).filter(isStepperContent);\n const steps: Step[] = Children.map(stepperContentChildren, (child) => {\n const { disabled, finished, label } = child.props;\n return {\n disabled: disabled ?? false,\n finished: finished ?? false,\n label,\n };\n });\n const idPrefix = useId();\n const contentId = `${idPrefix}-content`;\n const {\n scrollContainer,\n firstStepRef,\n lastStepRef,\n displayLeftScrollButton,\n displayRightScrollButton,\n handleHorizontalScroll,\n } = useScrollButtons<HTMLDivElement, HTMLLIElement>();\n const { contentRef } = useContentFocus<HTMLElement>(currentStepIndex);\n\n const classes: string = cx([\n className,\n rootClassName,\n {\n [`${rootClassName}--${variant}`]: variant,\n },\n ]);\n const scrollTriggerIntoView = (e: React.FocusEvent | React.MouseEvent): void => {\n (e.target as HTMLAnchorElement).scrollIntoView({\n behavior: \"smooth\",\n block: \"nearest\",\n inline: \"center\",\n });\n };\n\n const handleStepChange = (e: React.MouseEvent<HTMLAnchorElement>, idx: number): void => {\n e.preventDefault();\n scrollTriggerIntoView(e);\n onStepChange(idx);\n };\n\n const handleStepFocus = (e: React.FocusEvent<HTMLAnchorElement>): void => {\n scrollTriggerIntoView(e);\n };\n\n return (\n <div className={classes} {...props}>\n <StepperContainer variant={variant} alignWithGrid={alignWithGrid}>\n <div className={cx(`${rootClassName}__nav-container`)}>\n <ScrollArea.Root>\n <ScrollArea.Viewport ref={scrollContainer}>\n <nav\n aria-label={ariaLabel}\n data-testid={dataTestId}\n className={cx([\n `${rootClassName}__nav`,\n {\n [`${rootClassName}__nav--${variant}`]: variant,\n },\n ])}\n >\n <StepperNavItems\n data-testid={dataTestId}\n variant={variant}\n firstStepRef={firstStepRef}\n lastStepRef={lastStepRef}\n steps={steps}\n currentStepIndex={currentStepIndex}\n handleStepChange={handleStepChange}\n handleStepFocus={handleStepFocus}\n completedStepLabel={completedStepLabel}\n idPrefix={idPrefix}\n />\n </nav>\n </ScrollArea.Viewport>\n <ScrollArea.Scrollbar orientation=\"horizontal\">\n <ScrollArea.Thumb />\n </ScrollArea.Scrollbar>\n </ScrollArea.Root>\n {displayLeftScrollButton && (\n <Button\n aria-label={leftScrollButtonAriaLabel}\n className={cx([\n `${rootClassName}__scroll-button`,\n `${rootClassName}__scroll-button--left`,\n {\n [`${rootClassName}__scroll-button--align-with-grid`]: alignWithGrid,\n },\n ])}\n variant={BUTTON_VARIANT.TEXT}\n tabIndex={-1}\n iconOnly\n onClick={() => {\n handleHorizontalScroll(SCROLL_DIRECTION.LEFT);\n }}\n >\n <IconChevronLeft className={cx(`${rootClassName}__scroll-button-icon`)} size=\"md\" />\n </Button>\n )}\n {displayRightScrollButton && (\n <Button\n aria-label={rightScrollButtonAriaLabel}\n className={cx([\n `${rootClassName}__scroll-button`,\n `${rootClassName}__scroll-button--right`,\n {\n [`${rootClassName}__scroll-button--align-with-grid`]: alignWithGrid,\n },\n ])}\n variant={BUTTON_VARIANT.TEXT}\n tabIndex={-1}\n iconOnly\n onClick={() => {\n handleHorizontalScroll(SCROLL_DIRECTION.RIGHT);\n }}\n >\n <IconChevronRight className={cx(`${rootClassName}__scroll-button-icon`)} size=\"md\" />\n </Button>\n )}\n </div>\n </StepperContainer>\n <section\n tabIndex={-1}\n id={contentId}\n aria-labelledby={`${idPrefix}-trigger-${currentStepIndex}`}\n ref={contentRef}\n style={{ outline: \"none\" }}\n >\n {Children.map(stepperContentChildren, (child, index: number) => (\n <div\n className={cx({\n [`${rootClassName}__hidden`]: index !== currentStepIndex,\n })}\n hidden={index !== currentStepIndex}\n >\n {child}\n </div>\n ))}\n </section>\n </div>\n );\n};\n\nStepper.Content = StepperContent;\n\nStepper.displayName = \"Stepper\";\n"],"names":["STEPPER_VARIANT","VISIBILITY_STATES","cx","c","styles","rootClassName","StepperContainer","dataTestId","children","className","alignWithGrid","variant","props","classes","jsx","StepperContent","forwardRef","ref","finished","rest","isStepperContent","child","isValidElement","StepNumber","current","disabled","stepNumber","StepperLink","step","indexOfLastItem","index","currentStepIndex","whenToBeVisible","handleStepChange","handleStepFocus","completedStepLabel","idPrefix","placement","isCurrentStep","handleClick","e","IconCheckmark","StepperNavItems","steps","firstStepRef","lastStepRef","stepListItems","tooltipTriggerItem","jsxs","Fragment","Tooltip","useContentFocus","firstLoad","useRef","contentRef","useEffect","SCROLL_DIRECTION","useScrollButtons","scrollContainer","displayLeftScrollButton","setDisplayLeftScrollButton","useState","displayRightScrollButton","setDisplayRightScrollButton","handleHorizontalScroll","dir","scrollableContainer","scrollableContainerWidth","currentScrollLeft","observer","entries","entry","Stepper","ariaLabel","onStepChange","leftScrollButtonAriaLabel","rightScrollButtonAriaLabel","stepperContentChildren","Children","label","useId","contentId","scrollTriggerIntoView","idx","ScrollArea.Root","ScrollArea.Viewport","ScrollArea.Scrollbar","ScrollArea.Thumb","Button","BUTTON_VARIANT","IconChevronLeft","IconChevronRight"],"mappings":"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"}
|
package/dist/stepper.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./stepper-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./stepper-Dao4XaDV.js");exports.Stepper=e.Stepper;
|
|
2
2
|
//# sourceMappingURL=stepper.cjs.js.map
|