boreal-ui 0.0.16 → 0.0.18

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.
Files changed (153) hide show
  1. package/dist/core/{Accordion-DOhvj3Ty.js → Accordion-CY5BCoA7.js} +2 -2
  2. package/dist/core/Accordion-CY5BCoA7.js.map +1 -0
  3. package/dist/core/{Accordion-DQsSUVAE.cjs → Accordion-D6hxjkE1.cjs} +2 -2
  4. package/dist/core/Accordion-D6hxjkE1.cjs.map +1 -0
  5. package/dist/core/Accordion.cjs.js +1 -1
  6. package/dist/core/Accordion.js +1 -1
  7. package/dist/core/{Avatar-B5aqfDZX.cjs → Avatar-B3hD_M2R.cjs} +2 -2
  8. package/dist/core/Avatar-B3hD_M2R.cjs.map +1 -0
  9. package/dist/core/{Avatar-mhtrG5FT.js → Avatar-BxHxzh30.js} +2 -2
  10. package/dist/core/Avatar-BxHxzh30.js.map +1 -0
  11. package/dist/core/Avatar.cjs.js +1 -1
  12. package/dist/core/Avatar.js +1 -1
  13. package/dist/core/{Footer-Dc_CuIC1.cjs → Footer-BKfoTV0l.cjs} +2 -2
  14. package/dist/core/{Footer-Dc_CuIC1.cjs.map → Footer-BKfoTV0l.cjs.map} +1 -1
  15. package/dist/core/{Footer-7ixaMvFc.js → Footer-CJOKuXJh.js} +2 -2
  16. package/dist/core/{Footer-7ixaMvFc.js.map → Footer-CJOKuXJh.js.map} +1 -1
  17. package/dist/core/Footer.cjs.js +1 -1
  18. package/dist/core/Footer.js +1 -1
  19. package/dist/core/{NavBar-C5UMiYpA.cjs → NavBar-C8zI9Lvt.cjs} +4 -3
  20. package/dist/core/NavBar-C8zI9Lvt.cjs.map +1 -0
  21. package/dist/core/{NavBar-BAHSDPtT.js → NavBar-CNoWBQIV.js} +4 -3
  22. package/dist/core/NavBar-CNoWBQIV.js.map +1 -0
  23. package/dist/core/NavBar.cjs.js +1 -1
  24. package/dist/core/NavBar.js +1 -1
  25. package/dist/core/{PopOver-OijKNHZU.cjs → PopOver-BdZXa2hs.cjs} +2 -2
  26. package/dist/core/{PopOver-OijKNHZU.cjs.map → PopOver-BdZXa2hs.cjs.map} +1 -1
  27. package/dist/core/{PopOver-DNqWcWjU.js → PopOver-C6AnRNop.js} +2 -2
  28. package/dist/core/{PopOver-DNqWcWjU.js.map → PopOver-C6AnRNop.js.map} +1 -1
  29. package/dist/core/PopOver.cjs.js +1 -1
  30. package/dist/core/PopOver.js +1 -1
  31. package/dist/core/{STT-D6L-amjZ.cjs → STT-BRjQ4z30.cjs} +3 -2
  32. package/dist/core/STT-BRjQ4z30.cjs.map +1 -0
  33. package/dist/core/{STT-aXWWubSC.js → STT-BywVoric.js} +3 -2
  34. package/dist/core/STT-BywVoric.js.map +1 -0
  35. package/dist/core/ScrollToTop.cjs.js +1 -1
  36. package/dist/core/ScrollToTop.js +1 -1
  37. package/dist/core/{Select-_12yQ-yj.js → Select-CDWU_cuN.js} +2 -2
  38. package/dist/core/{Select-_12yQ-yj.js.map → Select-CDWU_cuN.js.map} +1 -1
  39. package/dist/core/{Select-CitauzQm.cjs → Select-DWzxymiA.cjs} +2 -2
  40. package/dist/core/{Select-CitauzQm.cjs.map → Select-DWzxymiA.cjs.map} +1 -1
  41. package/dist/core/Select.cjs.js +1 -1
  42. package/dist/core/Select.js +1 -1
  43. package/dist/core/Sidebar-CqTJJULG.cjs.map +1 -1
  44. package/dist/core/Sidebar-z0mG5nn_.js.map +1 -1
  45. package/dist/core/{Taginput-BMPHihSz.cjs → TagInput-BMPHihSz.cjs} +1 -1
  46. package/dist/core/{Taginput-BMPHihSz.cjs.map → TagInput-BMPHihSz.cjs.map} +1 -1
  47. package/dist/core/{Taginput-CrScreYL.js → TagInput-CrScreYL.js} +1 -1
  48. package/dist/core/{Taginput-CrScreYL.js.map → TagInput-CrScreYL.js.map} +1 -1
  49. package/dist/core/TagInput.cjs.js +2 -2
  50. package/dist/core/TagInput.js +1 -1
  51. package/dist/core/{Toolbar-Cg_ofRqY.cjs → Toolbar-CEiYjTwB.cjs} +2 -2
  52. package/dist/core/{Toolbar-Cg_ofRqY.cjs.map → Toolbar-CEiYjTwB.cjs.map} +1 -1
  53. package/dist/core/{Toolbar-94Pu5-SL.js → Toolbar-D3gg3Q2K.js} +2 -2
  54. package/dist/core/{Toolbar-94Pu5-SL.js.map → Toolbar-D3gg3Q2K.js.map} +1 -1
  55. package/dist/core/Toolbar.cjs.js +1 -1
  56. package/dist/core/Toolbar.js +1 -1
  57. package/dist/core/index.cjs.js +10 -10
  58. package/dist/core/index.js +9 -9
  59. package/dist/next/{Accordion-Bu2IAjE6.js → Accordion-DD5oHwaa.js} +2 -2
  60. package/dist/next/Accordion-DD5oHwaa.js.map +1 -0
  61. package/dist/next/{Accordion-BD-HsAos.cjs → Accordion-P9JXxfBX.cjs} +2 -2
  62. package/dist/next/Accordion-P9JXxfBX.cjs.map +1 -0
  63. package/dist/next/Accordion.cjs.js +1 -1
  64. package/dist/next/Accordion.js +1 -1
  65. package/dist/next/{Avatar-B0vflpuy.js → Avatar-0OXmXwmQ.js} +2 -2
  66. package/dist/next/Avatar-0OXmXwmQ.js.map +1 -0
  67. package/dist/next/{Avatar-DjuHvrMV.cjs → Avatar-CguQwhBN.cjs} +2 -2
  68. package/dist/next/Avatar-CguQwhBN.cjs.map +1 -0
  69. package/dist/next/Avatar.cjs.js +1 -1
  70. package/dist/next/Avatar.js +1 -1
  71. package/dist/next/{Footer-J0Tb7-n4.cjs → Footer-CLvhExUU.cjs} +2 -2
  72. package/dist/next/{Footer-J0Tb7-n4.cjs.map → Footer-CLvhExUU.cjs.map} +1 -1
  73. package/dist/next/{Footer-bb_8EH_R.js → Footer-CzA8xCa3.js} +2 -2
  74. package/dist/next/{Footer-bb_8EH_R.js.map → Footer-CzA8xCa3.js.map} +1 -1
  75. package/dist/next/Footer.cjs.js +1 -1
  76. package/dist/next/Footer.js +1 -1
  77. package/dist/next/{NavBar-CRbRBzGq.js → NavBar-BXbAUNSJ.js} +4 -3
  78. package/dist/next/NavBar-BXbAUNSJ.js.map +1 -0
  79. package/dist/next/{NavBar-JPkuek76.cjs → NavBar-CXqV4sKP.cjs} +4 -3
  80. package/dist/next/NavBar-CXqV4sKP.cjs.map +1 -0
  81. package/dist/next/NavBar.cjs.js +1 -1
  82. package/dist/next/NavBar.js +1 -1
  83. package/dist/next/{PopOver-CHs0s9rp.cjs → PopOver-CAxcmHRx.cjs} +2 -2
  84. package/dist/next/{PopOver-CHs0s9rp.cjs.map → PopOver-CAxcmHRx.cjs.map} +1 -1
  85. package/dist/next/{PopOver-pllmYvp6.js → PopOver-Cz4BCVFe.js} +2 -2
  86. package/dist/next/{PopOver-pllmYvp6.js.map → PopOver-Cz4BCVFe.js.map} +1 -1
  87. package/dist/next/PopOver.cjs.js +1 -1
  88. package/dist/next/PopOver.js +1 -1
  89. package/dist/next/{STT-C0q3yqiJ.cjs → STT-BxxKgSE8.cjs} +3 -2
  90. package/dist/next/STT-BxxKgSE8.cjs.map +1 -0
  91. package/dist/next/{STT-Br81yPXp.js → STT-bcQmPKCi.js} +3 -2
  92. package/dist/next/STT-bcQmPKCi.js.map +1 -0
  93. package/dist/next/ScrollToTop.cjs.js +1 -1
  94. package/dist/next/ScrollToTop.js +1 -1
  95. package/dist/next/{Select-CdWyrGrV.js → Select-D-9wuabW.js} +2 -2
  96. package/dist/next/{Select-CdWyrGrV.js.map → Select-D-9wuabW.js.map} +1 -1
  97. package/dist/next/{Select-Bln5-seQ.cjs → Select-DxQS7u41.cjs} +2 -2
  98. package/dist/next/{Select-Bln5-seQ.cjs.map → Select-DxQS7u41.cjs.map} +1 -1
  99. package/dist/next/Select.cjs.js +1 -1
  100. package/dist/next/Select.js +1 -1
  101. package/dist/next/Sidebar-B9jHy0wy.js.map +1 -1
  102. package/dist/next/Sidebar-PUffGMhm.cjs.map +1 -1
  103. package/dist/next/{Taginput-BcNgwFOj.cjs → TagInput-BcNgwFOj.cjs} +1 -1
  104. package/dist/next/{Taginput-BcNgwFOj.cjs.map → TagInput-BcNgwFOj.cjs.map} +1 -1
  105. package/dist/next/{Taginput-CdYMgcYY.js → TagInput-CdYMgcYY.js} +1 -1
  106. package/dist/next/{Taginput-CdYMgcYY.js.map → TagInput-CdYMgcYY.js.map} +1 -1
  107. package/dist/next/TagInput.cjs.js +2 -2
  108. package/dist/next/TagInput.js +1 -1
  109. package/dist/next/{Toolbar-B8AB6ADW.js → Toolbar-C1_m1ygd.js} +2 -2
  110. package/dist/next/{Toolbar-B8AB6ADW.js.map → Toolbar-C1_m1ygd.js.map} +1 -1
  111. package/dist/next/{Toolbar-BIruaq82.cjs → Toolbar-OpUQ2wdO.cjs} +2 -2
  112. package/dist/next/{Toolbar-BIruaq82.cjs.map → Toolbar-OpUQ2wdO.cjs.map} +1 -1
  113. package/dist/next/Toolbar.cjs.js +1 -1
  114. package/dist/next/Toolbar.js +1 -1
  115. package/dist/next/index.cjs.js +10 -10
  116. package/dist/next/index.js +10 -10
  117. package/dist/tsconfig.build.tsbuildinfo +1 -1
  118. package/dist/types/components/NavBar/NavBar.types.d.ts +2 -0
  119. package/dist/types/components/NavBar/NavBar.types.d.ts.map +1 -1
  120. package/dist/types/components/NavBar/NavBarBase.d.ts.map +1 -1
  121. package/dist/types/components/ScrollToTop/ScrollToTop.types.d.ts +40 -0
  122. package/dist/types/components/ScrollToTop/ScrollToTop.types.d.ts.map +1 -0
  123. package/dist/types/components/ScrollToTop/ScrollToTopBase.d.ts +2 -7
  124. package/dist/types/components/ScrollToTop/ScrollToTopBase.d.ts.map +1 -1
  125. package/dist/types/components/Sidebar/Sidebar.types.d.ts +0 -6
  126. package/dist/types/components/Sidebar/Sidebar.types.d.ts.map +1 -1
  127. package/dist/types/components/Sidebar/SidebarBase.d.ts +1 -0
  128. package/dist/types/components/Sidebar/SidebarBase.d.ts.map +1 -1
  129. package/dist/types/components/TagInput/core/{Taginput.d.ts → TagInput.d.ts} +1 -1
  130. package/dist/types/components/TagInput/core/{Taginput.d.ts.map → TagInput.d.ts.map} +1 -1
  131. package/dist/types/components/TagInput/next/{Taginput.d.ts → TagInput.d.ts} +1 -1
  132. package/dist/types/components/TagInput/next/TagInput.d.ts.map +1 -0
  133. package/dist/types/index.core.d.ts +1 -1
  134. package/dist/types/index.next.d.ts +1 -1
  135. package/dist/types/public.types.d.ts +1 -0
  136. package/package.json +1 -1
  137. package/dist/core/Accordion-DOhvj3Ty.js.map +0 -1
  138. package/dist/core/Accordion-DQsSUVAE.cjs.map +0 -1
  139. package/dist/core/Avatar-B5aqfDZX.cjs.map +0 -1
  140. package/dist/core/Avatar-mhtrG5FT.js.map +0 -1
  141. package/dist/core/NavBar-BAHSDPtT.js.map +0 -1
  142. package/dist/core/NavBar-C5UMiYpA.cjs.map +0 -1
  143. package/dist/core/STT-D6L-amjZ.cjs.map +0 -1
  144. package/dist/core/STT-aXWWubSC.js.map +0 -1
  145. package/dist/next/Accordion-BD-HsAos.cjs.map +0 -1
  146. package/dist/next/Accordion-Bu2IAjE6.js.map +0 -1
  147. package/dist/next/Avatar-B0vflpuy.js.map +0 -1
  148. package/dist/next/Avatar-DjuHvrMV.cjs.map +0 -1
  149. package/dist/next/NavBar-CRbRBzGq.js.map +0 -1
  150. package/dist/next/NavBar-JPkuek76.cjs.map +0 -1
  151. package/dist/next/STT-Br81yPXp.js.map +0 -1
  152. package/dist/next/STT-C0q3yqiJ.cjs.map +0 -1
  153. package/dist/types/components/TagInput/next/Taginput.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PopOver-DNqWcWjU.js","sources":["../../src/components/PopOver/PopOverBase.tsx","../../src/components/PopOver/core/PopOver.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, JSX, useMemo } from \"react\";\r\nimport { PopoverProps } from \"./PopOver.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\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\nexport interface BasePopoverProps extends PopoverProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BasePopover: React.FC<BasePopoverProps> = ({\r\n trigger,\r\n content,\r\n placement = \"bottom\",\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n className = \"\",\r\n \"data-testid\": testId = \"popover\",\r\n classMap,\r\n}: BasePopoverProps): JSX.Element => {\r\n const [open, setOpen] = useState(false);\r\n const [dynamicPlacement, setDynamicPlacement] = useState(placement);\r\n const popoverRef = useRef<HTMLDivElement>(null);\r\n const triggerRef = useRef<HTMLDivElement>(null);\r\n\r\n const toggleOpen = () => setOpen((prev) => !prev);\r\n const close = () => {\r\n setOpen(false);\r\n setDynamicPlacement(placement);\r\n triggerRef.current?.focus();\r\n };\r\n\r\n useEffect(() => {\r\n const handleClickOutside = (event: MouseEvent) => {\r\n if (\r\n popoverRef.current &&\r\n !popoverRef.current.contains(event.target as Node)\r\n ) {\r\n close();\r\n }\r\n };\r\n\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\r\n }, []);\r\n\r\n useEffect(() => {\r\n const handleKeyDown = (e: KeyboardEvent) => {\r\n if (e.key === \"Escape\") {\r\n e.stopPropagation();\r\n close();\r\n }\r\n };\r\n\r\n if (open) {\r\n document.addEventListener(\"keydown\", handleKeyDown);\r\n }\r\n\r\n if (open && popoverRef.current && triggerRef.current) {\r\n const triggerRect = triggerRef.current.getBoundingClientRect();\r\n const popoverEl = popoverRef.current;\r\n\r\n const viewportWidth = window.innerWidth;\r\n const viewportHeight = window.innerHeight;\r\n const spaceAbove = triggerRect.top;\r\n const spaceBelow = viewportHeight - triggerRect.bottom;\r\n const spaceLeft = triggerRect.left;\r\n const spaceRight = viewportWidth - triggerRect.right;\r\n\r\n popoverEl.style.transform = \"\";\r\n popoverEl.style.left = \"\";\r\n popoverEl.style.right = \"\";\r\n popoverEl.style.top = \"\";\r\n popoverEl.style.bottom = \"\";\r\n\r\n let newPlacement = placement;\r\n\r\n if (placement === \"top\" && popoverEl.offsetHeight > spaceAbove) {\r\n newPlacement = \"bottom\";\r\n } else if (\r\n placement === \"bottom\" &&\r\n popoverEl.offsetHeight > spaceBelow\r\n ) {\r\n newPlacement = \"top\";\r\n } else if (placement === \"left\" && popoverEl.offsetWidth > spaceLeft) {\r\n newPlacement = \"right\";\r\n } else if (placement === \"right\" && popoverEl.offsetWidth > spaceRight) {\r\n newPlacement = \"left\";\r\n }\r\n\r\n setDynamicPlacement(newPlacement);\r\n\r\n requestAnimationFrame(() => {\r\n const popoverRect = popoverEl.getBoundingClientRect();\r\n\r\n let dx = 0;\r\n let dy = 0;\r\n\r\n if (popoverRect.left < 8) {\r\n dx = 8 - popoverRect.left;\r\n } else if (popoverRect.right > viewportWidth - 8) {\r\n dx = viewportWidth - 8 - popoverRect.right;\r\n }\r\n\r\n if (popoverRect.top < 8) {\r\n dy = 8 - popoverRect.top;\r\n } else if (popoverRect.bottom > viewportHeight - 8) {\r\n dy = viewportHeight - 8 - popoverRect.bottom;\r\n }\r\n\r\n if (dx !== 0 || dy !== 0) {\r\n if (popoverRect.left < 8) {\r\n popoverEl.style.left = \"8px\";\r\n popoverEl.style.transform = \"translateY(10px)\";\r\n } else if (popoverRect.right > viewportWidth - 8) {\r\n popoverEl.style.right = \"8px\";\r\n popoverEl.style.left = \"auto\";\r\n popoverEl.style.transform = \"translateY(10px)\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n return () => {\r\n document.removeEventListener(\"keydown\", handleKeyDown);\r\n };\r\n }, [open]);\r\n\r\n const popoverContentClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.popover,\r\n classMap[dynamicPlacement],\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n ),\r\n [classMap, dynamicPlacement, rounding, shadow, theme, state]\r\n );\r\n\r\n return (\r\n <div className={`${classMap.container} ${className}`} data-testid={testId}>\r\n <div\r\n className={classMap.trigger}\r\n onClick={toggleOpen}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n toggleOpen();\r\n }\r\n }}\r\n tabIndex={0}\r\n role=\"button\"\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n aria-controls={`${testId}-content`}\r\n aria-label=\"Toggle popover\"\r\n ref={triggerRef}\r\n data-testid={`${testId}-trigger`}\r\n >\r\n {trigger}\r\n </div>\r\n\r\n {open && (\r\n <div\r\n ref={popoverRef}\r\n id={`${testId}-content`}\r\n role=\"dialog\"\r\n aria-modal=\"false\"\r\n aria-labelledby={`${testId}-label`}\r\n className={popoverContentClass}\r\n data-testid={`${testId}-content`}\r\n >\r\n <span id={`${testId}-label`} className=\"sr-only\">\r\n Popover Content\r\n </span>\r\n {content}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default BasePopover;\r\n","import React from \"react\";\r\nimport BasePopover from \"../PopOverBase\";\r\nimport \"./PopOver.scss\";\r\nimport { PopoverProps } from \"../PopOver.types\";\r\n\r\nconst classes = {\r\n container: \"popover_container\",\r\n trigger: \"popover_trigger\",\r\n popover: \"popover\",\r\n\r\n top: \"popover_top\",\r\n bottom: \"popover_bottom\",\r\n left: \"popover_left\",\r\n right: \"popover_right\",\r\n\r\n primary: \"popover_primary\",\r\n secondary: \"popover_secondary\",\r\n tertiary: \"popover_tertiary\",\r\n quaternary: \"popover_quaternary\",\r\n\r\n success: \"popover_success\",\r\n error: \"popover_error\",\r\n warning: \"popover_warning\",\r\n\r\n clear: \"popover_clear\",\r\n\r\n shadowNone: \"popover_shadow-None\",\r\n shadowLight: \"popover_shadow-Light\",\r\n shadowMedium: \"popover_shadow-Medium\",\r\n shadowStrong: \"popover_shadow-Strong\",\r\n shadowIntense: \"popover_shadow-Intense\",\r\n\r\n roundNone: \"popover_round-None\",\r\n roundSmall: \"popover_round-Small\",\r\n roundMedium: \"popover_round-Medium\",\r\n roundLarge: \"popover_round-Large\",\r\n};\r\n\r\nconst Popover: React.FC<PopoverProps> = (props) => {\r\n return <BasePopover {...props} classMap={classes} />;\r\n};\r\n\r\nexport default Popover;\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PopOver-C6AnRNop.js","sources":["../../src/components/PopOver/PopOverBase.tsx","../../src/components/PopOver/core/PopOver.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, JSX, useMemo } from \"react\";\r\nimport { PopoverProps } from \"./PopOver.types\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\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\nexport interface BasePopoverProps extends PopoverProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BasePopover: React.FC<BasePopoverProps> = ({\r\n trigger,\r\n content,\r\n placement = \"bottom\",\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n className = \"\",\r\n \"data-testid\": testId = \"popover\",\r\n classMap,\r\n}: BasePopoverProps): JSX.Element => {\r\n const [open, setOpen] = useState(false);\r\n const [dynamicPlacement, setDynamicPlacement] = useState(placement);\r\n const popoverRef = useRef<HTMLDivElement>(null);\r\n const triggerRef = useRef<HTMLDivElement>(null);\r\n\r\n const toggleOpen = () => setOpen((prev) => !prev);\r\n const close = () => {\r\n setOpen(false);\r\n setDynamicPlacement(placement);\r\n triggerRef.current?.focus();\r\n };\r\n\r\n useEffect(() => {\r\n const handleClickOutside = (event: MouseEvent) => {\r\n if (\r\n popoverRef.current &&\r\n !popoverRef.current.contains(event.target as Node)\r\n ) {\r\n close();\r\n }\r\n };\r\n\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => document.removeEventListener(\"mousedown\", handleClickOutside);\r\n }, []);\r\n\r\n useEffect(() => {\r\n const handleKeyDown = (e: KeyboardEvent) => {\r\n if (e.key === \"Escape\") {\r\n e.stopPropagation();\r\n close();\r\n }\r\n };\r\n\r\n if (open) {\r\n document.addEventListener(\"keydown\", handleKeyDown);\r\n }\r\n\r\n if (open && popoverRef.current && triggerRef.current) {\r\n const triggerRect = triggerRef.current.getBoundingClientRect();\r\n const popoverEl = popoverRef.current;\r\n\r\n const viewportWidth = window.innerWidth;\r\n const viewportHeight = window.innerHeight;\r\n const spaceAbove = triggerRect.top;\r\n const spaceBelow = viewportHeight - triggerRect.bottom;\r\n const spaceLeft = triggerRect.left;\r\n const spaceRight = viewportWidth - triggerRect.right;\r\n\r\n popoverEl.style.transform = \"\";\r\n popoverEl.style.left = \"\";\r\n popoverEl.style.right = \"\";\r\n popoverEl.style.top = \"\";\r\n popoverEl.style.bottom = \"\";\r\n\r\n let newPlacement = placement;\r\n\r\n if (placement === \"top\" && popoverEl.offsetHeight > spaceAbove) {\r\n newPlacement = \"bottom\";\r\n } else if (\r\n placement === \"bottom\" &&\r\n popoverEl.offsetHeight > spaceBelow\r\n ) {\r\n newPlacement = \"top\";\r\n } else if (placement === \"left\" && popoverEl.offsetWidth > spaceLeft) {\r\n newPlacement = \"right\";\r\n } else if (placement === \"right\" && popoverEl.offsetWidth > spaceRight) {\r\n newPlacement = \"left\";\r\n }\r\n\r\n setDynamicPlacement(newPlacement);\r\n\r\n requestAnimationFrame(() => {\r\n const popoverRect = popoverEl.getBoundingClientRect();\r\n\r\n let dx = 0;\r\n let dy = 0;\r\n\r\n if (popoverRect.left < 8) {\r\n dx = 8 - popoverRect.left;\r\n } else if (popoverRect.right > viewportWidth - 8) {\r\n dx = viewportWidth - 8 - popoverRect.right;\r\n }\r\n\r\n if (popoverRect.top < 8) {\r\n dy = 8 - popoverRect.top;\r\n } else if (popoverRect.bottom > viewportHeight - 8) {\r\n dy = viewportHeight - 8 - popoverRect.bottom;\r\n }\r\n\r\n if (dx !== 0 || dy !== 0) {\r\n if (popoverRect.left < 8) {\r\n popoverEl.style.left = \"8px\";\r\n popoverEl.style.transform = \"translateY(10px)\";\r\n } else if (popoverRect.right > viewportWidth - 8) {\r\n popoverEl.style.right = \"8px\";\r\n popoverEl.style.left = \"auto\";\r\n popoverEl.style.transform = \"translateY(10px)\";\r\n }\r\n }\r\n });\r\n }\r\n\r\n return () => {\r\n document.removeEventListener(\"keydown\", handleKeyDown);\r\n };\r\n }, [open]);\r\n\r\n const popoverContentClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.popover,\r\n classMap[dynamicPlacement],\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n ),\r\n [classMap, dynamicPlacement, rounding, shadow, theme, state]\r\n );\r\n\r\n return (\r\n <div className={`${classMap.container} ${className}`} data-testid={testId}>\r\n <div\r\n className={classMap.trigger}\r\n onClick={toggleOpen}\r\n onKeyDown={(e) => {\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n toggleOpen();\r\n }\r\n }}\r\n tabIndex={0}\r\n role=\"button\"\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n aria-controls={`${testId}-content`}\r\n aria-label=\"Toggle popover\"\r\n ref={triggerRef}\r\n data-testid={`${testId}-trigger`}\r\n >\r\n {trigger}\r\n </div>\r\n\r\n {open && (\r\n <div\r\n ref={popoverRef}\r\n id={`${testId}-content`}\r\n role=\"dialog\"\r\n aria-modal=\"false\"\r\n aria-labelledby={`${testId}-label`}\r\n className={popoverContentClass}\r\n data-testid={`${testId}-content`}\r\n >\r\n <span id={`${testId}-label`} className=\"sr_only\">\r\n Popover Content\r\n </span>\r\n {content}\r\n </div>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default BasePopover;\r\n","import React from \"react\";\r\nimport BasePopover from \"../PopOverBase\";\r\nimport \"./PopOver.scss\";\r\nimport { PopoverProps } from \"../PopOver.types\";\r\n\r\nconst classes = {\r\n container: \"popover_container\",\r\n trigger: \"popover_trigger\",\r\n popover: \"popover\",\r\n\r\n top: \"popover_top\",\r\n bottom: \"popover_bottom\",\r\n left: \"popover_left\",\r\n right: \"popover_right\",\r\n\r\n primary: \"popover_primary\",\r\n secondary: \"popover_secondary\",\r\n tertiary: \"popover_tertiary\",\r\n quaternary: \"popover_quaternary\",\r\n\r\n success: \"popover_success\",\r\n error: \"popover_error\",\r\n warning: \"popover_warning\",\r\n\r\n clear: \"popover_clear\",\r\n\r\n shadowNone: \"popover_shadow-None\",\r\n shadowLight: \"popover_shadow-Light\",\r\n shadowMedium: \"popover_shadow-Medium\",\r\n shadowStrong: \"popover_shadow-Strong\",\r\n shadowIntense: \"popover_shadow-Intense\",\r\n\r\n roundNone: \"popover_round-None\",\r\n roundSmall: \"popover_round-Small\",\r\n roundMedium: \"popover_round-Medium\",\r\n roundLarge: \"popover_round-Large\",\r\n};\r\n\r\nconst Popover: React.FC<PopoverProps> = (props) => {\r\n return <BasePopover {...props} classMap={classes} />;\r\n};\r\n\r\nexport default Popover;\r\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const PopOver = require("./PopOver-OijKNHZU.cjs");
2
+ const PopOver = require("./PopOver-BdZXa2hs.cjs");
3
3
  module.exports = PopOver.Popover;
4
4
  //# sourceMappingURL=PopOver.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { P } from "./PopOver-DNqWcWjU.js";
1
+ import { P } from "./PopOver-C6AnRNop.js";
2
2
  export {
3
3
  P as default
4
4
  };
@@ -33,6 +33,7 @@ const ScrollToTopBase = ({
33
33
  shadow = borealStyleConfig.getDefaultShadow(),
34
34
  IconComponent,
35
35
  offset = 300,
36
+ className,
36
37
  "data-testid": testId = "scroll"
37
38
  }) => {
38
39
  const [isVisible, setIsVisible] = React.useState(false);
@@ -51,7 +52,7 @@ const ScrollToTopBase = ({
51
52
  shadow && classMap[`shadow${capitalize.capitalize(shadow)}`],
52
53
  rounding && classMap[`round${capitalize.capitalize(rounding)}`]
53
54
  );
54
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classMap.wrapper, children: [
55
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classNames.combineClassNames(classMap.wrapper, className), children: [
55
56
  /* @__PURE__ */ jsxRuntime.jsx(
56
57
  "div",
57
58
  {
@@ -92,4 +93,4 @@ const classes = {
92
93
  };
93
94
  const ScrollToTopButton = () => /* @__PURE__ */ jsxRuntime.jsx(ScrollToTopBase, { classMap: classes, IconComponent: ArrowUpIcon });
94
95
  exports.ScrollToTopButton = ScrollToTopButton;
95
- //# sourceMappingURL=STT-D6L-amjZ.cjs.map
96
+ //# sourceMappingURL=STT-BRjQ4z30.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"STT-BRjQ4z30.cjs","sources":["../../src/Icons/ArrowUpIcon.tsx","../../src/components/ScrollToTop/ScrollToTopBase.tsx","../../src/components/ScrollToTop/core/STT.tsx"],"sourcesContent":["const ArrowUpIcon: 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 d=\"M12 21L12 3M12 3L20.5 11.5M12 3L3.5 11.5\"\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 ArrowUpIcon;\r\n","import {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { ScrollToTopProps } from \"./ScrollToTop.types\";\r\n\r\nexport interface ScrollToTopBaseProps extends ScrollToTopProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst ScrollToTopBase: React.FC<ScrollToTopBaseProps> = ({\r\n classMap,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n IconComponent,\r\n offset = 300,\r\n className,\r\n \"data-testid\": testId = \"scroll\",\r\n}) => {\r\n const [isVisible, setIsVisible] = useState(false);\r\n\r\n const toggleVisibility = () => {\r\n setIsVisible(window.pageYOffset > offset);\r\n };\r\n\r\n const scrollToTop = () => {\r\n window.scrollTo({ top: 0, behavior: \"smooth\" });\r\n };\r\n\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", toggleVisibility);\r\n return () => window.removeEventListener(\"scroll\", toggleVisibility);\r\n }, [offset]);\r\n\r\n const iconClass = combineClassNames(\r\n classMap.icon,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n );\r\n\r\n return (\r\n <div className={combineClassNames(classMap.wrapper, className)}>\r\n <div\r\n aria-live=\"polite\"\r\n className=\"sr_only\"\r\n role=\"status\"\r\n data-testid={`${testId}-announcement`}\r\n >\r\n {isVisible ? \"Scroll to top button is now visible\" : \"\"}\r\n </div>\r\n\r\n {isVisible && (\r\n <button\r\n onClick={scrollToTop}\r\n className={classMap.button}\r\n title=\"Scroll to top\"\r\n type=\"button\"\r\n aria-label=\"Scroll to top\"\r\n data-testid={`${testId}-button`}\r\n >\r\n <IconComponent className={iconClass} />\r\n </button>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default ScrollToTopBase;\r\n","import React from \"react\";\r\nimport ScrollToTopBase from \"../ScrollToTopBase\";\r\nimport \"./STT.scss\";\r\nimport { ArrowUpIcon } from \"@/Icons\";\r\n\r\nconst classes = {\r\n wrapper: \"scrollToTop\",\r\n button: \"scrollToTop_button\",\r\n icon: \"scrollToTop_icon\",\r\n\r\n shadowNone: \"scrollToTop_shadow-None\",\r\n shadowLight: \"scrollToTop_shadow-Light\",\r\n shadowMedium: \"scrollToTop_shadow-Medium\",\r\n shadowStrong: \"scrollToTop_shadow-Strong\",\r\n shadowIntense: \"scrollToTop_shadow-Intense\",\r\n\r\n roundNone: \"scrollToTop_round-None\",\r\n roundSmall: \"scrollToTop_round-Small\",\r\n roundMedium: \"scrollToTop_round-Medium\",\r\n roundLarge: \"scrollToTop_round-Large\",\r\n};\r\n\r\nconst ScrollToTopButton: React.FC = () => (\r\n <ScrollToTopBase classMap={classes} IconComponent={ArrowUpIcon} />\r\n);\r\n\r\nexport default ScrollToTopButton;\r\n"],"names":["jsx","getDefaultRounding","getDefaultShadow","useState","useEffect","combineClassNames","capitalize"],"mappings":";;;;;;AAAA,MAAM,cAAuD,CAAC,UAC5DA,2BAAAA;AAAAA,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,UAAAA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB;AACH;ACLF,MAAM,kBAAkD,CAAC;AAAA,EACvD;AAAA,EACA,WAAWC,kBAAAA,mBAAA;AAAA,EACX,SAASC,kBAAAA,iBAAA;AAAA,EACT;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA,eAAe,SAAS;AAC1B,MAAM;AACJ,QAAM,CAAC,WAAW,YAAY,IAAIC,MAAAA,SAAS,KAAK;AAEhD,QAAM,mBAAmB,MAAM;AAC7B,iBAAa,OAAO,cAAc,MAAM;AAAA,EAC1C;AAEA,QAAM,cAAc,MAAM;AACxB,WAAO,SAAS,EAAE,KAAK,GAAG,UAAU,UAAU;AAAA,EAChD;AAEAC,QAAAA,UAAU,MAAM;AACd,WAAO,iBAAiB,UAAU,gBAAgB;AAClD,WAAO,MAAM,OAAO,oBAAoB,UAAU,gBAAgB;AAAA,EACpE,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,YAAYC,WAAAA;AAAAA,IAChB,SAAS;AAAA,IACT,UAAU,SAAS,SAASC,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,IAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,EAAA;AAGrD,yCACG,OAAA,EAAI,WAAWD,WAAAA,kBAAkB,SAAS,SAAS,SAAS,GAC3D,UAAA;AAAA,IAAAL,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,aAAU;AAAA,QACV,WAAU;AAAA,QACV,MAAK;AAAA,QACL,eAAa,GAAG,MAAM;AAAA,QAErB,sBAAY,wCAAwC;AAAA,MAAA;AAAA,IAAA;AAAA,IAGtD,aACCA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS;AAAA,QACT,WAAW,SAAS;AAAA,QACpB,OAAM;AAAA,QACN,MAAK;AAAA,QACL,cAAW;AAAA,QACX,eAAa,GAAG,MAAM;AAAA,QAEtB,UAAAA,2BAAAA,IAAC,eAAA,EAAc,WAAW,UAAA,CAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EACvC,GAEJ;AAEJ;AC/DA,MAAM,UAAU;AAAA,EACd,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AAAA,EAEN,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,oBAA8B,MAClCA,2BAAAA,IAAC,mBAAgB,UAAU,SAAS,eAAe,YAAA,CAAa;;"}
@@ -32,6 +32,7 @@ const ScrollToTopBase = ({
32
32
  shadow = getDefaultShadow(),
33
33
  IconComponent,
34
34
  offset = 300,
35
+ className,
35
36
  "data-testid": testId = "scroll"
36
37
  }) => {
37
38
  const [isVisible, setIsVisible] = useState(false);
@@ -50,7 +51,7 @@ const ScrollToTopBase = ({
50
51
  shadow && classMap[`shadow${capitalize(shadow)}`],
51
52
  rounding && classMap[`round${capitalize(rounding)}`]
52
53
  );
53
- return /* @__PURE__ */ jsxs("div", { className: classMap.wrapper, children: [
54
+ return /* @__PURE__ */ jsxs("div", { className: combineClassNames(classMap.wrapper, className), children: [
54
55
  /* @__PURE__ */ jsx(
55
56
  "div",
56
57
  {
@@ -93,4 +94,4 @@ const ScrollToTopButton = () => /* @__PURE__ */ jsx(ScrollToTopBase, { classMap:
93
94
  export {
94
95
  ScrollToTopButton as S
95
96
  };
96
- //# sourceMappingURL=STT-aXWWubSC.js.map
97
+ //# sourceMappingURL=STT-BywVoric.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"STT-BywVoric.js","sources":["../../src/Icons/ArrowUpIcon.tsx","../../src/components/ScrollToTop/ScrollToTopBase.tsx","../../src/components/ScrollToTop/core/STT.tsx"],"sourcesContent":["const ArrowUpIcon: 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 d=\"M12 21L12 3M12 3L20.5 11.5M12 3L3.5 11.5\"\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 ArrowUpIcon;\r\n","import {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n} from \"../../config/boreal-style-config\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { ScrollToTopProps } from \"./ScrollToTop.types\";\r\n\r\nexport interface ScrollToTopBaseProps extends ScrollToTopProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst ScrollToTopBase: React.FC<ScrollToTopBaseProps> = ({\r\n classMap,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n IconComponent,\r\n offset = 300,\r\n className,\r\n \"data-testid\": testId = \"scroll\",\r\n}) => {\r\n const [isVisible, setIsVisible] = useState(false);\r\n\r\n const toggleVisibility = () => {\r\n setIsVisible(window.pageYOffset > offset);\r\n };\r\n\r\n const scrollToTop = () => {\r\n window.scrollTo({ top: 0, behavior: \"smooth\" });\r\n };\r\n\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", toggleVisibility);\r\n return () => window.removeEventListener(\"scroll\", toggleVisibility);\r\n }, [offset]);\r\n\r\n const iconClass = combineClassNames(\r\n classMap.icon,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`]\r\n );\r\n\r\n return (\r\n <div className={combineClassNames(classMap.wrapper, className)}>\r\n <div\r\n aria-live=\"polite\"\r\n className=\"sr_only\"\r\n role=\"status\"\r\n data-testid={`${testId}-announcement`}\r\n >\r\n {isVisible ? \"Scroll to top button is now visible\" : \"\"}\r\n </div>\r\n\r\n {isVisible && (\r\n <button\r\n onClick={scrollToTop}\r\n className={classMap.button}\r\n title=\"Scroll to top\"\r\n type=\"button\"\r\n aria-label=\"Scroll to top\"\r\n data-testid={`${testId}-button`}\r\n >\r\n <IconComponent className={iconClass} />\r\n </button>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\nexport default ScrollToTopBase;\r\n","import React from \"react\";\r\nimport ScrollToTopBase from \"../ScrollToTopBase\";\r\nimport \"./STT.scss\";\r\nimport { ArrowUpIcon } from \"@/Icons\";\r\n\r\nconst classes = {\r\n wrapper: \"scrollToTop\",\r\n button: \"scrollToTop_button\",\r\n icon: \"scrollToTop_icon\",\r\n\r\n shadowNone: \"scrollToTop_shadow-None\",\r\n shadowLight: \"scrollToTop_shadow-Light\",\r\n shadowMedium: \"scrollToTop_shadow-Medium\",\r\n shadowStrong: \"scrollToTop_shadow-Strong\",\r\n shadowIntense: \"scrollToTop_shadow-Intense\",\r\n\r\n roundNone: \"scrollToTop_round-None\",\r\n roundSmall: \"scrollToTop_round-Small\",\r\n roundMedium: \"scrollToTop_round-Medium\",\r\n roundLarge: \"scrollToTop_round-Large\",\r\n};\r\n\r\nconst ScrollToTopButton: React.FC = () => (\r\n <ScrollToTopBase classMap={classes} IconComponent={ArrowUpIcon} />\r\n);\r\n\r\nexport default ScrollToTopButton;\r\n"],"names":[],"mappings":";;;;;AAAA,MAAM,cAAuD,CAAC,UAC5D;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,GAAE;AAAA,QACF,QAAO;AAAA,QACP,aAAY;AAAA,QACZ,eAAc;AAAA,QACd,gBAAe;AAAA,MAAA;AAAA,IAAA;AAAA,EAChB;AACH;ACLF,MAAM,kBAAkD,CAAC;AAAA,EACvD;AAAA,EACA,WAAW,mBAAA;AAAA,EACX,SAAS,iBAAA;AAAA,EACT;AAAA,EACA,SAAS;AAAA,EACT;AAAA,EACA,eAAe,SAAS;AAC1B,MAAM;AACJ,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAEhD,QAAM,mBAAmB,MAAM;AAC7B,iBAAa,OAAO,cAAc,MAAM;AAAA,EAC1C;AAEA,QAAM,cAAc,MAAM;AACxB,WAAO,SAAS,EAAE,KAAK,GAAG,UAAU,UAAU;AAAA,EAChD;AAEA,YAAU,MAAM;AACd,WAAO,iBAAiB,UAAU,gBAAgB;AAClD,WAAO,MAAM,OAAO,oBAAoB,UAAU,gBAAgB;AAAA,EACpE,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,YAAY;AAAA,IAChB,SAAS;AAAA,IACT,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,IAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,EAAA;AAGrD,8BACG,OAAA,EAAI,WAAW,kBAAkB,SAAS,SAAS,SAAS,GAC3D,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,aAAU;AAAA,QACV,WAAU;AAAA,QACV,MAAK;AAAA,QACL,eAAa,GAAG,MAAM;AAAA,QAErB,sBAAY,wCAAwC;AAAA,MAAA;AAAA,IAAA;AAAA,IAGtD,aACC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SAAS;AAAA,QACT,WAAW,SAAS;AAAA,QACpB,OAAM;AAAA,QACN,MAAK;AAAA,QACL,cAAW;AAAA,QACX,eAAa,GAAG,MAAM;AAAA,QAEtB,UAAA,oBAAC,eAAA,EAAc,WAAW,UAAA,CAAW;AAAA,MAAA;AAAA,IAAA;AAAA,EACvC,GAEJ;AAEJ;AC/DA,MAAM,UAAU;AAAA,EACd,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,MAAM;AAAA,EAEN,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,oBAA8B,MAClC,oBAAC,mBAAgB,UAAU,SAAS,eAAe,YAAA,CAAa;"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const STT = require("./STT-D6L-amjZ.cjs");
2
+ const STT = require("./STT-BRjQ4z30.cjs");
3
3
  module.exports = STT.ScrollToTopButton;
4
4
  //# sourceMappingURL=ScrollToTop.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { S } from "./STT-aXWWubSC.js";
1
+ import { S } from "./STT-BywVoric.js";
2
2
  export {
3
3
  S as default
4
4
  };
@@ -119,7 +119,7 @@ const BaseSelect = forwardRef(
119
119
  "span",
120
120
  {
121
121
  id: descId,
122
- className: "sr-only",
122
+ className: "sr_only",
123
123
  "data-testid": `${testId}-description`,
124
124
  children: ariaDescription
125
125
  }
@@ -161,4 +161,4 @@ Select.displayName = "Select";
161
161
  export {
162
162
  Select as S
163
163
  };
164
- //# sourceMappingURL=Select-_12yQ-yj.js.map
164
+ //# sourceMappingURL=Select-CDWU_cuN.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select-_12yQ-yj.js","sources":["../../src/components/Select/SelectBase.tsx","../../src/components/Select/core/Select.tsx"],"sourcesContent":["import {\r\n forwardRef,\r\n ChangeEvent,\r\n useId,\r\n useMemo,\r\n useEffect,\r\n useState,\r\n} from \"react\";\r\nimport { SelectProps } from \"./Select.types\";\r\nimport { ChevronDownIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\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\ninterface BaseSelectProps extends SelectProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BaseSelect = forwardRef<HTMLSelectElement, BaseSelectProps>(\r\n (\r\n {\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n outline = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n options,\r\n value,\r\n onChange,\r\n placeholder = \"Select an option\",\r\n ariaLabel,\r\n ariaDescription,\r\n disabled = false,\r\n className = \"\",\r\n classMap,\r\n asyncOptions,\r\n pollInterval = 0,\r\n \"data-testid\": testId = \"select\",\r\n },\r\n ref\r\n ) => {\r\n const id = useId();\r\n const selectId = `${id}-select`;\r\n const descId = ariaDescription ? `${id}-desc` : undefined;\r\n\r\n const [internalOptions, setInternalOptions] = useState(options);\r\n\r\n useEffect(() => {\r\n if (!asyncOptions) return;\r\n\r\n let isMounted = true;\r\n\r\n const load = async () => {\r\n try {\r\n const fetched = await asyncOptions(\"\");\r\n if (isMounted) setInternalOptions(fetched);\r\n } catch (err) {\r\n console.error(\"Failed to load options:\", err);\r\n }\r\n };\r\n\r\n load();\r\n\r\n if (pollInterval > 0) {\r\n const intervalId = setInterval(load, pollInterval);\r\n return () => {\r\n clearInterval(intervalId);\r\n isMounted = false;\r\n };\r\n }\r\n\r\n return () => {\r\n isMounted = false;\r\n };\r\n }, [asyncOptions, pollInterval]);\r\n\r\n const handleChange = (event: ChangeEvent<HTMLSelectElement>) => {\r\n onChange(event.target.value);\r\n };\r\n\r\n const wrapperClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n classMap[theme],\r\n classMap[state],\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline ? classMap.outline : \"\",\r\n disabled ? classMap.disabled : \"\"\r\n ),\r\n [classMap, theme, state, className, shadow, rounding, outline, disabled]\r\n );\r\n\r\n const selectClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.select,\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline ? classMap.outline : \"\"\r\n ),\r\n [classMap, theme, state, outline]\r\n );\r\n\r\n return (\r\n <div className={wrapperClasses} data-testid={testId}>\r\n <select\r\n ref={ref}\r\n id={selectId}\r\n value={value}\r\n onChange={handleChange}\r\n className={selectClasses}\r\n aria-label={ariaLabel || placeholder}\r\n aria-describedby={descId}\r\n aria-disabled={disabled}\r\n disabled={disabled}\r\n data-testid={`${testId}-input`}\r\n >\r\n <option value=\"\" disabled hidden>\r\n {placeholder}\r\n </option>\r\n {(asyncOptions ? internalOptions : options).map((option) => (\r\n <option\r\n key={option.value}\r\n value={option.value}\r\n data-testid={`${testId}-option-${option.value}`}\r\n >\r\n {option.label}\r\n </option>\r\n ))}\r\n </select>\r\n\r\n <div\r\n className={`${classMap.icon} ${classMap[theme]} ${\r\n disabled && classMap.disabled ? classMap.disabled : \"\"\r\n }`}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n <ChevronDownIcon />\r\n </div>\r\n\r\n {ariaDescription && (\r\n <span\r\n id={descId}\r\n className=\"sr-only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </span>\r\n )}\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nBaseSelect.displayName = \"BaseSelect\";\r\nexport default BaseSelect;\r\n","import React from \"react\";\r\nimport BaseSelect from \"../SelectBase\";\r\nimport \"./Select.scss\";\r\nimport { SelectProps } from \"../Select.types\";\r\n\r\nconst classes = {\r\n wrapper: \"select_wrapper\",\r\n select: \"select\",\r\n outline: \"select_outline\",\r\n\r\n primary: \"select_primary\",\r\n secondary: \"select_secondary\",\r\n tertiary: \"select_tertiary\",\r\n quaternary: \"select_quaternary\",\r\n\r\n success: \"select_success\",\r\n error: \"select_error\",\r\n warning: \"select_warning\",\r\n\r\n clear: \"select_clear\",\r\n\r\n icon: \"select_icon\",\r\n disabled: \"select_disabled\",\r\n\r\n shadowNone: \"select_shadow-None\",\r\n shadowLight: \"select_shadow-Light\",\r\n shadowMedium: \"select_shadow-Medium\",\r\n shadowStrong: \"select_shadow-Strong\",\r\n shadowIntense: \"select_shadow-Intense\",\r\n\r\n roundNone: \"select_round-None\",\r\n roundSmall: \"select_round-Small\",\r\n roundMedium: \"select_round-Medium\",\r\n roundLarge: \"select_round-Large\",\r\n};\r\n\r\nconst Select = React.forwardRef<HTMLSelectElement, SelectProps>(\r\n (props, ref) => {\r\n return <BaseSelect {...props} ref={ref} classMap={classes} />;\r\n }\r\n);\r\n\r\nSelect.displayName = \"Select\";\r\nexport default Select;\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Select-CDWU_cuN.js","sources":["../../src/components/Select/SelectBase.tsx","../../src/components/Select/core/Select.tsx"],"sourcesContent":["import {\r\n forwardRef,\r\n ChangeEvent,\r\n useId,\r\n useMemo,\r\n useEffect,\r\n useState,\r\n} from \"react\";\r\nimport { SelectProps } from \"./Select.types\";\r\nimport { ChevronDownIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\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\ninterface BaseSelectProps extends SelectProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BaseSelect = forwardRef<HTMLSelectElement, BaseSelectProps>(\r\n (\r\n {\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n outline = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n options,\r\n value,\r\n onChange,\r\n placeholder = \"Select an option\",\r\n ariaLabel,\r\n ariaDescription,\r\n disabled = false,\r\n className = \"\",\r\n classMap,\r\n asyncOptions,\r\n pollInterval = 0,\r\n \"data-testid\": testId = \"select\",\r\n },\r\n ref\r\n ) => {\r\n const id = useId();\r\n const selectId = `${id}-select`;\r\n const descId = ariaDescription ? `${id}-desc` : undefined;\r\n\r\n const [internalOptions, setInternalOptions] = useState(options);\r\n\r\n useEffect(() => {\r\n if (!asyncOptions) return;\r\n\r\n let isMounted = true;\r\n\r\n const load = async () => {\r\n try {\r\n const fetched = await asyncOptions(\"\");\r\n if (isMounted) setInternalOptions(fetched);\r\n } catch (err) {\r\n console.error(\"Failed to load options:\", err);\r\n }\r\n };\r\n\r\n load();\r\n\r\n if (pollInterval > 0) {\r\n const intervalId = setInterval(load, pollInterval);\r\n return () => {\r\n clearInterval(intervalId);\r\n isMounted = false;\r\n };\r\n }\r\n\r\n return () => {\r\n isMounted = false;\r\n };\r\n }, [asyncOptions, pollInterval]);\r\n\r\n const handleChange = (event: ChangeEvent<HTMLSelectElement>) => {\r\n onChange(event.target.value);\r\n };\r\n\r\n const wrapperClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n classMap[theme],\r\n classMap[state],\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline ? classMap.outline : \"\",\r\n disabled ? classMap.disabled : \"\"\r\n ),\r\n [classMap, theme, state, className, shadow, rounding, outline, disabled]\r\n );\r\n\r\n const selectClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.select,\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline ? classMap.outline : \"\"\r\n ),\r\n [classMap, theme, state, outline]\r\n );\r\n\r\n return (\r\n <div className={wrapperClasses} data-testid={testId}>\r\n <select\r\n ref={ref}\r\n id={selectId}\r\n value={value}\r\n onChange={handleChange}\r\n className={selectClasses}\r\n aria-label={ariaLabel || placeholder}\r\n aria-describedby={descId}\r\n aria-disabled={disabled}\r\n disabled={disabled}\r\n data-testid={`${testId}-input`}\r\n >\r\n <option value=\"\" disabled hidden>\r\n {placeholder}\r\n </option>\r\n {(asyncOptions ? internalOptions : options).map((option) => (\r\n <option\r\n key={option.value}\r\n value={option.value}\r\n data-testid={`${testId}-option-${option.value}`}\r\n >\r\n {option.label}\r\n </option>\r\n ))}\r\n </select>\r\n\r\n <div\r\n className={`${classMap.icon} ${classMap[theme]} ${\r\n disabled && classMap.disabled ? classMap.disabled : \"\"\r\n }`}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n <ChevronDownIcon />\r\n </div>\r\n\r\n {ariaDescription && (\r\n <span\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </span>\r\n )}\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nBaseSelect.displayName = \"BaseSelect\";\r\nexport default BaseSelect;\r\n","import React from \"react\";\r\nimport BaseSelect from \"../SelectBase\";\r\nimport \"./Select.scss\";\r\nimport { SelectProps } from \"../Select.types\";\r\n\r\nconst classes = {\r\n wrapper: \"select_wrapper\",\r\n select: \"select\",\r\n outline: \"select_outline\",\r\n\r\n primary: \"select_primary\",\r\n secondary: \"select_secondary\",\r\n tertiary: \"select_tertiary\",\r\n quaternary: \"select_quaternary\",\r\n\r\n success: \"select_success\",\r\n error: \"select_error\",\r\n warning: \"select_warning\",\r\n\r\n clear: \"select_clear\",\r\n\r\n icon: \"select_icon\",\r\n disabled: \"select_disabled\",\r\n\r\n shadowNone: \"select_shadow-None\",\r\n shadowLight: \"select_shadow-Light\",\r\n shadowMedium: \"select_shadow-Medium\",\r\n shadowStrong: \"select_shadow-Strong\",\r\n shadowIntense: \"select_shadow-Intense\",\r\n\r\n roundNone: \"select_round-None\",\r\n roundSmall: \"select_round-Small\",\r\n roundMedium: \"select_round-Medium\",\r\n roundLarge: \"select_round-Large\",\r\n};\r\n\r\nconst Select = React.forwardRef<HTMLSelectElement, SelectProps>(\r\n (props, ref) => {\r\n return <BaseSelect {...props} ref={ref} classMap={classes} />;\r\n }\r\n);\r\n\r\nSelect.displayName = \"Select\";\r\nexport default Select;\r\n"],"names":[],"mappings":"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"}
@@ -120,7 +120,7 @@ const BaseSelect = React.forwardRef(
120
120
  "span",
121
121
  {
122
122
  id: descId,
123
- className: "sr-only",
123
+ className: "sr_only",
124
124
  "data-testid": `${testId}-description`,
125
125
  children: ariaDescription
126
126
  }
@@ -160,4 +160,4 @@ const Select = React.forwardRef(
160
160
  );
161
161
  Select.displayName = "Select";
162
162
  exports.Select = Select;
163
- //# sourceMappingURL=Select-CitauzQm.cjs.map
163
+ //# sourceMappingURL=Select-DWzxymiA.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select-CitauzQm.cjs","sources":["../../src/components/Select/SelectBase.tsx","../../src/components/Select/core/Select.tsx"],"sourcesContent":["import {\r\n forwardRef,\r\n ChangeEvent,\r\n useId,\r\n useMemo,\r\n useEffect,\r\n useState,\r\n} from \"react\";\r\nimport { SelectProps } from \"./Select.types\";\r\nimport { ChevronDownIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\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\ninterface BaseSelectProps extends SelectProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BaseSelect = forwardRef<HTMLSelectElement, BaseSelectProps>(\r\n (\r\n {\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n outline = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n options,\r\n value,\r\n onChange,\r\n placeholder = \"Select an option\",\r\n ariaLabel,\r\n ariaDescription,\r\n disabled = false,\r\n className = \"\",\r\n classMap,\r\n asyncOptions,\r\n pollInterval = 0,\r\n \"data-testid\": testId = \"select\",\r\n },\r\n ref\r\n ) => {\r\n const id = useId();\r\n const selectId = `${id}-select`;\r\n const descId = ariaDescription ? `${id}-desc` : undefined;\r\n\r\n const [internalOptions, setInternalOptions] = useState(options);\r\n\r\n useEffect(() => {\r\n if (!asyncOptions) return;\r\n\r\n let isMounted = true;\r\n\r\n const load = async () => {\r\n try {\r\n const fetched = await asyncOptions(\"\");\r\n if (isMounted) setInternalOptions(fetched);\r\n } catch (err) {\r\n console.error(\"Failed to load options:\", err);\r\n }\r\n };\r\n\r\n load();\r\n\r\n if (pollInterval > 0) {\r\n const intervalId = setInterval(load, pollInterval);\r\n return () => {\r\n clearInterval(intervalId);\r\n isMounted = false;\r\n };\r\n }\r\n\r\n return () => {\r\n isMounted = false;\r\n };\r\n }, [asyncOptions, pollInterval]);\r\n\r\n const handleChange = (event: ChangeEvent<HTMLSelectElement>) => {\r\n onChange(event.target.value);\r\n };\r\n\r\n const wrapperClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n classMap[theme],\r\n classMap[state],\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline ? classMap.outline : \"\",\r\n disabled ? classMap.disabled : \"\"\r\n ),\r\n [classMap, theme, state, className, shadow, rounding, outline, disabled]\r\n );\r\n\r\n const selectClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.select,\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline ? classMap.outline : \"\"\r\n ),\r\n [classMap, theme, state, outline]\r\n );\r\n\r\n return (\r\n <div className={wrapperClasses} data-testid={testId}>\r\n <select\r\n ref={ref}\r\n id={selectId}\r\n value={value}\r\n onChange={handleChange}\r\n className={selectClasses}\r\n aria-label={ariaLabel || placeholder}\r\n aria-describedby={descId}\r\n aria-disabled={disabled}\r\n disabled={disabled}\r\n data-testid={`${testId}-input`}\r\n >\r\n <option value=\"\" disabled hidden>\r\n {placeholder}\r\n </option>\r\n {(asyncOptions ? internalOptions : options).map((option) => (\r\n <option\r\n key={option.value}\r\n value={option.value}\r\n data-testid={`${testId}-option-${option.value}`}\r\n >\r\n {option.label}\r\n </option>\r\n ))}\r\n </select>\r\n\r\n <div\r\n className={`${classMap.icon} ${classMap[theme]} ${\r\n disabled && classMap.disabled ? classMap.disabled : \"\"\r\n }`}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n <ChevronDownIcon />\r\n </div>\r\n\r\n {ariaDescription && (\r\n <span\r\n id={descId}\r\n className=\"sr-only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </span>\r\n )}\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nBaseSelect.displayName = \"BaseSelect\";\r\nexport default BaseSelect;\r\n","import React from \"react\";\r\nimport BaseSelect from \"../SelectBase\";\r\nimport \"./Select.scss\";\r\nimport { SelectProps } from \"../Select.types\";\r\n\r\nconst classes = {\r\n wrapper: \"select_wrapper\",\r\n select: \"select\",\r\n outline: \"select_outline\",\r\n\r\n primary: \"select_primary\",\r\n secondary: \"select_secondary\",\r\n tertiary: \"select_tertiary\",\r\n quaternary: \"select_quaternary\",\r\n\r\n success: \"select_success\",\r\n error: \"select_error\",\r\n warning: \"select_warning\",\r\n\r\n clear: \"select_clear\",\r\n\r\n icon: \"select_icon\",\r\n disabled: \"select_disabled\",\r\n\r\n shadowNone: \"select_shadow-None\",\r\n shadowLight: \"select_shadow-Light\",\r\n shadowMedium: \"select_shadow-Medium\",\r\n shadowStrong: \"select_shadow-Strong\",\r\n shadowIntense: \"select_shadow-Intense\",\r\n\r\n roundNone: \"select_round-None\",\r\n roundSmall: \"select_round-Small\",\r\n roundMedium: \"select_round-Medium\",\r\n roundLarge: \"select_round-Large\",\r\n};\r\n\r\nconst Select = React.forwardRef<HTMLSelectElement, SelectProps>(\r\n (props, ref) => {\r\n return <BaseSelect {...props} ref={ref} classMap={classes} />;\r\n }\r\n);\r\n\r\nSelect.displayName = \"Select\";\r\nexport default Select;\r\n"],"names":["forwardRef","getDefaultTheme","getDefaultRounding","getDefaultShadow","useId","useState","useEffect","useMemo","combineClassNames","capitalize","jsxs","jsx","ChevronDownIcon"],"mappings":"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"}
1
+ {"version":3,"file":"Select-DWzxymiA.cjs","sources":["../../src/components/Select/SelectBase.tsx","../../src/components/Select/core/Select.tsx"],"sourcesContent":["import {\r\n forwardRef,\r\n ChangeEvent,\r\n useId,\r\n useMemo,\r\n useEffect,\r\n useState,\r\n} from \"react\";\r\nimport { SelectProps } from \"./Select.types\";\r\nimport { ChevronDownIcon } from \"../../Icons\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\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\ninterface BaseSelectProps extends SelectProps {\r\n classMap: Record<string, string>;\r\n}\r\n\r\nconst BaseSelect = forwardRef<HTMLSelectElement, BaseSelectProps>(\r\n (\r\n {\r\n theme = getDefaultTheme(),\r\n state = \"\",\r\n outline = false,\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n options,\r\n value,\r\n onChange,\r\n placeholder = \"Select an option\",\r\n ariaLabel,\r\n ariaDescription,\r\n disabled = false,\r\n className = \"\",\r\n classMap,\r\n asyncOptions,\r\n pollInterval = 0,\r\n \"data-testid\": testId = \"select\",\r\n },\r\n ref\r\n ) => {\r\n const id = useId();\r\n const selectId = `${id}-select`;\r\n const descId = ariaDescription ? `${id}-desc` : undefined;\r\n\r\n const [internalOptions, setInternalOptions] = useState(options);\r\n\r\n useEffect(() => {\r\n if (!asyncOptions) return;\r\n\r\n let isMounted = true;\r\n\r\n const load = async () => {\r\n try {\r\n const fetched = await asyncOptions(\"\");\r\n if (isMounted) setInternalOptions(fetched);\r\n } catch (err) {\r\n console.error(\"Failed to load options:\", err);\r\n }\r\n };\r\n\r\n load();\r\n\r\n if (pollInterval > 0) {\r\n const intervalId = setInterval(load, pollInterval);\r\n return () => {\r\n clearInterval(intervalId);\r\n isMounted = false;\r\n };\r\n }\r\n\r\n return () => {\r\n isMounted = false;\r\n };\r\n }, [asyncOptions, pollInterval]);\r\n\r\n const handleChange = (event: ChangeEvent<HTMLSelectElement>) => {\r\n onChange(event.target.value);\r\n };\r\n\r\n const wrapperClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.wrapper,\r\n classMap[theme],\r\n classMap[state],\r\n className,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline ? classMap.outline : \"\",\r\n disabled ? classMap.disabled : \"\"\r\n ),\r\n [classMap, theme, state, className, shadow, rounding, outline, disabled]\r\n );\r\n\r\n const selectClasses = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.select,\r\n classMap[theme],\r\n classMap[state],\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n outline ? classMap.outline : \"\"\r\n ),\r\n [classMap, theme, state, outline]\r\n );\r\n\r\n return (\r\n <div className={wrapperClasses} data-testid={testId}>\r\n <select\r\n ref={ref}\r\n id={selectId}\r\n value={value}\r\n onChange={handleChange}\r\n className={selectClasses}\r\n aria-label={ariaLabel || placeholder}\r\n aria-describedby={descId}\r\n aria-disabled={disabled}\r\n disabled={disabled}\r\n data-testid={`${testId}-input`}\r\n >\r\n <option value=\"\" disabled hidden>\r\n {placeholder}\r\n </option>\r\n {(asyncOptions ? internalOptions : options).map((option) => (\r\n <option\r\n key={option.value}\r\n value={option.value}\r\n data-testid={`${testId}-option-${option.value}`}\r\n >\r\n {option.label}\r\n </option>\r\n ))}\r\n </select>\r\n\r\n <div\r\n className={`${classMap.icon} ${classMap[theme]} ${\r\n disabled && classMap.disabled ? classMap.disabled : \"\"\r\n }`}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n <ChevronDownIcon />\r\n </div>\r\n\r\n {ariaDescription && (\r\n <span\r\n id={descId}\r\n className=\"sr_only\"\r\n data-testid={`${testId}-description`}\r\n >\r\n {ariaDescription}\r\n </span>\r\n )}\r\n </div>\r\n );\r\n }\r\n);\r\n\r\nBaseSelect.displayName = \"BaseSelect\";\r\nexport default BaseSelect;\r\n","import React from \"react\";\r\nimport BaseSelect from \"../SelectBase\";\r\nimport \"./Select.scss\";\r\nimport { SelectProps } from \"../Select.types\";\r\n\r\nconst classes = {\r\n wrapper: \"select_wrapper\",\r\n select: \"select\",\r\n outline: \"select_outline\",\r\n\r\n primary: \"select_primary\",\r\n secondary: \"select_secondary\",\r\n tertiary: \"select_tertiary\",\r\n quaternary: \"select_quaternary\",\r\n\r\n success: \"select_success\",\r\n error: \"select_error\",\r\n warning: \"select_warning\",\r\n\r\n clear: \"select_clear\",\r\n\r\n icon: \"select_icon\",\r\n disabled: \"select_disabled\",\r\n\r\n shadowNone: \"select_shadow-None\",\r\n shadowLight: \"select_shadow-Light\",\r\n shadowMedium: \"select_shadow-Medium\",\r\n shadowStrong: \"select_shadow-Strong\",\r\n shadowIntense: \"select_shadow-Intense\",\r\n\r\n roundNone: \"select_round-None\",\r\n roundSmall: \"select_round-Small\",\r\n roundMedium: \"select_round-Medium\",\r\n roundLarge: \"select_round-Large\",\r\n};\r\n\r\nconst Select = React.forwardRef<HTMLSelectElement, SelectProps>(\r\n (props, ref) => {\r\n return <BaseSelect {...props} ref={ref} classMap={classes} />;\r\n }\r\n);\r\n\r\nSelect.displayName = \"Select\";\r\nexport default Select;\r\n"],"names":["forwardRef","getDefaultTheme","getDefaultRounding","getDefaultShadow","useId","useState","useEffect","useMemo","combineClassNames","capitalize","jsxs","jsx","ChevronDownIcon"],"mappings":";;;;;;;AAsBA,MAAM,aAAaA,MAAAA;AAAAA,EACjB,CACE;AAAA,IACE,QAAQC,kBAAAA,gBAAA;AAAA,IACR,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,WAAWC,kBAAAA,mBAAA;AAAA,IACX,SAASC,kBAAAA,iBAAA;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf,eAAe,SAAS;AAAA,EAAA,GAE1B,QACG;AACH,UAAM,KAAKC,MAAAA,MAAA;AACX,UAAM,WAAW,GAAG,EAAE;AACtB,UAAM,SAAS,kBAAkB,GAAG,EAAE,UAAU;AAEhD,UAAM,CAAC,iBAAiB,kBAAkB,IAAIC,MAAAA,SAAS,OAAO;AAE9DC,UAAAA,UAAU,MAAM;AACd,UAAI,CAAC,aAAc;AAEnB,UAAI,YAAY;AAEhB,YAAM,OAAO,YAAY;AACvB,YAAI;AACF,gBAAM,UAAU,MAAM,aAAa,EAAE;AACrC,cAAI,8BAA8B,OAAO;AAAA,QAC3C,SAAS,KAAK;AACZ,kBAAQ,MAAM,2BAA2B,GAAG;AAAA,QAC9C;AAAA,MACF;AAEA,WAAA;AAEA,UAAI,eAAe,GAAG;AACpB,cAAM,aAAa,YAAY,MAAM,YAAY;AACjD,eAAO,MAAM;AACX,wBAAc,UAAU;AACxB,sBAAY;AAAA,QACd;AAAA,MACF;AAEA,aAAO,MAAM;AACX,oBAAY;AAAA,MACd;AAAA,IACF,GAAG,CAAC,cAAc,YAAY,CAAC;AAE/B,UAAM,eAAe,CAAC,UAA0C;AAC9D,eAAS,MAAM,OAAO,KAAK;AAAA,IAC7B;AAEA,UAAM,iBAAiBC,MAAAA;AAAAA,MACrB,MACEC,WAAAA;AAAAA,QACE,SAAS;AAAA,QACT,SAAS,KAAK;AAAA,QACd,SAAS,KAAK;AAAA,QACd;AAAA,QACA,UAAU,SAAS,SAASC,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,QAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,QACnD,UAAU,SAAS,UAAU;AAAA,QAC7B,WAAW,SAAS,WAAW;AAAA,MAAA;AAAA,MAEnC,CAAC,UAAU,OAAO,OAAO,WAAW,QAAQ,UAAU,SAAS,QAAQ;AAAA,IAAA;AAGzE,UAAM,gBAAgBF,MAAAA;AAAAA,MACpB,MACEC,WAAAA;AAAAA,QACE,SAAS;AAAA,QACT,SAAS,KAAK;AAAA,QACd,SAAS,KAAK;AAAA,QACd,UAAU,SAAS,SAASC,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,QAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,QACnD,UAAU,SAAS,UAAU;AAAA,MAAA;AAAA,MAEjC,CAAC,UAAU,OAAO,OAAO,OAAO;AAAA,IAAA;AAGlC,WACEC,2BAAAA,KAAC,OAAA,EAAI,WAAW,gBAAgB,eAAa,QAC3C,UAAA;AAAA,MAAAA,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC;AAAA,UACA,IAAI;AAAA,UACJ;AAAA,UACA,UAAU;AAAA,UACV,WAAW;AAAA,UACX,cAAY,aAAa;AAAA,UACzB,oBAAkB;AAAA,UAClB,iBAAe;AAAA,UACf;AAAA,UACA,eAAa,GAAG,MAAM;AAAA,UAEtB,UAAA;AAAA,YAAAC,2BAAAA,IAAC,YAAO,OAAM,IAAG,UAAQ,MAAC,QAAM,MAC7B,UAAA,YAAA,CACH;AAAA,aACE,eAAe,kBAAkB,SAAS,IAAI,CAAC,WAC/CA,2BAAAA;AAAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,OAAO,OAAO;AAAA,gBACd,eAAa,GAAG,MAAM,WAAW,OAAO,KAAK;AAAA,gBAE5C,UAAA,OAAO;AAAA,cAAA;AAAA,cAJH,OAAO;AAAA,YAAA,CAMf;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,MAGHA,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,GAAG,SAAS,IAAI,IAAI,SAAS,KAAK,CAAC,IAC5C,YAAY,SAAS,WAAW,SAAS,WAAW,EACtD;AAAA,UACA,eAAY;AAAA,UACZ,eAAa,GAAG,MAAM;AAAA,UAEtB,yCAACC,iBAAAA,iBAAA,CAAA,CAAgB;AAAA,QAAA;AAAA,MAAA;AAAA,MAGlB,mBACCD,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,IAAI;AAAA,UACJ,WAAU;AAAA,UACV,eAAa,GAAG,MAAM;AAAA,UAErB,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACH,GAEJ;AAAA,EAEJ;AACF;AAEA,WAAW,cAAc;AC/JzB,MAAM,UAAU;AAAA,EACd,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EAET,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,YAAY;AAAA,EAEZ,SAAS;AAAA,EACT,OAAO;AAAA,EACP,SAAS;AAAA,EAET,OAAO;AAAA,EAEP,MAAM;AAAA,EACN,UAAU;AAAA,EAEV,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,SAAS,MAAM;AAAA,EACnB,CAAC,OAAO,QAAQ;AACd,0CAAQ,YAAA,EAAY,GAAG,OAAO,KAAU,UAAU,SAAS;AAAA,EAC7D;AACF;AAEA,OAAO,cAAc;;"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const Select = require("./Select-CitauzQm.cjs");
2
+ const Select = require("./Select-DWzxymiA.cjs");
3
3
  module.exports = Select.Select;
4
4
  //# sourceMappingURL=Select.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { S } from "./Select-_12yQ-yj.js";
1
+ import { S } from "./Select-CDWU_cuN.js";
2
2
  export {
3
3
  S as default
4
4
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar-CqTJJULG.cjs","sources":["../../src/components/Sidebar/SidebarBase.tsx","../../src/components/Sidebar/core/Sidebar.tsx"],"sourcesContent":["import React, { useState, useMemo, useRef, useEffect } from \"react\";\nimport { SidebarProps } from \"./Sidebar.types\";\nimport { combineClassNames } from \"@/utils/classNames\";\nimport {\n getDefaultRounding,\n getDefaultShadow,\n getDefaultTheme,\n} from \"@/config/boreal-style-config\";\nimport { capitalize } from \"@/utils/capitalize\";\nimport { ChevronDownIcon } from \"@/Icons\";\n\nexport interface BaseSidebarProps extends SidebarProps {\n classMap: Record<string, string>;\n}\n\nconst SidebarBase: React.FC<BaseSidebarProps> = ({\n links,\n classMap,\n currentPath,\n LinkComponent = \"a\",\n theme = getDefaultTheme(),\n rounding = getDefaultRounding(),\n shadow = getDefaultShadow(),\n state = \"\",\n showFooter = false,\n footerLinks,\n footerVersion,\n outline = false,\n className = \"\",\n \"data-testid\": testId = \"sidebar\",\n ariaLabel = \"Sidebar navigation\",\n ...rest\n}) => {\n const [openItems, setOpenItems] = useState<Record<string, boolean>>({});\n\n const toggleItem = (key: string) => {\n setOpenItems((prev) => ({ ...prev, [key]: !prev[key] }));\n };\n\n const submenuRefs = useRef<Record<string, HTMLDivElement | null>>({});\n\n const setSubmenuRef = (key: string, el: HTMLDivElement | null) => {\n submenuRefs.current[key] = el;\n };\n\n const getSubmenuHeight = (key: string) => {\n const el = submenuRefs.current[key];\n return el ? `${el.scrollHeight}px` : \"0px\";\n };\n\n const containerClasses = useMemo(\n () =>\n combineClassNames(\n classMap.wrapper,\n className,\n classMap[theme],\n classMap[state],\n shadow && classMap[`shadow${capitalize(shadow)}`],\n rounding && classMap[`round${capitalize(rounding)}`],\n outline ? classMap.outline : \"\"\n ),\n [className, theme, state, outline, rounding, shadow]\n );\n\n const renderLinks = (items: typeof links, isChild = false) => (\n <ul\n className={combineClassNames(\n classMap.list,\n isChild ? classMap.childList : \"\"\n )}\n data-testid={`${testId}-list`}\n >\n {items.map(({ label, href, children, icon }) => {\n const isActive = href && currentPath === href;\n const isOpen = openItems[label] || false;\n\n return (\n <li\n key={label}\n className={classMap.item}\n data-testid={`${testId}-listItems`}\n >\n {children && children.length > 0 ? (\n <>\n <button\n type=\"button\"\n className={combineClassNames(\n classMap.link,\n isOpen ? classMap.active : \"\"\n )}\n onClick={() => toggleItem(label)}\n aria-expanded={isOpen}\n data-testid={`${testId}-exapndItemButton`}\n >\n {icon && <span className={classMap.icon}>{icon}</span>}\n <span data-testid={`${testId}-exapndItemLabel`}>{label}</span>\n <ChevronDownIcon\n className={combineClassNames(\n classMap.chevron,\n isOpen ? classMap.chevronOpen : \"\"\n )}\n data-testid={`${testId}-exapndIcon`}\n />\n </button>\n <div\n ref={(el) => setSubmenuRef(label, el)}\n className={combineClassNames(\n classMap.submenu,\n isOpen ? classMap.submenuOpen : \"\"\n )}\n style={{\n maxHeight: isOpen ? getSubmenuHeight(label) : \"0px\",\n }}\n data-testid={`${testId}-subMenu`}\n >\n {renderLinks(children, true)}\n </div>\n </>\n ) : href ? (\n <LinkComponent\n href={href}\n className={combineClassNames(\n classMap.link,\n isChild ? classMap.childLink : \"\",\n isActive ? classMap.active : \"\"\n )}\n aria-current={isActive ? \"page\" : undefined}\n data-testid={`${testId}-sidebarLink`}\n >\n {icon && <span className={classMap.icon}>{icon}</span>}\n {label}\n </LinkComponent>\n ) : (\n <span\n className={combineClassNames(\n classMap.link,\n isChild ? classMap.childLink : \"\"\n )}\n data-testid={`${testId}-sidebarLabel`}\n >\n {icon && <span className={classMap.icon}>{icon}</span>}\n {label}\n </span>\n )}\n </li>\n );\n })}\n </ul>\n );\n\n return (\n <nav\n className={containerClasses}\n aria-label={ariaLabel}\n {...rest}\n data-testid={testId}\n >\n <nav className={classMap.nav}>{renderLinks(links)}</nav>\n {showFooter && (\n <footer className={classMap.footer} data-testid={`${testId}-footer`}>\n {footerLinks?.map(({ label, href }) => (\n <LinkComponent\n key={label}\n href={href}\n className={classMap.footerLink}\n data-testid={`${testId}-footerLink`}\n >\n {label}\n </LinkComponent>\n ))}\n\n {footerVersion && (\n <span\n className={classMap.footerVersion}\n data-testid={`${testId}-footerVersion`}\n >\n {footerVersion}\n </span>\n )}\n </footer>\n )}\n </nav>\n );\n};\n\nSidebarBase.displayName = \"SidebarBase\";\n\nexport default SidebarBase;\n","import React from \"react\";\nimport SidebarBase from \"../SidebarBase\";\nimport \"./Sidebar.scss\";\nimport { SidebarProps } from \"../Sidebar.types\";\n\nconst classes = {\n wrapper: \"sidebar\",\n nav: \"sidebar_nav\",\n list: \"sidebar_list\",\n childList: \"sidebar_child-list\",\n item: \"sidebar_item\",\n link: \"sidebar_link\",\n childLink: \"sidebar_child-link\",\n active: \"sidebar_active\",\n\n footer: \"sidebar_footer\",\n footerLink: \"sidebar_footer-link\",\n footerVersion: \"sidebar_footer-version\",\n\n chevron: \"sidebar_chevron\",\n chevronOpen: \"sidebar_chevron_open\",\n\n submenu: \"sidebar_submenu\",\n submenuOpen: \"sidebar_submenu_open\",\n\n outline: \"sidebar_outline\",\n\n primary: \"sidebar_primary\",\n secondary: \"sidebar_secondary\",\n tertiary: \"sidebar_tertiary\",\n quaternary: \"sidebar_quaternary\",\n\n success: \"sidebar_success\",\n error: \"sidebar_error\",\n warning: \"sidebar_warning\",\n\n clear: \"sidebar_clear\",\n\n shadowNone: \"sidebar_shadow-None\",\n shadowLight: \"sidebar_shadow-Light\",\n shadowMedium: \"sidebar_shadow-Medium\",\n shadowStrong: \"sidebar_shadow-Strong\",\n shadowIntense: \"sidebar_shadow-Intense\",\n\n roundNone: \"sidebar_round-None\",\n roundSmall: \"sidebar_round-Small\",\n roundMedium: \"sidebar_round-Medium\",\n roundLarge: \"sidebar_round-Large\",\n};\n\nconst Sidebar: React.FC<SidebarProps> = ({ currentPath, ...props }) => (\n <SidebarBase {...props} currentPath={currentPath} classMap={classes} />\n);\n\nexport default Sidebar;\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","useState","useRef","useMemo","combineClassNames","capitalize","jsx","jsxs","Fragment","ChevronDownIcon"],"mappings":"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"}
1
+ {"version":3,"file":"Sidebar-CqTJJULG.cjs","sources":["../../src/components/Sidebar/SidebarBase.tsx","../../src/components/Sidebar/core/Sidebar.tsx"],"sourcesContent":["import React, { useState, useMemo, useRef, useEffect } from \"react\";\nimport { SidebarProps } from \"./Sidebar.types\";\nimport { combineClassNames } from \"@/utils/classNames\";\nimport {\n getDefaultRounding,\n getDefaultShadow,\n getDefaultTheme,\n} from \"@/config/boreal-style-config\";\nimport { capitalize } from \"@/utils/capitalize\";\nimport { ChevronDownIcon } from \"@/Icons\";\n\nexport interface BaseSidebarProps extends SidebarProps {\n classMap: Record<string, string>;\n LinkComponent?: React.ElementType;\n}\n\nconst SidebarBase: React.FC<BaseSidebarProps> = ({\n links,\n classMap,\n currentPath,\n LinkComponent = \"a\",\n theme = getDefaultTheme(),\n rounding = getDefaultRounding(),\n shadow = getDefaultShadow(),\n state = \"\",\n showFooter = false,\n footerLinks,\n footerVersion,\n outline = false,\n className = \"\",\n \"data-testid\": testId = \"sidebar\",\n ariaLabel = \"Sidebar navigation\",\n ...rest\n}) => {\n const [openItems, setOpenItems] = useState<Record<string, boolean>>({});\n\n const toggleItem = (key: string) => {\n setOpenItems((prev) => ({ ...prev, [key]: !prev[key] }));\n };\n\n const submenuRefs = useRef<Record<string, HTMLDivElement | null>>({});\n\n const setSubmenuRef = (key: string, el: HTMLDivElement | null) => {\n submenuRefs.current[key] = el;\n };\n\n const getSubmenuHeight = (key: string) => {\n const el = submenuRefs.current[key];\n return el ? `${el.scrollHeight}px` : \"0px\";\n };\n\n const containerClasses = useMemo(\n () =>\n combineClassNames(\n classMap.wrapper,\n className,\n classMap[theme],\n classMap[state],\n shadow && classMap[`shadow${capitalize(shadow)}`],\n rounding && classMap[`round${capitalize(rounding)}`],\n outline ? classMap.outline : \"\"\n ),\n [className, theme, state, outline, rounding, shadow]\n );\n\n const renderLinks = (items: typeof links, isChild = false) => (\n <ul\n className={combineClassNames(\n classMap.list,\n isChild ? classMap.childList : \"\"\n )}\n data-testid={`${testId}-list`}\n >\n {items.map(({ label, href, children, icon }) => {\n const isActive = href && currentPath === href;\n const isOpen = openItems[label] || false;\n\n return (\n <li\n key={label}\n className={classMap.item}\n data-testid={`${testId}-listItems`}\n >\n {children && children.length > 0 ? (\n <>\n <button\n type=\"button\"\n className={combineClassNames(\n classMap.link,\n isOpen ? classMap.active : \"\"\n )}\n onClick={() => toggleItem(label)}\n aria-expanded={isOpen}\n data-testid={`${testId}-exapndItemButton`}\n >\n {icon && <span className={classMap.icon}>{icon}</span>}\n <span data-testid={`${testId}-exapndItemLabel`}>{label}</span>\n <ChevronDownIcon\n className={combineClassNames(\n classMap.chevron,\n isOpen ? classMap.chevronOpen : \"\"\n )}\n data-testid={`${testId}-exapndIcon`}\n />\n </button>\n <div\n ref={(el) => setSubmenuRef(label, el)}\n className={combineClassNames(\n classMap.submenu,\n isOpen ? classMap.submenuOpen : \"\"\n )}\n style={{\n maxHeight: isOpen ? getSubmenuHeight(label) : \"0px\",\n }}\n data-testid={`${testId}-subMenu`}\n >\n {renderLinks(children, true)}\n </div>\n </>\n ) : href ? (\n <LinkComponent\n href={href}\n className={combineClassNames(\n classMap.link,\n isChild ? classMap.childLink : \"\",\n isActive ? classMap.active : \"\"\n )}\n aria-current={isActive ? \"page\" : undefined}\n data-testid={`${testId}-sidebarLink`}\n >\n {icon && <span className={classMap.icon}>{icon}</span>}\n {label}\n </LinkComponent>\n ) : (\n <span\n className={combineClassNames(\n classMap.link,\n isChild ? classMap.childLink : \"\"\n )}\n data-testid={`${testId}-sidebarLabel`}\n >\n {icon && <span className={classMap.icon}>{icon}</span>}\n {label}\n </span>\n )}\n </li>\n );\n })}\n </ul>\n );\n\n return (\n <nav\n className={containerClasses}\n aria-label={ariaLabel}\n {...rest}\n data-testid={testId}\n >\n <nav className={classMap.nav}>{renderLinks(links)}</nav>\n {showFooter && (\n <footer className={classMap.footer} data-testid={`${testId}-footer`}>\n {footerLinks?.map(({ label, href }) => (\n <LinkComponent\n key={label}\n href={href}\n className={classMap.footerLink}\n data-testid={`${testId}-footerLink`}\n >\n {label}\n </LinkComponent>\n ))}\n\n {footerVersion && (\n <span\n className={classMap.footerVersion}\n data-testid={`${testId}-footerVersion`}\n >\n {footerVersion}\n </span>\n )}\n </footer>\n )}\n </nav>\n );\n};\n\nSidebarBase.displayName = \"SidebarBase\";\n\nexport default SidebarBase;\n","import React from \"react\";\nimport SidebarBase from \"../SidebarBase\";\nimport \"./Sidebar.scss\";\nimport { SidebarProps } from \"../Sidebar.types\";\n\nconst classes = {\n wrapper: \"sidebar\",\n nav: \"sidebar_nav\",\n list: \"sidebar_list\",\n childList: \"sidebar_child-list\",\n item: \"sidebar_item\",\n link: \"sidebar_link\",\n childLink: \"sidebar_child-link\",\n active: \"sidebar_active\",\n\n footer: \"sidebar_footer\",\n footerLink: \"sidebar_footer-link\",\n footerVersion: \"sidebar_footer-version\",\n\n chevron: \"sidebar_chevron\",\n chevronOpen: \"sidebar_chevron_open\",\n\n submenu: \"sidebar_submenu\",\n submenuOpen: \"sidebar_submenu_open\",\n\n outline: \"sidebar_outline\",\n\n primary: \"sidebar_primary\",\n secondary: \"sidebar_secondary\",\n tertiary: \"sidebar_tertiary\",\n quaternary: \"sidebar_quaternary\",\n\n success: \"sidebar_success\",\n error: \"sidebar_error\",\n warning: \"sidebar_warning\",\n\n clear: \"sidebar_clear\",\n\n shadowNone: \"sidebar_shadow-None\",\n shadowLight: \"sidebar_shadow-Light\",\n shadowMedium: \"sidebar_shadow-Medium\",\n shadowStrong: \"sidebar_shadow-Strong\",\n shadowIntense: \"sidebar_shadow-Intense\",\n\n roundNone: \"sidebar_round-None\",\n roundSmall: \"sidebar_round-Small\",\n roundMedium: \"sidebar_round-Medium\",\n roundLarge: \"sidebar_round-Large\",\n};\n\nconst Sidebar: React.FC<SidebarProps> = ({ currentPath, ...props }) => (\n <SidebarBase {...props} currentPath={currentPath} classMap={classes} />\n);\n\nexport default Sidebar;\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","useState","useRef","useMemo","combineClassNames","capitalize","jsx","jsxs","Fragment","ChevronDownIcon"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar-z0mG5nn_.js","sources":["../../src/components/Sidebar/SidebarBase.tsx","../../src/components/Sidebar/core/Sidebar.tsx"],"sourcesContent":["import React, { useState, useMemo, useRef, useEffect } from \"react\";\nimport { SidebarProps } from \"./Sidebar.types\";\nimport { combineClassNames } from \"@/utils/classNames\";\nimport {\n getDefaultRounding,\n getDefaultShadow,\n getDefaultTheme,\n} from \"@/config/boreal-style-config\";\nimport { capitalize } from \"@/utils/capitalize\";\nimport { ChevronDownIcon } from \"@/Icons\";\n\nexport interface BaseSidebarProps extends SidebarProps {\n classMap: Record<string, string>;\n}\n\nconst SidebarBase: React.FC<BaseSidebarProps> = ({\n links,\n classMap,\n currentPath,\n LinkComponent = \"a\",\n theme = getDefaultTheme(),\n rounding = getDefaultRounding(),\n shadow = getDefaultShadow(),\n state = \"\",\n showFooter = false,\n footerLinks,\n footerVersion,\n outline = false,\n className = \"\",\n \"data-testid\": testId = \"sidebar\",\n ariaLabel = \"Sidebar navigation\",\n ...rest\n}) => {\n const [openItems, setOpenItems] = useState<Record<string, boolean>>({});\n\n const toggleItem = (key: string) => {\n setOpenItems((prev) => ({ ...prev, [key]: !prev[key] }));\n };\n\n const submenuRefs = useRef<Record<string, HTMLDivElement | null>>({});\n\n const setSubmenuRef = (key: string, el: HTMLDivElement | null) => {\n submenuRefs.current[key] = el;\n };\n\n const getSubmenuHeight = (key: string) => {\n const el = submenuRefs.current[key];\n return el ? `${el.scrollHeight}px` : \"0px\";\n };\n\n const containerClasses = useMemo(\n () =>\n combineClassNames(\n classMap.wrapper,\n className,\n classMap[theme],\n classMap[state],\n shadow && classMap[`shadow${capitalize(shadow)}`],\n rounding && classMap[`round${capitalize(rounding)}`],\n outline ? classMap.outline : \"\"\n ),\n [className, theme, state, outline, rounding, shadow]\n );\n\n const renderLinks = (items: typeof links, isChild = false) => (\n <ul\n className={combineClassNames(\n classMap.list,\n isChild ? classMap.childList : \"\"\n )}\n data-testid={`${testId}-list`}\n >\n {items.map(({ label, href, children, icon }) => {\n const isActive = href && currentPath === href;\n const isOpen = openItems[label] || false;\n\n return (\n <li\n key={label}\n className={classMap.item}\n data-testid={`${testId}-listItems`}\n >\n {children && children.length > 0 ? (\n <>\n <button\n type=\"button\"\n className={combineClassNames(\n classMap.link,\n isOpen ? classMap.active : \"\"\n )}\n onClick={() => toggleItem(label)}\n aria-expanded={isOpen}\n data-testid={`${testId}-exapndItemButton`}\n >\n {icon && <span className={classMap.icon}>{icon}</span>}\n <span data-testid={`${testId}-exapndItemLabel`}>{label}</span>\n <ChevronDownIcon\n className={combineClassNames(\n classMap.chevron,\n isOpen ? classMap.chevronOpen : \"\"\n )}\n data-testid={`${testId}-exapndIcon`}\n />\n </button>\n <div\n ref={(el) => setSubmenuRef(label, el)}\n className={combineClassNames(\n classMap.submenu,\n isOpen ? classMap.submenuOpen : \"\"\n )}\n style={{\n maxHeight: isOpen ? getSubmenuHeight(label) : \"0px\",\n }}\n data-testid={`${testId}-subMenu`}\n >\n {renderLinks(children, true)}\n </div>\n </>\n ) : href ? (\n <LinkComponent\n href={href}\n className={combineClassNames(\n classMap.link,\n isChild ? classMap.childLink : \"\",\n isActive ? classMap.active : \"\"\n )}\n aria-current={isActive ? \"page\" : undefined}\n data-testid={`${testId}-sidebarLink`}\n >\n {icon && <span className={classMap.icon}>{icon}</span>}\n {label}\n </LinkComponent>\n ) : (\n <span\n className={combineClassNames(\n classMap.link,\n isChild ? classMap.childLink : \"\"\n )}\n data-testid={`${testId}-sidebarLabel`}\n >\n {icon && <span className={classMap.icon}>{icon}</span>}\n {label}\n </span>\n )}\n </li>\n );\n })}\n </ul>\n );\n\n return (\n <nav\n className={containerClasses}\n aria-label={ariaLabel}\n {...rest}\n data-testid={testId}\n >\n <nav className={classMap.nav}>{renderLinks(links)}</nav>\n {showFooter && (\n <footer className={classMap.footer} data-testid={`${testId}-footer`}>\n {footerLinks?.map(({ label, href }) => (\n <LinkComponent\n key={label}\n href={href}\n className={classMap.footerLink}\n data-testid={`${testId}-footerLink`}\n >\n {label}\n </LinkComponent>\n ))}\n\n {footerVersion && (\n <span\n className={classMap.footerVersion}\n data-testid={`${testId}-footerVersion`}\n >\n {footerVersion}\n </span>\n )}\n </footer>\n )}\n </nav>\n );\n};\n\nSidebarBase.displayName = \"SidebarBase\";\n\nexport default SidebarBase;\n","import React from \"react\";\nimport SidebarBase from \"../SidebarBase\";\nimport \"./Sidebar.scss\";\nimport { SidebarProps } from \"../Sidebar.types\";\n\nconst classes = {\n wrapper: \"sidebar\",\n nav: \"sidebar_nav\",\n list: \"sidebar_list\",\n childList: \"sidebar_child-list\",\n item: \"sidebar_item\",\n link: \"sidebar_link\",\n childLink: \"sidebar_child-link\",\n active: \"sidebar_active\",\n\n footer: \"sidebar_footer\",\n footerLink: \"sidebar_footer-link\",\n footerVersion: \"sidebar_footer-version\",\n\n chevron: \"sidebar_chevron\",\n chevronOpen: \"sidebar_chevron_open\",\n\n submenu: \"sidebar_submenu\",\n submenuOpen: \"sidebar_submenu_open\",\n\n outline: \"sidebar_outline\",\n\n primary: \"sidebar_primary\",\n secondary: \"sidebar_secondary\",\n tertiary: \"sidebar_tertiary\",\n quaternary: \"sidebar_quaternary\",\n\n success: \"sidebar_success\",\n error: \"sidebar_error\",\n warning: \"sidebar_warning\",\n\n clear: \"sidebar_clear\",\n\n shadowNone: \"sidebar_shadow-None\",\n shadowLight: \"sidebar_shadow-Light\",\n shadowMedium: \"sidebar_shadow-Medium\",\n shadowStrong: \"sidebar_shadow-Strong\",\n shadowIntense: \"sidebar_shadow-Intense\",\n\n roundNone: \"sidebar_round-None\",\n roundSmall: \"sidebar_round-Small\",\n roundMedium: \"sidebar_round-Medium\",\n roundLarge: \"sidebar_round-Large\",\n};\n\nconst Sidebar: React.FC<SidebarProps> = ({ currentPath, ...props }) => (\n <SidebarBase {...props} currentPath={currentPath} classMap={classes} />\n);\n\nexport default Sidebar;\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sidebar-z0mG5nn_.js","sources":["../../src/components/Sidebar/SidebarBase.tsx","../../src/components/Sidebar/core/Sidebar.tsx"],"sourcesContent":["import React, { useState, useMemo, useRef, useEffect } from \"react\";\nimport { SidebarProps } from \"./Sidebar.types\";\nimport { combineClassNames } from \"@/utils/classNames\";\nimport {\n getDefaultRounding,\n getDefaultShadow,\n getDefaultTheme,\n} from \"@/config/boreal-style-config\";\nimport { capitalize } from \"@/utils/capitalize\";\nimport { ChevronDownIcon } from \"@/Icons\";\n\nexport interface BaseSidebarProps extends SidebarProps {\n classMap: Record<string, string>;\n LinkComponent?: React.ElementType;\n}\n\nconst SidebarBase: React.FC<BaseSidebarProps> = ({\n links,\n classMap,\n currentPath,\n LinkComponent = \"a\",\n theme = getDefaultTheme(),\n rounding = getDefaultRounding(),\n shadow = getDefaultShadow(),\n state = \"\",\n showFooter = false,\n footerLinks,\n footerVersion,\n outline = false,\n className = \"\",\n \"data-testid\": testId = \"sidebar\",\n ariaLabel = \"Sidebar navigation\",\n ...rest\n}) => {\n const [openItems, setOpenItems] = useState<Record<string, boolean>>({});\n\n const toggleItem = (key: string) => {\n setOpenItems((prev) => ({ ...prev, [key]: !prev[key] }));\n };\n\n const submenuRefs = useRef<Record<string, HTMLDivElement | null>>({});\n\n const setSubmenuRef = (key: string, el: HTMLDivElement | null) => {\n submenuRefs.current[key] = el;\n };\n\n const getSubmenuHeight = (key: string) => {\n const el = submenuRefs.current[key];\n return el ? `${el.scrollHeight}px` : \"0px\";\n };\n\n const containerClasses = useMemo(\n () =>\n combineClassNames(\n classMap.wrapper,\n className,\n classMap[theme],\n classMap[state],\n shadow && classMap[`shadow${capitalize(shadow)}`],\n rounding && classMap[`round${capitalize(rounding)}`],\n outline ? classMap.outline : \"\"\n ),\n [className, theme, state, outline, rounding, shadow]\n );\n\n const renderLinks = (items: typeof links, isChild = false) => (\n <ul\n className={combineClassNames(\n classMap.list,\n isChild ? classMap.childList : \"\"\n )}\n data-testid={`${testId}-list`}\n >\n {items.map(({ label, href, children, icon }) => {\n const isActive = href && currentPath === href;\n const isOpen = openItems[label] || false;\n\n return (\n <li\n key={label}\n className={classMap.item}\n data-testid={`${testId}-listItems`}\n >\n {children && children.length > 0 ? (\n <>\n <button\n type=\"button\"\n className={combineClassNames(\n classMap.link,\n isOpen ? classMap.active : \"\"\n )}\n onClick={() => toggleItem(label)}\n aria-expanded={isOpen}\n data-testid={`${testId}-exapndItemButton`}\n >\n {icon && <span className={classMap.icon}>{icon}</span>}\n <span data-testid={`${testId}-exapndItemLabel`}>{label}</span>\n <ChevronDownIcon\n className={combineClassNames(\n classMap.chevron,\n isOpen ? classMap.chevronOpen : \"\"\n )}\n data-testid={`${testId}-exapndIcon`}\n />\n </button>\n <div\n ref={(el) => setSubmenuRef(label, el)}\n className={combineClassNames(\n classMap.submenu,\n isOpen ? classMap.submenuOpen : \"\"\n )}\n style={{\n maxHeight: isOpen ? getSubmenuHeight(label) : \"0px\",\n }}\n data-testid={`${testId}-subMenu`}\n >\n {renderLinks(children, true)}\n </div>\n </>\n ) : href ? (\n <LinkComponent\n href={href}\n className={combineClassNames(\n classMap.link,\n isChild ? classMap.childLink : \"\",\n isActive ? classMap.active : \"\"\n )}\n aria-current={isActive ? \"page\" : undefined}\n data-testid={`${testId}-sidebarLink`}\n >\n {icon && <span className={classMap.icon}>{icon}</span>}\n {label}\n </LinkComponent>\n ) : (\n <span\n className={combineClassNames(\n classMap.link,\n isChild ? classMap.childLink : \"\"\n )}\n data-testid={`${testId}-sidebarLabel`}\n >\n {icon && <span className={classMap.icon}>{icon}</span>}\n {label}\n </span>\n )}\n </li>\n );\n })}\n </ul>\n );\n\n return (\n <nav\n className={containerClasses}\n aria-label={ariaLabel}\n {...rest}\n data-testid={testId}\n >\n <nav className={classMap.nav}>{renderLinks(links)}</nav>\n {showFooter && (\n <footer className={classMap.footer} data-testid={`${testId}-footer`}>\n {footerLinks?.map(({ label, href }) => (\n <LinkComponent\n key={label}\n href={href}\n className={classMap.footerLink}\n data-testid={`${testId}-footerLink`}\n >\n {label}\n </LinkComponent>\n ))}\n\n {footerVersion && (\n <span\n className={classMap.footerVersion}\n data-testid={`${testId}-footerVersion`}\n >\n {footerVersion}\n </span>\n )}\n </footer>\n )}\n </nav>\n );\n};\n\nSidebarBase.displayName = \"SidebarBase\";\n\nexport default SidebarBase;\n","import React from \"react\";\nimport SidebarBase from \"../SidebarBase\";\nimport \"./Sidebar.scss\";\nimport { SidebarProps } from \"../Sidebar.types\";\n\nconst classes = {\n wrapper: \"sidebar\",\n nav: \"sidebar_nav\",\n list: \"sidebar_list\",\n childList: \"sidebar_child-list\",\n item: \"sidebar_item\",\n link: \"sidebar_link\",\n childLink: \"sidebar_child-link\",\n active: \"sidebar_active\",\n\n footer: \"sidebar_footer\",\n footerLink: \"sidebar_footer-link\",\n footerVersion: \"sidebar_footer-version\",\n\n chevron: \"sidebar_chevron\",\n chevronOpen: \"sidebar_chevron_open\",\n\n submenu: \"sidebar_submenu\",\n submenuOpen: \"sidebar_submenu_open\",\n\n outline: \"sidebar_outline\",\n\n primary: \"sidebar_primary\",\n secondary: \"sidebar_secondary\",\n tertiary: \"sidebar_tertiary\",\n quaternary: \"sidebar_quaternary\",\n\n success: \"sidebar_success\",\n error: \"sidebar_error\",\n warning: \"sidebar_warning\",\n\n clear: \"sidebar_clear\",\n\n shadowNone: \"sidebar_shadow-None\",\n shadowLight: \"sidebar_shadow-Light\",\n shadowMedium: \"sidebar_shadow-Medium\",\n shadowStrong: \"sidebar_shadow-Strong\",\n shadowIntense: \"sidebar_shadow-Intense\",\n\n roundNone: \"sidebar_round-None\",\n roundSmall: \"sidebar_round-Small\",\n roundMedium: \"sidebar_round-Medium\",\n roundLarge: \"sidebar_round-Large\",\n};\n\nconst Sidebar: React.FC<SidebarProps> = ({ currentPath, ...props }) => (\n <SidebarBase {...props} currentPath={currentPath} classMap={classes} />\n);\n\nexport default Sidebar;\n"],"names":[],"mappings":"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"}
@@ -241,4 +241,4 @@ const TagInput = (props) => {
241
241
  );
242
242
  };
243
243
  exports.TagInput = TagInput;
244
- //# sourceMappingURL=Taginput-BMPHihSz.cjs.map
244
+ //# sourceMappingURL=TagInput-BMPHihSz.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Taginput-BMPHihSz.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} from \"react\";\r\nimport { TagInputProps } 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 TagInputBase: React.FC<\r\n TagInputProps & {\r\n classMap: Record<string, string>;\r\n IconButton: React.FC<any>;\r\n TextInput: React.FC<any>;\r\n }\r\n> = ({\r\n tags = [],\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 \"data-testid\": testId = \"tag-input\",\r\n ariaDescription = \"Type a tag and press Enter or comma to add. Existing tags can be removed using the remove button next to each tag.\",\r\n classMap,\r\n IconButton,\r\n TextInput,\r\n}) => {\r\n const inputId = useId();\r\n const descId = `${inputId}-desc`;\r\n const labelId = `${inputId}-label`;\r\n\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [tagList, setTagList] = useState<string[]>(tags);\r\n const [lastAction, setLastAction] = useState<string>(\"\");\r\n\r\n const [suggestions, setSuggestions] = useState<string[]>([]);\r\n const [debounceTimeout, setDebounceTimeout] = useState<NodeJS.Timeout | null>(\r\n null\r\n );\r\n\r\n useEffect(() => {\r\n if (!fetchSuggestions || !inputValue.trim()) {\r\n setSuggestions([]);\r\n return;\r\n }\r\n\r\n if (debounceTimeout) {\r\n clearTimeout(debounceTimeout);\r\n }\r\n\r\n const timeout = setTimeout(async () => {\r\n try {\r\n const result = await fetchSuggestions(inputValue);\r\n setSuggestions(result);\r\n } catch (error) {\r\n console.error(\"Failed to fetch tag suggestions:\", error);\r\n }\r\n }, debounceMs);\r\n\r\n setDebounceTimeout(timeout);\r\n\r\n return () => clearTimeout(timeout);\r\n }, [inputValue, fetchSuggestions, debounceMs]);\r\n\r\n const handleAddTag = (event: KeyboardEvent<HTMLInputElement>) => {\r\n if (\r\n (event.key === \"Enter\" || event.key === \",\") &&\r\n inputValue.trim() !== \"\"\r\n ) {\r\n event.preventDefault();\r\n const newTag = inputValue.trim();\r\n if (!tagList.includes(newTag)) {\r\n const updated = [...tagList, newTag];\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Added tag ${newTag}`);\r\n }\r\n setInputValue(\"\");\r\n }\r\n };\r\n\r\n const handleRemoveTag = (tag: string) => {\r\n const updated = tagList.filter((t) => t !== tag);\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Removed tag ${tag}`);\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]\r\n );\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n role=\"group\"\r\n aria-labelledby={labelId}\r\n aria-describedby={descId}\r\n data-testid={testId}\r\n >\r\n <label id={labelId} className=\"sr_only\">\r\n Tag Input\r\n </label>\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\r\n className={classMap.tagContainer}\r\n aria-live=\"polite\"\r\n aria-relevant=\"additions removals\"\r\n data-testid={`${testId}-list`}\r\n >\r\n {tagList.map((tag, index) => (\r\n <li\r\n key={tag}\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={`Remove tag ${tag}`}\r\n className={classMap.removeButton}\r\n onClick={() => handleRemoveTag(tag)}\r\n data-testid={`${testId}-remove-${index}`}\r\n icon={CloseIcon}\r\n size=\"small\"\r\n theme=\"clear\"\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={(e: { target: { value: string } }) =>\r\n setInputValue(e.target.value)\r\n }\r\n onKeyDown={handleAddTag}\r\n aria-label=\"Add new tag\"\r\n aria-describedby={descId}\r\n data-testid={`${testId}-input`}\r\n />\r\n </div>\r\n {suggestions.length > 0 && (\r\n <ul\r\n className={classMap.suggestionList}\r\n role=\"listbox\"\r\n id={`${inputId}-listbox`}\r\n title=\"suggestions\"\r\n data-testid={`${testId}-suggestions`}\r\n >\r\n {suggestions.map((suggestion, index) => (\r\n <li\r\n key={index}\r\n className={classMap.suggestionItem}\r\n onClick={() => {\r\n if (!tagList.includes(suggestion)) {\r\n const updated = [...tagList, suggestion];\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Added tag ${suggestion}`);\r\n }\r\n setInputValue(\"\");\r\n setSuggestions([]);\r\n }}\r\n role=\"option\"\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 aria-live=\"polite\" className=\"sr_only\">\r\n {lastAction}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default TagInputBase;\r\n","import React from \"react\";\r\nimport \"./Taginput.scss\";\r\nimport IconButton from \"../../Button/core/Button\";\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 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\n\r\nexport default TagInput;\r\n"],"names":["getDefaultTheme","getDefaultSize","getDefaultRounding","getDefaultShadow","TextInput","useId","useState","useEffect","useMemo","combineClassNames","capitalize","jsxs","jsx","CloseIcon","IconButton"],"mappings":"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"}
1
+ {"version":3,"file":"TagInput-BMPHihSz.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} from \"react\";\r\nimport { TagInputProps } 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 TagInputBase: React.FC<\r\n TagInputProps & {\r\n classMap: Record<string, string>;\r\n IconButton: React.FC<any>;\r\n TextInput: React.FC<any>;\r\n }\r\n> = ({\r\n tags = [],\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 \"data-testid\": testId = \"tag-input\",\r\n ariaDescription = \"Type a tag and press Enter or comma to add. Existing tags can be removed using the remove button next to each tag.\",\r\n classMap,\r\n IconButton,\r\n TextInput,\r\n}) => {\r\n const inputId = useId();\r\n const descId = `${inputId}-desc`;\r\n const labelId = `${inputId}-label`;\r\n\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [tagList, setTagList] = useState<string[]>(tags);\r\n const [lastAction, setLastAction] = useState<string>(\"\");\r\n\r\n const [suggestions, setSuggestions] = useState<string[]>([]);\r\n const [debounceTimeout, setDebounceTimeout] = useState<NodeJS.Timeout | null>(\r\n null\r\n );\r\n\r\n useEffect(() => {\r\n if (!fetchSuggestions || !inputValue.trim()) {\r\n setSuggestions([]);\r\n return;\r\n }\r\n\r\n if (debounceTimeout) {\r\n clearTimeout(debounceTimeout);\r\n }\r\n\r\n const timeout = setTimeout(async () => {\r\n try {\r\n const result = await fetchSuggestions(inputValue);\r\n setSuggestions(result);\r\n } catch (error) {\r\n console.error(\"Failed to fetch tag suggestions:\", error);\r\n }\r\n }, debounceMs);\r\n\r\n setDebounceTimeout(timeout);\r\n\r\n return () => clearTimeout(timeout);\r\n }, [inputValue, fetchSuggestions, debounceMs]);\r\n\r\n const handleAddTag = (event: KeyboardEvent<HTMLInputElement>) => {\r\n if (\r\n (event.key === \"Enter\" || event.key === \",\") &&\r\n inputValue.trim() !== \"\"\r\n ) {\r\n event.preventDefault();\r\n const newTag = inputValue.trim();\r\n if (!tagList.includes(newTag)) {\r\n const updated = [...tagList, newTag];\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Added tag ${newTag}`);\r\n }\r\n setInputValue(\"\");\r\n }\r\n };\r\n\r\n const handleRemoveTag = (tag: string) => {\r\n const updated = tagList.filter((t) => t !== tag);\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Removed tag ${tag}`);\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]\r\n );\r\n\r\n return (\r\n <div\r\n className={wrapperClass}\r\n role=\"group\"\r\n aria-labelledby={labelId}\r\n aria-describedby={descId}\r\n data-testid={testId}\r\n >\r\n <label id={labelId} className=\"sr_only\">\r\n Tag Input\r\n </label>\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\r\n className={classMap.tagContainer}\r\n aria-live=\"polite\"\r\n aria-relevant=\"additions removals\"\r\n data-testid={`${testId}-list`}\r\n >\r\n {tagList.map((tag, index) => (\r\n <li\r\n key={tag}\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={`Remove tag ${tag}`}\r\n className={classMap.removeButton}\r\n onClick={() => handleRemoveTag(tag)}\r\n data-testid={`${testId}-remove-${index}`}\r\n icon={CloseIcon}\r\n size=\"small\"\r\n theme=\"clear\"\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={(e: { target: { value: string } }) =>\r\n setInputValue(e.target.value)\r\n }\r\n onKeyDown={handleAddTag}\r\n aria-label=\"Add new tag\"\r\n aria-describedby={descId}\r\n data-testid={`${testId}-input`}\r\n />\r\n </div>\r\n {suggestions.length > 0 && (\r\n <ul\r\n className={classMap.suggestionList}\r\n role=\"listbox\"\r\n id={`${inputId}-listbox`}\r\n title=\"suggestions\"\r\n data-testid={`${testId}-suggestions`}\r\n >\r\n {suggestions.map((suggestion, index) => (\r\n <li\r\n key={index}\r\n className={classMap.suggestionItem}\r\n onClick={() => {\r\n if (!tagList.includes(suggestion)) {\r\n const updated = [...tagList, suggestion];\r\n setTagList(updated);\r\n onChange?.(updated);\r\n setLastAction(`Added tag ${suggestion}`);\r\n }\r\n setInputValue(\"\");\r\n setSuggestions([]);\r\n }}\r\n role=\"option\"\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 aria-live=\"polite\" className=\"sr_only\">\r\n {lastAction}\r\n </div>\r\n </div>\r\n );\r\n};\r\n\r\nexport default TagInputBase;\r\n","import React from \"react\";\r\nimport \"./Taginput.scss\";\r\nimport IconButton from \"../../Button/core/Button\";\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 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\n\r\nexport default TagInput;\r\n"],"names":["getDefaultTheme","getDefaultSize","getDefaultRounding","getDefaultShadow","TextInput","useId","useState","useEffect","useMemo","combineClassNames","capitalize","jsxs","jsx","CloseIcon","IconButton"],"mappings":"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"}
@@ -242,4 +242,4 @@ const TagInput = (props) => {
242
242
  export {
243
243
  TagInput as T
244
244
  };
245
- //# sourceMappingURL=Taginput-CrScreYL.js.map
245
+ //# sourceMappingURL=TagInput-CrScreYL.js.map