@purpur/library 10.1.0 → 10.2.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 +57 -0
- package/CHANGELOG.md +26 -1
- package/dist/LICENSE.txt +14 -7
- package/dist/{RichText-B865Qkzj.js → RichText-CeYecUFV.js} +2 -2
- package/dist/{RichText-B865Qkzj.js.map → RichText-CeYecUFV.js.map} +1 -1
- package/dist/{RichText-CPkBwXNI.mjs → RichText-CwQfDo_S.mjs} +2 -2
- package/dist/{RichText-CPkBwXNI.mjs.map → RichText-CwQfDo_S.mjs.map} +1 -1
- package/dist/{ThemeProvider-BJGm3zai.js → ThemeProvider-BGep6X_i.js} +2 -2
- package/dist/{ThemeProvider-BJGm3zai.js.map → ThemeProvider-BGep6X_i.js.map} +1 -1
- package/dist/{ThemeProvider-BJ25_asg.mjs → ThemeProvider-BrAZhasG.mjs} +13 -13
- package/dist/{ThemeProvider-BJ25_asg.mjs.map → ThemeProvider-BrAZhasG.mjs.map} +1 -1
- package/dist/components/accordion/src/accordion-item.d.ts +3 -3
- package/dist/components/accordion/src/accordion.d.ts +1 -1
- package/dist/components/alert-badge/src/alert-badge.d.ts +1 -1
- package/dist/components/avatar/src/avatar.d.ts +1 -1
- package/dist/components/breadcrumbs/src/breadcrumbs.d.ts +1 -1
- package/dist/components/card/src/card-badge.d.ts +1 -1
- package/dist/components/card/src/card-content.d.ts +2 -2
- package/dist/components/card/src/card-cta.d.ts +2 -2
- package/dist/components/card/src/card-media-layout.d.ts +1 -1
- package/dist/components/card/src/card-root.d.ts +2 -2
- package/dist/components/comparison-table/src/components/OptionCard/option-card.d.ts +1 -1
- package/dist/components/container/src/container.d.ts +2 -2
- package/dist/components/container/src/container.visual.fixtures.d.ts +14 -0
- package/dist/components/container/src/container.visual.fixtures.d.ts.map +1 -0
- package/dist/components/content-block/src/content-block-group.d.ts +2 -2
- package/dist/components/content-block/src/content-block.d.ts +2 -2
- package/dist/components/countdown/src/countdown.d.ts +1 -1
- package/dist/components/countdown/src/countdown.d.ts.map +1 -1
- package/dist/components/countdown/src/countdown.types.d.ts +19 -3
- package/dist/components/countdown/src/countdown.types.d.ts.map +1 -1
- package/dist/components/counter-badge/src/counter-badge.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 +14 -6
- package/dist/components/date-field/src/date-field.d.ts.map +1 -1
- package/dist/components/date-field/src/utils.d.ts +40 -2
- package/dist/components/date-field/src/utils.d.ts.map +1 -1
- package/dist/components/date-picker/src/date-picker.d.ts +4 -4
- package/dist/components/date-range-field/src/date-range-field.d.ts +4 -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/drawer/src/drawer-container.d.ts +2 -2
- package/dist/components/drawer/src/drawer-scroll-area.d.ts +1 -1
- package/dist/components/drawer/src/drawer-trigger.d.ts +2 -2
- package/dist/components/drawer/src/drawer.d.ts +1 -1
- package/dist/components/dropdown/src/dropdown-combobox.d.ts.map +1 -1
- package/dist/components/dropdown/src/dropdown-shared.d.ts +3 -1
- package/dist/components/dropdown/src/dropdown-shared.d.ts.map +1 -1
- package/dist/components/dropdown/src/dropdown.types.d.ts +3 -0
- 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/file-upload/src/file-upload-types.d.ts +1 -1
- package/dist/components/footer/src/footer-navigation.d.ts +2 -2
- package/dist/components/footer/src/footer-social-link.d.ts +3 -3
- package/dist/components/footer/src/footer.d.ts +1 -1
- package/dist/components/grid/src/grid.d.ts +1 -1
- package/dist/components/grid/src/grid.item.d.ts +1 -1
- package/dist/components/heading/src/heading.d.ts +1 -1
- package/dist/components/label/src/label.d.ts +1 -1
- package/dist/components/link/src/link.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 +2 -2
- package/dist/components/modal/src/modal-trigger.d.ts +2 -2
- package/dist/components/notification/src/notification.d.ts +2 -2
- package/dist/components/pagination/src/pagination-page-selector.d.ts +1 -1
- package/dist/components/pagination/src/pagination-page-size-selector.d.ts +2 -2
- package/dist/components/pagination/src/pagination-pages.d.ts +1 -1
- package/dist/components/pagination/src/pagination-step-trigger.d.ts +1 -1
- package/dist/components/pagination/src/use-page-size-options.hook.d.ts +2 -2
- package/dist/components/password-field/src/password-field.d.ts +1 -1
- package/dist/components/password-field/src/password-strength-indicator.d.ts +2 -2
- package/dist/components/popover/src/popover-button.d.ts +2 -2
- package/dist/components/radio-card-group/src/radio-card-group.d.ts +2 -2
- package/dist/components/radio-card-group/src/radio-card-item.d.ts +1 -1
- package/dist/components/search-field/src/search-field-autocomplete.d.ts +7 -4
- package/dist/components/search-field/src/search-field-autocomplete.d.ts.map +1 -1
- package/dist/components/search-field/src/search-field-base.d.ts +4 -2
- package/dist/components/search-field/src/search-field-base.d.ts.map +1 -1
- package/dist/components/search-field/src/search-field.d.ts +6 -0
- package/dist/components/search-field/src/search-field.d.ts.map +1 -1
- package/dist/components/select/src/select.d.ts +2 -2
- package/dist/components/spacer/src/spacer.d.ts +1 -1
- package/dist/components/spinner/src/spinner.d.ts +1 -1
- package/dist/components/stepper/src/stepper-container.d.ts +1 -1
- package/dist/components/stepper/src/stepper-link.d.ts +1 -1
- package/dist/components/table/src/story-utils/table-data.d.ts +4 -4
- package/dist/components/table/src/test-utils/table-data.d.ts +3 -3
- package/dist/components/table/src/types.d.ts +3 -3
- package/dist/components/tabs/src/tab-content.d.ts +1 -1
- package/dist/components/text-area/src/text-area.d.ts +1 -1
- 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 +3 -3
- package/dist/components-metadata.js +1 -0
- package/dist/countdown-CdGFNLZq.js +2 -0
- package/dist/countdown-CdGFNLZq.js.map +1 -0
- package/dist/countdown-G7eg3CZj.mjs +188 -0
- package/dist/countdown-G7eg3CZj.mjs.map +1 -0
- package/dist/countdown.cjs.js +1 -1
- package/dist/countdown.es.js +1 -1
- package/dist/country-flag-icon/LICENSE.txt +0 -11
- package/dist/date-field-D8yGH1mw.js +2 -0
- package/dist/{date-field-CtpWDaSh.js.map → date-field-D8yGH1mw.js.map} +1 -1
- package/dist/{date-field-_rCuf15v.mjs → date-field-DVMPYoLT.mjs} +361 -311
- package/dist/{date-field-_rCuf15v.mjs.map → date-field-DVMPYoLT.mjs.map} +1 -1
- package/dist/date-field.cjs.js +1 -1
- package/dist/date-field.es.js +1 -1
- package/dist/{date-picker-sqcNAplg.mjs → date-picker-Ban9DLsx.mjs} +6 -6
- package/dist/{date-picker-sqcNAplg.mjs.map → date-picker-Ban9DLsx.mjs.map} +1 -1
- package/dist/{date-picker-BYlszX1W.js → date-picker-re3cPV_Z.js} +2 -2
- package/dist/{date-picker-BYlszX1W.js.map → date-picker-re3cPV_Z.js.map} +1 -1
- package/dist/date-picker.cjs.js +1 -1
- package/dist/date-picker.es.js +1 -1
- package/dist/date-range-field-8JmPw-Ei.js +2 -0
- package/dist/date-range-field-8JmPw-Ei.js.map +1 -0
- package/dist/{date-range-field-BmjQeiOv.mjs → date-range-field-dmJO66U_.mjs} +64 -61
- package/dist/date-range-field-dmJO66U_.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-CVo3CS8K.js +2 -0
- package/dist/dismissable-chip-group-CVo3CS8K.js.map +1 -0
- package/dist/dismissable-chip-group-Dov2-9Fe.mjs +95 -0
- package/dist/dismissable-chip-group-Dov2-9Fe.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-oFJcxW58.js → drawer-CSagTJjN.js} +2 -2
- package/dist/{drawer-oFJcxW58.js.map → drawer-CSagTJjN.js.map} +1 -1
- package/dist/{drawer-Chx3H8EU.mjs → drawer-Cw-Y9XH9.mjs} +3 -3
- package/dist/{drawer-Chx3H8EU.mjs.map → drawer-Cw-Y9XH9.mjs.map} +1 -1
- package/dist/drawer.cjs.js +1 -1
- package/dist/drawer.es.js +1 -1
- package/dist/dropdown-BAM4nQhd.mjs +955 -0
- package/dist/dropdown-BAM4nQhd.mjs.map +1 -0
- package/dist/dropdown-Cr8DVw2T.js +2 -0
- package/dist/dropdown-Cr8DVw2T.js.map +1 -0
- package/dist/dropdown.cjs.js +1 -1
- package/dist/dropdown.es.js +1 -1
- package/dist/{file-upload-MvNuX4ks.js → file-upload-CdlYkCg8.js} +2 -2
- package/dist/{file-upload-MvNuX4ks.js.map → file-upload-CdlYkCg8.js.map} +1 -1
- package/dist/{file-upload-Ctw6LCTU.mjs → file-upload-ih5NqF67.mjs} +2 -2
- package/dist/{file-upload-Ctw6LCTU.mjs.map → file-upload-ih5NqF67.mjs.map} +1 -1
- package/dist/file-upload.cjs.js +1 -1
- package/dist/file-upload.es.js +1 -1
- package/dist/{footer-DkVmTd-f.mjs → footer-CVVt8hUE.mjs} +3 -3
- package/dist/{footer-DkVmTd-f.mjs.map → footer-CVVt8hUE.mjs.map} +1 -1
- package/dist/{footer-Bbemct3Z.js → footer-Cat9-v7l.js} +2 -2
- package/dist/{footer-Bbemct3Z.js.map → footer-Cat9-v7l.js.map} +1 -1
- package/dist/footer.cjs.js +1 -1
- package/dist/footer.es.js +1 -1
- package/dist/{hero-banner-Mag1OwL4.js → hero-banner-BNw3eNTs.js} +2 -2
- package/dist/{hero-banner-Mag1OwL4.js.map → hero-banner-BNw3eNTs.js.map} +1 -1
- package/dist/{hero-banner-ChDoFRhq.mjs → hero-banner-MnKuFSku.mjs} +2 -2
- package/dist/{hero-banner-ChDoFRhq.mjs.map → hero-banner-MnKuFSku.mjs.map} +1 -1
- package/dist/hero-banner.cjs.js +1 -1
- package/dist/hero-banner.es.js +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/quantity-selector.d.ts +2 -2
- package/dist/libraries/theme/src/ThemeProvider.d.ts +1 -1
- package/dist/libraries/theme/src/theme-props.d.ts +1 -0
- package/dist/libraries/theme/src/theme-props.d.ts.map +1 -1
- package/dist/libraries/tokens/dist/color/variables.d.ts +1 -0
- package/dist/libraries/tokens/dist/color/variables.dark.d.ts +1 -0
- package/dist/library.cjs.js +1 -1
- package/dist/library.es.js +293 -292
- package/dist/{modal-CXOYUsJm.js → modal-BSN-wIcN.js} +2 -2
- package/dist/{modal-CXOYUsJm.js.map → modal-BSN-wIcN.js.map} +1 -1
- package/dist/{modal-Pwvhrzn-.mjs → modal-CnzUgU97.mjs} +3 -3
- package/dist/{modal-Pwvhrzn-.mjs.map → modal-CnzUgU97.mjs.map} +1 -1
- package/dist/modal.cjs.js +1 -1
- package/dist/modal.es.js +1 -1
- package/dist/{popover-B6ntmuEK.mjs → popover-B-oWzP-0.mjs} +3 -3
- package/dist/{popover-B6ntmuEK.mjs.map → popover-B-oWzP-0.mjs.map} +1 -1
- package/dist/{popover-DJHMEFXP.js → popover-BzoAQW0i.js} +2 -2
- package/dist/{popover-DJHMEFXP.js.map → popover-BzoAQW0i.js.map} +1 -1
- package/dist/popover.cjs.js +1 -1
- package/dist/popover.es.js +1 -1
- package/dist/{promotion-card-B3mz__m7.js → promotion-card-B8bnNVZ-.js} +2 -2
- package/dist/{promotion-card-B3mz__m7.js.map → promotion-card-B8bnNVZ-.js.map} +1 -1
- package/dist/{promotion-card-Co6qAkTZ.mjs → promotion-card-DwNbzSK3.mjs} +2 -2
- package/dist/{promotion-card-Co6qAkTZ.mjs.map → promotion-card-DwNbzSK3.mjs.map} +1 -1
- package/dist/promotion-card.cjs.js +1 -1
- package/dist/promotion-card.es.js +1 -1
- package/dist/purpur.css +1 -1
- package/dist/rich-text.cjs.js +1 -1
- package/dist/rich-text.es.js +1 -1
- package/dist/search-field-BR4gETPP.js +2 -0
- package/dist/search-field-BR4gETPP.js.map +1 -0
- package/dist/search-field-DyBcoB9g.mjs +186 -0
- package/dist/search-field-DyBcoB9g.mjs.map +1 -0
- package/dist/search-field.cjs.js +1 -1
- package/dist/search-field.es.js +1 -1
- package/dist/{stepper-D59T-Y2_.mjs → stepper-CGBjyjVw.mjs} +2 -2
- package/dist/{stepper-D59T-Y2_.mjs.map → stepper-CGBjyjVw.mjs.map} +1 -1
- package/dist/{stepper-Dao4XaDV.js → stepper-CbcFVE3v.js} +2 -2
- package/dist/{stepper-Dao4XaDV.js.map → stepper-CbcFVE3v.js.map} +1 -1
- package/dist/stepper.cjs.js +1 -1
- package/dist/stepper.es.js +1 -1
- package/dist/{table-BkXNxvjW.js → table-CFBK5Gv4.js} +3 -3
- package/dist/{table-BkXNxvjW.js.map → table-CFBK5Gv4.js.map} +1 -1
- package/dist/{table-CY8rjMoR.mjs → table-PdfWMFks.mjs} +8 -8
- package/dist/{table-CY8rjMoR.mjs.map → table-PdfWMFks.mjs.map} +1 -1
- package/dist/table.cjs.js +1 -1
- package/dist/table.es.js +1 -1
- package/dist/{text-area-9RUldq6W.js → text-area-AHqUSmEE.js} +2 -2
- package/dist/{text-area-9RUldq6W.js.map → text-area-AHqUSmEE.js.map} +1 -1
- package/dist/{text-area-C58aZEPa.mjs → text-area-DabB5eo_.mjs} +3 -3
- package/dist/{text-area-C58aZEPa.mjs.map → text-area-DabB5eo_.mjs.map} +1 -1
- package/dist/text-area.cjs.js +1 -1
- package/dist/text-area.es.js +1 -1
- package/dist/{text-spacing-BU0mkEf9.mjs → text-spacing-Bmkv_rmc.mjs} +3 -3
- package/dist/{text-spacing-BU0mkEf9.mjs.map → text-spacing-Bmkv_rmc.mjs.map} +1 -1
- package/dist/{text-spacing-CiGPZHuB.js → text-spacing-CdnbUO6z.js} +2 -2
- package/dist/{text-spacing-CiGPZHuB.js.map → text-spacing-CdnbUO6z.js.map} +1 -1
- package/dist/text-spacing.cjs.js +1 -1
- package/dist/text-spacing.es.js +1 -1
- package/dist/theme.cjs.js +1 -1
- package/dist/theme.es.js +3 -3
- package/dist/tokens/color/variables.css +1 -0
- package/dist/tokens/color/variables.d.ts +1 -0
- package/dist/tokens/color/variables.dark.css +1 -0
- package/dist/tokens/color/variables.dark.d.ts +1 -0
- package/dist/tokens/color/variables.dark.js +1 -0
- package/dist/tokens/color/variables.dark.json +1 -0
- package/dist/tokens/color/variables.dark.scss +1 -0
- package/dist/tokens/color/variables.js +1 -0
- package/dist/tokens/color/variables.json +1 -0
- package/dist/tokens/color/variables.scss +1 -0
- package/dist/tokens.cjs.js +1 -1
- package/dist/tokens.es.js +167 -166
- package/dist/{tooltip-DeP1UsPW.js → tooltip-DRW4N9Z-.js} +2 -2
- package/dist/{tooltip-DeP1UsPW.js.map → tooltip-DRW4N9Z-.js.map} +1 -1
- package/dist/{tooltip-bqdd2lJL.mjs → tooltip-DzY9olpb.mjs} +3 -3
- package/dist/{tooltip-bqdd2lJL.mjs.map → tooltip-DzY9olpb.mjs.map} +1 -1
- package/dist/tooltip.cjs.js +1 -1
- package/dist/tooltip.es.js +1 -1
- package/dist/use-autocomplete.es-CoAeiJiu.mjs +155 -0
- package/dist/use-autocomplete.es-CoAeiJiu.mjs.map +1 -0
- package/dist/use-autocomplete.es-Djt1u2i8.js +2 -0
- package/dist/use-autocomplete.es-Djt1u2i8.js.map +1 -0
- package/dist/useColorScheme-BtOgJUTy.js +2 -0
- package/dist/{useColorScheme-BHhPgv9q.js.map → useColorScheme-BtOgJUTy.js.map} +1 -1
- package/dist/{useColorScheme-B7lGBSe4.mjs → useColorScheme-DXAxJPXW.mjs} +2 -2
- package/dist/{useColorScheme-B7lGBSe4.mjs.map → useColorScheme-DXAxJPXW.mjs.map} +1 -1
- package/dist/useThemePortalContainer-Cs1c-2AI.js +2 -0
- package/dist/{useThemePortalContainer-CUcqV327.js.map → useThemePortalContainer-Cs1c-2AI.js.map} +1 -1
- package/dist/useThemePortalContainer-DeKoE-E_.mjs +9 -0
- package/dist/{useThemePortalContainer-D13Xx24N.mjs.map → useThemePortalContainer-DeKoE-E_.mjs.map} +1 -1
- package/dist/variables-CTBx79yI.js +2 -0
- package/dist/{variables-D1vNo1lO.js.map → variables-CTBx79yI.js.map} +1 -1
- package/dist/variables-Do6SfyT0.mjs +258 -0
- package/dist/{variables-BrsAsWIF.mjs.map → variables-Do6SfyT0.mjs.map} +1 -1
- package/package.json +18 -18
- package/src/library.ts +72 -2
- package/tokens/color/variables.css +1 -0
- package/tokens/color/variables.d.ts +1 -0
- package/tokens/color/variables.dark.css +1 -0
- package/tokens/color/variables.dark.d.ts +1 -0
- package/tokens/color/variables.dark.js +1 -0
- package/tokens/color/variables.dark.json +1 -0
- package/tokens/color/variables.dark.scss +1 -0
- package/tokens/color/variables.js +1 -0
- package/tokens/color/variables.json +1 -0
- package/tokens/color/variables.scss +1 -0
- package/dist/countdown-5Ni6OlVY.mjs +0 -189
- package/dist/countdown-5Ni6OlVY.mjs.map +0 -1
- package/dist/countdown-CGXJyzB2.js +0 -2
- package/dist/countdown-CGXJyzB2.js.map +0 -1
- package/dist/date-field-CtpWDaSh.js +0 -2
- package/dist/date-range-field-B33XeBW8.js +0 -2
- package/dist/date-range-field-B33XeBW8.js.map +0 -1
- package/dist/date-range-field-BmjQeiOv.mjs.map +0 -1
- package/dist/dismissable-chip-group-5ALErhD2.js +0 -2
- package/dist/dismissable-chip-group-5ALErhD2.js.map +0 -1
- package/dist/dismissable-chip-group-DMNU7g5e.mjs +0 -94
- package/dist/dismissable-chip-group-DMNU7g5e.mjs.map +0 -1
- package/dist/dropdown-DJr5COdU.mjs +0 -945
- package/dist/dropdown-DJr5COdU.mjs.map +0 -1
- package/dist/dropdown-s8FhNU5N.js +0 -2
- package/dist/dropdown-s8FhNU5N.js.map +0 -1
- package/dist/search-field-BTJtRyw5.mjs +0 -184
- package/dist/search-field-BTJtRyw5.mjs.map +0 -1
- package/dist/search-field-nzVXak1a.js +0 -2
- package/dist/search-field-nzVXak1a.js.map +0 -1
- package/dist/use-autocomplete.es-BwAzMcau.js +0 -2
- package/dist/use-autocomplete.es-BwAzMcau.js.map +0 -1
- package/dist/use-autocomplete.es-CKb0RHKG.mjs +0 -144
- package/dist/use-autocomplete.es-CKb0RHKG.mjs.map +0 -1
- package/dist/useColorScheme-BHhPgv9q.js +0 -2
- package/dist/useThemePortalContainer-CUcqV327.js +0 -2
- package/dist/useThemePortalContainer-D13Xx24N.mjs +0 -9
- package/dist/variables-BrsAsWIF.mjs +0 -257
- package/dist/variables-D1vNo1lO.js +0 -2
|
@@ -1 +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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"}
|
|
1
|
+
{"version":3,"file":"stepper-CbcFVE3v.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-CbcFVE3v.js");exports.Stepper=e.Stepper;
|
|
2
2
|
//# sourceMappingURL=stepper.cjs.js.map
|
package/dist/stepper.es.js
CHANGED