boreal-ui 0.0.9 → 0.0.11

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 (86) hide show
  1. package/README.md +4 -4
  2. package/dist/core/{Footer-bKgKgU6L.js → Footer-D_-eBUqK.js} +2 -2
  3. package/dist/core/{Footer-bKgKgU6L.js.map → Footer-D_-eBUqK.js.map} +1 -1
  4. package/dist/core/{Footer-B4Owy88y.cjs → Footer-DxYjXCde.cjs} +2 -2
  5. package/dist/core/{Footer-B4Owy88y.cjs.map → Footer-DxYjXCde.cjs.map} +1 -1
  6. package/dist/core/Footer.cjs.js +1 -1
  7. package/dist/core/Footer.js +1 -1
  8. package/dist/core/{Select-C4a_4B87.js → Select-BDwB-XRV.js} +2 -1
  9. package/dist/core/{Select-C4a_4B87.js.map → Select-BDwB-XRV.js.map} +1 -1
  10. package/dist/core/{Select-9F6p9ghR.cjs → Select-DhUEQ4W_.cjs} +2 -1
  11. package/dist/core/{Select-9F6p9ghR.cjs.map → Select-DhUEQ4W_.cjs.map} +1 -1
  12. package/dist/core/Select.cjs.js +1 -1
  13. package/dist/core/Select.js +1 -1
  14. package/dist/core/{TextArea-B88b8dFf.js → TextArea-B0it55lO.js} +6 -2
  15. package/dist/core/TextArea-B0it55lO.js.map +1 -0
  16. package/dist/core/{TextArea-CxJexFDv.cjs → TextArea-Dn9aynnY.cjs} +6 -2
  17. package/dist/core/TextArea-Dn9aynnY.cjs.map +1 -0
  18. package/dist/core/TextArea.cjs.js +1 -1
  19. package/dist/core/TextArea.js +1 -1
  20. package/dist/core/index.cjs.js +212 -3
  21. package/dist/core/index.cjs.js.map +1 -1
  22. package/dist/core/index.js +216 -5
  23. package/dist/core/index.js.map +1 -1
  24. package/dist/core/style.css +715 -2
  25. package/dist/next/{FileUpload-jh5iTgY-.cjs → FileUpload-427ZyzCY.cjs} +2 -2
  26. package/dist/next/{FileUpload-jh5iTgY-.cjs.map → FileUpload-427ZyzCY.cjs.map} +1 -1
  27. package/dist/next/{FileUpload-CgPHe6Nn.js → FileUpload-DQhKhtgc.js} +2 -2
  28. package/dist/next/{FileUpload-CgPHe6Nn.js.map → FileUpload-DQhKhtgc.js.map} +1 -1
  29. package/dist/next/FileUpload.cjs.js +1 -1
  30. package/dist/next/FileUpload.js +1 -1
  31. package/dist/next/{Footer-CQAWg2tl.js → Footer-BPjfubyG.js} +2 -2
  32. package/dist/next/{Footer-CQAWg2tl.js.map → Footer-BPjfubyG.js.map} +1 -1
  33. package/dist/next/{Footer-D2veQTa-.cjs → Footer-C6gSCcdC.cjs} +2 -2
  34. package/dist/next/{Footer-D2veQTa-.cjs.map → Footer-C6gSCcdC.cjs.map} +1 -1
  35. package/dist/next/Footer.cjs.js +1 -1
  36. package/dist/next/Footer.js +1 -1
  37. package/dist/next/{FormGroup-DuBfLAMv.js → FormGroup-BMLGXHiz.js} +29 -29
  38. package/dist/next/{FormGroup-DuBfLAMv.js.map → FormGroup-BMLGXHiz.js.map} +1 -1
  39. package/dist/next/{FormGroup-BAtifQGH.cjs → FormGroup-Bstsn_US.cjs} +29 -29
  40. package/dist/next/{FormGroup-BAtifQGH.cjs.map → FormGroup-Bstsn_US.cjs.map} +1 -1
  41. package/dist/next/FormGroup.cjs.js +1 -1
  42. package/dist/next/FormGroup.js +1 -1
  43. package/dist/next/{NavBar-DzRWv8W0.js → NavBar-CLfsYv5E.js} +3 -2
  44. package/dist/next/{NavBar-DzRWv8W0.js.map → NavBar-CLfsYv5E.js.map} +1 -1
  45. package/dist/next/{NavBar-CZtNDAdX.cjs → NavBar-COPlmHzy.cjs} +2 -1
  46. package/dist/next/{NavBar-CZtNDAdX.cjs.map → NavBar-COPlmHzy.cjs.map} +1 -1
  47. package/dist/next/NavBar.cjs.js +1 -1
  48. package/dist/next/NavBar.js +1 -1
  49. package/dist/next/{Select-_f1aZuKO.cjs → Select-BKprqV3i.cjs} +2 -1
  50. package/dist/next/{Select-_f1aZuKO.cjs.map → Select-BKprqV3i.cjs.map} +1 -1
  51. package/dist/next/{Select-DwWTQcCU.js → Select-_C8mTVb1.js} +2 -1
  52. package/dist/next/{Select-DwWTQcCU.js.map → Select-_C8mTVb1.js.map} +1 -1
  53. package/dist/next/Select.cjs.js +1 -1
  54. package/dist/next/Select.js +1 -1
  55. package/dist/next/{TextArea-CRo_5ZL_.cjs → TextArea-BfVBd3wl.cjs} +6 -2
  56. package/dist/next/TextArea-BfVBd3wl.cjs.map +1 -0
  57. package/dist/next/{TextArea-W9ekr3ij.js → TextArea-CwR4vrML.js} +6 -2
  58. package/dist/next/TextArea-CwR4vrML.js.map +1 -0
  59. package/dist/next/TextArea.cjs.js +1 -1
  60. package/dist/next/TextArea.js +1 -1
  61. package/dist/next/index.cjs.js +300 -24
  62. package/dist/next/index.cjs.js.map +1 -1
  63. package/dist/next/index.js +306 -27
  64. package/dist/next/index.js.map +1 -1
  65. package/dist/next/style.css +742 -45
  66. package/dist/tsconfig.build.tsbuildinfo +1 -1
  67. package/dist/types/components/Sidebar/Sidebar.types.d.ts +112 -0
  68. package/dist/types/components/Sidebar/Sidebar.types.d.ts.map +1 -0
  69. package/dist/types/components/Sidebar/SidebarBase.d.ts +5 -0
  70. package/dist/types/components/Sidebar/SidebarBase.d.ts.map +1 -0
  71. package/dist/types/components/Sidebar/core/Sidebar.d.ts +6 -0
  72. package/dist/types/components/Sidebar/core/Sidebar.d.ts.map +1 -0
  73. package/dist/types/components/Sidebar/next/Sidebar.d.ts +5 -0
  74. package/dist/types/components/Sidebar/next/Sidebar.d.ts.map +1 -0
  75. package/dist/types/components/TextArea/TextArea.types.d.ts +4 -0
  76. package/dist/types/components/TextArea/TextArea.types.d.ts.map +1 -1
  77. package/dist/types/components/TextArea/TextAreaBase.d.ts.map +1 -1
  78. package/dist/types/index.core.d.ts +1 -0
  79. package/dist/types/index.core.d.ts.map +1 -1
  80. package/dist/types/index.next.d.ts +1 -0
  81. package/dist/types/index.next.d.ts.map +1 -1
  82. package/package.json +2 -5
  83. package/dist/core/TextArea-B88b8dFf.js.map +0 -1
  84. package/dist/core/TextArea-CxJexFDv.cjs.map +0 -1
  85. package/dist/next/TextArea-CRo_5ZL_.cjs.map +0 -1
  86. package/dist/next/TextArea-W9ekr3ij.js.map +0 -1
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const NavBar = require("./NavBar-CZtNDAdX.cjs");
2
+ const NavBar = require("./NavBar-COPlmHzy.cjs");
3
3
  module.exports = NavBar.NavBar;
