@danske/sapphire-react-lab 0.105.2 → 0.106.2

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 (216) hide show
  1. package/build/cjs/index.js +1607 -2284
  2. package/build/cjs/index.js.map +1 -1
  3. package/build/esm/Accordion/index.js.map +1 -1
  4. package/build/esm/Accordion/src/Accordion.js +44 -75
  5. package/build/esm/Accordion/src/Accordion.js.map +1 -1
  6. package/build/esm/Accordion/src/AccordionContext.js +3 -1
  7. package/build/esm/Accordion/src/AccordionContext.js.map +1 -1
  8. package/build/esm/Accordion/src/AccordionHeading.js +23 -55
  9. package/build/esm/Accordion/src/AccordionHeading.js.map +1 -1
  10. package/build/esm/Accordion/src/AccordionItem.js +18 -44
  11. package/build/esm/Accordion/src/AccordionItem.js.map +1 -1
  12. package/build/esm/Accordion/src/AccordionPanel.js +28 -45
  13. package/build/esm/Accordion/src/AccordionPanel.js.map +1 -1
  14. package/build/esm/Accordion/src/utils.js.map +1 -1
  15. package/build/esm/Alert/src/Alert.js +27 -65
  16. package/build/esm/Alert/src/Alert.js.map +1 -1
  17. package/build/esm/Amount/src/Amount.js +41 -63
  18. package/build/esm/Amount/src/Amount.js.map +1 -1
  19. package/build/esm/Amount/src/useGroupAmount.js +4 -1
  20. package/build/esm/Amount/src/useGroupAmount.js.map +1 -1
  21. package/build/esm/Autocomplete/i18n/da-DK.json.js +6 -0
  22. package/build/esm/Autocomplete/i18n/da-DK.json.js.map +1 -0
  23. package/build/esm/Autocomplete/i18n/de-DE.json.js +6 -0
  24. package/build/esm/Autocomplete/i18n/de-DE.json.js.map +1 -0
  25. package/build/esm/Autocomplete/i18n/en-US.json.js +6 -0
  26. package/build/esm/Autocomplete/i18n/en-US.json.js.map +1 -0
  27. package/build/esm/Autocomplete/i18n/fi-FI.json.js +6 -0
  28. package/build/esm/Autocomplete/i18n/fi-FI.json.js.map +1 -0
  29. package/build/esm/Autocomplete/i18n/index.js +9 -9
  30. package/build/esm/Autocomplete/i18n/index.js.map +1 -1
  31. package/build/esm/Autocomplete/i18n/nb-NO.json.js +6 -0
  32. package/build/esm/Autocomplete/i18n/nb-NO.json.js.map +1 -0
  33. package/build/esm/Autocomplete/i18n/pl-PL.json.js +6 -0
  34. package/build/esm/Autocomplete/i18n/pl-PL.json.js.map +1 -0
  35. package/build/esm/Autocomplete/i18n/sv-SE.json.js +6 -0
  36. package/build/esm/Autocomplete/i18n/sv-SE.json.js.map +1 -0
  37. package/build/esm/Autocomplete/src/Autocomplete.js +57 -76
  38. package/build/esm/Autocomplete/src/Autocomplete.js.map +1 -1
  39. package/build/esm/Breadcrumbs/src/BreadcrumbItem.js +46 -52
  40. package/build/esm/Breadcrumbs/src/BreadcrumbItem.js.map +1 -1
  41. package/build/esm/Breadcrumbs/src/BreadcrumbItemLink.js +17 -45
  42. package/build/esm/Breadcrumbs/src/BreadcrumbItemLink.js.map +1 -1
  43. package/build/esm/Breadcrumbs/src/BreadcrumbItemStatic.js +25 -46
  44. package/build/esm/Breadcrumbs/src/BreadcrumbItemStatic.js.map +1 -1
  45. package/build/esm/Breadcrumbs/src/BreadcrumbOverflowMenu.js +18 -11
  46. package/build/esm/Breadcrumbs/src/BreadcrumbOverflowMenu.js.map +1 -1
  47. package/build/esm/Breadcrumbs/src/Breadcrumbs.js +47 -64
  48. package/build/esm/Breadcrumbs/src/Breadcrumbs.js.map +1 -1
  49. package/build/esm/Breadcrumbs/src/BreadcrumbsSeparator.js +8 -6
  50. package/build/esm/Breadcrumbs/src/BreadcrumbsSeparator.js.map +1 -1
  51. package/build/esm/Breadcrumbs/src/useBreadcrumbThreshold.js +6 -6
  52. package/build/esm/Breadcrumbs/src/useBreadcrumbThreshold.js.map +1 -1
  53. package/build/esm/FileDropzone/i18n/{da-DK.js → da-DK.json.js} +3 -3
  54. package/build/esm/FileDropzone/i18n/da-DK.json.js.map +1 -0
  55. package/build/esm/FileDropzone/i18n/{de-DE.js → de-DE.json.js} +3 -3
  56. package/build/esm/FileDropzone/i18n/de-DE.json.js.map +1 -0
  57. package/build/esm/FileDropzone/i18n/{en-US.js → en-US.json.js} +3 -3
  58. package/build/esm/FileDropzone/i18n/en-US.json.js.map +1 -0
  59. package/build/esm/FileDropzone/i18n/{fi-FI.js → fi-FI.json.js} +3 -3
  60. package/build/esm/FileDropzone/i18n/fi-FI.json.js.map +1 -0
  61. package/build/esm/FileDropzone/i18n/index.js +9 -9
  62. package/build/esm/FileDropzone/i18n/index.js.map +1 -1
  63. package/build/esm/FileDropzone/i18n/{nb-NO.js → nb-NO.json.js} +3 -3
  64. package/build/esm/FileDropzone/i18n/nb-NO.json.js.map +1 -0
  65. package/build/esm/FileDropzone/i18n/{pl-PL.js → pl-PL.json.js} +3 -3
  66. package/build/esm/FileDropzone/i18n/pl-PL.json.js.map +1 -0
  67. package/build/esm/FileDropzone/i18n/{sv-SE.js → sv-SE.json.js} +3 -3
  68. package/build/esm/FileDropzone/i18n/sv-SE.json.js.map +1 -0
  69. package/build/esm/FileDropzone/src/FileDropzone.js +68 -88
  70. package/build/esm/FileDropzone/src/FileDropzone.js.map +1 -1
  71. package/build/esm/FileDropzone/src/FileTrigger.js +29 -61
  72. package/build/esm/FileDropzone/src/FileTrigger.js.map +1 -1
  73. package/build/esm/FileDropzone/src/utils.js.map +1 -1
  74. package/build/esm/Filtering/src/FilterDropdown.js +91 -113
  75. package/build/esm/Filtering/src/FilterDropdown.js.map +1 -1
  76. package/build/esm/Filtering/src/SearchableSelectFilter.js +53 -70
  77. package/build/esm/Filtering/src/SearchableSelectFilter.js.map +1 -1
  78. package/build/esm/Flag/src/Flag.js +5 -37
  79. package/build/esm/Flag/src/Flag.js.map +1 -1
  80. package/build/esm/LabeledValue/src/LabeledValue.js +21 -55
  81. package/build/esm/LabeledValue/src/LabeledValue.js.map +1 -1
  82. package/build/esm/NumberField/i18n/da-DK.json.js +9 -0
  83. package/build/esm/NumberField/i18n/da-DK.json.js.map +1 -0
  84. package/build/esm/NumberField/i18n/de-DE.json.js +9 -0
  85. package/build/esm/NumberField/i18n/de-DE.json.js.map +1 -0
  86. package/build/esm/NumberField/i18n/en-US.json.js +9 -0
  87. package/build/esm/NumberField/i18n/en-US.json.js.map +1 -0
  88. package/build/esm/NumberField/i18n/fi-FI.json.js +9 -0
  89. package/build/esm/NumberField/i18n/fi-FI.json.js.map +1 -0
  90. package/build/esm/NumberField/i18n/index.js +9 -9
  91. package/build/esm/NumberField/i18n/index.js.map +1 -1
  92. package/build/esm/NumberField/i18n/nb-NO.json.js +9 -0
  93. package/build/esm/NumberField/i18n/nb-NO.json.js.map +1 -0
  94. package/build/esm/NumberField/i18n/pl-PL.json.js +9 -0
  95. package/build/esm/NumberField/i18n/pl-PL.json.js.map +1 -0
  96. package/build/esm/NumberField/i18n/sv-SE.json.js +9 -0
  97. package/build/esm/NumberField/i18n/sv-SE.json.js.map +1 -0
  98. package/build/esm/NumberField/src/NumberField.js +130 -111
  99. package/build/esm/NumberField/src/NumberField.js.map +1 -1
  100. package/build/esm/NumberField/src/StepperButton.js +32 -53
  101. package/build/esm/NumberField/src/StepperButton.js.map +1 -1
  102. package/build/esm/NumberField/src/cursorHelpers.js +13 -8
  103. package/build/esm/NumberField/src/cursorHelpers.js.map +1 -1
  104. package/build/esm/NumberField/src/formatHelpers.js +15 -18
  105. package/build/esm/NumberField/src/formatHelpers.js.map +1 -1
  106. package/build/esm/NumberField/src/keyboardHelpers.js +13 -8
  107. package/build/esm/NumberField/src/keyboardHelpers.js.map +1 -1
  108. package/build/esm/NumberField/src/useAutofillStyle.js.map +1 -1
  109. package/build/esm/NumberField/src/useNumberFieldFormatting.js +79 -45
  110. package/build/esm/NumberField/src/useNumberFieldFormatting.js.map +1 -1
  111. package/build/esm/NumberField/src/useSapphireNumberField.js +16 -42
  112. package/build/esm/NumberField/src/useSapphireNumberField.js.map +1 -1
  113. package/build/esm/ProgressIndicator/src/ProgressIndicator.js +23 -35
  114. package/build/esm/ProgressIndicator/src/ProgressIndicator.js.map +1 -1
  115. package/build/esm/Sidebar/index.js.map +1 -1
  116. package/build/esm/Sidebar/src/Body.js +19 -44
  117. package/build/esm/Sidebar/src/Body.js.map +1 -1
  118. package/build/esm/Sidebar/src/ExpandableItem.js +89 -97
  119. package/build/esm/Sidebar/src/ExpandableItem.js.map +1 -1
  120. package/build/esm/Sidebar/src/Header.js +14 -44
  121. package/build/esm/Sidebar/src/Header.js.map +1 -1
  122. package/build/esm/Sidebar/src/Item.js +17 -44
  123. package/build/esm/Sidebar/src/Item.js.map +1 -1
  124. package/build/esm/Sidebar/src/List.js +14 -43
  125. package/build/esm/Sidebar/src/List.js.map +1 -1
  126. package/build/esm/Sidebar/src/Panel.js +56 -69
  127. package/build/esm/Sidebar/src/Panel.js.map +1 -1
  128. package/build/esm/Sidebar/src/ResponsiveSidebarContext.js +17 -9
  129. package/build/esm/Sidebar/src/ResponsiveSidebarContext.js.map +1 -1
  130. package/build/esm/Sidebar/src/SecondarySidebarContext.js +15 -12
  131. package/build/esm/Sidebar/src/SecondarySidebarContext.js.map +1 -1
  132. package/build/esm/Sidebar/src/Section.js +38 -51
  133. package/build/esm/Sidebar/src/Section.js.map +1 -1
  134. package/build/esm/Sidebar/src/Sidebar.js +65 -93
  135. package/build/esm/Sidebar/src/Sidebar.js.map +1 -1
  136. package/build/esm/Sidebar/src/useSidebar.js.map +1 -1
  137. package/build/esm/Slider/index.js.map +1 -1
  138. package/build/esm/Slider/src/Slider.js +46 -71
  139. package/build/esm/Slider/src/Slider.js.map +1 -1
  140. package/build/esm/TagGroup/src/Tag.js +71 -86
  141. package/build/esm/TagGroup/src/Tag.js.map +1 -1
  142. package/build/esm/TagGroup/src/TagGroup.js +46 -67
  143. package/build/esm/TagGroup/src/TagGroup.js.map +1 -1
  144. package/build/esm/TagGroup/src/TagItem.js +1 -1
  145. package/build/esm/TagGroup/src/TagItem.js.map +1 -1
  146. package/build/esm/TimeField/i18n/da-DK.json.js +7 -0
  147. package/build/esm/TimeField/i18n/da-DK.json.js.map +1 -0
  148. package/build/esm/TimeField/i18n/de-DE.json.js +7 -0
  149. package/build/esm/TimeField/i18n/de-DE.json.js.map +1 -0
  150. package/build/esm/TimeField/i18n/en-US.json.js +7 -0
  151. package/build/esm/TimeField/i18n/en-US.json.js.map +1 -0
  152. package/build/esm/TimeField/i18n/fi-FI.json.js +7 -0
  153. package/build/esm/TimeField/i18n/fi-FI.json.js.map +1 -0
  154. package/build/esm/TimeField/i18n/index.js +7 -7
  155. package/build/esm/TimeField/i18n/index.js.map +1 -1
  156. package/build/esm/TimeField/i18n/nb-NO.json.js +7 -0
  157. package/build/esm/TimeField/i18n/nb-NO.json.js.map +1 -0
  158. package/build/esm/TimeField/i18n/pl-PL.json.js +7 -0
  159. package/build/esm/TimeField/i18n/pl-PL.json.js.map +1 -0
  160. package/build/esm/TimeField/i18n/{sv-SE.js → sv-SE.json.js} +1 -1
  161. package/build/esm/TimeField/i18n/sv-SE.json.js.map +1 -0
  162. package/build/esm/TimeField/src/TimeField.js +67 -84
  163. package/build/esm/TimeField/src/TimeField.js.map +1 -1
  164. package/build/esm/TimeField/src/TimeFieldSegment.js +25 -37
  165. package/build/esm/TimeField/src/TimeFieldSegment.js.map +1 -1
  166. package/build/esm/index.js +1 -1
  167. package/build/index.d.ts +19 -17
  168. package/package.json +16 -39
  169. package/build/esm/Autocomplete/i18n/da-DK.js +0 -6
  170. package/build/esm/Autocomplete/i18n/da-DK.js.map +0 -1
  171. package/build/esm/Autocomplete/i18n/de-DE.js +0 -6
  172. package/build/esm/Autocomplete/i18n/de-DE.js.map +0 -1
  173. package/build/esm/Autocomplete/i18n/en-US.js +0 -6
  174. package/build/esm/Autocomplete/i18n/en-US.js.map +0 -1
  175. package/build/esm/Autocomplete/i18n/fi-FI.js +0 -6
  176. package/build/esm/Autocomplete/i18n/fi-FI.js.map +0 -1
  177. package/build/esm/Autocomplete/i18n/nb-NO.js +0 -6
  178. package/build/esm/Autocomplete/i18n/nb-NO.js.map +0 -1
  179. package/build/esm/Autocomplete/i18n/pl-PL.js +0 -6
  180. package/build/esm/Autocomplete/i18n/pl-PL.js.map +0 -1
  181. package/build/esm/Autocomplete/i18n/sv-SE.js +0 -6
  182. package/build/esm/Autocomplete/i18n/sv-SE.js.map +0 -1
  183. package/build/esm/FileDropzone/i18n/da-DK.js.map +0 -1
  184. package/build/esm/FileDropzone/i18n/de-DE.js.map +0 -1
  185. package/build/esm/FileDropzone/i18n/en-US.js.map +0 -1
  186. package/build/esm/FileDropzone/i18n/fi-FI.js.map +0 -1
  187. package/build/esm/FileDropzone/i18n/nb-NO.js.map +0 -1
  188. package/build/esm/FileDropzone/i18n/pl-PL.js.map +0 -1
  189. package/build/esm/FileDropzone/i18n/sv-SE.js.map +0 -1
  190. package/build/esm/NumberField/i18n/da-DK.js +0 -9
  191. package/build/esm/NumberField/i18n/da-DK.js.map +0 -1
  192. package/build/esm/NumberField/i18n/de-DE.js +0 -9
  193. package/build/esm/NumberField/i18n/de-DE.js.map +0 -1
  194. package/build/esm/NumberField/i18n/en-US.js +0 -9
  195. package/build/esm/NumberField/i18n/en-US.js.map +0 -1
  196. package/build/esm/NumberField/i18n/fi-FI.js +0 -9
  197. package/build/esm/NumberField/i18n/fi-FI.js.map +0 -1
  198. package/build/esm/NumberField/i18n/nb-NO.js +0 -9
  199. package/build/esm/NumberField/i18n/nb-NO.js.map +0 -1
  200. package/build/esm/NumberField/i18n/pl-PL.js +0 -9
  201. package/build/esm/NumberField/i18n/pl-PL.js.map +0 -1
  202. package/build/esm/NumberField/i18n/sv-SE.js +0 -9
  203. package/build/esm/NumberField/i18n/sv-SE.js.map +0 -1
  204. package/build/esm/TimeField/i18n/da-DK.js +0 -7
  205. package/build/esm/TimeField/i18n/da-DK.js.map +0 -1
  206. package/build/esm/TimeField/i18n/de-DE.js +0 -7
  207. package/build/esm/TimeField/i18n/de-DE.js.map +0 -1
  208. package/build/esm/TimeField/i18n/en-US.js +0 -7
  209. package/build/esm/TimeField/i18n/en-US.js.map +0 -1
  210. package/build/esm/TimeField/i18n/fi-FI.js +0 -7
  211. package/build/esm/TimeField/i18n/fi-FI.js.map +0 -1
  212. package/build/esm/TimeField/i18n/nb-NO.js +0 -7
  213. package/build/esm/TimeField/i18n/nb-NO.js.map +0 -1
  214. package/build/esm/TimeField/i18n/pl-PL.js +0 -7
  215. package/build/esm/TimeField/i18n/pl-PL.js.map +0 -1
  216. package/build/esm/TimeField/i18n/sv-SE.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/Accordion/index.ts"],"sourcesContent":["import { Accordion, type AccordionProps } from './src/Accordion';\nimport {\n AccordionHeading,\n AccordionHeadingProps,\n} from './src/AccordionHeading';\nimport { AccordionItem, type AccordionItemProps } from './src/AccordionItem';\nimport { AccordionContext } from './src/AccordionContext';\nimport { AccordionPanel, AccordionPanelProps } from './src/AccordionPanel';\n\n/*\n * Before moving Accordion component to the core package, it's important to check on the\n * latest release of \"@react-aria/accordion\".\n * The hook and the component package are marked as \"pre-release\", so we can expect some changes.\n *\n * https://github.com/adobe/react-spectrum/issues/2801#issuecomment-1035377858\n * https://github.com/adobe/react-spectrum/discussions/6635#discussioncomment-9990027\n *\n * The current implementation is based on the SelectableCollection API, which creates bugs when\n * focusable items are used inside of the Accordion.Item.\n * E.g. UC-3414 (fixed), UC-3545 (to-do)\n *\n * Alternatively, we can re-implement the component.\n */\nconst _Accordion = Object.assign(Accordion, {\n Heading: AccordionHeading,\n Item: AccordionItem,\n Panel: AccordionPanel,\n});\n\nexport {\n _Accordion as Accordion,\n AccordionContext,\n type AccordionProps,\n type AccordionItemProps,\n type AccordionHeadingProps,\n type AccordionPanelProps,\n};\n"],"names":[],"mappings":";;;;;;AAuBM,MAAA,UAAA,GAAa,MAAO,CAAA,MAAA,CAAO,SAAW,EAAA;AAAA,EAC1C,OAAS,EAAA,gBAAA;AAAA,EACT,IAAM,EAAA,aAAA;AAAA,EACN,KAAO,EAAA,cAAA;AAAA,CAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/Accordion/index.ts"],"sourcesContent":["import { Accordion, type AccordionProps } from './src/Accordion';\nimport {\n AccordionHeading,\n type AccordionHeadingProps,\n} from './src/AccordionHeading';\nimport { AccordionItem, type AccordionItemProps } from './src/AccordionItem';\nimport { AccordionContext } from './src/AccordionContext';\nimport { AccordionPanel, type AccordionPanelProps } from './src/AccordionPanel';\n\n/*\n * Before moving Accordion component to the core package, it's important to check on the\n * latest release of \"@react-aria/accordion\".\n * The hook and the component package are marked as \"pre-release\", so we can expect some changes.\n *\n * https://github.com/adobe/react-spectrum/issues/2801#issuecomment-1035377858\n * https://github.com/adobe/react-spectrum/discussions/6635#discussioncomment-9990027\n *\n * The current implementation is based on the SelectableCollection API, which creates bugs when\n * focusable items are used inside of the Accordion.Item.\n * E.g. UC-3414 (fixed), UC-3545 (to-do)\n *\n * Alternatively, we can re-implement the component.\n */\nconst _Accordion = Object.assign(Accordion, {\n Heading: AccordionHeading,\n Item: AccordionItem,\n Panel: AccordionPanel,\n});\n\nexport {\n _Accordion as Accordion,\n AccordionContext,\n type AccordionProps,\n type AccordionItemProps,\n type AccordionHeadingProps,\n type AccordionPanelProps,\n};\n"],"names":[],"mappings":";;;;;;AAuBA,MAAM,UAAA,GAAa,MAAA,CAAO,MAAA,CAAO,SAAA,EAAW;AAAA,EAC1C,OAAA,EAAS,gBAAA;AAAA,EACT,IAAA,EAAM,aAAA;AAAA,EACN,KAAA,EAAO;AACT,CAAC;;;;"}
