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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown-B7vrHg0z.js","sources":["../../src/Icons/MenuIcon.tsx","../../src/components/Dropdown/DropdownBase.tsx","../../src/components/Dropdown/next/Dropdown.tsx"],"sourcesContent":["const MenuIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M3 5H21\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M3 12H21\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M3 19H21\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default MenuIcon;\r\n","import React, {\r\n useState,\r\n useRef,\r\n useEffect,\r\n useCallback,\r\n KeyboardEvent,\r\n useId,\r\n JSX,\r\n useMemo,\r\n} from \"react\";\r\nimport { BaseDropdownProps, IconButtonLikeRef } from \"./Dropdown.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport MenuIcon from \"../../Icons/MenuIcon\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseDropdown: React.FC<BaseDropdownProps> = ({\r\n triggerIcon,\r\n items,\r\n align = \"right\",\r\n className = \"\",\r\n menuClassName = \"\",\r\n \"aria-label\": ariaLabel = \"Dropdown menu\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n menuAriaLabel,\r\n menuAriaLabelledby,\r\n menuAriaDescribedby,\r\n menuId: menuIdProp,\r\n triggerId,\r\n focusFirstItemOnOpen = true,\r\n closeOnSelect = true,\r\n theme = getDefaultTheme(),\r\n toggleRounding = getDefaultRounding(),\r\n menuRounding = getDefaultRounding(),\r\n toggleShadow = getDefaultShadow(),\r\n menuShadow = getDefaultShadow(),\r\n toggleOutline = false,\r\n state = \"\",\r\n title,\r\n triggerProps,\r\n menuProps,\r\n \"data-testid\": testId = \"dropdown\",\r\n IconButton,\r\n classMap,\r\n ...rest\r\n}: BaseDropdownProps): JSX.Element => {\r\n const [open, setOpen] = useState(false);\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n\r\n const dropdownRef = useRef<HTMLDivElement>(null);\r\n const menuRef = useRef<HTMLDivElement>(null);\r\n const triggerRef = useRef<IconButtonLikeRef | null>(null);\r\n\r\n const generatedMenuId = useId();\r\n const resolvedMenuId = menuIdProp ?? generatedMenuId;\r\n\r\n const Icon = triggerIcon ?? MenuIcon;\r\n\r\n const getEnabledItemIndexes = useCallback(() => {\r\n return items.reduce<number[]>((acc, item, index) => {\r\n if (!item.disabled) {\r\n acc.push(index);\r\n }\r\n return acc;\r\n }, []);\r\n }, [items]);\r\n\r\n const focusItemAtIndex = useCallback((index: number) => {\r\n const menuItems =\r\n menuRef.current?.querySelectorAll<HTMLElement>(\"a, button\");\r\n\r\n const target = menuItems?.[index];\r\n\r\n if (target instanceof HTMLButtonElement && target.disabled) {\r\n return;\r\n }\r\n\r\n target?.focus();\r\n }, []);\r\n\r\n const toggleDropdown = () => {\r\n setOpen((prev) => !prev);\r\n };\r\n\r\n const closeDropdown = useCallback(() => {\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n triggerRef.current?.focus?.();\r\n }, []);\r\n\r\n const handleItemSelect = useCallback(\r\n (item: BaseDropdownProps[\"items\"][number]) => {\r\n if (item.disabled) return;\r\n\r\n item.onClick?.();\r\n\r\n if (closeOnSelect) {\r\n closeDropdown();\r\n }\r\n },\r\n [closeDropdown, closeOnSelect],\r\n );\r\n\r\n useEffect(() => {\r\n if (!open) return;\r\n\r\n const enabledIndexes = getEnabledItemIndexes();\r\n\r\n if (!focusFirstItemOnOpen || enabledIndexes.length === 0) {\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n setActiveIndex(enabledIndexes[0] ?? -1);\r\n }, [open, focusFirstItemOnOpen, getEnabledItemIndexes]);\r\n\r\n useEffect(() => {\r\n if (!open || activeIndex < 0) return;\r\n focusItemAtIndex(activeIndex);\r\n }, [activeIndex, open, focusItemAtIndex]);\r\n\r\n useEffect(() => {\r\n const handleClickOutside = (e: MouseEvent) => {\r\n if (\r\n dropdownRef.current &&\r\n !dropdownRef.current.contains(e.target as Node)\r\n ) {\r\n closeDropdown();\r\n }\r\n };\r\n\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n\r\n if (open && menuRef.current) {\r\n const rect = menuRef.current.getBoundingClientRect();\r\n const right = rect.right > window.innerWidth;\r\n const left = rect.left < 0;\r\n\r\n if (right) {\r\n menuRef.current.setAttribute(\"data-overflow-right\", \"true\");\r\n menuRef.current.removeAttribute(\"data-overflow-left\");\r\n } else if (left) {\r\n menuRef.current.setAttribute(\"data-overflow-left\", \"true\");\r\n menuRef.current.removeAttribute(\"data-overflow-right\");\r\n } else {\r\n menuRef.current.removeAttribute(\"data-overflow-right\");\r\n menuRef.current.removeAttribute(\"data-overflow-left\");\r\n }\r\n }\r\n\r\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\r\n }, [open, closeDropdown]);\r\n\r\n const handleKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (!open) return;\r\n\r\n const enabledIndexes = getEnabledItemIndexes();\r\n const hasItems = enabledIndexes.length > 0;\r\n\r\n if (e.key === \"Escape\") {\r\n e.preventDefault();\r\n closeDropdown();\r\n return;\r\n }\r\n\r\n if (e.key === \"Tab\") {\r\n closeDropdown();\r\n return;\r\n }\r\n\r\n if (!hasItems) return;\r\n\r\n const currentEnabledPosition = enabledIndexes.indexOf(activeIndex);\r\n\r\n if (e.key === \"ArrowDown\") {\r\n e.preventDefault();\r\n\r\n if (currentEnabledPosition < 0) {\r\n setActiveIndex(enabledIndexes[0] ?? -1);\r\n } else {\r\n const nextPosition =\r\n (currentEnabledPosition + 1) % enabledIndexes.length;\r\n setActiveIndex(enabledIndexes[nextPosition] ?? -1);\r\n }\r\n } else if (e.key === \"ArrowUp\") {\r\n e.preventDefault();\r\n\r\n if (currentEnabledPosition < 0) {\r\n setActiveIndex(enabledIndexes[enabledIndexes.length - 1] ?? -1);\r\n } else {\r\n const prevPosition =\r\n (currentEnabledPosition - 1 + enabledIndexes.length) %\r\n enabledIndexes.length;\r\n setActiveIndex(enabledIndexes[prevPosition] ?? -1);\r\n }\r\n } else if (e.key === \"Home\") {\r\n e.preventDefault();\r\n setActiveIndex(enabledIndexes[0] ?? -1);\r\n } else if (e.key === \"End\") {\r\n e.preventDefault();\r\n setActiveIndex(enabledIndexes[enabledIndexes.length - 1] ?? -1);\r\n } else if ((e.key === \"Enter\" || e.key === \" \") && activeIndex >= 0) {\r\n e.preventDefault();\r\n const item = items[activeIndex];\r\n if (item && !item.disabled) {\r\n handleItemSelect(item);\r\n }\r\n }\r\n },\r\n [\r\n open,\r\n items,\r\n activeIndex,\r\n getEnabledItemIndexes,\r\n closeDropdown,\r\n handleItemSelect,\r\n ],\r\n );\r\n\r\n const menuClassNames = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.menu,\r\n align === \"right\" ? classMap.alignRight : classMap.alignLeft,\r\n menuShadow && classMap[`shadow${capitalize(menuShadow)}`],\r\n menuRounding && classMap[`round${capitalize(menuRounding)}`],\r\n menuClassName,\r\n menuProps?.className,\r\n ),\r\n [\r\n classMap,\r\n align,\r\n menuShadow,\r\n menuRounding,\r\n menuClassName,\r\n menuProps?.className,\r\n ],\r\n );\r\n\r\n return (\r\n <div\r\n ref={dropdownRef}\r\n className={combineClassNames(classMap.wrapper, className)}\r\n onKeyDown={handleKeyDown}\r\n data-testid={testId}\r\n {...rest}\r\n >\r\n <IconButton\r\n ref={triggerRef}\r\n id={triggerId}\r\n icon={Icon}\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n aria-haspopup=\"menu\"\r\n aria-expanded={open}\r\n aria-controls={resolvedMenuId}\r\n rounding={toggleRounding}\r\n shadow={toggleShadow}\r\n outline={toggleOutline}\r\n theme={theme}\r\n state={state}\r\n onClick={toggleDropdown}\r\n title={title}\r\n data-testid={`${testId}-trigger`}\r\n {...triggerProps}\r\n />\r\n\r\n {open && (\r\n <div\r\n id={resolvedMenuId}\r\n ref={menuRef}\r\n aria-label={\r\n menuAriaLabelledby ? undefined : (menuAriaLabel ?? ariaLabel)\r\n }\r\n aria-labelledby={menuAriaLabelledby}\r\n aria-describedby={menuAriaDescribedby}\r\n className={menuClassNames}\r\n data-testid={`${testId}-menu`}\r\n {...menuProps}\r\n >\r\n {items.map((item, index) => {\r\n const commonProps = {\r\n id: item.id,\r\n className: combineClassNames(\r\n classMap.item,\r\n item.disabled ? classMap.disabled : \"\",\r\n ),\r\n \"aria-label\": item[\"aria-label\"],\r\n \"aria-describedby\": item[\"aria-describedby\"],\r\n \"aria-current\": item[\"aria-current\"],\r\n \"aria-disabled\": item.disabled || undefined,\r\n title: item.title,\r\n \"data-testid\": item[\"data-testid\"],\r\n onClick: () => handleItemSelect(item),\r\n };\r\n\r\n if (item.href) {\r\n return (\r\n <a\r\n key={item.id ?? index}\r\n href={item.disabled ? undefined : item.href}\r\n {...commonProps}\r\n onClick={(e) => {\r\n if (item.disabled) {\r\n e.preventDefault();\r\n return;\r\n }\r\n item.onClick?.();\r\n if (closeOnSelect) {\r\n closeDropdown();\r\n }\r\n }}\r\n >\r\n {item.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {item.icon}\r\n </span>\r\n )}\r\n {item.label}\r\n </a>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n key={item.id ?? index}\r\n type=\"button\"\r\n disabled={item.disabled}\r\n {...commonProps}\r\n >\r\n {item.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {item.icon}\r\n </span>\r\n )}\r\n {item.label}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nBaseDropdown.displayName = \"BaseDropdown\";\r\nexport default BaseDropdown;\r\n","\"use client\";\r\nimport React from \"react\";\r\nimport BaseDropdown from \"../DropdownBase\";\r\nimport { DropdownProps } from \"../Dropdown.types\";\r\nimport { IconButton } from \"@/index.next\";\r\nimport styles from \"./Dropdown.module.scss\";\r\n\r\nconst Dropdown: React.FC<DropdownProps> = (props) => {\r\n return <BaseDropdown {...props} IconButton={IconButton} classMap={styles} />;\r\n};\r\nDropdown.displayName = \"Dropdown\";\r\nexport default Dropdown;\r\n"],"names":["IconButton","item"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dropdown-DavPqfaS.js","sources":["../../src/Icons/MenuIcon.tsx","../../src/components/Dropdown/DropdownBase.tsx","../../src/components/Dropdown/next/Dropdown.tsx"],"sourcesContent":["const MenuIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n strokeWidth=\"1.5\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n d=\"M3 5H21\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M3 12H21\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n <path\r\n d=\"M3 19H21\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"1.5\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default MenuIcon;\r\n","import React, {\r\n useState,\r\n useRef,\r\n useEffect,\r\n useCallback,\r\n KeyboardEvent,\r\n useId,\r\n JSX,\r\n useMemo,\r\n} from \"react\";\r\nimport { BaseDropdownProps, IconButtonLikeRef } from \"./Dropdown.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport MenuIcon from \"../../Icons/MenuIcon\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseDropdown: React.FC<BaseDropdownProps> = ({\r\n triggerIcon,\r\n items,\r\n align = \"right\",\r\n className = \"\",\r\n menuClassName = \"\",\r\n \"aria-label\": ariaLabel = \"Dropdown menu\",\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n menuAriaLabel,\r\n menuAriaLabelledby,\r\n menuAriaDescribedby,\r\n menuId: menuIdProp,\r\n triggerId,\r\n focusFirstItemOnOpen = true,\r\n closeOnSelect = true,\r\n theme = getDefaultTheme(),\r\n toggleRounding = getDefaultRounding(),\r\n menuRounding = getDefaultRounding(),\r\n toggleShadow = getDefaultShadow(),\r\n menuShadow = getDefaultShadow(),\r\n toggleOutline = false,\r\n state = \"\",\r\n title,\r\n triggerProps,\r\n menuProps,\r\n \"data-testid\": testId = \"dropdown\",\r\n IconButton,\r\n classMap,\r\n ...rest\r\n}: BaseDropdownProps): JSX.Element => {\r\n const [open, setOpen] = useState(false);\r\n const [activeIndex, setActiveIndex] = useState<number>(-1);\r\n\r\n const dropdownRef = useRef<HTMLDivElement>(null);\r\n const menuRef = useRef<HTMLDivElement>(null);\r\n const triggerRef = useRef<IconButtonLikeRef | null>(null);\r\n\r\n const generatedMenuId = useId();\r\n const resolvedMenuId = menuIdProp ?? generatedMenuId;\r\n\r\n const Icon = triggerIcon ?? MenuIcon;\r\n\r\n const getEnabledItemIndexes = useCallback(() => {\r\n return items.reduce<number[]>((acc, item, index) => {\r\n if (!item.disabled) {\r\n acc.push(index);\r\n }\r\n return acc;\r\n }, []);\r\n }, [items]);\r\n\r\n const focusItemAtIndex = useCallback((index: number) => {\r\n const menuItems =\r\n menuRef.current?.querySelectorAll<HTMLElement>(\"a, button\");\r\n\r\n const target = menuItems?.[index];\r\n\r\n if (target instanceof HTMLButtonElement && target.disabled) {\r\n return;\r\n }\r\n\r\n target?.focus();\r\n }, []);\r\n\r\n const toggleDropdown = () => {\r\n setOpen((prev) => !prev);\r\n };\r\n\r\n const closeDropdown = useCallback(() => {\r\n setOpen(false);\r\n setActiveIndex(-1);\r\n triggerRef.current?.focus?.();\r\n }, []);\r\n\r\n const handleItemSelect = useCallback(\r\n (item: BaseDropdownProps[\"items\"][number]) => {\r\n if (item.disabled) return;\r\n\r\n item.onClick?.();\r\n\r\n if (closeOnSelect) {\r\n closeDropdown();\r\n }\r\n },\r\n [closeDropdown, closeOnSelect],\r\n );\r\n\r\n useEffect(() => {\r\n if (!open) return;\r\n\r\n const enabledIndexes = getEnabledItemIndexes();\r\n\r\n if (!focusFirstItemOnOpen || enabledIndexes.length === 0) {\r\n setActiveIndex(-1);\r\n return;\r\n }\r\n\r\n setActiveIndex(enabledIndexes[0] ?? -1);\r\n }, [open, focusFirstItemOnOpen, getEnabledItemIndexes]);\r\n\r\n useEffect(() => {\r\n if (!open || activeIndex < 0) return;\r\n focusItemAtIndex(activeIndex);\r\n }, [activeIndex, open, focusItemAtIndex]);\r\n\r\n useEffect(() => {\r\n const handleClickOutside = (e: MouseEvent) => {\r\n if (\r\n dropdownRef.current &&\r\n !dropdownRef.current.contains(e.target as Node)\r\n ) {\r\n closeDropdown();\r\n }\r\n };\r\n\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n\r\n if (open && menuRef.current) {\r\n const rect = menuRef.current.getBoundingClientRect();\r\n const right = rect.right > window.innerWidth;\r\n const left = rect.left < 0;\r\n\r\n if (right) {\r\n menuRef.current.setAttribute(\"data-overflow-right\", \"true\");\r\n menuRef.current.removeAttribute(\"data-overflow-left\");\r\n } else if (left) {\r\n menuRef.current.setAttribute(\"data-overflow-left\", \"true\");\r\n menuRef.current.removeAttribute(\"data-overflow-right\");\r\n } else {\r\n menuRef.current.removeAttribute(\"data-overflow-right\");\r\n menuRef.current.removeAttribute(\"data-overflow-left\");\r\n }\r\n }\r\n\r\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\r\n }, [open, closeDropdown]);\r\n\r\n const handleKeyDown = useCallback(\r\n (e: KeyboardEvent<HTMLDivElement>) => {\r\n if (!open) return;\r\n\r\n const enabledIndexes = getEnabledItemIndexes();\r\n const hasItems = enabledIndexes.length > 0;\r\n\r\n if (e.key === \"Escape\") {\r\n e.preventDefault();\r\n closeDropdown();\r\n return;\r\n }\r\n\r\n if (e.key === \"Tab\") {\r\n closeDropdown();\r\n return;\r\n }\r\n\r\n if (!hasItems) return;\r\n\r\n const currentEnabledPosition = enabledIndexes.indexOf(activeIndex);\r\n\r\n if (e.key === \"ArrowDown\") {\r\n e.preventDefault();\r\n\r\n if (currentEnabledPosition < 0) {\r\n setActiveIndex(enabledIndexes[0] ?? -1);\r\n } else {\r\n const nextPosition =\r\n (currentEnabledPosition + 1) % enabledIndexes.length;\r\n setActiveIndex(enabledIndexes[nextPosition] ?? -1);\r\n }\r\n } else if (e.key === \"ArrowUp\") {\r\n e.preventDefault();\r\n\r\n if (currentEnabledPosition < 0) {\r\n setActiveIndex(enabledIndexes[enabledIndexes.length - 1] ?? -1);\r\n } else {\r\n const prevPosition =\r\n (currentEnabledPosition - 1 + enabledIndexes.length) %\r\n enabledIndexes.length;\r\n setActiveIndex(enabledIndexes[prevPosition] ?? -1);\r\n }\r\n } else if (e.key === \"Home\") {\r\n e.preventDefault();\r\n setActiveIndex(enabledIndexes[0] ?? -1);\r\n } else if (e.key === \"End\") {\r\n e.preventDefault();\r\n setActiveIndex(enabledIndexes[enabledIndexes.length - 1] ?? -1);\r\n } else if ((e.key === \"Enter\" || e.key === \" \") && activeIndex >= 0) {\r\n e.preventDefault();\r\n const item = items[activeIndex];\r\n if (item && !item.disabled) {\r\n handleItemSelect(item);\r\n }\r\n }\r\n },\r\n [\r\n open,\r\n items,\r\n activeIndex,\r\n getEnabledItemIndexes,\r\n closeDropdown,\r\n handleItemSelect,\r\n ],\r\n );\r\n\r\n const menuClassNames = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.menu,\r\n align === \"right\" ? classMap.alignRight : classMap.alignLeft,\r\n menuShadow && classMap[`shadow${capitalize(menuShadow)}`],\r\n menuRounding && classMap[`round${capitalize(menuRounding)}`],\r\n menuClassName,\r\n menuProps?.className,\r\n ),\r\n [\r\n classMap,\r\n align,\r\n menuShadow,\r\n menuRounding,\r\n menuClassName,\r\n menuProps?.className,\r\n ],\r\n );\r\n\r\n return (\r\n <div\r\n ref={dropdownRef}\r\n className={combineClassNames(classMap.wrapper, className)}\r\n onKeyDown={handleKeyDown}\r\n data-testid={testId}\r\n {...rest}\r\n >\r\n <IconButton\r\n ref={triggerRef}\r\n id={triggerId}\r\n icon={Icon}\r\n aria-label={ariaLabelledBy ? undefined : ariaLabel}\r\n aria-labelledby={ariaLabelledBy}\r\n aria-describedby={ariaDescribedBy}\r\n aria-haspopup=\"menu\"\r\n aria-expanded={open}\r\n aria-controls={resolvedMenuId}\r\n rounding={toggleRounding}\r\n shadow={toggleShadow}\r\n outline={toggleOutline}\r\n theme={theme}\r\n state={state}\r\n onClick={toggleDropdown}\r\n title={title}\r\n data-testid={`${testId}-trigger`}\r\n {...triggerProps}\r\n />\r\n\r\n {open && (\r\n <div\r\n id={resolvedMenuId}\r\n ref={menuRef}\r\n aria-label={\r\n menuAriaLabelledby ? undefined : (menuAriaLabel ?? ariaLabel)\r\n }\r\n aria-labelledby={menuAriaLabelledby}\r\n aria-describedby={menuAriaDescribedby}\r\n className={menuClassNames}\r\n data-testid={`${testId}-menu`}\r\n {...menuProps}\r\n >\r\n {items.map((item, index) => {\r\n const commonProps = {\r\n id: item.id,\r\n className: combineClassNames(\r\n classMap.item,\r\n item.disabled ? classMap.disabled : \"\",\r\n ),\r\n \"aria-label\": item[\"aria-label\"],\r\n \"aria-describedby\": item[\"aria-describedby\"],\r\n \"aria-current\": item[\"aria-current\"],\r\n \"aria-disabled\": item.disabled || undefined,\r\n title: item.title,\r\n \"data-testid\": item[\"data-testid\"],\r\n onClick: () => handleItemSelect(item),\r\n };\r\n\r\n if (item.href) {\r\n return (\r\n <a\r\n key={item.id ?? index}\r\n href={item.disabled ? undefined : item.href}\r\n {...commonProps}\r\n onClick={(e) => {\r\n if (item.disabled) {\r\n e.preventDefault();\r\n return;\r\n }\r\n item.onClick?.();\r\n if (closeOnSelect) {\r\n closeDropdown();\r\n }\r\n }}\r\n >\r\n {item.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {item.icon}\r\n </span>\r\n )}\r\n {item.label}\r\n </a>\r\n );\r\n }\r\n\r\n return (\r\n <button\r\n key={item.id ?? index}\r\n type=\"button\"\r\n disabled={item.disabled}\r\n {...commonProps}\r\n >\r\n {item.icon && (\r\n <span className={classMap.icon} aria-hidden=\"true\">\r\n {item.icon}\r\n </span>\r\n )}\r\n {item.label}\r\n </button>\r\n );\r\n })}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nBaseDropdown.displayName = \"BaseDropdown\";\r\nexport default BaseDropdown;\r\n","\"use client\";\r\nimport React from \"react\";\r\nimport BaseDropdown from \"../DropdownBase\";\r\nimport { DropdownProps } from \"../Dropdown.types\";\r\nimport IconButton from \"../../IconButton/next/IconButton\";\r\nimport styles from \"./Dropdown.module.scss\";\r\n\r\nconst Dropdown: React.FC<DropdownProps> = (props) => {\r\n return <BaseDropdown {...props} IconButton={IconButton} classMap={styles} />;\r\n};\r\nDropdown.displayName = \"Dropdown\";\r\nexport default Dropdown;\r\n"],"names":["IconButton","item"],"mappings":"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"}
|
package/dist/next/Dropdown.js
CHANGED
|
@@ -3,8 +3,78 @@ import { 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, c as getDefaultSize, a as getDefaultRounding, b as getDefaultShadow } from "./boreal-style-config-DsaRlxmw.js";
|
|
6
|
-
import './globals.css';import './EmptyState.css';/* empty css */
|
|
7
6
|
import { B as Button } from "./Button-oSOXL3At.js";
|
|
7
|
+
import './EmptyState.css';const empty_state = "_empty_state_54ih8_204";
|
|
8
|
+
const icon = "_icon_54ih8_231";
|
|
9
|
+
const title = "_title_54ih8_250";
|
|
10
|
+
const message = "_message_54ih8_251";
|
|
11
|
+
const outline = "_outline_54ih8_303";
|
|
12
|
+
const clear = "_clear_54ih8_314";
|
|
13
|
+
const disabled = "_disabled_54ih8_328";
|
|
14
|
+
const xs = "_xs_54ih8_333";
|
|
15
|
+
const small = "_small_54ih8_360";
|
|
16
|
+
const medium = "_medium_54ih8_387";
|
|
17
|
+
const large = "_large_54ih8_414";
|
|
18
|
+
const xl = "_xl_54ih8_441";
|
|
19
|
+
const primary = "_primary_54ih8_468";
|
|
20
|
+
const secondary = "_secondary_54ih8_484";
|
|
21
|
+
const tertiary = "_tertiary_54ih8_500";
|
|
22
|
+
const quaternary = "_quaternary_54ih8_516";
|
|
23
|
+
const success = "_success_54ih8_548";
|
|
24
|
+
const error = "_error_54ih8_564";
|
|
25
|
+
const warning = "_warning_54ih8_580";
|
|
26
|
+
const roundNone = "_roundNone_54ih8_596";
|
|
27
|
+
const roundSmall = "_roundSmall_54ih8_600";
|
|
28
|
+
const roundMedium = "_roundMedium_54ih8_604";
|
|
29
|
+
const roundLarge = "_roundLarge_54ih8_608";
|
|
30
|
+
const roundFull = "_roundFull_54ih8_612";
|
|
31
|
+
const shadowNone = "_shadowNone_54ih8_616";
|
|
32
|
+
const shadowLight = "_shadowLight_54ih8_620";
|
|
33
|
+
const shadowMedium = "_shadowMedium_54ih8_624";
|
|
34
|
+
const shadowStrong = "_shadowStrong_54ih8_628";
|
|
35
|
+
const shadowIntense = "_shadowIntense_54ih8_632";
|
|
36
|
+
const spin = "_spin_54ih8_1";
|
|
37
|
+
const pulse = "_pulse_54ih8_1";
|
|
38
|
+
const styles = {
|
|
39
|
+
empty_state,
|
|
40
|
+
icon,
|
|
41
|
+
title,
|
|
42
|
+
message,
|
|
43
|
+
outline,
|
|
44
|
+
clear,
|
|
45
|
+
disabled,
|
|
46
|
+
xs,
|
|
47
|
+
small,
|
|
48
|
+
medium,
|
|
49
|
+
large,
|
|
50
|
+
xl,
|
|
51
|
+
primary,
|
|
52
|
+
secondary,
|
|
53
|
+
tertiary,
|
|
54
|
+
quaternary,
|
|
55
|
+
success,
|
|
56
|
+
error,
|
|
57
|
+
warning,
|
|
58
|
+
roundNone,
|
|
59
|
+
roundSmall,
|
|
60
|
+
roundMedium,
|
|
61
|
+
roundLarge,
|
|
62
|
+
roundFull,
|
|
63
|
+
shadowNone,
|
|
64
|
+
shadowLight,
|
|
65
|
+
shadowMedium,
|
|
66
|
+
shadowStrong,
|
|
67
|
+
shadowIntense,
|
|
68
|
+
"fade-in": "_fade-in_54ih8_1",
|
|
69
|
+
"slide-up": "_slide-up_54ih8_1",
|
|
70
|
+
"spin-3d": "_spin-3d_54ih8_1",
|
|
71
|
+
spin,
|
|
72
|
+
pulse,
|
|
73
|
+
"fade-in-up": "_fade-in-up_54ih8_1",
|
|
74
|
+
"progress-grow": "_progress-grow_54ih8_1",
|
|
75
|
+
"indeterminate-move": "_indeterminate-move_54ih8_1",
|
|
76
|
+
"skeleton-loading": "_skeleton-loading_54ih8_1"
|
|
77
|
+
};
|
|
8
78
|
const BaseEmptyState = ({
|
|
9
79
|
icon: Icon,
|
|
10
80
|
title: title2 = "Nothing Here Yet",
|
|
@@ -113,77 +183,6 @@ const BaseEmptyState = ({
|
|
|
113
183
|
);
|
|
114
184
|
};
|
|
115
185
|
BaseEmptyState.displayName = "BaseEmptyState";
|
|
116
|
-
const empty_state = "_empty_state_54ih8_204";
|
|
117
|
-
const icon = "_icon_54ih8_231";
|
|
118
|
-
const title = "_title_54ih8_250";
|
|
119
|
-
const message = "_message_54ih8_251";
|
|
120
|
-
const outline = "_outline_54ih8_303";
|
|
121
|
-
const clear = "_clear_54ih8_314";
|
|
122
|
-
const disabled = "_disabled_54ih8_328";
|
|
123
|
-
const xs = "_xs_54ih8_333";
|
|
124
|
-
const small = "_small_54ih8_360";
|
|
125
|
-
const medium = "_medium_54ih8_387";
|
|
126
|
-
const large = "_large_54ih8_414";
|
|
127
|
-
const xl = "_xl_54ih8_441";
|
|
128
|
-
const primary = "_primary_54ih8_468";
|
|
129
|
-
const secondary = "_secondary_54ih8_484";
|
|
130
|
-
const tertiary = "_tertiary_54ih8_500";
|
|
131
|
-
const quaternary = "_quaternary_54ih8_516";
|
|
132
|
-
const success = "_success_54ih8_548";
|
|
133
|
-
const error = "_error_54ih8_564";
|
|
134
|
-
const warning = "_warning_54ih8_580";
|
|
135
|
-
const roundNone = "_roundNone_54ih8_596";
|
|
136
|
-
const roundSmall = "_roundSmall_54ih8_600";
|
|
137
|
-
const roundMedium = "_roundMedium_54ih8_604";
|
|
138
|
-
const roundLarge = "_roundLarge_54ih8_608";
|
|
139
|
-
const roundFull = "_roundFull_54ih8_612";
|
|
140
|
-
const shadowNone = "_shadowNone_54ih8_616";
|
|
141
|
-
const shadowLight = "_shadowLight_54ih8_620";
|
|
142
|
-
const shadowMedium = "_shadowMedium_54ih8_624";
|
|
143
|
-
const shadowStrong = "_shadowStrong_54ih8_628";
|
|
144
|
-
const shadowIntense = "_shadowIntense_54ih8_632";
|
|
145
|
-
const spin = "_spin_54ih8_1";
|
|
146
|
-
const pulse = "_pulse_54ih8_1";
|
|
147
|
-
const styles = {
|
|
148
|
-
empty_state,
|
|
149
|
-
icon,
|
|
150
|
-
title,
|
|
151
|
-
message,
|
|
152
|
-
outline,
|
|
153
|
-
clear,
|
|
154
|
-
disabled,
|
|
155
|
-
xs,
|
|
156
|
-
small,
|
|
157
|
-
medium,
|
|
158
|
-
large,
|
|
159
|
-
xl,
|
|
160
|
-
primary,
|
|
161
|
-
secondary,
|
|
162
|
-
tertiary,
|
|
163
|
-
quaternary,
|
|
164
|
-
success,
|
|
165
|
-
error,
|
|
166
|
-
warning,
|
|
167
|
-
roundNone,
|
|
168
|
-
roundSmall,
|
|
169
|
-
roundMedium,
|
|
170
|
-
roundLarge,
|
|
171
|
-
roundFull,
|
|
172
|
-
shadowNone,
|
|
173
|
-
shadowLight,
|
|
174
|
-
shadowMedium,
|
|
175
|
-
shadowStrong,
|
|
176
|
-
shadowIntense,
|
|
177
|
-
"fade-in": "_fade-in_54ih8_1",
|
|
178
|
-
"slide-up": "_slide-up_54ih8_1",
|
|
179
|
-
"spin-3d": "_spin-3d_54ih8_1",
|
|
180
|
-
spin,
|
|
181
|
-
pulse,
|
|
182
|
-
"fade-in-up": "_fade-in-up_54ih8_1",
|
|
183
|
-
"progress-grow": "_progress-grow_54ih8_1",
|
|
184
|
-
"indeterminate-move": "_indeterminate-move_54ih8_1",
|
|
185
|
-
"skeleton-loading": "_skeleton-loading_54ih8_1"
|
|
186
|
-
};
|
|
187
186
|
const EmptyState = (props) => {
|
|
188
187
|
return /* @__PURE__ */ jsx(BaseEmptyState, { ...props, Button, classMap: styles });
|
|
189
188
|
};
|
|
@@ -191,4 +190,4 @@ EmptyState.displayName = "EmptyState";
|
|
|
191
190
|
export {
|
|
192
191
|
EmptyState as E
|
|
193
192
|
};
|
|
194
|
-
//# sourceMappingURL=EmptyState-
|
|
193
|
+
//# sourceMappingURL=EmptyState-CiTGvH-L.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyState-
|
|
1
|
+
{"version":3,"file":"EmptyState-CiTGvH-L.js","sources":["../../src/components/EmptyState/EmptyStateBase.tsx","../../src/components/EmptyState/next/EmptyState.tsx"],"sourcesContent":["import React, { useMemo, useId } from \"react\";\r\nimport type { BaseEmptyStateProps } from \"./EmptyState.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseEmptyState: React.FC<BaseEmptyStateProps> = ({\r\n icon: Icon,\r\n title = \"Nothing Here Yet\",\r\n message = \"There’s no content to display.\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n outline = false,\r\n actionLabel,\r\n onActionClick,\r\n className = \"\",\r\n id,\r\n role,\r\n iconDecorative = true,\r\n iconAriaLabel,\r\n actionAriaLabel,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"data-testid\": testId = \"empty-state\",\r\n Button,\r\n classMap,\r\n ...rest\r\n}) => {\r\n const uid = useId();\r\n\r\n const titleId =\r\n title && !ariaLabelledBy ? `${testId}-title-${uid}` : undefined;\r\n const messageId =\r\n message && !ariaDescribedBy ? `${testId}-message-${uid}` : undefined;\r\n\r\n const resolvedRole = role ?? (title ? \"region\" : undefined);\r\n\r\n const resolvedAriaLabelledBy =\r\n ariaLabelledBy ?? (!ariaLabel && titleId ? titleId : undefined);\r\n\r\n const resolvedAriaDescribedBy = ariaDescribedBy ?? messageId;\r\n\r\n const sectionClassNames = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.empty_state,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n className,\r\n ),\r\n [classMap, rounding, shadow, size, state, theme, outline, className],\r\n );\r\n\r\n const resolvedActionAriaLabel =\r\n actionAriaLabel ??\r\n (typeof actionLabel === \"string\" ? undefined : \"Perform action\");\r\n\r\n return (\r\n <section\r\n id={id}\r\n className={sectionClassNames}\r\n role={resolvedRole}\r\n aria-label={ariaLabel}\r\n aria-labelledby={resolvedAriaLabelledBy}\r\n aria-describedby={resolvedAriaDescribedBy}\r\n data-testid={testId}\r\n {...rest}\r\n >\r\n {Icon && (\r\n <div\r\n className={classMap.icon}\r\n data-testid={`${testId}-icon`}\r\n aria-hidden={iconDecorative ? true : undefined}\r\n >\r\n <Icon\r\n aria-hidden={iconDecorative ? true : undefined}\r\n aria-label={!iconDecorative ? iconAriaLabel : undefined}\r\n focusable={false}\r\n />\r\n </div>\r\n )}\r\n\r\n {title && (\r\n <h2\r\n id={titleId}\r\n className={classMap.title}\r\n data-testid={`${testId}-title`}\r\n >\r\n {title}\r\n </h2>\r\n )}\r\n\r\n {message && (\r\n <p\r\n id={messageId}\r\n className={classMap.message}\r\n data-testid={`${testId}-message`}\r\n >\r\n {message}\r\n </p>\r\n )}\r\n\r\n {actionLabel && onActionClick && (\r\n <Button\r\n theme=\"clear\"\r\n outline={outline}\r\n onClick={onActionClick}\r\n aria-label={resolvedActionAriaLabel}\r\n data-testid={`${testId}-action`}\r\n >\r\n {actionLabel}\r\n </Button>\r\n )}\r\n </section>\r\n );\r\n};\r\n\r\nBaseEmptyState.displayName = \"BaseEmptyState\";\r\nexport default BaseEmptyState;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseEmptyState from \"../EmptyStateBase\";\r\nimport { EmptyStateProps } from \"../EmptyState.types\";\r\nimport Button from \"../../Button/next/Button\";\r\nimport styles from \"./EmptyState.module.scss\";\r\n\r\nconst EmptyState: React.FC<EmptyStateProps> = (props) => {\r\n return <BaseEmptyState {...props} Button={Button} classMap={styles} />;\r\n};\r\nEmptyState.displayName = \"EmptyState\";\r\nexport default EmptyState;\r\n"],"names":["title","message","outline","Button"],"mappings":"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"}
|
|
@@ -1,11 +1,81 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
require('./
|
|
2
|
+
require('./EmptyState.css');const require$$2 = require("react/jsx-runtime");
|
|
3
3
|
const React = require("react");
|
|
4
4
|
const classNames = require("./classNames-BcWMx052.cjs");
|
|
5
5
|
const capitalize = require("./capitalize-DoV-nOmN.cjs");
|
|
6
6
|
const borealStyleConfig = require("./boreal-style-config-C1UIwOFN.cjs");
|
|
7
|
-
;/* empty css */
|
|
8
7
|
const Button = require("./Button-CmH6HYjc.cjs");
|
|
8
|
+
const empty_state = "_empty_state_54ih8_204";
|
|
9
|
+
const icon = "_icon_54ih8_231";
|
|
10
|
+
const title = "_title_54ih8_250";
|
|
11
|
+
const message = "_message_54ih8_251";
|
|
12
|
+
const outline = "_outline_54ih8_303";
|
|
13
|
+
const clear = "_clear_54ih8_314";
|
|
14
|
+
const disabled = "_disabled_54ih8_328";
|
|
15
|
+
const xs = "_xs_54ih8_333";
|
|
16
|
+
const small = "_small_54ih8_360";
|
|
17
|
+
const medium = "_medium_54ih8_387";
|
|
18
|
+
const large = "_large_54ih8_414";
|
|
19
|
+
const xl = "_xl_54ih8_441";
|
|
20
|
+
const primary = "_primary_54ih8_468";
|
|
21
|
+
const secondary = "_secondary_54ih8_484";
|
|
22
|
+
const tertiary = "_tertiary_54ih8_500";
|
|
23
|
+
const quaternary = "_quaternary_54ih8_516";
|
|
24
|
+
const success = "_success_54ih8_548";
|
|
25
|
+
const error = "_error_54ih8_564";
|
|
26
|
+
const warning = "_warning_54ih8_580";
|
|
27
|
+
const roundNone = "_roundNone_54ih8_596";
|
|
28
|
+
const roundSmall = "_roundSmall_54ih8_600";
|
|
29
|
+
const roundMedium = "_roundMedium_54ih8_604";
|
|
30
|
+
const roundLarge = "_roundLarge_54ih8_608";
|
|
31
|
+
const roundFull = "_roundFull_54ih8_612";
|
|
32
|
+
const shadowNone = "_shadowNone_54ih8_616";
|
|
33
|
+
const shadowLight = "_shadowLight_54ih8_620";
|
|
34
|
+
const shadowMedium = "_shadowMedium_54ih8_624";
|
|
35
|
+
const shadowStrong = "_shadowStrong_54ih8_628";
|
|
36
|
+
const shadowIntense = "_shadowIntense_54ih8_632";
|
|
37
|
+
const spin = "_spin_54ih8_1";
|
|
38
|
+
const pulse = "_pulse_54ih8_1";
|
|
39
|
+
const styles = {
|
|
40
|
+
empty_state,
|
|
41
|
+
icon,
|
|
42
|
+
title,
|
|
43
|
+
message,
|
|
44
|
+
outline,
|
|
45
|
+
clear,
|
|
46
|
+
disabled,
|
|
47
|
+
xs,
|
|
48
|
+
small,
|
|
49
|
+
medium,
|
|
50
|
+
large,
|
|
51
|
+
xl,
|
|
52
|
+
primary,
|
|
53
|
+
secondary,
|
|
54
|
+
tertiary,
|
|
55
|
+
quaternary,
|
|
56
|
+
success,
|
|
57
|
+
error,
|
|
58
|
+
warning,
|
|
59
|
+
roundNone,
|
|
60
|
+
roundSmall,
|
|
61
|
+
roundMedium,
|
|
62
|
+
roundLarge,
|
|
63
|
+
roundFull,
|
|
64
|
+
shadowNone,
|
|
65
|
+
shadowLight,
|
|
66
|
+
shadowMedium,
|
|
67
|
+
shadowStrong,
|
|
68
|
+
shadowIntense,
|
|
69
|
+
"fade-in": "_fade-in_54ih8_1",
|
|
70
|
+
"slide-up": "_slide-up_54ih8_1",
|
|
71
|
+
"spin-3d": "_spin-3d_54ih8_1",
|
|
72
|
+
spin,
|
|
73
|
+
pulse,
|
|
74
|
+
"fade-in-up": "_fade-in-up_54ih8_1",
|
|
75
|
+
"progress-grow": "_progress-grow_54ih8_1",
|
|
76
|
+
"indeterminate-move": "_indeterminate-move_54ih8_1",
|
|
77
|
+
"skeleton-loading": "_skeleton-loading_54ih8_1"
|
|
78
|
+
};
|
|
9
79
|
const BaseEmptyState = ({
|
|
10
80
|
icon: Icon,
|
|
11
81
|
title: title2 = "Nothing Here Yet",
|
|
@@ -114,80 +184,9 @@ const BaseEmptyState = ({
|
|
|
114
184
|
);
|
|
115
185
|
};
|
|
116
186
|
BaseEmptyState.displayName = "BaseEmptyState";
|
|
117
|
-
const empty_state = "_empty_state_54ih8_204";
|
|
118
|
-
const icon = "_icon_54ih8_231";
|
|
119
|
-
const title = "_title_54ih8_250";
|
|
120
|
-
const message = "_message_54ih8_251";
|
|
121
|
-
const outline = "_outline_54ih8_303";
|
|
122
|
-
const clear = "_clear_54ih8_314";
|
|
123
|
-
const disabled = "_disabled_54ih8_328";
|
|
124
|
-
const xs = "_xs_54ih8_333";
|
|
125
|
-
const small = "_small_54ih8_360";
|
|
126
|
-
const medium = "_medium_54ih8_387";
|
|
127
|
-
const large = "_large_54ih8_414";
|
|
128
|
-
const xl = "_xl_54ih8_441";
|
|
129
|
-
const primary = "_primary_54ih8_468";
|
|
130
|
-
const secondary = "_secondary_54ih8_484";
|
|
131
|
-
const tertiary = "_tertiary_54ih8_500";
|
|
132
|
-
const quaternary = "_quaternary_54ih8_516";
|
|
133
|
-
const success = "_success_54ih8_548";
|
|
134
|
-
const error = "_error_54ih8_564";
|
|
135
|
-
const warning = "_warning_54ih8_580";
|
|
136
|
-
const roundNone = "_roundNone_54ih8_596";
|
|
137
|
-
const roundSmall = "_roundSmall_54ih8_600";
|
|
138
|
-
const roundMedium = "_roundMedium_54ih8_604";
|
|
139
|
-
const roundLarge = "_roundLarge_54ih8_608";
|
|
140
|
-
const roundFull = "_roundFull_54ih8_612";
|
|
141
|
-
const shadowNone = "_shadowNone_54ih8_616";
|
|
142
|
-
const shadowLight = "_shadowLight_54ih8_620";
|
|
143
|
-
const shadowMedium = "_shadowMedium_54ih8_624";
|
|
144
|
-
const shadowStrong = "_shadowStrong_54ih8_628";
|
|
145
|
-
const shadowIntense = "_shadowIntense_54ih8_632";
|
|
146
|
-
const spin = "_spin_54ih8_1";
|
|
147
|
-
const pulse = "_pulse_54ih8_1";
|
|
148
|
-
const styles = {
|
|
149
|
-
empty_state,
|
|
150
|
-
icon,
|
|
151
|
-
title,
|
|
152
|
-
message,
|
|
153
|
-
outline,
|
|
154
|
-
clear,
|
|
155
|
-
disabled,
|
|
156
|
-
xs,
|
|
157
|
-
small,
|
|
158
|
-
medium,
|
|
159
|
-
large,
|
|
160
|
-
xl,
|
|
161
|
-
primary,
|
|
162
|
-
secondary,
|
|
163
|
-
tertiary,
|
|
164
|
-
quaternary,
|
|
165
|
-
success,
|
|
166
|
-
error,
|
|
167
|
-
warning,
|
|
168
|
-
roundNone,
|
|
169
|
-
roundSmall,
|
|
170
|
-
roundMedium,
|
|
171
|
-
roundLarge,
|
|
172
|
-
roundFull,
|
|
173
|
-
shadowNone,
|
|
174
|
-
shadowLight,
|
|
175
|
-
shadowMedium,
|
|
176
|
-
shadowStrong,
|
|
177
|
-
shadowIntense,
|
|
178
|
-
"fade-in": "_fade-in_54ih8_1",
|
|
179
|
-
"slide-up": "_slide-up_54ih8_1",
|
|
180
|
-
"spin-3d": "_spin-3d_54ih8_1",
|
|
181
|
-
spin,
|
|
182
|
-
pulse,
|
|
183
|
-
"fade-in-up": "_fade-in-up_54ih8_1",
|
|
184
|
-
"progress-grow": "_progress-grow_54ih8_1",
|
|
185
|
-
"indeterminate-move": "_indeterminate-move_54ih8_1",
|
|
186
|
-
"skeleton-loading": "_skeleton-loading_54ih8_1"
|
|
187
|
-
};
|
|
188
187
|
const EmptyState = (props) => {
|
|
189
188
|
return /* @__PURE__ */ require$$2.jsx(BaseEmptyState, { ...props, Button: Button.Button, classMap: styles });
|
|
190
189
|
};
|
|
191
190
|
EmptyState.displayName = "EmptyState";
|
|
192
191
|
exports.EmptyState = EmptyState;
|
|
193
|
-
//# sourceMappingURL=EmptyState-
|
|
192
|
+
//# sourceMappingURL=EmptyState-kAjC_DXY.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyState-
|
|
1
|
+
{"version":3,"file":"EmptyState-kAjC_DXY.cjs","sources":["../../src/components/EmptyState/EmptyStateBase.tsx","../../src/components/EmptyState/next/EmptyState.tsx"],"sourcesContent":["import React, { useMemo, useId } from \"react\";\r\nimport type { BaseEmptyStateProps } from \"./EmptyState.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultSize,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst BaseEmptyState: React.FC<BaseEmptyStateProps> = ({\r\n icon: Icon,\r\n title = \"Nothing Here Yet\",\r\n message = \"There’s no content to display.\",\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n size = getDefaultSize(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n outline = false,\r\n actionLabel,\r\n onActionClick,\r\n className = \"\",\r\n id,\r\n role,\r\n iconDecorative = true,\r\n iconAriaLabel,\r\n actionAriaLabel,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledBy,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"data-testid\": testId = \"empty-state\",\r\n Button,\r\n classMap,\r\n ...rest\r\n}) => {\r\n const uid = useId();\r\n\r\n const titleId =\r\n title && !ariaLabelledBy ? `${testId}-title-${uid}` : undefined;\r\n const messageId =\r\n message && !ariaDescribedBy ? `${testId}-message-${uid}` : undefined;\r\n\r\n const resolvedRole = role ?? (title ? \"region\" : undefined);\r\n\r\n const resolvedAriaLabelledBy =\r\n ariaLabelledBy ?? (!ariaLabel && titleId ? titleId : undefined);\r\n\r\n const resolvedAriaDescribedBy = ariaDescribedBy ?? messageId;\r\n\r\n const sectionClassNames = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.empty_state,\r\n classMap[theme],\r\n classMap[state],\r\n classMap[size],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline && classMap.outline,\r\n className,\r\n ),\r\n [classMap, rounding, shadow, size, state, theme, outline, className],\r\n );\r\n\r\n const resolvedActionAriaLabel =\r\n actionAriaLabel ??\r\n (typeof actionLabel === \"string\" ? undefined : \"Perform action\");\r\n\r\n return (\r\n <section\r\n id={id}\r\n className={sectionClassNames}\r\n role={resolvedRole}\r\n aria-label={ariaLabel}\r\n aria-labelledby={resolvedAriaLabelledBy}\r\n aria-describedby={resolvedAriaDescribedBy}\r\n data-testid={testId}\r\n {...rest}\r\n >\r\n {Icon && (\r\n <div\r\n className={classMap.icon}\r\n data-testid={`${testId}-icon`}\r\n aria-hidden={iconDecorative ? true : undefined}\r\n >\r\n <Icon\r\n aria-hidden={iconDecorative ? true : undefined}\r\n aria-label={!iconDecorative ? iconAriaLabel : undefined}\r\n focusable={false}\r\n />\r\n </div>\r\n )}\r\n\r\n {title && (\r\n <h2\r\n id={titleId}\r\n className={classMap.title}\r\n data-testid={`${testId}-title`}\r\n >\r\n {title}\r\n </h2>\r\n )}\r\n\r\n {message && (\r\n <p\r\n id={messageId}\r\n className={classMap.message}\r\n data-testid={`${testId}-message`}\r\n >\r\n {message}\r\n </p>\r\n )}\r\n\r\n {actionLabel && onActionClick && (\r\n <Button\r\n theme=\"clear\"\r\n outline={outline}\r\n onClick={onActionClick}\r\n aria-label={resolvedActionAriaLabel}\r\n data-testid={`${testId}-action`}\r\n >\r\n {actionLabel}\r\n </Button>\r\n )}\r\n </section>\r\n );\r\n};\r\n\r\nBaseEmptyState.displayName = \"BaseEmptyState\";\r\nexport default BaseEmptyState;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseEmptyState from \"../EmptyStateBase\";\r\nimport { EmptyStateProps } from \"../EmptyState.types\";\r\nimport Button from \"../../Button/next/Button\";\r\nimport styles from \"./EmptyState.module.scss\";\r\n\r\nconst EmptyState: React.FC<EmptyStateProps> = (props) => {\r\n return <BaseEmptyState {...props} Button={Button} classMap={styles} />;\r\n};\r\nEmptyState.displayName = \"EmptyState\";\r\nexport default EmptyState;\r\n"],"names":["title","message","getDefaultTheme","getDefaultSize","getDefaultRounding","getDefaultShadow","outline","Button","useId","useMemo","combineClassNames","capitalize","jsxs","jsx"],"mappings":"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"}
|
package/dist/next/EmptyState.js
CHANGED