4
4
  //# sourceMappingURL=NavBar.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { N } from "./NavBar-DzRWv8W0.js";
1
+ import { N } from "./NavBar-CLfsYv5E.js";
2
2
  export {
3
3
  N as default
4
4
  };
@@ -225,5 +225,6 @@ const Select = React.forwardRef(
225
225
  }
226
226
  );
227
227
  Select.displayName = "Select";
228
+ exports.ChevronDownIcon = ChevronDownIcon;
228
229
  exports.Select = Select;
229
- //# sourceMappingURL=Select-_f1aZuKO.cjs.map
230
+ //# sourceMappingURL=Select-BKprqV3i.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select-_f1aZuKO.cjs","sources":["../../src/Icons/CheveronDownIcon.tsx","../../src/components/Select/SelectBase.tsx","../../src/components/Select/next/Select.tsx"],"sourcesContent":["const ChevronDownIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M5.30711 8.71299C5.4232 8.43273 5.69668 8.25 6.00002 8.25H18C18.3034 8.25 18.5768 8.43273 18.6929 8.71299C18.809 8.99324 18.7449 9.31583 18.5304 9.53033L12.5304 15.5303C12.2375 15.8232 11.7626 15.8232 11.4697 15.5303L5.46969 9.53033C5.25519 9.31583 5.19103 8.99324 5.30711 8.71299Z\"\r\n fill=\"currentColor\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default ChevronDownIcon;\r\n","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","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseSelect from \"../SelectBase\";\r\nimport styles from \"./Select.module.scss\";\r\nimport { SelectProps } from \"../Select.types\";\r\n\r\nconst Select = React.forwardRef<HTMLSelectElement, SelectProps>(\r\n (props, ref) => {\r\n return <BaseSelect {...props} ref={ref} classMap={styles} />;\r\n }\r\n);\r\n\r\nSelect.displayName = \"Select\";\r\nexport default Select;\r\n"],"names":["jsx","forwardRef","getDefaultTheme","outline","getDefaultRounding","getDefaultShadow","disabled","useId","useState","useEffect","useMemo","combineClassNames","capitalize","jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"Select-BKprqV3i.cjs","sources":["../../src/Icons/CheveronDownIcon.tsx","../../src/components/Select/SelectBase.tsx","../../src/components/Select/next/Select.tsx"],"sourcesContent":["const ChevronDownIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M5.30711 8.71299C5.4232 8.43273 5.69668 8.25 6.00002 8.25H18C18.3034 8.25 18.5768 8.43273 18.6929 8.71299C18.809 8.99324 18.7449 9.31583 18.5304 9.53033L12.5304 15.5303C12.2375 15.8232 11.7626 15.8232 11.4697 15.5303L5.46969 9.53033C5.25519 9.31583 5.19103 8.99324 5.30711 8.71299Z\"\r\n fill=\"currentColor\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default ChevronDownIcon;\r\n","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","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseSelect from \"../SelectBase\";\r\nimport styles from \"./Select.module.scss\";\r\nimport { SelectProps } from \"../Select.types\";\r\n\r\nconst Select = React.forwardRef<HTMLSelectElement, SelectProps>(\r\n (props, ref) => {\r\n return <BaseSelect {...props} ref={ref} classMap={styles} />;\r\n }\r\n);\r\n\r\nSelect.displayName = \"Select\";\r\nexport default Select;\r\n"],"names":["jsx","forwardRef","getDefaultTheme","outline","getDefaultRounding","getDefaultShadow","disabled","useId","useState","useEffect","useMemo","combineClassNames","capitalize","jsxs"],"mappings":"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"}
@@ -225,6 +225,7 @@ const Select = React.forwardRef(
225
225
  );
226
226
  Select.displayName = "Select";
227
227
  export {
228
+ ChevronDownIcon as C,
228
229
  Select as S
229
230
  };
