boreal-ui 0.0.50 → 0.0.54
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/dist/core/{Card-YD4BgNEU.js → Card-BjLC4t0w.js} +20 -47
- package/dist/core/Card-BjLC4t0w.js.map +1 -0
- package/dist/core/{Card-C57chjAP.cjs → Card-DRM65kM-.cjs} +20 -47
- package/dist/core/Card-DRM65kM-.cjs.map +1 -0
- package/dist/core/Card.cjs.js +1 -1
- package/dist/core/Card.js +1 -1
- package/dist/core/{FileUpload-C0eHx1h8.js → FileUpload-9fIxslAo.js} +2 -2
- package/dist/core/{FileUpload-C0eHx1h8.js.map → FileUpload-9fIxslAo.js.map} +1 -1
- package/dist/core/{FileUpload-BJ3RJxT3.cjs → FileUpload-DbMxpH-U.cjs} +2 -2
- package/dist/core/{FileUpload-BJ3RJxT3.cjs.map → FileUpload-DbMxpH-U.cjs.map} +1 -1
- package/dist/core/FileUpload.cjs.js +1 -1
- package/dist/core/FileUpload.js +1 -1
- package/dist/core/{MessagePopup-B3lEfar7.js → MessagePopup-BMGIVKoJ.js} +4 -4
- package/dist/core/{MessagePopup-B3lEfar7.js.map → MessagePopup-BMGIVKoJ.js.map} +1 -1
- package/dist/core/{MessagePopup-CtdpuRFv.cjs → MessagePopup-DQQKRCGF.cjs} +4 -4
- package/dist/core/{MessagePopup-CtdpuRFv.cjs.map → MessagePopup-DQQKRCGF.cjs.map} +1 -1
- package/dist/core/MessagePopup.cjs.js +4 -0
- package/dist/core/MessagePopup.cjs.js.map +1 -0
- package/dist/core/MessagePopup.js +5 -0
- package/dist/core/MessagePopup.js.map +1 -0
- package/dist/core/{ProgressBar-DaA5vvnq.js → ProgressBar-BLcSyVgQ.js} +51 -21
- package/dist/core/ProgressBar-BLcSyVgQ.js.map +1 -0
- package/dist/core/{ProgressBar-BwjYOqoE.cjs → ProgressBar-BbIZLV1t.cjs} +50 -20
- package/dist/core/ProgressBar-BbIZLV1t.cjs.map +1 -0
- package/dist/core/ProgressBar.cjs.js +1 -1
- package/dist/core/ProgressBar.js +1 -1
- package/dist/core/{Taginput-BXCxdLf0.cjs → TagInput-BXCxdLf0.cjs} +1 -1
- package/dist/core/TagInput-BXCxdLf0.cjs.map +1 -0
- package/dist/core/{Taginput-CoxxwLXg.js → TagInput-CoxxwLXg.js} +1 -1
- package/dist/core/TagInput-CoxxwLXg.js.map +1 -0
- package/dist/core/TagInput.cjs.js +2 -2
- package/dist/core/TagInput.js +1 -1
- package/dist/core/boreal-ui.css +31 -0
- package/dist/core/index.cjs.js +7 -7
- package/dist/core/index.js +6 -6
- package/dist/next/{Avatar-B-Ws4Ueo.js → Avatar-B24bFFqY.js} +3 -3
- package/dist/next/{Avatar-B-Ws4Ueo.js.map → Avatar-B24bFFqY.js.map} +1 -1
- package/dist/next/{Avatar-B9sMyRWr.cjs → Avatar-CPaxiA0r.cjs} +3 -3
- package/dist/next/{Avatar-B9sMyRWr.cjs.map → Avatar-CPaxiA0r.cjs.map} +1 -1
- package/dist/next/Avatar.cjs.js +1 -1
- package/dist/next/Avatar.js +1 -1
- package/dist/next/{Breadcrumbs-CrKRsQf3.cjs → Breadcrumbs-BlFi63K8.cjs} +3 -3
- package/dist/next/{Breadcrumbs-CrKRsQf3.cjs.map → Breadcrumbs-BlFi63K8.cjs.map} +1 -1
- package/dist/next/{Breadcrumbs-ZK64MIGd.js → Breadcrumbs-D9BMYEZi.js} +3 -3
- package/dist/next/{Breadcrumbs-ZK64MIGd.js.map → Breadcrumbs-D9BMYEZi.js.map} +1 -1
- package/dist/next/Breadcrumbs.cjs.js +1 -1
- package/dist/next/Breadcrumbs.js +1 -1
- package/dist/next/{Button-BI0LErYM.cjs → Button-DPoX7ahh.cjs} +2 -2
- package/dist/next/{Button-BI0LErYM.cjs.map → Button-DPoX7ahh.cjs.map} +1 -1
- package/dist/next/{Button-qs4m4zx0.js → Button-DhH3Gy0J.js} +2 -2
- package/dist/next/{Button-qs4m4zx0.js.map → Button-DhH3Gy0J.js.map} +1 -1
- package/dist/next/Button.cjs.js +1 -1
- package/dist/next/Button.js +1 -1
- package/dist/next/{Card-CNwE1Mkt.js → Card-4SKxHmOQ.js} +23 -50
- package/dist/next/Card-4SKxHmOQ.js.map +1 -0
- package/dist/next/{Card-CddrG8Xx.cjs → Card-BdzmlYGf.cjs} +23 -50
- package/dist/next/Card-BdzmlYGf.cjs.map +1 -0
- package/dist/next/Card.cjs.js +1 -1
- package/dist/next/Card.js +1 -1
- package/dist/next/{Chip-D2mvW5L7.js → Chip-BqMZEDW_.js} +2 -2
- package/dist/next/{Chip-D2mvW5L7.js.map → Chip-BqMZEDW_.js.map} +1 -1
- package/dist/next/{Chip-BWTBVAIE.cjs → Chip-CqvlZI-K.cjs} +2 -2
- package/dist/next/{Chip-BWTBVAIE.cjs.map → Chip-CqvlZI-K.cjs.map} +1 -1
- package/dist/next/Chip.cjs.js +1 -1
- package/dist/next/Chip.js +1 -1
- package/dist/next/{CommandPalette-BO6R9zQs.cjs → CommandPalette-C0NN-NWE.cjs} +2 -2
- package/dist/next/{CommandPalette-BO6R9zQs.cjs.map → CommandPalette-C0NN-NWE.cjs.map} +1 -1
- package/dist/next/{CommandPalette-CN0BiN0R.js → CommandPalette-vklqlRV0.js} +2 -2
- package/dist/next/{CommandPalette-CN0BiN0R.js.map → CommandPalette-vklqlRV0.js.map} +1 -1
- package/dist/next/CommandPalette.cjs.js +1 -1
- package/dist/next/CommandPalette.js +1 -1
- package/dist/next/{Dropdown-Czc7qKPn.js → Dropdown-BjxT8ivq.js} +2 -2
- package/dist/next/{Dropdown-Czc7qKPn.js.map → Dropdown-BjxT8ivq.js.map} +1 -1
- package/dist/next/{Dropdown-BnuZW883.cjs → Dropdown-IW2Ph6-e.cjs} +2 -2
- package/dist/next/{Dropdown-BnuZW883.cjs.map → Dropdown-IW2Ph6-e.cjs.map} +1 -1
- package/dist/next/Dropdown.cjs.js +1 -1
- package/dist/next/Dropdown.js +1 -1
- package/dist/next/{EmptyState-Bb90F-ej.cjs → EmptyState-BS6-CuHp.cjs} +2 -2
- package/dist/next/{EmptyState-Bb90F-ej.cjs.map → EmptyState-BS6-CuHp.cjs.map} +1 -1
- package/dist/next/{EmptyState-Brd4N36F.js → EmptyState-D_Gcrj_3.js} +2 -2
- package/dist/next/{EmptyState-Brd4N36F.js.map → EmptyState-D_Gcrj_3.js.map} +1 -1
- package/dist/next/EmptyState.cjs.js +1 -1
- package/dist/next/EmptyState.js +1 -1
- package/dist/next/{FileUpload-Drm5_xEx.cjs → FileUpload-Cj99fQhe.cjs} +4 -4
- package/dist/next/{FileUpload-Drm5_xEx.cjs.map → FileUpload-Cj99fQhe.cjs.map} +1 -1
- package/dist/next/{FileUpload-BMMpH1El.js → FileUpload-St2eEaTn.js} +4 -4
- package/dist/next/{FileUpload-BMMpH1El.js.map → FileUpload-St2eEaTn.js.map} +1 -1
- package/dist/next/FileUpload.cjs.js +1 -1
- package/dist/next/FileUpload.js +1 -1
- package/dist/next/{Footer-EF2-ryvY.cjs → Footer-B3KTDWBR.cjs} +4 -4
- package/dist/next/{Footer-EF2-ryvY.cjs.map → Footer-B3KTDWBR.cjs.map} +1 -1
- package/dist/next/{Footer-B6_LG958.js → Footer-dtGtOPyR.js} +4 -4
- package/dist/next/{Footer-B6_LG958.js.map → Footer-dtGtOPyR.js.map} +1 -1
- package/dist/next/Footer.cjs.js +1 -1
- package/dist/next/Footer.js +1 -1
- package/dist/next/{IconButton-BTUFKRZt.js → IconButton-Ct3YtlG9.js} +2 -2
- package/dist/next/{IconButton-BTUFKRZt.js.map → IconButton-Ct3YtlG9.js.map} +1 -1
- package/dist/next/{IconButton-2l-_HOMB.cjs → IconButton-aF7cTy19.cjs} +2 -2
- package/dist/next/{IconButton-2l-_HOMB.cjs.map → IconButton-aF7cTy19.cjs.map} +1 -1
- package/dist/next/IconButton.cjs.js +1 -1
- package/dist/next/IconButton.js +1 -1
- package/dist/next/{MessagePopup-WUBGyJ_F.js → MessagePopup-C4n0Qw7n.js} +6 -6
- package/dist/next/{MessagePopup-WUBGyJ_F.js.map → MessagePopup-C4n0Qw7n.js.map} +1 -1
- package/dist/next/{MessagePopup-DsquzWSn.cjs → MessagePopup-CwOeZAAM.cjs} +6 -6
- package/dist/next/{MessagePopup-DsquzWSn.cjs.map → MessagePopup-CwOeZAAM.cjs.map} +1 -1
- package/dist/next/MessagePopup.cjs.js +4 -0
- package/dist/next/MessagePopup.cjs.js.map +1 -0
- package/dist/next/MessagePopup.js +5 -0
- package/dist/next/MessagePopup.js.map +1 -0
- package/dist/next/{Modal-B2ilLCoi.js → Modal-CIzoBs9H.js} +2 -2
- package/dist/next/{Modal-B2ilLCoi.js.map → Modal-CIzoBs9H.js.map} +1 -1
- package/dist/next/{Modal-CVKVAEdd.cjs → Modal-DCNGQN70.cjs} +2 -2
- package/dist/next/{Modal-CVKVAEdd.cjs.map → Modal-DCNGQN70.cjs.map} +1 -1
- package/dist/next/Modal.cjs.js +1 -1
- package/dist/next/Modal.js +1 -1
- package/dist/next/{NavBar-DVEf0iJH.cjs → NavBar-DDu46bCF.cjs} +3 -3
- package/dist/next/{NavBar-DVEf0iJH.cjs.map → NavBar-DDu46bCF.cjs.map} +1 -1
- package/dist/next/{NavBar-CmvgkEZt.js → NavBar-DyI3rKSN.js} +3 -3
- package/dist/next/{NavBar-CmvgkEZt.js.map → NavBar-DyI3rKSN.js.map} +1 -1
- package/dist/next/NavBar.cjs.js +1 -1
- package/dist/next/NavBar.js +1 -1
- package/dist/next/{NotificationCenter-CtM10CVj.js → NotificationCenter-BIuKaeXk.js} +3 -3
- package/dist/next/{NotificationCenter-CtM10CVj.js.map → NotificationCenter-BIuKaeXk.js.map} +1 -1
- package/dist/next/{NotificationCenter-CtL6rozQ.cjs → NotificationCenter-CzdOOnWg.cjs} +3 -3
- package/dist/next/{NotificationCenter-CtL6rozQ.cjs.map → NotificationCenter-CzdOOnWg.cjs.map} +1 -1
- package/dist/next/NotificationCenter.cjs.js +1 -1
- package/dist/next/NotificationCenter.js +1 -1
- package/dist/next/{Pager-Bxxewb8I.cjs → Pager-C6vww_Lf.cjs} +3 -3
- package/dist/next/{Pager-Bxxewb8I.cjs.map → Pager-C6vww_Lf.cjs.map} +1 -1
- package/dist/next/{Pager-D0Mw7o7v.js → Pager-DkXLe3dd.js} +3 -3
- package/dist/next/{Pager-D0Mw7o7v.js.map → Pager-DkXLe3dd.js.map} +1 -1
- package/dist/next/Pager.cjs.js +1 -1
- package/dist/next/Pager.js +1 -1
- package/dist/next/ProgressBar-BM0Rp63R.js +188 -0
- package/dist/next/ProgressBar-BM0Rp63R.js.map +1 -0
- package/dist/next/ProgressBar-CDhjp_gn.cjs +187 -0
- package/dist/next/ProgressBar-CDhjp_gn.cjs.map +1 -0
- package/dist/next/ProgressBar.cjs.js +1 -1
- package/dist/next/ProgressBar.js +1 -1
- package/dist/next/{Sidebar-DajVSn82.cjs → Sidebar-CBC-Gu5d.cjs} +3 -3
- package/dist/next/{Sidebar-DajVSn82.cjs.map → Sidebar-CBC-Gu5d.cjs.map} +1 -1
- package/dist/next/{Sidebar-CJ4VrQIW.js → Sidebar-oJzZMxwu.js} +3 -3
- package/dist/next/{Sidebar-CJ4VrQIW.js.map → Sidebar-oJzZMxwu.js.map} +1 -1
- package/dist/next/Sidebar.cjs.js +1 -1
- package/dist/next/Sidebar.js +1 -1
- package/dist/next/{Stepper-BvA_ZAho.js → Stepper-DBwramgz.js} +2 -2
- package/dist/next/{Stepper-BvA_ZAho.js.map → Stepper-DBwramgz.js.map} +1 -1
- package/dist/next/{Stepper-D6X70Sr6.cjs → Stepper-YQqjSOG0.cjs} +2 -2
- package/dist/next/{Stepper-D6X70Sr6.cjs.map → Stepper-YQqjSOG0.cjs.map} +1 -1
- package/dist/next/Stepper.cjs.js +1 -1
- package/dist/next/Stepper.js +1 -1
- package/dist/next/{TagInput-DfNJiPKh.cjs → TagInput-B38cJqaG.cjs} +3 -3
- package/dist/next/TagInput-B38cJqaG.cjs.map +1 -0
- package/dist/next/{TagInput-DKzxPiwU.js → TagInput-BDbDZ1W8.js} +3 -3
- package/dist/next/TagInput-BDbDZ1W8.js.map +1 -0
- package/dist/next/TagInput.cjs.js +1 -1
- package/dist/next/TagInput.js +1 -1
- package/dist/next/{TextInput-C1TUvbWx.cjs → TextInput-C3cLfd6E.cjs} +2 -2
- package/dist/next/{TextInput-C1TUvbWx.cjs.map → TextInput-C3cLfd6E.cjs.map} +1 -1
- package/dist/next/{TextInput-CyGkgvS3.js → TextInput-D68lumzk.js} +2 -2
- package/dist/next/{TextInput-CyGkgvS3.js.map → TextInput-D68lumzk.js.map} +1 -1
- package/dist/next/TextInput.cjs.js +1 -1
- package/dist/next/TextInput.js +1 -1
- package/dist/next/{Toolbar-PwnuYGDR.cjs → Toolbar-B-APlNjI.cjs} +2 -2
- package/dist/next/{Toolbar-PwnuYGDR.cjs.map → Toolbar-B-APlNjI.cjs.map} +1 -1
- package/dist/next/{Toolbar-wbusnAUV.js → Toolbar-DHyc9uqa.js} +2 -2
- package/dist/next/{Toolbar-wbusnAUV.js.map → Toolbar-DHyc9uqa.js.map} +1 -1
- package/dist/next/Toolbar.cjs.js +1 -1
- package/dist/next/Toolbar.js +1 -1
- package/dist/next/boreal-ui.css +122 -72
- package/dist/next/{image-BBS8QO15.js → image-B9PuwflE.js} +47 -3
- package/dist/next/image-B9PuwflE.js.map +1 -0
- package/dist/next/{image-A4nTeRaX.cjs → image-Bo_vHlt1.cjs} +47 -3
- package/dist/next/image-Bo_vHlt1.cjs.map +1 -0
- package/dist/next/index.cjs.js +23 -23
- package/dist/next/index.js +23 -23
- package/dist/next/{link-lNk_lOdS.cjs → link-B1N-q38H.cjs} +276 -49
- package/dist/next/link-B1N-q38H.cjs.map +1 -0
- package/dist/next/{link-CxWP3aXr.js → link-CyxHztrS.js} +276 -49
- package/dist/next/link-CyxHztrS.js.map +1 -0
- package/dist/next/{navigation-DxXFNXZM.js → navigation-C2hD8Jlk.js} +157 -199
- package/dist/next/navigation-C2hD8Jlk.js.map +1 -0
- package/dist/next/{navigation-CZU71Pmb.cjs → navigation-C3npGZmO.cjs} +157 -199
- package/dist/next/navigation-C3npGZmO.cjs.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/components/Card/Card.types.d.ts +4 -4
- package/dist/types/components/Card/Card.types.d.ts.map +1 -1
- package/dist/types/components/Card/CardBase.d.ts.map +1 -1
- package/dist/types/components/{MessagePopUp → MessagePopup}/MessagePopup.types.d.ts +2 -2
- package/dist/types/components/{MessagePopUp → MessagePopup}/MessagePopup.types.d.ts.map +1 -1
- package/dist/types/components/{MessagePopUp → MessagePopup}/MessagePopupBase.d.ts.map +1 -1
- package/dist/types/components/MessagePopup/core/MessagePopup.d.ts +6 -0
- package/dist/types/components/{MessagePopUp → MessagePopup}/core/MessagePopup.d.ts.map +1 -1
- package/dist/types/components/MessagePopup/next/MessagePopup.d.ts +5 -0
- package/dist/types/components/{MessagePopUp → MessagePopup}/next/MessagePopup.d.ts.map +1 -1
- package/dist/types/components/ProgressBar/ProgressBar.types.d.ts +10 -1
- package/dist/types/components/ProgressBar/ProgressBar.types.d.ts.map +1 -1
- package/dist/types/components/ProgressBar/ProgressBarBase.d.ts.map +1 -1
- package/dist/types/components/ProgressBar/core/ProgressBar.d.ts.map +1 -1
- package/dist/types/components/TagInput/{Taginput.types.d.ts → TagInput.types.d.ts} +1 -1
- package/dist/types/components/TagInput/{Taginput.types.d.ts.map → TagInput.types.d.ts.map} +1 -1
- package/dist/types/components/TagInput/TagInputBase.d.ts +1 -1
- package/dist/types/components/TagInput/core/TagInput.d.ts +6 -0
- package/dist/types/components/TagInput/core/{Taginput.d.ts.map → TagInput.d.ts.map} +1 -1
- package/dist/types/components/TagInput/next/TagInput.d.ts +1 -1
- package/dist/types/index.core.d.ts +2 -2
- package/dist/types/index.next.d.ts +1 -1
- package/dist/types/public.types.d.ts +2 -2
- package/package.json +8 -8
- package/dist/core/Card-C57chjAP.cjs.map +0 -1
- package/dist/core/Card-YD4BgNEU.js.map +0 -1
- package/dist/core/MessagePopUp.cjs.js +0 -4
- package/dist/core/MessagePopUp.cjs.js.map +0 -1
- package/dist/core/MessagePopUp.js +0 -5
- package/dist/core/MessagePopUp.js.map +0 -1
- package/dist/core/ProgressBar-BwjYOqoE.cjs.map +0 -1
- package/dist/core/ProgressBar-DaA5vvnq.js.map +0 -1
- package/dist/core/Taginput-BXCxdLf0.cjs.map +0 -1
- package/dist/core/Taginput-CoxxwLXg.js.map +0 -1
- package/dist/next/Card-CNwE1Mkt.js.map +0 -1
- package/dist/next/Card-CddrG8Xx.cjs.map +0 -1
- package/dist/next/MessagePopUp.cjs.js +0 -4
- package/dist/next/MessagePopUp.cjs.js.map +0 -1
- package/dist/next/MessagePopUp.js +0 -5
- package/dist/next/MessagePopUp.js.map +0 -1
- package/dist/next/ProgressBar-BMuv0kis.cjs +0 -151
- package/dist/next/ProgressBar-BMuv0kis.cjs.map +0 -1
- package/dist/next/ProgressBar-DuaWQouO.js +0 -152
- package/dist/next/ProgressBar-DuaWQouO.js.map +0 -1
- package/dist/next/TagInput-DKzxPiwU.js.map +0 -1
- package/dist/next/TagInput-DfNJiPKh.cjs.map +0 -1
- package/dist/next/image-A4nTeRaX.cjs.map +0 -1
- package/dist/next/image-BBS8QO15.js.map +0 -1
- package/dist/next/link-CxWP3aXr.js.map +0 -1
- package/dist/next/link-lNk_lOdS.cjs.map +0 -1
- package/dist/next/navigation-CZU71Pmb.cjs.map +0 -1
- package/dist/next/navigation-DxXFNXZM.js.map +0 -1
- package/dist/types/components/MessagePopUp/core/MessagePopup.d.ts +0 -6
- package/dist/types/components/MessagePopUp/next/MessagePopup.d.ts +0 -5
- package/dist/types/components/TagInput/core/Taginput.d.ts +0 -6
- /package/dist/types/components/{MessagePopUp → MessagePopup}/MessagePopupBase.d.ts +0 -0
package/dist/core/boreal-ui.css
CHANGED
|
@@ -16531,7 +16531,38 @@ a:hover {
|
|
|
16531
16531
|
min-width: 160px;
|
|
16532
16532
|
}
|
|
16533
16533
|
}
|
|
16534
|
+
.progress_layout {
|
|
16535
|
+
display: flex;
|
|
16536
|
+
gap: 0.5rem;
|
|
16537
|
+
}
|
|
16538
|
+
.progress_title_top {
|
|
16539
|
+
flex-direction: column;
|
|
16540
|
+
}
|
|
16541
|
+
.progress_title_bottom {
|
|
16542
|
+
flex-direction: column;
|
|
16543
|
+
}
|
|
16544
|
+
.progress_title_left {
|
|
16545
|
+
flex-direction: row;
|
|
16546
|
+
align-items: center;
|
|
16547
|
+
}
|
|
16548
|
+
.progress_title_right {
|
|
16549
|
+
align-items: center;
|
|
16550
|
+
}
|
|
16551
|
+
.progress_title_overlay {
|
|
16552
|
+
position: absolute;
|
|
16553
|
+
inset: 0;
|
|
16554
|
+
display: flex;
|
|
16555
|
+
align-items: center;
|
|
16556
|
+
justify-content: center;
|
|
16557
|
+
pointer-events: none;
|
|
16558
|
+
}
|
|
16559
|
+
.progress_title {
|
|
16560
|
+
font-size: 0.875em;
|
|
16561
|
+
line-height: 1.2;
|
|
16562
|
+
white-space: nowrap;
|
|
16563
|
+
}
|
|
16534
16564
|
.progress_bar {
|
|
16565
|
+
position: relative;
|
|
16535
16566
|
height: 100%;
|
|
16536
16567
|
width: 0;
|
|
16537
16568
|
transition: width 0.4s ease-in-out;
|
package/dist/core/index.cjs.js
CHANGED
|
@@ -12,8 +12,8 @@ const TextInput = require("./TextInput-DYALlUc_.cjs");
|
|
|
12
12
|
const TextArea = require("./TextArea-BJGUr6r_.cjs");
|
|
13
13
|
const Select = require("./Select-B5Zoc07A.cjs");
|
|
14
14
|
const Footer = require("./Footer-CYIUIgV1.cjs");
|
|
15
|
-
const FileUpload = require("./FileUpload-
|
|
16
|
-
const
|
|
15
|
+
const FileUpload = require("./FileUpload-DbMxpH-U.cjs");
|
|
16
|
+
const TagInput = require("./TagInput-BXCxdLf0.cjs");
|
|
17
17
|
const RadioButton = require("./RadioButton-BxdmcaZg.cjs");
|
|
18
18
|
const Slider = require("./Slider-S8KnYlkd.cjs");
|
|
19
19
|
const Checkbox = require("./Checkbox-JvYzNuZp.cjs");
|
|
@@ -28,13 +28,13 @@ const React = require("react");
|
|
|
28
28
|
const uuid = require("uuid");
|
|
29
29
|
const classNames = require("./classNames-BcWMx052.cjs");
|
|
30
30
|
const Badge = require("./Badge-CyGz8K5W.cjs");
|
|
31
|
-
const ProgressBar = require("./ProgressBar-
|
|
31
|
+
const ProgressBar = require("./ProgressBar-BbIZLV1t.cjs");
|
|
32
32
|
const CircularProgress = require("./CircularProgress-DpLsV7FP.cjs");
|
|
33
33
|
const Rating = require("./Rating-U1MIoh5b.cjs");
|
|
34
34
|
const Skeleton = require("./Skeleton-tetAZCSl.cjs");
|
|
35
35
|
const Spinner = require("./Spinner-JTcQ_d4T.cjs");
|
|
36
36
|
const Tooltip = require("./Tooltip-DS7DSyij.cjs");
|
|
37
|
-
const MessagePopup = require("./MessagePopup-
|
|
37
|
+
const MessagePopup = require("./MessagePopup-DQQKRCGF.cjs");
|
|
38
38
|
const PopOver = require("./PopOver-IzDFOu7Y.cjs");
|
|
39
39
|
const NavBar = require("./NavBar-Bbd3SVHi.cjs");
|
|
40
40
|
const Breadcrumbs = require("./Breadcrumbs-BUc98niR.cjs");
|
|
@@ -53,7 +53,7 @@ const EmptyState = require("./EmptyState-P-MSItCX.cjs");
|
|
|
53
53
|
const CommandPalette = require("./CommandPalette-CPhVbQAc.cjs");
|
|
54
54
|
const NotificationCenter = require("./NotificationCenter-DfOOEt9N.cjs");
|
|
55
55
|
const Sidebar = require("./Sidebar-13bKMpw7.cjs");
|
|
56
|
-
const Card = require("./Card-
|
|
56
|
+
const Card = require("./Card-DRM65kM-.cjs");
|
|
57
57
|
const Avatar = require("./Avatar-DOg8W9yf.cjs");
|
|
58
58
|
const ChipGroupBase = React.forwardRef(
|
|
59
59
|
({
|
|
@@ -167,7 +167,7 @@ exports.Select = Select.Select;
|
|
|
167
167
|
exports.Footer = Footer.Footer;
|
|
168
168
|
exports.ThemeSelect = Footer.UserThemeSettings;
|
|
169
169
|
exports.FileUpload = FileUpload.FileUpload;
|
|
170
|
-
exports.TagInput =
|
|
170
|
+
exports.TagInput = TagInput.TagInput;
|
|
171
171
|
exports.RadioButton = RadioButton.RadioButton;
|
|
172
172
|
exports.Slider = Slider.Slider;
|
|
173
173
|
exports.Checkbox = Checkbox.Checkbox;
|
|
@@ -184,7 +184,7 @@ exports.Rating = Rating.Rating;
|
|
|
184
184
|
exports.Skeleton = Skeleton.SkeletonLoader;
|
|
185
185
|
exports.Spinner = Spinner.Spinner;
|
|
186
186
|
exports.Tooltip = Tooltip.Tooltip;
|
|
187
|
-
exports.
|
|
187
|
+
exports.MessagePopup = MessagePopup.MessagePopup;
|
|
188
188
|
exports.PopOver = PopOver.Popover;
|
|
189
189
|
exports.Navbar = NavBar.NavBar;
|
|
190
190
|
exports.Breadcrumbs = Breadcrumbs.Breadcrumbs;
|
package/dist/core/index.js
CHANGED
|
@@ -11,8 +11,8 @@ import { T as T2 } from "./TextInput-qw-jAx_3.js";
|
|
|
11
11
|
import { T as T3 } from "./TextArea-CIdsUIzt.js";
|
|
12
12
|
import { S as S2 } from "./Select-DntK69DL.js";
|
|
13
13
|
import { F, U } from "./Footer-D9RimHx9.js";
|
|
14
|
-
import { F as F2 } from "./FileUpload-
|
|
15
|
-
import { T as T4 } from "./
|
|
14
|
+
import { F as F2 } from "./FileUpload-9fIxslAo.js";
|
|
15
|
+
import { T as T4 } from "./TagInput-CoxxwLXg.js";
|
|
16
16
|
import { R } from "./RadioButton-DygrrlH_.js";
|
|
17
17
|
import { S as S3 } from "./Slider-WsZnPCUo.js";
|
|
18
18
|
import { C } from "./Checkbox-BdNhCbz_.js";
|
|
@@ -27,13 +27,13 @@ import { forwardRef, useState, useEffect, useCallback, useImperativeHandle } fro
|
|
|
27
27
|
import { v4 } from "uuid";
|
|
28
28
|
import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
|
|
29
29
|
import { B as B2 } from "./Badge-DnE8lt7-.js";
|
|
30
|
-
import { P } from "./ProgressBar-
|
|
30
|
+
import { P } from "./ProgressBar-BLcSyVgQ.js";
|
|
31
31
|
import { C as C3 } from "./CircularProgress-CGqwPSPq.js";
|
|
32
32
|
import { R as R2 } from "./Rating-B4qbA_y6.js";
|
|
33
33
|
import { S as S4 } from "./Skeleton-BjpQHG5i.js";
|
|
34
34
|
import { S as S5 } from "./Spinner-D1CHbKYU.js";
|
|
35
35
|
import { T as T5 } from "./Tooltip-BzRqlOTz.js";
|
|
36
|
-
import { M as M2 } from "./MessagePopup-
|
|
36
|
+
import { M as M2 } from "./MessagePopup-BMGIVKoJ.js";
|
|
37
37
|
import { P as P2 } from "./PopOver-Bt80x5vL.js";
|
|
38
38
|
import { N } from "./NavBar-DujO5gH_.js";
|
|
39
39
|
import { B as B3 } from "./Breadcrumbs-Bh_Ocv4_.js";
|
|
@@ -52,7 +52,7 @@ import { E } from "./EmptyState-Cp3ocTQX.js";
|
|
|
52
52
|
import { C as C4 } from "./CommandPalette-Df69KRv4.js";
|
|
53
53
|
import { N as N2 } from "./NotificationCenter-DLCzWNve.js";
|
|
54
54
|
import { S as S7 } from "./Sidebar-DN_J0CwY.js";
|
|
55
|
-
import { C as C5 } from "./Card-
|
|
55
|
+
import { C as C5 } from "./Card-BjLC4t0w.js";
|
|
56
56
|
import { A as A2 } from "./Avatar-BM8AwOB6.js";
|
|
57
57
|
const ChipGroupBase = forwardRef(
|
|
58
58
|
({
|
|
@@ -175,7 +175,7 @@ export {
|
|
|
175
175
|
F3 as FormGroup,
|
|
176
176
|
I as IconButton,
|
|
177
177
|
M as MarkdownRenderer,
|
|
178
|
-
M2 as
|
|
178
|
+
M2 as MessagePopup,
|
|
179
179
|
M4 as MetricBox,
|
|
180
180
|
M3 as Modal,
|
|
181
181
|
N as Navbar,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef, useState, useMemo } from "react";
|
|
3
|
-
import { I as Image } from "./image-
|
|
4
|
-
import { L as Link } from "./link-
|
|
3
|
+
import { I as Image } from "./image-B9PuwflE.js";
|
|
4
|
+
import { L as Link } from "./link-CyxHztrS.js";
|
|
5
5
|
import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
|
|
6
6
|
import { c as capitalize } from "./capitalize-C0TSQSPh.js";
|
|
7
7
|
import { b as getDefaultShadow, c as getDefaultSize, d as getDefaultTheme } from "./boreal-style-config-BILmxkZG.js";
|
|
@@ -301,4 +301,4 @@ Avatar.displayName = "Avatar";
|
|
|
301
301
|
export {
|
|
302
302
|
Avatar as A
|
|
303
303
|
};
|
|
304
|
-
//# sourceMappingURL=Avatar-
|
|
304
|
+
//# sourceMappingURL=Avatar-B24bFFqY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar-B-Ws4Ueo.js","sources":["../../src/utils/getInitials.ts","../../src/Icons/UserIcon.tsx","../../src/components/Avatar/AvatarBase.tsx","../../src/components/Avatar/next/Avatar.tsx"],"sourcesContent":["/**\r\n * Returns the initials from a given full name string.\r\n *\r\n * Extracts the first character from the first word and the first character of the second word (if available).\r\n * If only one word is provided, it uses the first two characters of that word as a fallback.\r\n * If no valid characters are found, it returns \"?\".\r\n *\r\n * @param {string} name - The full name to extract initials from.\r\n * @returns {string} A string of up to two uppercase initials, or \"?\" if the input is empty or invalid.\r\n *\r\n * @example\r\n * getInitials(\"John Doe\"); // \"JD\"\r\n * getInitials(\"Alice\"); // \"AL\"\r\n * getInitials(\" \"); // \"?\"\r\n */\r\nexport const getInitials = (name: string): string => {\r\n const words = name.trim().split(/\\s+/);\r\n const first = words[0]?.[0] || \"\";\r\n const second = words[1]?.[0] || words[0]?.[1] || \"\";\r\n return (first + second).toUpperCase() || \"?\";\r\n};\r\n","const FallbackUserIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M5 20V19C5 15.134 8.13401 12 12 12V12C15.866 12 19 15.134 19 19V20\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M12 12C14.2091 12 16 10.2091 16 8C16 5.79086 14.2091 4 12 4C9.79086 4 8 5.79086 8 8C8 10.2091 9.79086 12 12 12Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default FallbackUserIcon;\r\n","import React, {\r\n useMemo,\r\n useState,\r\n MouseEvent,\r\n AnchorHTMLAttributes,\r\n ButtonHTMLAttributes,\r\n forwardRef,\r\n} from \"react\";\r\nimport { AvatarBaseProps } from \"./Avatar.types\";\r\nimport { getInitials } from \"../../utils/getInitials\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { FallbackUserIcon } from \"../../Icons/index\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport const AvatarBase = forwardRef<\r\n HTMLButtonElement | HTMLAnchorElement,\r\n AvatarBaseProps\r\n>(function AvatarBase(\r\n {\r\n src,\r\n alt,\r\n name = \"\",\r\n label,\r\n onClick,\r\n disabled = false,\r\n href,\r\n status,\r\n statusIcon,\r\n statusPosition = \"bottomRight\",\r\n fallback,\r\n children,\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n shape = \"circle\",\r\n outline = false,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n className = \"\",\r\n priority = false,\r\n ImageComponent = \"img\",\r\n LinkComponent = \"a\",\r\n classMap,\r\n \"data-testid\": testId = \"avatar\",\r\n ...rest\r\n },\r\n ref\r\n) {\r\n const [imgError, setImgError] = useState(false);\r\n\r\n const computedLabel = label || alt || name || \"User avatar\";\r\n\r\n const linkAria = {\r\n \"aria-label\": computedLabel,\r\n \"aria-disabled\": disabled || undefined,\r\n } as const;\r\n const buttonAria = { \"aria-label\": computedLabel } as const;\r\n\r\n const fallbackContent =\r\n fallback ??\r\n (name ? (\r\n getInitials(name)\r\n ) : (\r\n <FallbackUserIcon className={classMap.fallback_icon} />\r\n ));\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.avatar,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[shape],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n onClick && classMap.clickable,\r\n className\r\n ),\r\n [\r\n theme,\r\n state,\r\n shape,\r\n size,\r\n shadow,\r\n disabled,\r\n outline,\r\n onClick,\r\n className,\r\n classMap,\r\n ]\r\n );\r\n\r\n const isNextImage = typeof ImageComponent !== \"string\";\r\n\r\n const avatarContent =\r\n !imgError && src ? (\r\n <ImageComponent\r\n src={src}\r\n alt={computedLabel}\r\n className={classMap.image}\r\n onError={() => setImgError(true)}\r\n {...(priority\r\n ? { loading: \"eager\" as const }\r\n : { loading: \"lazy\" as const })}\r\n {...(isNextImage ? { fill: true } : {})}\r\n data-testid={testId ? `${testId}-image` : undefined}\r\n />\r\n ) : (\r\n <span\r\n className={classMap.initials}\r\n role=\"img\"\r\n aria-label={computedLabel}\r\n title={computedLabel}\r\n data-testid={testId ? `${testId}-initials` : undefined}\r\n >\r\n {fallbackContent}\r\n </span>\r\n );\r\n\r\n const statusIndicator = (status || statusIcon) && (\r\n <span\r\n className={combineClassNames(\r\n classMap.status,\r\n status && classMap[status],\r\n statusIcon ? classMap.icon_only : undefined,\r\n classMap[statusPosition]\r\n )}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-status` : undefined}\r\n >\r\n {statusIcon || <span className={classMap.dot} />}\r\n </span>\r\n );\r\n\r\n const content = (\r\n <>\r\n {children ?? avatarContent}\r\n {statusIndicator}\r\n </>\r\n );\r\n\r\n const handleClick = (e: MouseEvent<HTMLElement>) => {\r\n if (disabled) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return;\r\n }\r\n onClick?.(e as MouseEvent<HTMLButtonElement | HTMLAnchorElement>);\r\n };\r\n\r\n if (href) {\r\n const isHttp = /^https?:\\/\\//i.test(href);\r\n return LinkComponent === \"a\" ? (\r\n <a\r\n ref={ref as React.Ref<HTMLAnchorElement>}\r\n href={disabled ? undefined : href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n target={isHttp && !disabled ? \"_blank\" : undefined}\r\n rel={isHttp && !disabled ? \"noopener noreferrer\" : undefined}\r\n tabIndex={disabled ? -1 : 0}\r\n {...linkAria}\r\n {...(rest as AnchorHTMLAttributes<HTMLAnchorElement>)}\r\n >\r\n {content}\r\n </a>\r\n ) : (\r\n <LinkComponent\r\n ref={ref}\r\n href={href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n tabIndex={disabled ? -1 : 0}\r\n {...linkAria}\r\n {...(rest as Record<string, unknown>)}\r\n >\r\n {content}\r\n </LinkComponent>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n ref={ref as React.Ref<HTMLButtonElement>}\r\n type=\"button\"\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n disabled={disabled}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n {...buttonAria}\r\n {...(rest as ButtonHTMLAttributes<HTMLButtonElement>)}\r\n >\r\n {content}\r\n </button>\r\n );\r\n});\r\n\r\nAvatarBase.displayName = \"AvatarBase\";\r\n","\"use client\";\r\n\r\nimport { forwardRef } from \"react\";\r\nimport Image from \"next/image\";\r\nimport Link from \"next/link\";\r\nimport { AvatarProps } from \"../Avatar.types\";\r\nimport { AvatarBase } from \"../AvatarBase\";\r\nimport styles from \"./Avatar.module.scss\";\r\n\r\nconst Avatar = forwardRef<HTMLAnchorElement | HTMLButtonElement, AvatarProps>(\r\n (props, ref) => (\r\n <AvatarBase\r\n {...props}\r\n ImageComponent={Image}\r\n LinkComponent={Link}\r\n classMap={styles}\r\n ref={ref}\r\n />\r\n )\r\n);\r\nAvatar.displayName = \"Avatar\";\r\nexport default Avatar;\r\n"],"names":["AvatarBase","disabled","status","outline"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Avatar-B24bFFqY.js","sources":["../../src/utils/getInitials.ts","../../src/Icons/UserIcon.tsx","../../src/components/Avatar/AvatarBase.tsx","../../src/components/Avatar/next/Avatar.tsx"],"sourcesContent":["/**\r\n * Returns the initials from a given full name string.\r\n *\r\n * Extracts the first character from the first word and the first character of the second word (if available).\r\n * If only one word is provided, it uses the first two characters of that word as a fallback.\r\n * If no valid characters are found, it returns \"?\".\r\n *\r\n * @param {string} name - The full name to extract initials from.\r\n * @returns {string} A string of up to two uppercase initials, or \"?\" if the input is empty or invalid.\r\n *\r\n * @example\r\n * getInitials(\"John Doe\"); // \"JD\"\r\n * getInitials(\"Alice\"); // \"AL\"\r\n * getInitials(\" \"); // \"?\"\r\n */\r\nexport const getInitials = (name: string): string => {\r\n const words = name.trim().split(/\\s+/);\r\n const first = words[0]?.[0] || \"\";\r\n const second = words[1]?.[0] || words[0]?.[1] || \"\";\r\n return (first + second).toUpperCase() || \"?\";\r\n};\r\n","const FallbackUserIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M5 20V19C5 15.134 8.13401 12 12 12V12C15.866 12 19 15.134 19 19V20\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M12 12C14.2091 12 16 10.2091 16 8C16 5.79086 14.2091 4 12 4C9.79086 4 8 5.79086 8 8C8 10.2091 9.79086 12 12 12Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default FallbackUserIcon;\r\n","import React, {\r\n useMemo,\r\n useState,\r\n MouseEvent,\r\n AnchorHTMLAttributes,\r\n ButtonHTMLAttributes,\r\n forwardRef,\r\n} from \"react\";\r\nimport { AvatarBaseProps } from \"./Avatar.types\";\r\nimport { getInitials } from \"../../utils/getInitials\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { FallbackUserIcon } from \"../../Icons/index\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport const AvatarBase = forwardRef<\r\n HTMLButtonElement | HTMLAnchorElement,\r\n AvatarBaseProps\r\n>(function AvatarBase(\r\n {\r\n src,\r\n alt,\r\n name = \"\",\r\n label,\r\n onClick,\r\n disabled = false,\r\n href,\r\n status,\r\n statusIcon,\r\n statusPosition = \"bottomRight\",\r\n fallback,\r\n children,\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n shape = \"circle\",\r\n outline = false,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n className = \"\",\r\n priority = false,\r\n ImageComponent = \"img\",\r\n LinkComponent = \"a\",\r\n classMap,\r\n \"data-testid\": testId = \"avatar\",\r\n ...rest\r\n },\r\n ref\r\n) {\r\n const [imgError, setImgError] = useState(false);\r\n\r\n const computedLabel = label || alt || name || \"User avatar\";\r\n\r\n const linkAria = {\r\n \"aria-label\": computedLabel,\r\n \"aria-disabled\": disabled || undefined,\r\n } as const;\r\n const buttonAria = { \"aria-label\": computedLabel } as const;\r\n\r\n const fallbackContent =\r\n fallback ??\r\n (name ? (\r\n getInitials(name)\r\n ) : (\r\n <FallbackUserIcon className={classMap.fallback_icon} />\r\n ));\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.avatar,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[shape],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n onClick && classMap.clickable,\r\n className\r\n ),\r\n [\r\n theme,\r\n state,\r\n shape,\r\n size,\r\n shadow,\r\n disabled,\r\n outline,\r\n onClick,\r\n className,\r\n classMap,\r\n ]\r\n );\r\n\r\n const isNextImage = typeof ImageComponent !== \"string\";\r\n\r\n const avatarContent =\r\n !imgError && src ? (\r\n <ImageComponent\r\n src={src}\r\n alt={computedLabel}\r\n className={classMap.image}\r\n onError={() => setImgError(true)}\r\n {...(priority\r\n ? { loading: \"eager\" as const }\r\n : { loading: \"lazy\" as const })}\r\n {...(isNextImage ? { fill: true } : {})}\r\n data-testid={testId ? `${testId}-image` : undefined}\r\n />\r\n ) : (\r\n <span\r\n className={classMap.initials}\r\n role=\"img\"\r\n aria-label={computedLabel}\r\n title={computedLabel}\r\n data-testid={testId ? `${testId}-initials` : undefined}\r\n >\r\n {fallbackContent}\r\n </span>\r\n );\r\n\r\n const statusIndicator = (status || statusIcon) && (\r\n <span\r\n className={combineClassNames(\r\n classMap.status,\r\n status && classMap[status],\r\n statusIcon ? classMap.icon_only : undefined,\r\n classMap[statusPosition]\r\n )}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-status` : undefined}\r\n >\r\n {statusIcon || <span className={classMap.dot} />}\r\n </span>\r\n );\r\n\r\n const content = (\r\n <>\r\n {children ?? avatarContent}\r\n {statusIndicator}\r\n </>\r\n );\r\n\r\n const handleClick = (e: MouseEvent<HTMLElement>) => {\r\n if (disabled) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return;\r\n }\r\n onClick?.(e as MouseEvent<HTMLButtonElement | HTMLAnchorElement>);\r\n };\r\n\r\n if (href) {\r\n const isHttp = /^https?:\\/\\//i.test(href);\r\n return LinkComponent === \"a\" ? (\r\n <a\r\n ref={ref as React.Ref<HTMLAnchorElement>}\r\n href={disabled ? undefined : href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n target={isHttp && !disabled ? \"_blank\" : undefined}\r\n rel={isHttp && !disabled ? \"noopener noreferrer\" : undefined}\r\n tabIndex={disabled ? -1 : 0}\r\n {...linkAria}\r\n {...(rest as AnchorHTMLAttributes<HTMLAnchorElement>)}\r\n >\r\n {content}\r\n </a>\r\n ) : (\r\n <LinkComponent\r\n ref={ref}\r\n href={href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n tabIndex={disabled ? -1 : 0}\r\n {...linkAria}\r\n {...(rest as Record<string, unknown>)}\r\n >\r\n {content}\r\n </LinkComponent>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n ref={ref as React.Ref<HTMLButtonElement>}\r\n type=\"button\"\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n disabled={disabled}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n {...buttonAria}\r\n {...(rest as ButtonHTMLAttributes<HTMLButtonElement>)}\r\n >\r\n {content}\r\n </button>\r\n );\r\n});\r\n\r\nAvatarBase.displayName = \"AvatarBase\";\r\n","\"use client\";\r\n\r\nimport { forwardRef } from \"react\";\r\nimport Image from \"next/image\";\r\nimport Link from \"next/link\";\r\nimport { AvatarProps } from \"../Avatar.types\";\r\nimport { AvatarBase } from \"../AvatarBase\";\r\nimport styles from \"./Avatar.module.scss\";\r\n\r\nconst Avatar = forwardRef<HTMLAnchorElement | HTMLButtonElement, AvatarProps>(\r\n (props, ref) => (\r\n <AvatarBase\r\n {...props}\r\n ImageComponent={Image}\r\n LinkComponent={Link}\r\n classMap={styles}\r\n ref={ref}\r\n />\r\n )\r\n);\r\nAvatar.displayName = \"Avatar\";\r\nexport default Avatar;\r\n"],"names":["AvatarBase","disabled","status","outline"],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const require$$2 = require("react/jsx-runtime");
|
|
3
3
|
const React = require("react");
|
|
4
|
-
const image$1 = require("./image-
|
|
5
|
-
const link = require("./link-
|
|
4
|
+
const image$1 = require("./image-Bo_vHlt1.cjs");
|
|
5
|
+
const link = require("./link-B1N-q38H.cjs");
|
|
6
6
|
const classNames = require("./classNames-BcWMx052.cjs");
|
|
7
7
|
const capitalize = require("./capitalize-DoV-nOmN.cjs");
|
|
8
8
|
const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
|
|
@@ -300,4 +300,4 @@ const Avatar = React.forwardRef(
|
|
|
300
300
|
);
|
|
301
301
|
Avatar.displayName = "Avatar";
|
|
302
302
|
exports.Avatar = Avatar;
|
|
303
|
-
//# sourceMappingURL=Avatar-
|
|
303
|
+
//# sourceMappingURL=Avatar-CPaxiA0r.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar-B9sMyRWr.cjs","sources":["../../src/utils/getInitials.ts","../../src/Icons/UserIcon.tsx","../../src/components/Avatar/AvatarBase.tsx","../../src/components/Avatar/next/Avatar.tsx"],"sourcesContent":["/**\r\n * Returns the initials from a given full name string.\r\n *\r\n * Extracts the first character from the first word and the first character of the second word (if available).\r\n * If only one word is provided, it uses the first two characters of that word as a fallback.\r\n * If no valid characters are found, it returns \"?\".\r\n *\r\n * @param {string} name - The full name to extract initials from.\r\n * @returns {string} A string of up to two uppercase initials, or \"?\" if the input is empty or invalid.\r\n *\r\n * @example\r\n * getInitials(\"John Doe\"); // \"JD\"\r\n * getInitials(\"Alice\"); // \"AL\"\r\n * getInitials(\" \"); // \"?\"\r\n */\r\nexport const getInitials = (name: string): string => {\r\n const words = name.trim().split(/\\s+/);\r\n const first = words[0]?.[0] || \"\";\r\n const second = words[1]?.[0] || words[0]?.[1] || \"\";\r\n return (first + second).toUpperCase() || \"?\";\r\n};\r\n","const FallbackUserIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M5 20V19C5 15.134 8.13401 12 12 12V12C15.866 12 19 15.134 19 19V20\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M12 12C14.2091 12 16 10.2091 16 8C16 5.79086 14.2091 4 12 4C9.79086 4 8 5.79086 8 8C8 10.2091 9.79086 12 12 12Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default FallbackUserIcon;\r\n","import React, {\r\n useMemo,\r\n useState,\r\n MouseEvent,\r\n AnchorHTMLAttributes,\r\n ButtonHTMLAttributes,\r\n forwardRef,\r\n} from \"react\";\r\nimport { AvatarBaseProps } from \"./Avatar.types\";\r\nimport { getInitials } from \"../../utils/getInitials\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { FallbackUserIcon } from \"../../Icons/index\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport const AvatarBase = forwardRef<\r\n HTMLButtonElement | HTMLAnchorElement,\r\n AvatarBaseProps\r\n>(function AvatarBase(\r\n {\r\n src,\r\n alt,\r\n name = \"\",\r\n label,\r\n onClick,\r\n disabled = false,\r\n href,\r\n status,\r\n statusIcon,\r\n statusPosition = \"bottomRight\",\r\n fallback,\r\n children,\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n shape = \"circle\",\r\n outline = false,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n className = \"\",\r\n priority = false,\r\n ImageComponent = \"img\",\r\n LinkComponent = \"a\",\r\n classMap,\r\n \"data-testid\": testId = \"avatar\",\r\n ...rest\r\n },\r\n ref\r\n) {\r\n const [imgError, setImgError] = useState(false);\r\n\r\n const computedLabel = label || alt || name || \"User avatar\";\r\n\r\n const linkAria = {\r\n \"aria-label\": computedLabel,\r\n \"aria-disabled\": disabled || undefined,\r\n } as const;\r\n const buttonAria = { \"aria-label\": computedLabel } as const;\r\n\r\n const fallbackContent =\r\n fallback ??\r\n (name ? (\r\n getInitials(name)\r\n ) : (\r\n <FallbackUserIcon className={classMap.fallback_icon} />\r\n ));\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.avatar,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[shape],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n onClick && classMap.clickable,\r\n className\r\n ),\r\n [\r\n theme,\r\n state,\r\n shape,\r\n size,\r\n shadow,\r\n disabled,\r\n outline,\r\n onClick,\r\n className,\r\n classMap,\r\n ]\r\n );\r\n\r\n const isNextImage = typeof ImageComponent !== \"string\";\r\n\r\n const avatarContent =\r\n !imgError && src ? (\r\n <ImageComponent\r\n src={src}\r\n alt={computedLabel}\r\n className={classMap.image}\r\n onError={() => setImgError(true)}\r\n {...(priority\r\n ? { loading: \"eager\" as const }\r\n : { loading: \"lazy\" as const })}\r\n {...(isNextImage ? { fill: true } : {})}\r\n data-testid={testId ? `${testId}-image` : undefined}\r\n />\r\n ) : (\r\n <span\r\n className={classMap.initials}\r\n role=\"img\"\r\n aria-label={computedLabel}\r\n title={computedLabel}\r\n data-testid={testId ? `${testId}-initials` : undefined}\r\n >\r\n {fallbackContent}\r\n </span>\r\n );\r\n\r\n const statusIndicator = (status || statusIcon) && (\r\n <span\r\n className={combineClassNames(\r\n classMap.status,\r\n status && classMap[status],\r\n statusIcon ? classMap.icon_only : undefined,\r\n classMap[statusPosition]\r\n )}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-status` : undefined}\r\n >\r\n {statusIcon || <span className={classMap.dot} />}\r\n </span>\r\n );\r\n\r\n const content = (\r\n <>\r\n {children ?? avatarContent}\r\n {statusIndicator}\r\n </>\r\n );\r\n\r\n const handleClick = (e: MouseEvent<HTMLElement>) => {\r\n if (disabled) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return;\r\n }\r\n onClick?.(e as MouseEvent<HTMLButtonElement | HTMLAnchorElement>);\r\n };\r\n\r\n if (href) {\r\n const isHttp = /^https?:\\/\\//i.test(href);\r\n return LinkComponent === \"a\" ? (\r\n <a\r\n ref={ref as React.Ref<HTMLAnchorElement>}\r\n href={disabled ? undefined : href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n target={isHttp && !disabled ? \"_blank\" : undefined}\r\n rel={isHttp && !disabled ? \"noopener noreferrer\" : undefined}\r\n tabIndex={disabled ? -1 : 0}\r\n {...linkAria}\r\n {...(rest as AnchorHTMLAttributes<HTMLAnchorElement>)}\r\n >\r\n {content}\r\n </a>\r\n ) : (\r\n <LinkComponent\r\n ref={ref}\r\n href={href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n tabIndex={disabled ? -1 : 0}\r\n {...linkAria}\r\n {...(rest as Record<string, unknown>)}\r\n >\r\n {content}\r\n </LinkComponent>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n ref={ref as React.Ref<HTMLButtonElement>}\r\n type=\"button\"\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n disabled={disabled}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n {...buttonAria}\r\n {...(rest as ButtonHTMLAttributes<HTMLButtonElement>)}\r\n >\r\n {content}\r\n </button>\r\n );\r\n});\r\n\r\nAvatarBase.displayName = \"AvatarBase\";\r\n","\"use client\";\r\n\r\nimport { forwardRef } from \"react\";\r\nimport Image from \"next/image\";\r\nimport Link from \"next/link\";\r\nimport { AvatarProps } from \"../Avatar.types\";\r\nimport { AvatarBase } from \"../AvatarBase\";\r\nimport styles from \"./Avatar.module.scss\";\r\n\r\nconst Avatar = forwardRef<HTMLAnchorElement | HTMLButtonElement, AvatarProps>(\r\n (props, ref) => (\r\n <AvatarBase\r\n {...props}\r\n ImageComponent={Image}\r\n LinkComponent={Link}\r\n classMap={styles}\r\n ref={ref}\r\n />\r\n )\r\n);\r\nAvatar.displayName = \"Avatar\";\r\nexport default Avatar;\r\n"],"names":["jsxs","jsx","forwardRef","AvatarBase","disabled","status","getDefaultSize","getDefaultShadow","outline","getDefaultTheme","useState","useMemo","combineClassNames","capitalize","Fragment","Image","Link"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Avatar-CPaxiA0r.cjs","sources":["../../src/utils/getInitials.ts","../../src/Icons/UserIcon.tsx","../../src/components/Avatar/AvatarBase.tsx","../../src/components/Avatar/next/Avatar.tsx"],"sourcesContent":["/**\r\n * Returns the initials from a given full name string.\r\n *\r\n * Extracts the first character from the first word and the first character of the second word (if available).\r\n * If only one word is provided, it uses the first two characters of that word as a fallback.\r\n * If no valid characters are found, it returns \"?\".\r\n *\r\n * @param {string} name - The full name to extract initials from.\r\n * @returns {string} A string of up to two uppercase initials, or \"?\" if the input is empty or invalid.\r\n *\r\n * @example\r\n * getInitials(\"John Doe\"); // \"JD\"\r\n * getInitials(\"Alice\"); // \"AL\"\r\n * getInitials(\" \"); // \"?\"\r\n */\r\nexport const getInitials = (name: string): string => {\r\n const words = name.trim().split(/\\s+/);\r\n const first = words[0]?.[0] || \"\";\r\n const second = words[1]?.[0] || words[0]?.[1] || \"\";\r\n return (first + second).toUpperCase() || \"?\";\r\n};\r\n","const FallbackUserIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M5 20V19C5 15.134 8.13401 12 12 12V12C15.866 12 19 15.134 19 19V20\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M12 12C14.2091 12 16 10.2091 16 8C16 5.79086 14.2091 4 12 4C9.79086 4 8 5.79086 8 8C8 10.2091 9.79086 12 12 12Z\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default FallbackUserIcon;\r\n","import React, {\r\n useMemo,\r\n useState,\r\n MouseEvent,\r\n AnchorHTMLAttributes,\r\n ButtonHTMLAttributes,\r\n forwardRef,\r\n} from \"react\";\r\nimport { AvatarBaseProps } from \"./Avatar.types\";\r\nimport { getInitials } from \"../../utils/getInitials\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { FallbackUserIcon } from \"../../Icons/index\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport const AvatarBase = forwardRef<\r\n HTMLButtonElement | HTMLAnchorElement,\r\n AvatarBaseProps\r\n>(function AvatarBase(\r\n {\r\n src,\r\n alt,\r\n name = \"\",\r\n label,\r\n onClick,\r\n disabled = false,\r\n href,\r\n status,\r\n statusIcon,\r\n statusPosition = \"bottomRight\",\r\n fallback,\r\n children,\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n shape = \"circle\",\r\n outline = false,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n className = \"\",\r\n priority = false,\r\n ImageComponent = \"img\",\r\n LinkComponent = \"a\",\r\n classMap,\r\n \"data-testid\": testId = \"avatar\",\r\n ...rest\r\n },\r\n ref\r\n) {\r\n const [imgError, setImgError] = useState(false);\r\n\r\n const computedLabel = label || alt || name || \"User avatar\";\r\n\r\n const linkAria = {\r\n \"aria-label\": computedLabel,\r\n \"aria-disabled\": disabled || undefined,\r\n } as const;\r\n const buttonAria = { \"aria-label\": computedLabel } as const;\r\n\r\n const fallbackContent =\r\n fallback ??\r\n (name ? (\r\n getInitials(name)\r\n ) : (\r\n <FallbackUserIcon className={classMap.fallback_icon} />\r\n ));\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.avatar,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[shape],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n onClick && classMap.clickable,\r\n className\r\n ),\r\n [\r\n theme,\r\n state,\r\n shape,\r\n size,\r\n shadow,\r\n disabled,\r\n outline,\r\n onClick,\r\n className,\r\n classMap,\r\n ]\r\n );\r\n\r\n const isNextImage = typeof ImageComponent !== \"string\";\r\n\r\n const avatarContent =\r\n !imgError && src ? (\r\n <ImageComponent\r\n src={src}\r\n alt={computedLabel}\r\n className={classMap.image}\r\n onError={() => setImgError(true)}\r\n {...(priority\r\n ? { loading: \"eager\" as const }\r\n : { loading: \"lazy\" as const })}\r\n {...(isNextImage ? { fill: true } : {})}\r\n data-testid={testId ? `${testId}-image` : undefined}\r\n />\r\n ) : (\r\n <span\r\n className={classMap.initials}\r\n role=\"img\"\r\n aria-label={computedLabel}\r\n title={computedLabel}\r\n data-testid={testId ? `${testId}-initials` : undefined}\r\n >\r\n {fallbackContent}\r\n </span>\r\n );\r\n\r\n const statusIndicator = (status || statusIcon) && (\r\n <span\r\n className={combineClassNames(\r\n classMap.status,\r\n status && classMap[status],\r\n statusIcon ? classMap.icon_only : undefined,\r\n classMap[statusPosition]\r\n )}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-status` : undefined}\r\n >\r\n {statusIcon || <span className={classMap.dot} />}\r\n </span>\r\n );\r\n\r\n const content = (\r\n <>\r\n {children ?? avatarContent}\r\n {statusIndicator}\r\n </>\r\n );\r\n\r\n const handleClick = (e: MouseEvent<HTMLElement>) => {\r\n if (disabled) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return;\r\n }\r\n onClick?.(e as MouseEvent<HTMLButtonElement | HTMLAnchorElement>);\r\n };\r\n\r\n if (href) {\r\n const isHttp = /^https?:\\/\\//i.test(href);\r\n return LinkComponent === \"a\" ? (\r\n <a\r\n ref={ref as React.Ref<HTMLAnchorElement>}\r\n href={disabled ? undefined : href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n target={isHttp && !disabled ? \"_blank\" : undefined}\r\n rel={isHttp && !disabled ? \"noopener noreferrer\" : undefined}\r\n tabIndex={disabled ? -1 : 0}\r\n {...linkAria}\r\n {...(rest as AnchorHTMLAttributes<HTMLAnchorElement>)}\r\n >\r\n {content}\r\n </a>\r\n ) : (\r\n <LinkComponent\r\n ref={ref}\r\n href={href}\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n tabIndex={disabled ? -1 : 0}\r\n {...linkAria}\r\n {...(rest as Record<string, unknown>)}\r\n >\r\n {content}\r\n </LinkComponent>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n ref={ref as React.Ref<HTMLButtonElement>}\r\n type=\"button\"\r\n className={combinedClassName}\r\n onClick={handleClick}\r\n disabled={disabled}\r\n data-testid={testId ? `${testId}-main` : undefined}\r\n {...buttonAria}\r\n {...(rest as ButtonHTMLAttributes<HTMLButtonElement>)}\r\n >\r\n {content}\r\n </button>\r\n );\r\n});\r\n\r\nAvatarBase.displayName = \"AvatarBase\";\r\n","\"use client\";\r\n\r\nimport { forwardRef } from \"react\";\r\nimport Image from \"next/image\";\r\nimport Link from \"next/link\";\r\nimport { AvatarProps } from \"../Avatar.types\";\r\nimport { AvatarBase } from \"../AvatarBase\";\r\nimport styles from \"./Avatar.module.scss\";\r\n\r\nconst Avatar = forwardRef<HTMLAnchorElement | HTMLButtonElement, AvatarProps>(\r\n (props, ref) => (\r\n <AvatarBase\r\n {...props}\r\n ImageComponent={Image}\r\n LinkComponent={Link}\r\n classMap={styles}\r\n ref={ref}\r\n />\r\n )\r\n);\r\nAvatar.displayName = \"Avatar\";\r\nexport default Avatar;\r\n"],"names":["jsxs","jsx","forwardRef","AvatarBase","disabled","status","getDefaultSize","getDefaultShadow","outline","getDefaultTheme","useState","useMemo","combineClassNames","capitalize","Fragment","Image","Link"],"mappings":"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"}
|
package/dist/next/Avatar.cjs.js
CHANGED
package/dist/next/Avatar.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const require$$2 = require("react/jsx-runtime");
|
|
3
|
-
const link$1 = require("./link-
|
|
3
|
+
const link$1 = require("./link-B1N-q38H.cjs");
|
|
4
4
|
const React = require("react");
|
|
5
5
|
const classNames = require("./classNames-BcWMx052.cjs");
|
|
6
6
|
const ArrowRightIcon = require("./ArrowRightIcon-BVb75OpX.cjs");
|
|
7
7
|
const capitalize = require("./capitalize-DoV-nOmN.cjs");
|
|
8
8
|
const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
|
|
9
9
|
;/* empty css */
|
|
10
|
-
const Button = require("./Button-
|
|
10
|
+
const Button = require("./Button-DPoX7ahh.cjs");
|
|
11
11
|
const breadcrumbs = "_breadcrumbs_1c6om_85";
|
|
12
12
|
const ellipsis = "_ellipsis_1c6om_111";
|
|
13
13
|
const roundNone = "_roundNone_1c6om_115";
|
|
@@ -235,4 +235,4 @@ const Breadcrumbs = (props) => {
|
|
|
235
235
|
Breadcrumbs.displayName = "Breadcrumbs";
|
|
236
236
|
exports.Breadcrumbs = Breadcrumbs;
|
|
237
237
|
exports.ELLIPSIS_LABEL = ELLIPSIS_LABEL;
|
|
238
|
-
//# sourceMappingURL=Breadcrumbs-
|
|
238
|
+
//# sourceMappingURL=Breadcrumbs-BlFi63K8.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumbs-CrKRsQf3.cjs","sources":["../../src/components/Breadcrumbs/Breadcrumbs.types.ts","../../src/components/Breadcrumbs/BreadcrumbsBase.tsx","../../src/components/Breadcrumbs/next/Breadcrumbs.tsx"],"sourcesContent":["import {\r\n RoundingType,\r\n ShadowType,\r\n SizeType,\r\n StateType,\r\n ThemeType,\r\n} from \"@/types/types\";\r\n\r\n/**\r\n * A breadcrumb item used to define a single step in the navigation path.\r\n */\r\nexport interface Breadcrumb {\r\n /**\r\n * The display label for the breadcrumb.\r\n */\r\n label: string;\r\n\r\n /**\r\n * Optional URL the breadcrumb should link to.\r\n * If not provided, it is rendered as plain text.\r\n */\r\n href?: string;\r\n}\r\n\r\n/**\r\n * Props for the Breadcrumbs component.\r\n */\r\nexport interface BreadcrumbsProps {\r\n /**\r\n * An array of breadcrumb items.\r\n */\r\n items: Breadcrumb[];\r\n\r\n /**\r\n * Disables interaction and styles as disabled.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Optional custom separator node between breadcrumb items.\r\n * Defaults to a right chevron icon.\r\n */\r\n separator?: React.ReactNode;\r\n\r\n /**\r\n * Theme style to apply to the breadcrumbs\r\n * ('primary' | 'secondary' | 'tertiary' | 'quaternary' | 'clear').\r\n */\r\n theme?: ThemeType;\r\n\r\n /**\r\n * Rounding style to apply to the breadcrumbs\r\n * ('none' | 'small' | 'medium' | 'large' | 'full').\r\n */\r\n rounding?: RoundingType;\r\n\r\n /**\r\n * Shadow style to apply to the breadcrumbs\r\n * ('none' | 'light' | 'medium' | 'strong' | 'intense').\r\n */\r\n shadow?: ShadowType;\r\n\r\n /**\r\n * State of the breadcrumbs\r\n * ('success' | 'error' | 'warning' | 'disabled' | '').\r\n * Used for visual feedback.\r\n */\r\n state?: StateType;\r\n\r\n /**\r\n * Size of the breadcrumbs\r\n * ('xs' | 'small' | 'medium' | 'large' | 'xl').\r\n */\r\n size?: SizeType;\r\n\r\n /**\r\n * Additional class name for custom styling.\r\n */\r\n className?: string;\r\n\r\n /**\r\n * Whether to use the outline style.\r\n */\r\n outline?: boolean;\r\n\r\n /**\r\n * Maximum number of visible items before collapsing into an ellipsis.\r\n */\r\n maxVisible?: number;\r\n\r\n /**\r\n * Optional test ID for testing frameworks.\r\n */\r\n \"data-testid\"?: string;\r\n}\r\n\r\n/**\r\n * Label used to represent collapsed breadcrumb items.\r\n */\r\nexport const ELLIPSIS_LABEL = \"…\";\r\n\r\nexport interface BreadcrumbsBaseProps extends BreadcrumbsProps {\r\n classMap: Record<string, string>;\r\n LinkComponent?: React.ElementType;\r\n ButtonComponent: React.ElementType;\r\n}\r\n","import React, { useMemo, useState } from \"react\";\r\nimport {\r\n Breadcrumb,\r\n BreadcrumbsBaseProps,\r\n ELLIPSIS_LABEL,\r\n} from \"./Breadcrumbs.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { ArrowRightIcon } from \"../../Icons/index\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport const BreadcrumbsBase: React.FC<BreadcrumbsBaseProps> = ({\r\n items,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n separator,\r\n classMap,\r\n disabled = false,\r\n size = getDefaultSize(),\r\n outline = false,\r\n className = \"\",\r\n maxVisible,\r\n LinkComponent = \"a\",\r\n ButtonComponent = \"button\",\r\n \"data-testid\": testId = \"breadcrumbs\",\r\n}) => {\r\n const [isExpanded, setIsExpanded] = useState(false);\r\n const handleExpand = () => setIsExpanded(true);\r\n\r\n if (!items || items.length === 0) return null;\r\n\r\n const visibleItems: Breadcrumb[] = useMemo(() => {\r\n if (isExpanded || !maxVisible || items.length <= maxVisible) return items;\r\n const first = items[0];\r\n const lastItems = items.slice(items.length - (maxVisible - 2));\r\n return [first, { label: ELLIPSIS_LABEL }, ...lastItems];\r\n }, [items, isExpanded, maxVisible]);\r\n\r\n const breadcrumbsClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.breadcrumbs,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n className\r\n ),\r\n [\r\n theme,\r\n state,\r\n size,\r\n shadow,\r\n rounding,\r\n disabled,\r\n outline,\r\n className,\r\n classMap,\r\n ]\r\n );\r\n\r\n return (\r\n <nav\r\n aria-label=\"Breadcrumb\"\r\n data-testid={testId ? `${testId}-nav-container` : undefined}\r\n className={breadcrumbsClass}\r\n >\r\n <ol\r\n className={classMap.list}\r\n data-testid={testId ? `${testId}-nav-list` : undefined}\r\n itemScope\r\n itemType=\"https://schema.org/BreadcrumbList\"\r\n >\r\n {visibleItems.map((item, index) => {\r\n const isLast = index === visibleItems.length - 1;\r\n const isEllipsis = item.label === ELLIPSIS_LABEL;\r\n\r\n const itemClassName = combineClassNames(\r\n classMap.item,\r\n isExpanded && !isEllipsis && classMap.item_animate,\r\n isLast && classMap.item_active\r\n );\r\n\r\n return (\r\n <li\r\n data-testid={testId ? `${testId}-nav-item` : undefined}\r\n key={`${item.label}-${item.href ?? index}`}\r\n className={itemClassName}\r\n itemProp=\"itemListElement\"\r\n itemScope\r\n itemType=\"https://schema.org/ListItem\"\r\n >\r\n {isEllipsis ? (\r\n <ButtonComponent\r\n theme=\"clear\"\r\n size=\"xs\"\r\n className={classMap.ellipsis}\r\n aria-label=\"Show all breadcrumbs\"\r\n aria-expanded={isExpanded}\r\n onClick={disabled ? undefined : handleExpand}\r\n disabled={disabled}\r\n tabIndex={disabled ? -1 : 0}\r\n data-testid={testId ? `${testId}-ellipsis` : undefined}\r\n >\r\n {item.label}\r\n </ButtonComponent>\r\n ) : item.href && !isLast ? (\r\n disabled ? (\r\n // Disabled: render non-interactive label for links\r\n <span\r\n className={classMap.link_disabled}\r\n title={item.label}\r\n itemProp=\"name\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n ) : (\r\n <LinkComponent\r\n href={item.href}\r\n className={classMap.link}\r\n title={item.label}\r\n itemProp=\"item\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n <span itemProp=\"name\" className={classMap.link_label}>\r\n {item.label}\r\n </span>\r\n </LinkComponent>\r\n )\r\n ) : (\r\n <span\r\n className={classMap.current}\r\n itemProp=\"name\"\r\n aria-current=\"page\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-current` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n )}\r\n\r\n {!isLast && (\r\n <span className={classMap.separator} aria-hidden=\"true\">\r\n {separator ?? <ArrowRightIcon />}\r\n </span>\r\n )}\r\n <meta itemProp=\"position\" content={`${index + 1}`} />\r\n </li>\r\n );\r\n })}\r\n </ol>\r\n </nav>\r\n );\r\n};\r\n\r\nBreadcrumbsBase.displayName = \"BreadcrumbsBase\";\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport Link from \"next/link\";\r\nimport styles from \"./Breadcrumbs.module.scss\";\r\nimport { BreadcrumbsBase } from \"../BreadcrumbsBase\";\r\nimport { BreadcrumbsProps } from \"../Breadcrumbs.types\";\r\nimport { Button } from \"../../../index.next\";\r\n\r\nconst Breadcrumbs: React.FC<BreadcrumbsProps> = (props) => {\r\n return (\r\n <BreadcrumbsBase\r\n {...props}\r\n classMap={styles}\r\n LinkComponent={Link}\r\n ButtonComponent={Button}\r\n />\r\n );\r\n};\r\nBreadcrumbs.displayName = \"Breadcrumbs\";\r\nexport default Breadcrumbs;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","separator","disabled","getDefaultSize","outline","useState","useMemo","combineClassNames","capitalize","jsx","item","jsxs","ArrowRightIcon","Link","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Breadcrumbs-BlFi63K8.cjs","sources":["../../src/components/Breadcrumbs/Breadcrumbs.types.ts","../../src/components/Breadcrumbs/BreadcrumbsBase.tsx","../../src/components/Breadcrumbs/next/Breadcrumbs.tsx"],"sourcesContent":["import {\r\n RoundingType,\r\n ShadowType,\r\n SizeType,\r\n StateType,\r\n ThemeType,\r\n} from \"@/types/types\";\r\n\r\n/**\r\n * A breadcrumb item used to define a single step in the navigation path.\r\n */\r\nexport interface Breadcrumb {\r\n /**\r\n * The display label for the breadcrumb.\r\n */\r\n label: string;\r\n\r\n /**\r\n * Optional URL the breadcrumb should link to.\r\n * If not provided, it is rendered as plain text.\r\n */\r\n href?: string;\r\n}\r\n\r\n/**\r\n * Props for the Breadcrumbs component.\r\n */\r\nexport interface BreadcrumbsProps {\r\n /**\r\n * An array of breadcrumb items.\r\n */\r\n items: Breadcrumb[];\r\n\r\n /**\r\n * Disables interaction and styles as disabled.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Optional custom separator node between breadcrumb items.\r\n * Defaults to a right chevron icon.\r\n */\r\n separator?: React.ReactNode;\r\n\r\n /**\r\n * Theme style to apply to the breadcrumbs\r\n * ('primary' | 'secondary' | 'tertiary' | 'quaternary' | 'clear').\r\n */\r\n theme?: ThemeType;\r\n\r\n /**\r\n * Rounding style to apply to the breadcrumbs\r\n * ('none' | 'small' | 'medium' | 'large' | 'full').\r\n */\r\n rounding?: RoundingType;\r\n\r\n /**\r\n * Shadow style to apply to the breadcrumbs\r\n * ('none' | 'light' | 'medium' | 'strong' | 'intense').\r\n */\r\n shadow?: ShadowType;\r\n\r\n /**\r\n * State of the breadcrumbs\r\n * ('success' | 'error' | 'warning' | 'disabled' | '').\r\n * Used for visual feedback.\r\n */\r\n state?: StateType;\r\n\r\n /**\r\n * Size of the breadcrumbs\r\n * ('xs' | 'small' | 'medium' | 'large' | 'xl').\r\n */\r\n size?: SizeType;\r\n\r\n /**\r\n * Additional class name for custom styling.\r\n */\r\n className?: string;\r\n\r\n /**\r\n * Whether to use the outline style.\r\n */\r\n outline?: boolean;\r\n\r\n /**\r\n * Maximum number of visible items before collapsing into an ellipsis.\r\n */\r\n maxVisible?: number;\r\n\r\n /**\r\n * Optional test ID for testing frameworks.\r\n */\r\n \"data-testid\"?: string;\r\n}\r\n\r\n/**\r\n * Label used to represent collapsed breadcrumb items.\r\n */\r\nexport const ELLIPSIS_LABEL = \"…\";\r\n\r\nexport interface BreadcrumbsBaseProps extends BreadcrumbsProps {\r\n classMap: Record<string, string>;\r\n LinkComponent?: React.ElementType;\r\n ButtonComponent: React.ElementType;\r\n}\r\n","import React, { useMemo, useState } from \"react\";\r\nimport {\r\n Breadcrumb,\r\n BreadcrumbsBaseProps,\r\n ELLIPSIS_LABEL,\r\n} from \"./Breadcrumbs.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { ArrowRightIcon } from \"../../Icons/index\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport const BreadcrumbsBase: React.FC<BreadcrumbsBaseProps> = ({\r\n items,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n separator,\r\n classMap,\r\n disabled = false,\r\n size = getDefaultSize(),\r\n outline = false,\r\n className = \"\",\r\n maxVisible,\r\n LinkComponent = \"a\",\r\n ButtonComponent = \"button\",\r\n \"data-testid\": testId = \"breadcrumbs\",\r\n}) => {\r\n const [isExpanded, setIsExpanded] = useState(false);\r\n const handleExpand = () => setIsExpanded(true);\r\n\r\n if (!items || items.length === 0) return null;\r\n\r\n const visibleItems: Breadcrumb[] = useMemo(() => {\r\n if (isExpanded || !maxVisible || items.length <= maxVisible) return items;\r\n const first = items[0];\r\n const lastItems = items.slice(items.length - (maxVisible - 2));\r\n return [first, { label: ELLIPSIS_LABEL }, ...lastItems];\r\n }, [items, isExpanded, maxVisible]);\r\n\r\n const breadcrumbsClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.breadcrumbs,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n className\r\n ),\r\n [\r\n theme,\r\n state,\r\n size,\r\n shadow,\r\n rounding,\r\n disabled,\r\n outline,\r\n className,\r\n classMap,\r\n ]\r\n );\r\n\r\n return (\r\n <nav\r\n aria-label=\"Breadcrumb\"\r\n data-testid={testId ? `${testId}-nav-container` : undefined}\r\n className={breadcrumbsClass}\r\n >\r\n <ol\r\n className={classMap.list}\r\n data-testid={testId ? `${testId}-nav-list` : undefined}\r\n itemScope\r\n itemType=\"https://schema.org/BreadcrumbList\"\r\n >\r\n {visibleItems.map((item, index) => {\r\n const isLast = index === visibleItems.length - 1;\r\n const isEllipsis = item.label === ELLIPSIS_LABEL;\r\n\r\n const itemClassName = combineClassNames(\r\n classMap.item,\r\n isExpanded && !isEllipsis && classMap.item_animate,\r\n isLast && classMap.item_active\r\n );\r\n\r\n return (\r\n <li\r\n data-testid={testId ? `${testId}-nav-item` : undefined}\r\n key={`${item.label}-${item.href ?? index}`}\r\n className={itemClassName}\r\n itemProp=\"itemListElement\"\r\n itemScope\r\n itemType=\"https://schema.org/ListItem\"\r\n >\r\n {isEllipsis ? (\r\n <ButtonComponent\r\n theme=\"clear\"\r\n size=\"xs\"\r\n className={classMap.ellipsis}\r\n aria-label=\"Show all breadcrumbs\"\r\n aria-expanded={isExpanded}\r\n onClick={disabled ? undefined : handleExpand}\r\n disabled={disabled}\r\n tabIndex={disabled ? -1 : 0}\r\n data-testid={testId ? `${testId}-ellipsis` : undefined}\r\n >\r\n {item.label}\r\n </ButtonComponent>\r\n ) : item.href && !isLast ? (\r\n disabled ? (\r\n // Disabled: render non-interactive label for links\r\n <span\r\n className={classMap.link_disabled}\r\n title={item.label}\r\n itemProp=\"name\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n ) : (\r\n <LinkComponent\r\n href={item.href}\r\n className={classMap.link}\r\n title={item.label}\r\n itemProp=\"item\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n <span itemProp=\"name\" className={classMap.link_label}>\r\n {item.label}\r\n </span>\r\n </LinkComponent>\r\n )\r\n ) : (\r\n <span\r\n className={classMap.current}\r\n itemProp=\"name\"\r\n aria-current=\"page\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-current` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n )}\r\n\r\n {!isLast && (\r\n <span className={classMap.separator} aria-hidden=\"true\">\r\n {separator ?? <ArrowRightIcon />}\r\n </span>\r\n )}\r\n <meta itemProp=\"position\" content={`${index + 1}`} />\r\n </li>\r\n );\r\n })}\r\n </ol>\r\n </nav>\r\n );\r\n};\r\n\r\nBreadcrumbsBase.displayName = \"BreadcrumbsBase\";\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport Link from \"next/link\";\r\nimport styles from \"./Breadcrumbs.module.scss\";\r\nimport { BreadcrumbsBase } from \"../BreadcrumbsBase\";\r\nimport { BreadcrumbsProps } from \"../Breadcrumbs.types\";\r\nimport { Button } from \"../../../index.next\";\r\n\r\nconst Breadcrumbs: React.FC<BreadcrumbsProps> = (props) => {\r\n return (\r\n <BreadcrumbsBase\r\n {...props}\r\n classMap={styles}\r\n LinkComponent={Link}\r\n ButtonComponent={Button}\r\n />\r\n );\r\n};\r\nBreadcrumbs.displayName = \"Breadcrumbs\";\r\nexport default Breadcrumbs;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","separator","disabled","getDefaultSize","outline","useState","useMemo","combineClassNames","capitalize","jsx","item","jsxs","ArrowRightIcon","Link","Button"],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { L as Link } from "./link-
|
|
2
|
+
import { L as Link } from "./link-CyxHztrS.js";
|
|
3
3
|
import { useState, useMemo } from "react";
|
|
4
4
|
import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
|
|
5
5
|
import { A as ArrowRightIcon } from "./ArrowRightIcon-BYQv5XS8.js";
|
|
6
6
|
import { c as capitalize } from "./capitalize-C0TSQSPh.js";
|
|
7
7
|
import { a as getDefaultRounding, b as getDefaultShadow, c as getDefaultSize, d as getDefaultTheme } from "./boreal-style-config-BILmxkZG.js";
|
|
8
8
|
/* empty css */
|
|
9
|
-
import { B as Button } from "./Button-
|
|
9
|
+
import { B as Button } from "./Button-DhH3Gy0J.js";
|
|
10
10
|
const breadcrumbs = "_breadcrumbs_1c6om_85";
|
|
11
11
|
const ellipsis = "_ellipsis_1c6om_111";
|
|
12
12
|
const roundNone = "_roundNone_1c6om_115";
|
|
@@ -236,4 +236,4 @@ export {
|
|
|
236
236
|
Breadcrumbs as B,
|
|
237
237
|
ELLIPSIS_LABEL as E
|
|
238
238
|
};
|
|
239
|
-
//# sourceMappingURL=Breadcrumbs-
|
|
239
|
+
//# sourceMappingURL=Breadcrumbs-D9BMYEZi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Breadcrumbs-ZK64MIGd.js","sources":["../../src/components/Breadcrumbs/Breadcrumbs.types.ts","../../src/components/Breadcrumbs/BreadcrumbsBase.tsx","../../src/components/Breadcrumbs/next/Breadcrumbs.tsx"],"sourcesContent":["import {\r\n RoundingType,\r\n ShadowType,\r\n SizeType,\r\n StateType,\r\n ThemeType,\r\n} from \"@/types/types\";\r\n\r\n/**\r\n * A breadcrumb item used to define a single step in the navigation path.\r\n */\r\nexport interface Breadcrumb {\r\n /**\r\n * The display label for the breadcrumb.\r\n */\r\n label: string;\r\n\r\n /**\r\n * Optional URL the breadcrumb should link to.\r\n * If not provided, it is rendered as plain text.\r\n */\r\n href?: string;\r\n}\r\n\r\n/**\r\n * Props for the Breadcrumbs component.\r\n */\r\nexport interface BreadcrumbsProps {\r\n /**\r\n * An array of breadcrumb items.\r\n */\r\n items: Breadcrumb[];\r\n\r\n /**\r\n * Disables interaction and styles as disabled.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Optional custom separator node between breadcrumb items.\r\n * Defaults to a right chevron icon.\r\n */\r\n separator?: React.ReactNode;\r\n\r\n /**\r\n * Theme style to apply to the breadcrumbs\r\n * ('primary' | 'secondary' | 'tertiary' | 'quaternary' | 'clear').\r\n */\r\n theme?: ThemeType;\r\n\r\n /**\r\n * Rounding style to apply to the breadcrumbs\r\n * ('none' | 'small' | 'medium' | 'large' | 'full').\r\n */\r\n rounding?: RoundingType;\r\n\r\n /**\r\n * Shadow style to apply to the breadcrumbs\r\n * ('none' | 'light' | 'medium' | 'strong' | 'intense').\r\n */\r\n shadow?: ShadowType;\r\n\r\n /**\r\n * State of the breadcrumbs\r\n * ('success' | 'error' | 'warning' | 'disabled' | '').\r\n * Used for visual feedback.\r\n */\r\n state?: StateType;\r\n\r\n /**\r\n * Size of the breadcrumbs\r\n * ('xs' | 'small' | 'medium' | 'large' | 'xl').\r\n */\r\n size?: SizeType;\r\n\r\n /**\r\n * Additional class name for custom styling.\r\n */\r\n className?: string;\r\n\r\n /**\r\n * Whether to use the outline style.\r\n */\r\n outline?: boolean;\r\n\r\n /**\r\n * Maximum number of visible items before collapsing into an ellipsis.\r\n */\r\n maxVisible?: number;\r\n\r\n /**\r\n * Optional test ID for testing frameworks.\r\n */\r\n \"data-testid\"?: string;\r\n}\r\n\r\n/**\r\n * Label used to represent collapsed breadcrumb items.\r\n */\r\nexport const ELLIPSIS_LABEL = \"…\";\r\n\r\nexport interface BreadcrumbsBaseProps extends BreadcrumbsProps {\r\n classMap: Record<string, string>;\r\n LinkComponent?: React.ElementType;\r\n ButtonComponent: React.ElementType;\r\n}\r\n","import React, { useMemo, useState } from \"react\";\r\nimport {\r\n Breadcrumb,\r\n BreadcrumbsBaseProps,\r\n ELLIPSIS_LABEL,\r\n} from \"./Breadcrumbs.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { ArrowRightIcon } from \"../../Icons/index\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport const BreadcrumbsBase: React.FC<BreadcrumbsBaseProps> = ({\r\n items,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n separator,\r\n classMap,\r\n disabled = false,\r\n size = getDefaultSize(),\r\n outline = false,\r\n className = \"\",\r\n maxVisible,\r\n LinkComponent = \"a\",\r\n ButtonComponent = \"button\",\r\n \"data-testid\": testId = \"breadcrumbs\",\r\n}) => {\r\n const [isExpanded, setIsExpanded] = useState(false);\r\n const handleExpand = () => setIsExpanded(true);\r\n\r\n if (!items || items.length === 0) return null;\r\n\r\n const visibleItems: Breadcrumb[] = useMemo(() => {\r\n if (isExpanded || !maxVisible || items.length <= maxVisible) return items;\r\n const first = items[0];\r\n const lastItems = items.slice(items.length - (maxVisible - 2));\r\n return [first, { label: ELLIPSIS_LABEL }, ...lastItems];\r\n }, [items, isExpanded, maxVisible]);\r\n\r\n const breadcrumbsClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.breadcrumbs,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n className\r\n ),\r\n [\r\n theme,\r\n state,\r\n size,\r\n shadow,\r\n rounding,\r\n disabled,\r\n outline,\r\n className,\r\n classMap,\r\n ]\r\n );\r\n\r\n return (\r\n <nav\r\n aria-label=\"Breadcrumb\"\r\n data-testid={testId ? `${testId}-nav-container` : undefined}\r\n className={breadcrumbsClass}\r\n >\r\n <ol\r\n className={classMap.list}\r\n data-testid={testId ? `${testId}-nav-list` : undefined}\r\n itemScope\r\n itemType=\"https://schema.org/BreadcrumbList\"\r\n >\r\n {visibleItems.map((item, index) => {\r\n const isLast = index === visibleItems.length - 1;\r\n const isEllipsis = item.label === ELLIPSIS_LABEL;\r\n\r\n const itemClassName = combineClassNames(\r\n classMap.item,\r\n isExpanded && !isEllipsis && classMap.item_animate,\r\n isLast && classMap.item_active\r\n );\r\n\r\n return (\r\n <li\r\n data-testid={testId ? `${testId}-nav-item` : undefined}\r\n key={`${item.label}-${item.href ?? index}`}\r\n className={itemClassName}\r\n itemProp=\"itemListElement\"\r\n itemScope\r\n itemType=\"https://schema.org/ListItem\"\r\n >\r\n {isEllipsis ? (\r\n <ButtonComponent\r\n theme=\"clear\"\r\n size=\"xs\"\r\n className={classMap.ellipsis}\r\n aria-label=\"Show all breadcrumbs\"\r\n aria-expanded={isExpanded}\r\n onClick={disabled ? undefined : handleExpand}\r\n disabled={disabled}\r\n tabIndex={disabled ? -1 : 0}\r\n data-testid={testId ? `${testId}-ellipsis` : undefined}\r\n >\r\n {item.label}\r\n </ButtonComponent>\r\n ) : item.href && !isLast ? (\r\n disabled ? (\r\n // Disabled: render non-interactive label for links\r\n <span\r\n className={classMap.link_disabled}\r\n title={item.label}\r\n itemProp=\"name\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n ) : (\r\n <LinkComponent\r\n href={item.href}\r\n className={classMap.link}\r\n title={item.label}\r\n itemProp=\"item\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n <span itemProp=\"name\" className={classMap.link_label}>\r\n {item.label}\r\n </span>\r\n </LinkComponent>\r\n )\r\n ) : (\r\n <span\r\n className={classMap.current}\r\n itemProp=\"name\"\r\n aria-current=\"page\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-current` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n )}\r\n\r\n {!isLast && (\r\n <span className={classMap.separator} aria-hidden=\"true\">\r\n {separator ?? <ArrowRightIcon />}\r\n </span>\r\n )}\r\n <meta itemProp=\"position\" content={`${index + 1}`} />\r\n </li>\r\n );\r\n })}\r\n </ol>\r\n </nav>\r\n );\r\n};\r\n\r\nBreadcrumbsBase.displayName = \"BreadcrumbsBase\";\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport Link from \"next/link\";\r\nimport styles from \"./Breadcrumbs.module.scss\";\r\nimport { BreadcrumbsBase } from \"../BreadcrumbsBase\";\r\nimport { BreadcrumbsProps } from \"../Breadcrumbs.types\";\r\nimport { Button } from \"../../../index.next\";\r\n\r\nconst Breadcrumbs: React.FC<BreadcrumbsProps> = (props) => {\r\n return (\r\n <BreadcrumbsBase\r\n {...props}\r\n classMap={styles}\r\n LinkComponent={Link}\r\n ButtonComponent={Button}\r\n />\r\n );\r\n};\r\nBreadcrumbs.displayName = \"Breadcrumbs\";\r\nexport default Breadcrumbs;\r\n"],"names":["separator","disabled","outline","item"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Breadcrumbs-D9BMYEZi.js","sources":["../../src/components/Breadcrumbs/Breadcrumbs.types.ts","../../src/components/Breadcrumbs/BreadcrumbsBase.tsx","../../src/components/Breadcrumbs/next/Breadcrumbs.tsx"],"sourcesContent":["import {\r\n RoundingType,\r\n ShadowType,\r\n SizeType,\r\n StateType,\r\n ThemeType,\r\n} from \"@/types/types\";\r\n\r\n/**\r\n * A breadcrumb item used to define a single step in the navigation path.\r\n */\r\nexport interface Breadcrumb {\r\n /**\r\n * The display label for the breadcrumb.\r\n */\r\n label: string;\r\n\r\n /**\r\n * Optional URL the breadcrumb should link to.\r\n * If not provided, it is rendered as plain text.\r\n */\r\n href?: string;\r\n}\r\n\r\n/**\r\n * Props for the Breadcrumbs component.\r\n */\r\nexport interface BreadcrumbsProps {\r\n /**\r\n * An array of breadcrumb items.\r\n */\r\n items: Breadcrumb[];\r\n\r\n /**\r\n * Disables interaction and styles as disabled.\r\n */\r\n disabled?: boolean;\r\n\r\n /**\r\n * Optional custom separator node between breadcrumb items.\r\n * Defaults to a right chevron icon.\r\n */\r\n separator?: React.ReactNode;\r\n\r\n /**\r\n * Theme style to apply to the breadcrumbs\r\n * ('primary' | 'secondary' | 'tertiary' | 'quaternary' | 'clear').\r\n */\r\n theme?: ThemeType;\r\n\r\n /**\r\n * Rounding style to apply to the breadcrumbs\r\n * ('none' | 'small' | 'medium' | 'large' | 'full').\r\n */\r\n rounding?: RoundingType;\r\n\r\n /**\r\n * Shadow style to apply to the breadcrumbs\r\n * ('none' | 'light' | 'medium' | 'strong' | 'intense').\r\n */\r\n shadow?: ShadowType;\r\n\r\n /**\r\n * State of the breadcrumbs\r\n * ('success' | 'error' | 'warning' | 'disabled' | '').\r\n * Used for visual feedback.\r\n */\r\n state?: StateType;\r\n\r\n /**\r\n * Size of the breadcrumbs\r\n * ('xs' | 'small' | 'medium' | 'large' | 'xl').\r\n */\r\n size?: SizeType;\r\n\r\n /**\r\n * Additional class name for custom styling.\r\n */\r\n className?: string;\r\n\r\n /**\r\n * Whether to use the outline style.\r\n */\r\n outline?: boolean;\r\n\r\n /**\r\n * Maximum number of visible items before collapsing into an ellipsis.\r\n */\r\n maxVisible?: number;\r\n\r\n /**\r\n * Optional test ID for testing frameworks.\r\n */\r\n \"data-testid\"?: string;\r\n}\r\n\r\n/**\r\n * Label used to represent collapsed breadcrumb items.\r\n */\r\nexport const ELLIPSIS_LABEL = \"…\";\r\n\r\nexport interface BreadcrumbsBaseProps extends BreadcrumbsProps {\r\n classMap: Record<string, string>;\r\n LinkComponent?: React.ElementType;\r\n ButtonComponent: React.ElementType;\r\n}\r\n","import React, { useMemo, useState } from \"react\";\r\nimport {\r\n Breadcrumb,\r\n BreadcrumbsBaseProps,\r\n ELLIPSIS_LABEL,\r\n} from \"./Breadcrumbs.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { ArrowRightIcon } from \"../../Icons/index\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nexport const BreadcrumbsBase: React.FC<BreadcrumbsBaseProps> = ({\r\n items,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n separator,\r\n classMap,\r\n disabled = false,\r\n size = getDefaultSize(),\r\n outline = false,\r\n className = \"\",\r\n maxVisible,\r\n LinkComponent = \"a\",\r\n ButtonComponent = \"button\",\r\n \"data-testid\": testId = \"breadcrumbs\",\r\n}) => {\r\n const [isExpanded, setIsExpanded] = useState(false);\r\n const handleExpand = () => setIsExpanded(true);\r\n\r\n if (!items || items.length === 0) return null;\r\n\r\n const visibleItems: Breadcrumb[] = useMemo(() => {\r\n if (isExpanded || !maxVisible || items.length <= maxVisible) return items;\r\n const first = items[0];\r\n const lastItems = items.slice(items.length - (maxVisible - 2));\r\n return [first, { label: ELLIPSIS_LABEL }, ...lastItems];\r\n }, [items, isExpanded, maxVisible]);\r\n\r\n const breadcrumbsClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.breadcrumbs,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n disabled && classMap.disabled,\r\n outline && classMap.outline,\r\n className\r\n ),\r\n [\r\n theme,\r\n state,\r\n size,\r\n shadow,\r\n rounding,\r\n disabled,\r\n outline,\r\n className,\r\n classMap,\r\n ]\r\n );\r\n\r\n return (\r\n <nav\r\n aria-label=\"Breadcrumb\"\r\n data-testid={testId ? `${testId}-nav-container` : undefined}\r\n className={breadcrumbsClass}\r\n >\r\n <ol\r\n className={classMap.list}\r\n data-testid={testId ? `${testId}-nav-list` : undefined}\r\n itemScope\r\n itemType=\"https://schema.org/BreadcrumbList\"\r\n >\r\n {visibleItems.map((item, index) => {\r\n const isLast = index === visibleItems.length - 1;\r\n const isEllipsis = item.label === ELLIPSIS_LABEL;\r\n\r\n const itemClassName = combineClassNames(\r\n classMap.item,\r\n isExpanded && !isEllipsis && classMap.item_animate,\r\n isLast && classMap.item_active\r\n );\r\n\r\n return (\r\n <li\r\n data-testid={testId ? `${testId}-nav-item` : undefined}\r\n key={`${item.label}-${item.href ?? index}`}\r\n className={itemClassName}\r\n itemProp=\"itemListElement\"\r\n itemScope\r\n itemType=\"https://schema.org/ListItem\"\r\n >\r\n {isEllipsis ? (\r\n <ButtonComponent\r\n theme=\"clear\"\r\n size=\"xs\"\r\n className={classMap.ellipsis}\r\n aria-label=\"Show all breadcrumbs\"\r\n aria-expanded={isExpanded}\r\n onClick={disabled ? undefined : handleExpand}\r\n disabled={disabled}\r\n tabIndex={disabled ? -1 : 0}\r\n data-testid={testId ? `${testId}-ellipsis` : undefined}\r\n >\r\n {item.label}\r\n </ButtonComponent>\r\n ) : item.href && !isLast ? (\r\n disabled ? (\r\n // Disabled: render non-interactive label for links\r\n <span\r\n className={classMap.link_disabled}\r\n title={item.label}\r\n itemProp=\"name\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n ) : (\r\n <LinkComponent\r\n href={item.href}\r\n className={classMap.link}\r\n title={item.label}\r\n itemProp=\"item\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-label` : undefined\r\n }\r\n >\r\n <span itemProp=\"name\" className={classMap.link_label}>\r\n {item.label}\r\n </span>\r\n </LinkComponent>\r\n )\r\n ) : (\r\n <span\r\n className={classMap.current}\r\n itemProp=\"name\"\r\n aria-current=\"page\"\r\n data-testid={\r\n testId ? `${testId}-nav-item-current` : undefined\r\n }\r\n >\r\n {item.label}\r\n </span>\r\n )}\r\n\r\n {!isLast && (\r\n <span className={classMap.separator} aria-hidden=\"true\">\r\n {separator ?? <ArrowRightIcon />}\r\n </span>\r\n )}\r\n <meta itemProp=\"position\" content={`${index + 1}`} />\r\n </li>\r\n );\r\n })}\r\n </ol>\r\n </nav>\r\n );\r\n};\r\n\r\nBreadcrumbsBase.displayName = \"BreadcrumbsBase\";\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport Link from \"next/link\";\r\nimport styles from \"./Breadcrumbs.module.scss\";\r\nimport { BreadcrumbsBase } from \"../BreadcrumbsBase\";\r\nimport { BreadcrumbsProps } from \"../Breadcrumbs.types\";\r\nimport { Button } from \"../../../index.next\";\r\n\r\nconst Breadcrumbs: React.FC<BreadcrumbsProps> = (props) => {\r\n return (\r\n <BreadcrumbsBase\r\n {...props}\r\n classMap={styles}\r\n LinkComponent={Link}\r\n ButtonComponent={Button}\r\n />\r\n );\r\n};\r\nBreadcrumbs.displayName = \"Breadcrumbs\";\r\nexport default Breadcrumbs;\r\n"],"names":["separator","disabled","outline","item"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
-
const Breadcrumbs = require("./Breadcrumbs-
|
|
3
|
+
const Breadcrumbs = require("./Breadcrumbs-BlFi63K8.cjs");
|
|
4
4
|
exports.ELLIPSIS_LABEL = Breadcrumbs.ELLIPSIS_LABEL;
|
|
5
5
|
exports.default = Breadcrumbs.Breadcrumbs;
|
|
6
6
|
//# sourceMappingURL=Breadcrumbs.cjs.js.map
|
package/dist/next/Breadcrumbs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const require$$2 = require("react/jsx-runtime");
|
|
3
3
|
const React = require("react");
|
|
4
|
-
const link = require("./link-
|
|
4
|
+
const link = require("./link-B1N-q38H.cjs");
|
|
5
5
|
const classNames = require("./classNames-BcWMx052.cjs");
|
|
6
6
|
const capitalize = require("./capitalize-DoV-nOmN.cjs");
|
|
7
7
|
const borealStyleConfig = require("./boreal-style-config-Rr5d5Qts.cjs");
|
|
@@ -228,4 +228,4 @@ ButtonBase.displayName = "ButtonBase";
|
|
|
228
228
|
const Button = React.forwardRef((props, ref) => /* @__PURE__ */ require$$2.jsx(ButtonBase, { ...props, classMap: styles, LinkComponent: link.Link, ref }));
|
|
229
229
|
Button.displayName = "Button";
|
|
230
230
|
exports.Button = Button;
|
|
231
|
-
//# sourceMappingURL=Button-
|
|
231
|
+
//# sourceMappingURL=Button-DPoX7ahh.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button-
|
|
1
|
+
{"version":3,"file":"Button-DPoX7ahh.cjs","sources":["../../src/components/Button/ButtonBase.tsx","../../src/components/Button/next/Button.tsx"],"sourcesContent":["import React, { forwardRef, useMemo } from \"react\";\r\nimport { ButtonBaseProps } from \"./Button.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst ButtonBase = forwardRef<\r\n HTMLButtonElement | HTMLAnchorElement,\r\n ButtonBaseProps\r\n>(\r\n (\r\n {\r\n icon: Icon,\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n onClick,\r\n type = \"button\",\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n children,\r\n className = \"\",\r\n disabled = false,\r\n ariaLabel,\r\n href,\r\n isExternal = false,\r\n outline = false,\r\n size = getDefaultSize(),\r\n loading = false,\r\n fullWidth = false,\r\n \"data-testid\": testId = \"button\",\r\n classMap,\r\n LinkComponent = \"a\",\r\n ...rest\r\n },\r\n ref\r\n ) => {\r\n const iconOnly =\r\n !children ||\r\n (typeof children !== \"string\" && React.Children.count(children) === 0);\r\n const computedAriaLabel = iconOnly ? ariaLabel : undefined;\r\n\r\n if (process.env.NODE_ENV === \"development\" && iconOnly && !ariaLabel) {\r\n console.warn(\"ButtonBase: icon-only buttons must provide `ariaLabel`.\");\r\n }\r\n\r\n const combinedClassName = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.button,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n outline && classMap.outline,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n fullWidth && classMap.fullWidth,\r\n disabled && classMap.disabled,\r\n className\r\n ),\r\n [\r\n theme,\r\n state,\r\n outline,\r\n size,\r\n shadow,\r\n rounding,\r\n fullWidth,\r\n disabled,\r\n className,\r\n classMap,\r\n ]\r\n );\r\n\r\n const content = (\r\n <>\r\n {Icon && (\r\n <span\r\n className={classMap.buttonIcon}\r\n aria-hidden=\"true\"\r\n data-testid={testId ? `${testId}-icon` : undefined}\r\n >\r\n <Icon className={classMap.icon} />\r\n </span>\r\n )}\r\n <span\r\n className={classMap.buttonLabel}\r\n aria-live={loading ? \"polite\" : undefined}\r\n aria-atomic={loading || undefined}\r\n data-testid={testId ? `${testId}-loading` : undefined}\r\n >\r\n {loading ? (\r\n <>\r\n <div className={classMap.loader} aria-hidden=\"true\" />\r\n <span className=\"sr_only\">Loading</span>\r\n </>\r\n ) : (\r\n <>\r\n {children}\r\n {href && (isExternal ?? /^https?:\\/\\//i.test(href)) && (\r\n <span className=\"sr_only\"> (opens in a new tab)</span>\r\n )}\r\n </>\r\n )}\r\n </span>\r\n </>\r\n );\r\n\r\n if (href) {\r\n const Comp = (LinkComponent ?? \"a\") as React.ElementType;\r\n const external = (isExternal ?? /^https?:\\/\\//i.test(href)) && !disabled;\r\n\r\n const linkCommon = {\r\n ref: ref as React.Ref<HTMLAnchorElement>,\r\n className: combineClassNames(combinedClassName, classMap.link),\r\n onClick: disabled\r\n ? (e: React.MouseEvent) => e.preventDefault()\r\n : onClick,\r\n \"aria-disabled\": disabled || undefined,\r\n tabIndex: disabled ? -1 : undefined,\r\n ...(computedAriaLabel ? { \"aria-label\": computedAriaLabel } : {}),\r\n \"data-testid\": testId,\r\n } as const;\r\n\r\n if (Comp === \"a\") {\r\n return (\r\n <a\r\n {...linkCommon}\r\n href={disabled ? undefined : href}\r\n target={external ? \"_blank\" : undefined}\r\n rel={external ? \"noopener noreferrer\" : undefined}\r\n {...(rest as React.AnchorHTMLAttributes<HTMLAnchorElement>)}\r\n >\r\n {content}\r\n </a>\r\n );\r\n }\r\n\r\n return (\r\n <Comp\r\n {...(linkCommon as Omit<\r\n React.ComponentPropsWithoutRef<typeof Comp>,\r\n \"children\"\r\n >)}\r\n href={href as never}\r\n {...(rest as React.ComponentPropsWithoutRef<typeof Comp>)}\r\n >\r\n {content}\r\n </Comp>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n ref={ref as React.Ref<HTMLButtonElement>}\r\n type={type}\r\n className={combinedClassName}\r\n disabled={disabled || loading}\r\n aria-busy={loading || undefined}\r\n {...(computedAriaLabel ? { \"aria-label\": computedAriaLabel } : {})}\r\n data-testid={testId}\r\n onClick={disabled ? undefined : onClick}\r\n {...(rest as React.ButtonHTMLAttributes<HTMLButtonElement>)}\r\n >\r\n {content}\r\n </button>\r\n );\r\n }\r\n);\r\n\r\nButtonBase.displayName = \"ButtonBase\";\r\n\r\nexport default ButtonBase;\r\n","\"use client\";\r\n\r\nimport { forwardRef } from \"react\";\r\nimport Link from \"next/link\";\r\nimport styles from \"./Button.module.scss\";\r\nimport ButtonBase from \"../ButtonBase\";\r\nimport { ButtonProps } from \"../Button.types\";\r\n\r\nconst Button = forwardRef<HTMLButtonElement, ButtonProps>((props, ref) => (\r\n <ButtonBase {...props} classMap={styles} LinkComponent={Link} ref={ref} />\r\n));\r\nButton.displayName = \"Button\";\r\nexport default Button;\r\n"],"names":["forwardRef","getDefaultTheme","getDefaultRounding","getDefaultShadow","disabled","outline","getDefaultSize","fullWidth","useMemo","combineClassNames","capitalize","jsxs","Fragment","jsx","Link"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from "react/jsx-runtime";
|
|
2
2
|
import React, { forwardRef, useMemo } from "react";
|
|
3
|
-
import { L as Link } from "./link-
|
|
3
|
+
import { L as Link } from "./link-CyxHztrS.js";
|
|
4
4
|
import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
|
|
5
5
|
import { c as capitalize } from "./capitalize-C0TSQSPh.js";
|
|
6
6
|
import { a as getDefaultRounding, b as getDefaultShadow, c as getDefaultSize, d as getDefaultTheme } from "./boreal-style-config-BILmxkZG.js";
|
|
@@ -229,4 +229,4 @@ Button.displayName = "Button";
|
|
|
229
229
|
export {
|
|
230
230
|
Button as B
|
|
231
231
|
};
|
|
232
|
-
//# sourceMappingURL=Button-
|
|
232
|
+
//# sourceMappingURL=Button-DhH3Gy0J.js.map
|