@@ -1,88 +1,57 @@
1
1
  import React, { forwardRef } from 'react';
2
2
  import clsx from 'clsx';
3
- import { useObjectRef, filterDOMProps } from '@react-aria/utils';
3
+ import { filterDOMProps } from 'react-aria/filterDOMProps';
4
+ import { useObjectRef } from 'react-aria/useObjectRef';
4
5
  import styles from '@danske/sapphire-css/components/accordion/accordion.module.css';
5
6
  import { useThemeCheck, useSapphireStyleProps, withTruthyZero } from '@danske/sapphire-react';
6
- import { FocusScope } from '@react-aria/focus';
7
+ import { FocusScope } from 'react-aria/FocusScope';
7
8
  import { AccordionContext } from './AccordionContext.js';
8
9
  import { DisclosureGroup } from 'react-aria-components';
9
10
 
10
- var __defProp = Object.defineProperty;
11
- var __defProps = Object.defineProperties;
12
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
13
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
14
- var __hasOwnProp = Object.prototype.hasOwnProperty;
15
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
16
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
17
- var __spreadValues = (a, b) => {
18
- for (var prop in b || (b = {}))
19
- if (__hasOwnProp.call(b, prop))
20
- __defNormalProp(a, prop, b[prop]);
21
- if (__getOwnPropSymbols)
22
- for (var prop of __getOwnPropSymbols(b)) {
23
- if (__propIsEnum.call(b, prop))
24
- __defNormalProp(a, prop, b[prop]);
25
- }
26
- return a;
27
- };
28
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
29
- var __objRest = (source, exclude) => {
30
- var target = {};
31
- for (var prop in source)
32
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
33
- target[prop] = source[prop];
34
- if (source != null && __getOwnPropSymbols)
35
- for (var prop of __getOwnPropSymbols(source)) {
36
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
37
- target[prop] = source[prop];
38
- }
39
- return target;
40
- };
41
- const Accordion = forwardRef(function Accordion2(_a, ref) {
42
- var _b = _a, {
43
- allowsMultipleExpanded = true,
44
- headerLevel = 5,
45
- hideLastDivider = false,
46
- hasNegativeSideMargin = false,
47
- sidePadding,
48
- children,
49
- expandedKeys,
50
- defaultExpandedKeys,
51
- onExpandedChange,
52
- isDisabled
53
- } = _b, props = __objRest(_b, [
54
- "allowsMultipleExpanded",
55
- "headerLevel",
56
- "hideLastDivider",
57
- "hasNegativeSideMargin",
58
- "sidePadding",
59
- "children",
60
- "expandedKeys",
61
- "defaultExpandedKeys",
62
- "onExpandedChange",
63
- "isDisabled"
64
- ]);
11
+ const Accordion = forwardRef(function Accordion2({
12
+ allowsMultipleExpanded = true,
13
+ headerLevel = 5,
14
+ hideLastDivider = false,
15
+ hasNegativeSideMargin = false,
16
+ sidePadding,
17
+ children,
18
+ expandedKeys,
19
+ defaultExpandedKeys,
20
+ onExpandedChange,
21
+ isDisabled,
22
+ ...props
23
+ }, ref) {
65
24
  useThemeCheck();
66
25
  const { styleProps } = useSapphireStyleProps(props);
67
26
  const forwardedRef = useObjectRef(ref);
68
- return /* @__PURE__ */ React.createElement(FocusScope, null, /* @__PURE__ */ React.createElement(AccordionContext.Provider, {
69
- value: { sidePadding, headerLevel }
70
- }, /* @__PURE__ */ React.createElement(DisclosureGroup, __spreadProps(__spreadValues({}, filterDOMProps(props, { global: true, labelable: true })), {
71
- allowsMultipleExpanded,
72
- expandedKeys,
73
- defaultExpandedKeys,
74
- onExpandedChange,
75
- isDisabled,
76
- ref: forwardedRef,
77
- className: clsx(styles["sapphire-accordion"], {
78
- [styles["sapphire-accordion--without-last-divider"]]: hideLastDivider,
79
- [styles["sapphire-accordion--negative-margin-self"]]: !withTruthyZero(sidePadding) && hasNegativeSideMargin
80
- }, styleProps.className),
81
- style: __spreadValues(__spreadValues({}, withTruthyZero(sidePadding) && hasNegativeSideMargin ? {
82
- marginLeft: typeof sidePadding === "string" ? `calc(${sidePadding} * -1)` : `-${sidePadding}px`,
83
- width: `calc(100% + calc(${sidePadding} * 2${typeof sidePadding === "string" ? "" : "px"}))`
84
- } : {}), styleProps.style)
85
- }), children)));
27
+ return /* @__PURE__ */ React.createElement(FocusScope, null, /* @__PURE__ */ React.createElement(AccordionContext.Provider, { value: { sidePadding, headerLevel } }, /* @__PURE__ */ React.createElement(
28
+ DisclosureGroup,
29
+ {
30
+ ...filterDOMProps(props, { global: true, labelable: true }),
31
+ allowsMultipleExpanded,
32
+ expandedKeys,
33
+ defaultExpandedKeys,
34
+ onExpandedChange,
35
+ isDisabled,
36
+ ref: forwardedRef,
37
+ className: clsx(
38
+ styles["sapphire-accordion"],
39
+ {
40
+ [styles["sapphire-accordion--without-last-divider"]]: hideLastDivider,
41
+ [styles["sapphire-accordion--negative-margin-self"]]: !withTruthyZero(sidePadding) && hasNegativeSideMargin
42
+ },
43
+ styleProps.className
44
+ ),
45
+ style: {
46
+ ...withTruthyZero(sidePadding) && hasNegativeSideMargin ? {
47
+ marginLeft: typeof sidePadding === "string" ? `calc(${sidePadding} * -1)` : `-${sidePadding}px`,
48
+ width: `calc(100% + calc(${sidePadding} * 2${typeof sidePadding === "string" ? "" : "px"}))`
49
+ } : {},
50
+ ...styleProps.style
51
+ }
52
+ },
53
+ children
54
+ )));
86
55
  });
87
56
 
88
57
  export { Accordion };
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","sources":["../../../../src/Accordion/src/Accordion.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react';\nimport clsx from 'clsx';\nimport { filterDOMProps, useObjectRef } from '@react-aria/utils';\nimport { DOMProps } from '@react-types/shared';\nimport styles from '@danske/sapphire-css/components/accordion/accordion.module.css';\nimport {\n SapphireStyleProps,\n TypographyHeadingProps,\n useSapphireStyleProps,\n useThemeCheck,\n withTruthyZero as hasAllowedCustomSidePadding,\n GlobalDomAttributes,\n} from '@danske/sapphire-react';\nimport { FocusScope } from '@react-aria/focus';\n\nimport { AccordionContext } from './AccordionContext';\nimport { DisclosureGroup, DisclosureGroupProps } from 'react-aria-components';\n\nexport type TreeExpansionMode = 'single' | 'multiple';\n\nexport interface AccordionProps\n extends GlobalDomAttributes,\n SapphireStyleProps,\n DOMProps,\n Pick<\n DisclosureGroupProps,\n | 'allowsMultipleExpanded'\n | 'expandedKeys'\n | 'defaultExpandedKeys'\n | 'onExpandedChange'\n | 'children'\n | 'isDisabled'\n > {\n /** Set aria-level attribute for item's header. Accessibility requirement.\n * Defines the hierarchical level of an element within a page structure.\n * @default 5\n */\n headerLevel?: TypographyHeadingProps['level'];\n /**\n * Removes the divider after the last accordion item.\n * Useful when rendered in a container which already has borders.\n */\n hideLastDivider?: boolean;\n /**\n * Counter acts the side padding, so that accordion is shifted to the left with same amount\n * and having side padding * 2 added to width – resulting in full width accordion.\n * Useful in scenarions where accordion is inside a padded container and desired layout has accordion going from edge to edge horizontally.\n * @example\n * ```tsx\n * <Accordion hasNegativeSideMargin>...</Accordion>\n * ```\n */\n hasNegativeSideMargin?: boolean;\n /**\n * Add custom sized padding to the sides of the accordion items.\n * @example\n * ```tsx\n * <Accordion sidePadding={tokens.size.spacingContainerHorizontalM.value} hasNegativeSideMargin>...</Accordion>\n * ```\n */\n sidePadding?: number | string;\n}\n\nexport const Accordion = forwardRef(function Accordion(\n {\n allowsMultipleExpanded = true,\n headerLevel = 5,\n hideLastDivider = false,\n hasNegativeSideMargin = false,\n sidePadding,\n children,\n expandedKeys,\n defaultExpandedKeys,\n onExpandedChange,\n isDisabled,\n ...props\n }: AccordionProps,\n ref: ForwardedRef<HTMLDivElement>\n) {\n useThemeCheck();\n const { styleProps } = useSapphireStyleProps(props);\n const forwardedRef = useObjectRef<HTMLDivElement>(ref);\n\n return (\n <FocusScope>\n <AccordionContext.Provider value={{ sidePadding, headerLevel }}>\n <DisclosureGroup\n {...filterDOMProps(props, { global: true, labelable: true })}\n allowsMultipleExpanded={allowsMultipleExpanded}\n expandedKeys={expandedKeys}\n defaultExpandedKeys={defaultExpandedKeys}\n onExpandedChange={onExpandedChange}\n isDisabled={isDisabled}\n ref={forwardedRef}\n className={clsx(\n styles['sapphire-accordion'],\n {\n [styles['sapphire-accordion--without-last-divider']]:\n hideLastDivider,\n [styles['sapphire-accordion--negative-margin-self']]:\n !hasAllowedCustomSidePadding(sidePadding) &&\n hasNegativeSideMargin,\n },\n styleProps.className\n )}\n style={{\n ...(hasAllowedCustomSidePadding(sidePadding) &&\n hasNegativeSideMargin\n ? {\n marginLeft:\n typeof sidePadding === 'string'\n ? `calc(${sidePadding} * -1)`\n : `-${sidePadding}px`,\n width: `calc(100% + calc(${sidePadding} * 2${\n typeof sidePadding === 'string' ? '' : 'px'\n }))`,\n }\n : {}),\n ...styleProps.style,\n }}\n >\n {children}\n </DisclosureGroup>\n </AccordionContext.Provider>\n </FocusScope>\n );\n});\n"],"names":["hasAllowedCustomSidePadding"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DO,MAAM,SAAY,GAAA,UAAA,CAAW,SAClC,UAAA,CAAA,EAAA,EAaA,GACA,EAAA;AAdA,EACE,IAAA,EAAA,GAAA,EAAA,EAAA;AAAA,IAAyB,sBAAA,GAAA,IAAA;AAAA,IACzB,WAAc,GAAA,CAAA;AAAA,IACd,eAAkB,GAAA,KAAA;AAAA,IAClB,qBAAwB,GAAA,KAAA;AAAA,IACxB,WAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA,mBAAA;AAAA,IACA,gBAAA;AAAA,IACA,UAAA;AAAA,GAVF,GAAA,EAAA,EAWK,kBAXL,EAWK,EAAA;AAAA,IAVH,wBAAA;AAAA,IACA,aAAA;AAAA,IACA,iBAAA;AAAA,IACA,uBAAA;AAAA,IACA,aAAA;AAAA,IACA,UAAA;AAAA,IACA,cAAA;AAAA,IACA,qBAAA;AAAA,IACA,kBAAA;AAAA,IACA,YAAA;AAAA,GAAA,CAAA,CAAA;AAKF,EAAA,aAAA,EAAA,CAAA;AACA,EAAM,MAAA,EAAE,eAAe,qBAAsB,CAAA,KAAA,CAAA,CAAA;AAC7C,EAAA,MAAM,eAAe,YAA6B,CAAA,GAAA,CAAA,CAAA;AAElD,EAAA,uBACG,KAAA,CAAA,aAAA,CAAA,UAAA,EAAD,IACE,kBAAA,KAAA,CAAA,aAAA,CAAC,iBAAiB,QAAlB,EAAA;AAAA,IAA2B,KAAA,EAAO,EAAE,WAAa,EAAA,WAAA,EAAA;AAAA,GAC/C,kBAAA,KAAA,CAAA,aAAA,CAAC,iBAAD,aACM,CAAA,cAAA,CAAA,EAAA,EAAA,cAAA,CAAe,OAAO,EAAE,MAAA,EAAQ,IAAM,EAAA,SAAA,EAAW,IADvD,EAAA,CAAA,CAAA,EAAA;AAAA,IAEE,sBAAA;AAAA,IACA,YAAA;AAAA,IACA,mBAAA;AAAA,IACA,gBAAA;AAAA,IACA,UAAA;AAAA,IACA,GAAK,EAAA,YAAA;AAAA,IACL,SAAA,EAAW,IACT,CAAA,MAAA,CAAO,oBACP,CAAA,EAAA;AAAA,MAAA,CACG,OAAO,0CACN,CAAA,GAAA,eAAA;AAAA,MAAA,CACD,MAAO,CAAA,0CAAA,CAAA,GACN,CAACA,cAAA,CAA4B,WAC7B,CAAA,IAAA,qBAAA;AAAA,KAAA,EAEJ,UAAW,CAAA,SAAA,CAAA;AAAA,IAEb,KAAO,EAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EACDA,cAA4B,CAAA,WAAA,CAAA,IAChC,qBACI,GAAA;AAAA,MACE,YACE,OAAO,WAAA,KAAgB,QACnB,GAAA,CAAA,KAAA,EAAQ,sBACR,CAAI,CAAA,EAAA,WAAA,CAAA,EAAA,CAAA;AAAA,MACV,OAAO,CAAoB,iBAAA,EAAA,WAAA,CAAA,IAAA,EACzB,OAAO,WAAA,KAAgB,WAAW,EAAK,GAAA,IAAA,CAAA,EAAA,CAAA;AAAA,KAAA,GAG3C,KACD,UAAW,CAAA,KAAA,CAAA;AAAA,GAGf,CAAA,EAAA,QAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA;;;;"}
1
+ {"version":3,"file":"Accordion.js","sources":["../../../../src/Accordion/src/Accordion.tsx"],"sourcesContent":["import React, { ForwardedRef, forwardRef } from 'react';\nimport clsx from 'clsx';\nimport { filterDOMProps } from 'react-aria/filterDOMProps';\nimport { useObjectRef } from 'react-aria/useObjectRef';\nimport { DOMProps } from '@react-types/shared';\nimport styles from '@danske/sapphire-css/components/accordion/accordion.module.css';\nimport {\n SapphireStyleProps,\n TypographyHeadingProps,\n useSapphireStyleProps,\n useThemeCheck,\n withTruthyZero as hasAllowedCustomSidePadding,\n GlobalDomAttributes,\n} from '@danske/sapphire-react';\nimport { FocusScope } from 'react-aria/FocusScope';\n\nimport { AccordionContext } from './AccordionContext';\nimport { DisclosureGroup, DisclosureGroupProps } from 'react-aria-components';\n\nexport type TreeExpansionMode = 'single' | 'multiple';\n\nexport interface AccordionProps\n extends GlobalDomAttributes,\n SapphireStyleProps,\n DOMProps,\n Pick<\n DisclosureGroupProps,\n | 'allowsMultipleExpanded'\n | 'expandedKeys'\n | 'defaultExpandedKeys'\n | 'onExpandedChange'\n | 'children'\n | 'isDisabled'\n > {\n /** Set aria-level attribute for item's header. Accessibility requirement.\n * Defines the hierarchical level of an element within a page structure.\n * @default 5\n */\n headerLevel?: TypographyHeadingProps['level'];\n /**\n * Removes the divider after the last accordion item.\n * Useful when rendered in a container which already has borders.\n */\n hideLastDivider?: boolean;\n /**\n * Counter acts the side padding, so that accordion is shifted to the left with same amount\n * and having side padding * 2 added to width – resulting in full width accordion.\n * Useful in scenarions where accordion is inside a padded container and desired layout has accordion going from edge to edge horizontally.\n * @example\n * ```tsx\n * <Accordion hasNegativeSideMargin>...</Accordion>\n * ```\n */\n hasNegativeSideMargin?: boolean;\n /**\n * Add custom sized padding to the sides of the accordion items.\n * @example\n * ```tsx\n * <Accordion sidePadding={tokens.size.spacingContainerHorizontalM.value} hasNegativeSideMargin>...</Accordion>\n * ```\n */\n sidePadding?: number | string;\n}\n\n/**\n * Accordion is a vertically stacked set of items, that consist of an interactive header and expandable content section. An accordion item’s content display can be toggled on and off by clicking the component’s header above.\n */\nexport const Accordion = forwardRef(function Accordion(\n {\n allowsMultipleExpanded = true,\n headerLevel = 5,\n hideLastDivider = false,\n hasNegativeSideMargin = false,\n sidePadding,\n children,\n expandedKeys,\n defaultExpandedKeys,\n onExpandedChange,\n isDisabled,\n ...props\n }: AccordionProps,\n ref: ForwardedRef<HTMLDivElement>\n) {\n useThemeCheck();\n const { styleProps } = useSapphireStyleProps(props);\n const forwardedRef = useObjectRef<HTMLDivElement>(ref);\n\n return (\n <FocusScope>\n <AccordionContext.Provider value={{ sidePadding, headerLevel }}>\n <DisclosureGroup\n {...filterDOMProps(props, { global: true, labelable: true })}\n allowsMultipleExpanded={allowsMultipleExpanded}\n expandedKeys={expandedKeys}\n defaultExpandedKeys={defaultExpandedKeys}\n onExpandedChange={onExpandedChange}\n isDisabled={isDisabled}\n ref={forwardedRef}\n className={clsx(\n styles['sapphire-accordion'],\n {\n [styles['sapphire-accordion--without-last-divider']]:\n hideLastDivider,\n [styles['sapphire-accordion--negative-margin-self']]:\n !hasAllowedCustomSidePadding(sidePadding) &&\n hasNegativeSideMargin,\n },\n styleProps.className\n )}\n style={{\n ...(hasAllowedCustomSidePadding(sidePadding) &&\n hasNegativeSideMargin\n ? {\n marginLeft:\n typeof sidePadding === 'string'\n ? `calc(${sidePadding} * -1)`\n : `-${sidePadding}px`,\n width: `calc(100% + calc(${sidePadding} * 2${\n typeof sidePadding === 'string' ? '' : 'px'\n }))`,\n }\n : {}),\n ...styleProps.style,\n }}\n >\n {children}\n </DisclosureGroup>\n </AccordionContext.Provider>\n </FocusScope>\n );\n});\n"],"names":["Accordion","hasAllowedCustomSidePadding"],"mappings":";;;;;;;;;;AAmEO,MAAM,SAAA,GAAY,UAAA,CAAW,SAASA,UAAAA,CAC3C;AAAA,EACE,sBAAA,GAAyB,IAAA;AAAA,EACzB,WAAA,GAAc,CAAA;AAAA,EACd,eAAA,GAAkB,KAAA;AAAA,EAClB,qBAAA,GAAwB,KAAA;AAAA,EACxB,WAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AAAA,EACA,mBAAA;AAAA,EACA,gBAAA;AAAA,EACA,UAAA;AAAA,EACA,GAAG;AACL,CAAA,EACA,GAAA,EACA;AACA,EAAA,aAAA,EAAc;AACd,EAAA,MAAM,EAAE,UAAA,EAAW,GAAI,qBAAA,CAAsB,KAAK,CAAA;AAClD,EAAA,MAAM,YAAA,GAAe,aAA6B,GAAG,CAAA;AAErD,EAAA,uBACE,KAAA,CAAA,aAAA,CAAC,UAAA,EAAA,IAAA,kBACC,KAAA,CAAA,aAAA,CAAC,gBAAA,CAAiB,QAAA,EAAjB,EAA0B,KAAA,EAAO,EAAE,WAAA,EAAa,WAAA,EAAY,EAAA,kBAC3D,KAAA,CAAA,aAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACE,GAAG,eAAe,KAAA,EAAO,EAAE,QAAQ,IAAA,EAAM,SAAA,EAAW,MAAM,CAAA;AAAA,MAC3D,sBAAA;AAAA,MACA,YAAA;AAAA,MACA,mBAAA;AAAA,MACA,gBAAA;AAAA,MACA,UAAA;AAAA,MACA,GAAA,EAAK,YAAA;AAAA,MACL,SAAA,EAAW,IAAA;AAAA,QACT,OAAO,oBAAoB,CAAA;AAAA,QAC3B;AAAA,UACE,CAAC,MAAA,CAAO,0CAA0C,CAAC,GACjD,eAAA;AAAA,UACF,CAAC,OAAO,0CAA0C,CAAC,GACjD,CAACC,cAAA,CAA4B,WAAW,CAAA,IACxC;AAAA,SACJ;AAAA,QACA,UAAA,CAAW;AAAA,OACb;AAAA,MACA,KAAA,EAAO;AAAA,QACL,GAAIA,cAAA,CAA4B,WAAW,CAAA,IAC3C,qBAAA,GACI;AAAA,UACE,UAAA,EACE,OAAO,WAAA,KAAgB,QAAA,GACnB,QAAQ,WAAW,CAAA,MAAA,CAAA,GACnB,IAAI,WAAW,CAAA,EAAA,CAAA;AAAA,UACrB,KAAA,EAAO,oBAAoB,WAAW,CAAA,IAAA,EACpC,OAAO,WAAA,KAAgB,QAAA,GAAW,KAAK,IACzC,CAAA,EAAA;AAAA,YAEF,EAAC;AAAA,QACL,GAAG,UAAA,CAAW;AAAA;AAChB,KAAA;AAAA,IAEC;AAAA,GAEL,CACF,CAAA;AAEJ,CAAC;;;;"}
@@ -9,7 +9,9 @@ function useAccordionContext() {
9
9
  if (context) {
10
10
  return context;
11
11
  }
12
- throw new Error("Accordion context can only be used within Accordion component.");
12
+ throw new Error(
13
+ "Accordion context can only be used within Accordion component."
14
+ );
13
15
  }
