boreal-ui 0.0.78 → 0.0.80
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/{Breadcrumbs-B7hp9_u1.cjs → Breadcrumbs-B-I-UmIg.cjs} +1 -2
- package/dist/core/{Breadcrumbs-B7hp9_u1.cjs.map → Breadcrumbs-B-I-UmIg.cjs.map} +1 -1
- package/dist/core/{Breadcrumbs-kbOyaea6.js → Breadcrumbs-BwDAukNi.js} +1 -2
- package/dist/core/{Breadcrumbs-kbOyaea6.js.map → Breadcrumbs-BwDAukNi.js.map} +1 -1
- package/dist/core/Breadcrumbs.cjs.js +1 -1
- package/dist/core/Breadcrumbs.js +1 -1
- package/dist/core/{Card-C3kfPs8j.cjs → Card-B2gCUSuQ.cjs} +1 -2
- package/dist/core/{Card-C3kfPs8j.cjs.map → Card-B2gCUSuQ.cjs.map} +1 -1
- package/dist/core/{Card-CZY1qzwZ.js → Card-CnvOGnWI.js} +1 -2
- package/dist/core/{Card-CZY1qzwZ.js.map → Card-CnvOGnWI.js.map} +1 -1
- package/dist/core/Card.cjs.js +1 -1
- package/dist/core/Card.js +1 -1
- package/dist/core/{CommandPalette-BtpQ9cio.cjs → CommandPalette-BKd-BCUk.cjs} +2 -2
- package/dist/core/{CommandPalette-BtpQ9cio.cjs.map → CommandPalette-BKd-BCUk.cjs.map} +1 -1
- package/dist/core/{CommandPalette-0uVG4iR2.js → CommandPalette-C5XB2s4L.js} +2 -2
- package/dist/core/{CommandPalette-0uVG4iR2.js.map → CommandPalette-C5XB2s4L.js.map} +1 -1
- package/dist/core/CommandPalette.cjs.js +1 -1
- package/dist/core/CommandPalette.js +1 -1
- package/dist/core/{Dropdown-B7-_OH9p.cjs → Dropdown-DflOD92W.cjs} +1 -2
- package/dist/core/{Dropdown-B7-_OH9p.cjs.map → Dropdown-DflOD92W.cjs.map} +1 -1
- package/dist/core/{Dropdown-BEPGhf-i.js → Dropdown-fr7AR3nt.js} +1 -2
- package/dist/core/{Dropdown-BEPGhf-i.js.map → Dropdown-fr7AR3nt.js.map} +1 -1
- package/dist/core/Dropdown.cjs.js +1 -1
- package/dist/core/Dropdown.js +1 -1
- package/dist/core/{EmptyState-Du2xqi6G.cjs → EmptyState-BSVIrZHm.cjs} +1 -2
- package/dist/core/{EmptyState-Du2xqi6G.cjs.map → EmptyState-BSVIrZHm.cjs.map} +1 -1
- package/dist/core/{EmptyState-CM7nlKER.js → EmptyState-ClFhpjyo.js} +1 -2
- package/dist/core/{EmptyState-CM7nlKER.js.map → EmptyState-ClFhpjyo.js.map} +1 -1
- package/dist/core/EmptyState.cjs.js +1 -1
- package/dist/core/EmptyState.js +1 -1
- package/dist/core/{Footer-60sTURxB.cjs → Footer-CDcKfT68.cjs} +37 -37
- package/dist/core/Footer-CDcKfT68.cjs.map +1 -0
- package/dist/core/{Footer-Q_60pe6o.js → Footer-DaEqi5su.js} +38 -38
- package/dist/core/Footer-DaEqi5su.js.map +1 -0
- package/dist/core/Footer.cjs.js +1 -1
- package/dist/core/Footer.js +1 -1
- package/dist/core/{NotificationCenter-DA-WGPP9.js → NotificationCenter-B8e8mMb_.js} +1 -2
- package/dist/core/{NotificationCenter-DA-WGPP9.js.map → NotificationCenter-B8e8mMb_.js.map} +1 -1
- package/dist/core/{NotificationCenter-CsKJTZhk.cjs → NotificationCenter-Dg_F-nLl.cjs} +1 -2
- package/dist/core/{NotificationCenter-CsKJTZhk.cjs.map → NotificationCenter-Dg_F-nLl.cjs.map} +1 -1
- package/dist/core/NotificationCenter.cjs.js +1 -1
- package/dist/core/NotificationCenter.js +1 -1
- package/dist/core/{Pager-B4hyIUdo.js → Pager-BH8hdkMS.js} +1 -2
- package/dist/core/{Pager-B4hyIUdo.js.map → Pager-BH8hdkMS.js.map} +1 -1
- package/dist/core/{Pager-wl7_umU4.cjs → Pager-BXAAjmIk.cjs} +1 -2
- package/dist/core/{Pager-wl7_umU4.cjs.map → Pager-BXAAjmIk.cjs.map} +1 -1
- package/dist/core/Pager.cjs.js +1 -1
- package/dist/core/Pager.js +1 -1
- package/dist/core/{Stepper-CQRJID19.cjs → Stepper-BImUKM9h.cjs} +1 -2
- package/dist/core/{Stepper-CQRJID19.cjs.map → Stepper-BImUKM9h.cjs.map} +1 -1
- package/dist/core/{Stepper-CLfy0_gZ.js → Stepper-DRCnDvvv.js} +1 -2
- package/dist/core/{Stepper-CLfy0_gZ.js.map → Stepper-DRCnDvvv.js.map} +1 -1
- package/dist/core/Stepper.cjs.js +1 -1
- package/dist/core/Stepper.js +1 -1
- package/dist/core/{TagInput-YieWARAt.js → TagInput-BO0Br1nf.js} +2 -2
- package/dist/core/{TagInput-YieWARAt.js.map → TagInput-BO0Br1nf.js.map} +1 -1
- package/dist/core/{TagInput-pWRdhaP3.cjs → TagInput-CpJ--Wzp.cjs} +2 -2
- package/dist/core/{TagInput-pWRdhaP3.cjs.map → TagInput-CpJ--Wzp.cjs.map} +1 -1
- package/dist/core/TagInput.cjs.js +1 -1
- package/dist/core/TagInput.js +1 -1
- package/dist/core/{TextInput-Bc2YpcvM.js → TextInput-CXyzklAm.js} +1 -2
- package/dist/core/{TextInput-Bc2YpcvM.js.map → TextInput-CXyzklAm.js.map} +1 -1
- package/dist/core/{TextInput-DbAsQxjr.cjs → TextInput-xBrLtn_h.cjs} +1 -2
- package/dist/core/{TextInput-DbAsQxjr.cjs.map → TextInput-xBrLtn_h.cjs.map} +1 -1
- package/dist/core/TextInput.cjs.js +1 -1
- package/dist/core/TextInput.js +1 -1
- package/dist/core/boreal-ui.css +1137 -1137
- package/dist/core/index.cjs.js +11 -12
- package/dist/core/index.cjs.js.map +1 -1
- package/dist/core/index.js +11 -12
- package/dist/core/index.js.map +1 -1
- package/dist/next/{Breadcrumbs-eetAtAHU.js → Breadcrumbs-BEDmdhgu.js} +2 -3
- package/dist/next/{Breadcrumbs-eetAtAHU.js.map → Breadcrumbs-BEDmdhgu.js.map} +1 -1
- package/dist/next/{Breadcrumbs-33eZmvpJ.cjs → Breadcrumbs-CMOeEih6.cjs} +2 -3
- package/dist/next/{Breadcrumbs-33eZmvpJ.cjs.map → Breadcrumbs-CMOeEih6.cjs.map} +1 -1
- package/dist/next/Breadcrumbs.cjs.js +1 -1
- package/dist/next/Breadcrumbs.js +1 -1
- package/dist/next/{Card-CO--D_GK.js → Card-C4l2NTBd.js} +2 -3
- package/dist/next/{Card-CO--D_GK.js.map → Card-C4l2NTBd.js.map} +1 -1
- package/dist/next/{Card-o8DszZPj.cjs → Card-DcQ0V83P.cjs} +2 -3
- package/dist/next/{Card-o8DszZPj.cjs.map → Card-DcQ0V83P.cjs.map} +1 -1
- package/dist/next/Card.cjs.js +1 -1
- package/dist/next/Card.js +1 -1
- package/dist/next/CheckBox.cjs.js +1 -1
- package/dist/next/CheckBox.js +1 -1
- package/dist/next/{Checkbox-KIXViPTB.js → Checkbox-D6Msnkyl.js} +75 -75
- package/dist/next/{Checkbox-KIXViPTB.js.map → Checkbox-D6Msnkyl.js.map} +1 -1
- package/dist/next/{Checkbox-UqOL3aqk.cjs → Checkbox-IK6dY7ED.cjs} +74 -74
- package/dist/next/{Checkbox-UqOL3aqk.cjs.map → Checkbox-IK6dY7ED.cjs.map} +1 -1
- package/dist/next/{Chip-D-QH1huh.js → Chip-BweeZwb7.js} +84 -85
- package/dist/next/{Chip-D-QH1huh.js.map → Chip-BweeZwb7.js.map} +1 -1
- package/dist/next/{Chip-BQv3NoJL.cjs → Chip-DNyF7UUP.cjs} +85 -86
- package/dist/next/{Chip-BQv3NoJL.cjs.map → Chip-DNyF7UUP.cjs.map} +1 -1
- package/dist/next/Chip.cjs.js +1 -1
- package/dist/next/Chip.js +1 -1
- package/dist/next/{CircularProgress-BG83Q-uO.cjs → CircularProgress-0bh-uYuv.cjs} +58 -58
- package/dist/next/{CircularProgress-BG83Q-uO.cjs.map → CircularProgress-0bh-uYuv.cjs.map} +1 -1
- package/dist/next/{CircularProgress-Bfanw-2S.js → CircularProgress-BHOMzVmz.js} +59 -59
- package/dist/next/{CircularProgress-Bfanw-2S.js.map → CircularProgress-BHOMzVmz.js.map} +1 -1
- package/dist/next/CircularProgress.cjs.js +1 -1
- package/dist/next/CircularProgress.js +1 -1
- package/dist/next/{ColorPicker-BJfyM0Ay.js → ColorPicker-BhDo-h8k.js} +50 -50
- package/dist/next/{ColorPicker-BJfyM0Ay.js.map → ColorPicker-BhDo-h8k.js.map} +1 -1
- package/dist/next/{ColorPicker-DmubVH4p.cjs → ColorPicker-DlyqseYs.cjs} +49 -49
- package/dist/next/{ColorPicker-DmubVH4p.cjs.map → ColorPicker-DlyqseYs.cjs.map} +1 -1
- package/dist/next/ColorPicker.cjs.js +1 -1
- package/dist/next/ColorPicker.js +1 -1
- package/dist/next/{CommandPalette-CNaU5jTY.js → CommandPalette-BAgsEdVA.js} +67 -68
- package/dist/next/{CommandPalette-CNaU5jTY.js.map → CommandPalette-BAgsEdVA.js.map} +1 -1
- package/dist/next/{CommandPalette-_Lpb0UOI.cjs → CommandPalette-CNs6UpbZ.cjs} +68 -69
- package/dist/next/{CommandPalette-_Lpb0UOI.cjs.map → CommandPalette-CNs6UpbZ.cjs.map} +1 -1
- package/dist/next/CommandPalette.cjs.js +1 -1
- package/dist/next/CommandPalette.js +1 -1
- package/dist/next/{DateTimePicker-WVVLqcd9.js → DateTimePicker-D2thRuf1.js} +65 -65
- package/dist/next/{DateTimePicker-WVVLqcd9.js.map → DateTimePicker-D2thRuf1.js.map} +1 -1
- package/dist/next/{DateTimePicker-CU-b9irX.cjs → DateTimePicker-Dp0y3k4y.cjs} +65 -65
- package/dist/next/{DateTimePicker-CU-b9irX.cjs.map → DateTimePicker-Dp0y3k4y.cjs.map} +1 -1
- package/dist/next/DateTimePicker.cjs.js +1 -1
- package/dist/next/DateTimePicker.js +1 -1
- package/dist/next/{Divider-BXSDTRTU.js → Divider-C41EKGIw.js} +30 -30
- package/dist/next/{Divider-BXSDTRTU.js.map → Divider-C41EKGIw.js.map} +1 -1
- package/dist/next/{Divider-BGxUapmt.cjs → Divider-CVOkAhn6.cjs} +29 -29
- package/dist/next/{Divider-BGxUapmt.cjs.map → Divider-CVOkAhn6.cjs.map} +1 -1
- package/dist/next/Divider.cjs.js +1 -1
- package/dist/next/Divider.js +1 -1
- package/dist/next/{Dropdown-CUYItZDk.cjs → Dropdown-BYmta_HY.cjs} +42 -43
- package/dist/next/{Dropdown-CUYItZDk.cjs.map → Dropdown-BYmta_HY.cjs.map} +1 -1
- package/dist/next/{Dropdown-B7vrHg0z.js → Dropdown-DavPqfaS.js} +41 -42
- package/dist/next/{Dropdown-B7vrHg0z.js.map → Dropdown-DavPqfaS.js.map} +1 -1
- package/dist/next/Dropdown.cjs.js +1 -1
- package/dist/next/Dropdown.js +1 -1
- package/dist/next/{EmptyState-MT9_qwrB.js → EmptyState-CiTGvH-L.js} +72 -73
- package/dist/next/{EmptyState-MT9_qwrB.js.map → EmptyState-CiTGvH-L.js.map} +1 -1
- package/dist/next/{EmptyState-sh7Vn6eC.cjs → EmptyState-kAjC_DXY.cjs} +73 -74
- package/dist/next/{EmptyState-sh7Vn6eC.cjs.map → EmptyState-kAjC_DXY.cjs.map} +1 -1
- package/dist/next/EmptyState.cjs.js +1 -1
- package/dist/next/EmptyState.js +1 -1
- package/dist/next/{FileUpload-Bvj5JEBv.js → FileUpload-HiZuJjoA.js} +82 -83
- package/dist/next/{FileUpload-Bvj5JEBv.js.map → FileUpload-HiZuJjoA.js.map} +1 -1
- package/dist/next/{FileUpload-CD_i5Md2.cjs → FileUpload-qzSlXJzW.cjs} +82 -83
- package/dist/next/{FileUpload-CD_i5Md2.cjs.map → FileUpload-qzSlXJzW.cjs.map} +1 -1
- package/dist/next/FileUpload.cjs.js +1 -1
- package/dist/next/FileUpload.js +1 -1
- package/dist/next/{Footer-Bdu_9H3p.js → Footer-BVic2clD.js} +103 -103
- package/dist/next/Footer-BVic2clD.js.map +1 -0
- package/dist/next/{Footer-DJjzgwpc.cjs → Footer-lEKbmF3y.cjs} +103 -103
- package/dist/next/Footer-lEKbmF3y.cjs.map +1 -0
- package/dist/next/Footer.cjs.js +1 -1
- package/dist/next/Footer.js +1 -1
- package/dist/next/{MessagePopup-DLodDCIa.js → MessagePopup-BAvnVw84.js} +2 -3
- package/dist/next/{MessagePopup-DLodDCIa.js.map → MessagePopup-BAvnVw84.js.map} +1 -1
- package/dist/next/{MessagePopup-CizqwWmH.cjs → MessagePopup-CixIzgoc.cjs} +2 -3
- package/dist/next/{MessagePopup-CizqwWmH.cjs.map → MessagePopup-CixIzgoc.cjs.map} +1 -1
- package/dist/next/MessagePopup.cjs.js +1 -1
- package/dist/next/MessagePopup.js +1 -1
- package/dist/next/{Modal-BajWiIo7.js → Modal-5Reb9Rx-.js} +2 -3
- package/dist/next/{Modal-BajWiIo7.js.map → Modal-5Reb9Rx-.js.map} +1 -1
- package/dist/next/{Modal-j59Cj0t1.cjs → Modal-DfVyL8yk.cjs} +2 -3
- package/dist/next/{Modal-j59Cj0t1.cjs.map → Modal-DfVyL8yk.cjs.map} +1 -1
- package/dist/next/Modal.cjs.js +1 -1
- package/dist/next/Modal.js +1 -1
- package/dist/next/{NotificationCenter-obd1jF2n.cjs → NotificationCenter-BcEB_4HS.cjs} +2 -3
- package/dist/next/{NotificationCenter-obd1jF2n.cjs.map → NotificationCenter-BcEB_4HS.cjs.map} +1 -1
- package/dist/next/{NotificationCenter-BDd4Zr8Y.js → NotificationCenter-DvoC0SI9.js} +2 -3
- package/dist/next/{NotificationCenter-BDd4Zr8Y.js.map → NotificationCenter-DvoC0SI9.js.map} +1 -1
- package/dist/next/NotificationCenter.cjs.js +1 -1
- package/dist/next/NotificationCenter.js +1 -1
- package/dist/next/{Pager-8dIVqCGz.cjs → Pager-BZLZA8KD.cjs} +2 -3
- package/dist/next/{Pager-8dIVqCGz.cjs.map → Pager-BZLZA8KD.cjs.map} +1 -1
- package/dist/next/{Pager-C7n5x44P.js → Pager-D11plHRn.js} +2 -3
- package/dist/next/{Pager-C7n5x44P.js.map → Pager-D11plHRn.js.map} +1 -1
- package/dist/next/Pager.cjs.js +1 -1
- package/dist/next/Pager.js +1 -1
- package/dist/next/{Stepper-em6Gl32O.js → Stepper-B2X72Iir.js} +2 -3
- package/dist/next/{Stepper-em6Gl32O.js.map → Stepper-B2X72Iir.js.map} +1 -1
- package/dist/next/{Stepper-CpgJBKz7.cjs → Stepper-fE7prDWu.cjs} +2 -3
- package/dist/next/{Stepper-CpgJBKz7.cjs.map → Stepper-fE7prDWu.cjs.map} +1 -1
- package/dist/next/Stepper.cjs.js +1 -1
- package/dist/next/Stepper.js +1 -1
- package/dist/next/{TagInput-DVmBv7Mn.cjs → TagInput-BycAVBEu.cjs} +3 -4
- package/dist/next/{TagInput-DVmBv7Mn.cjs.map → TagInput-BycAVBEu.cjs.map} +1 -1
- package/dist/next/{TagInput-8nVGDluu.js → TagInput-CabR-drk.js} +3 -4
- package/dist/next/{TagInput-8nVGDluu.js.map → TagInput-CabR-drk.js.map} +1 -1
- package/dist/next/TagInput.cjs.js +1 -1
- package/dist/next/TagInput.js +1 -1
- package/dist/next/{TextInput-CKM34-yu.js → TextInput-B4s9TMoa.js} +2 -3
- package/dist/next/{TextInput-CKM34-yu.js.map → TextInput-B4s9TMoa.js.map} +1 -1
- package/dist/next/{TextInput-BRl37zMW.cjs → TextInput-SqTFFVZ8.cjs} +2 -3
- package/dist/next/{TextInput-BRl37zMW.cjs.map → TextInput-SqTFFVZ8.cjs.map} +1 -1
- package/dist/next/TextInput.cjs.js +1 -1
- package/dist/next/TextInput.js +1 -1
- package/dist/next/globals.cjs.js +2 -0
- package/dist/next/globals.cjs.js.map +1 -0
- package/dist/next/globals.js +2 -0
- package/dist/next/globals.js.map +1 -0
- package/dist/next/index.cjs.js +22 -22
- package/dist/next/index.js +22 -22
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/components/Card/core/Card.d.ts.map +1 -1
- package/dist/types/components/Card/next/Card.d.ts.map +1 -1
- package/dist/types/components/FileUpload/next/FileUpload.d.ts.map +1 -1
- package/dist/types/components/Footer/next/Footer.d.ts.map +1 -1
- package/dist/types/components/MessagePopup/next/MessagePopup.d.ts.map +1 -1
- package/dist/types/components/NotificationCenter/core/NotificationCenter.d.ts.map +1 -1
- package/dist/types/components/NotificationCenter/next/NotificationCenter.d.ts.map +1 -1
- package/dist/types/components/Pager/core/Pager.d.ts.map +1 -1
- package/dist/types/components/Pager/next/Pager.d.ts.map +1 -1
- package/dist/types/components/TagInput/next/TagInput.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/core/Footer-60sTURxB.cjs.map +0 -1
- package/dist/core/Footer-Q_60pe6o.js.map +0 -1
- package/dist/next/Footer-Bdu_9H3p.js.map +0 -1
- package/dist/next/Footer-DJjzgwpc.cjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const NotificationCenter = require("./NotificationCenter-
|
|
2
|
+
const NotificationCenter = require("./NotificationCenter-Dg_F-nLl.cjs");
|
|
3
3
|
module.exports = NotificationCenter.NotificationCenter;
|
|
4
4
|
//# sourceMappingURL=NotificationCenter.cjs.js.map
|
|
@@ -3,7 +3,6 @@ import { A as ArrowRightIcon } from "./ArrowRightIcon-BYQv5XS8.js";
|
|
|
3
3
|
import { c as getDefaultSize, d as getDefaultTheme, a as getDefaultRounding, b as getDefaultShadow } from "./boreal-style-config-DsaRlxmw.js";
|
|
4
4
|
import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
|
|
5
5
|
import { c as capitalize } from "./capitalize-C0TSQSPh.js";
|
|
6
|
-
/* empty css */
|
|
7
6
|
import { B as Button } from "./Button-CneoIlVV.js";
|
|
8
7
|
import { I as IconButton } from "./IconButton-By8zuXrs.js";
|
|
9
8
|
const ArrowLeftIcon = (props) => /* @__PURE__ */ jsx(
|
|
@@ -222,4 +221,4 @@ Pager.displayName = "Pager";
|
|
|
222
221
|
export {
|
|
223
222
|
Pager as P
|
|
224
223
|
};
|
|
225
|
-
//# sourceMappingURL=Pager-
|
|
224
|
+
//# sourceMappingURL=Pager-BH8hdkMS.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pager-B4hyIUdo.js","sources":["../../src/Icons/ArrowLeftIcon.tsx","../../src/components/Pager/PagerBase.tsx","../../src/components/Pager/core/Pager.tsx"],"sourcesContent":["const ArrowLeftIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\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 fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M15.287 18.6929C15.5673 18.5768 15.75 18.3033 15.75 18V5.99998C15.75 5.69663 15.5673 5.42315 15.287 5.30707C15.0068 5.19098 14.6842 5.25515 14.4697 5.46965L8.46967 11.4696C8.17678 11.7625 8.17678 12.2374 8.46967 12.5303L14.4697 18.5303C14.6842 18.7448 15.0068 18.809 15.287 18.6929Z\"\r\n fill=\"currentColor\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default ArrowLeftIcon;\r\n","import React from \"react\";\r\nimport { ArrowLeftIcon, ArrowRightIcon } from \"../../Icons\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { BasePagerProps } from \"./Pager.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\n\r\nconst BasePager: React.FC<BasePagerProps> = ({\r\n totalItems,\r\n itemsPerPage,\r\n currentPage,\r\n serverControlled = false,\r\n onPageChange,\r\n className = \"\",\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n \"aria-label\": ariaLabel = \"Pagination\",\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"page-list-aria-label\": pageListAriaLabel = \"Page list\",\r\n \"previous-button-aria-label\": previousButtonAriaLabel = \"Go to previous page\",\r\n \"next-button-aria-label\": nextButtonAriaLabel = \"Go to next page\",\r\n getPageAriaLabel = (pageNumber, isActive) =>\r\n isActive ? `Current page, page ${pageNumber}` : `Go to page ${pageNumber}`,\r\n getLiveRegionMessage = (activePage, totalPages) =>\r\n `Page ${activePage} of ${totalPages}`,\r\n liveRegionAriaLive = \"polite\",\r\n \"data-testid\": testId = \"pager\",\r\n Button,\r\n IconButton,\r\n classMap,\r\n}) => {\r\n const perPage = Math.max(1, itemsPerPage || 1);\r\n const totalPages = Math.max(1, Math.ceil(totalItems / perPage));\r\n const page = Math.min(Math.max(1, currentPage || 1), totalPages);\r\n\r\n const pages = serverControlled\r\n ? []\r\n : Array.from({ length: totalPages }, (_, i) => i + 1);\r\n\r\n const goTo = (p: number) => {\r\n const clamped = Math.min(Math.max(1, p), totalPages);\r\n if (clamped !== page) onPageChange(clamped);\r\n };\r\n\r\n const wrapperClass = combineClassNames(classMap.wrapper, className);\r\n\r\n const buttonBaseClass = combineClassNames(\r\n classMap.button,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n );\r\n\r\n const liveRegionId = `${testId}-status`;\r\n\r\n return (\r\n <nav\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy ?? liveRegionId}\r\n className={wrapperClass}\r\n data-testid={testId}\r\n >\r\n <p\r\n id={liveRegionId}\r\n className=\"sr_only\"\r\n aria-live={liveRegionAriaLive}\r\n aria-atomic=\"true\"\r\n data-testid={`${testId}-status`}\r\n >\r\n {getLiveRegionMessage(page, totalPages)}\r\n </p>\r\n\r\n <div className={classMap.controls}>\r\n <IconButton\r\n icon={ArrowLeftIcon}\r\n theme={theme}\r\n state={state}\r\n size={size}\r\n shadow={shadow}\r\n rounding={rounding}\r\n className={classMap.controlButton}\r\n disabled={page <= 1}\r\n aria-label={previousButtonAriaLabel}\r\n title=\"Previous page\"\r\n onClick={() => goTo(page - 1)}\r\n aria-controls={pageListAriaLabel ? `${testId}-page-list` : undefined}\r\n data-testid={`${testId}-prev`}\r\n type=\"button\"\r\n />\r\n </div>\r\n\r\n <ul\r\n id={`${testId}-page-list`}\r\n className={classMap.controls}\r\n aria-label={pageListAriaLabel}\r\n data-testid={`${testId}-page-list`}\r\n >\r\n {serverControlled ? (\r\n <li\r\n className={classMap.buttonWrapper}\r\n data-testid={`${testId}-page-${page}`}\r\n >\r\n <Button\r\n theme={theme}\r\n state={state}\r\n size={size}\r\n rounding={rounding}\r\n shadow={shadow}\r\n onClick={() => goTo(page)}\r\n aria-label={getPageAriaLabel(page, true)}\r\n aria-current=\"page\"\r\n aria-describedby={liveRegionId}\r\n disabled\r\n className={combineClassNames(buttonBaseClass, classMap.active)}\r\n data-testid={`${testId}-button-${page}`}\r\n type=\"button\"\r\n >\r\n {page}\r\n </Button>\r\n </li>\r\n ) : (\r\n pages.map((p) => {\r\n const isActive = p === page;\r\n\r\n return (\r\n <li\r\n key={p}\r\n className={classMap.buttonWrapper}\r\n data-testid={`${testId}-page-${p}`}\r\n >\r\n <Button\r\n theme={theme}\r\n state={state}\r\n size={size}\r\n rounding={rounding}\r\n shadow={shadow}\r\n onClick={() => goTo(p)}\r\n aria-label={getPageAriaLabel(p, isActive)}\r\n aria-current={isActive ? \"page\" : undefined}\r\n aria-describedby={isActive ? liveRegionId : undefined}\r\n disabled={isActive}\r\n className={combineClassNames(\r\n buttonBaseClass,\r\n isActive && classMap.active,\r\n )}\r\n data-testid={`${testId}-button-${p}`}\r\n type=\"button\"\r\n >\r\n {p}\r\n </Button>\r\n </li>\r\n );\r\n })\r\n )}\r\n </ul>\r\n\r\n <div className={classMap.controls}>\r\n <IconButton\r\n icon={ArrowRightIcon}\r\n theme={theme}\r\n state={state}\r\n rounding={rounding}\r\n shadow={shadow}\r\n size={size}\r\n className={classMap.controlButton}\r\n disabled={page >= totalPages}\r\n aria-label={nextButtonAriaLabel}\r\n title=\"Next page\"\r\n onClick={() => goTo(page + 1)}\r\n aria-controls={pageListAriaLabel ? `${testId}-page-list` : undefined}\r\n data-testid={`${testId}-next`}\r\n type=\"button\"\r\n />\r\n </div>\r\n </nav>\r\n );\r\n};\r\n\r\nBasePager.displayName = \"BasePager\";\r\nexport default BasePager;\r\n","import React from \"react\";\r\nimport BasePager from \"../PagerBase\";\r\nimport { Button, IconButton } from \"@/index.core\";\r\nimport \"./Pager.scss\";\r\nimport { PagerProps } from \"../Pager.types\";\r\n\r\nconst classes = {\r\n wrapper: \"pagination\",\r\n controls: \"pagination_controls\",\r\n controlButton: \"pagination_control_button\",\r\n buttonWrapper: \"pagination_button_wrapper\",\r\n button: \"pagination_button\",\r\n active: \"pagination_active\",\r\n};\r\n\r\nconst Pager: React.FC<PagerProps> = (props) => {\r\n return (\r\n <BasePager\r\n {...props}\r\n Button={Button}\r\n IconButton={IconButton}\r\n classMap={classes}\r\n />\r\n );\r\n};\r\nPager.displayName = \"Pager\";\r\nexport default Pager;\r\n"],"names":["Button","IconButton"],"mappings":";;;;;;;;AAAA,MAAM,gBAAyD,CAAC,UAC9D;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,aAAY;AAAA,IACZ,MAAK;AAAA,IACL,OAAM;AAAA,IACN,OAAM;AAAA,IACL,GAAG;AAAA,IAEJ,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACN;AACH;ACLF,MAAM,YAAsC,CAAC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB;AAAA,EACA,YAAY;AAAA,EACZ,OAAO,eAAA;AAAA,EACP,QAAQ,gBAAA;AAAA,EACR,WAAW,mBAAA;AAAA,EACX,SAAS,iBAAA;AAAA,EACT,QAAQ;AAAA,EACR,cAAc,YAAY;AAAA,EAC1B,oBAAoB;AAAA,EACpB,mBAAmB;AAAA,EACnB,wBAAwB,oBAAoB;AAAA,EAC5C,8BAA8B,0BAA0B;AAAA,EACxD,0BAA0B,sBAAsB;AAAA,EAChD,mBAAmB,CAAC,YAAY,aAC9B,WAAW,sBAAsB,UAAU,KAAK,cAAc,UAAU;AAAA,EAC1E,uBAAuB,CAAC,YAAY,eAClC,QAAQ,UAAU,OAAO,UAAU;AAAA,EACrC,qBAAqB;AAAA,EACrB,eAAe,SAAS;AAAA,EACxB,QAAAA;AAAA,EACA,YAAAC;AAAA,EACA;AACF,MAAM;AACJ,QAAM,UAAU,KAAK,IAAI,GAAG,gBAAgB,CAAC;AAC7C,QAAM,aAAa,KAAK,IAAI,GAAG,KAAK,KAAK,aAAa,OAAO,CAAC;AAC9D,QAAM,OAAO,KAAK,IAAI,KAAK,IAAI,GAAG,eAAe,CAAC,GAAG,UAAU;AAE/D,QAAM,QAAQ,mBACV,KACA,MAAM,KAAK,EAAE,QAAQ,WAAA,GAAc,CAAC,GAAG,MAAM,IAAI,CAAC;AAEtD,QAAM,OAAO,CAAC,MAAc;AAC1B,UAAM,UAAU,KAAK,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG,UAAU;AACnD,QAAI,YAAY,KAAM,cAAa,OAAO;AAAA,EAC5C;AAEA,QAAM,eAAe,kBAAkB,SAAS,SAAS,SAAS;AAElE,QAAM,kBAAkB;AAAA,IACtB,SAAS;AAAA,IACT,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,IAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,EAAA;AAGrD,QAAM,eAAe,GAAG,MAAM;AAE9B,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,cAAY,iBAAiB,SAAY;AAAA,MACzC,mBAAiB;AAAA,MACjB,oBAAkB,mBAAmB;AAAA,MACrC,WAAW;AAAA,MACX,eAAa;AAAA,MAEb,UAAA;AAAA,QAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ,WAAU;AAAA,YACV,aAAW;AAAA,YACX,eAAY;AAAA,YACZ,eAAa,GAAG,MAAM;AAAA,YAErB,UAAA,qBAAqB,MAAM,UAAU;AAAA,UAAA;AAAA,QAAA;AAAA,QAGxC,oBAAC,OAAA,EAAI,WAAW,SAAS,UACvB,UAAA;AAAA,UAACA;AAAA,UAAA;AAAA,YACC,MAAM;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,WAAW,SAAS;AAAA,YACpB,UAAU,QAAQ;AAAA,YAClB,cAAY;AAAA,YACZ,OAAM;AAAA,YACN,SAAS,MAAM,KAAK,OAAO,CAAC;AAAA,YAC5B,iBAAe,oBAAoB,GAAG,MAAM,eAAe;AAAA,YAC3D,eAAa,GAAG,MAAM;AAAA,YACtB,MAAK;AAAA,UAAA;AAAA,QAAA,GAET;AAAA,QAEA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAI,GAAG,MAAM;AAAA,YACb,WAAW,SAAS;AAAA,YACpB,cAAY;AAAA,YACZ,eAAa,GAAG,MAAM;AAAA,YAErB,UAAA,mBACC;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAW,SAAS;AAAA,gBACpB,eAAa,GAAG,MAAM,SAAS,IAAI;AAAA,gBAEnC,UAAA;AAAA,kBAACD;AAAA,kBAAA;AAAA,oBACC;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA;AAAA,oBACA,SAAS,MAAM,KAAK,IAAI;AAAA,oBACxB,cAAY,iBAAiB,MAAM,IAAI;AAAA,oBACvC,gBAAa;AAAA,oBACb,oBAAkB;AAAA,oBAClB,UAAQ;AAAA,oBACR,WAAW,kBAAkB,iBAAiB,SAAS,MAAM;AAAA,oBAC7D,eAAa,GAAG,MAAM,WAAW,IAAI;AAAA,oBACrC,MAAK;AAAA,oBAEJ,UAAA;AAAA,kBAAA;AAAA,gBAAA;AAAA,cACH;AAAA,YAAA,IAGF,MAAM,IAAI,CAAC,MAAM;AACf,oBAAM,WAAW,MAAM;AAEvB,qBACE;AAAA,gBAAC;AAAA,gBAAA;AAAA,kBAEC,WAAW,SAAS;AAAA,kBACpB,eAAa,GAAG,MAAM,SAAS,CAAC;AAAA,kBAEhC,UAAA;AAAA,oBAACA;AAAA,oBAAA;AAAA,sBACC;AAAA,sBACA;AAAA,sBACA;AAAA,sBACA;AAAA,sBACA;AAAA,sBACA,SAAS,MAAM,KAAK,CAAC;AAAA,sBACrB,cAAY,iBAAiB,GAAG,QAAQ;AAAA,sBACxC,gBAAc,WAAW,SAAS;AAAA,sBAClC,oBAAkB,WAAW,eAAe;AAAA,sBAC5C,UAAU;AAAA,sBACV,WAAW;AAAA,wBACT;AAAA,wBACA,YAAY,SAAS;AAAA,sBAAA;AAAA,sBAEvB,eAAa,GAAG,MAAM,WAAW,CAAC;AAAA,sBAClC,MAAK;AAAA,sBAEJ,UAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBACH;AAAA,gBAvBK;AAAA,cAAA;AAAA,YA0BX,CAAC;AAAA,UAAA;AAAA,QAAA;AAAA,QAIL,oBAAC,OAAA,EAAI,WAAW,SAAS,UACvB,UAAA;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,MAAM;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,WAAW,SAAS;AAAA,YACpB,UAAU,QAAQ;AAAA,YAClB,cAAY;AAAA,YACZ,OAAM;AAAA,YACN,SAAS,MAAM,KAAK,OAAO,CAAC;AAAA,YAC5B,iBAAe,oBAAoB,GAAG,MAAM,eAAe;AAAA,YAC3D,eAAa,GAAG,MAAM;AAAA,YACtB,MAAK;AAAA,UAAA;AAAA,QAAA,EACP,CACF;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,UAAU,cAAc;ACrLxB,MAAM,UAAU;AAAA,EACd,SAAS;AAAA,EACT,UAAU;AAAA,EACV,eAAe;AAAA,EACf,eAAe;AAAA,EACf,QAAQ;AAAA,EACR,QAAQ;AACV;AAEA,MAAM,QAA8B,CAAC,UAAU;AAC7C,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA,UAAU;AAAA,IAAA;AAAA,EAAA;AAGhB;AACA,MAAM,cAAc;"}
|
|
1
|
+
{"version":3,"file":"Pager-BH8hdkMS.js","sources":["../../src/Icons/ArrowLeftIcon.tsx","../../src/components/Pager/PagerBase.tsx","../../src/components/Pager/core/Pager.tsx"],"sourcesContent":["const ArrowLeftIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\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 fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M15.287 18.6929C15.5673 18.5768 15.75 18.3033 15.75 18V5.99998C15.75 5.69663 15.5673 5.42315 15.287 5.30707C15.0068 5.19098 14.6842 5.25515 14.4697 5.46965L8.46967 11.4696C8.17678 11.7625 8.17678 12.2374 8.46967 12.5303L14.4697 18.5303C14.6842 18.7448 15.0068 18.809 15.287 18.6929Z\"\r\n fill=\"currentColor\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default ArrowLeftIcon;\r\n","import React from \"react\";\r\nimport { ArrowLeftIcon, ArrowRightIcon } from \"../../Icons\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { BasePagerProps } from \"./Pager.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\n\r\nconst BasePager: React.FC<BasePagerProps> = ({\r\n totalItems,\r\n itemsPerPage,\r\n currentPage,\r\n serverControlled = false,\r\n onPageChange,\r\n className = \"\",\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n \"aria-label\": ariaLabel = \"Pagination\",\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"page-list-aria-label\": pageListAriaLabel = \"Page list\",\r\n \"previous-button-aria-label\": previousButtonAriaLabel = \"Go to previous page\",\r\n \"next-button-aria-label\": nextButtonAriaLabel = \"Go to next page\",\r\n getPageAriaLabel = (pageNumber, isActive) =>\r\n isActive ? `Current page, page ${pageNumber}` : `Go to page ${pageNumber}`,\r\n getLiveRegionMessage = (activePage, totalPages) =>\r\n `Page ${activePage} of ${totalPages}`,\r\n liveRegionAriaLive = \"polite\",\r\n \"data-testid\": testId = \"pager\",\r\n Button,\r\n IconButton,\r\n classMap,\r\n}) => {\r\n const perPage = Math.max(1, itemsPerPage || 1);\r\n const totalPages = Math.max(1, Math.ceil(totalItems / perPage));\r\n const page = Math.min(Math.max(1, currentPage || 1), totalPages);\r\n\r\n const pages = serverControlled\r\n ? []\r\n : Array.from({ length: totalPages }, (_, i) => i + 1);\r\n\r\n const goTo = (p: number) => {\r\n const clamped = Math.min(Math.max(1, p), totalPages);\r\n if (clamped !== page) onPageChange(clamped);\r\n };\r\n\r\n const wrapperClass = combineClassNames(classMap.wrapper, className);\r\n\r\n const buttonBaseClass = combineClassNames(\r\n classMap.button,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n );\r\n\r\n const liveRegionId = `${testId}-status`;\r\n\r\n return (\r\n <nav\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy ?? liveRegionId}\r\n className={wrapperClass}\r\n data-testid={testId}\r\n >\r\n <p\r\n id={liveRegionId}\r\n className=\"sr_only\"\r\n aria-live={liveRegionAriaLive}\r\n aria-atomic=\"true\"\r\n data-testid={`${testId}-status`}\r\n >\r\n {getLiveRegionMessage(page, totalPages)}\r\n </p>\r\n\r\n <div className={classMap.controls}>\r\n <IconButton\r\n icon={ArrowLeftIcon}\r\n theme={theme}\r\n state={state}\r\n size={size}\r\n shadow={shadow}\r\n rounding={rounding}\r\n className={classMap.controlButton}\r\n disabled={page <= 1}\r\n aria-label={previousButtonAriaLabel}\r\n title=\"Previous page\"\r\n onClick={() => goTo(page - 1)}\r\n aria-controls={pageListAriaLabel ? `${testId}-page-list` : undefined}\r\n data-testid={`${testId}-prev`}\r\n type=\"button\"\r\n />\r\n </div>\r\n\r\n <ul\r\n id={`${testId}-page-list`}\r\n className={classMap.controls}\r\n aria-label={pageListAriaLabel}\r\n data-testid={`${testId}-page-list`}\r\n >\r\n {serverControlled ? (\r\n <li\r\n className={classMap.buttonWrapper}\r\n data-testid={`${testId}-page-${page}`}\r\n >\r\n <Button\r\n theme={theme}\r\n state={state}\r\n size={size}\r\n rounding={rounding}\r\n shadow={shadow}\r\n onClick={() => goTo(page)}\r\n aria-label={getPageAriaLabel(page, true)}\r\n aria-current=\"page\"\r\n aria-describedby={liveRegionId}\r\n disabled\r\n className={combineClassNames(buttonBaseClass, classMap.active)}\r\n data-testid={`${testId}-button-${page}`}\r\n type=\"button\"\r\n >\r\n {page}\r\n </Button>\r\n </li>\r\n ) : (\r\n pages.map((p) => {\r\n const isActive = p === page;\r\n\r\n return (\r\n <li\r\n key={p}\r\n className={classMap.buttonWrapper}\r\n data-testid={`${testId}-page-${p}`}\r\n >\r\n <Button\r\n theme={theme}\r\n state={state}\r\n size={size}\r\n rounding={rounding}\r\n shadow={shadow}\r\n onClick={() => goTo(p)}\r\n aria-label={getPageAriaLabel(p, isActive)}\r\n aria-current={isActive ? \"page\" : undefined}\r\n aria-describedby={isActive ? liveRegionId : undefined}\r\n disabled={isActive}\r\n className={combineClassNames(\r\n buttonBaseClass,\r\n isActive && classMap.active,\r\n )}\r\n data-testid={`${testId}-button-${p}`}\r\n type=\"button\"\r\n >\r\n {p}\r\n </Button>\r\n </li>\r\n );\r\n })\r\n )}\r\n </ul>\r\n\r\n <div className={classMap.controls}>\r\n <IconButton\r\n icon={ArrowRightIcon}\r\n theme={theme}\r\n state={state}\r\n rounding={rounding}\r\n shadow={shadow}\r\n size={size}\r\n className={classMap.controlButton}\r\n disabled={page >= totalPages}\r\n aria-label={nextButtonAriaLabel}\r\n title=\"Next page\"\r\n onClick={() => goTo(page + 1)}\r\n aria-controls={pageListAriaLabel ? `${testId}-page-list` : undefined}\r\n data-testid={`${testId}-next`}\r\n type=\"button\"\r\n />\r\n </div>\r\n </nav>\r\n );\r\n};\r\n\r\nBasePager.displayName = \"BasePager\";\r\nexport default BasePager;\r\n","import React from \"react\";\r\nimport BasePager from \"../PagerBase\";\r\nimport Button from \"../../Button/core/Button\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport \"./Pager.scss\";\r\nimport { PagerProps } from \"../Pager.types\";\r\n\r\nconst classes = {\r\n wrapper: \"pagination\",\r\n controls: \"pagination_controls\",\r\n controlButton: \"pagination_control_button\",\r\n buttonWrapper: \"pagination_button_wrapper\",\r\n button: \"pagination_button\",\r\n active: \"pagination_active\",\r\n};\r\n\r\nconst Pager: React.FC<PagerProps> = (props) => {\r\n return (\r\n <BasePager\r\n {...props}\r\n Button={Button}\r\n IconButton={IconButton}\r\n classMap={classes}\r\n />\r\n );\r\n};\r\nPager.displayName = \"Pager\";\r\nexport default Pager;\r\n"],"names":["Button","IconButton"],"mappings":"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"}
|
|
@@ -4,7 +4,6 @@ const ArrowRightIcon = require("./ArrowRightIcon-ClXQHGAD.cjs");
|
|
|
4
4
|
const borealStyleConfig = require("./boreal-style-config-C1UIwOFN.cjs");
|
|
5
5
|
const classNames = require("./classNames-BcWMx052.cjs");
|
|
6
6
|
const capitalize = require("./capitalize-DoV-nOmN.cjs");
|
|
7
|
-
;/* empty css */
|
|
8
7
|
const Button = require("./Button-nxtJFOWD.cjs");
|
|
9
8
|
const IconButton = require("./IconButton-C_ktew-6.cjs");
|
|
10
9
|
const ArrowLeftIcon = (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -221,4 +220,4 @@ const Pager = (props) => {
|
|
|
221
220
|
};
|
|
222
221
|
Pager.displayName = "Pager";
|
|
223
222
|
exports.Pager = Pager;
|
|
224
|
-
//# sourceMappingURL=Pager-
|
|
223
|
+
//# sourceMappingURL=Pager-BXAAjmIk.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pager-wl7_umU4.cjs","sources":["../../src/Icons/ArrowLeftIcon.tsx","../../src/components/Pager/PagerBase.tsx","../../src/components/Pager/core/Pager.tsx"],"sourcesContent":["const ArrowLeftIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\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 fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M15.287 18.6929C15.5673 18.5768 15.75 18.3033 15.75 18V5.99998C15.75 5.69663 15.5673 5.42315 15.287 5.30707C15.0068 5.19098 14.6842 5.25515 14.4697 5.46965L8.46967 11.4696C8.17678 11.7625 8.17678 12.2374 8.46967 12.5303L14.4697 18.5303C14.6842 18.7448 15.0068 18.809 15.287 18.6929Z\"\r\n fill=\"currentColor\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default ArrowLeftIcon;\r\n","import React from \"react\";\r\nimport { ArrowLeftIcon, ArrowRightIcon } from \"../../Icons\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { BasePagerProps } from \"./Pager.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\n\r\nconst BasePager: React.FC<BasePagerProps> = ({\r\n totalItems,\r\n itemsPerPage,\r\n currentPage,\r\n serverControlled = false,\r\n onPageChange,\r\n className = \"\",\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n \"aria-label\": ariaLabel = \"Pagination\",\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"page-list-aria-label\": pageListAriaLabel = \"Page list\",\r\n \"previous-button-aria-label\": previousButtonAriaLabel = \"Go to previous page\",\r\n \"next-button-aria-label\": nextButtonAriaLabel = \"Go to next page\",\r\n getPageAriaLabel = (pageNumber, isActive) =>\r\n isActive ? `Current page, page ${pageNumber}` : `Go to page ${pageNumber}`,\r\n getLiveRegionMessage = (activePage, totalPages) =>\r\n `Page ${activePage} of ${totalPages}`,\r\n liveRegionAriaLive = \"polite\",\r\n \"data-testid\": testId = \"pager\",\r\n Button,\r\n IconButton,\r\n classMap,\r\n}) => {\r\n const perPage = Math.max(1, itemsPerPage || 1);\r\n const totalPages = Math.max(1, Math.ceil(totalItems / perPage));\r\n const page = Math.min(Math.max(1, currentPage || 1), totalPages);\r\n\r\n const pages = serverControlled\r\n ? []\r\n : Array.from({ length: totalPages }, (_, i) => i + 1);\r\n\r\n const goTo = (p: number) => {\r\n const clamped = Math.min(Math.max(1, p), totalPages);\r\n if (clamped !== page) onPageChange(clamped);\r\n };\r\n\r\n const wrapperClass = combineClassNames(classMap.wrapper, className);\r\n\r\n const buttonBaseClass = combineClassNames(\r\n classMap.button,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n );\r\n\r\n const liveRegionId = `${testId}-status`;\r\n\r\n return (\r\n <nav\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy ?? liveRegionId}\r\n className={wrapperClass}\r\n data-testid={testId}\r\n >\r\n <p\r\n id={liveRegionId}\r\n className=\"sr_only\"\r\n aria-live={liveRegionAriaLive}\r\n aria-atomic=\"true\"\r\n data-testid={`${testId}-status`}\r\n >\r\n {getLiveRegionMessage(page, totalPages)}\r\n </p>\r\n\r\n <div className={classMap.controls}>\r\n <IconButton\r\n icon={ArrowLeftIcon}\r\n theme={theme}\r\n state={state}\r\n size={size}\r\n shadow={shadow}\r\n rounding={rounding}\r\n className={classMap.controlButton}\r\n disabled={page <= 1}\r\n aria-label={previousButtonAriaLabel}\r\n title=\"Previous page\"\r\n onClick={() => goTo(page - 1)}\r\n aria-controls={pageListAriaLabel ? `${testId}-page-list` : undefined}\r\n data-testid={`${testId}-prev`}\r\n type=\"button\"\r\n />\r\n </div>\r\n\r\n <ul\r\n id={`${testId}-page-list`}\r\n className={classMap.controls}\r\n aria-label={pageListAriaLabel}\r\n data-testid={`${testId}-page-list`}\r\n >\r\n {serverControlled ? (\r\n <li\r\n className={classMap.buttonWrapper}\r\n data-testid={`${testId}-page-${page}`}\r\n >\r\n <Button\r\n theme={theme}\r\n state={state}\r\n size={size}\r\n rounding={rounding}\r\n shadow={shadow}\r\n onClick={() => goTo(page)}\r\n aria-label={getPageAriaLabel(page, true)}\r\n aria-current=\"page\"\r\n aria-describedby={liveRegionId}\r\n disabled\r\n className={combineClassNames(buttonBaseClass, classMap.active)}\r\n data-testid={`${testId}-button-${page}`}\r\n type=\"button\"\r\n >\r\n {page}\r\n </Button>\r\n </li>\r\n ) : (\r\n pages.map((p) => {\r\n const isActive = p === page;\r\n\r\n return (\r\n <li\r\n key={p}\r\n className={classMap.buttonWrapper}\r\n data-testid={`${testId}-page-${p}`}\r\n >\r\n <Button\r\n theme={theme}\r\n state={state}\r\n size={size}\r\n rounding={rounding}\r\n shadow={shadow}\r\n onClick={() => goTo(p)}\r\n aria-label={getPageAriaLabel(p, isActive)}\r\n aria-current={isActive ? \"page\" : undefined}\r\n aria-describedby={isActive ? liveRegionId : undefined}\r\n disabled={isActive}\r\n className={combineClassNames(\r\n buttonBaseClass,\r\n isActive && classMap.active,\r\n )}\r\n data-testid={`${testId}-button-${p}`}\r\n type=\"button\"\r\n >\r\n {p}\r\n </Button>\r\n </li>\r\n );\r\n })\r\n )}\r\n </ul>\r\n\r\n <div className={classMap.controls}>\r\n <IconButton\r\n icon={ArrowRightIcon}\r\n theme={theme}\r\n state={state}\r\n rounding={rounding}\r\n shadow={shadow}\r\n size={size}\r\n className={classMap.controlButton}\r\n disabled={page >= totalPages}\r\n aria-label={nextButtonAriaLabel}\r\n title=\"Next page\"\r\n onClick={() => goTo(page + 1)}\r\n aria-controls={pageListAriaLabel ? `${testId}-page-list` : undefined}\r\n data-testid={`${testId}-next`}\r\n type=\"button\"\r\n />\r\n </div>\r\n </nav>\r\n );\r\n};\r\n\r\nBasePager.displayName = \"BasePager\";\r\nexport default BasePager;\r\n","import React from \"react\";\r\nimport BasePager from \"../PagerBase\";\r\nimport { Button, IconButton } from \"@/index.core\";\r\nimport \"./Pager.scss\";\r\nimport { PagerProps } from \"../Pager.types\";\r\n\r\nconst classes = {\r\n wrapper: \"pagination\",\r\n controls: \"pagination_controls\",\r\n controlButton: \"pagination_control_button\",\r\n buttonWrapper: \"pagination_button_wrapper\",\r\n button: \"pagination_button\",\r\n active: \"pagination_active\",\r\n};\r\n\r\nconst Pager: React.FC<PagerProps> = (props) => {\r\n return (\r\n <BasePager\r\n {...props}\r\n Button={Button}\r\n IconButton={IconButton}\r\n classMap={classes}\r\n />\r\n );\r\n};\r\nPager.displayName = \"Pager\";\r\nexport default Pager;\r\n"],"names":["jsx","getDefaultSize","getDefaultTheme","getDefaultRounding","getDefaultShadow","Button","IconButton","combineClassNames","capitalize","jsxs","ArrowRightIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Pager-BXAAjmIk.cjs","sources":["../../src/Icons/ArrowLeftIcon.tsx","../../src/components/Pager/PagerBase.tsx","../../src/components/Pager/core/Pager.tsx"],"sourcesContent":["const ArrowLeftIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\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 fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M15.287 18.6929C15.5673 18.5768 15.75 18.3033 15.75 18V5.99998C15.75 5.69663 15.5673 5.42315 15.287 5.30707C15.0068 5.19098 14.6842 5.25515 14.4697 5.46965L8.46967 11.4696C8.17678 11.7625 8.17678 12.2374 8.46967 12.5303L14.4697 18.5303C14.6842 18.7448 15.0068 18.809 15.287 18.6929Z\"\r\n fill=\"currentColor\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default ArrowLeftIcon;\r\n","import React from \"react\";\r\nimport { ArrowLeftIcon, ArrowRightIcon } from \"../../Icons\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { BasePagerProps } from \"./Pager.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\n\r\nconst BasePager: React.FC<BasePagerProps> = ({\r\n totalItems,\r\n itemsPerPage,\r\n currentPage,\r\n serverControlled = false,\r\n onPageChange,\r\n className = \"\",\r\n size = getDefaultSize(),\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n \"aria-label\": ariaLabel = \"Pagination\",\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"page-list-aria-label\": pageListAriaLabel = \"Page list\",\r\n \"previous-button-aria-label\": previousButtonAriaLabel = \"Go to previous page\",\r\n \"next-button-aria-label\": nextButtonAriaLabel = \"Go to next page\",\r\n getPageAriaLabel = (pageNumber, isActive) =>\r\n isActive ? `Current page, page ${pageNumber}` : `Go to page ${pageNumber}`,\r\n getLiveRegionMessage = (activePage, totalPages) =>\r\n `Page ${activePage} of ${totalPages}`,\r\n liveRegionAriaLive = \"polite\",\r\n \"data-testid\": testId = \"pager\",\r\n Button,\r\n IconButton,\r\n classMap,\r\n}) => {\r\n const perPage = Math.max(1, itemsPerPage || 1);\r\n const totalPages = Math.max(1, Math.ceil(totalItems / perPage));\r\n const page = Math.min(Math.max(1, currentPage || 1), totalPages);\r\n\r\n const pages = serverControlled\r\n ? []\r\n : Array.from({ length: totalPages }, (_, i) => i + 1);\r\n\r\n const goTo = (p: number) => {\r\n const clamped = Math.min(Math.max(1, p), totalPages);\r\n if (clamped !== page) onPageChange(clamped);\r\n };\r\n\r\n const wrapperClass = combineClassNames(classMap.wrapper, className);\r\n\r\n const buttonBaseClass = combineClassNames(\r\n classMap.button,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n );\r\n\r\n const liveRegionId = `${testId}-status`;\r\n\r\n return (\r\n <nav\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy ?? liveRegionId}\r\n className={wrapperClass}\r\n data-testid={testId}\r\n >\r\n <p\r\n id={liveRegionId}\r\n className=\"sr_only\"\r\n aria-live={liveRegionAriaLive}\r\n aria-atomic=\"true\"\r\n data-testid={`${testId}-status`}\r\n >\r\n {getLiveRegionMessage(page, totalPages)}\r\n </p>\r\n\r\n <div className={classMap.controls}>\r\n <IconButton\r\n icon={ArrowLeftIcon}\r\n theme={theme}\r\n state={state}\r\n size={size}\r\n shadow={shadow}\r\n rounding={rounding}\r\n className={classMap.controlButton}\r\n disabled={page <= 1}\r\n aria-label={previousButtonAriaLabel}\r\n title=\"Previous page\"\r\n onClick={() => goTo(page - 1)}\r\n aria-controls={pageListAriaLabel ? `${testId}-page-list` : undefined}\r\n data-testid={`${testId}-prev`}\r\n type=\"button\"\r\n />\r\n </div>\r\n\r\n <ul\r\n id={`${testId}-page-list`}\r\n className={classMap.controls}\r\n aria-label={pageListAriaLabel}\r\n data-testid={`${testId}-page-list`}\r\n >\r\n {serverControlled ? (\r\n <li\r\n className={classMap.buttonWrapper}\r\n data-testid={`${testId}-page-${page}`}\r\n >\r\n <Button\r\n theme={theme}\r\n state={state}\r\n size={size}\r\n rounding={rounding}\r\n shadow={shadow}\r\n onClick={() => goTo(page)}\r\n aria-label={getPageAriaLabel(page, true)}\r\n aria-current=\"page\"\r\n aria-describedby={liveRegionId}\r\n disabled\r\n className={combineClassNames(buttonBaseClass, classMap.active)}\r\n data-testid={`${testId}-button-${page}`}\r\n type=\"button\"\r\n >\r\n {page}\r\n </Button>\r\n </li>\r\n ) : (\r\n pages.map((p) => {\r\n const isActive = p === page;\r\n\r\n return (\r\n <li\r\n key={p}\r\n className={classMap.buttonWrapper}\r\n data-testid={`${testId}-page-${p}`}\r\n >\r\n <Button\r\n theme={theme}\r\n state={state}\r\n size={size}\r\n rounding={rounding}\r\n shadow={shadow}\r\n onClick={() => goTo(p)}\r\n aria-label={getPageAriaLabel(p, isActive)}\r\n aria-current={isActive ? \"page\" : undefined}\r\n aria-describedby={isActive ? liveRegionId : undefined}\r\n disabled={isActive}\r\n className={combineClassNames(\r\n buttonBaseClass,\r\n isActive && classMap.active,\r\n )}\r\n data-testid={`${testId}-button-${p}`}\r\n type=\"button\"\r\n >\r\n {p}\r\n </Button>\r\n </li>\r\n );\r\n })\r\n )}\r\n </ul>\r\n\r\n <div className={classMap.controls}>\r\n <IconButton\r\n icon={ArrowRightIcon}\r\n theme={theme}\r\n state={state}\r\n rounding={rounding}\r\n shadow={shadow}\r\n size={size}\r\n className={classMap.controlButton}\r\n disabled={page >= totalPages}\r\n aria-label={nextButtonAriaLabel}\r\n title=\"Next page\"\r\n onClick={() => goTo(page + 1)}\r\n aria-controls={pageListAriaLabel ? `${testId}-page-list` : undefined}\r\n data-testid={`${testId}-next`}\r\n type=\"button\"\r\n />\r\n </div>\r\n </nav>\r\n );\r\n};\r\n\r\nBasePager.displayName = \"BasePager\";\r\nexport default BasePager;\r\n","import React from \"react\";\r\nimport BasePager from \"../PagerBase\";\r\nimport Button from \"../../Button/core/Button\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport \"./Pager.scss\";\r\nimport { PagerProps } from \"../Pager.types\";\r\n\r\nconst classes = {\r\n wrapper: \"pagination\",\r\n controls: \"pagination_controls\",\r\n controlButton: \"pagination_control_button\",\r\n buttonWrapper: \"pagination_button_wrapper\",\r\n button: \"pagination_button\",\r\n active: \"pagination_active\",\r\n};\r\n\r\nconst Pager: React.FC<PagerProps> = (props) => {\r\n return (\r\n <BasePager\r\n {...props}\r\n Button={Button}\r\n IconButton={IconButton}\r\n classMap={classes}\r\n />\r\n );\r\n};\r\nPager.displayName = \"Pager\";\r\nexport default Pager;\r\n"],"names":["jsx","getDefaultSize","getDefaultTheme","getDefaultRounding","getDefaultShadow","Button","IconButton","combineClassNames","capitalize","jsxs","ArrowRightIcon"],"mappings":"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"}
|
package/dist/core/Pager.cjs.js
CHANGED
package/dist/core/Pager.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
const jsxRuntime = require("react/jsx-runtime");
|
|
3
3
|
const classNames = require("./classNames-BcWMx052.cjs");
|
|
4
4
|
const borealStyleConfig = require("./boreal-style-config-C1UIwOFN.cjs");
|
|
5
|
-
;/* empty css */
|
|
6
5
|
const IconButton = require("./IconButton-C_ktew-6.cjs");
|
|
7
6
|
const StepperBase = ({
|
|
8
7
|
steps,
|
|
@@ -150,4 +149,4 @@ const classes = {
|
|
|
150
149
|
const Stepper = (props) => /* @__PURE__ */ jsxRuntime.jsx(StepperBase, { ...props, classMap: classes, IconButtonComponent: IconButton.IconButton });
|
|
151
150
|
Stepper.displayName = "Stepper";
|
|
152
151
|
exports.Stepper = Stepper;
|
|
153
|
-
//# sourceMappingURL=Stepper-
|
|
152
|
+
//# sourceMappingURL=Stepper-BImUKM9h.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper-
|
|
1
|
+
{"version":3,"file":"Stepper-BImUKM9h.cjs","sources":["../../src/components/Stepper/StepperBase.tsx","../../src/components/Stepper/core/Stepper.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { StepperBaseProps } from \"./Stepper.types\";\r\n\r\nconst StepperBase: React.FC<StepperBaseProps> = ({\r\n steps,\r\n activeStep,\r\n onStepClick,\r\n disableBackNavigation = false,\r\n orientation = \"horizontal\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n rounding = getDefaultRounding(),\r\n \"data-testid\": testId = \"stepper\",\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n groupLabel = \"Progress Stepper\",\r\n getStepAriaLabel,\r\n classMap,\r\n className,\r\n IconButtonComponent,\r\n}) => {\r\n const stepCount = steps.length;\r\n const fallbackGroupLabelId = `${testId}-label`;\r\n\r\n const resolvedAriaLabelledBy = ariaLabelledBy\r\n ? ariaLabelledBy\r\n : !ariaLabel\r\n ? fallbackGroupLabelId\r\n : undefined;\r\n\r\n return (\r\n <div\r\n className={combineClassNames(\r\n classMap.stepper,\r\n classMap[orientation],\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n className,\r\n )}\r\n role=\"list\"\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={resolvedAriaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n data-testid={testId}\r\n >\r\n {!ariaLabel && !ariaLabelledBy && (\r\n <span id={fallbackGroupLabelId} className=\"sr_only\">\r\n {groupLabel}\r\n </span>\r\n )}\r\n\r\n {steps.map((step, index) => {\r\n const Icon = step.icon || (() => <span>{index + 1}</span>);\r\n const isCompleted = index < activeStep;\r\n const isActive = index === activeStep;\r\n const isBefore = index < activeStep;\r\n const isDisabled = disableBackNavigation && isBefore;\r\n const isInteractive = !!onStepClick && !isDisabled;\r\n const stepId = `${testId}-step-${index}`;\r\n\r\n const defaultStepLabel = `Step ${index + 1} of ${stepCount}: ${step.label}${\r\n isActive ? \", current step\" : isCompleted ? \", completed\" : \"\"\r\n }`;\r\n\r\n const stepAriaLabel = getStepAriaLabel\r\n ? getStepAriaLabel(step, index, stepCount, isActive, isCompleted)\r\n : defaultStepLabel;\r\n\r\n return (\r\n <div\r\n key={index}\r\n role=\"listitem\"\r\n className={combineClassNames(\r\n classMap.step,\r\n isActive ? classMap.active : \"\",\r\n isCompleted ? classMap.completed : \"\",\r\n onStepClick ? classMap.clickable : \"\",\r\n )}\r\n data-testid={stepId}\r\n >\r\n <IconButtonComponent\r\n icon={Icon}\r\n theme={theme}\r\n state={state}\r\n className={combineClassNames(\r\n classMap.stepButton,\r\n isActive ? classMap.active : \"\",\r\n isCompleted ? classMap.completed : \"\",\r\n )}\r\n size={size}\r\n shadow={shadow}\r\n rounding={rounding}\r\n disabled={isDisabled}\r\n outline={!isActive}\r\n aria-label={stepAriaLabel}\r\n aria-current={isActive ? \"step\" : undefined}\r\n aria-disabled={isDisabled ? true : undefined}\r\n data-testid={`${stepId}-icon`}\r\n tabIndex={isInteractive ? 0 : -1}\r\n onClick={() => {\r\n if (!isDisabled) {\r\n onStepClick?.(index);\r\n }\r\n }}\r\n onKeyDown={(e: React.KeyboardEvent) => {\r\n if ((e.key === \"Enter\" || e.key === \" \") && !isDisabled) {\r\n e.preventDefault();\r\n onStepClick?.(index);\r\n }\r\n }}\r\n />\r\n\r\n <span\r\n className={classMap.stepLabel}\r\n data-testid={`${stepId}-label`}\r\n aria-hidden=\"true\"\r\n >\r\n {step.label}\r\n </span>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n );\r\n};\r\n\r\nStepperBase.displayName = \"StepperBase\";\r\nexport default StepperBase;\r\n","import React from \"react\";\r\nimport \"./Stepper.scss\";\r\nimport StepperBase from \"../StepperBase\";\r\nimport { StepperProps } from \"../Stepper.types\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\n\r\nconst classes = {\r\n stepper: \"stepper\",\r\n horizontal: \"stepper_horizontal\",\r\n vertical: \"stepper_vertical\",\r\n primary: \"stepper_primary\",\r\n secondary: \"stepper_secondary\",\r\n tertiary: \"stepper_tertiary\",\r\n quaternary: \"stepper_quaternary\",\r\n success: \"stepper_success\",\r\n warning: \"stepper_warning\",\r\n error: \"stepper_error\",\r\n clear: \"stepper_clear\",\r\n xs: \"stepper_xs\",\r\n medium: \"stepper_medium\",\r\n small: \"stepper_small\",\r\n large: \"stepper_large\",\r\n xl: \"stepper_xl\",\r\n step: \"stepper_step\",\r\n active: \"stepper_active\",\r\n completed: \"stepper_completed\",\r\n disabled: \"stepper_disabled\",\r\n clickable: \"stepper_clickable\",\r\n stepButton: \"stepper_step_button\",\r\n stepLabel: \"stepper_step_label\",\r\n connector: \"stepper_connector\",\r\n};\r\n\r\nconst Stepper: React.FC<StepperProps> = (props) => (\r\n <StepperBase {...props} classMap={classes} IconButtonComponent={IconButton} />\r\n);\r\nStepper.displayName = \"Stepper\";\r\nexport default Stepper;\r\n"],"names":["getDefaultTheme","getDefaultSize","getDefaultShadow","getDefaultRounding","jsxs","combineClassNames","jsx","IconButton"],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
|
|
3
3
|
import { d as getDefaultTheme, c as getDefaultSize, b as getDefaultShadow, a as getDefaultRounding } from "./boreal-style-config-DsaRlxmw.js";
|
|
4
|
-
/* empty css */
|
|
5
4
|
import { I as IconButton } from "./IconButton-By8zuXrs.js";
|
|
6
5
|
const StepperBase = ({
|
|
7
6
|
steps,
|
|
@@ -151,4 +150,4 @@ Stepper.displayName = "Stepper";
|
|
|
151
150
|
export {
|
|
152
151
|
Stepper as S
|
|
153
152
|
};
|
|
154
|
-
//# sourceMappingURL=Stepper-
|
|
153
|
+
//# sourceMappingURL=Stepper-DRCnDvvv.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper-
|
|
1
|
+
{"version":3,"file":"Stepper-DRCnDvvv.js","sources":["../../src/components/Stepper/StepperBase.tsx","../../src/components/Stepper/core/Stepper.tsx"],"sourcesContent":["import React from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { StepperBaseProps } from \"./Stepper.types\";\r\n\r\nconst StepperBase: React.FC<StepperBaseProps> = ({\r\n steps,\r\n activeStep,\r\n onStepClick,\r\n disableBackNavigation = false,\r\n orientation = \"horizontal\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n shadow = getDefaultShadow(),\r\n rounding = getDefaultRounding(),\r\n \"data-testid\": testId = \"stepper\",\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n groupLabel = \"Progress Stepper\",\r\n getStepAriaLabel,\r\n classMap,\r\n className,\r\n IconButtonComponent,\r\n}) => {\r\n const stepCount = steps.length;\r\n const fallbackGroupLabelId = `${testId}-label`;\r\n\r\n const resolvedAriaLabelledBy = ariaLabelledBy\r\n ? ariaLabelledBy\r\n : !ariaLabel\r\n ? fallbackGroupLabelId\r\n : undefined;\r\n\r\n return (\r\n <div\r\n className={combineClassNames(\r\n classMap.stepper,\r\n classMap[orientation],\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n className,\r\n )}\r\n role=\"list\"\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={resolvedAriaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n data-testid={testId}\r\n >\r\n {!ariaLabel && !ariaLabelledBy && (\r\n <span id={fallbackGroupLabelId} className=\"sr_only\">\r\n {groupLabel}\r\n </span>\r\n )}\r\n\r\n {steps.map((step, index) => {\r\n const Icon = step.icon || (() => <span>{index + 1}</span>);\r\n const isCompleted = index < activeStep;\r\n const isActive = index === activeStep;\r\n const isBefore = index < activeStep;\r\n const isDisabled = disableBackNavigation && isBefore;\r\n const isInteractive = !!onStepClick && !isDisabled;\r\n const stepId = `${testId}-step-${index}`;\r\n\r\n const defaultStepLabel = `Step ${index + 1} of ${stepCount}: ${step.label}${\r\n isActive ? \", current step\" : isCompleted ? \", completed\" : \"\"\r\n }`;\r\n\r\n const stepAriaLabel = getStepAriaLabel\r\n ? getStepAriaLabel(step, index, stepCount, isActive, isCompleted)\r\n : defaultStepLabel;\r\n\r\n return (\r\n <div\r\n key={index}\r\n role=\"listitem\"\r\n className={combineClassNames(\r\n classMap.step,\r\n isActive ? classMap.active : \"\",\r\n isCompleted ? classMap.completed : \"\",\r\n onStepClick ? classMap.clickable : \"\",\r\n )}\r\n data-testid={stepId}\r\n >\r\n <IconButtonComponent\r\n icon={Icon}\r\n theme={theme}\r\n state={state}\r\n className={combineClassNames(\r\n classMap.stepButton,\r\n isActive ? classMap.active : \"\",\r\n isCompleted ? classMap.completed : \"\",\r\n )}\r\n size={size}\r\n shadow={shadow}\r\n rounding={rounding}\r\n disabled={isDisabled}\r\n outline={!isActive}\r\n aria-label={stepAriaLabel}\r\n aria-current={isActive ? \"step\" : undefined}\r\n aria-disabled={isDisabled ? true : undefined}\r\n data-testid={`${stepId}-icon`}\r\n tabIndex={isInteractive ? 0 : -1}\r\n onClick={() => {\r\n if (!isDisabled) {\r\n onStepClick?.(index);\r\n }\r\n }}\r\n onKeyDown={(e: React.KeyboardEvent) => {\r\n if ((e.key === \"Enter\" || e.key === \" \") && !isDisabled) {\r\n e.preventDefault();\r\n onStepClick?.(index);\r\n }\r\n }}\r\n />\r\n\r\n <span\r\n className={classMap.stepLabel}\r\n data-testid={`${stepId}-label`}\r\n aria-hidden=\"true\"\r\n >\r\n {step.label}\r\n </span>\r\n </div>\r\n );\r\n })}\r\n </div>\r\n );\r\n};\r\n\r\nStepperBase.displayName = \"StepperBase\";\r\nexport default StepperBase;\r\n","import React from \"react\";\r\nimport \"./Stepper.scss\";\r\nimport StepperBase from \"../StepperBase\";\r\nimport { StepperProps } from \"../Stepper.types\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\n\r\nconst classes = {\r\n stepper: \"stepper\",\r\n horizontal: \"stepper_horizontal\",\r\n vertical: \"stepper_vertical\",\r\n primary: \"stepper_primary\",\r\n secondary: \"stepper_secondary\",\r\n tertiary: \"stepper_tertiary\",\r\n quaternary: \"stepper_quaternary\",\r\n success: \"stepper_success\",\r\n warning: \"stepper_warning\",\r\n error: \"stepper_error\",\r\n clear: \"stepper_clear\",\r\n xs: \"stepper_xs\",\r\n medium: \"stepper_medium\",\r\n small: \"stepper_small\",\r\n large: \"stepper_large\",\r\n xl: \"stepper_xl\",\r\n step: \"stepper_step\",\r\n active: \"stepper_active\",\r\n completed: \"stepper_completed\",\r\n disabled: \"stepper_disabled\",\r\n clickable: \"stepper_clickable\",\r\n stepButton: \"stepper_step_button\",\r\n stepLabel: \"stepper_step_label\",\r\n connector: \"stepper_connector\",\r\n};\r\n\r\nconst Stepper: React.FC<StepperProps> = (props) => (\r\n <StepperBase {...props} classMap={classes} IconButtonComponent={IconButton} />\r\n);\r\nStepper.displayName = \"Stepper\";\r\nexport default Stepper;\r\n"],"names":[],"mappings":"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"}
|
package/dist/core/Stepper.cjs.js
CHANGED
package/dist/core/Stepper.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { I as IconButton } from "./IconButton-By8zuXrs.js";
|
|
3
|
-
import { T as TextInput } from "./TextInput-
|
|
3
|
+
import { T as TextInput } from "./TextInput-CXyzklAm.js";
|
|
4
4
|
import { useId, useState, useRef, useEffect, useMemo } from "react";
|
|
5
5
|
import { C as CloseIcon } from "./CloseIcon-C3eQm4EK.js";
|
|
6
6
|
import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
|
|
@@ -334,4 +334,4 @@ TagInput.displayName = "TagInput";
|
|
|
334
334
|
export {
|
|
335
335
|
TagInput as T
|
|
336
336
|
};
|
|
337
|
-
//# sourceMappingURL=TagInput-
|
|
337
|
+
//# sourceMappingURL=TagInput-BO0Br1nf.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagInput-YieWARAt.js","sources":["../../src/components/TagInput/TagInputBase.tsx","../../src/components/TagInput/core/TagInput.tsx"],"sourcesContent":["import React, {\r\n useId,\r\n useState,\r\n KeyboardEvent,\r\n useMemo,\r\n useEffect,\r\n useRef,\r\n} from \"react\";\r\nimport { TagInputBaseProps } from \"./TagInput.types\";\r\nimport { CloseIcon } from \"../../Icons\";\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 EMPTY_TAGS: string[] = [];\r\n\r\nconst TagInputBase: React.FC<TagInputBaseProps> = ({\r\n tags = EMPTY_TAGS,\r\n \"aria-label\": ariaLabel = \"Tag Input\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-description\":\r\n ariaDescription = \"Type a tag and press Enter or comma to add. Use arrow keys to navigate suggestions; Enter to select; Escape to close. Backspace removes the last tag when the field is empty.\",\r\n inputAriaLabel = \"Add new tag\",\r\n inputAriaLabelledBy,\r\n inputAriaDescribedBy,\r\n suggestionsAriaLabel = \"Tag suggestions\",\r\n removeTagButtonLabel = \"Remove tag\",\r\n onChange,\r\n fetchSuggestions,\r\n debounceMs = 300,\r\n placeholder = \"Add a tag...\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n idBase,\r\n \"data-testid\": testId = \"tag-input\",\r\n classMap,\r\n IconButton,\r\n TextInput,\r\n}) => {\r\n const uid = useId();\r\n const baseId = idBase || testId || `tag-input-${uid}`;\r\n\r\n const inputId = `${baseId}-input`;\r\n const descId = `${baseId}-desc`;\r\n const labelId = `${baseId}-label`;\r\n const listboxId = `${baseId}-listbox`;\r\n const statusId = `${baseId}-status`;\r\n\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [internalTags, setInternalTags] = useState<string[]>(tags);\r\n const [lastAction, setLastAction] = useState<string>(\"\");\r\n const [suggestions, setSuggestions] = useState<string[]>([]);\r\n const [open, setOpen] = useState(false);\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n\r\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\r\n\r\n useEffect(() => {\r\n setInternalTags((prev) => {\r\n if (\r\n prev.length === tags.length &&\r\n prev.every((tag, index) => tag === tags[index])\r\n ) {\r\n return prev;\r\n }\r\n\r\n return tags;\r\n });\r\n }, [tags]);\r\n\r\n const tagList = internalTags;\r\n\r\n const hasTag = (val: string) =>\r\n tagList.some((t) => t.toLowerCase() === val.toLowerCase());\r\n\r\n useEffect(() => {\r\n if (!fetchSuggestions) {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n\r\n const query = inputValue.trim();\r\n if (!query) {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n debounceRef.current = setTimeout(async () => {\r\n try {\r\n const result = await fetchSuggestions(query);\r\n setSuggestions(result || []);\r\n setOpen((result?.length ?? 0) > 0);\r\n setActiveIndex((result?.length ?? 0) > 0 ? 0 : -1);\r\n } catch {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n }\r\n }, debounceMs);\r\n\r\n return () => {\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n };\r\n }, [inputValue, fetchSuggestions, debounceMs]);\r\n\r\n const emitChange = (updated: string[]): void => {\r\n setInternalTags(updated);\r\n onChange?.(updated);\r\n };\r\n\r\n const addTag = (raw: string) => {\r\n const newTag = raw.trim();\r\n if (!newTag || hasTag(newTag)) return false;\r\n\r\n const updated = [...tagList, newTag];\r\n emitChange(updated);\r\n setLastAction(`Added tag ${newTag}.`);\r\n return true;\r\n };\r\n\r\n const removeTag = (tag: string) => {\r\n const updated = tagList.filter((t) => t !== tag);\r\n emitChange(updated);\r\n setLastAction(`Removed tag ${tag}.`);\r\n };\r\n\r\n const clearSuggestions = (): void => {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n };\r\n\r\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\r\n const { key } = event;\r\n\r\n if (open && suggestions.length > 0) {\r\n if (key === \"ArrowDown\") {\r\n event.preventDefault();\r\n setActiveIndex((i) => (i + 1) % suggestions.length);\r\n return;\r\n }\r\n\r\n if (key === \"ArrowUp\") {\r\n event.preventDefault();\r\n setActiveIndex(\r\n (i) => (i - 1 + suggestions.length) % suggestions.length,\r\n );\r\n return;\r\n }\r\n\r\n if (key === \"Enter\") {\r\n event.preventDefault();\r\n const choice = suggestions[activeIndex];\r\n if (choice && addTag(choice)) {\r\n setInputValue(\"\");\r\n }\r\n clearSuggestions();\r\n return;\r\n }\r\n\r\n if (key === \"Escape\") {\r\n event.preventDefault();\r\n clearSuggestions();\r\n return;\r\n }\r\n }\r\n\r\n if (key === \"Enter\" || key === \",\") {\r\n event.preventDefault();\r\n if (addTag(inputValue)) setInputValue(\"\");\r\n clearSuggestions();\r\n return;\r\n }\r\n\r\n if (key === \"Backspace\" && inputValue === \"\" && tagList.length > 0) {\r\n const last = tagList[tagList.length - 1];\r\n removeTag(last);\r\n }\r\n };\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tagInput,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n ),\r\n [classMap, theme, state, size],\r\n );\r\n\r\n const tagClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tag,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n ),\r\n [classMap, shadow, rounding],\r\n );\r\n\r\n const handleSuggestionClick = (suggestion: string): void => {\r\n if (addTag(suggestion)) setInputValue(\"\");\r\n clearSuggestions();\r\n };\r\n\r\n const activeOptionId =\r\n open && activeIndex >= 0 ? `${listboxId}-opt-${activeIndex}` : undefined;\r\n\r\n const groupDescribedBy = [descId, statusId, ariaDescribedBy]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n const inputDescribedBy = [descId, statusId, inputAriaDescribedBy]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n role=\"group\"\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy || labelId}\r\n aria-describedby={groupDescribedBy || undefined}\r\n data-testid={testId}\r\n >\r\n {!ariaLabelledBy && (\r\n <label id={labelId} className=\"sr_only\">\r\n {ariaLabel}\r\n </label>\r\n )}\r\n\r\n <div\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </div>\r\n\r\n <ul className={classMap.tagContainer} data-testid={`${testId}-list`}>\r\n {tagList.map((tag, index) => (\r\n <li\r\n key={`${tag}-${index}`}\r\n className={tagClass}\r\n role=\"listitem\"\r\n data-testid={`${testId}-tag-${index}`}\r\n >\r\n <span className={classMap.tagLabel}>{tag}</span>\r\n <IconButton\r\n type=\"button\"\r\n aria-label={`${removeTagButtonLabel} ${tag}`}\r\n className={classMap.removeButton}\r\n onClick={() => removeTag(tag)}\r\n data-testid={`${testId}-remove-${index}`}\r\n icon={CloseIcon}\r\n size=\"small\"\r\n theme=\"clear\"\r\n shadow=\"none\"\r\n iconClassName={classMap.removeButtonIcon}\r\n disabled={false}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n\r\n <div className={classMap.inputWrapper}>\r\n <TextInput\r\n id={inputId}\r\n type=\"text\"\r\n theme={theme}\r\n state={state}\r\n rounding={rounding}\r\n shadow={shadow}\r\n className={classMap.input}\r\n value={inputValue}\r\n placeholder={tagList.length === 0 ? placeholder : \"\"}\r\n onChange={(val: string) => setInputValue(val)}\r\n onKeyDown={handleKeyDown}\r\n autoComplete=\"off\"\r\n role=\"combobox\"\r\n aria-autocomplete=\"list\"\r\n aria-expanded={open}\r\n aria-controls={listboxId}\r\n aria-activedescendant={activeOptionId}\r\n aria-label={inputAriaLabelledBy ? undefined : inputAriaLabel}\r\n aria-labelledby={inputAriaLabelledBy}\r\n aria-describedby={inputDescribedBy || undefined}\r\n data-testid={`${testId}-input`}\r\n />\r\n </div>\r\n\r\n {open && suggestions.length > 0 && (\r\n <ul\r\n className={classMap.suggestionList}\r\n role=\"listbox\"\r\n id={listboxId}\r\n aria-label={suggestionsAriaLabel}\r\n data-testid={`${testId}-suggestions`}\r\n >\r\n {suggestions.map((suggestion, index) => (\r\n <li\r\n key={`${suggestion}-${index}`}\r\n id={`${listboxId}-opt-${index}`}\r\n className={combineClassNames(\r\n classMap.suggestionItem,\r\n index === activeIndex && (classMap.active || \"\"),\r\n )}\r\n role=\"option\"\r\n aria-selected={index === activeIndex}\r\n onMouseDown={(e) => e.preventDefault()}\r\n onClick={() => handleSuggestionClick(suggestion)}\r\n data-testid={`${testId}-suggestion-${index}`}\r\n >\r\n {suggestion}\r\n </li>\r\n ))}\r\n </ul>\r\n )}\r\n\r\n <div id={statusId} aria-live=\"polite\" className=\"sr_only\">\r\n {open && suggestions.length > 0\r\n ? `${suggestions.length} suggestion${suggestions.length === 1 ? \"\" : \"s\"} available.`\r\n : \"\"}\r\n {lastAction}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nTagInputBase.displayName = \"TagInputBase\";\r\nexport default TagInputBase;\r\n","import React from \"react\";\r\nimport \"./TagInput.scss\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport TextInput from \"../../TextInput/core/TextInput\";\r\nimport TagInputBase from \"../TagInputBase\";\r\nimport { TagInputProps } from \"../TagInput.types\";\r\n\r\nconst classes = {\r\n tagInput: \"tag_input\",\r\n tagContainer: \"tag_input_tag_container\",\r\n tag: \"tag_input_tag\",\r\n tagLabel: \"tag_input_tag_label\",\r\n removeButton: \"tag_input_remove_button\",\r\n removeButtonIcon: \"tag_input_remove_button_icon\",\r\n inputWrapper: \"tag_input_input_wrapper\",\r\n input: \"tag_input_input\",\r\n suggestionList: \"tag_input_suggestion_list\",\r\n suggestionItem: \"tag_input_suggestion_item\",\r\n\r\n primary: \"tag_input_primary\",\r\n secondary: \"tag_input_secondary\",\r\n tertiary: \"tag_input_tertiary\",\r\n quaternary: \"tag_input_quaternary\",\r\n\r\n success: \"tag_input_success\",\r\n warning: \"tag_input_warning\",\r\n error: \"tag_input_error\",\r\n\r\n clear: \"tag_input_clear\",\r\n\r\n xs: \"tag_input_xs\",\r\n small: \"tag_input_small\",\r\n medium: \"tag_input_medium\",\r\n large: \"tag_input_large\",\r\n xl: \"tag_input_xl\",\r\n\r\n shadowNone: \"tag_shadow-None\",\r\n shadowLight: \"tag_shadow-Light\",\r\n shadowMedium: \"tag_shadow-Medium\",\r\n shadowStrong: \"tag_shadow-Strong\",\r\n shadowIntense: \"tag_shadow-Intense\",\r\n\r\n roundNone: \"tag_round-None\",\r\n roundSmall: \"tag_round-Small\",\r\n roundMedium: \"tag_round-Medium\",\r\n roundLarge: \"tag_round-Large\",\r\n};\r\n\r\nconst TagInput: React.FC<TagInputProps> = (props) => {\r\n return (\r\n <TagInputBase\r\n {...props}\r\n classMap={classes}\r\n IconButton={IconButton}\r\n TextInput={TextInput}\r\n />\r\n );\r\n};\r\nTagInput.displayName = \"TagInput\";\r\nexport default TagInput;\r\n"],"names":["IconButton","TextInput"],"mappings":";;;;;;;;AAmBA,MAAM,aAAuB,CAAA;AAE7B,MAAM,eAA4C,CAAC;AAAA,EACjD,OAAO;AAAA,EACP,cAAc,YAAY;AAAA,EAC1B,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,oBACE,kBAAkB;AAAA,EACpB,iBAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,cAAc;AAAA,EACd,QAAQ,gBAAA;AAAA,EACR,QAAQ;AAAA,EACR,OAAO,eAAA;AAAA,EACP,WAAW,mBAAA;AAAA,EACX,SAAS,iBAAA;AAAA,EACT;AAAA,EACA,eAAe,SAAS;AAAA,EACxB;AAAA,EACA,YAAAA;AAAA,EACA,WAAAC;AACF,MAAM;AACJ,QAAM,MAAM,MAAA;AACZ,QAAM,SAAS,UAAU,UAAU,aAAa,GAAG;AAEnD,QAAM,UAAU,GAAG,MAAM;AACzB,QAAM,SAAS,GAAG,MAAM;AACxB,QAAM,UAAU,GAAG,MAAM;AACzB,QAAM,YAAY,GAAG,MAAM;AAC3B,QAAM,WAAW,GAAG,MAAM;AAE1B,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,EAAE;AAC/C,QAAM,CAAC,cAAc,eAAe,IAAI,SAAmB,IAAI;AAC/D,QAAM,CAAC,YAAY,aAAa,IAAI,SAAiB,EAAE;AACvD,QAAM,CAAC,aAAa,cAAc,IAAI,SAAmB,CAAA,CAAE;AAC3D,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AACtC,QAAM,CAAC,aAAa,cAAc,IAAI,SAAiB,EAAE;AAEzD,QAAM,cAAc,OAA6C,IAAI;AAErE,YAAU,MAAM;AACd,oBAAgB,CAAC,SAAS;AACxB,UACE,KAAK,WAAW,KAAK,UACrB,KAAK,MAAM,CAAC,KAAK,UAAU,QAAQ,KAAK,KAAK,CAAC,GAC9C;AACA,eAAO;AAAA,MACT;AAEA,aAAO;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAC,IAAI,CAAC;AAET,QAAM,UAAU;AAEhB,QAAM,SAAS,CAAC,QACd,QAAQ,KAAK,CAAC,MAAM,EAAE,YAAA,MAAkB,IAAI,YAAA,CAAa;AAE3D,YAAU,MAAM;AACd,QAAI,CAAC,kBAAkB;AACrB,qBAAe,CAAA,CAAE;AACjB,cAAQ,KAAK;AACb,qBAAe,EAAE;AACjB;AAAA,IACF;AAEA,QAAI,YAAY,QAAS,cAAa,YAAY,OAAO;AAEzD,UAAM,QAAQ,WAAW,KAAA;AACzB,QAAI,CAAC,OAAO;AACV,qBAAe,CAAA,CAAE;AACjB,cAAQ,KAAK;AACb,qBAAe,EAAE;AACjB;AAAA,IACF;AAEA,gBAAY,UAAU,WAAW,YAAY;AAC3C,UAAI;AACF,cAAM,SAAS,MAAM,iBAAiB,KAAK;AAC3C,uBAAe,UAAU,EAAE;AAC3B,kBAAS,iCAAQ,WAAU,KAAK,CAAC;AACjC,yBAAgB,iCAAQ,WAAU,KAAK,IAAI,IAAI,EAAE;AAAA,MACnD,QAAQ;AACN,uBAAe,CAAA,CAAE;AACjB,gBAAQ,KAAK;AACb,uBAAe,EAAE;AAAA,MACnB;AAAA,IACF,GAAG,UAAU;AAEb,WAAO,MAAM;AACX,UAAI,YAAY,QAAS,cAAa,YAAY,OAAO;AAAA,IAC3D;AAAA,EACF,GAAG,CAAC,YAAY,kBAAkB,UAAU,CAAC;AAE7C,QAAM,aAAa,CAAC,YAA4B;AAC9C,oBAAgB,OAAO;AACvB,yCAAW;AAAA,EACb;AAEA,QAAM,SAAS,CAAC,QAAgB;AAC9B,UAAM,SAAS,IAAI,KAAA;AACnB,QAAI,CAAC,UAAU,OAAO,MAAM,EAAG,QAAO;AAEtC,UAAM,UAAU,CAAC,GAAG,SAAS,MAAM;AACnC,eAAW,OAAO;AAClB,kBAAc,aAAa,MAAM,GAAG;AACpC,WAAO;AAAA,EACT;AAEA,QAAM,YAAY,CAAC,QAAgB;AACjC,UAAM,UAAU,QAAQ,OAAO,CAAC,MAAM,MAAM,GAAG;AAC/C,eAAW,OAAO;AAClB,kBAAc,eAAe,GAAG,GAAG;AAAA,EACrC;AAEA,QAAM,mBAAmB,MAAY;AACnC,mBAAe,CAAA,CAAE;AACjB,YAAQ,KAAK;AACb,mBAAe,EAAE;AAAA,EACnB;AAEA,QAAM,gBAAgB,CAAC,UAA2C;AAChE,UAAM,EAAE,QAAQ;AAEhB,QAAI,QAAQ,YAAY,SAAS,GAAG;AAClC,UAAI,QAAQ,aAAa;AACvB,cAAM,eAAA;AACN,uBAAe,CAAC,OAAO,IAAI,KAAK,YAAY,MAAM;AAClD;AAAA,MACF;AAEA,UAAI,QAAQ,WAAW;AACrB,cAAM,eAAA;AACN;AAAA,UACE,CAAC,OAAO,IAAI,IAAI,YAAY,UAAU,YAAY;AAAA,QAAA;AAEpD;AAAA,MACF;AAEA,UAAI,QAAQ,SAAS;AACnB,cAAM,eAAA;AACN,cAAM,SAAS,YAAY,WAAW;AACtC,YAAI,UAAU,OAAO,MAAM,GAAG;AAC5B,wBAAc,EAAE;AAAA,QAClB;AACA,yBAAA;AACA;AAAA,MACF;AAEA,UAAI,QAAQ,UAAU;AACpB,cAAM,eAAA;AACN,yBAAA;AACA;AAAA,MACF;AAAA,IACF;AAEA,QAAI,QAAQ,WAAW,QAAQ,KAAK;AAClC,YAAM,eAAA;AACN,UAAI,OAAO,UAAU,EAAG,eAAc,EAAE;AACxC,uBAAA;AACA;AAAA,IACF;AAEA,QAAI,QAAQ,eAAe,eAAe,MAAM,QAAQ,SAAS,GAAG;AAClE,YAAM,OAAO,QAAQ,QAAQ,SAAS,CAAC;AACvC,gBAAU,IAAI;AAAA,IAChB;AAAA,EACF;AAEA,QAAM,eAAe;AAAA,IACnB,MACE;AAAA,MACE,SAAS;AAAA,MACT,SAAS,KAAK;AAAA,MACd,SAAS,KAAK;AAAA,MACd,SAAS,IAAI;AAAA,IAAA;AAAA,IAEjB,CAAC,UAAU,OAAO,OAAO,IAAI;AAAA,EAAA;AAG/B,QAAM,WAAW;AAAA,IACf,MACE;AAAA,MACE,SAAS;AAAA,MACT,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,IAAA;AAAA,IAEvD,CAAC,UAAU,QAAQ,QAAQ;AAAA,EAAA;AAG7B,QAAM,wBAAwB,CAAC,eAA6B;AAC1D,QAAI,OAAO,UAAU,EAAG,eAAc,EAAE;AACxC,qBAAA;AAAA,EACF;AAEA,QAAM,iBACJ,QAAQ,eAAe,IAAI,GAAG,SAAS,QAAQ,WAAW,KAAK;AAEjE,QAAM,mBAAmB,CAAC,QAAQ,UAAU,eAAe,EACxD,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,QAAM,mBAAmB,CAAC,QAAQ,UAAU,oBAAoB,EAC7D,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,MACX,MAAK;AAAA,MACL,cAAY,iBAAiB,SAAY;AAAA,MACzC,mBAAiB,kBAAkB;AAAA,MACnC,oBAAkB,oBAAoB;AAAA,MACtC,eAAa;AAAA,MAEZ,UAAA;AAAA,QAAA,CAAC,kBACA,oBAAC,SAAA,EAAM,IAAI,SAAS,WAAU,WAC3B,UAAA,WACH;AAAA,QAGF;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ,WAAU;AAAA,YACV,eAAa,GAAG,MAAM;AAAA,YAErB,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAGH,oBAAC,MAAA,EAAG,WAAW,SAAS,cAAc,eAAa,GAAG,MAAM,SACzD,UAAA,QAAQ,IAAI,CAAC,KAAK,UACjB;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,WAAW;AAAA,YACX,MAAK;AAAA,YACL,eAAa,GAAG,MAAM,QAAQ,KAAK;AAAA,YAEnC,UAAA;AAAA,cAAA,oBAAC,QAAA,EAAK,WAAW,SAAS,UAAW,UAAA,KAAI;AAAA,cACzC;AAAA,gBAACD;AAAA,gBAAA;AAAA,kBACC,MAAK;AAAA,kBACL,cAAY,GAAG,oBAAoB,IAAI,GAAG;AAAA,kBAC1C,WAAW,SAAS;AAAA,kBACpB,SAAS,MAAM,UAAU,GAAG;AAAA,kBAC5B,eAAa,GAAG,MAAM,WAAW,KAAK;AAAA,kBACtC,MAAM;AAAA,kBACN,MAAK;AAAA,kBACL,OAAM;AAAA,kBACN,QAAO;AAAA,kBACP,eAAe,SAAS;AAAA,kBACxB,UAAU;AAAA,gBAAA;AAAA,cAAA;AAAA,YACZ;AAAA,UAAA;AAAA,UAlBK,GAAG,GAAG,IAAI,KAAK;AAAA,QAAA,CAoBvB,GACH;AAAA,QAEA,oBAAC,OAAA,EAAI,WAAW,SAAS,cACvB,UAAA;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ,MAAK;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,WAAW,SAAS;AAAA,YACpB,OAAO;AAAA,YACP,aAAa,QAAQ,WAAW,IAAI,cAAc;AAAA,YAClD,UAAU,CAAC,QAAgB,cAAc,GAAG;AAAA,YAC5C,WAAW;AAAA,YACX,cAAa;AAAA,YACb,MAAK;AAAA,YACL,qBAAkB;AAAA,YAClB,iBAAe;AAAA,YACf,iBAAe;AAAA,YACf,yBAAuB;AAAA,YACvB,cAAY,sBAAsB,SAAY;AAAA,YAC9C,mBAAiB;AAAA,YACjB,oBAAkB,oBAAoB;AAAA,YACtC,eAAa,GAAG,MAAM;AAAA,UAAA;AAAA,QAAA,GAE1B;AAAA,QAEC,QAAQ,YAAY,SAAS,KAC5B;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,SAAS;AAAA,YACpB,MAAK;AAAA,YACL,IAAI;AAAA,YACJ,cAAY;AAAA,YACZ,eAAa,GAAG,MAAM;AAAA,YAErB,UAAA,YAAY,IAAI,CAAC,YAAY,UAC5B;AAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,IAAI,GAAG,SAAS,QAAQ,KAAK;AAAA,gBAC7B,WAAW;AAAA,kBACT,SAAS;AAAA,kBACT,UAAU,gBAAgB,SAAS,UAAU;AAAA,gBAAA;AAAA,gBAE/C,MAAK;AAAA,gBACL,iBAAe,UAAU;AAAA,gBACzB,aAAa,CAAC,MAAM,EAAE,eAAA;AAAA,gBACtB,SAAS,MAAM,sBAAsB,UAAU;AAAA,gBAC/C,eAAa,GAAG,MAAM,eAAe,KAAK;AAAA,gBAEzC,UAAA;AAAA,cAAA;AAAA,cAZI,GAAG,UAAU,IAAI,KAAK;AAAA,YAAA,CAc9B;AAAA,UAAA;AAAA,QAAA;AAAA,6BAIJ,OAAA,EAAI,IAAI,UAAU,aAAU,UAAS,WAAU,WAC7C,UAAA;AAAA,UAAA,QAAQ,YAAY,SAAS,IAC1B,GAAG,YAAY,MAAM,cAAc,YAAY,WAAW,IAAI,KAAK,GAAG,gBACtE;AAAA,UACH;AAAA,QAAA,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,aAAa,cAAc;AClV3B,MAAM,UAAU;AAAA,EACd,UAAU;AAAA,EACV,cAAc;AAAA,EACd,KAAK;AAAA,EACL,UAAU;AAAA,EACV,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,OAAO;AAAA,EACP,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAEhB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EAEZ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EAEP,OAAO;AAAA,EAEP,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,IAAI;AAAA,EAEJ,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,eAAe;AAAA,EAEf,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,YAAY;AACd;AAEA,MAAM,WAAoC,CAAC,UAAU;AACnD,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU;AAAA,MACV;AAAA,MACA;AAAA,IAAA;AAAA,EAAA;AAGN;AACA,SAAS,cAAc;"}
|
|
1
|
+
{"version":3,"file":"TagInput-BO0Br1nf.js","sources":["../../src/components/TagInput/TagInputBase.tsx","../../src/components/TagInput/core/TagInput.tsx"],"sourcesContent":["import React, {\r\n useId,\r\n useState,\r\n KeyboardEvent,\r\n useMemo,\r\n useEffect,\r\n useRef,\r\n} from \"react\";\r\nimport { TagInputBaseProps } from \"./TagInput.types\";\r\nimport { CloseIcon } from \"../../Icons\";\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 EMPTY_TAGS: string[] = [];\r\n\r\nconst TagInputBase: React.FC<TagInputBaseProps> = ({\r\n tags = EMPTY_TAGS,\r\n \"aria-label\": ariaLabel = \"Tag Input\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-description\":\r\n ariaDescription = \"Type a tag and press Enter or comma to add. Use arrow keys to navigate suggestions; Enter to select; Escape to close. Backspace removes the last tag when the field is empty.\",\r\n inputAriaLabel = \"Add new tag\",\r\n inputAriaLabelledBy,\r\n inputAriaDescribedBy,\r\n suggestionsAriaLabel = \"Tag suggestions\",\r\n removeTagButtonLabel = \"Remove tag\",\r\n onChange,\r\n fetchSuggestions,\r\n debounceMs = 300,\r\n placeholder = \"Add a tag...\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n idBase,\r\n \"data-testid\": testId = \"tag-input\",\r\n classMap,\r\n IconButton,\r\n TextInput,\r\n}) => {\r\n const uid = useId();\r\n const baseId = idBase || testId || `tag-input-${uid}`;\r\n\r\n const inputId = `${baseId}-input`;\r\n const descId = `${baseId}-desc`;\r\n const labelId = `${baseId}-label`;\r\n const listboxId = `${baseId}-listbox`;\r\n const statusId = `${baseId}-status`;\r\n\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [internalTags, setInternalTags] = useState<string[]>(tags);\r\n const [lastAction, setLastAction] = useState<string>(\"\");\r\n const [suggestions, setSuggestions] = useState<string[]>([]);\r\n const [open, setOpen] = useState(false);\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n\r\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\r\n\r\n useEffect(() => {\r\n setInternalTags((prev) => {\r\n if (\r\n prev.length === tags.length &&\r\n prev.every((tag, index) => tag === tags[index])\r\n ) {\r\n return prev;\r\n }\r\n\r\n return tags;\r\n });\r\n }, [tags]);\r\n\r\n const tagList = internalTags;\r\n\r\n const hasTag = (val: string) =>\r\n tagList.some((t) => t.toLowerCase() === val.toLowerCase());\r\n\r\n useEffect(() => {\r\n if (!fetchSuggestions) {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n\r\n const query = inputValue.trim();\r\n if (!query) {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n debounceRef.current = setTimeout(async () => {\r\n try {\r\n const result = await fetchSuggestions(query);\r\n setSuggestions(result || []);\r\n setOpen((result?.length ?? 0) > 0);\r\n setActiveIndex((result?.length ?? 0) > 0 ? 0 : -1);\r\n } catch {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n }\r\n }, debounceMs);\r\n\r\n return () => {\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n };\r\n }, [inputValue, fetchSuggestions, debounceMs]);\r\n\r\n const emitChange = (updated: string[]): void => {\r\n setInternalTags(updated);\r\n onChange?.(updated);\r\n };\r\n\r\n const addTag = (raw: string) => {\r\n const newTag = raw.trim();\r\n if (!newTag || hasTag(newTag)) return false;\r\n\r\n const updated = [...tagList, newTag];\r\n emitChange(updated);\r\n setLastAction(`Added tag ${newTag}.`);\r\n return true;\r\n };\r\n\r\n const removeTag = (tag: string) => {\r\n const updated = tagList.filter((t) => t !== tag);\r\n emitChange(updated);\r\n setLastAction(`Removed tag ${tag}.`);\r\n };\r\n\r\n const clearSuggestions = (): void => {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n };\r\n\r\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\r\n const { key } = event;\r\n\r\n if (open && suggestions.length > 0) {\r\n if (key === \"ArrowDown\") {\r\n event.preventDefault();\r\n setActiveIndex((i) => (i + 1) % suggestions.length);\r\n return;\r\n }\r\n\r\n if (key === \"ArrowUp\") {\r\n event.preventDefault();\r\n setActiveIndex(\r\n (i) => (i - 1 + suggestions.length) % suggestions.length,\r\n );\r\n return;\r\n }\r\n\r\n if (key === \"Enter\") {\r\n event.preventDefault();\r\n const choice = suggestions[activeIndex];\r\n if (choice && addTag(choice)) {\r\n setInputValue(\"\");\r\n }\r\n clearSuggestions();\r\n return;\r\n }\r\n\r\n if (key === \"Escape\") {\r\n event.preventDefault();\r\n clearSuggestions();\r\n return;\r\n }\r\n }\r\n\r\n if (key === \"Enter\" || key === \",\") {\r\n event.preventDefault();\r\n if (addTag(inputValue)) setInputValue(\"\");\r\n clearSuggestions();\r\n return;\r\n }\r\n\r\n if (key === \"Backspace\" && inputValue === \"\" && tagList.length > 0) {\r\n const last = tagList[tagList.length - 1];\r\n removeTag(last);\r\n }\r\n };\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tagInput,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n ),\r\n [classMap, theme, state, size],\r\n );\r\n\r\n const tagClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tag,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n ),\r\n [classMap, shadow, rounding],\r\n );\r\n\r\n const handleSuggestionClick = (suggestion: string): void => {\r\n if (addTag(suggestion)) setInputValue(\"\");\r\n clearSuggestions();\r\n };\r\n\r\n const activeOptionId =\r\n open && activeIndex >= 0 ? `${listboxId}-opt-${activeIndex}` : undefined;\r\n\r\n const groupDescribedBy = [descId, statusId, ariaDescribedBy]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n const inputDescribedBy = [descId, statusId, inputAriaDescribedBy]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n role=\"group\"\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy || labelId}\r\n aria-describedby={groupDescribedBy || undefined}\r\n data-testid={testId}\r\n >\r\n {!ariaLabelledBy && (\r\n <label id={labelId} className=\"sr_only\">\r\n {ariaLabel}\r\n </label>\r\n )}\r\n\r\n <div\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </div>\r\n\r\n <ul className={classMap.tagContainer} data-testid={`${testId}-list`}>\r\n {tagList.map((tag, index) => (\r\n <li\r\n key={`${tag}-${index}`}\r\n className={tagClass}\r\n role=\"listitem\"\r\n data-testid={`${testId}-tag-${index}`}\r\n >\r\n <span className={classMap.tagLabel}>{tag}</span>\r\n <IconButton\r\n type=\"button\"\r\n aria-label={`${removeTagButtonLabel} ${tag}`}\r\n className={classMap.removeButton}\r\n onClick={() => removeTag(tag)}\r\n data-testid={`${testId}-remove-${index}`}\r\n icon={CloseIcon}\r\n size=\"small\"\r\n theme=\"clear\"\r\n shadow=\"none\"\r\n iconClassName={classMap.removeButtonIcon}\r\n disabled={false}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n\r\n <div className={classMap.inputWrapper}>\r\n <TextInput\r\n id={inputId}\r\n type=\"text\"\r\n theme={theme}\r\n state={state}\r\n rounding={rounding}\r\n shadow={shadow}\r\n className={classMap.input}\r\n value={inputValue}\r\n placeholder={tagList.length === 0 ? placeholder : \"\"}\r\n onChange={(val: string) => setInputValue(val)}\r\n onKeyDown={handleKeyDown}\r\n autoComplete=\"off\"\r\n role=\"combobox\"\r\n aria-autocomplete=\"list\"\r\n aria-expanded={open}\r\n aria-controls={listboxId}\r\n aria-activedescendant={activeOptionId}\r\n aria-label={inputAriaLabelledBy ? undefined : inputAriaLabel}\r\n aria-labelledby={inputAriaLabelledBy}\r\n aria-describedby={inputDescribedBy || undefined}\r\n data-testid={`${testId}-input`}\r\n />\r\n </div>\r\n\r\n {open && suggestions.length > 0 && (\r\n <ul\r\n className={classMap.suggestionList}\r\n role=\"listbox\"\r\n id={listboxId}\r\n aria-label={suggestionsAriaLabel}\r\n data-testid={`${testId}-suggestions`}\r\n >\r\n {suggestions.map((suggestion, index) => (\r\n <li\r\n key={`${suggestion}-${index}`}\r\n id={`${listboxId}-opt-${index}`}\r\n className={combineClassNames(\r\n classMap.suggestionItem,\r\n index === activeIndex && (classMap.active || \"\"),\r\n )}\r\n role=\"option\"\r\n aria-selected={index === activeIndex}\r\n onMouseDown={(e) => e.preventDefault()}\r\n onClick={() => handleSuggestionClick(suggestion)}\r\n data-testid={`${testId}-suggestion-${index}`}\r\n >\r\n {suggestion}\r\n </li>\r\n ))}\r\n </ul>\r\n )}\r\n\r\n <div id={statusId} aria-live=\"polite\" className=\"sr_only\">\r\n {open && suggestions.length > 0\r\n ? `${suggestions.length} suggestion${suggestions.length === 1 ? \"\" : \"s\"} available.`\r\n : \"\"}\r\n {lastAction}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nTagInputBase.displayName = \"TagInputBase\";\r\nexport default TagInputBase;\r\n","import React from \"react\";\r\nimport \"./TagInput.scss\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport TextInput from \"../../TextInput/core/TextInput\";\r\nimport TagInputBase from \"../TagInputBase\";\r\nimport { TagInputProps } from \"../TagInput.types\";\r\n\r\nconst classes = {\r\n tagInput: \"tag_input\",\r\n tagContainer: \"tag_input_tag_container\",\r\n tag: \"tag_input_tag\",\r\n tagLabel: \"tag_input_tag_label\",\r\n removeButton: \"tag_input_remove_button\",\r\n removeButtonIcon: \"tag_input_remove_button_icon\",\r\n inputWrapper: \"tag_input_input_wrapper\",\r\n input: \"tag_input_input\",\r\n suggestionList: \"tag_input_suggestion_list\",\r\n suggestionItem: \"tag_input_suggestion_item\",\r\n\r\n primary: \"tag_input_primary\",\r\n secondary: \"tag_input_secondary\",\r\n tertiary: \"tag_input_tertiary\",\r\n quaternary: \"tag_input_quaternary\",\r\n\r\n success: \"tag_input_success\",\r\n warning: \"tag_input_warning\",\r\n error: \"tag_input_error\",\r\n\r\n clear: \"tag_input_clear\",\r\n\r\n xs: \"tag_input_xs\",\r\n small: \"tag_input_small\",\r\n medium: \"tag_input_medium\",\r\n large: \"tag_input_large\",\r\n xl: \"tag_input_xl\",\r\n\r\n shadowNone: \"tag_shadow-None\",\r\n shadowLight: \"tag_shadow-Light\",\r\n shadowMedium: \"tag_shadow-Medium\",\r\n shadowStrong: \"tag_shadow-Strong\",\r\n shadowIntense: \"tag_shadow-Intense\",\r\n\r\n roundNone: \"tag_round-None\",\r\n roundSmall: \"tag_round-Small\",\r\n roundMedium: \"tag_round-Medium\",\r\n roundLarge: \"tag_round-Large\",\r\n};\r\n\r\nconst TagInput: React.FC<TagInputProps> = (props) => {\r\n return (\r\n <TagInputBase\r\n {...props}\r\n classMap={classes}\r\n IconButton={IconButton}\r\n TextInput={TextInput}\r\n />\r\n );\r\n};\r\nTagInput.displayName = \"TagInput\";\r\nexport default TagInput;\r\n"],"names":["IconButton","TextInput"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const jsxRuntime = require("react/jsx-runtime");
|
|
3
3
|
const IconButton = require("./IconButton-C_ktew-6.cjs");
|
|
4
|
-
const TextInput = require("./TextInput-
|
|
4
|
+
const TextInput = require("./TextInput-xBrLtn_h.cjs");
|
|
5
5
|
const React = require("react");
|
|
6
6
|
const CloseIcon = require("./CloseIcon-DSnN6ggf.cjs");
|
|
7
7
|
const classNames = require("./classNames-BcWMx052.cjs");
|
|
@@ -333,4 +333,4 @@ const TagInput = (props) => {
|
|
|
333
333
|
};
|
|
334
334
|
TagInput.displayName = "TagInput";
|
|
335
335
|
exports.TagInput = TagInput;
|
|
336
|
-
//# sourceMappingURL=TagInput-
|
|
336
|
+
//# sourceMappingURL=TagInput-CpJ--Wzp.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagInput-pWRdhaP3.cjs","sources":["../../src/components/TagInput/TagInputBase.tsx","../../src/components/TagInput/core/TagInput.tsx"],"sourcesContent":["import React, {\r\n useId,\r\n useState,\r\n KeyboardEvent,\r\n useMemo,\r\n useEffect,\r\n useRef,\r\n} from \"react\";\r\nimport { TagInputBaseProps } from \"./TagInput.types\";\r\nimport { CloseIcon } from \"../../Icons\";\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 EMPTY_TAGS: string[] = [];\r\n\r\nconst TagInputBase: React.FC<TagInputBaseProps> = ({\r\n tags = EMPTY_TAGS,\r\n \"aria-label\": ariaLabel = \"Tag Input\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-description\":\r\n ariaDescription = \"Type a tag and press Enter or comma to add. Use arrow keys to navigate suggestions; Enter to select; Escape to close. Backspace removes the last tag when the field is empty.\",\r\n inputAriaLabel = \"Add new tag\",\r\n inputAriaLabelledBy,\r\n inputAriaDescribedBy,\r\n suggestionsAriaLabel = \"Tag suggestions\",\r\n removeTagButtonLabel = \"Remove tag\",\r\n onChange,\r\n fetchSuggestions,\r\n debounceMs = 300,\r\n placeholder = \"Add a tag...\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n idBase,\r\n \"data-testid\": testId = \"tag-input\",\r\n classMap,\r\n IconButton,\r\n TextInput,\r\n}) => {\r\n const uid = useId();\r\n const baseId = idBase || testId || `tag-input-${uid}`;\r\n\r\n const inputId = `${baseId}-input`;\r\n const descId = `${baseId}-desc`;\r\n const labelId = `${baseId}-label`;\r\n const listboxId = `${baseId}-listbox`;\r\n const statusId = `${baseId}-status`;\r\n\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [internalTags, setInternalTags] = useState<string[]>(tags);\r\n const [lastAction, setLastAction] = useState<string>(\"\");\r\n const [suggestions, setSuggestions] = useState<string[]>([]);\r\n const [open, setOpen] = useState(false);\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n\r\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\r\n\r\n useEffect(() => {\r\n setInternalTags((prev) => {\r\n if (\r\n prev.length === tags.length &&\r\n prev.every((tag, index) => tag === tags[index])\r\n ) {\r\n return prev;\r\n }\r\n\r\n return tags;\r\n });\r\n }, [tags]);\r\n\r\n const tagList = internalTags;\r\n\r\n const hasTag = (val: string) =>\r\n tagList.some((t) => t.toLowerCase() === val.toLowerCase());\r\n\r\n useEffect(() => {\r\n if (!fetchSuggestions) {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n\r\n const query = inputValue.trim();\r\n if (!query) {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n debounceRef.current = setTimeout(async () => {\r\n try {\r\n const result = await fetchSuggestions(query);\r\n setSuggestions(result || []);\r\n setOpen((result?.length ?? 0) > 0);\r\n setActiveIndex((result?.length ?? 0) > 0 ? 0 : -1);\r\n } catch {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n }\r\n }, debounceMs);\r\n\r\n return () => {\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n };\r\n }, [inputValue, fetchSuggestions, debounceMs]);\r\n\r\n const emitChange = (updated: string[]): void => {\r\n setInternalTags(updated);\r\n onChange?.(updated);\r\n };\r\n\r\n const addTag = (raw: string) => {\r\n const newTag = raw.trim();\r\n if (!newTag || hasTag(newTag)) return false;\r\n\r\n const updated = [...tagList, newTag];\r\n emitChange(updated);\r\n setLastAction(`Added tag ${newTag}.`);\r\n return true;\r\n };\r\n\r\n const removeTag = (tag: string) => {\r\n const updated = tagList.filter((t) => t !== tag);\r\n emitChange(updated);\r\n setLastAction(`Removed tag ${tag}.`);\r\n };\r\n\r\n const clearSuggestions = (): void => {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n };\r\n\r\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\r\n const { key } = event;\r\n\r\n if (open && suggestions.length > 0) {\r\n if (key === \"ArrowDown\") {\r\n event.preventDefault();\r\n setActiveIndex((i) => (i + 1) % suggestions.length);\r\n return;\r\n }\r\n\r\n if (key === \"ArrowUp\") {\r\n event.preventDefault();\r\n setActiveIndex(\r\n (i) => (i - 1 + suggestions.length) % suggestions.length,\r\n );\r\n return;\r\n }\r\n\r\n if (key === \"Enter\") {\r\n event.preventDefault();\r\n const choice = suggestions[activeIndex];\r\n if (choice && addTag(choice)) {\r\n setInputValue(\"\");\r\n }\r\n clearSuggestions();\r\n return;\r\n }\r\n\r\n if (key === \"Escape\") {\r\n event.preventDefault();\r\n clearSuggestions();\r\n return;\r\n }\r\n }\r\n\r\n if (key === \"Enter\" || key === \",\") {\r\n event.preventDefault();\r\n if (addTag(inputValue)) setInputValue(\"\");\r\n clearSuggestions();\r\n return;\r\n }\r\n\r\n if (key === \"Backspace\" && inputValue === \"\" && tagList.length > 0) {\r\n const last = tagList[tagList.length - 1];\r\n removeTag(last);\r\n }\r\n };\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tagInput,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n ),\r\n [classMap, theme, state, size],\r\n );\r\n\r\n const tagClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tag,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n ),\r\n [classMap, shadow, rounding],\r\n );\r\n\r\n const handleSuggestionClick = (suggestion: string): void => {\r\n if (addTag(suggestion)) setInputValue(\"\");\r\n clearSuggestions();\r\n };\r\n\r\n const activeOptionId =\r\n open && activeIndex >= 0 ? `${listboxId}-opt-${activeIndex}` : undefined;\r\n\r\n const groupDescribedBy = [descId, statusId, ariaDescribedBy]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n const inputDescribedBy = [descId, statusId, inputAriaDescribedBy]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n role=\"group\"\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy || labelId}\r\n aria-describedby={groupDescribedBy || undefined}\r\n data-testid={testId}\r\n >\r\n {!ariaLabelledBy && (\r\n <label id={labelId} className=\"sr_only\">\r\n {ariaLabel}\r\n </label>\r\n )}\r\n\r\n <div\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </div>\r\n\r\n <ul className={classMap.tagContainer} data-testid={`${testId}-list`}>\r\n {tagList.map((tag, index) => (\r\n <li\r\n key={`${tag}-${index}`}\r\n className={tagClass}\r\n role=\"listitem\"\r\n data-testid={`${testId}-tag-${index}`}\r\n >\r\n <span className={classMap.tagLabel}>{tag}</span>\r\n <IconButton\r\n type=\"button\"\r\n aria-label={`${removeTagButtonLabel} ${tag}`}\r\n className={classMap.removeButton}\r\n onClick={() => removeTag(tag)}\r\n data-testid={`${testId}-remove-${index}`}\r\n icon={CloseIcon}\r\n size=\"small\"\r\n theme=\"clear\"\r\n shadow=\"none\"\r\n iconClassName={classMap.removeButtonIcon}\r\n disabled={false}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n\r\n <div className={classMap.inputWrapper}>\r\n <TextInput\r\n id={inputId}\r\n type=\"text\"\r\n theme={theme}\r\n state={state}\r\n rounding={rounding}\r\n shadow={shadow}\r\n className={classMap.input}\r\n value={inputValue}\r\n placeholder={tagList.length === 0 ? placeholder : \"\"}\r\n onChange={(val: string) => setInputValue(val)}\r\n onKeyDown={handleKeyDown}\r\n autoComplete=\"off\"\r\n role=\"combobox\"\r\n aria-autocomplete=\"list\"\r\n aria-expanded={open}\r\n aria-controls={listboxId}\r\n aria-activedescendant={activeOptionId}\r\n aria-label={inputAriaLabelledBy ? undefined : inputAriaLabel}\r\n aria-labelledby={inputAriaLabelledBy}\r\n aria-describedby={inputDescribedBy || undefined}\r\n data-testid={`${testId}-input`}\r\n />\r\n </div>\r\n\r\n {open && suggestions.length > 0 && (\r\n <ul\r\n className={classMap.suggestionList}\r\n role=\"listbox\"\r\n id={listboxId}\r\n aria-label={suggestionsAriaLabel}\r\n data-testid={`${testId}-suggestions`}\r\n >\r\n {suggestions.map((suggestion, index) => (\r\n <li\r\n key={`${suggestion}-${index}`}\r\n id={`${listboxId}-opt-${index}`}\r\n className={combineClassNames(\r\n classMap.suggestionItem,\r\n index === activeIndex && (classMap.active || \"\"),\r\n )}\r\n role=\"option\"\r\n aria-selected={index === activeIndex}\r\n onMouseDown={(e) => e.preventDefault()}\r\n onClick={() => handleSuggestionClick(suggestion)}\r\n data-testid={`${testId}-suggestion-${index}`}\r\n >\r\n {suggestion}\r\n </li>\r\n ))}\r\n </ul>\r\n )}\r\n\r\n <div id={statusId} aria-live=\"polite\" className=\"sr_only\">\r\n {open && suggestions.length > 0\r\n ? `${suggestions.length} suggestion${suggestions.length === 1 ? \"\" : \"s\"} available.`\r\n : \"\"}\r\n {lastAction}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nTagInputBase.displayName = \"TagInputBase\";\r\nexport default TagInputBase;\r\n","import React from \"react\";\r\nimport \"./TagInput.scss\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport TextInput from \"../../TextInput/core/TextInput\";\r\nimport TagInputBase from \"../TagInputBase\";\r\nimport { TagInputProps } from \"../TagInput.types\";\r\n\r\nconst classes = {\r\n tagInput: \"tag_input\",\r\n tagContainer: \"tag_input_tag_container\",\r\n tag: \"tag_input_tag\",\r\n tagLabel: \"tag_input_tag_label\",\r\n removeButton: \"tag_input_remove_button\",\r\n removeButtonIcon: \"tag_input_remove_button_icon\",\r\n inputWrapper: \"tag_input_input_wrapper\",\r\n input: \"tag_input_input\",\r\n suggestionList: \"tag_input_suggestion_list\",\r\n suggestionItem: \"tag_input_suggestion_item\",\r\n\r\n primary: \"tag_input_primary\",\r\n secondary: \"tag_input_secondary\",\r\n tertiary: \"tag_input_tertiary\",\r\n quaternary: \"tag_input_quaternary\",\r\n\r\n success: \"tag_input_success\",\r\n warning: \"tag_input_warning\",\r\n error: \"tag_input_error\",\r\n\r\n clear: \"tag_input_clear\",\r\n\r\n xs: \"tag_input_xs\",\r\n small: \"tag_input_small\",\r\n medium: \"tag_input_medium\",\r\n large: \"tag_input_large\",\r\n xl: \"tag_input_xl\",\r\n\r\n shadowNone: \"tag_shadow-None\",\r\n shadowLight: \"tag_shadow-Light\",\r\n shadowMedium: \"tag_shadow-Medium\",\r\n shadowStrong: \"tag_shadow-Strong\",\r\n shadowIntense: \"tag_shadow-Intense\",\r\n\r\n roundNone: \"tag_round-None\",\r\n roundSmall: \"tag_round-Small\",\r\n roundMedium: \"tag_round-Medium\",\r\n roundLarge: \"tag_round-Large\",\r\n};\r\n\r\nconst TagInput: React.FC<TagInputProps> = (props) => {\r\n return (\r\n <TagInputBase\r\n {...props}\r\n classMap={classes}\r\n IconButton={IconButton}\r\n TextInput={TextInput}\r\n />\r\n );\r\n};\r\nTagInput.displayName = \"TagInput\";\r\nexport default TagInput;\r\n"],"names":["getDefaultTheme","getDefaultSize","getDefaultRounding","getDefaultShadow","IconButton","TextInput","useId","useState","useRef","useEffect","useMemo","combineClassNames","capitalize","jsxs","jsx","CloseIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TagInput-CpJ--Wzp.cjs","sources":["../../src/components/TagInput/TagInputBase.tsx","../../src/components/TagInput/core/TagInput.tsx"],"sourcesContent":["import React, {\r\n useId,\r\n useState,\r\n KeyboardEvent,\r\n useMemo,\r\n useEffect,\r\n useRef,\r\n} from \"react\";\r\nimport { TagInputBaseProps } from \"./TagInput.types\";\r\nimport { CloseIcon } from \"../../Icons\";\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 EMPTY_TAGS: string[] = [];\r\n\r\nconst TagInputBase: React.FC<TagInputBaseProps> = ({\r\n tags = EMPTY_TAGS,\r\n \"aria-label\": ariaLabel = \"Tag Input\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-description\":\r\n ariaDescription = \"Type a tag and press Enter or comma to add. Use arrow keys to navigate suggestions; Enter to select; Escape to close. Backspace removes the last tag when the field is empty.\",\r\n inputAriaLabel = \"Add new tag\",\r\n inputAriaLabelledBy,\r\n inputAriaDescribedBy,\r\n suggestionsAriaLabel = \"Tag suggestions\",\r\n removeTagButtonLabel = \"Remove tag\",\r\n onChange,\r\n fetchSuggestions,\r\n debounceMs = 300,\r\n placeholder = \"Add a tag...\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n idBase,\r\n \"data-testid\": testId = \"tag-input\",\r\n classMap,\r\n IconButton,\r\n TextInput,\r\n}) => {\r\n const uid = useId();\r\n const baseId = idBase || testId || `tag-input-${uid}`;\r\n\r\n const inputId = `${baseId}-input`;\r\n const descId = `${baseId}-desc`;\r\n const labelId = `${baseId}-label`;\r\n const listboxId = `${baseId}-listbox`;\r\n const statusId = `${baseId}-status`;\r\n\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [internalTags, setInternalTags] = useState<string[]>(tags);\r\n const [lastAction, setLastAction] = useState<string>(\"\");\r\n const [suggestions, setSuggestions] = useState<string[]>([]);\r\n const [open, setOpen] = useState(false);\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n\r\n const debounceRef = useRef<ReturnType<typeof setTimeout> | null>(null);\r\n\r\n useEffect(() => {\r\n setInternalTags((prev) => {\r\n if (\r\n prev.length === tags.length &&\r\n prev.every((tag, index) => tag === tags[index])\r\n ) {\r\n return prev;\r\n }\r\n\r\n return tags;\r\n });\r\n }, [tags]);\r\n\r\n const tagList = internalTags;\r\n\r\n const hasTag = (val: string) =>\r\n tagList.some((t) => t.toLowerCase() === val.toLowerCase());\r\n\r\n useEffect(() => {\r\n if (!fetchSuggestions) {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n\r\n const query = inputValue.trim();\r\n if (!query) {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n debounceRef.current = setTimeout(async () => {\r\n try {\r\n const result = await fetchSuggestions(query);\r\n setSuggestions(result || []);\r\n setOpen((result?.length ?? 0) > 0);\r\n setActiveIndex((result?.length ?? 0) > 0 ? 0 : -1);\r\n } catch {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n }\r\n }, debounceMs);\r\n\r\n return () => {\r\n if (debounceRef.current) clearTimeout(debounceRef.current);\r\n };\r\n }, [inputValue, fetchSuggestions, debounceMs]);\r\n\r\n const emitChange = (updated: string[]): void => {\r\n setInternalTags(updated);\r\n onChange?.(updated);\r\n };\r\n\r\n const addTag = (raw: string) => {\r\n const newTag = raw.trim();\r\n if (!newTag || hasTag(newTag)) return false;\r\n\r\n const updated = [...tagList, newTag];\r\n emitChange(updated);\r\n setLastAction(`Added tag ${newTag}.`);\r\n return true;\r\n };\r\n\r\n const removeTag = (tag: string) => {\r\n const updated = tagList.filter((t) => t !== tag);\r\n emitChange(updated);\r\n setLastAction(`Removed tag ${tag}.`);\r\n };\r\n\r\n const clearSuggestions = (): void => {\r\n setSuggestions([]);\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n };\r\n\r\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\r\n const { key } = event;\r\n\r\n if (open && suggestions.length > 0) {\r\n if (key === \"ArrowDown\") {\r\n event.preventDefault();\r\n setActiveIndex((i) => (i + 1) % suggestions.length);\r\n return;\r\n }\r\n\r\n if (key === \"ArrowUp\") {\r\n event.preventDefault();\r\n setActiveIndex(\r\n (i) => (i - 1 + suggestions.length) % suggestions.length,\r\n );\r\n return;\r\n }\r\n\r\n if (key === \"Enter\") {\r\n event.preventDefault();\r\n const choice = suggestions[activeIndex];\r\n if (choice && addTag(choice)) {\r\n setInputValue(\"\");\r\n }\r\n clearSuggestions();\r\n return;\r\n }\r\n\r\n if (key === \"Escape\") {\r\n event.preventDefault();\r\n clearSuggestions();\r\n return;\r\n }\r\n }\r\n\r\n if (key === \"Enter\" || key === \",\") {\r\n event.preventDefault();\r\n if (addTag(inputValue)) setInputValue(\"\");\r\n clearSuggestions();\r\n return;\r\n }\r\n\r\n if (key === \"Backspace\" && inputValue === \"\" && tagList.length > 0) {\r\n const last = tagList[tagList.length - 1];\r\n removeTag(last);\r\n }\r\n };\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tagInput,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n ),\r\n [classMap, theme, state, size],\r\n );\r\n\r\n const tagClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.tag,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n ),\r\n [classMap, shadow, rounding],\r\n );\r\n\r\n const handleSuggestionClick = (suggestion: string): void => {\r\n if (addTag(suggestion)) setInputValue(\"\");\r\n clearSuggestions();\r\n };\r\n\r\n const activeOptionId =\r\n open && activeIndex >= 0 ? `${listboxId}-opt-${activeIndex}` : undefined;\r\n\r\n const groupDescribedBy = [descId, statusId, ariaDescribedBy]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n const inputDescribedBy = [descId, statusId, inputAriaDescribedBy]\r\n .filter(Boolean)\r\n .join(\" \");\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n role=\"group\"\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy || labelId}\r\n aria-describedby={groupDescribedBy || undefined}\r\n data-testid={testId}\r\n >\r\n {!ariaLabelledBy && (\r\n <label id={labelId} className=\"sr_only\">\r\n {ariaLabel}\r\n </label>\r\n )}\r\n\r\n <div\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </div>\r\n\r\n <ul className={classMap.tagContainer} data-testid={`${testId}-list`}>\r\n {tagList.map((tag, index) => (\r\n <li\r\n key={`${tag}-${index}`}\r\n className={tagClass}\r\n role=\"listitem\"\r\n data-testid={`${testId}-tag-${index}`}\r\n >\r\n <span className={classMap.tagLabel}>{tag}</span>\r\n <IconButton\r\n type=\"button\"\r\n aria-label={`${removeTagButtonLabel} ${tag}`}\r\n className={classMap.removeButton}\r\n onClick={() => removeTag(tag)}\r\n data-testid={`${testId}-remove-${index}`}\r\n icon={CloseIcon}\r\n size=\"small\"\r\n theme=\"clear\"\r\n shadow=\"none\"\r\n iconClassName={classMap.removeButtonIcon}\r\n disabled={false}\r\n />\r\n </li>\r\n ))}\r\n </ul>\r\n\r\n <div className={classMap.inputWrapper}>\r\n <TextInput\r\n id={inputId}\r\n type=\"text\"\r\n theme={theme}\r\n state={state}\r\n rounding={rounding}\r\n shadow={shadow}\r\n className={classMap.input}\r\n value={inputValue}\r\n placeholder={tagList.length === 0 ? placeholder : \"\"}\r\n onChange={(val: string) => setInputValue(val)}\r\n onKeyDown={handleKeyDown}\r\n autoComplete=\"off\"\r\n role=\"combobox\"\r\n aria-autocomplete=\"list\"\r\n aria-expanded={open}\r\n aria-controls={listboxId}\r\n aria-activedescendant={activeOptionId}\r\n aria-label={inputAriaLabelledBy ? undefined : inputAriaLabel}\r\n aria-labelledby={inputAriaLabelledBy}\r\n aria-describedby={inputDescribedBy || undefined}\r\n data-testid={`${testId}-input`}\r\n />\r\n </div>\r\n\r\n {open && suggestions.length > 0 && (\r\n <ul\r\n className={classMap.suggestionList}\r\n role=\"listbox\"\r\n id={listboxId}\r\n aria-label={suggestionsAriaLabel}\r\n data-testid={`${testId}-suggestions`}\r\n >\r\n {suggestions.map((suggestion, index) => (\r\n <li\r\n key={`${suggestion}-${index}`}\r\n id={`${listboxId}-opt-${index}`}\r\n className={combineClassNames(\r\n classMap.suggestionItem,\r\n index === activeIndex && (classMap.active || \"\"),\r\n )}\r\n role=\"option\"\r\n aria-selected={index === activeIndex}\r\n onMouseDown={(e) => e.preventDefault()}\r\n onClick={() => handleSuggestionClick(suggestion)}\r\n data-testid={`${testId}-suggestion-${index}`}\r\n >\r\n {suggestion}\r\n </li>\r\n ))}\r\n </ul>\r\n )}\r\n\r\n <div id={statusId} aria-live=\"polite\" className=\"sr_only\">\r\n {open && suggestions.length > 0\r\n ? `${suggestions.length} suggestion${suggestions.length === 1 ? \"\" : \"s\"} available.`\r\n : \"\"}\r\n {lastAction}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nTagInputBase.displayName = \"TagInputBase\";\r\nexport default TagInputBase;\r\n","import React from \"react\";\r\nimport \"./TagInput.scss\";\r\nimport IconButton from \"../../IconButton/core/IconButton\";\r\nimport TextInput from \"../../TextInput/core/TextInput\";\r\nimport TagInputBase from \"../TagInputBase\";\r\nimport { TagInputProps } from \"../TagInput.types\";\r\n\r\nconst classes = {\r\n tagInput: \"tag_input\",\r\n tagContainer: \"tag_input_tag_container\",\r\n tag: \"tag_input_tag\",\r\n tagLabel: \"tag_input_tag_label\",\r\n removeButton: \"tag_input_remove_button\",\r\n removeButtonIcon: \"tag_input_remove_button_icon\",\r\n inputWrapper: \"tag_input_input_wrapper\",\r\n input: \"tag_input_input\",\r\n suggestionList: \"tag_input_suggestion_list\",\r\n suggestionItem: \"tag_input_suggestion_item\",\r\n\r\n primary: \"tag_input_primary\",\r\n secondary: \"tag_input_secondary\",\r\n tertiary: \"tag_input_tertiary\",\r\n quaternary: \"tag_input_quaternary\",\r\n\r\n success: \"tag_input_success\",\r\n warning: \"tag_input_warning\",\r\n error: \"tag_input_error\",\r\n\r\n clear: \"tag_input_clear\",\r\n\r\n xs: \"tag_input_xs\",\r\n small: \"tag_input_small\",\r\n medium: \"tag_input_medium\",\r\n large: \"tag_input_large\",\r\n xl: \"tag_input_xl\",\r\n\r\n shadowNone: \"tag_shadow-None\",\r\n shadowLight: \"tag_shadow-Light\",\r\n shadowMedium: \"tag_shadow-Medium\",\r\n shadowStrong: \"tag_shadow-Strong\",\r\n shadowIntense: \"tag_shadow-Intense\",\r\n\r\n roundNone: \"tag_round-None\",\r\n roundSmall: \"tag_round-Small\",\r\n roundMedium: \"tag_round-Medium\",\r\n roundLarge: \"tag_round-Large\",\r\n};\r\n\r\nconst TagInput: React.FC<TagInputProps> = (props) => {\r\n return (\r\n <TagInputBase\r\n {...props}\r\n classMap={classes}\r\n IconButton={IconButton}\r\n TextInput={TextInput}\r\n />\r\n );\r\n};\r\nTagInput.displayName = \"TagInput\";\r\nexport default TagInput;\r\n"],"names":["getDefaultTheme","getDefaultSize","getDefaultRounding","getDefaultShadow","IconButton","TextInput","useId","useState","useRef","useEffect","useMemo","combineClassNames","capitalize","jsxs","jsx","CloseIcon"],"mappings":";;;;;;;;;AAmBA,MAAM,aAAuB,CAAA;AAE7B,MAAM,eAA4C,CAAC;AAAA,EACjD,OAAO;AAAA,EACP,cAAc,YAAY;AAAA,EAC1B,mBAAmB;AAAA,EACnB,oBAAoB;AAAA,EACpB,oBACE,kBAAkB;AAAA,EACpB,iBAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,cAAc;AAAA,EACd,QAAQA,kBAAAA,gBAAA;AAAA,EACR,QAAQ;AAAA,EACR,OAAOC,kBAAAA,eAAA;AAAA,EACP,WAAWC,kBAAAA,mBAAA;AAAA,EACX,SAASC,kBAAAA,iBAAA;AAAA,EACT;AAAA,EACA,eAAe,SAAS;AAAA,EACxB;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AACF,MAAM;AACJ,QAAM,MAAMC,MAAAA,MAAA;AACZ,QAAM,SAAS,UAAU,UAAU,aAAa,GAAG;AAEnD,QAAM,UAAU,GAAG,MAAM;AACzB,QAAM,SAAS,GAAG,MAAM;AACxB,QAAM,UAAU,GAAG,MAAM;AACzB,QAAM,YAAY,GAAG,MAAM;AAC3B,QAAM,WAAW,GAAG,MAAM;AAE1B,QAAM,CAAC,YAAY,aAAa,IAAIC,MAAAA,SAAS,EAAE;AAC/C,QAAM,CAAC,cAAc,eAAe,IAAIA,MAAAA,SAAmB,IAAI;AAC/D,QAAM,CAAC,YAAY,aAAa,IAAIA,MAAAA,SAAiB,EAAE;AACvD,QAAM,CAAC,aAAa,cAAc,IAAIA,MAAAA,SAAmB,CAAA,CAAE;AAC3D,QAAM,CAAC,MAAM,OAAO,IAAIA,MAAAA,SAAS,KAAK;AACtC,QAAM,CAAC,aAAa,cAAc,IAAIA,MAAAA,SAAiB,EAAE;AAEzD,QAAM,cAAcC,MAAAA,OAA6C,IAAI;AAErEC,QAAAA,UAAU,MAAM;AACd,oBAAgB,CAAC,SAAS;AACxB,UACE,KAAK,WAAW,KAAK,UACrB,KAAK,MAAM,CAAC,KAAK,UAAU,QAAQ,KAAK,KAAK,CAAC,GAC9C;AACA,eAAO;AAAA,MACT;AAEA,aAAO;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAC,IAAI,CAAC;AAET,QAAM,UAAU;AAEhB,QAAM,SAAS,CAAC,QACd,QAAQ,KAAK,CAAC,MAAM,EAAE,YAAA,MAAkB,IAAI,YAAA,CAAa;AAE3DA,QAAAA,UAAU,MAAM;AACd,QAAI,CAAC,kBAAkB;AACrB,qBAAe,CAAA,CAAE;AACjB,cAAQ,KAAK;AACb,qBAAe,EAAE;AACjB;AAAA,IACF;AAEA,QAAI,YAAY,QAAS,cAAa,YAAY,OAAO;AAEzD,UAAM,QAAQ,WAAW,KAAA;AACzB,QAAI,CAAC,OAAO;AACV,qBAAe,CAAA,CAAE;AACjB,cAAQ,KAAK;AACb,qBAAe,EAAE;AACjB;AAAA,IACF;AAEA,gBAAY,UAAU,WAAW,YAAY;AAC3C,UAAI;AACF,cAAM,SAAS,MAAM,iBAAiB,KAAK;AAC3C,uBAAe,UAAU,EAAE;AAC3B,kBAAS,iCAAQ,WAAU,KAAK,CAAC;AACjC,yBAAgB,iCAAQ,WAAU,KAAK,IAAI,IAAI,EAAE;AAAA,MACnD,QAAQ;AACN,uBAAe,CAAA,CAAE;AACjB,gBAAQ,KAAK;AACb,uBAAe,EAAE;AAAA,MACnB;AAAA,IACF,GAAG,UAAU;AAEb,WAAO,MAAM;AACX,UAAI,YAAY,QAAS,cAAa,YAAY,OAAO;AAAA,IAC3D;AAAA,EACF,GAAG,CAAC,YAAY,kBAAkB,UAAU,CAAC;AAE7C,QAAM,aAAa,CAAC,YAA4B;AAC9C,oBAAgB,OAAO;AACvB,yCAAW;AAAA,EACb;AAEA,QAAM,SAAS,CAAC,QAAgB;AAC9B,UAAM,SAAS,IAAI,KAAA;AACnB,QAAI,CAAC,UAAU,OAAO,MAAM,EAAG,QAAO;AAEtC,UAAM,UAAU,CAAC,GAAG,SAAS,MAAM;AACnC,eAAW,OAAO;AAClB,kBAAc,aAAa,MAAM,GAAG;AACpC,WAAO;AAAA,EACT;AAEA,QAAM,YAAY,CAAC,QAAgB;AACjC,UAAM,UAAU,QAAQ,OAAO,CAAC,MAAM,MAAM,GAAG;AAC/C,eAAW,OAAO;AAClB,kBAAc,eAAe,GAAG,GAAG;AAAA,EACrC;AAEA,QAAM,mBAAmB,MAAY;AACnC,mBAAe,CAAA,CAAE;AACjB,YAAQ,KAAK;AACb,mBAAe,EAAE;AAAA,EACnB;AAEA,QAAM,gBAAgB,CAAC,UAA2C;AAChE,UAAM,EAAE,QAAQ;AAEhB,QAAI,QAAQ,YAAY,SAAS,GAAG;AAClC,UAAI,QAAQ,aAAa;AACvB,cAAM,eAAA;AACN,uBAAe,CAAC,OAAO,IAAI,KAAK,YAAY,MAAM;AAClD;AAAA,MACF;AAEA,UAAI,QAAQ,WAAW;AACrB,cAAM,eAAA;AACN;AAAA,UACE,CAAC,OAAO,IAAI,IAAI,YAAY,UAAU,YAAY;AAAA,QAAA;AAEpD;AAAA,MACF;AAEA,UAAI,QAAQ,SAAS;AACnB,cAAM,eAAA;AACN,cAAM,SAAS,YAAY,WAAW;AACtC,YAAI,UAAU,OAAO,MAAM,GAAG;AAC5B,wBAAc,EAAE;AAAA,QAClB;AACA,yBAAA;AACA;AAAA,MACF;AAEA,UAAI,QAAQ,UAAU;AACpB,cAAM,eAAA;AACN,yBAAA;AACA;AAAA,MACF;AAAA,IACF;AAEA,QAAI,QAAQ,WAAW,QAAQ,KAAK;AAClC,YAAM,eAAA;AACN,UAAI,OAAO,UAAU,EAAG,eAAc,EAAE;AACxC,uBAAA;AACA;AAAA,IACF;AAEA,QAAI,QAAQ,eAAe,eAAe,MAAM,QAAQ,SAAS,GAAG;AAClE,YAAM,OAAO,QAAQ,QAAQ,SAAS,CAAC;AACvC,gBAAU,IAAI;AAAA,IAChB;AAAA,EACF;AAEA,QAAM,eAAeC,MAAAA;AAAAA,IACnB,MACEC,WAAAA;AAAAA,MACE,SAAS;AAAA,MACT,SAAS,KAAK;AAAA,MACd,SAAS,KAAK;AAAA,MACd,SAAS,IAAI;AAAA,IAAA;AAAA,IAEjB,CAAC,UAAU,OAAO,OAAO,IAAI;AAAA,EAAA;AAG/B,QAAM,WAAWD,MAAAA;AAAAA,IACf,MACEC,WAAAA;AAAAA,MACE,SAAS;AAAA,MACT,UAAU,SAAS,SAASC,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,MAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,IAAA;AAAA,IAEvD,CAAC,UAAU,QAAQ,QAAQ;AAAA,EAAA;AAG7B,QAAM,wBAAwB,CAAC,eAA6B;AAC1D,QAAI,OAAO,UAAU,EAAG,eAAc,EAAE;AACxC,qBAAA;AAAA,EACF;AAEA,QAAM,iBACJ,QAAQ,eAAe,IAAI,GAAG,SAAS,QAAQ,WAAW,KAAK;AAEjE,QAAM,mBAAmB,CAAC,QAAQ,UAAU,eAAe,EACxD,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,QAAM,mBAAmB,CAAC,QAAQ,UAAU,oBAAoB,EAC7D,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAW;AAAA,MACX,MAAK;AAAA,MACL,cAAY,iBAAiB,SAAY;AAAA,MACzC,mBAAiB,kBAAkB;AAAA,MACnC,oBAAkB,oBAAoB;AAAA,MACtC,eAAa;AAAA,MAEZ,UAAA;AAAA,QAAA,CAAC,kBACAC,2BAAAA,IAAC,SAAA,EAAM,IAAI,SAAS,WAAU,WAC3B,UAAA,WACH;AAAA,QAGFA,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ,WAAU;AAAA,YACV,eAAa,GAAG,MAAM;AAAA,YAErB,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAGHA,2BAAAA,IAAC,MAAA,EAAG,WAAW,SAAS,cAAc,eAAa,GAAG,MAAM,SACzD,UAAA,QAAQ,IAAI,CAAC,KAAK,UACjBD,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YAEC,WAAW;AAAA,YACX,MAAK;AAAA,YACL,eAAa,GAAG,MAAM,QAAQ,KAAK;AAAA,YAEnC,UAAA;AAAA,cAAAC,2BAAAA,IAAC,QAAA,EAAK,WAAW,SAAS,UAAW,UAAA,KAAI;AAAA,cACzCA,2BAAAA;AAAAA,gBAACV;AAAA,gBAAA;AAAA,kBACC,MAAK;AAAA,kBACL,cAAY,GAAG,oBAAoB,IAAI,GAAG;AAAA,kBAC1C,WAAW,SAAS;AAAA,kBACpB,SAAS,MAAM,UAAU,GAAG;AAAA,kBAC5B,eAAa,GAAG,MAAM,WAAW,KAAK;AAAA,kBACtC,MAAMW,UAAAA;AAAAA,kBACN,MAAK;AAAA,kBACL,OAAM;AAAA,kBACN,QAAO;AAAA,kBACP,eAAe,SAAS;AAAA,kBACxB,UAAU;AAAA,gBAAA;AAAA,cAAA;AAAA,YACZ;AAAA,UAAA;AAAA,UAlBK,GAAG,GAAG,IAAI,KAAK;AAAA,QAAA,CAoBvB,GACH;AAAA,QAEAD,2BAAAA,IAAC,OAAA,EAAI,WAAW,SAAS,cACvB,UAAAA,2BAAAA;AAAAA,UAACT;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,YACJ,MAAK;AAAA,YACL;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,WAAW,SAAS;AAAA,YACpB,OAAO;AAAA,YACP,aAAa,QAAQ,WAAW,IAAI,cAAc;AAAA,YAClD,UAAU,CAAC,QAAgB,cAAc,GAAG;AAAA,YAC5C,WAAW;AAAA,YACX,cAAa;AAAA,YACb,MAAK;AAAA,YACL,qBAAkB;AAAA,YAClB,iBAAe;AAAA,YACf,iBAAe;AAAA,YACf,yBAAuB;AAAA,YACvB,cAAY,sBAAsB,SAAY;AAAA,YAC9C,mBAAiB;AAAA,YACjB,oBAAkB,oBAAoB;AAAA,YACtC,eAAa,GAAG,MAAM;AAAA,UAAA;AAAA,QAAA,GAE1B;AAAA,QAEC,QAAQ,YAAY,SAAS,KAC5BS,2BAAAA;AAAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAW,SAAS;AAAA,YACpB,MAAK;AAAA,YACL,IAAI;AAAA,YACJ,cAAY;AAAA,YACZ,eAAa,GAAG,MAAM;AAAA,YAErB,UAAA,YAAY,IAAI,CAAC,YAAY,UAC5BA,2BAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,IAAI,GAAG,SAAS,QAAQ,KAAK;AAAA,gBAC7B,WAAWH,WAAAA;AAAAA,kBACT,SAAS;AAAA,kBACT,UAAU,gBAAgB,SAAS,UAAU;AAAA,gBAAA;AAAA,gBAE/C,MAAK;AAAA,gBACL,iBAAe,UAAU;AAAA,gBACzB,aAAa,CAAC,MAAM,EAAE,eAAA;AAAA,gBACtB,SAAS,MAAM,sBAAsB,UAAU;AAAA,gBAC/C,eAAa,GAAG,MAAM,eAAe,KAAK;AAAA,gBAEzC,UAAA;AAAA,cAAA;AAAA,cAZI,GAAG,UAAU,IAAI,KAAK;AAAA,YAAA,CAc9B;AAAA,UAAA;AAAA,QAAA;AAAA,wCAIJ,OAAA,EAAI,IAAI,UAAU,aAAU,UAAS,WAAU,WAC7C,UAAA;AAAA,UAAA,QAAQ,YAAY,SAAS,IAC1B,GAAG,YAAY,MAAM,cAAc,YAAY,WAAW,IAAI,KAAK,GAAG,gBACtE;AAAA,UACH;AAAA,QAAA,EAAA,CACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGN;AAEA,aAAa,cAAc;AClV3B,MAAM,UAAU;AAAA,EACd,UAAU;AAAA,EACV,cAAc;AAAA,EACd,KAAK;AAAA,EACL,UAAU;AAAA,EACV,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,OAAO;AAAA,EACP,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAEhB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EAEZ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AAAA,EAEP,OAAO;AAAA,EAEP,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,IAAI;AAAA,EAEJ,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,cAAc;AAAA,EACd,cAAc;AAAA,EACd,eAAe;AAAA,EAEf,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,YAAY;AACd;AAEA,MAAM,WAAoC,CAAC,UAAU;AACnD,SACEG,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,UAAU;AAAA,MAAA,YACVV,WAAAA;AAAAA,MAAA,WACAC,UAAAA;AAAAA,IAAA;AAAA,EAAA;AAGN;AACA,SAAS,cAAc;;"}
|
package/dist/core/TagInput.js
CHANGED
|
@@ -3,7 +3,6 @@ import { forwardRef, useState, useId, useMemo } from "react";
|
|
|
3
3
|
import { c as combineClassNames } from "./classNames-AS8QjFq7.js";
|
|
4
4
|
import { c as capitalize } from "./capitalize-C0TSQSPh.js";
|
|
5
5
|
import { d as getDefaultTheme, a as getDefaultRounding, b as getDefaultShadow } from "./boreal-style-config-DsaRlxmw.js";
|
|
6
|
-
/* empty css */
|
|
7
6
|
import { I as IconButton } from "./IconButton-By8zuXrs.js";
|
|
8
7
|
const EyeIcon = (props) => /* @__PURE__ */ jsxs(
|
|
9
8
|
"svg",
|
|
@@ -328,4 +327,4 @@ TextInput.displayName = "TextInput";
|
|
|
328
327
|
export {
|
|
329
328
|
TextInput as T
|
|
330
329
|
};
|
|
331
|
-
//# sourceMappingURL=TextInput-
|
|
330
|
+
//# sourceMappingURL=TextInput-CXyzklAm.js.map
|