230
- //# sourceMappingURL=Select-DwWTQcCU.js.map
231
+ //# sourceMappingURL=Select-_C8mTVb1.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select-DwWTQcCU.js","sources":["../../src/Icons/CheveronDownIcon.tsx","../../src/components/Select/SelectBase.tsx","../../src/components/Select/next/Select.tsx"],"sourcesContent":["const ChevronDownIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M5.30711 8.71299C5.4232 8.43273 5.69668 8.25 6.00002 8.25H18C18.3034 8.25 18.5768 8.43273 18.6929 8.71299C18.809 8.99324 18.7449 9.31583 18.5304 9.53033L12.5304 15.5303C12.2375 15.8232 11.7626 15.8232 11.4697 15.5303L5.46969 9.53033C5.25519 9.31583 5.19103 8.99324 5.30711 8.71299Z\"\r\n fill=\"currentColor\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default ChevronDownIcon;\r\n","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","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseSelect from \"../SelectBase\";\r\nimport styles from \"./Select.module.scss\";\r\nimport { SelectProps } from \"../Select.types\";\r\n\r\nconst Select = React.forwardRef<HTMLSelectElement, SelectProps>(\r\n (props, ref) => {\r\n return <BaseSelect {...props} ref={ref} classMap={styles} />;\r\n }\r\n);\r\n\r\nSelect.displayName = \"Select\";\r\nexport default Select;\r\n"],"names":["outline","disabled"],"mappings":"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"}
1
+ {"version":3,"file":"Select-_C8mTVb1.js","sources":["../../src/Icons/CheveronDownIcon.tsx","../../src/components/Select/SelectBase.tsx","../../src/components/Select/next/Select.tsx"],"sourcesContent":["const ChevronDownIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (\r\n <svg\r\n width=\"24px\"\r\n height=\"24px\"\r\n viewBox=\"0 0 24 24\"\r\n strokeWidth=\"1.5\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n color=\"currentColor\"\r\n {...props}\r\n >\r\n <path\r\n fillRule=\"evenodd\"\r\n clipRule=\"evenodd\"\r\n d=\"M5.30711 8.71299C5.4232 8.43273 5.69668 8.25 6.00002 8.25H18C18.3034 8.25 18.5768 8.43273 18.6929 8.71299C18.809 8.99324 18.7449 9.31583 18.5304 9.53033L12.5304 15.5303C12.2375 15.8232 11.7626 15.8232 11.4697 15.5303L5.46969 9.53033C5.25519 9.31583 5.19103 8.99324 5.30711 8.71299Z\"\r\n fill=\"currentColor\"\r\n ></path>\r\n </svg>\r\n);\r\n\r\nexport default ChevronDownIcon;\r\n","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","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseSelect from \"../SelectBase\";\r\nimport styles from \"./Select.module.scss\";\r\nimport { SelectProps } from \"../Select.types\";\r\n\r\nconst Select = React.forwardRef<HTMLSelectElement, SelectProps>(\r\n (props, ref) => {\r\n return <BaseSelect {...props} ref={ref} classMap={styles} />;\r\n }\r\n);\r\n\r\nSelect.displayName = \"Select\";\r\nexport default Select;\r\n"],"names":["outline","disabled"],"mappings":";;;;;AAAA,MAAM,kBAA2D,CAAC,UAChE;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,aAAY;AAAA,IACZ,MAAK;AAAA,IACL,OAAM;AAAA,IACN,OAAM;AAAA,IACL,GAAG;AAAA,IAEJ,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAS;AAAA,QACT,UAAS;AAAA,QACT,GAAE;AAAA,QACF,MAAK;AAAA,MAAA;AAAA,IAAA;AAAA,EACN;AACH;ACKF,MAAM,aAAa;AAAA,EACjB,CACE;AAAA,IACE,QAAQ,gBAAA;AAAA,IACR,QAAQ;AAAA,IACR,SAAAA,WAAU;AAAA,IACV,WAAW,mBAAA;AAAA,IACX,SAAS,iBAAA;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA,UAAAC,YAAW;AAAA,IACX,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,eAAe;AAAA,IACf,eAAe,SAAS;AAAA,EAAA,GAE1B,QACG;AACH,UAAM,KAAK,MAAA;AACX,UAAM,WAAW,GAAG,EAAE;AACtB,UAAM,SAAS,kBAAkB,GAAG,EAAE,UAAU;AAEhD,UAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAAS,OAAO;AAE9D,cAAU,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,iBAAiB;AAAA,MACrB,MACE;AAAA,QACE,SAAS;AAAA,QACT,SAAS,KAAK;AAAA,QACd,SAAS,KAAK;AAAA,QACd;AAAA,QACA,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,QAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,QACnDD,WAAU,SAAS,UAAU;AAAA,QAC7BC,YAAW,SAAS,WAAW;AAAA,MAAA;AAAA,MAEnC,CAAC,UAAU,OAAO,OAAO,WAAW,QAAQ,UAAUD,UAASC,SAAQ;AAAA,IAAA;AAGzE,UAAM,gBAAgB;AAAA,MACpB,MACE;AAAA,QACE,SAAS;AAAA,QACT,SAAS,KAAK;AAAA,QACd,SAAS,KAAK;AAAA,QACd,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,QAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,QACnDD,WAAU,SAAS,UAAU;AAAA,MAAA;AAAA,MAEjC,CAAC,UAAU,OAAO,OAAOA,QAAO;AAAA,IAAA;AAGlC,WACE,qBAAC,OAAA,EAAI,WAAW,gBAAgB,eAAa,QAC3C,UAAA;AAAA,MAAA;AAAA,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,iBAAeC;AAAA,UACf,UAAAA;AAAA,UACA,eAAa,GAAG,MAAM;AAAA,UAEtB,UAAA;AAAA,YAAA,oBAAC,YAAO,OAAM,IAAG,UAAQ,MAAC,QAAM,MAC7B,UAAA,YAAA,CACH;AAAA,aACE,eAAe,kBAAkB,SAAS,IAAI,CAAC,WAC/C;AAAA,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,MAGH;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,GAAG,SAAS,IAAI,IAAI,SAAS,KAAK,CAAC,IAC5CA,aAAY,SAAS,WAAW,SAAS,WAAW,EACtD;AAAA,UACA,eAAY;AAAA,UACZ,eAAa,GAAG,MAAM;AAAA,UAEtB,8BAAC,iBAAA,CAAA,CAAgB;AAAA,QAAA;AAAA,MAAA;AAAA,MAGlB,mBACC;AAAA,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7JzB,MAAM,SAAS,MAAM;AAAA,EACnB,CAAC,OAAO,QAAQ;AACd,+BAAQ,YAAA,EAAY,GAAG,OAAO,KAAU,UAAU,QAAQ;AAAA,EAC5D;AACF;AAEA,OAAO,cAAc;"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const Select = require("./Select-_f1aZuKO.cjs");
2
+ const Select = require("./Select-BKprqV3i.cjs");
3
3
  module.exports = Select.Select;
4
4
  //# sourceMappingURL=Select.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { S } from "./Select-DwWTQcCU.js";
1
+ import { S } from "./Select-_C8mTVb1.js";
2
2
  export {
3
3
  S as default
4
4
  };
@@ -15,6 +15,7 @@ const TextAreaBase = React.forwardRef(
15
15
  rounding = borealStyleConfig.getDefaultRounding(),
16
16
  shadow = borealStyleConfig.getDefaultShadow(),
17
17
  state = "",
18
+ resizable = true,
18
19
  ariaLabel,
19
20
  ariaDescription,
20
21
  disabled: disabled2 = false,
@@ -60,7 +61,10 @@ const TextAreaBase = React.forwardRef(
60
61
  autoComplete,
61
62
  readOnly,
62
63
  disabled: disabled2,
63
- style: { height },
64
+ style: {
65
+ height,
66
+ resize: resizable ? void 0 : "none"
67
+ },
64
68
  className: classMap.textInput,
65
69
  "data-testid": `${testId}-input`,
66
70
  ...props
@@ -144,4 +148,4 @@ const TextArea = React.forwardRef(
144
148
  );
145
149
  TextArea.displayName = "TextArea";
146
150
  exports.TextArea = TextArea;
147
- //# sourceMappingURL=TextArea-CRo_5ZL_.cjs.map
151
+ //# sourceMappingURL=TextArea-BfVBd3wl.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextArea-BfVBd3wl.cjs","sources":["../../src/components/TextArea/TextAreaBase.tsx","../../src/components/TextArea/next/TextArea.tsx"],"sourcesContent":["import { forwardRef, useId, useMemo } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { TextAreaProps } from \"./TextArea.types\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst TextAreaBase = forwardRef<\r\n HTMLTextAreaElement,\r\n TextAreaProps & { classMap: Record<string, string> }\r\n>(\r\n (\r\n {\r\n icon: Icon,\r\n placeholder = \"Enter text\",\r\n readOnly = false,\r\n outline = false,\r\n autoComplete = \"off\",\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n resizable = true,\r\n ariaLabel,\r\n ariaDescription,\r\n disabled = false,\r\n height,\r\n classMap,\r\n className = \"\",\r\n \"data-testid\": testId = \"text-area\",\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const id = useId();\r\n const descriptionId = ariaDescription ? `${id}-description` : undefined;\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.textArea,\r\n classMap[theme],\r\n classMap[state],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n ),\r\n [classMap, outline, disabled, rounding, shadow, className]\r\n );\r\n\r\n return (\r\n <div className={wrapperClass} data-testid={testId}>\r\n {Icon && (\r\n <div\r\n className={classMap.iconContainer}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n <Icon />\r\n </div>\r\n )}\r\n\r\n <textarea\r\n ref={ref}\r\n id={id}\r\n placeholder={placeholder}\r\n aria-label={ariaLabel || placeholder}\r\n aria-describedby={descriptionId}\r\n autoComplete={autoComplete}\r\n readOnly={readOnly}\r\n disabled={disabled}\r\n style={{\r\n height,\r\n resize: resizable ? undefined : \"none\",\r\n }}\r\n className={classMap.textInput}\r\n data-testid={`${testId}-input`}\r\n {...props}\r\n />\r\n\r\n <div\r\n className={classMap.customResizeHandle}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-resize-handle`}\r\n />\r\n\r\n {ariaDescription && (\r\n <span\r\n id={descriptionId}\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\nTextAreaBase.displayName = \"TextAreaBase\";\r\n\r\nexport default TextAreaBase;\r\n","\"use client\";\r\n\r\nimport { forwardRef } from \"react\";\r\nimport TextAreaBase from \"../TextAreaBase\";\r\nimport type { TextAreaProps } from \"../TextArea.types\";\r\nimport styles from \"./TextArea.module.scss\";\r\n\r\nconst TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\r\n (props, ref) => {\r\n return <TextAreaBase {...props} ref={ref} classMap={styles} />;\r\n }\r\n);\r\n\r\nTextArea.displayName = \"TextArea\";\r\n\r\nexport default TextArea;\r\n"],"names":["forwardRef","outline","getDefaultTheme","getDefaultRounding","getDefaultShadow","disabled","useId","useMemo","combineClassNames","capitalize","jsxs","jsx"],"mappings":";;;;;;AAUA,MAAM,eAAeA,MAAAA;AAAAA,EAInB,CACE;AAAA,IACE,MAAM;AAAA,IACN,cAAc;AAAA,IACd,WAAW;AAAA,IACX,SAAAC,WAAU;AAAA,IACV,eAAe;AAAA,IACf,QAAQC,kBAAAA,gBAAA;AAAA,IACR,WAAWC,kBAAAA,mBAAA;AAAA,IACX,SAASC,kBAAAA,iBAAA;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,UAAAC,YAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ,eAAe,SAAS;AAAA,IACxB,GAAG;AAAA,EAAA,GAEL,QACG;AACH,UAAM,KAAKC,MAAAA,MAAA;AACX,UAAM,gBAAgB,kBAAkB,GAAG,EAAE,iBAAiB;AAE9D,UAAM,eAAeC,MAAAA;AAAAA,MACnB,MACEC,WAAAA;AAAAA,QACE,SAAS;AAAA,QACT,SAAS,KAAK;AAAA,QACd,SAAS,KAAK;AAAA,QACdP,YAAW,SAAS;AAAA,QACpBI,aAAY,SAAS;AAAA,QACrB,UAAU,SAAS,SAASI,WAAAA,WAAW,MAAM,CAAC,EAAE;AAAA,QAChD,YAAY,SAAS,QAAQA,WAAAA,WAAW,QAAQ,CAAC,EAAE;AAAA,QACnD;AAAA,MAAA;AAAA,MAEJ,CAAC,UAAUR,UAASI,WAAU,UAAU,QAAQ,SAAS;AAAA,IAAA;AAG3D,WACEK,2BAAAA,KAAC,OAAA,EAAI,WAAW,cAAc,eAAa,QACxC,UAAA;AAAA,MAAA,QACCC,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,SAAS;AAAA,UACpB,eAAY;AAAA,UACZ,eAAa,GAAG,MAAM;AAAA,UAEtB,yCAAC,MAAA,CAAA,CAAK;AAAA,QAAA;AAAA,MAAA;AAAA,MAIVA,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA,cAAY,aAAa;AAAA,UACzB,oBAAkB;AAAA,UAClB;AAAA,UACA;AAAA,UACA,UAAAN;AAAA,UACA,OAAO;AAAA,YACL;AAAA,YACA,QAAQ,YAAY,SAAY;AAAA,UAAA;AAAA,UAElC,WAAW,SAAS;AAAA,UACpB,eAAa,GAAG,MAAM;AAAA,UACrB,GAAG;AAAA,QAAA;AAAA,MAAA;AAAA,MAGNM,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,SAAS;AAAA,UACpB,eAAY;AAAA,UACZ,eAAa,GAAG,MAAM;AAAA,QAAA;AAAA,MAAA;AAAA,MAGvB,mBACCA,2BAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,IAAI;AAAA,UACJ,WAAW;AAAA,UACX,eAAa,GAAG,MAAM;AAAA,UAErB,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACH,GAEJ;AAAA,EAEJ;AACF;AAEA,aAAa,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClG3B,MAAM,WAAWX,MAAAA;AAAAA,EACf,CAAC,OAAO,QAAQ;AACd,0CAAQ,cAAA,EAAc,GAAG,OAAO,KAAU,UAAU,QAAQ;AAAA,EAC9D;AACF;AAEA,SAAS,cAAc;;"}
@@ -14,6 +14,7 @@ const TextAreaBase = forwardRef(
14
14
  rounding = getDefaultRounding(),
15
15
  shadow = getDefaultShadow(),
16
16
  state = "",
17
+ resizable = true,
17
18
  ariaLabel,
18
19
  ariaDescription,
19
20
  disabled: disabled2 = false,
@@ -59,7 +60,10 @@ const TextAreaBase = forwardRef(
59
60
  autoComplete,
60
61
  readOnly,
61
62
  disabled: disabled2,
62
- style: { height },
63
+ style: {
64
+ height,
65
+ resize: resizable ? void 0 : "none"
66
+ },
63
67
  className: classMap.textInput,
64
68
  "data-testid": `${testId}-input`,
65
69
  ...props
@@ -145,4 +149,4 @@ TextArea.displayName = "TextArea";
145
149
  export {
146
150
  TextArea as T
147
151
  };
148
- //# sourceMappingURL=TextArea-W9ekr3ij.js.map
152
+ //# sourceMappingURL=TextArea-CwR4vrML.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextArea-CwR4vrML.js","sources":["../../src/components/TextArea/TextAreaBase.tsx","../../src/components/TextArea/next/TextArea.tsx"],"sourcesContent":["import { forwardRef, useId, useMemo } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { TextAreaProps } from \"./TextArea.types\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\n\r\nconst TextAreaBase = forwardRef<\r\n HTMLTextAreaElement,\r\n TextAreaProps & { classMap: Record<string, string> }\r\n>(\r\n (\r\n {\r\n icon: Icon,\r\n placeholder = \"Enter text\",\r\n readOnly = false,\r\n outline = false,\r\n autoComplete = \"off\",\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n state = \"\",\r\n resizable = true,\r\n ariaLabel,\r\n ariaDescription,\r\n disabled = false,\r\n height,\r\n classMap,\r\n className = \"\",\r\n \"data-testid\": testId = \"text-area\",\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const id = useId();\r\n const descriptionId = ariaDescription ? `${id}-description` : undefined;\r\n\r\n const wrapperClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.textArea,\r\n classMap[theme],\r\n classMap[state],\r\n outline && classMap.outline,\r\n disabled && classMap.disabled,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n className\r\n ),\r\n [classMap, outline, disabled, rounding, shadow, className]\r\n );\r\n\r\n return (\r\n <div className={wrapperClass} data-testid={testId}>\r\n {Icon && (\r\n <div\r\n className={classMap.iconContainer}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-icon`}\r\n >\r\n <Icon />\r\n </div>\r\n )}\r\n\r\n <textarea\r\n ref={ref}\r\n id={id}\r\n placeholder={placeholder}\r\n aria-label={ariaLabel || placeholder}\r\n aria-describedby={descriptionId}\r\n autoComplete={autoComplete}\r\n readOnly={readOnly}\r\n disabled={disabled}\r\n style={{\r\n height,\r\n resize: resizable ? undefined : \"none\",\r\n }}\r\n className={classMap.textInput}\r\n data-testid={`${testId}-input`}\r\n {...props}\r\n />\r\n\r\n <div\r\n className={classMap.customResizeHandle}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-resize-handle`}\r\n />\r\n\r\n {ariaDescription && (\r\n <span\r\n id={descriptionId}\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\nTextAreaBase.displayName = \"TextAreaBase\";\r\n\r\nexport default TextAreaBase;\r\n","\"use client\";\r\n\r\nimport { forwardRef } from \"react\";\r\nimport TextAreaBase from \"../TextAreaBase\";\r\nimport type { TextAreaProps } from \"../TextArea.types\";\r\nimport styles from \"./TextArea.module.scss\";\r\n\r\nconst TextArea = forwardRef<HTMLTextAreaElement, TextAreaProps>(\r\n (props, ref) => {\r\n return <TextAreaBase {...props} ref={ref} classMap={styles} />;\r\n }\r\n);\r\n\r\nTextArea.displayName = \"TextArea\";\r\n\r\nexport default TextArea;\r\n"],"names":["outline","disabled"],"mappings":";;;;;AAUA,MAAM,eAAe;AAAA,EAInB,CACE;AAAA,IACE,MAAM;AAAA,IACN,cAAc;AAAA,IACd,WAAW;AAAA,IACX,SAAAA,WAAU;AAAA,IACV,eAAe;AAAA,IACf,QAAQ,gBAAA;AAAA,IACR,WAAW,mBAAA;AAAA,IACX,SAAS,iBAAA;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,UAAAC,YAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ,eAAe,SAAS;AAAA,IACxB,GAAG;AAAA,EAAA,GAEL,QACG;AACH,UAAM,KAAK,MAAA;AACX,UAAM,gBAAgB,kBAAkB,GAAG,EAAE,iBAAiB;AAE9D,UAAM,eAAe;AAAA,MACnB,MACE;AAAA,QACE,SAAS;AAAA,QACT,SAAS,KAAK;AAAA,QACd,SAAS,KAAK;AAAA,QACdD,YAAW,SAAS;AAAA,QACpBC,aAAY,SAAS;AAAA,QACrB,UAAU,SAAS,SAAS,WAAW,MAAM,CAAC,EAAE;AAAA,QAChD,YAAY,SAAS,QAAQ,WAAW,QAAQ,CAAC,EAAE;AAAA,QACnD;AAAA,MAAA;AAAA,MAEJ,CAAC,UAAUD,UAASC,WAAU,UAAU,QAAQ,SAAS;AAAA,IAAA;AAG3D,WACE,qBAAC,OAAA,EAAI,WAAW,cAAc,eAAa,QACxC,UAAA;AAAA,MAAA,QACC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,SAAS;AAAA,UACpB,eAAY;AAAA,UACZ,eAAa,GAAG,MAAM;AAAA,UAEtB,8BAAC,MAAA,CAAA,CAAK;AAAA,QAAA;AAAA,MAAA;AAAA,MAIV;AAAA,QAAC;AAAA,QAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA,cAAY,aAAa;AAAA,UACzB,oBAAkB;AAAA,UAClB;AAAA,UACA;AAAA,UACA,UAAAA;AAAA,UACA,OAAO;AAAA,YACL;AAAA,YACA,QAAQ,YAAY,SAAY;AAAA,UAAA;AAAA,UAElC,WAAW,SAAS;AAAA,UACpB,eAAa,GAAG,MAAM;AAAA,UACrB,GAAG;AAAA,QAAA;AAAA,MAAA;AAAA,MAGN;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAW,SAAS;AAAA,UACpB,eAAY;AAAA,UACZ,eAAa,GAAG,MAAM;AAAA,QAAA;AAAA,MAAA;AAAA,MAGvB,mBACC;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,IAAI;AAAA,UACJ,WAAW;AAAA,UACX,eAAa,GAAG,MAAM;AAAA,UAErB,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IACH,GAEJ;AAAA,EAEJ;AACF;AAEA,aAAa,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClG3B,MAAM,WAAW;AAAA,EACf,CAAC,OAAO,QAAQ;AACd,+BAAQ,cAAA,EAAc,GAAG,OAAO,KAAU,UAAU,QAAQ;AAAA,EAC9D;AACF;AAEA,SAAS,cAAc;"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const TextArea = require("./TextArea-CRo_5ZL_.cjs");
2
+ const TextArea = require("./TextArea-BfVBd3wl.cjs");
3
3
  module.exports = TextArea.TextArea;
4
4
  //# sourceMappingURL=TextArea.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { T } from "./TextArea-W9ekr3ij.js";
1
+ import { T } from "./TextArea-CwR4vrML.js";
2
2
  export {
3
3
  T as default
4
4
  };
@@ -8,16 +8,16 @@ const Button = require("./Button-WSFdkLsa.cjs");
8
8
  const IconButton = require("./IconButton-CNzF48hu.cjs");
9
9
  const STT = require("./STT-C0q3yqiJ.cjs");
10
10
  const TextInput = require("./TextInput-iQT-2lPj.cjs");
11
- const TextArea = require("./TextArea-CRo_5ZL_.cjs");
12
- const Select = require("./Select-_f1aZuKO.cjs");
13
- const Footer = require("./Footer-D2veQTa-.cjs");
14
- const FileUpload = require("./FileUpload-jh5iTgY-.cjs");
11
+ const TextArea = require("./TextArea-BfVBd3wl.cjs");
12
+ const Select = require("./Select-BKprqV3i.cjs");
13
+ const Footer = require("./Footer-C6gSCcdC.cjs");
14
+ const FileUpload = require("./FileUpload-427ZyzCY.cjs");
15
15
  const Taginput = require("./Taginput-BcNgwFOj.cjs");
16
16
  const RadioButton = require("./RadioButton-cXdUfJD2.cjs");
17
17
  const Slider = require("./Slider-DbxNKdGq.cjs");
18
18
  const Checkbox = require("./Checkbox-COcqcXOD.cjs");
19
19
  const ColorPicker = require("./ColorPicker-C-klUf3G.cjs");
20
- const FormGroup = require("./FormGroup-BAtifQGH.cjs");
20
+ const FormGroup = require("./FormGroup-Bstsn_US.cjs");
21
21
  const DataTable = require("./DataTable-9JLEi0CK.cjs");
22
22
  const DateTimePicker = require("./DateTimePicker-CoTQNBzD.cjs");
23
23
  const MarkdownRenderer = require("./MarkdownRenderer-B-WThNR7.cjs");
@@ -35,7 +35,7 @@ const Spinner = require("./Spinner-Doh4Uft1.cjs");
35
35
  const Tooltip = require("./Tooltip-DHhLeygn.cjs");
36
36
  const MessagePopup = require("./MessagePopup-C-7N3vB0.cjs");
37
37
  const PopOver = require("./PopOver-CHs0s9rp.cjs");
38
- const NavBar = require("./NavBar-CZtNDAdX.cjs");
38
+ const NavBar = require("./NavBar-COPlmHzy.cjs");
39
39
  const Breadcrumbs = require("./Breadcrumbs-0cJD4s9s.cjs");
40
40
  const Tabs = require("./Tabs-DuZPFjen.cjs");
41
41
  const Stepper = require("./Stepper-D2UYDRwT.cjs");
@@ -51,6 +51,8 @@ const MetricBox = require("./MetricBox-Dtkrwrtw.cjs");
51
51
  const EmptyState = require("./EmptyState-DUZQ2Qmn.cjs");
52
52
  const CommandPalette = require("./CommandPalette-Dp2pT5ot.cjs");
53
53
  const NotificationCenter = require("./NotificationCenter-DmcHIkOp.cjs");
54
+ const link$1 = require("./link-hxAaLm0Q.cjs");
55
+ const capitalize = require("./capitalize-DoV-nOmN.cjs");
54
56
  const Card = require("./Card-BCYMEFyT.cjs");
55
57
  const Avatar = require("./Avatar-DjuHvrMV.cjs");
56
58
  const ChipGroupBase = React.forwardRef(
@@ -131,11 +133,11 @@ const ChipGroupBase = React.forwardRef(
131
133
  }
132
134
  );
133
135
  ChipGroupBase.displayName = "ChipGroupBase";
134
- const noScroll = "_noScroll_vcv6u_91";
135
- const errorMessage = "_errorMessage_vcv6u_92";
136
- const loadingContainer = "_loadingContainer_vcv6u_93";
137
- const hideScrollbar = "_hideScrollbar_vcv6u_85";
138
- const sr_only = "_sr_only_vcv6u_94";
136
+ const noScroll$1 = "_noScroll_vcv6u_91";
137
+ const errorMessage$1 = "_errorMessage_vcv6u_92";
138
+ const loadingContainer$1 = "_loadingContainer_vcv6u_93";
139
+ const hideScrollbar$1 = "_hideScrollbar_vcv6u_85";
140
+ const sr_only$1 = "_sr_only_vcv6u_94";
139
141
  const container = "_container_vcv6u_479";
140
142
  const topLeft = "_topLeft_vcv6u_488";
141
143
  const topCenter = "_topCenter_vcv6u_493";
@@ -143,16 +145,16 @@ const topRight = "_topRight_vcv6u_499";
143
145
  const bottomLeft = "_bottomLeft_vcv6u_504";
144
146
  const bottomCenter = "_bottomCenter_vcv6u_509";
145
147
  const bottomRight = "_bottomRight_vcv6u_515";
146
- const list = "_list_vcv6u_521";
148
+ const list$1 = "_list_vcv6u_521";
147
149
  const chip = "_chip_vcv6u_530";
148
- const spin = "_spin_vcv6u_1";
149
- const pulse = "_pulse_vcv6u_1";
150
- const styles = {
151
- noScroll,
152
- errorMessage,
153
- loadingContainer,
154
- hideScrollbar,
155
- sr_only,
150
+ const spin$1 = "_spin_vcv6u_1";
151
+ const pulse$1 = "_pulse_vcv6u_1";
152
+ const styles$1 = {
153
+ noScroll: noScroll$1,
154
+ errorMessage: errorMessage$1,
155
+ loadingContainer: loadingContainer$1,
156
+ hideScrollbar: hideScrollbar$1,
157
+ sr_only: sr_only$1,
156
158
  container,
157
159
  topLeft,
158
160
  topCenter,
@@ -160,13 +162,13 @@ const styles = {
160
162
  bottomLeft,
161
163
  bottomCenter,
162
164
  bottomRight,
163
- list,
165
+ list: list$1,
164
166
  chip,
165
167
  "fade-in": "_fade-in_vcv6u_1",
166
168
  "slide-up": "_slide-up_vcv6u_1",
167
169
  "spin-3d": "_spin-3d_vcv6u_1",
168
- spin,
169
- pulse,
170
+ spin: spin$1,
171
+ pulse: pulse$1,
170
172
  "fade-in-up": "_fade-in-up_vcv6u_1",
171
173
  "progress-grow": "_progress-grow_vcv6u_1",
172
174
  "indeterminate-move": "_indeterminate-move_vcv6u_1",
@@ -179,10 +181,283 @@ const ChipGroup = React.forwardRef(
179
181
  ...props,
180
182
  ref,
181
183
  ChipComponent: Chip.Chip,
182
- classMap: styles
184
+ classMap: styles$1
183
185
  }
184
186
  )
185
187
  );
188
+ const SidebarBase = ({
189
+ links,
190
+ classMap,
191
+ currentPath,
192
+ LinkComponent = "a",
193
+ theme = borealStyleConfig.getDefaultTheme(),
194
+ rounding = borealStyleConfig.getDefaultRounding(),
195
+ shadow = borealStyleConfig.getDefaultShadow(),
196
+ state = "",
197
+ showFooter = false,
198
+ footerLinks,
199
+ footerVersion: footerVersion2,
200
+ outline: outline2 = false,
201
+ className = "",
202
+ "data-testid": testId = "sidebar",
203
+ ariaLabel = "Sidebar navigation",
204
+ ...rest
205
+ }) => {
206
+ const [openItems, setOpenItems] = React.useState({});
207
+ const toggleItem = (key) => {
208
+ setOpenItems((prev) => ({ ...prev, [key]: !prev[key] }));
209
+ };
210
+ const submenuRefs = React.useRef({});
211
+ const setSubmenuRef = (key, el) => {
212
+ submenuRefs.current[key] = el;
213
+ };
214
+ const getSubmenuHeight = (key) => {
215
+ const el = submenuRefs.current[key];
216
+ return el ? `${el.scrollHeight}px` : "0px";
217
+ };
218
+ const containerClasses = React.useMemo(
219
+ () => classNames.combineClassNames(
220
+ classMap.wrapper,
221
+ className,
222
+ classMap[theme],
223
+ classMap[state],
224
+ shadow && classMap[`shadow${capitalize.capitalize(shadow)}`],
225
+ rounding && classMap[`round${capitalize.capitalize(rounding)}`],
226
+ outline2 ? classMap.outline : ""
227
+ ),
228
+ [className, theme, state, outline2, rounding, shadow]
229
+ );
230
+ const renderLinks = (items, isChild = false) => /* @__PURE__ */ require$$2.jsx(
231
+ "ul",
232
+ {
233
+ className: classNames.combineClassNames(
234
+ classMap.list,
235
+ isChild ? classMap.childList : ""
236
+ ),
237
+ "data-testid": `${testId}-list`,
238
+ children: items.map(({ label, href, children, icon }) => {
239
+ const isActive = href && currentPath === href;
240
+ const isOpen = openItems[label] || false;
241
+ return /* @__PURE__ */ require$$2.jsx(
242
+ "li",
243
+ {
244
+ className: classMap.item,
245
+ "data-testid": `${testId}-listItems`,
246
+ children: children && children.length > 0 ? /* @__PURE__ */ require$$2.jsxs(require$$2.Fragment, { children: [
247
+ /* @__PURE__ */ require$$2.jsxs(
248
+ "button",
249
+ {
250
+ type: "button",
251
+ className: classNames.combineClassNames(
252
+ classMap.link,
253
+ isOpen ? classMap.active : ""
254
+ ),
255
+ onClick: () => toggleItem(label),
256
+ "aria-expanded": isOpen,
257
+ "data-testid": `${testId}-exapndItemButton`,
258
+ children: [
259
+ icon && /* @__PURE__ */ require$$2.jsx("span", { className: classMap.icon, children: icon }),
260
+ /* @__PURE__ */ require$$2.jsx("span", { "data-testid": `${testId}-exapndItemLabel`, children: label }),
261
+ /* @__PURE__ */ require$$2.jsx(
262
+ Select.ChevronDownIcon,
263
+ {
264
+ className: classNames.combineClassNames(
265
+ classMap.chevron,
266
+ isOpen ? classMap.chevronOpen : ""
267
+ ),
268
+ "data-testid": `${testId}-exapndIcon`
269
+ }
270
+ )
271
+ ]
272
+ }
273
+ ),
274
+ /* @__PURE__ */ require$$2.jsx(
275
+ "div",
276
+ {
277
+ ref: (el) => setSubmenuRef(label, el),
278
+ className: classNames.combineClassNames(
279
+ classMap.submenu,
280
+ isOpen ? classMap.submenuOpen : ""
281
+ ),
282
+ style: {
283
+ maxHeight: isOpen ? getSubmenuHeight(label) : "0px"
284
+ },
285
+ "data-testid": `${testId}-subMenu`,
286
+ children: renderLinks(children, true)
287
+ }
288
+ )
289
+ ] }) : href ? /* @__PURE__ */ require$$2.jsxs(
290
+ LinkComponent,
291
+ {
292
+ href,
293
+ className: classNames.combineClassNames(
294
+ classMap.link,
295
+ isChild ? classMap.childLink : "",
296
+ isActive ? classMap.active : ""
297
+ ),
298
+ "aria-current": isActive ? "page" : void 0,
299
+ "data-testid": `${testId}-sidebarLink`,
300
+ children: [
301
+ icon && /* @__PURE__ */ require$$2.jsx("span", { className: classMap.icon, children: icon }),
302
+ label
303
+ ]
304
+ }
305
+ ) : /* @__PURE__ */ require$$2.jsxs(
306
+ "span",
307
+ {
308
+ className: classNames.combineClassNames(
309
+ classMap.link,
310
+ isChild ? classMap.childLink : ""
311
+ ),
312
+ "data-testid": `${testId}-sidebarLabel`,
313
+ children: [
314
+ icon && /* @__PURE__ */ require$$2.jsx("span", { className: classMap.icon, children: icon }),
315
+ label
316
+ ]
317
+ }
318
+ )
319
+ },
320
+ label
321
+ );
322
+ })
323
+ }
324
+ );
325
+ return /* @__PURE__ */ require$$2.jsxs(
326
+ "nav",
327
+ {
328
+ className: containerClasses,
329
+ "aria-label": ariaLabel,
330
+ ...rest,
331
+ "data-testid": testId,
332
+ children: [
333
+ /* @__PURE__ */ require$$2.jsx("nav", { className: classMap.nav, children: renderLinks(links) }),
334
+ showFooter && /* @__PURE__ */ require$$2.jsxs("footer", { className: classMap.footer, "data-testid": `${testId}-footer`, children: [
335
+ footerLinks == null ? void 0 : footerLinks.map(({ label, href }) => /* @__PURE__ */ require$$2.jsx(
336
+ LinkComponent,
337
+ {
338
+ href,
339
+ className: classMap.footerLink,
340
+ "data-testid": `${testId}-footerLink`,
341
+ children: label
342
+ },
343
+ label
344
+ )),
345
+ footerVersion2 && /* @__PURE__ */ require$$2.jsx(
346
+ "span",
347
+ {
348
+ className: classMap.footerVersion,
349
+ "data-testid": `${testId}-footerVersion`,
350
+ children: footerVersion2
351
+ }
352
+ )
353
+ ] })
354
+ ]
355
+ }
356
+ );
357
+ };
358
+ SidebarBase.displayName = "SidebarBase";
359
+ const noScroll = "_noScroll_y1c07_91";
360
+ const errorMessage = "_errorMessage_y1c07_92";
361
+ const loadingContainer = "_loadingContainer_y1c07_93";
362
+ const hideScrollbar = "_hideScrollbar_y1c07_85";
363
+ const sr_only = "_sr_only_y1c07_94";
364
+ const wrapper = "_wrapper_y1c07_479";
365
+ const roundNone = "_roundNone_y1c07_490";
366
+ const roundSmall = "_roundSmall_y1c07_493";
367
+ const roundMedium = "_roundMedium_y1c07_496";
368
+ const roundLarge = "_roundLarge_y1c07_499";
369
+ const roundFull = "_roundFull_y1c07_502";
370
+ const shadowNone = "_shadowNone_y1c07_505";
371
+ const shadowLight = "_shadowLight_y1c07_508";
372
+ const shadowMedium = "_shadowMedium_y1c07_511";
373
+ const shadowStrong = "_shadowStrong_y1c07_514";
374
+ const shadowIntense = "_shadowIntense_y1c07_517";
375
+ const primary = "_primary_y1c07_521";
376
+ const active = "_active_y1c07_521";
377
+ const outline = "_outline_y1c07_525";
378
+ const clear = "_clear_y1c07_530";
379
+ const secondary = "_secondary_y1c07_534";
380
+ const tertiary = "_tertiary_y1c07_547";
381
+ const quaternary = "_quaternary_y1c07_560";
382
+ const success = "_success_y1c07_588";
383
+ const error = "_error_y1c07_92";
384
+ const warning = "_warning_y1c07_602";
385
+ const nav = "_nav_y1c07_609";
386
+ const list = "_list_y1c07_614";
387
+ const link = "_link_y1c07_620";
388
+ const childLink = "_childLink_y1c07_650";
389
+ const chevron = "_chevron_y1c07_654";
390
+ const chevronOpen = "_chevronOpen_y1c07_658";
391
+ const submenu = "_submenu_y1c07_662";
392
+ const childList = "_childList_y1c07_668";
393
+ const footer = "_footer_y1c07_673";
394
+ const footerLink = "_footerLink_y1c07_685";
395
+ const footerVersion = "_footerVersion_y1c07_693";
396
+ const spin = "_spin_y1c07_1";
397
+ const pulse = "_pulse_y1c07_1";
398
+ const styles = {
399
+ noScroll,
400
+ errorMessage,
401
+ loadingContainer,
402
+ hideScrollbar,
403
+ sr_only,
404
+ wrapper,
405
+ roundNone,
406
+ roundSmall,
407
+ roundMedium,
408
+ roundLarge,
409
+ roundFull,
410
+ shadowNone,
411
+ shadowLight,
412
+ shadowMedium,
413
+ shadowStrong,
414
+ shadowIntense,
415
+ primary,
416
+ active,
417
+ outline,
418
+ clear,
419
+ secondary,
420
+ tertiary,
421
+ quaternary,
422
+ success,
423
+ error,
424
+ warning,
425
+ nav,
426
+ list,
427
+ link,
428
+ childLink,
429
+ chevron,
430
+ chevronOpen,
431
+ submenu,
432
+ childList,
433
+ footer,
434
+ footerLink,
435
+ footerVersion,
436
+ "fade-in": "_fade-in_y1c07_1",
437
+ "slide-up": "_slide-up_y1c07_1",
438
+ "spin-3d": "_spin-3d_y1c07_1",
439
+ spin,
440
+ pulse,
441
+ "fade-in-up": "_fade-in-up_y1c07_1",
442
+ "progress-grow": "_progress-grow_y1c07_1",
443
+ "indeterminate-move": "_indeterminate-move_y1c07_1",
444
+ "skeleton-loading": "_skeleton-loading_y1c07_1"
445
+ };
446
+ const Sidebar = ({ links, ...rest }) => {
447
+ const currentPath = NavBar.navigation.usePathname();
448
+ const { classMap, currentPath: _ignored, ...safeRest } = rest;
449
+ return /* @__PURE__ */ require$$2.jsx(
450
+ SidebarBase,
451
+ {
452
+ links,
453
+ classMap: styles,
454
+ currentPath,
455
+ LinkComponent: link$1.Link,
456
+ ...safeRest
457
+ },
458
+ currentPath
459
+ );
460
+ };
186
461
  function ClientFooterWrapper(props) {
187
462
  return /* @__PURE__ */ require$$2.jsx(Footer.Footer, { ...props });
188
463
  }
@@ -239,4 +514,5 @@ exports.Card = Card.Card;
239
514
  exports.Avatar = Avatar.Avatar;
240
515
  exports.ChipGroup = ChipGroup;
241
516
  exports.ClientFooterWrapper = ClientFooterWrapper;
517
+ exports.Sidebar = Sidebar;
242
518
  //# sourceMappingURL=index.cjs.js.map