14
16
 
15
17
  export { AccordionContext, useAccordionContext };
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionContext.js","sources":["../../../../src/Accordion/src/AccordionContext.ts"],"sourcesContent":["import { TypographyHeadingProps } from '@danske/sapphire-react';\nimport React, { useContext } from 'react';\n\ninterface AccordionContextProps {\n sidePadding?: number | string;\n headerLevel?: TypographyHeadingProps['level'];\n}\n\nexport const AccordionContext = React.createContext<AccordionContextProps>({\n sidePadding: undefined,\n headerLevel: 5,\n});\n\nexport function useAccordionContext(): AccordionContextProps {\n const context = useContext(AccordionContext);\n if (context) {\n return context;\n }\n throw new Error(\n 'Accordion context can only be used within Accordion component.'\n );\n}\n"],"names":[],"mappings":";;AAQa,MAAA,gBAAA,GAAmB,MAAM,aAAqC,CAAA;AAAA,EACzE,WAAa,EAAA,KAAA,CAAA;AAAA,EACb,WAAa,EAAA,CAAA;AAAA,CAAA,EAAA;AAG8C,SAAA,mBAAA,GAAA;AAC3D,EAAA,MAAM,UAAU,UAAW,CAAA,gBAAA,CAAA,CAAA;AAC3B,EAAA,IAAI,OAAS,EAAA;AACX,IAAO,OAAA,OAAA,CAAA;AAAA,GAAA;AAET,EAAA,MAAM,IAAI,KACR,CAAA,gEAAA,CAAA,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"AccordionContext.js","sources":["../../../../src/Accordion/src/AccordionContext.ts"],"sourcesContent":["import { TypographyHeadingProps } from '@danske/sapphire-react';\nimport React, { useContext } from 'react';\n\ninterface AccordionContextProps {\n sidePadding?: number | string;\n headerLevel?: TypographyHeadingProps['level'];\n}\n\nexport const AccordionContext = React.createContext<AccordionContextProps>({\n sidePadding: undefined,\n headerLevel: 5,\n});\n\nexport function useAccordionContext(): AccordionContextProps {\n const context = useContext(AccordionContext);\n if (context) {\n return context;\n }\n throw new Error(\n 'Accordion context can only be used within Accordion component.'\n );\n}\n"],"names":[],"mappings":";;AAQO,MAAM,gBAAA,GAAmB,MAAM,aAAA,CAAqC;AAAA,EACzE,WAAA,EAAa,MAAA;AAAA,EACb,WAAA,EAAa;AACf,CAAC;AAEM,SAAS,mBAAA,GAA6C;AAC3D,EAAA,MAAM,OAAA,GAAU,WAAW,gBAAgB,CAAA;AAC3C,EAAA,IAAI,OAAA,EAAS;AACX,IAAA,OAAO,OAAA;AAAA,EACT;AACA,EAAA,MAAM,IAAI,KAAA;AAAA,IACR;AAAA,GACF;AACF;;;;"}
@@ -1,6 +1,6 @@
1
1
  import React, { forwardRef } from 'react';
