@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,59 @@
1
+ /**
2
+ * SearchInput Component Styles
3
+ * Wrapper positions the search icon inline-start inside the input.
4
+ * The input uses dsn-text-input base styles with extra padding-inline-start
5
+ * to prevent typed text from overlapping the icon.
6
+ */
7
+
8
+ /* Wrapper — positions icon absolutely inside the input */
9
+ .dsn-search-input-wrapper {
10
+ position: relative;
11
+ display: block;
12
+ inline-size: 100%;
13
+ max-inline-size: var(--dsn-form-control-max-inline-size);
14
+ }
15
+
16
+ /* Icon — centered vertically, positioned at inline-start */
17
+ .dsn-search-input__icon {
18
+ position: absolute;
19
+ inset-block-start: 50%;
20
+ inset-inline-start: var(--dsn-form-control-padding-inline-start);
21
+ transform: translateY(-50%);
22
+ inline-size: var(--dsn-search-input-icon-size);
23
+ block-size: var(--dsn-search-input-icon-size);
24
+ color: var(--dsn-text-input-color);
25
+ pointer-events: none;
26
+ }
27
+
28
+ /* Input — extra padding-inline-start to make room for the icon */
29
+ .dsn-search-input {
30
+ padding-inline-start: var(--dsn-search-input-padding-inline-start-with-icon);
31
+ }
32
+
33
+ /* Hide browser-native clear button — will be implemented as a separate pattern */
34
+ .dsn-search-input::-webkit-search-cancel-button {
35
+ display: none;
36
+ }
37
+ .dsn-search-input::-webkit-search-decoration {
38
+ display: none;
39
+ }
40
+
41
+ /* Width variants on the wrapper */
42
+ .dsn-search-input-wrapper--width-xs {
43
+ max-inline-size: var(--dsn-form-control-width-xs);
44
+ }
45
+ .dsn-search-input-wrapper--width-sm {
46
+ max-inline-size: var(--dsn-form-control-width-sm);
47
+ }
48
+ .dsn-search-input-wrapper--width-md {
49
+ max-inline-size: var(--dsn-form-control-width-md);
50
+ }
51
+ .dsn-search-input-wrapper--width-lg {
52
+ max-inline-size: var(--dsn-form-control-width-lg);
53
+ }
54
+ .dsn-search-input-wrapper--width-xl {
55
+ max-inline-size: var(--dsn-form-control-width-xl);
56
+ }
57
+ .dsn-search-input-wrapper--width-full {
58
+ max-inline-size: var(--dsn-form-control-width-full);
59
+ }
@@ -0,0 +1,40 @@
1
+ import React from 'react';
2
+ import { FormControlWidth } from '@dsn-starter-kit/core';
3
+ import '../TextInput/TextInput.css';
4
+ import './SearchInput.css';
5
+ export interface SearchInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type'> {
6
+ /**
7
+ * Whether the input is in an invalid state
8
+ * @default false
9
+ */
10
+ invalid?: boolean;
11
+ /**
12
+ * Width variant for the input
13
+ * @default undefined (uses default max-width from form-control)
14
+ */
15
+ width?: FormControlWidth;
16
+ /**
17
+ * Additional CSS class names
18
+ */
19
+ className?: string;
20
+ }
21
+ /**
22
+ * Search Input component
23
+ * Search input with a non-interactive search icon positioned at inline-start.
24
+ * The icon has the same color as the input text (dsn-text-input-color).
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * // Basic usage
29
+ * <SearchInput placeholder="Zoeken..." />
30
+ *
31
+ * // With label
32
+ * <FormFieldLabel htmlFor="search">Zoeken</FormFieldLabel>
33
+ * <SearchInput id="search" />
34
+ *
35
+ * // Invalid state
36
+ * <SearchInput invalid aria-invalid="true" aria-describedby="error" />
37
+ * ```
38
+ */
39
+ export declare const SearchInput: React.ForwardRefExoticComponent<SearchInputProps & React.RefAttributes<HTMLInputElement>>;
40
+ //# sourceMappingURL=SearchInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchInput.d.ts","sourceRoot":"","sources":["../../src/SearchInput/SearchInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAc,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,4BAA4B,CAAC;AACpC,OAAO,mBAAmB,CAAC;AAE3B,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAC5C,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAC3C,MAAM,CACP;IACC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,WAAW,2FAyBvB,CAAC"}
@@ -0,0 +1,31 @@
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 { Icon } from '../Icon';
5
+ import '../TextInput/TextInput.css';
6
+ import './SearchInput.css';
7
+ /**
8
+ * Search Input component
9
+ * Search input with a non-interactive search icon positioned at inline-start.
10
+ * The icon has the same color as the input text (dsn-text-input-color).
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * // Basic usage
15
+ * <SearchInput placeholder="Zoeken..." />
16
+ *
17
+ * // With label
18
+ * <FormFieldLabel htmlFor="search">Zoeken</FormFieldLabel>
19
+ * <SearchInput id="search" />
20
+ *
21
+ * // Invalid state
22
+ * <SearchInput invalid aria-invalid="true" aria-describedby="error" />
23
+ * ```
24
+ */
25
+ export const SearchInput = React.forwardRef(({ className, invalid, width, ...props }, ref) => {
26
+ const wrapperClasses = classNames('dsn-search-input-wrapper', width && `dsn-search-input-wrapper--width-${width}`);
27
+ const inputClasses = classNames('dsn-text-input', 'dsn-search-input', className);
28
+ return (_jsxs("div", { className: wrapperClasses, children: [_jsx(Icon, { name: "search", className: "dsn-search-input__icon", "aria-hidden": true }), _jsx("input", { ref: ref, type: "search", className: inputClasses, "aria-invalid": invalid || undefined, ...props })] }));
29
+ });
30
+ SearchInput.displayName = 'SearchInput';
31
+ //# sourceMappingURL=SearchInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchInput.js","sourceRoot":"","sources":["../../src/SearchInput/SearchInput.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAoB,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,4BAA4B,CAAC;AACpC,OAAO,mBAAmB,CAAC;AAwB3B;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CACzC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC/C,MAAM,cAAc,GAAG,UAAU,CAC/B,0BAA0B,EAC1B,KAAK,IAAI,mCAAmC,KAAK,EAAE,CACpD,CAAC;IACF,MAAM,YAAY,GAAG,UAAU,CAC7B,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,CACV,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAE,cAAc,aAC5B,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,wBAAwB,wBAAe,EACrE,gBACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,YAAY,kBACT,OAAO,IAAI,SAAS,KAC9B,KAAK,GACT,IACE,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,WAAW,CAAC,WAAW,GAAG,aAAa,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { SearchInput } from './SearchInput';
2
+ export type { SearchInputProps } from './SearchInput';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/SearchInput/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { SearchInput } from './SearchInput';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/SearchInput/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Select Component Styles
3
+ * Wrapper positions the chevron-down icon absolutely at inline-end inside the select.
4
+ * The select uses dsn-text-input base styles with extra padding-inline-end
5
+ * to prevent selected text from overlapping the icon.
6
+ * The native dropdown arrow is hidden via appearance: none.
7
+ */
8
+
9
+ /* Wrapper — positions icon absolutely inside the select */
10
+ .dsn-select-wrapper {
11
+ position: relative;
12
+ display: block;
13
+ inline-size: 100%;
14
+ max-inline-size: var(--dsn-form-control-max-inline-size);
15
+ }
16
+
17
+ /* Chevron icon — centered vertically, positioned at inline-end */
18
+ .dsn-select__icon {
19
+ position: absolute;
20
+ inset-block-start: 50%;
21
+ inset-inline-end: var(--dsn-select-icon-inset-inline-end);
22
+ transform: translateY(-50%);
23
+ inline-size: var(--dsn-select-icon-size);
24
+ block-size: var(--dsn-select-icon-size);
25
+ color: var(--dsn-select-icon-color);
26
+ pointer-events: none;
27
+ }
28
+
29
+ /* Select — reset browser defaults, hide native arrow, add padding for custom icon */
30
+ /* Also override :read-only styles from dsn-text-input, because browsers consider
31
+ <select> as :read-only (non-typeable), which incorrectly triggers those styles. */
32
+ /* max-inline-size is set to none so the wrapper controls the width, not the select itself. */
33
+ .dsn-select {
34
+ appearance: none;
35
+ background-color: var(--dsn-text-input-background-color);
36
+ border: var(--dsn-text-input-border-width) solid
37
+ var(--dsn-text-input-border-color);
38
+ color: var(--dsn-text-input-color);
39
+ cursor: pointer;
40
+ max-inline-size: none;
41
+ padding-inline-end: var(--dsn-select-padding-inline-end-with-icon);
42
+ }
43
+
44
+ /* Undo the :read-only styles inherited from dsn-text-input */
45
+ .dsn-select:read-only {
46
+ background-color: var(--dsn-text-input-background-color);
47
+ border-color: var(--dsn-text-input-border-color);
48
+ color: var(--dsn-text-input-color);
49
+ cursor: pointer;
50
+ }
51
+
52
+ .dsn-select:disabled {
53
+ background-color: var(--dsn-text-input-disabled-background-color);
54
+ border-color: var(--dsn-text-input-disabled-border-color);
55
+ cursor: not-allowed;
56
+ }
57
+
58
+ .dsn-select[aria-invalid='true'] {
59
+ background-color: var(--dsn-text-input-invalid-background-color);
60
+ border-color: var(--dsn-text-input-invalid-border-color);
61
+ }
62
+
63
+ /* Remove native arrow in IE/Edge */
64
+ .dsn-select::-ms-expand {
65
+ display: none;
66
+ }
67
+
68
+ /* Width variants on the wrapper */
69
+ .dsn-select-wrapper--width-xs {
70
+ max-inline-size: var(--dsn-form-control-width-xs);
71
+ }
72
+ .dsn-select-wrapper--width-sm {
73
+ max-inline-size: var(--dsn-form-control-width-sm);
74
+ }
75
+ .dsn-select-wrapper--width-md {
76
+ max-inline-size: var(--dsn-form-control-width-md);
77
+ }
78
+ .dsn-select-wrapper--width-lg {
79
+ max-inline-size: var(--dsn-form-control-width-lg);
80
+ }
81
+ .dsn-select-wrapper--width-xl {
82
+ max-inline-size: var(--dsn-form-control-width-xl);
83
+ }
84
+ .dsn-select-wrapper--width-full {
85
+ max-inline-size: var(--dsn-form-control-width-full);
86
+ }
@@ -0,0 +1,52 @@
1
+ import React from 'react';
2
+ import { FormControlWidth } from '@dsn-starter-kit/core';
3
+ import '../TextInput/TextInput.css';
4
+ import './Select.css';
5
+ export interface SelectProps extends React.SelectHTMLAttributes<HTMLSelectElement> {
6
+ /**
7
+ * Whether the select is in an invalid state
8
+ * @default false
9
+ */
10
+ invalid?: boolean;
11
+ /**
12
+ * Width variant for the select
13
+ * @default undefined (uses default max-width from form-control)
14
+ */
15
+ width?: FormControlWidth;
16
+ /**
17
+ * Additional CSS class names
18
+ */
19
+ className?: string;
20
+ }
21
+ /**
22
+ * Select component
23
+ * Dropdown select with a custom chevron-down icon at inline-end.
24
+ * The native select arrow is hidden; the custom icon is decorative and non-interactive.
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * // Basic usage
29
+ * <Select>
30
+ * <option value="">Kies een optie</option>
31
+ * <option value="1">Optie 1</option>
32
+ * <option value="2">Optie 2</option>
33
+ * </Select>
34
+ *
35
+ * // With label
36
+ * <FormField label="Land" htmlFor="land">
37
+ * <Select id="land">
38
+ * <option value="">Kies een land</option>
39
+ * <option value="nl">Nederland</option>
40
+ * <option value="be">België</option>
41
+ * </Select>
42
+ * </FormField>
43
+ *
44
+ * // Width variant
45
+ * <Select width="lg">...</Select>
46
+ *
47
+ * // Invalid state
48
+ * <Select invalid aria-invalid="true" aria-describedby="error">...</Select>
49
+ * ```
50
+ */
51
+ export declare const Select: React.ForwardRefExoticComponent<SelectProps & React.RefAttributes<HTMLSelectElement>>;
52
+ //# sourceMappingURL=Select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAc,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,4BAA4B,CAAC;AACpC,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAChF;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,MAAM,uFA0BlB,CAAC"}
@@ -0,0 +1,43 @@
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 { Icon } from '../Icon';
5
+ import '../TextInput/TextInput.css';
6
+ import './Select.css';
7
+ /**
8
+ * Select component
9
+ * Dropdown select with a custom chevron-down icon at inline-end.
10
+ * The native select arrow is hidden; the custom icon is decorative and non-interactive.
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * // Basic usage
15
+ * <Select>
16
+ * <option value="">Kies een optie</option>
17
+ * <option value="1">Optie 1</option>
18
+ * <option value="2">Optie 2</option>
19
+ * </Select>
20
+ *
21
+ * // With label
22
+ * <FormField label="Land" htmlFor="land">
23
+ * <Select id="land">
24
+ * <option value="">Kies een land</option>
25
+ * <option value="nl">Nederland</option>
26
+ * <option value="be">België</option>
27
+ * </Select>
28
+ * </FormField>
29
+ *
30
+ * // Width variant
31
+ * <Select width="lg">...</Select>
32
+ *
33
+ * // Invalid state
34
+ * <Select invalid aria-invalid="true" aria-describedby="error">...</Select>
35
+ * ```
36
+ */
37
+ export const Select = React.forwardRef(({ className, invalid, width, disabled, children, ...props }, ref) => {
38
+ const wrapperClasses = classNames('dsn-select-wrapper', width && `dsn-select-wrapper--width-${width}`);
39
+ const selectClasses = classNames('dsn-text-input', 'dsn-select', className);
40
+ return (_jsxs("div", { className: wrapperClasses, children: [_jsx("select", { ref: ref, className: selectClasses, "aria-invalid": invalid || undefined, disabled: disabled, ...props, children: children }), !disabled && (_jsx(Icon, { name: "chevron-down", className: "dsn-select__icon", "aria-hidden": true }))] }));
41
+ });
42
+ Select.displayName = 'Select';
43
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Select.js","sourceRoot":"","sources":["../../src/Select/Select.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAoB,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,4BAA4B,CAAC;AACpC,OAAO,cAAc,CAAC;AAqBtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CACpC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IACnE,MAAM,cAAc,GAAG,UAAU,CAC/B,oBAAoB,EACpB,KAAK,IAAI,6BAA6B,KAAK,EAAE,CAC9C,CAAC;IAEF,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAE5E,OAAO,CACL,eAAK,SAAS,EAAE,cAAc,aAC5B,iBACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,aAAa,kBACV,OAAO,IAAI,SAAS,EAClC,QAAQ,EAAE,QAAQ,KACd,KAAK,YAER,QAAQ,GACF,EACR,CAAC,QAAQ,IAAI,CACZ,KAAC,IAAI,IAAC,IAAI,EAAC,cAAc,EAAC,SAAS,EAAC,kBAAkB,wBAAe,CACtE,IACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { Select } from './Select';
2
+ export type { SelectProps } from './Select';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { Select } from './Select';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * SkipLink Component Styles for React
3
+ * Re-exports the base SkipLink styles from components-html
4
+ */
5
+
6
+ /**
7
+ * SkipLink Component
8
+ * Accessibility component — eerste focusbare element op de pagina.
9
+ * Verborgen totdat de gebruiker er met Tab op focust.
10
+ */
11
+
12
+ .dsn-skip-link {
13
+ /* Verborgen standaard — zelfde patroon als dsn-visually-hidden */
14
+ position: absolute;
15
+ clip-path: inset(50%);
16
+ overflow: hidden;
17
+ white-space: nowrap;
18
+
19
+ /* Hoge z-index zodat de link altijd boven andere elementen staat bij focus */
20
+ z-index: var(--dsn-skip-link-z-index);
21
+
22
+ /* Structuur */
23
+ display: inline-block;
24
+
25
+ /* Spacing */
26
+ padding-block: var(--dsn-skip-link-padding-block);
27
+ padding-inline: var(--dsn-skip-link-padding-inline);
28
+
29
+ /* Afronding */
30
+ border-radius: var(--dsn-skip-link-border-radius);
31
+
32
+ /* Typografie */
33
+ font: inherit;
34
+ text-decoration: none;
35
+ }
36
+
37
+ /* Focus state — link wordt zichtbaar en gepositioneerd */
38
+ .dsn-skip-link:focus-visible {
39
+ /* Clip verwijderen zodat de link zichtbaar wordt */
40
+ clip-path: none;
41
+ overflow: visible;
42
+ white-space: normal;
43
+
44
+ /* Positionering in de hoek van het viewport */
45
+ inset-block-start: var(--dsn-skip-link-offset-block-start);
46
+ inset-inline-start: var(--dsn-skip-link-offset-inline-start);
47
+
48
+ /* Focus stijl — consistent met dsn-link focus */
49
+ background-color: var(--dsn-focus-background-color);
50
+ color: var(--dsn-focus-color);
51
+ outline: var(--dsn-focus-outline-width) var(--dsn-focus-outline-style)
52
+ var(--dsn-focus-outline-color);
53
+ outline-offset: var(--dsn-focus-outline-offset);
54
+ box-shadow: 0 0 0
55
+ calc(var(--dsn-focus-outline-offset) + var(--dsn-focus-outline-width))
56
+ var(--dsn-focus-inverse-outline-color);
57
+ }
58
+
@@ -0,0 +1,35 @@
1
+ import React from 'react';
2
+ import './SkipLink.css';
3
+ export interface SkipLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
4
+ /**
5
+ * Het doel-ID waarnaar de gebruiker gesprongen wordt (inclusief `#`).
6
+ * Het element met dit ID moet `tabindex="-1"` hebben als het niet natively focusbaar is.
7
+ * @example "#main-content"
8
+ */
9
+ href: string;
10
+ /**
11
+ * Tekst van de skip-link — zichtbaar voor screenreaders en bij focus.
12
+ * @default "Ga direct naar de hoofdinhoud"
13
+ */
14
+ children?: React.ReactNode;
15
+ /**
16
+ * Extra CSS klassen
17
+ */
18
+ className?: string;
19
+ }
20
+ /**
21
+ * SkipLink — toegankelijkheidskoppeling om herhalende navigatie te omzeilen.
22
+ *
23
+ * Plaatst de link als **eerste focusbaar element** in de DOM, vóór `<header>` en `<nav>`.
24
+ * Voldoet aan WCAG 2.1 succescriterium 2.4.1 (Bypass Blocks, Level A).
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * // Standaard gebruik — eerste element in <body>
29
+ * <SkipLink href="#main-content">Ga direct naar de hoofdinhoud</SkipLink>
30
+ * <header>...</header>
31
+ * <main id="main-content" tabIndex={-1}>...</main>
32
+ * ```
33
+ */
34
+ export declare const SkipLink: React.ForwardRefExoticComponent<SkipLinkProps & React.RefAttributes<HTMLAnchorElement>>;
35
+ //# sourceMappingURL=SkipLink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkipLink.d.ts","sourceRoot":"","sources":["../../src/SkipLink/SkipLink.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,gBAAgB,CAAC;AAExB,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAClF;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,yFAgBpB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { classNames } from '@dsn-starter-kit/core';
4
+ import './SkipLink.css';
5
+ /**
6
+ * SkipLink — toegankelijkheidskoppeling om herhalende navigatie te omzeilen.
7
+ *
8
+ * Plaatst de link als **eerste focusbaar element** in de DOM, vóór `<header>` en `<nav>`.
9
+ * Voldoet aan WCAG 2.1 succescriterium 2.4.1 (Bypass Blocks, Level A).
10
+ *
11
+ * @example
12
+ * ```tsx
13
+ * // Standaard gebruik — eerste element in <body>
14
+ * <SkipLink href="#main-content">Ga direct naar de hoofdinhoud</SkipLink>
15
+ * <header>...</header>
16
+ * <main id="main-content" tabIndex={-1}>...</main>
17
+ * ```
18
+ */
19
+ export const SkipLink = React.forwardRef(({ href, children = 'Ga direct naar de hoofdinhoud', className, ...props }, ref) => {
20
+ return (_jsx("a", { ref: ref, href: href, className: classNames('dsn-skip-link', className), ...props, children: children }));
21
+ });
22
+ SkipLink.displayName = 'SkipLink';
23
+ //# sourceMappingURL=SkipLink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkipLink.js","sourceRoot":"","sources":["../../src/SkipLink/SkipLink.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,gBAAgB,CAAC;AAsBxB;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CACtC,CACE,EAAE,IAAI,EAAE,QAAQ,GAAG,+BAA+B,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EACzE,GAAG,EACH,EAAE;IACF,OAAO,CACL,YACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,KAC7C,KAAK,YAER,QAAQ,GACP,CACL,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,UAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './SkipLink';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/SkipLink/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './SkipLink';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/SkipLink/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Spinner Component
3
+ * Cirkelvormige laadindicator voor onbepaalde wachttijden.
4
+ *
5
+ * role="status" op de container maakt de laadtoestand toegankelijk voor screenreaders.
6
+ * De SVG-cirkel is decoratief (aria-hidden="true") — het label geeft de toegankelijke naam.
7
+ *
8
+ * Usage:
9
+ * <!-- Standaard (label rechts) -->
10
+ * <div class="dsn-spinner" role="status">
11
+ * <svg class="dsn-spinner__circle" viewBox="0 0 24 24" aria-hidden="true">
12
+ * <circle class="dsn-spinner__track" cx="12" cy="12" r="10" />
13
+ * <circle class="dsn-spinner__arc" cx="12" cy="12" r="10" />
14
+ * </svg>
15
+ * <span class="dsn-spinner__label">Laden...</span>
16
+ * </div>
17
+ *
18
+ * <!-- Grote variant (label gecentreerd onder spinner) -->
19
+ * <div class="dsn-spinner dsn-spinner--large" role="status">
20
+ * <svg class="dsn-spinner__circle" viewBox="0 0 24 24" aria-hidden="true">
21
+ * <circle class="dsn-spinner__track" cx="12" cy="12" r="10" />
22
+ * <circle class="dsn-spinner__arc" cx="12" cy="12" r="10" />
23
+ * </svg>
24
+ * <span class="dsn-spinner__label">Laden...</span>
25
+ * </div>
26
+ *
27
+ * <!-- Visueel verborgen label (toegankelijk voor screenreaders via dsn-visually-hidden) -->
28
+ * <div class="dsn-spinner" role="status">
29
+ * <svg class="dsn-spinner__circle" viewBox="0 0 24 24" aria-hidden="true">
30
+ * <circle class="dsn-spinner__track" cx="12" cy="12" r="10" />
31
+ * <circle class="dsn-spinner__arc" cx="12" cy="12" r="10" />
32
+ * </svg>
33
+ * <span class="dsn-spinner__label dsn-visually-hidden">Laden...</span>
34
+ * </div>
35
+ */
36
+
37
+ .dsn-spinner {
38
+ display: inline-flex;
39
+ flex-direction: row;
40
+ align-items: center;
41
+ gap: var(--dsn-spinner-gap-size);
42
+ }
43
+
44
+ .dsn-spinner--large {
45
+ flex-direction: column;
46
+ align-items: center;
47
+ }
48
+
49
+ .dsn-spinner__circle {
50
+ flex-shrink: 0;
51
+ width: var(--dsn-spinner-size);
52
+ height: var(--dsn-spinner-size);
53
+ animation: dsn-spinner-rotate var(--dsn-spinner-duration) linear infinite;
54
+ transform-origin: center;
55
+ }
56
+
57
+ .dsn-spinner--large .dsn-spinner__circle {
58
+ width: var(--dsn-spinner-size-large);
59
+ height: var(--dsn-spinner-size-large);
60
+ }
61
+
62
+ /* Baan: volledige achtergrondcirkel als visuele rails */
63
+ .dsn-spinner__track {
64
+ fill: none;
65
+ stroke: var(--dsn-spinner-track-color);
66
+ stroke-width: var(--dsn-spinner-stroke-width);
67
+ }
68
+
69
+ /* Boog: gedeeltelijke cirkel die de animatie zichtbaar maakt */
70
+ .dsn-spinner__arc {
71
+ fill: none;
72
+ stroke: var(--dsn-spinner-color);
73
+ stroke-width: var(--dsn-spinner-stroke-width);
74
+ stroke-linecap: round;
75
+ /* 75% zichtbaar (47.12 van 62.83 omtrek), 25% gap — bij r=10 in 24-unit viewBox */
76
+ stroke-dasharray: 47 16;
77
+ }
78
+
79
+ @keyframes dsn-spinner-rotate {
80
+ to {
81
+ transform: rotate(360deg);
82
+ }
83
+ }
84
+
85
+ /* prefers-reduced-motion: subtiel pulseren i.p.v. roteren */
86
+ @media (prefers-reduced-motion: reduce) {
87
+ .dsn-spinner__circle {
88
+ animation: dsn-spinner-pulse var(--dsn-spinner-duration) ease-in-out
89
+ infinite alternate;
90
+ }
91
+ }
92
+
93
+ @keyframes dsn-spinner-pulse {
94
+ from {
95
+ opacity: 1;
96
+ }
97
+ to {
98
+ opacity: 0.3;
99
+ }
100
+ }
101
+
@@ -0,0 +1,43 @@
1
+ import React from 'react';
2
+ import './Spinner.css';
3
+ export type SpinnerSize = 'default' | 'large';
4
+ export interface SpinnerProps extends React.HTMLAttributes<HTMLDivElement> {
5
+ /**
6
+ * Tekstlabel dat de laadtoestand beschrijft voor alle gebruikers.
7
+ * Altijd vereist — ook bij hideLabel wordt het label doorgegeven aan screenreaders.
8
+ */
9
+ label: string;
10
+ /**
11
+ * Verbergt het label visueel maar behoudt het voor screenreaders via dsn-visually-hidden
12
+ * @default false
13
+ */
14
+ hideLabel?: boolean;
15
+ /**
16
+ * Grootte van de spinner.
17
+ * default: 24×24px, label rechts.
18
+ * large: 48×48px, label gecentreerd onder de spinner.
19
+ * @default 'default'
20
+ */
21
+ size?: SpinnerSize;
22
+ }
23
+ /**
24
+ * Spinner component
25
+ * Cirkelvormige laadindicator voor onbepaalde wachttijden.
26
+ *
27
+ * role="status" op de container kondigt de laadtoestand aan bij screenreaders.
28
+ * Het label is altijd aanwezig — visueel verbergen via hideLabel behoudt toegankelijkheid.
29
+ *
30
+ * @example
31
+ * ```tsx
32
+ * // Standaard met zichtbaar label
33
+ * <Spinner label="Laden..." />
34
+ *
35
+ * // Grote variant met label onder de spinner
36
+ * <Spinner size="large" label="Pagina wordt geladen" />
37
+ *
38
+ * // Enkel visueel verborgen label (toegankelijk voor screenreaders)
39
+ * <Spinner label="Laden..." hideLabel />
40
+ * ```
41
+ */
42
+ export declare const Spinner: React.ForwardRefExoticComponent<SpinnerProps & React.RefAttributes<HTMLDivElement>>;
43
+ //# sourceMappingURL=Spinner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../src/Spinner/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,eAAe,CAAC;AAEvB,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;AAE9C,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,OAAO,qFA8BnB,CAAC"}