@dsn-starter-kit/components-react 1.0.0

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 (641) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +181 -0
  3. package/dist/ActionGroup/ActionGroup.css +55 -0
  4. package/dist/ActionGroup/ActionGroup.d.ts +41 -0
  5. package/dist/ActionGroup/ActionGroup.d.ts.map +1 -0
  6. package/dist/ActionGroup/ActionGroup.js +36 -0
  7. package/dist/ActionGroup/ActionGroup.js.map +1 -0
  8. package/dist/ActionGroup/index.d.ts +3 -0
  9. package/dist/ActionGroup/index.d.ts.map +1 -0
  10. package/dist/ActionGroup/index.js +2 -0
  11. package/dist/ActionGroup/index.js.map +1 -0
  12. package/dist/Alert/Alert.css +145 -0
  13. package/dist/Alert/Alert.d.ts +69 -0
  14. package/dist/Alert/Alert.d.ts.map +1 -0
  15. package/dist/Alert/Alert.js +57 -0
  16. package/dist/Alert/Alert.js.map +1 -0
  17. package/dist/Alert/index.d.ts +3 -0
  18. package/dist/Alert/index.d.ts.map +1 -0
  19. package/dist/Alert/index.js +2 -0
  20. package/dist/Alert/index.js.map +1 -0
  21. package/dist/Backdrop/Backdrop.css +30 -0
  22. package/dist/Backdrop/Backdrop.d.ts +26 -0
  23. package/dist/Backdrop/Backdrop.d.ts.map +1 -0
  24. package/dist/Backdrop/Backdrop.js +23 -0
  25. package/dist/Backdrop/Backdrop.js.map +1 -0
  26. package/dist/Backdrop/index.d.ts +3 -0
  27. package/dist/Backdrop/index.d.ts.map +1 -0
  28. package/dist/Backdrop/index.js +2 -0
  29. package/dist/Backdrop/index.js.map +1 -0
  30. package/dist/Body/Body.css +14 -0
  31. package/dist/Body/Body.d.ts +27 -0
  32. package/dist/Body/Body.d.ts.map +1 -0
  33. package/dist/Body/Body.js +27 -0
  34. package/dist/Body/Body.js.map +1 -0
  35. package/dist/Body/index.d.ts +3 -0
  36. package/dist/Body/index.d.ts.map +1 -0
  37. package/dist/Body/index.js +2 -0
  38. package/dist/Body/index.js.map +1 -0
  39. package/dist/BreadcrumbNavigation/BreadcrumbNavigation.css +216 -0
  40. package/dist/BreadcrumbNavigation/BreadcrumbNavigation.d.ts +43 -0
  41. package/dist/BreadcrumbNavigation/BreadcrumbNavigation.d.ts.map +1 -0
  42. package/dist/BreadcrumbNavigation/BreadcrumbNavigation.js +42 -0
  43. package/dist/BreadcrumbNavigation/BreadcrumbNavigation.js.map +1 -0
  44. package/dist/BreadcrumbNavigation/BreadcrumbNavigationItem.d.ts +32 -0
  45. package/dist/BreadcrumbNavigation/BreadcrumbNavigationItem.d.ts.map +1 -0
  46. package/dist/BreadcrumbNavigation/BreadcrumbNavigationItem.js +20 -0
  47. package/dist/BreadcrumbNavigation/BreadcrumbNavigationItem.js.map +1 -0
  48. package/dist/BreadcrumbNavigation/index.d.ts +3 -0
  49. package/dist/BreadcrumbNavigation/index.d.ts.map +1 -0
  50. package/dist/BreadcrumbNavigation/index.js +3 -0
  51. package/dist/BreadcrumbNavigation/index.js.map +1 -0
  52. package/dist/BreakoutSection/BreakoutSection.css +19 -0
  53. package/dist/BreakoutSection/BreakoutSection.d.ts +30 -0
  54. package/dist/BreakoutSection/BreakoutSection.d.ts.map +1 -0
  55. package/dist/BreakoutSection/BreakoutSection.js +27 -0
  56. package/dist/BreakoutSection/BreakoutSection.js.map +1 -0
  57. package/dist/BreakoutSection/index.d.ts +3 -0
  58. package/dist/BreakoutSection/index.d.ts.map +1 -0
  59. package/dist/BreakoutSection/index.js +2 -0
  60. package/dist/BreakoutSection/index.js.map +1 -0
  61. package/dist/Button/Button.css +337 -0
  62. package/dist/Button/Button.d.ts +90 -0
  63. package/dist/Button/Button.d.ts.map +1 -0
  64. package/dist/Button/Button.js +53 -0
  65. package/dist/Button/Button.js.map +1 -0
  66. package/dist/Button/index.d.ts +3 -0
  67. package/dist/Button/index.d.ts.map +1 -0
  68. package/dist/Button/index.js +2 -0
  69. package/dist/Button/index.js.map +1 -0
  70. package/dist/ButtonLink/ButtonLink.css +29 -0
  71. package/dist/ButtonLink/ButtonLink.d.ts +92 -0
  72. package/dist/ButtonLink/ButtonLink.d.ts.map +1 -0
  73. package/dist/ButtonLink/ButtonLink.js +50 -0
  74. package/dist/ButtonLink/ButtonLink.js.map +1 -0
  75. package/dist/ButtonLink/index.d.ts +3 -0
  76. package/dist/ButtonLink/index.d.ts.map +1 -0
  77. package/dist/ButtonLink/index.js +2 -0
  78. package/dist/ButtonLink/index.js.map +1 -0
  79. package/dist/Card/Card.css +169 -0
  80. package/dist/Card/Card.d.ts +105 -0
  81. package/dist/Card/Card.d.ts.map +1 -0
  82. package/dist/Card/Card.js +80 -0
  83. package/dist/Card/Card.js.map +1 -0
  84. package/dist/Card/index.d.ts +3 -0
  85. package/dist/Card/index.d.ts.map +1 -0
  86. package/dist/Card/index.js +2 -0
  87. package/dist/Card/index.js.map +1 -0
  88. package/dist/Checkbox/Checkbox.css +239 -0
  89. package/dist/Checkbox/Checkbox.d.ts +18 -0
  90. package/dist/Checkbox/Checkbox.d.ts.map +1 -0
  91. package/dist/Checkbox/Checkbox.js +24 -0
  92. package/dist/Checkbox/Checkbox.js.map +1 -0
  93. package/dist/Checkbox/index.d.ts +3 -0
  94. package/dist/Checkbox/index.d.ts.map +1 -0
  95. package/dist/Checkbox/index.js +2 -0
  96. package/dist/Checkbox/index.js.map +1 -0
  97. package/dist/CheckboxGroup/CheckboxGroup.css +10 -0
  98. package/dist/CheckboxGroup/CheckboxGroup.d.ts +37 -0
  99. package/dist/CheckboxGroup/CheckboxGroup.d.ts.map +1 -0
  100. package/dist/CheckboxGroup/CheckboxGroup.js +37 -0
  101. package/dist/CheckboxGroup/CheckboxGroup.js.map +1 -0
  102. package/dist/CheckboxGroup/index.d.ts +3 -0
  103. package/dist/CheckboxGroup/index.d.ts.map +1 -0
  104. package/dist/CheckboxGroup/index.js +2 -0
  105. package/dist/CheckboxGroup/index.js.map +1 -0
  106. package/dist/CheckboxOption/CheckboxOption.css +17 -0
  107. package/dist/CheckboxOption/CheckboxOption.d.ts +14 -0
  108. package/dist/CheckboxOption/CheckboxOption.d.ts.map +1 -0
  109. package/dist/CheckboxOption/CheckboxOption.js +15 -0
  110. package/dist/CheckboxOption/CheckboxOption.js.map +1 -0
  111. package/dist/CheckboxOption/index.d.ts +3 -0
  112. package/dist/CheckboxOption/index.d.ts.map +1 -0
  113. package/dist/CheckboxOption/index.js +2 -0
  114. package/dist/CheckboxOption/index.js.map +1 -0
  115. package/dist/Container/Container.css +48 -0
  116. package/dist/Container/Container.d.ts +41 -0
  117. package/dist/Container/Container.d.ts.map +1 -0
  118. package/dist/Container/Container.js +33 -0
  119. package/dist/Container/Container.js.map +1 -0
  120. package/dist/Container/index.d.ts +3 -0
  121. package/dist/Container/index.d.ts.map +1 -0
  122. package/dist/Container/index.js +2 -0
  123. package/dist/Container/index.js.map +1 -0
  124. package/dist/DateInput/DateInput.css +37 -0
  125. package/dist/DateInput/DateInput.d.ts +37 -0
  126. package/dist/DateInput/DateInput.d.ts.map +1 -0
  127. package/dist/DateInput/DateInput.js +52 -0
  128. package/dist/DateInput/DateInput.js.map +1 -0
  129. package/dist/DateInput/index.d.ts +3 -0
  130. package/dist/DateInput/index.d.ts.map +1 -0
  131. package/dist/DateInput/index.js +2 -0
  132. package/dist/DateInput/index.js.map +1 -0
  133. package/dist/DateInputGroup/DateInputGroup.css +30 -0
  134. package/dist/DateInputGroup/DateInputGroup.d.ts +65 -0
  135. package/dist/DateInputGroup/DateInputGroup.d.ts.map +1 -0
  136. package/dist/DateInputGroup/DateInputGroup.js +53 -0
  137. package/dist/DateInputGroup/DateInputGroup.js.map +1 -0
  138. package/dist/DateInputGroup/index.d.ts +3 -0
  139. package/dist/DateInputGroup/index.d.ts.map +1 -0
  140. package/dist/DateInputGroup/index.js +2 -0
  141. package/dist/DateInputGroup/index.js.map +1 -0
  142. package/dist/Details/Details.css +134 -0
  143. package/dist/Details/Details.d.ts +46 -0
  144. package/dist/Details/Details.d.ts.map +1 -0
  145. package/dist/Details/Details.js +37 -0
  146. package/dist/Details/Details.js.map +1 -0
  147. package/dist/Details/index.d.ts +3 -0
  148. package/dist/Details/index.d.ts.map +1 -0
  149. package/dist/Details/index.js +2 -0
  150. package/dist/Details/index.js.map +1 -0
  151. package/dist/DotBadge/DotBadge.css +98 -0
  152. package/dist/DotBadge/DotBadge.d.ts +40 -0
  153. package/dist/DotBadge/DotBadge.d.ts.map +1 -0
  154. package/dist/DotBadge/DotBadge.js +33 -0
  155. package/dist/DotBadge/DotBadge.js.map +1 -0
  156. package/dist/DotBadge/index.d.ts +2 -0
  157. package/dist/DotBadge/index.d.ts.map +1 -0
  158. package/dist/DotBadge/index.js +2 -0
  159. package/dist/DotBadge/index.js.map +1 -0
  160. package/dist/Drawer/Drawer.css +258 -0
  161. package/dist/Drawer/Drawer.d.ts +109 -0
  162. package/dist/Drawer/Drawer.d.ts.map +1 -0
  163. package/dist/Drawer/Drawer.js +115 -0
  164. package/dist/Drawer/Drawer.js.map +1 -0
  165. package/dist/Drawer/index.d.ts +3 -0
  166. package/dist/Drawer/index.d.ts.map +1 -0
  167. package/dist/Drawer/index.js +2 -0
  168. package/dist/Drawer/index.js.map +1 -0
  169. package/dist/EmailInput/EmailInput.css +4 -0
  170. package/dist/EmailInput/EmailInput.d.ts +38 -0
  171. package/dist/EmailInput/EmailInput.d.ts.map +1 -0
  172. package/dist/EmailInput/EmailInput.js +27 -0
  173. package/dist/EmailInput/EmailInput.js.map +1 -0
  174. package/dist/EmailInput/index.d.ts +3 -0
  175. package/dist/EmailInput/index.d.ts.map +1 -0
  176. package/dist/EmailInput/index.js +2 -0
  177. package/dist/EmailInput/index.js.map +1 -0
  178. package/dist/File/File.css +206 -0
  179. package/dist/File/File.d.ts +116 -0
  180. package/dist/File/File.d.ts.map +1 -0
  181. package/dist/File/File.js +100 -0
  182. package/dist/File/File.js.map +1 -0
  183. package/dist/File/index.d.ts +3 -0
  184. package/dist/File/index.d.ts.map +1 -0
  185. package/dist/File/index.js +2 -0
  186. package/dist/File/index.js.map +1 -0
  187. package/dist/FileInput/FileInput.css +112 -0
  188. package/dist/FileInput/FileInput.d.ts +36 -0
  189. package/dist/FileInput/FileInput.d.ts.map +1 -0
  190. package/dist/FileInput/FileInput.js +31 -0
  191. package/dist/FileInput/FileInput.js.map +1 -0
  192. package/dist/FileInput/index.d.ts +3 -0
  193. package/dist/FileInput/index.d.ts.map +1 -0
  194. package/dist/FileInput/index.js +2 -0
  195. package/dist/FileInput/index.js.map +1 -0
  196. package/dist/FormField/FormField.css +16 -0
  197. package/dist/FormField/FormField.d.ts +85 -0
  198. package/dist/FormField/FormField.d.ts.map +1 -0
  199. package/dist/FormField/FormField.js +60 -0
  200. package/dist/FormField/FormField.js.map +1 -0
  201. package/dist/FormField/index.d.ts +3 -0
  202. package/dist/FormField/index.d.ts.map +1 -0
  203. package/dist/FormField/index.js +2 -0
  204. package/dist/FormField/index.js.map +1 -0
  205. package/dist/FormFieldDescription/FormFieldDescription.css +25 -0
  206. package/dist/FormFieldDescription/FormFieldDescription.d.ts +47 -0
  207. package/dist/FormFieldDescription/FormFieldDescription.d.ts.map +1 -0
  208. package/dist/FormFieldDescription/FormFieldDescription.js +37 -0
  209. package/dist/FormFieldDescription/FormFieldDescription.js.map +1 -0
  210. package/dist/FormFieldDescription/index.d.ts +3 -0
  211. package/dist/FormFieldDescription/index.d.ts.map +1 -0
  212. package/dist/FormFieldDescription/index.js +2 -0
  213. package/dist/FormFieldDescription/index.js.map +1 -0
  214. package/dist/FormFieldErrorMessage/FormFieldErrorMessage.css +38 -0
  215. package/dist/FormFieldErrorMessage/FormFieldErrorMessage.d.ts +40 -0
  216. package/dist/FormFieldErrorMessage/FormFieldErrorMessage.d.ts.map +1 -0
  217. package/dist/FormFieldErrorMessage/FormFieldErrorMessage.js +32 -0
  218. package/dist/FormFieldErrorMessage/FormFieldErrorMessage.js.map +1 -0
  219. package/dist/FormFieldErrorMessage/index.d.ts +3 -0
  220. package/dist/FormFieldErrorMessage/index.d.ts.map +1 -0
  221. package/dist/FormFieldErrorMessage/index.js +2 -0
  222. package/dist/FormFieldErrorMessage/index.js.map +1 -0
  223. package/dist/FormFieldLabel/FormFieldLabel.css +48 -0
  224. package/dist/FormFieldLabel/FormFieldLabel.d.ts +38 -0
  225. package/dist/FormFieldLabel/FormFieldLabel.d.ts.map +1 -0
  226. package/dist/FormFieldLabel/FormFieldLabel.js +30 -0
  227. package/dist/FormFieldLabel/FormFieldLabel.js.map +1 -0
  228. package/dist/FormFieldLabel/index.d.ts +3 -0
  229. package/dist/FormFieldLabel/index.d.ts.map +1 -0
  230. package/dist/FormFieldLabel/index.js +2 -0
  231. package/dist/FormFieldLabel/index.js.map +1 -0
  232. package/dist/FormFieldLegend/FormFieldLegend.css +7 -0
  233. package/dist/FormFieldLegend/FormFieldLegend.d.ts +39 -0
  234. package/dist/FormFieldLegend/FormFieldLegend.d.ts.map +1 -0
  235. package/dist/FormFieldLegend/FormFieldLegend.js +31 -0
  236. package/dist/FormFieldLegend/FormFieldLegend.js.map +1 -0
  237. package/dist/FormFieldLegend/index.d.ts +2 -0
  238. package/dist/FormFieldLegend/index.d.ts.map +1 -0
  239. package/dist/FormFieldLegend/index.js +2 -0
  240. package/dist/FormFieldLegend/index.js.map +1 -0
  241. package/dist/FormFieldStatus/FormFieldStatus.css +66 -0
  242. package/dist/FormFieldStatus/FormFieldStatus.d.ts +52 -0
  243. package/dist/FormFieldStatus/FormFieldStatus.d.ts.map +1 -0
  244. package/dist/FormFieldStatus/FormFieldStatus.js +44 -0
  245. package/dist/FormFieldStatus/FormFieldStatus.js.map +1 -0
  246. package/dist/FormFieldStatus/index.d.ts +3 -0
  247. package/dist/FormFieldStatus/index.d.ts.map +1 -0
  248. package/dist/FormFieldStatus/index.js +2 -0
  249. package/dist/FormFieldStatus/index.js.map +1 -0
  250. package/dist/FormFieldset/FormFieldset.css +24 -0
  251. package/dist/FormFieldset/FormFieldset.d.ts +83 -0
  252. package/dist/FormFieldset/FormFieldset.d.ts.map +1 -0
  253. package/dist/FormFieldset/FormFieldset.js +59 -0
  254. package/dist/FormFieldset/FormFieldset.js.map +1 -0
  255. package/dist/FormFieldset/index.d.ts +2 -0
  256. package/dist/FormFieldset/index.d.ts.map +1 -0
  257. package/dist/FormFieldset/index.js +2 -0
  258. package/dist/FormFieldset/index.js.map +1 -0
  259. package/dist/Grid/Grid.css +573 -0
  260. package/dist/Grid/Grid.d.ts +35 -0
  261. package/dist/Grid/Grid.d.ts.map +1 -0
  262. package/dist/Grid/Grid.js +29 -0
  263. package/dist/Grid/Grid.js.map +1 -0
  264. package/dist/Grid/GridItem.d.ts +84 -0
  265. package/dist/Grid/GridItem.d.ts.map +1 -0
  266. package/dist/Grid/GridItem.js +39 -0
  267. package/dist/Grid/GridItem.js.map +1 -0
  268. package/dist/Grid/index.d.ts +5 -0
  269. package/dist/Grid/index.d.ts.map +1 -0
  270. package/dist/Grid/index.js +3 -0
  271. package/dist/Grid/index.js.map +1 -0
  272. package/dist/Heading/Heading.css +81 -0
  273. package/dist/Heading/Heading.d.ts +38 -0
  274. package/dist/Heading/Heading.d.ts.map +1 -0
  275. package/dist/Heading/Heading.js +24 -0
  276. package/dist/Heading/Heading.js.map +1 -0
  277. package/dist/Heading/index.d.ts +3 -0
  278. package/dist/Heading/index.d.ts.map +1 -0
  279. package/dist/Heading/index.js +2 -0
  280. package/dist/Heading/index.js.map +1 -0
  281. package/dist/Hero/Hero.css +205 -0
  282. package/dist/Hero/Hero.d.ts +45 -0
  283. package/dist/Hero/Hero.d.ts.map +1 -0
  284. package/dist/Hero/Hero.js +33 -0
  285. package/dist/Hero/Hero.js.map +1 -0
  286. package/dist/Hero/index.d.ts +3 -0
  287. package/dist/Hero/index.d.ts.map +1 -0
  288. package/dist/Hero/index.js +2 -0
  289. package/dist/Hero/index.js.map +1 -0
  290. package/dist/Icon/Icon.css +57 -0
  291. package/dist/Icon/Icon.d.ts +48 -0
  292. package/dist/Icon/Icon.d.ts.map +1 -0
  293. package/dist/Icon/Icon.js +42 -0
  294. package/dist/Icon/Icon.js.map +1 -0
  295. package/dist/Icon/icon-registry.generated.d.ts +4 -0
  296. package/dist/Icon/icon-registry.generated.d.ts.map +1 -0
  297. package/dist/Icon/icon-registry.generated.js +105 -0
  298. package/dist/Icon/icon-registry.generated.js.map +1 -0
  299. package/dist/Icon/index.d.ts +3 -0
  300. package/dist/Icon/index.d.ts.map +1 -0
  301. package/dist/Icon/index.js +2 -0
  302. package/dist/Icon/index.js.map +1 -0
  303. package/dist/Image/Image.css +123 -0
  304. package/dist/Image/Image.d.ts +54 -0
  305. package/dist/Image/Image.d.ts.map +1 -0
  306. package/dist/Image/Image.js +53 -0
  307. package/dist/Image/Image.js.map +1 -0
  308. package/dist/Image/index.d.ts +3 -0
  309. package/dist/Image/index.d.ts.map +1 -0
  310. package/dist/Image/index.js +2 -0
  311. package/dist/Image/index.js.map +1 -0
  312. package/dist/Link/Link.css +113 -0
  313. package/dist/Link/Link.d.ts +80 -0
  314. package/dist/Link/Link.d.ts.map +1 -0
  315. package/dist/Link/Link.js +58 -0
  316. package/dist/Link/Link.js.map +1 -0
  317. package/dist/Link/index.d.ts +3 -0
  318. package/dist/Link/index.d.ts.map +1 -0
  319. package/dist/Link/index.js +2 -0
  320. package/dist/Link/index.js.map +1 -0
  321. package/dist/LinkButton/LinkButton.css +40 -0
  322. package/dist/LinkButton/LinkButton.d.ts +52 -0
  323. package/dist/LinkButton/LinkButton.d.ts.map +1 -0
  324. package/dist/LinkButton/LinkButton.js +34 -0
  325. package/dist/LinkButton/LinkButton.js.map +1 -0
  326. package/dist/LinkButton/index.d.ts +3 -0
  327. package/dist/LinkButton/index.d.ts.map +1 -0
  328. package/dist/LinkButton/index.js +2 -0
  329. package/dist/LinkButton/index.js.map +1 -0
  330. package/dist/Logo/Logo.css +33 -0
  331. package/dist/Logo/Logo.d.ts +33 -0
  332. package/dist/Logo/Logo.d.ts.map +1 -0
  333. package/dist/Logo/Logo.js +32 -0
  334. package/dist/Logo/Logo.js.map +1 -0
  335. package/dist/Logo/index.d.ts +2 -0
  336. package/dist/Logo/index.d.ts.map +1 -0
  337. package/dist/Logo/index.js +2 -0
  338. package/dist/Logo/index.js.map +1 -0
  339. package/dist/Menu/Menu.css +57 -0
  340. package/dist/Menu/Menu.d.ts +56 -0
  341. package/dist/Menu/Menu.d.ts.map +1 -0
  342. package/dist/Menu/Menu.js +38 -0
  343. package/dist/Menu/Menu.js.map +1 -0
  344. package/dist/Menu/index.d.ts +2 -0
  345. package/dist/Menu/index.d.ts.map +1 -0
  346. package/dist/Menu/index.js +2 -0
  347. package/dist/Menu/index.js.map +1 -0
  348. package/dist/MenuButton/MenuButton.css +106 -0
  349. package/dist/MenuButton/MenuButton.d.ts +54 -0
  350. package/dist/MenuButton/MenuButton.d.ts.map +1 -0
  351. package/dist/MenuButton/MenuButton.js +37 -0
  352. package/dist/MenuButton/MenuButton.js.map +1 -0
  353. package/dist/MenuButton/index.d.ts +2 -0
  354. package/dist/MenuButton/index.d.ts.map +1 -0
  355. package/dist/MenuButton/index.js +2 -0
  356. package/dist/MenuButton/index.js.map +1 -0
  357. package/dist/MenuLink/MenuLink.css +212 -0
  358. package/dist/MenuLink/MenuLink.d.ts +96 -0
  359. package/dist/MenuLink/MenuLink.d.ts.map +1 -0
  360. package/dist/MenuLink/MenuLink.js +50 -0
  361. package/dist/MenuLink/MenuLink.js.map +1 -0
  362. package/dist/MenuLink/index.d.ts +2 -0
  363. package/dist/MenuLink/index.d.ts.map +1 -0
  364. package/dist/MenuLink/index.js +2 -0
  365. package/dist/MenuLink/index.js.map +1 -0
  366. package/dist/ModalDialog/ModalDialog.css +199 -0
  367. package/dist/ModalDialog/ModalDialog.d.ts +95 -0
  368. package/dist/ModalDialog/ModalDialog.d.ts.map +1 -0
  369. package/dist/ModalDialog/ModalDialog.js +93 -0
  370. package/dist/ModalDialog/ModalDialog.js.map +1 -0
  371. package/dist/ModalDialog/index.d.ts +3 -0
  372. package/dist/ModalDialog/index.d.ts.map +1 -0
  373. package/dist/ModalDialog/index.js +2 -0
  374. package/dist/ModalDialog/index.js.map +1 -0
  375. package/dist/Note/Note.css +169 -0
  376. package/dist/Note/Note.d.ts +78 -0
  377. package/dist/Note/Note.d.ts.map +1 -0
  378. package/dist/Note/Note.js +68 -0
  379. package/dist/Note/Note.js.map +1 -0
  380. package/dist/Note/index.d.ts +3 -0
  381. package/dist/Note/index.d.ts.map +1 -0
  382. package/dist/Note/index.js +2 -0
  383. package/dist/Note/index.js.map +1 -0
  384. package/dist/NumberBadge/NumberBadge.css +83 -0
  385. package/dist/NumberBadge/NumberBadge.d.ts +42 -0
  386. package/dist/NumberBadge/NumberBadge.d.ts.map +1 -0
  387. package/dist/NumberBadge/NumberBadge.js +46 -0
  388. package/dist/NumberBadge/NumberBadge.js.map +1 -0
  389. package/dist/NumberBadge/index.d.ts +2 -0
  390. package/dist/NumberBadge/index.d.ts.map +1 -0
  391. package/dist/NumberBadge/index.js +2 -0
  392. package/dist/NumberBadge/index.js.map +1 -0
  393. package/dist/NumberInput/NumberInput.css +4 -0
  394. package/dist/NumberInput/NumberInput.d.ts +45 -0
  395. package/dist/NumberInput/NumberInput.d.ts.map +1 -0
  396. package/dist/NumberInput/NumberInput.js +27 -0
  397. package/dist/NumberInput/NumberInput.js.map +1 -0
  398. package/dist/NumberInput/index.d.ts +3 -0
  399. package/dist/NumberInput/index.d.ts.map +1 -0
  400. package/dist/NumberInput/index.js +2 -0
  401. package/dist/NumberInput/index.js.map +1 -0
  402. package/dist/OptionLabel/OptionLabel.css +18 -0
  403. package/dist/OptionLabel/OptionLabel.d.ts +13 -0
  404. package/dist/OptionLabel/OptionLabel.d.ts.map +1 -0
  405. package/dist/OptionLabel/OptionLabel.js +13 -0
  406. package/dist/OptionLabel/OptionLabel.js.map +1 -0
  407. package/dist/OptionLabel/index.d.ts +3 -0
  408. package/dist/OptionLabel/index.d.ts.map +1 -0
  409. package/dist/OptionLabel/index.js +2 -0
  410. package/dist/OptionLabel/index.js.map +1 -0
  411. package/dist/OrderedList/OrderedList.css +37 -0
  412. package/dist/OrderedList/OrderedList.d.ts +32 -0
  413. package/dist/OrderedList/OrderedList.d.ts.map +1 -0
  414. package/dist/OrderedList/OrderedList.js +28 -0
  415. package/dist/OrderedList/OrderedList.js.map +1 -0
  416. package/dist/OrderedList/index.d.ts +3 -0
  417. package/dist/OrderedList/index.d.ts.map +1 -0
  418. package/dist/OrderedList/index.js +2 -0
  419. package/dist/OrderedList/index.js.map +1 -0
  420. package/dist/PageBody/PageBody.css +69 -0
  421. package/dist/PageBody/PageBody.d.ts +33 -0
  422. package/dist/PageBody/PageBody.d.ts.map +1 -0
  423. package/dist/PageBody/PageBody.js +28 -0
  424. package/dist/PageBody/PageBody.js.map +1 -0
  425. package/dist/PageBody/index.d.ts +2 -0
  426. package/dist/PageBody/index.d.ts.map +1 -0
  427. package/dist/PageBody/index.js +2 -0
  428. package/dist/PageBody/index.js.map +1 -0
  429. package/dist/PageFooter/PageFooter.css +102 -0
  430. package/dist/PageFooter/PageFooter.d.ts +55 -0
  431. package/dist/PageFooter/PageFooter.d.ts.map +1 -0
  432. package/dist/PageFooter/PageFooter.js +45 -0
  433. package/dist/PageFooter/PageFooter.js.map +1 -0
  434. package/dist/PageFooter/index.d.ts +2 -0
  435. package/dist/PageFooter/index.d.ts.map +1 -0
  436. package/dist/PageFooter/index.js +2 -0
  437. package/dist/PageFooter/index.js.map +1 -0
  438. package/dist/PageHeader/PageHeader.css +517 -0
  439. package/dist/PageHeader/PageHeader.d.ts +190 -0
  440. package/dist/PageHeader/PageHeader.d.ts.map +1 -0
  441. package/dist/PageHeader/PageHeader.js +115 -0
  442. package/dist/PageHeader/PageHeader.js.map +1 -0
  443. package/dist/PageHeader/index.d.ts +2 -0
  444. package/dist/PageHeader/index.d.ts.map +1 -0
  445. package/dist/PageHeader/index.js +2 -0
  446. package/dist/PageHeader/index.js.map +1 -0
  447. package/dist/PageLayout/PageLayout.css +6 -0
  448. package/dist/PageLayout/PageLayout.d.ts +38 -0
  449. package/dist/PageLayout/PageLayout.d.ts.map +1 -0
  450. package/dist/PageLayout/PageLayout.js +33 -0
  451. package/dist/PageLayout/PageLayout.js.map +1 -0
  452. package/dist/PageLayout/index.d.ts +2 -0
  453. package/dist/PageLayout/index.d.ts.map +1 -0
  454. package/dist/PageLayout/index.js +2 -0
  455. package/dist/PageLayout/index.js.map +1 -0
  456. package/dist/Paragraph/Paragraph.css +38 -0
  457. package/dist/Paragraph/Paragraph.d.ts +35 -0
  458. package/dist/Paragraph/Paragraph.d.ts.map +1 -0
  459. package/dist/Paragraph/Paragraph.js +25 -0
  460. package/dist/Paragraph/Paragraph.js.map +1 -0
  461. package/dist/Paragraph/index.d.ts +3 -0
  462. package/dist/Paragraph/index.d.ts.map +1 -0
  463. package/dist/Paragraph/index.js +2 -0
  464. package/dist/Paragraph/index.js.map +1 -0
  465. package/dist/PasswordInput/PasswordInput.css +4 -0
  466. package/dist/PasswordInput/PasswordInput.d.ts +52 -0
  467. package/dist/PasswordInput/PasswordInput.d.ts.map +1 -0
  468. package/dist/PasswordInput/PasswordInput.js +32 -0
  469. package/dist/PasswordInput/PasswordInput.js.map +1 -0
  470. package/dist/PasswordInput/index.d.ts +3 -0
  471. package/dist/PasswordInput/index.d.ts.map +1 -0
  472. package/dist/PasswordInput/index.js +2 -0
  473. package/dist/PasswordInput/index.js.map +1 -0
  474. package/dist/Popover/Popover.css +233 -0
  475. package/dist/Popover/Popover.d.ts +117 -0
  476. package/dist/Popover/Popover.d.ts.map +1 -0
  477. package/dist/Popover/Popover.js +219 -0
  478. package/dist/Popover/Popover.js.map +1 -0
  479. package/dist/Popover/index.d.ts +3 -0
  480. package/dist/Popover/index.d.ts.map +1 -0
  481. package/dist/Popover/index.js +2 -0
  482. package/dist/Popover/index.js.map +1 -0
  483. package/dist/ProgressBar/ProgressBar.css +91 -0
  484. package/dist/ProgressBar/ProgressBar.d.ts +53 -0
  485. package/dist/ProgressBar/ProgressBar.d.ts.map +1 -0
  486. package/dist/ProgressBar/ProgressBar.js +36 -0
  487. package/dist/ProgressBar/ProgressBar.js.map +1 -0
  488. package/dist/ProgressBar/index.d.ts +2 -0
  489. package/dist/ProgressBar/index.d.ts.map +1 -0
  490. package/dist/ProgressBar/index.js +2 -0
  491. package/dist/ProgressBar/index.js.map +1 -0
  492. package/dist/Radio/Radio.css +169 -0
  493. package/dist/Radio/Radio.d.ts +14 -0
  494. package/dist/Radio/Radio.d.ts.map +1 -0
  495. package/dist/Radio/Radio.js +14 -0
  496. package/dist/Radio/Radio.js.map +1 -0
  497. package/dist/Radio/index.d.ts +3 -0
  498. package/dist/Radio/index.d.ts.map +1 -0
  499. package/dist/Radio/index.js +2 -0
  500. package/dist/Radio/index.js.map +1 -0
  501. package/dist/RadioGroup/RadioGroup.css +10 -0
  502. package/dist/RadioGroup/RadioGroup.d.ts +37 -0
  503. package/dist/RadioGroup/RadioGroup.d.ts.map +1 -0
  504. package/dist/RadioGroup/RadioGroup.js +37 -0
  505. package/dist/RadioGroup/RadioGroup.js.map +1 -0
  506. package/dist/RadioGroup/index.d.ts +3 -0
  507. package/dist/RadioGroup/index.d.ts.map +1 -0
  508. package/dist/RadioGroup/index.js +2 -0
  509. package/dist/RadioGroup/index.js.map +1 -0
  510. package/dist/RadioOption/RadioOption.css +17 -0
  511. package/dist/RadioOption/RadioOption.d.ts +14 -0
  512. package/dist/RadioOption/RadioOption.d.ts.map +1 -0
  513. package/dist/RadioOption/RadioOption.js +15 -0
  514. package/dist/RadioOption/RadioOption.js.map +1 -0
  515. package/dist/RadioOption/index.d.ts +3 -0
  516. package/dist/RadioOption/index.d.ts.map +1 -0
  517. package/dist/RadioOption/index.js +2 -0
  518. package/dist/RadioOption/index.js.map +1 -0
  519. package/dist/SearchInput/SearchInput.css +59 -0
  520. package/dist/SearchInput/SearchInput.d.ts +40 -0
  521. package/dist/SearchInput/SearchInput.d.ts.map +1 -0
  522. package/dist/SearchInput/SearchInput.js +31 -0
  523. package/dist/SearchInput/SearchInput.js.map +1 -0
  524. package/dist/SearchInput/index.d.ts +3 -0
  525. package/dist/SearchInput/index.d.ts.map +1 -0
  526. package/dist/SearchInput/index.js +2 -0
  527. package/dist/SearchInput/index.js.map +1 -0
  528. package/dist/Select/Select.css +86 -0
  529. package/dist/Select/Select.d.ts +52 -0
  530. package/dist/Select/Select.d.ts.map +1 -0
  531. package/dist/Select/Select.js +43 -0
  532. package/dist/Select/Select.js.map +1 -0
  533. package/dist/Select/index.d.ts +3 -0
  534. package/dist/Select/index.d.ts.map +1 -0
  535. package/dist/Select/index.js +2 -0
  536. package/dist/Select/index.js.map +1 -0
  537. package/dist/SkipLink/SkipLink.css +58 -0
  538. package/dist/SkipLink/SkipLink.d.ts +35 -0
  539. package/dist/SkipLink/SkipLink.d.ts.map +1 -0
  540. package/dist/SkipLink/SkipLink.js +23 -0
  541. package/dist/SkipLink/SkipLink.js.map +1 -0
  542. package/dist/SkipLink/index.d.ts +2 -0
  543. package/dist/SkipLink/index.d.ts.map +1 -0
  544. package/dist/SkipLink/index.js +2 -0
  545. package/dist/SkipLink/index.js.map +1 -0
  546. package/dist/Spinner/Spinner.css +101 -0
  547. package/dist/Spinner/Spinner.d.ts +43 -0
  548. package/dist/Spinner/Spinner.d.ts.map +1 -0
  549. package/dist/Spinner/Spinner.js +30 -0
  550. package/dist/Spinner/Spinner.js.map +1 -0
  551. package/dist/Spinner/index.d.ts +2 -0
  552. package/dist/Spinner/index.d.ts.map +1 -0
  553. package/dist/Spinner/index.js +2 -0
  554. package/dist/Spinner/index.js.map +1 -0
  555. package/dist/Stack/Stack.css +59 -0
  556. package/dist/Stack/Stack.d.ts +35 -0
  557. package/dist/Stack/Stack.d.ts.map +1 -0
  558. package/dist/Stack/Stack.js +29 -0
  559. package/dist/Stack/Stack.js.map +1 -0
  560. package/dist/Stack/index.d.ts +3 -0
  561. package/dist/Stack/index.d.ts.map +1 -0
  562. package/dist/Stack/index.js +2 -0
  563. package/dist/Stack/index.js.map +1 -0
  564. package/dist/StatusBadge/StatusBadge.css +87 -0
  565. package/dist/StatusBadge/StatusBadge.d.ts +50 -0
  566. package/dist/StatusBadge/StatusBadge.d.ts.map +1 -0
  567. package/dist/StatusBadge/StatusBadge.js +40 -0
  568. package/dist/StatusBadge/StatusBadge.js.map +1 -0
  569. package/dist/StatusBadge/index.d.ts +2 -0
  570. package/dist/StatusBadge/index.d.ts.map +1 -0
  571. package/dist/StatusBadge/index.js +2 -0
  572. package/dist/StatusBadge/index.js.map +1 -0
  573. package/dist/SummaryList/SummaryList.css +151 -0
  574. package/dist/SummaryList/SummaryList.d.ts +49 -0
  575. package/dist/SummaryList/SummaryList.d.ts.map +1 -0
  576. package/dist/SummaryList/SummaryList.js +31 -0
  577. package/dist/SummaryList/SummaryList.js.map +1 -0
  578. package/dist/SummaryList/index.d.ts +3 -0
  579. package/dist/SummaryList/index.d.ts.map +1 -0
  580. package/dist/SummaryList/index.js +2 -0
  581. package/dist/SummaryList/index.js.map +1 -0
  582. package/dist/Table/Table.css +243 -0
  583. package/dist/Table/Table.d.ts +61 -0
  584. package/dist/Table/Table.d.ts.map +1 -0
  585. package/dist/Table/Table.js +37 -0
  586. package/dist/Table/Table.js.map +1 -0
  587. package/dist/Table/index.d.ts +3 -0
  588. package/dist/Table/index.d.ts.map +1 -0
  589. package/dist/Table/index.js +2 -0
  590. package/dist/Table/index.js.map +1 -0
  591. package/dist/TelephoneInput/TelephoneInput.css +4 -0
  592. package/dist/TelephoneInput/TelephoneInput.d.ts +38 -0
  593. package/dist/TelephoneInput/TelephoneInput.d.ts.map +1 -0
  594. package/dist/TelephoneInput/TelephoneInput.js +27 -0
  595. package/dist/TelephoneInput/TelephoneInput.js.map +1 -0
  596. package/dist/TelephoneInput/index.d.ts +3 -0
  597. package/dist/TelephoneInput/index.d.ts.map +1 -0
  598. package/dist/TelephoneInput/index.js +2 -0
  599. package/dist/TelephoneInput/index.js.map +1 -0
  600. package/dist/TextArea/TextArea.css +126 -0
  601. package/dist/TextArea/TextArea.d.ts +44 -0
  602. package/dist/TextArea/TextArea.d.ts.map +1 -0
  603. package/dist/TextArea/TextArea.js +33 -0
  604. package/dist/TextArea/TextArea.js.map +1 -0
  605. package/dist/TextArea/index.d.ts +3 -0
  606. package/dist/TextArea/index.d.ts.map +1 -0
  607. package/dist/TextArea/index.js +2 -0
  608. package/dist/TextArea/index.js.map +1 -0
  609. package/dist/TextInput/TextInput.css +122 -0
  610. package/dist/TextInput/TextInput.d.ts +44 -0
  611. package/dist/TextInput/TextInput.d.ts.map +1 -0
  612. package/dist/TextInput/TextInput.js +33 -0
  613. package/dist/TextInput/TextInput.js.map +1 -0
  614. package/dist/TextInput/index.d.ts +3 -0
  615. package/dist/TextInput/index.d.ts.map +1 -0
  616. package/dist/TextInput/index.js +2 -0
  617. package/dist/TextInput/index.js.map +1 -0
  618. package/dist/TimeInput/TimeInput.css +37 -0
  619. package/dist/TimeInput/TimeInput.d.ts +37 -0
  620. package/dist/TimeInput/TimeInput.d.ts.map +1 -0
  621. package/dist/TimeInput/TimeInput.js +52 -0
  622. package/dist/TimeInput/TimeInput.js.map +1 -0
  623. package/dist/TimeInput/index.d.ts +3 -0
  624. package/dist/TimeInput/index.d.ts.map +1 -0
  625. package/dist/TimeInput/index.js +2 -0
  626. package/dist/TimeInput/index.js.map +1 -0
  627. package/dist/UnorderedList/UnorderedList.css +38 -0
  628. package/dist/UnorderedList/UnorderedList.d.ts +26 -0
  629. package/dist/UnorderedList/UnorderedList.d.ts.map +1 -0
  630. package/dist/UnorderedList/UnorderedList.js +22 -0
  631. package/dist/UnorderedList/UnorderedList.js.map +1 -0
  632. package/dist/UnorderedList/index.d.ts +3 -0
  633. package/dist/UnorderedList/index.d.ts.map +1 -0
  634. package/dist/UnorderedList/index.js +2 -0
  635. package/dist/UnorderedList/index.js.map +1 -0
  636. package/dist/index.css +7036 -0
  637. package/dist/index.d.ts +76 -0
  638. package/dist/index.d.ts.map +1 -0
  639. package/dist/index.js +86 -0
  640. package/dist/index.js.map +1 -0
  641. package/package.json +57 -0