2
2
  import clsx from 'clsx';
3
- import { filterDOMProps } from '@react-aria/utils';
3
+ import { filterDOMProps } from 'react-aria/filterDOMProps';
4
4
  import styles from '@danske/sapphire-css/components/accordion/accordion.module.css';
5
5
  import { withTruthyZero, Typography, Icon } from '@danske/sapphire-react';
6
6
  import { ChevronDown } from '@danske/sapphire-icons/react';
@@ -8,61 +8,29 @@ import { Button } from 'react-aria-components';
8
8
  import { useAccordionContext } from './AccordionContext.js';
9
9
  import { customPaddingStyleProps } from './utils.js';
10
10
 
11
- var __defProp = Object.defineProperty;
12
- var __defProps = Object.defineProperties;
13
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
14
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
15
- var __hasOwnProp = Object.prototype.hasOwnProperty;
16
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
17
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
18
- var __spreadValues = (a, b) => {
19
- for (var prop in b || (b = {}))
20
- if (__hasOwnProp.call(b, prop))
21
- __defNormalProp(a, prop, b[prop]);
22
- if (__getOwnPropSymbols)
23
- for (var prop of __getOwnPropSymbols(b)) {
24
- if (__propIsEnum.call(b, prop))
25
- __defNormalProp(a, prop, b[prop]);
26
- }
27
- return a;
28
- };
29
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
30
- var __objRest = (source, exclude) => {
31
- var target = {};
32
- for (var prop in source)
33
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
34
- target[prop] = source[prop];
35
- if (source != null && __getOwnPropSymbols)
36
- for (var prop of __getOwnPropSymbols(source)) {
37
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
38
- target[prop] = source[prop];
39
- }
40
- return target;
41
- };
42
- const AccordionHeading = forwardRef(function AccordionHeading2(_a, ref) {
43
- var _b = _a, { children, headerLevel } = _b, props = __objRest(_b, ["children", "headerLevel"]);
11
+ const AccordionHeading = forwardRef(function AccordionHeading2({ children, headerLevel, ...props }, ref) {
44
12
  const { sidePadding, headerLevel: contextHeaderLevel } = useAccordionContext();
45
- return /* @__PURE__ */ React.createElement("div", __spreadProps(__spreadValues({
46
- role: "heading",
47
- "aria-level": headerLevel != null ? headerLevel : contextHeaderLevel
48
- }, filterDOMProps(props, { global: true })), {
49
- ref
50
- }), /* @__PURE__ */ React.createElement(Button, {
51
- slot: "trigger",
52
- className: ({ isFocusVisible }) => clsx(styles["sapphire-accordion__item-header"], styles["js-focus"], {
53
- [styles["is-focus"]]: isFocusVisible
54
- }),
55
- style: withTruthyZero(sidePadding) ? customPaddingStyleProps(sidePadding) : {}
56
- }, /* @__PURE__ */ React.createElement(Typography.Heading, {
57
- level: 6,
58
- elementType: "span"
59
- }, /* @__PURE__ */ React.createElement("div", {
60
- className: clsx(styles["sapphire-accordion__item-heading"])
61
- }, children)), /* @__PURE__ */ React.createElement("div", {
62
- className: clsx(styles["sapphire-accordion__item-arrow"])
63
- }, /* @__PURE__ */ React.createElement(Icon, {
64
- size: "lg"
65
- }, /* @__PURE__ */ React.createElement(ChevronDown, null)))));
13
+ return /* @__PURE__ */ React.createElement(
14
+ "div",
15
+ {
16
+ role: "heading",
17
+ "aria-level": headerLevel ?? contextHeaderLevel,
18
+ ...filterDOMProps(props, { global: true }),
19
+ ref
20
+ },
21
+ /* @__PURE__ */ React.createElement(
22
+ Button,
23
+ {
24
+ slot: "trigger",
25
+ className: ({ isFocusVisible }) => clsx(styles["sapphire-accordion__item-header"], styles["js-focus"], {
26
+ [styles["is-focus"]]: isFocusVisible
27
+ }),
28
+ style: withTruthyZero(sidePadding) ? customPaddingStyleProps(sidePadding) : {}
29
+ },
30
+ /* @__PURE__ */ React.createElement(Typography.Heading, { level: 6, elementType: "span" }, /* @__PURE__ */ React.createElement("div", { className: clsx(styles["sapphire-accordion__item-heading"]) }, children)),
31
+ /* @__PURE__ */ React.createElement("div", { className: clsx(styles["sapphire-accordion__item-arrow"]) }, /* @__PURE__ */ React.createElement(Icon, { size: "lg" }, /* @__PURE__ */ React.createElement(ChevronDown, null)))
32
+ )
33
+ );
66
34
  });
67
35
 
68
36
  export { AccordionHeading };
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionHeading.js","sources":["../../../../src/Accordion/src/AccordionHeading.tsx"],"sourcesContent":["import React, { forwardRef, ReactNode } from 'react';\nimport clsx from 'clsx';\nimport { filterDOMProps } from '@react-aria/utils';\nimport { DOMProps } from '@react-types/shared';\nimport styles from '@danske/sapphire-css/components/accordion/accordion.module.css';\nimport {\n Icon,\n Typography,\n TypographyHeadingProps,\n withTruthyZero as hasAllowedCustomSidePadding,\n} from '@danske/sapphire-react';\nimport { ChevronDown } from '@danske/sapphire-icons/react';\nimport { Button } from 'react-aria-components';\nimport { useAccordionContext } from './AccordionContext';\nimport { customPaddingStyleProps } from './utils';\n\nexport interface AccordionHeadingProps extends DOMProps {\n children?: ReactNode;\n headerLevel?: TypographyHeadingProps['level'];\n}\n\nexport const AccordionHeading = forwardRef(function AccordionHeading(\n { children, headerLevel, ...props }: AccordionHeadingProps,\n ref: React.Ref<HTMLDivElement>\n): React.JSX.Element {\n const { sidePadding, headerLevel: contextHeaderLevel } =\n useAccordionContext();\n\n return (\n <div\n role=\"heading\"\n aria-level={headerLevel ?? contextHeaderLevel}\n {...filterDOMProps(props, { global: true })}\n ref={ref}\n >\n <Button\n slot=\"trigger\"\n className={({ isFocusVisible }) =>\n clsx(styles['sapphire-accordion__item-header'], styles['js-focus'], {\n [styles['is-focus']]: isFocusVisible,\n })\n }\n style={\n hasAllowedCustomSidePadding(sidePadding)\n ? customPaddingStyleProps(sidePadding)\n : {}\n }\n >\n <Typography.Heading level={6} elementType=\"span\">\n <div className={clsx(styles['sapphire-accordion__item-heading'])}>\n {children}\n </div>\n </Typography.Heading>\n <div className={clsx(styles['sapphire-accordion__item-arrow'])}>\n <Icon size=\"lg\">\n <ChevronDown />\n </Icon>\n </div>\n </Button>\n </div>\n );\n});\n"],"names":["hasAllowedCustomSidePadding"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,MAAM,gBAAmB,GAAA,UAAA,CAAW,SACzC,iBAAA,CAAA,EAAA,EACA,GACmB,EAAA;AAFnB,EAAA,IAAA,EAAA,GAAA,EAAA,EAAE,YAAU,WAAZ,EAAA,GAAA,EAAA,EAA4B,KAA5B,GAAA,SAAA,CAAA,EAAA,EAA4B,CAA1B,UAAU,EAAA,aAAA,CAAA,CAAA,CAAA;AAGZ,EAAM,MAAA,EAAE,WAAa,EAAA,WAAA,EAAa,kBAChC,EAAA,GAAA,mBAAA,EAAA,CAAA;AAEF,EAAA,2CACG,KAAD,EAAA,aAAA,CAAA,cAAA,CAAA;AAAA,IACE,IAAK,EAAA,SAAA;AAAA,IACL,cAAY,WAAe,IAAA,IAAA,GAAA,WAAA,GAAA,kBAAA;AAAA,GAAA,EACvB,cAAe,CAAA,KAAA,EAAO,EAAE,MAAA,EAAQ,IAHtC,EAAA,CAAA,CAAA,EAAA;AAAA,IAIE,GAAA;AAAA,GAAA,CAAA,sCAEC,MAAD,EAAA;AAAA,IACE,IAAK,EAAA,SAAA;AAAA,IACL,SAAA,EAAW,CAAC,EAAE,cAAA,EAAA,KACZ,KAAK,MAAO,CAAA,iCAAA,CAAA,EAAoC,OAAO,UAAa,CAAA,EAAA;AAAA,MAAA,CACjE,OAAO,UAAc,CAAA,GAAA,cAAA;AAAA,KAAA,CAAA;AAAA,IAG1B,KACE,EAAAA,cAAA,CAA4B,WACxB,CAAA,GAAA,uBAAA,CAAwB,WACxB,CAAA,GAAA,EAAA;AAAA,GAGN,kBAAA,KAAA,CAAA,aAAA,CAAC,WAAW,OAAZ,EAAA;AAAA,IAAoB,KAAO,EAAA,CAAA;AAAA,IAAG,WAAY,EAAA,MAAA;AAAA,GAAA,sCACvC,KAAD,EAAA;AAAA,IAAK,SAAA,EAAW,KAAK,MAAO,CAAA,kCAAA,CAAA,CAAA;AAAA,GACzB,EAAA,QAAA,CAAA,CAAA,sCAGJ,KAAD,EAAA;AAAA,IAAK,SAAA,EAAW,KAAK,MAAO,CAAA,gCAAA,CAAA,CAAA;AAAA,GAAA,sCACzB,IAAD,EAAA;AAAA,IAAM,IAAK,EAAA,IAAA;AAAA,GAAA,sCACR,WAAD,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA;;;;"}
1
+ {"version":3,"file":"AccordionHeading.js","sources":["../../../../src/Accordion/src/AccordionHeading.tsx"],"sourcesContent":["import React, { forwardRef, ReactNode } from 'react';\nimport clsx from 'clsx';\nimport { filterDOMProps } from 'react-aria/filterDOMProps';\nimport { DOMProps } from '@react-types/shared';\nimport styles from '@danske/sapphire-css/components/accordion/accordion.module.css';\nimport {\n Icon,\n Typography,\n TypographyHeadingProps,\n withTruthyZero as hasAllowedCustomSidePadding,\n} from '@danske/sapphire-react';\nimport { ChevronDown } from '@danske/sapphire-icons/react';\nimport { Button } from 'react-aria-components';\nimport { useAccordionContext } from './AccordionContext';\nimport { customPaddingStyleProps } from './utils';\n\nexport interface AccordionHeadingProps extends DOMProps {\n children?: ReactNode;\n headerLevel?: TypographyHeadingProps['level'];\n}\n\nexport const AccordionHeading = forwardRef(function AccordionHeading(\n { children, headerLevel, ...props }: AccordionHeadingProps,\n ref: React.Ref<HTMLDivElement>\n): React.JSX.Element {\n const { sidePadding, headerLevel: contextHeaderLevel } =\n useAccordionContext();\n\n return (\n <div\n role=\"heading\"\n aria-level={headerLevel ?? contextHeaderLevel}\n {...filterDOMProps(props, { global: true })}\n ref={ref}\n >\n <Button\n slot=\"trigger\"\n className={({ isFocusVisible }) =>\n clsx(styles['sapphire-accordion__item-header'], styles['js-focus'], {\n [styles['is-focus']]: isFocusVisible,\n })\n }\n style={\n hasAllowedCustomSidePadding(sidePadding)\n ? customPaddingStyleProps(sidePadding)\n : {}\n }\n >\n <Typography.Heading level={6} elementType=\"span\">\n <div className={clsx(styles['sapphire-accordion__item-heading'])}>\n {children}\n </div>\n </Typography.Heading>\n <div className={clsx(styles['sapphire-accordion__item-arrow'])}>\n <Icon size=\"lg\">\n <ChevronDown />\n </Icon>\n </div>\n </Button>\n </div>\n );\n});\n"],"names":["AccordionHeading","hasAllowedCustomSidePadding"],"mappings":";;;;;;;;;;AAqBO,MAAM,gBAAA,GAAmB,UAAA,CAAW,SAASA,iBAAAA,CAClD,EAAE,UAAU,WAAA,EAAa,GAAG,KAAA,EAAM,EAClC,GAAA,EACmB;AACnB,EAAA,MAAM,EAAE,WAAA,EAAa,WAAA,EAAa,kBAAA,KAChC,mBAAA,EAAoB;AAEtB,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,SAAA;AAAA,MACL,cAAY,WAAA,IAAe,kBAAA;AAAA,MAC1B,GAAG,cAAA,CAAe,KAAA,EAAO,EAAE,MAAA,EAAQ,MAAM,CAAA;AAAA,MAC1C;AAAA,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,SAAA;AAAA,QACL,SAAA,EAAW,CAAC,EAAE,cAAA,EAAe,KAC3B,IAAA,CAAK,MAAA,CAAO,iCAAiC,CAAA,EAAG,MAAA,CAAO,UAAU,CAAA,EAAG;AAAA,UAClE,CAAC,MAAA,CAAO,UAAU,CAAC,GAAG;AAAA,SACvB,CAAA;AAAA,QAEH,OACEC,cAAA,CAA4B,WAAW,IACnC,uBAAA,CAAwB,WAAW,IACnC;AAAC,OAAA;AAAA,0CAGN,UAAA,CAAW,OAAA,EAAX,EAAmB,KAAA,EAAO,GAAG,WAAA,EAAY,MAAA,EAAA,kBACxC,KAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAI,WAAW,IAAA,CAAK,MAAA,CAAO,kCAAkC,CAAC,CAAA,EAAA,EAC5D,QACH,CACF,CAAA;AAAA,sBACA,KAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,IAAA,CAAK,OAAO,gCAAgC,CAAC,CAAA,EAAA,kBAC3D,KAAA,CAAA,aAAA,CAAC,QAAK,IAAA,EAAK,IAAA,EAAA,kBACT,KAAA,CAAA,aAAA,CAAC,WAAA,EAAA,IAAY,CACf,CACF;AAAA;AACF,GACF;AAEJ,CAAC;;;;"}
@@ -2,44 +2,15 @@ import React, { forwardRef } from 'react';
2
2
  import clsx from 'clsx';
3
3
  import styles from '@danske/sapphire-css/components/accordion/accordion.module.css';
4
4
  import { Disclosure } from 'react-aria-components';
5
- import { useFocusManager } from '@react-aria/focus';
6
- import { useObjectRef, useEvent } from '@react-aria/utils';
5
+ import { useFocusManager } from 'react-aria/FocusScope';
6
+ import { useEvent } from 'react-aria/private/utils/useEvent';
7
+ import { useObjectRef } from 'react-aria/useObjectRef';
7
8
 
8
- var __defProp = Object.defineProperty;
9
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
10
- var __hasOwnProp = Object.prototype.hasOwnProperty;
11
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
- var __spreadValues = (a, b) => {
14
- for (var prop in b || (b = {}))
15
- if (__hasOwnProp.call(b, prop))
16
- __defNormalProp(a, prop, b[prop]);
17
- if (__getOwnPropSymbols)
18
- for (var prop of __getOwnPropSymbols(b)) {
19
- if (__propIsEnum.call(b, prop))
20
- __defNormalProp(a, prop, b[prop]);
21
- }
22
- return a;
23
- };
24
- var __objRest = (source, exclude) => {
25
- var target = {};
26
- for (var prop in source)
27
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
28
- target[prop] = source[prop];
29
- if (source != null && __getOwnPropSymbols)
30
- for (var prop of __getOwnPropSymbols(source)) {
31
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
32
- target[prop] = source[prop];
33
- }
34
- return target;
35
- };
36
- const AccordionItem = forwardRef(function AccordionItem2(_a, forwardedRef) {
37
- var _b = _a, { children, id } = _b, props = __objRest(_b, ["children", "id"]);
9
+ const AccordionItem = forwardRef(function AccordionItem2({ children, id, ...props }, forwardedRef) {
38
10
  const ref = useObjectRef(forwardedRef);
39
11
  const focusManager = useFocusManager();
40
12
  const onKeyDown = (e) => {
41
- if (!focusManager)
42
- return;
13
+ if (!focusManager) return;
43
14
  if (!(e.target instanceof Element) || e.target.getAttribute("slot") !== "trigger")
44
15
  return;
45
16
  switch (e.key) {
@@ -64,16 +35,19 @@ const AccordionItem = forwardRef(function AccordionItem2(_a, forwardedRef) {
64
35
  }
65
36
  };
66
37
  useEvent(ref, "keydown", onKeyDown);
67
- return /* @__PURE__ */ React.createElement(Disclosure, __spreadValues({
68
- ref,
69
- id,
70
- className: ({ isExpanded, isDisabled }) => clsx(styles["sapphire-accordion__item"], {
71
- [styles["sapphire-accordion__item--open"]]: isExpanded,
72
- [styles["is-disabled"]]: isDisabled
73
- })
74
- }, props), /* @__PURE__ */ React.createElement("div", {
75
- className: clsx(styles["sapphire-accordion__item-content-wrapper"])
76
- }, children));
38
+ return /* @__PURE__ */ React.createElement(
39
+ Disclosure,
40
+ {
41
+ ref,
42
+ id,
43
+ className: ({ isExpanded, isDisabled }) => clsx(styles["sapphire-accordion__item"], {
44
+ [styles["sapphire-accordion__item--open"]]: isExpanded,
45
+ [styles["is-disabled"]]: isDisabled
46
+ }),
47
+ ...props
48
+ },
49
+ /* @__PURE__ */ React.createElement("div", { className: clsx(styles["sapphire-accordion__item-content-wrapper"]) }, children)
50
+ );
77
51
  });
78
52
 
79
53
  export { AccordionItem };
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionItem.js","sources":["../../../../src/Accordion/src/AccordionItem.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport clsx from 'clsx';\n\nimport styles from '@danske/sapphire-css/components/accordion/accordion.module.css';\n\nimport { Disclosure } from 'react-aria-components';\nimport { DisclosureProps } from 'react-aria-components';\nimport { useFocusManager } from '@react-aria/focus';\nimport { useEvent, useObjectRef } from '@react-aria/utils';\nimport { DOMProps } from '@react-types/shared';\n\nexport interface AccordionItemProps\n extends DOMProps,\n Pick<DisclosureProps, 'children' | 'isDisabled'> {}\n\nexport const AccordionItem = forwardRef(function AccordionItem(\n { children, id, ...props }: AccordionItemProps,\n forwardedRef: React.Ref<HTMLDivElement>\n): JSX.Element {\n const ref = useObjectRef<HTMLDivElement>(forwardedRef);\n const focusManager = useFocusManager();\n\n const onKeyDown = (e: KeyboardEvent) => {\n if (!focusManager) return;\n\n if (\n !(e.target instanceof Element) ||\n e.target.getAttribute('slot') !== 'trigger'\n )\n return;\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n focusManager.focusNext();\n break;\n case 'ArrowUp':\n e.preventDefault();\n focusManager.focusPrevious();\n break;\n case 'Home':\n e.preventDefault();\n focusManager.focusFirst();\n break;\n case 'End':\n e.preventDefault();\n focusManager.focusLast();\n break;\n default:\n return;\n }\n };\n\n useEvent(ref, 'keydown', onKeyDown);\n\n return (\n <Disclosure\n ref={ref}\n id={id}\n className={({ isExpanded, isDisabled }) =>\n clsx(styles['sapphire-accordion__item'], {\n [styles['sapphire-accordion__item--open']]: isExpanded,\n [styles['is-disabled']]: isDisabled,\n })\n }\n {...props}\n >\n <div className={clsx(styles['sapphire-accordion__item-content-wrapper'])}>\n {children}\n </div>\n </Disclosure>\n );\n});\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeO,MAAM,aAAgB,GAAA,UAAA,CAAW,SACtC,cAAA,CAAA,EAAA,EACA,YACa,EAAA;AAFb,EAAA,IAAA,EAAA,GAAA,EAAA,EAAE,YAAU,EAAZ,EAAA,GAAA,EAAA,EAAmB,KAAnB,GAAA,SAAA,CAAA,EAAA,EAAmB,CAAjB,UAAU,EAAA,IAAA,CAAA,CAAA,CAAA;AAGZ,EAAA,MAAM,MAAM,YAA6B,CAAA,YAAA,CAAA,CAAA;AACzC,EAAA,MAAM,YAAe,GAAA,eAAA,EAAA,CAAA;AAErB,EAAM,MAAA,SAAA,GAAY,CAAC,CAAqB,KAAA;AACtC,IAAA,IAAI,CAAC,YAAA;AAAc,MAAA,OAAA;AAEnB,IAAA,IACE,EAAI,CAAA,CAAA,MAAA,YAAkB,YACtB,CAAE,CAAA,MAAA,CAAO,aAAa,MAAY,CAAA,KAAA,SAAA;AAElC,MAAA,OAAA;AAEF,IAAA,QAAQ,CAAE,CAAA,GAAA;AAAA,MACH,KAAA,WAAA;AACH,QAAE,CAAA,CAAA,cAAA,EAAA,CAAA;AACF,QAAa,YAAA,CAAA,SAAA,EAAA,CAAA;AACb,QAAA,MAAA;AAAA,MACG,KAAA,SAAA;AACH,QAAE,CAAA,CAAA,cAAA,EAAA,CAAA;AACF,QAAa,YAAA,CAAA,aAAA,EAAA,CAAA;AACb,QAAA,MAAA;AAAA,MACG,KAAA,MAAA;AACH,QAAE,CAAA,CAAA,cAAA,EAAA,CAAA;AACF,QAAa,YAAA,CAAA,UAAA,EAAA,CAAA;AACb,QAAA,MAAA;AAAA,MACG,KAAA,KAAA;AACH,QAAE,CAAA,CAAA,cAAA,EAAA,CAAA;AACF,QAAa,YAAA,CAAA,SAAA,EAAA,CAAA;AACb,QAAA,MAAA;AAAA,MAAA;AAEA,QAAA,OAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAIN,EAAA,QAAA,CAAS,KAAK,SAAW,EAAA,SAAA,CAAA,CAAA;AAEzB,EAAA,2CACG,UAAD,EAAA,cAAA,CAAA;AAAA,IACE,GAAA;AAAA,IACA,EAAA;AAAA,IACA,WAAW,CAAC,EAAE,YAAY,UACxB,EAAA,KAAA,IAAA,CAAK,OAAO,0BAA6B,CAAA,EAAA;AAAA,MAAA,CACtC,OAAO,gCAAoC,CAAA,GAAA,UAAA;AAAA,MAAA,CAC3C,OAAO,aAAiB,CAAA,GAAA,UAAA;AAAA,KAAA,CAAA;AAAA,GAGzB,EAAA,KAAA,CAAA,sCAEH,KAAD,EAAA;AAAA,IAAK,SAAA,EAAW,KAAK,MAAO,CAAA,0CAAA,CAAA,CAAA;AAAA,GACzB,EAAA,QAAA,CAAA,CAAA,CAAA;AAAA,CAAA;;;;"}
1
+ {"version":3,"file":"AccordionItem.js","sources":["../../../../src/Accordion/src/AccordionItem.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport clsx from 'clsx';\n\nimport styles from '@danske/sapphire-css/components/accordion/accordion.module.css';\n\nimport { Disclosure } from 'react-aria-components';\nimport { DisclosureProps } from 'react-aria-components';\nimport { useFocusManager } from 'react-aria/FocusScope';\nimport { useEvent } from 'react-aria/private/utils/useEvent';\nimport { useObjectRef } from 'react-aria/useObjectRef';\nimport { DOMProps } from '@react-types/shared';\n\nexport interface AccordionItemProps\n extends DOMProps,\n Pick<DisclosureProps, 'children' | 'isDisabled'> {}\n\nexport const AccordionItem = forwardRef(function AccordionItem(\n { children, id, ...props }: AccordionItemProps,\n forwardedRef: React.Ref<HTMLDivElement>\n): JSX.Element {\n const ref = useObjectRef<HTMLDivElement>(forwardedRef);\n const focusManager = useFocusManager();\n\n const onKeyDown = (e: KeyboardEvent) => {\n if (!focusManager) return;\n\n if (\n !(e.target instanceof Element) ||\n e.target.getAttribute('slot') !== 'trigger'\n )\n return;\n\n switch (e.key) {\n case 'ArrowDown':\n e.preventDefault();\n focusManager.focusNext();\n break;\n case 'ArrowUp':\n e.preventDefault();\n focusManager.focusPrevious();\n break;\n case 'Home':\n e.preventDefault();\n focusManager.focusFirst();\n break;\n case 'End':\n e.preventDefault();\n focusManager.focusLast();\n break;\n default:\n return;\n }\n };\n\n useEvent(ref, 'keydown', onKeyDown);\n\n return (\n <Disclosure\n ref={ref}\n id={id}\n className={({ isExpanded, isDisabled }) =>\n clsx(styles['sapphire-accordion__item'], {\n [styles['sapphire-accordion__item--open']]: isExpanded,\n [styles['is-disabled']]: isDisabled,\n })\n }\n {...props}\n >\n <div className={clsx(styles['sapphire-accordion__item-content-wrapper'])}>\n {children}\n </div>\n </Disclosure>\n );\n});\n"],"names":["AccordionItem"],"mappings":";;;;;;;;AAgBO,MAAM,aAAA,GAAgB,UAAA,CAAW,SAASA,cAAAA,CAC/C,EAAE,UAAU,EAAA,EAAI,GAAG,KAAA,EAAM,EACzB,YAAA,EACa;AACb,EAAA,MAAM,GAAA,GAAM,aAA6B,YAAY,CAAA;AACrD,EAAA,MAAM,eAAe,eAAA,EAAgB;AAErC,EAAA,MAAM,SAAA,GAAY,CAAC,CAAA,KAAqB;AACtC,IAAA,IAAI,CAAC,YAAA,EAAc;AAEnB,IAAA,IACE,EAAE,EAAE,MAAA,YAAkB,OAAA,CAAA,IACtB,EAAE,MAAA,CAAO,YAAA,CAAa,MAAM,CAAA,KAAM,SAAA;AAElC,MAAA;AAEF,IAAA,QAAQ,EAAE,GAAA;AAAK,MACb,KAAK,WAAA;AACH,QAAA,CAAA,CAAE,cAAA,EAAe;AACjB,QAAA,YAAA,CAAa,SAAA,EAAU;AACvB,QAAA;AAAA,MACF,KAAK,SAAA;AACH,QAAA,CAAA,CAAE,cAAA,EAAe;AACjB,QAAA,YAAA,CAAa,aAAA,EAAc;AAC3B,QAAA;AAAA,MACF,KAAK,MAAA;AACH,QAAA,CAAA,CAAE,cAAA,EAAe;AACjB,QAAA,YAAA,CAAa,UAAA,EAAW;AACxB,QAAA;AAAA,MACF,KAAK,KAAA;AACH,QAAA,CAAA,CAAE,cAAA,EAAe;AACjB,QAAA,YAAA,CAAa,SAAA,EAAU;AACvB,QAAA;AAAA,MACF;AACE,QAAA;AAAA;AACJ,EACF,CAAA;AAEA,EAAA,QAAA,CAAS,GAAA,EAAK,WAAW,SAAS,CAAA;AAElC,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAAC,UAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,EAAA;AAAA,MACA,SAAA,EAAW,CAAC,EAAE,UAAA,EAAY,YAAW,KACnC,IAAA,CAAK,MAAA,CAAO,0BAA0B,CAAA,EAAG;AAAA,QACvC,CAAC,MAAA,CAAO,gCAAgC,CAAC,GAAG,UAAA;AAAA,QAC5C,CAAC,MAAA,CAAO,aAAa,CAAC,GAAG;AAAA,OAC1B,CAAA;AAAA,MAEF,GAAG;AAAA,KAAA;AAAA,oBAEJ,KAAA,CAAA,aAAA,CAAC,SAAI,SAAA,EAAW,IAAA,CAAK,OAAO,0CAA0C,CAAC,KACpE,QACH;AAAA,GACF;AAEJ,CAAC;;;;"}
@@ -1,57 +1,40 @@
1
1
  import React, { forwardRef } from 'react';
2
2
  import clsx from 'clsx';
3
- import { filterDOMProps } from '@react-aria/utils';
3
+ import { filterDOMProps } from 'react-aria/filterDOMProps';
4
4
  import styles from '@danske/sapphire-css/components/accordion/accordion.module.css';
5
5
  import { DisclosurePanel } from 'react-aria-components';
6
6
  import { useAccordionContext } from './AccordionContext.js';
7
7
  import { customPaddingStyleProps } from './utils.js';
8
8
  import { withTruthyZero } from '@danske/sapphire-react';
9
9
 
10
- var __defProp = Object.defineProperty;
11
- var __defProps = Object.defineProperties;
12
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
13
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
14
- var __hasOwnProp = Object.prototype.hasOwnProperty;
15
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
16
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
17
- var __spreadValues = (a, b) => {
18
- for (var prop in b || (b = {}))
19
- if (__hasOwnProp.call(b, prop))
20
- __defNormalProp(a, prop, b[prop]);
21
- if (__getOwnPropSymbols)
22
- for (var prop of __getOwnPropSymbols(b)) {
23
- if (__propIsEnum.call(b, prop))
24
- __defNormalProp(a, prop, b[prop]);
25
- }
26
- return a;
27
- };
28
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
29
- var __objRest = (source, exclude) => {
30
- var target = {};
31
- for (var prop in source)
32
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
33
- target[prop] = source[prop];
34
- if (source != null && __getOwnPropSymbols)
35
- for (var prop of __getOwnPropSymbols(source)) {
36
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
37
- target[prop] = source[prop];
38
- }
39
- return target;
40
- };
41
- const AccordionPanel = forwardRef(function AccordionPanel2(_a, ref) {
42
- var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
10
+ const AccordionPanel = forwardRef(function AccordionPanel2({ children, ...props }, ref) {
43
11
  const { sidePadding } = useAccordionContext();
44
- return /* @__PURE__ */ React.createElement(DisclosurePanel, __spreadValues(__spreadProps(__spreadValues({
45
- ref
46
- }, filterDOMProps(props, { global: true })), {
47
- className: clsx(styles["sapphire-accordion__item-content"]),
48
- style: {
49
- height: "var(--disclosure-panel-height)"
50
- }
51
- }), props), /* @__PURE__ */ React.createElement("div", {
52
- style: __spreadValues({}, withTruthyZero(sidePadding) ? customPaddingStyleProps(sidePadding) : {}),
53
- className: styles["sapphire-accordion__item-content-inner"]
54
- }, children));
12
+ return /* @__PURE__ */ React.createElement(
13
+ DisclosurePanel,
14
+ {
15
+ ref,
16
+ ...filterDOMProps(props, { global: true }),
17
+ className: clsx(styles["sapphire-accordion__item-content"]),
18
+ style: {
19
+ /**
20
+ * useDisclosure hook from react-aria uses css variable --disclosure-panel-height to
21
+ * animate the height of the panel.
22
+ */
23
+ height: "var(--disclosure-panel-height)"
24
+ },
25
+ ...props
26
+ },
27
+ /* @__PURE__ */ React.createElement(
28
+ "div",
29
+ {
30
+ style: {
31
+ ...withTruthyZero(sidePadding) ? customPaddingStyleProps(sidePadding) : {}
32
+ },
33
+ className: styles["sapphire-accordion__item-content-inner"]
34
+ },
35
+ children
36
+ )
37
+ );
55
38
  });
56
39
 
57
40
  export { AccordionPanel };
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionPanel.js","sources":["../../../../src/Accordion/src/AccordionPanel.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport clsx from 'clsx';\nimport { filterDOMProps } from '@react-aria/utils';\nimport styles from '@danske/sapphire-css/components/accordion/accordion.module.css';\nimport { DisclosurePanel, DisclosurePanelProps } from 'react-aria-components';\nimport { useAccordionContext } from './AccordionContext';\nimport { customPaddingStyleProps } from './utils';\nimport { withTruthyZero as hasAllowedCustomSidePadding } from '@danske/sapphire-react';\nimport { DOMProps } from '@react-types/shared';\n\nexport interface AccordionPanelProps\n extends DOMProps,\n Pick<DisclosurePanelProps, 'children' | 'role'> {}\n\nexport const AccordionPanel = forwardRef(function AccordionPanel(\n { children, ...props }: AccordionPanelProps,\n ref: React.Ref<HTMLDivElement>\n): React.JSX.Element {\n const { sidePadding } = useAccordionContext();\n\n return (\n <DisclosurePanel\n ref={ref}\n {...filterDOMProps(props, { global: true })}\n className={clsx(styles['sapphire-accordion__item-content'])}\n style={{\n /**\n * useDisclosure hook from react-aria uses css variable --disclosure-panel-height to\n * animate the height of the panel.\n */\n height: 'var(--disclosure-panel-height)',\n }}\n {...props}\n >\n <div\n style={{\n ...(hasAllowedCustomSidePadding(sidePadding)\n ? customPaddingStyleProps(sidePadding)\n : {}),\n }}\n className={styles['sapphire-accordion__item-content-inner']}\n >\n {children}\n </div>\n </DisclosurePanel>\n );\n});\n"],"names":["hasAllowedCustomSidePadding"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcO,MAAM,cAAiB,GAAA,UAAA,CAAW,SACvC,eAAA,CAAA,EAAA,EACA,GACmB,EAAA;AAFnB,EAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAAF,QAAA,EAAA,GAAA,EAAA,EAAe,KAAf,GAAA,SAAA,CAAA,EAAA,EAAe,CAAb,UAAA,CAAA,CAAA,CAAA;AAGF,EAAA,MAAM,EAAE,WAAgB,EAAA,GAAA,mBAAA,EAAA,CAAA;AAExB,EAAA,2CACG,eAAD,EAAA,cAAA,CAAA,aAAA,CAAA,cAAA,CAAA;AAAA,IACE,GAAA;AAAA,GAAA,EACI,cAAe,CAAA,KAAA,EAAO,EAAE,MAAA,EAAQ,IAFtC,EAAA,CAAA,CAAA,EAAA;AAAA,IAGE,SAAA,EAAW,KAAK,MAAO,CAAA,kCAAA,CAAA,CAAA;AAAA,IACvB,KAAO,EAAA;AAAA,MAKL,MAAQ,EAAA,gCAAA;AAAA,KAAA;AAAA,GAEN,CAAA,EAAA,KAAA,CAAA,sCAEH,KAAD,EAAA;AAAA,IACE,KAAO,EAAA,cAAA,CAAA,EAAA,EACDA,cAA4B,CAAA,WAAA,CAAA,GAC5B,wBAAwB,WACxB,CAAA,GAAA,EAAA,CAAA;AAAA,IAEN,WAAW,MAAO,CAAA,wCAAA,CAAA;AAAA,GAEjB,EAAA,QAAA,CAAA,CAAA,CAAA;AAAA,CAAA;;;;"}
1
+ {"version":3,"file":"AccordionPanel.js","sources":["../../../../src/Accordion/src/AccordionPanel.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\nimport clsx from 'clsx';\nimport { filterDOMProps } from 'react-aria/filterDOMProps';\nimport styles from '@danske/sapphire-css/components/accordion/accordion.module.css';\nimport { DisclosurePanel, DisclosurePanelProps } from 'react-aria-components';\nimport { useAccordionContext } from './AccordionContext';\nimport { customPaddingStyleProps } from './utils';\nimport { withTruthyZero as hasAllowedCustomSidePadding } from '@danske/sapphire-react';\nimport { DOMProps } from '@react-types/shared';\n\nexport interface AccordionPanelProps\n extends DOMProps,\n Pick<DisclosurePanelProps, 'children' | 'role'> {}\n\nexport const AccordionPanel = forwardRef(function AccordionPanel(\n { children, ...props }: AccordionPanelProps,\n ref: React.Ref<HTMLDivElement>\n): React.JSX.Element {\n const { sidePadding } = useAccordionContext();\n\n return (\n <DisclosurePanel\n ref={ref}\n {...filterDOMProps(props, { global: true })}\n className={clsx(styles['sapphire-accordion__item-content'])}\n style={{\n /**\n * useDisclosure hook from react-aria uses css variable --disclosure-panel-height to\n * animate the height of the panel.\n */\n height: 'var(--disclosure-panel-height)',\n }}\n {...props}\n >\n <div\n style={{\n ...(hasAllowedCustomSidePadding(sidePadding)\n ? customPaddingStyleProps(sidePadding)\n : {}),\n }}\n className={styles['sapphire-accordion__item-content-inner']}\n >\n {children}\n </div>\n </DisclosurePanel>\n );\n});\n"],"names":["AccordionPanel","hasAllowedCustomSidePadding"],"mappings":";;;;;;;;;AAcO,MAAM,cAAA,GAAiB,WAAW,SAASA,eAAAA,CAChD,EAAE,QAAA,EAAU,GAAG,KAAA,EAAM,EACrB,GAAA,EACmB;AACnB,EAAA,MAAM,EAAE,WAAA,EAAY,GAAI,mBAAA,EAAoB;AAE5C,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAAC,eAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACC,GAAG,cAAA,CAAe,KAAA,EAAO,EAAE,MAAA,EAAQ,MAAM,CAAA;AAAA,MAC1C,SAAA,EAAW,IAAA,CAAK,MAAA,CAAO,kCAAkC,CAAC,CAAA;AAAA,MAC1D,KAAA,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA,QAKL,MAAA,EAAQ;AAAA,OACV;AAAA,MACC,GAAG;AAAA,KAAA;AAAA,oBAEJ,KAAA,CAAA,aAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAO;AAAA,UACL,GAAIC,cAAA,CAA4B,WAAW,IACvC,uBAAA,CAAwB,WAAW,IACnC;AAAC,SACP;AAAA,QACA,SAAA,EAAW,OAAO,wCAAwC;AAAA,OAAA;AAAA,MAEzD;AAAA;AACH,GACF;AAEJ,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../src/Accordion/src/utils.ts"],"sourcesContent":["export const customPaddingStyleProps = (sidePadding: number | string) => ({\n paddingLeft:\n typeof sidePadding === 'string' ? sidePadding : `${sidePadding}px`,\n paddingRight:\n typeof sidePadding === 'string' ? sidePadding : `${sidePadding}px`,\n});\n"],"names":[],"mappings":"AAAa,MAAA,uBAAA,GAA0B,CAAC,WAAkC,MAAA;AAAA,EACxE,WACE,EAAA,OAAO,WAAgB,KAAA,QAAA,GAAW,cAAc,CAAG,EAAA,WAAA,CAAA,EAAA,CAAA;AAAA,EACrD,YACE,EAAA,OAAO,WAAgB,KAAA,QAAA,GAAW,cAAc,CAAG,EAAA,WAAA,CAAA,EAAA,CAAA;AAAA,CAAA;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/Accordion/src/utils.ts"],"sourcesContent":["export const customPaddingStyleProps = (sidePadding: number | string) => ({\n paddingLeft:\n typeof sidePadding === 'string' ? sidePadding : `${sidePadding}px`,\n paddingRight:\n typeof sidePadding === 'string' ? sidePadding : `${sidePadding}px`,\n});\n"],"names":[],"mappings":"AAAO,MAAM,uBAAA,GAA0B,CAAC,WAAA,MAAkC;AAAA,EACxE,aACE,OAAO,WAAA,KAAgB,QAAA,GAAW,WAAA,GAAc,GAAG,WAAW,CAAA,EAAA,CAAA;AAAA,EAChE,cACE,OAAO,WAAA,KAAgB,QAAA,GAAW,WAAA,GAAc,GAAG,WAAW,CAAA,EAAA;AAClE,CAAA;;;;"}