@@ -0,0 +1,98 @@
1
+ /**
2
+ * DotBadge Component
3
+ * Kleine gekleurde stip die bij een Button of Link wordt geplaatst om
4
+ * zonder label of getal de aandacht te trekken bij een statuswijziging.
5
+ *
6
+ * Altijd aria-hidden="true" — context via dsn-visually-hidden in de parent.
7
+ * Parent-wrapper heeft position: relative nodig.
8
+ *
9
+ * Usage:
10
+ * <!-- Basis dot (negative, meest gebruikt) -->
11
+ * <span class="dsn-dot-badge dsn-dot-badge--negative" aria-hidden="true"></span>
12
+ *
13
+ * <!-- Met pulse-effect voor urgente statuswijzigingen -->
14
+ * <span class="dsn-dot-badge dsn-dot-badge--negative dsn-dot-badge--pulse" aria-hidden="true"></span>
15
+ *
16
+ * <!-- Positive variant -->
17
+ * <span class="dsn-dot-badge dsn-dot-badge--positive" aria-hidden="true"></span>
18
+ *
19
+ * <!-- Info variant -->
20
+ * <span class="dsn-dot-badge dsn-dot-badge--info" aria-hidden="true"></span>
21
+ *
22
+ * <!-- Warning variant -->
23
+ * <span class="dsn-dot-badge dsn-dot-badge--warning" aria-hidden="true"></span>
24
+ *
25
+ * <!-- Neutral variant -->
26
+ * <span class="dsn-dot-badge dsn-dot-badge--neutral" aria-hidden="true"></span>
27
+ */
28
+
29
+ .dsn-dot-badge {
30
+ display: block;
31
+ position: absolute;
32
+ inline-size: var(--dsn-dot-badge-size);
33
+ block-size: var(--dsn-dot-badge-size);
34
+ border-radius: 50%;
35
+ background-color: var(--dsn-dot-badge-color);
36
+ inset-block-start: var(--dsn-dot-badge-inset-block-start);
37
+ inset-inline-end: var(--dsn-dot-badge-inset-inline-end);
38
+ }
39
+
40
+ /* Variant kleuren — inverse-bg-default: de gevulde dot is een achtergrond-element,
41
+ geen tekst. inverse-bg-default is de vivid kleur die zowel op lichte als donkere
42
+ achtergronden leesbaar is als dot. In een inverse context (zie page-header.css)
43
+ wordt overgeschakeld naar bg-default (lichte pastelkleur) voor hoog contrast op
44
+ donkere achtergronden. */
45
+ .dsn-dot-badge--negative {
46
+ --dsn-dot-badge-color: var(--dsn-color-negative-inverse-bg-default);
47
+ }
48
+
49
+ .dsn-dot-badge--positive {
50
+ --dsn-dot-badge-color: var(--dsn-color-positive-inverse-bg-default);
51
+ }
52
+
53
+ .dsn-dot-badge--warning {
54
+ --dsn-dot-badge-color: var(--dsn-color-warning-inverse-bg-default);
55
+ }
56
+
57
+ .dsn-dot-badge--info {
58
+ --dsn-dot-badge-color: var(--dsn-color-info-inverse-bg-default);
59
+ }
60
+
61
+ .dsn-dot-badge--neutral {
62
+ --dsn-dot-badge-color: var(--dsn-color-neutral-inverse-bg-default);
63
+ }
64
+
65
+ /* Pulse-effect via ::before pseudo-element — geen extra DOM-nodes nodig */
66
+ .dsn-dot-badge--pulse::before {
67
+ content: '';
68
+ display: block;
69
+ position: absolute;
70
+ inset: 0;
71
+ border-radius: 50%;
72
+ background-color: var(--dsn-dot-badge-color);
73
+ animation: dsn-dot-badge-pulse var(--dsn-dot-badge-pulse-duration)
74
+ var(--dsn-dot-badge-pulse-easing) infinite;
75
+ }
76
+
77
+ @keyframes dsn-dot-badge-pulse {
78
+ 0% {
79
+ transform: scale(1);
80
+ opacity: 0.8;
81
+ }
82
+ 70% {
83
+ transform: scale(2.5);
84
+ opacity: 0;
85
+ }
86
+ 100% {
87
+ transform: scale(2.5);
88
+ opacity: 0;
89
+ }
90
+ }
91
+
92
+ /* Animatie respecteert prefers-reduced-motion — dot blijft zichtbaar */
93
+ @media (prefers-reduced-motion: reduce) {
94
+ .dsn-dot-badge--pulse::before {
95
+ animation: none;
96
+ }
97
+ }
98
+
@@ -0,0 +1,40 @@
1
+ import React from 'react';
2
+ import './DotBadge.css';
3
+ export type DotBadgeVariant = 'negative' | 'positive' | 'warning' | 'info' | 'neutral';
4
+ export interface DotBadgeProps extends React.HTMLAttributes<HTMLSpanElement> {
5
+ /**
6
+ * Signaalkleur van de stip
7
+ * @default 'negative'
8
+ */
9
+ variant?: DotBadgeVariant;
10
+ /**
11
+ * Voegt een pulserend ring-effect toe om extra aandacht te trekken
12
+ * @default false
13
+ */
14
+ pulse?: boolean;
15
+ }
16
+ /**
17
+ * DotBadge component
18
+ * Kleine gekleurde stip die bij een Button of Link wordt geplaatst om
19
+ * zonder label of getal de aandacht te trekken bij een statuswijziging.
20
+ *
21
+ * Altijd aria-hidden="true" — context via dsn-visually-hidden in de parent.
22
+ * Parent-wrapper heeft position: relative nodig.
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * // Basis gebruik — negatieve dot bij een icon-only Button
27
+ * <div style={{ position: 'relative', display: 'inline-flex' }}>
28
+ * <Button variant="subtle" iconOnly iconStart={<Icon name="inbox" aria-hidden />}>
29
+ * Inbox
30
+ * <span className="dsn-visually-hidden">, 3 ongelezen berichten</span>
31
+ * </Button>
32
+ * <DotBadge variant="negative" />
33
+ * </div>
34
+ *
35
+ * // Met pulse-effect voor urgente statuswijzigingen
36
+ * <DotBadge variant="negative" pulse />
37
+ * ```
38
+ */
39
+ export declare const DotBadge: React.ForwardRefExoticComponent<DotBadgeProps & React.RefAttributes<HTMLSpanElement>>;
40
+ //# sourceMappingURL=DotBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DotBadge.d.ts","sourceRoot":"","sources":["../../src/DotBadge/DotBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,gBAAgB,CAAC;AAExB,MAAM,MAAM,eAAe,GACvB,UAAU,GACV,UAAU,GACV,SAAS,GACT,MAAM,GACN,SAAS,CAAC;AAEd,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IAC1E;;;OAGG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAE1B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,QAAQ,uFAWpB,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { classNames } from '@dsn-starter-kit/core';
4
+ import './DotBadge.css';
5
+ /**
6
+ * DotBadge component
7
+ * Kleine gekleurde stip die bij een Button of Link wordt geplaatst om
8
+ * zonder label of getal de aandacht te trekken bij een statuswijziging.
9
+ *
10
+ * Altijd aria-hidden="true" — context via dsn-visually-hidden in de parent.
11
+ * Parent-wrapper heeft position: relative nodig.
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * // Basis gebruik — negatieve dot bij een icon-only Button
16
+ * <div style={{ position: 'relative', display: 'inline-flex' }}>
17
+ * <Button variant="subtle" iconOnly iconStart={<Icon name="inbox" aria-hidden />}>
18
+ * Inbox
19
+ * <span className="dsn-visually-hidden">, 3 ongelezen berichten</span>
20
+ * </Button>
21
+ * <DotBadge variant="negative" />
22
+ * </div>
23
+ *
24
+ * // Met pulse-effect voor urgente statuswijzigingen
25
+ * <DotBadge variant="negative" pulse />
26
+ * ```
27
+ */
28
+ export const DotBadge = React.forwardRef(({ className, variant = 'negative', pulse = false, ...props }, ref) => {
29
+ const classes = classNames('dsn-dot-badge', `dsn-dot-badge--${variant}`, pulse && 'dsn-dot-badge--pulse', className);
30
+ return _jsx("span", { ref: ref, className: classes, "aria-hidden": "true", ...props });
31
+ });
32
+ DotBadge.displayName = 'DotBadge';
33
+ //# sourceMappingURL=DotBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DotBadge.js","sourceRoot":"","sources":["../../src/DotBadge/DotBadge.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,gBAAgB,CAAC;AAuBxB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CACtC,CAAC,EAAE,SAAS,EAAE,OAAO,GAAG,UAAU,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACpE,MAAM,OAAO,GAAG,UAAU,CACxB,eAAe,EACf,kBAAkB,OAAO,EAAE,EAC3B,KAAK,IAAI,sBAAsB,EAC/B,SAAS,CACV,CAAC;IAEF,OAAO,eAAM,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,iBAAc,MAAM,KAAK,KAAK,GAAI,CAAC;AAC9E,CAAC,CACF,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './DotBadge';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/DotBadge/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './DotBadge';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DotBadge/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,258 @@
1
+ /* ===== Drawer ===== */
2
+
3
+ /*
4
+ * dsn-drawer — Zijpaneel dat vanuit links of rechts de viewport inschuift
5
+ *
6
+ * Gebaseerd op het native <dialog> element.
7
+ * Modaal (modal prop): openen via .showModal() — natieve focus-trap + ::backdrop.
8
+ * Non-modaal: openen via .show() — achtergrond blijft interactief.
9
+ *
10
+ * HTML-structuur:
11
+ *
12
+ * <dialog class="dsn-drawer dsn-drawer--side-right" aria-labelledby="drawer-title">
13
+ * <div class="dsn-drawer__header">
14
+ * <h2 class="dsn-drawer-heading" id="drawer-title">Titel</h2>
15
+ * <button type="button" class="dsn-button dsn-button--subtle dsn-button--size-small dsn-button--icon-only">
16
+ * <svg class="dsn-icon" aria-hidden="true"><!-- x --></svg>
17
+ * <span class="dsn-button__label">Sluiten</span>
18
+ * </button>
19
+ * </div>
20
+ * <div class="dsn-drawer__body">
21
+ * <!-- inhoud -->
22
+ * </div>
23
+ * <div class="dsn-drawer__footer">
24
+ * <div class="dsn-action-group">
25
+ * <!-- knoppen -->
26
+ * </div>
27
+ * </div>
28
+ * </dialog>
29
+ */
30
+
31
+ .dsn-drawer {
32
+ /* Reset native <dialog> styling */
33
+ border: none;
34
+ box-shadow: var(--dsn-drawer-box-shadow);
35
+ background: var(--dsn-drawer-background-color);
36
+ padding: 0;
37
+
38
+ /* Grootte */
39
+ inline-size: min(
40
+ var(--dsn-drawer-max-width),
41
+ calc(100svw - var(--dsn-drawer-min-gap))
42
+ );
43
+ block-size: 100svh;
44
+ max-block-size: 100svh;
45
+
46
+ /* Positionering — override UA's auto-centrering voor zowel modal als non-modal */
47
+ position: fixed;
48
+ inset-block: 0;
49
+ margin-block: 0;
50
+
51
+ /* Altijd flex-direction column, ook tijdens sluitanimatie */
52
+ flex-direction: column;
53
+
54
+ /* Animatietransitie (ook voor sluitanimatie) */
55
+ opacity: 1;
56
+ transform: translateX(0);
57
+ transition:
58
+ opacity var(--dsn-transition-duration-normal)
59
+ var(--dsn-transition-easing-default),
60
+ transform var(--dsn-transition-duration-normal)
61
+ var(--dsn-transition-easing-default),
62
+ display var(--dsn-transition-duration-normal)
63
+ var(--dsn-transition-easing-default) allow-discrete,
64
+ overlay var(--dsn-transition-duration-normal)
65
+ var(--dsn-transition-easing-default) allow-discrete;
66
+ }
67
+
68
+ /*
69
+ * Flexbox layout alleen bij open staat.
70
+ * Gebruik [open] zodat de UA-stylesheet's display:none van kracht blijft
71
+ * wanneer de drawer gesloten is — anders overschrijft display:flex de UA.
72
+ */
73
+ .dsn-drawer[open] {
74
+ display: flex;
75
+ }
76
+
77
+ /* Animatie uitschakelen bij prefers-reduced-motion */
78
+ @media (prefers-reduced-motion: reduce) {
79
+ .dsn-drawer {
80
+ transition: none;
81
+ }
82
+ }
83
+
84
+ /* ===== Side: Right (standaard) ===== */
85
+
86
+ .dsn-drawer--side-right {
87
+ right: 0;
88
+ left: auto;
89
+
90
+ /* Alleen de rand aan de kant van de pagina (links) */
91
+ border-inline-start: var(--dsn-drawer-border-width) solid
92
+ var(--dsn-drawer-border-color);
93
+ }
94
+
95
+ /* Openingsanimatie rechts: start buiten beeld rechts */
96
+ @starting-style {
97
+ .dsn-drawer--side-right[open] {
98
+ opacity: 0;
99
+ transform: translateX(100%);
100
+ }
101
+ }
102
+
103
+ /* Native backdrop (alleen bij .showModal()) */
104
+ .dsn-drawer--side-right::backdrop {
105
+ background: var(--dsn-backdrop-background, rgba(0, 0, 0, 0.5));
106
+ backdrop-filter: var(--dsn-backdrop-blur, blur(2px));
107
+ opacity: 1;
108
+ transition:
109
+ opacity var(--dsn-transition-duration-normal)
110
+ var(--dsn-transition-easing-default),
111
+ display var(--dsn-transition-duration-normal)
112
+ var(--dsn-transition-easing-default) allow-discrete,
113
+ overlay var(--dsn-transition-duration-normal)
114
+ var(--dsn-transition-easing-default) allow-discrete;
115
+ }
116
+
117
+ @starting-style {
118
+ .dsn-drawer--side-right[open]::backdrop {
119
+ opacity: 0;
120
+ }
121
+ }
122
+
123
+ @media (prefers-reduced-motion: reduce) {
124
+ .dsn-drawer--side-right::backdrop {
125
+ transition: none;
126
+ }
127
+ }
128
+
129
+ /* ===== Side: Left ===== */
130
+
131
+ .dsn-drawer--side-left {
132
+ left: 0;
133
+ right: auto;
134
+
135
+ /* Alleen de rand aan de kant van de pagina (rechts) */
136
+ border-inline-end: var(--dsn-drawer-border-width) solid
137
+ var(--dsn-drawer-border-color);
138
+ }
139
+
140
+ /* Openingsanimatie links: start buiten beeld links */
141
+ @starting-style {
142
+ .dsn-drawer--side-left[open] {
143
+ opacity: 0;
144
+ transform: translateX(-100%);
145
+ }
146
+ }
147
+
148
+ /* Native backdrop (alleen bij .showModal()) */
149
+ .dsn-drawer--side-left::backdrop {
150
+ background: var(--dsn-backdrop-background, rgba(0, 0, 0, 0.5));
151
+ backdrop-filter: var(--dsn-backdrop-blur, blur(2px));
152
+ opacity: 1;
153
+ transition:
154
+ opacity var(--dsn-transition-duration-normal)
155
+ var(--dsn-transition-easing-default),
156
+ display var(--dsn-transition-duration-normal)
157
+ var(--dsn-transition-easing-default) allow-discrete,
158
+ overlay var(--dsn-transition-duration-normal)
159
+ var(--dsn-transition-easing-default) allow-discrete;
160
+ }
161
+
162
+ @starting-style {
163
+ .dsn-drawer--side-left[open]::backdrop {
164
+ opacity: 0;
165
+ }
166
+ }
167
+
168
+ @media (prefers-reduced-motion: reduce) {
169
+ .dsn-drawer--side-left::backdrop {
170
+ transition: none;
171
+ }
172
+ }
173
+
174
+ /* ===== Header ===== */
175
+
176
+ .dsn-drawer__header {
177
+ display: flex;
178
+ align-items: center;
179
+ gap: var(--dsn-space-inline-xl);
180
+ flex-shrink: 0;
181
+
182
+ padding-block-start: var(--dsn-drawer-header-padding-block-start);
183
+ padding-block-end: var(--dsn-drawer-header-padding-block-end);
184
+ padding-inline: var(--dsn-drawer-header-padding-inline);
185
+
186
+ /* Scheidingslijn onder de header */
187
+ border-block-end: var(--dsn-drawer-border-width) solid
188
+ var(--dsn-drawer-border-color);
189
+ }
190
+
191
+ /* ===== Heading ===== */
192
+
193
+ .dsn-drawer-heading {
194
+ flex: 1;
195
+ margin: 0;
196
+
197
+ font-family: var(--dsn-drawer-heading-font-family);
198
+ font-weight: var(--dsn-drawer-heading-font-weight);
199
+ font-size: var(--dsn-drawer-heading-font-size);
200
+ line-height: var(--dsn-drawer-heading-line-height);
201
+ color: var(--dsn-drawer-heading-color);
202
+ }
203
+
204
+ /* ===== Body met scroll-affordance ===== */
205
+ /*
206
+ * Scroll-affordance schaduw (Lea Verou techniek — verticale variant):
207
+ * - Dekkende overlagen (background-attachment: local) scrollen mee met de content
208
+ * en verbergen de schaduwen wanneer je aan het begin of einde bent.
209
+ * - Schaduw-overlagen (background-attachment: scroll) blijven gefixeerd.
210
+ * - Resultaat: schaduw is zichtbaar zodra er content is om naartoe te scrollen.
211
+ *
212
+ * ⚠️ Vereist dat de achtergrondkleur overeenkomt met de drawer-achtergrond.
213
+ */
214
+
215
+ .dsn-drawer__body {
216
+ --_bg: var(--dsn-drawer-background-color);
217
+ --_shadow: var(--dsn-color-shadow-scroll, rgba(0, 0, 0, 0.12));
218
+
219
+ flex: 1;
220
+ overflow-y: auto;
221
+
222
+ padding-block: var(--dsn-drawer-body-padding-block);
223
+ padding-inline: var(--dsn-drawer-body-padding-inline);
224
+
225
+ background-color: var(--_bg);
226
+ background-image:
227
+ /* Top-cover (local): verbergt de bovenschaduw als je helemaal boven bent */
228
+ linear-gradient(to bottom, var(--_bg) 0%, transparent 100%),
229
+ /* Onder-cover (local): verbergt de onderschaduw als je helemaal onder bent */
230
+ linear-gradient(to top, var(--_bg) 0%, transparent 100%),
231
+ /* Bovenschaduw (scroll): altijd aanwezig */
232
+ linear-gradient(to bottom, var(--_shadow) 0%, transparent 100%),
233
+ /* Onderschaduw (scroll): altijd aanwezig */
234
+ linear-gradient(to top, var(--_shadow) 0%, transparent 100%);
235
+ background-repeat: no-repeat;
236
+ background-size:
237
+ 100% 4rem,
238
+ 100% 4rem,
239
+ 100% 2rem,
240
+ 100% 2rem;
241
+ background-position: top, bottom, top, bottom;
242
+ background-attachment: local, local, scroll, scroll;
243
+ }
244
+
245
+ /* ===== Footer ===== */
246
+
247
+ .dsn-drawer__footer {
248
+ flex-shrink: 0;
249
+
250
+ padding-block-start: var(--dsn-drawer-footer-padding-block-start);
251
+ padding-block-end: var(--dsn-drawer-footer-padding-block-end);
252
+ padding-inline: var(--dsn-drawer-footer-padding-inline);
253
+
254
+ /* Scheidingslijn boven de footer */
255
+ border-block-start: var(--dsn-drawer-border-width) solid
256
+ var(--dsn-drawer-border-color);
257
+ }
258
+
@@ -0,0 +1,109 @@
1
+ import React from 'react';
2
+ import './Drawer.css';
3
+ export interface DrawerProps extends Omit<React.HTMLAttributes<HTMLDialogElement>, 'children'> {
4
+ /**
5
+ * Bepaalt of het zijpaneel getoond wordt.
6
+ */
7
+ isOpen: boolean;
8
+ /**
9
+ * Callback die wordt aangeroepen wanneer het zijpaneel sluit
10
+ * (sluitknop, Escape-toets).
11
+ */
12
+ onClose?: () => void;
13
+ /**
14
+ * Modaal of non-modaal gedrag.
15
+ * - `true` (standaard): opent via `.showModal()` — achtergrond geblokkeerd,
16
+ * natieve focus-trap, Escape sluit via `cancel`-event.
17
+ * - `false`: opent via `.show()` — achtergrond blijft interactief,
18
+ * Escape sluit via `keydown`-listener.
19
+ * @default true
20
+ */
21
+ modal?: boolean;
22
+ /**
23
+ * De kant van de viewport vanwaar het zijpaneel inschuift.
24
+ * @default "right"
25
+ */
26
+ side?: 'right' | 'left';
27
+ /**
28
+ * De subcomponenten van het zijpaneel:
29
+ * `DrawerHeader`, `DrawerBody`, `DrawerFooter`
30
+ */
31
+ children?: React.ReactNode;
32
+ }
33
+ /**
34
+ * Drawer component
35
+ * Zijpaneel dat vanuit links of rechts de viewport inschuift.
36
+ *
37
+ * Gebruik `modal={true}` (standaard) voor gefocuste taken waarbij de achtergrond
38
+ * geblokkeerd moet worden. Gebruik `modal={false}` als de gebruiker de achtergrondpagina
39
+ * nodig heeft voor context.
40
+ *
41
+ * @example
42
+ * ```tsx
43
+ * <Drawer isOpen={isOpen} onClose={() => setIsOpen(false)}>
44
+ * <DrawerHeader>
45
+ * <DrawerHeading>Filteropties</DrawerHeading>
46
+ * </DrawerHeader>
47
+ * <DrawerBody>
48
+ * <Paragraph>Inhoud van het zijpaneel</Paragraph>
49
+ * </DrawerBody>
50
+ * <DrawerFooter>
51
+ * <ActionGroup>
52
+ * <Button variant="strong" onClick={() => setIsOpen(false)}>Toepassen</Button>
53
+ * <Button variant="default" onClick={() => setIsOpen(false)}>Annuleren</Button>
54
+ * </ActionGroup>
55
+ * </DrawerFooter>
56
+ * </Drawer>
57
+ * ```
58
+ */
59
+ export declare const Drawer: React.ForwardRefExoticComponent<DrawerProps & React.RefAttributes<HTMLDialogElement>>;
60
+ export interface DrawerHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
61
+ /**
62
+ * Inhoud van de header — doorgaans een `DrawerHeading`
63
+ */
64
+ children?: React.ReactNode;
65
+ }
66
+ /**
67
+ * DrawerHeader
68
+ * De headerstrook van het zijpaneel met heading en sluitknop.
69
+ */
70
+ export declare const DrawerHeader: React.ForwardRefExoticComponent<DrawerHeaderProps & React.RefAttributes<HTMLDivElement>>;
71
+ export interface DrawerHeadingProps extends React.HTMLAttributes<HTMLHeadingElement> {
72
+ /**
73
+ * Semantisch heading-niveau. Kies op basis van documenthiërarchie, niet visuele grootte.
74
+ * @default 2
75
+ */
76
+ level?: 1 | 2 | 3 | 4 | 5 | 6;
77
+ /**
78
+ * De zichtbare heading-tekst
79
+ */
80
+ children?: React.ReactNode;
81
+ }
82
+ /**
83
+ * DrawerHeading
84
+ * De heading van het zijpaneel. ID wordt automatisch gegenereerd voor aria-labelledby.
85
+ */
86
+ export declare const DrawerHeading: React.ForwardRefExoticComponent<DrawerHeadingProps & React.RefAttributes<HTMLHeadingElement>>;
87
+ export interface DrawerBodyProps extends React.HTMLAttributes<HTMLDivElement> {
88
+ /**
89
+ * De hoofdinhoud van het zijpaneel
90
+ */
91
+ children?: React.ReactNode;
92
+ }
93
+ /**
94
+ * DrawerBody
95
+ * De scrollbare inhoudssectie van het zijpaneel met scroll-affordance schaduw.
96
+ */
97
+ export declare const DrawerBody: React.ForwardRefExoticComponent<DrawerBodyProps & React.RefAttributes<HTMLDivElement>>;
98
+ export interface DrawerFooterProps extends React.HTMLAttributes<HTMLDivElement> {
99
+ /**
100
+ * De acties van het zijpaneel — doorgaans een `ActionGroup` met knoppen
101
+ */
102
+ children?: React.ReactNode;
103
+ }
104
+ /**
105
+ * DrawerFooter
106
+ * De voettekst van het zijpaneel met actieknoppen.
107
+ */
108
+ export declare const DrawerFooter: React.ForwardRefExoticComponent<DrawerFooterProps & React.RefAttributes<HTMLDivElement>>;
109
+ //# sourceMappingURL=Drawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Drawer.d.ts","sourceRoot":"","sources":["../../src/Drawer/Drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,cAAc,CAAC;AAmBtB,MAAM,WAAW,WAAY,SAAQ,IAAI,CACvC,KAAK,CAAC,cAAc,CAAC,iBAAiB,CAAC,EACvC,UAAU,CACX;IACC;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;OAGG;IACH,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,MAAM,uFA2ElB,CAAC;AAQF,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC7E;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,0FAuBxB,CAAC;AAQF,MAAM,WAAW,kBAAmB,SAAQ,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC;IAClF;;;OAGG;IACH,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,+FAiBxB,CAAC;AAQH,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC3E;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,wFAYtB,CAAC;AAQF,MAAM,WAAW,iBAAkB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC7E;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,0FAYxB,CAAC"}
@@ -0,0 +1,115 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { classNames } from '@dsn-starter-kit/core';
4
+ import { Button } from '../Button';
5
+ import { Icon } from '../Icon';
6
+ import './Drawer.css';
7
+ const DrawerContext = React.createContext({
8
+ headingId: '',
9
+ });
10
+ /**
11
+ * Drawer component
12
+ * Zijpaneel dat vanuit links of rechts de viewport inschuift.
13
+ *
14
+ * Gebruik `modal={true}` (standaard) voor gefocuste taken waarbij de achtergrond
15
+ * geblokkeerd moet worden. Gebruik `modal={false}` als de gebruiker de achtergrondpagina
16
+ * nodig heeft voor context.
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * <Drawer isOpen={isOpen} onClose={() => setIsOpen(false)}>
21
+ * <DrawerHeader>
22
+ * <DrawerHeading>Filteropties</DrawerHeading>
23
+ * </DrawerHeader>
24
+ * <DrawerBody>
25
+ * <Paragraph>Inhoud van het zijpaneel</Paragraph>
26
+ * </DrawerBody>
27
+ * <DrawerFooter>
28
+ * <ActionGroup>
29
+ * <Button variant="strong" onClick={() => setIsOpen(false)}>Toepassen</Button>
30
+ * <Button variant="default" onClick={() => setIsOpen(false)}>Annuleren</Button>
31
+ * </ActionGroup>
32
+ * </DrawerFooter>
33
+ * </Drawer>
34
+ * ```
35
+ */
36
+ export const Drawer = React.forwardRef(({ className, isOpen, onClose, modal = true, side = 'right', children, ...props }, ref) => {
37
+ const internalRef = React.useRef(null);
38
+ const dialogRef = ref ?? internalRef;
39
+ const headingId = React.useId();
40
+ React.useEffect(() => {
41
+ const dialog = dialogRef.current;
42
+ if (!dialog)
43
+ return;
44
+ if (isOpen && !dialog.open) {
45
+ if (modal) {
46
+ dialog.showModal();
47
+ }
48
+ else {
49
+ dialog.show();
50
+ }
51
+ }
52
+ else if (!isOpen && dialog.open) {
53
+ dialog.close();
54
+ }
55
+ }, [isOpen, modal, dialogRef]);
56
+ // Non-modaal: handmatige Escape-afhandeling via keydown
57
+ React.useEffect(() => {
58
+ if (modal)
59
+ return;
60
+ const dialog = dialogRef.current;
61
+ if (!dialog || !isOpen)
62
+ return;
63
+ const handleKeyDown = (event) => {
64
+ if (event.key === 'Escape') {
65
+ onClose?.();
66
+ }
67
+ };
68
+ dialog.addEventListener('keydown', handleKeyDown);
69
+ return () => dialog.removeEventListener('keydown', handleKeyDown);
70
+ }, [modal, isOpen, onClose, dialogRef]);
71
+ // Modaal: native cancel-event (Escape via browser)
72
+ const handleCancel = (event) => {
73
+ event.preventDefault();
74
+ onClose?.();
75
+ };
76
+ const classes = classNames('dsn-drawer', side === 'left' ? 'dsn-drawer--side-left' : 'dsn-drawer--side-right', className);
77
+ return (_jsx(DrawerContext.Provider, { value: { headingId, onClose }, children: _jsx("dialog", { ref: dialogRef, className: classes, "aria-labelledby": headingId, onCancel: handleCancel, ...props, children: children }) }));
78
+ });
79
+ Drawer.displayName = 'Drawer';
80
+ /**
81
+ * DrawerHeader
82
+ * De headerstrook van het zijpaneel met heading en sluitknop.
83
+ */
84
+ export const DrawerHeader = React.forwardRef(({ className, children, ...props }, ref) => {
85
+ const { onClose } = React.useContext(DrawerContext);
86
+ return (_jsxs("div", { ref: ref, className: classNames('dsn-drawer__header', className), ...props, children: [children, _jsx(Button, { variant: "subtle", size: "small", iconOnly: true, onClick: onClose, iconStart: _jsx(Icon, { name: "x", "aria-hidden": true }), children: "Sluiten" })] }));
87
+ });
88
+ DrawerHeader.displayName = 'DrawerHeader';
89
+ /**
90
+ * DrawerHeading
91
+ * De heading van het zijpaneel. ID wordt automatisch gegenereerd voor aria-labelledby.
92
+ */
93
+ export const DrawerHeading = React.forwardRef(({ className, level = 2, children, ...props }, ref) => {
94
+ const { headingId } = React.useContext(DrawerContext);
95
+ const Tag = `h${level}`;
96
+ return (_jsx(Tag, { ref: ref, id: headingId, className: classNames('dsn-drawer-heading', className), ...props, children: children }));
97
+ });
98
+ DrawerHeading.displayName = 'DrawerHeading';
99
+ /**
100
+ * DrawerBody
101
+ * De scrollbare inhoudssectie van het zijpaneel met scroll-affordance schaduw.
102
+ */
103
+ export const DrawerBody = React.forwardRef(({ className, children, ...props }, ref) => {
104
+ return (_jsx("div", { ref: ref, className: classNames('dsn-drawer__body', className), ...props, children: children }));
105
+ });
106
+ DrawerBody.displayName = 'DrawerBody';
107
+ /**
108
+ * DrawerFooter
109
+ * De voettekst van het zijpaneel met actieknoppen.
110
+ */
111
+ export const DrawerFooter = React.forwardRef(({ className, children, ...props }, ref) => {
112
+ return (_jsx("div", { ref: ref, className: classNames('dsn-drawer__footer', className), ...props, children: children }));
113
+ });
114
+ DrawerFooter.displayName = 'DrawerFooter';
115
+ //# sourceMappingURL=Drawer.js.map