@dynamic-framework/ui-react 2.9.0 → 2.11.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 (478) hide show
  1. package/dist/DPortalStack-6zJm6JoD.js +14 -0
  2. package/dist/DPortalStack-6zJm6JoD.js.map +1 -0
  3. package/dist/DPortalStack-D1-GGU4C.js +12 -0
  4. package/dist/DPortalStack-D1-GGU4C.js.map +1 -0
  5. package/dist/api.json +7429 -0
  6. package/dist/css/dynamic-ui.css +95 -26
  7. package/dist/css/dynamic-ui.min.css +2 -2
  8. package/dist/esm/components/DAlert/DAlert.js +16 -0
  9. package/dist/esm/components/DAlert/DAlert.js.map +1 -0
  10. package/dist/esm/components/DAlert/index.js +6 -0
  11. package/dist/esm/components/DAlert/index.js.map +1 -0
  12. package/dist/esm/components/DAvatar/DAvatar.js +23 -0
  13. package/dist/esm/components/DAvatar/DAvatar.js.map +1 -0
  14. package/dist/esm/components/DAvatar/index.js +6 -0
  15. package/dist/esm/components/DAvatar/index.js.map +1 -0
  16. package/dist/esm/components/DBadge/DBadge.js +31 -0
  17. package/dist/esm/components/DBadge/DBadge.js.map +1 -0
  18. package/dist/esm/components/DBadge/index.js +6 -0
  19. package/dist/esm/components/DBadge/index.js.map +1 -0
  20. package/dist/esm/components/DBox/DBox.js +9 -0
  21. package/dist/esm/components/DBox/DBox.js.map +1 -0
  22. package/dist/esm/components/DBox/index.js +6 -0
  23. package/dist/esm/components/DBox/index.js.map +1 -0
  24. package/dist/esm/components/DBoxFile/DBoxFile.js +26 -0
  25. package/dist/esm/components/DBoxFile/DBoxFile.js.map +1 -0
  26. package/dist/esm/components/DBoxFile/index.js +6 -0
  27. package/dist/esm/components/DBoxFile/index.js.map +1 -0
  28. package/dist/esm/components/DBoxFile/useDBoxFile.js +236 -0
  29. package/dist/esm/components/DBoxFile/useDBoxFile.js.map +1 -0
  30. package/dist/esm/components/DBoxFile/utils.js +127 -0
  31. package/dist/esm/components/DBoxFile/utils.js.map +1 -0
  32. package/dist/esm/components/DButton/DButton.js +84 -0
  33. package/dist/esm/components/DButton/DButton.js.map +1 -0
  34. package/dist/esm/components/DButton/index.js +6 -0
  35. package/dist/esm/components/DButton/index.js.map +1 -0
  36. package/dist/esm/components/DButtonIcon/DButtonIcon.js +55 -0
  37. package/dist/esm/components/DButtonIcon/DButtonIcon.js.map +1 -0
  38. package/dist/esm/components/DButtonIcon/index.js +6 -0
  39. package/dist/esm/components/DButtonIcon/index.js.map +1 -0
  40. package/dist/esm/components/DButtonIcon/warnMissingAccessibleName.js +40 -0
  41. package/dist/esm/components/DButtonIcon/warnMissingAccessibleName.js.map +1 -0
  42. package/dist/esm/components/DCard/DCard.js +17 -0
  43. package/dist/esm/components/DCard/DCard.js.map +1 -0
  44. package/dist/esm/components/DCard/components/DCardBody.js +9 -0
  45. package/dist/esm/components/DCard/components/DCardBody.js.map +1 -0
  46. package/dist/esm/components/DCard/components/DCardFooter.js +9 -0
  47. package/dist/esm/components/DCard/components/DCardFooter.js.map +1 -0
  48. package/dist/esm/components/DCard/components/DCardHeader.js +9 -0
  49. package/dist/esm/components/DCard/components/DCardHeader.js.map +1 -0
  50. package/dist/esm/components/DCard/index.js +9 -0
  51. package/dist/esm/components/DCard/index.js.map +1 -0
  52. package/dist/esm/components/DCarousel/DCarousel.js +39 -0
  53. package/dist/esm/components/DCarousel/DCarousel.js.map +1 -0
  54. package/dist/esm/components/DCarousel/components/DCarouselSlide.js +12 -0
  55. package/dist/esm/components/DCarousel/components/DCarouselSlide.js.map +1 -0
  56. package/dist/esm/components/DCarousel/index.js +7 -0
  57. package/dist/esm/components/DCarousel/index.js.map +1 -0
  58. package/dist/esm/components/DChip/DChip.js +18 -0
  59. package/dist/esm/components/DChip/DChip.js.map +1 -0
  60. package/dist/esm/components/DChip/index.js +6 -0
  61. package/dist/esm/components/DChip/index.js.map +1 -0
  62. package/dist/esm/components/DCollapse/DCollapse.js +30 -0
  63. package/dist/esm/components/DCollapse/DCollapse.js.map +1 -0
  64. package/dist/esm/components/DCollapse/index.js +6 -0
  65. package/dist/esm/components/DCollapse/index.js.map +1 -0
  66. package/dist/esm/components/DConfirmModal/DConfirmModalContainer.js +59 -0
  67. package/dist/esm/components/DConfirmModal/DConfirmModalContainer.js.map +1 -0
  68. package/dist/esm/components/DConfirmModal/DConfirmModalUI.js +39 -0
  69. package/dist/esm/components/DConfirmModal/DConfirmModalUI.js.map +1 -0
  70. package/dist/esm/components/DConfirmModal/confirmModalStore.js +38 -0
  71. package/dist/esm/components/DConfirmModal/confirmModalStore.js.map +1 -0
  72. package/dist/esm/components/DCreditCard/DCreditCard.js +15 -0
  73. package/dist/esm/components/DCreditCard/DCreditCard.js.map +1 -0
  74. package/dist/esm/components/DCreditCard/index.js +6 -0
  75. package/dist/esm/components/DCreditCard/index.js.map +1 -0
  76. package/dist/esm/components/DCurrencyText/DCurrencyText.js +10 -0
  77. package/dist/esm/components/DCurrencyText/DCurrencyText.js.map +1 -0
  78. package/dist/esm/components/DCurrencyText/index.js +6 -0
  79. package/dist/esm/components/DCurrencyText/index.js.map +1 -0
  80. package/dist/esm/components/DDataStateWrapper/DDataStateWrapper.js +42 -0
  81. package/dist/esm/components/DDataStateWrapper/DDataStateWrapper.js.map +1 -0
  82. package/dist/esm/components/DDataStateWrapper/components/EmptyState.js +10 -0
  83. package/dist/esm/components/DDataStateWrapper/components/EmptyState.js.map +1 -0
  84. package/dist/esm/components/DDataStateWrapper/components/ErrorState.js +10 -0
  85. package/dist/esm/components/DDataStateWrapper/components/ErrorState.js.map +1 -0
  86. package/dist/esm/components/DDataStateWrapper/components/LoadingState.js +8 -0
  87. package/dist/esm/components/DDataStateWrapper/components/LoadingState.js.map +1 -0
  88. package/dist/esm/components/DDataStateWrapper/index.js +9 -0
  89. package/dist/esm/components/DDataStateWrapper/index.js.map +1 -0
  90. package/dist/esm/components/DDatePicker/DDatePicker.js +54 -0
  91. package/dist/esm/components/DDatePicker/DDatePicker.js.map +1 -0
  92. package/dist/esm/components/DDatePicker/components/DDatePickerHeaderSelector.js +50 -0
  93. package/dist/esm/components/DDatePicker/components/DDatePickerHeaderSelector.js.map +1 -0
  94. package/dist/esm/components/DDatePicker/components/DDatePickerInput.js +16 -0
  95. package/dist/esm/components/DDatePicker/components/DDatePickerInput.js.map +1 -0
  96. package/dist/esm/components/DDatePicker/components/DDatePickerTime.js +11 -0
  97. package/dist/esm/components/DDatePicker/components/DDatePickerTime.js.map +1 -0
  98. package/dist/esm/components/DDatePicker/index.js +6 -0
  99. package/dist/esm/components/DDatePicker/index.js.map +1 -0
  100. package/dist/esm/components/DDropdown/DDropdown.js +315 -0
  101. package/dist/esm/components/DDropdown/DDropdown.js.map +1 -0
  102. package/dist/esm/components/DDropdown/index.js +6 -0
  103. package/dist/esm/components/DDropdown/index.js.map +1 -0
  104. package/dist/esm/components/DErrorBoundary/DErrorBoundary.js +22 -0
  105. package/dist/esm/components/DErrorBoundary/DErrorBoundary.js.map +1 -0
  106. package/dist/esm/components/DErrorBoundary/components/DefaultErrorBoundary.js +10 -0
  107. package/dist/esm/components/DErrorBoundary/components/DefaultErrorBoundary.js.map +1 -0
  108. package/dist/esm/components/DErrorBoundary/index.js +7 -0
  109. package/dist/esm/components/DErrorBoundary/index.js.map +1 -0
  110. package/dist/esm/components/DIcon/DIcon.js +21 -0
  111. package/dist/esm/components/DIcon/DIcon.js.map +1 -0
  112. package/dist/esm/components/DIcon/index.js +6 -0
  113. package/dist/esm/components/DIcon/index.js.map +1 -0
  114. package/dist/esm/components/DIconBase/DIconBase.js +146 -0
  115. package/dist/esm/components/DIconBase/DIconBase.js.map +1 -0
  116. package/dist/esm/components/DIconBase/index.js +6 -0
  117. package/dist/esm/components/DIconBase/index.js.map +1 -0
  118. package/dist/esm/components/DIconBase/resolveIconFromRegistry.js +20 -0
  119. package/dist/esm/components/DIconBase/resolveIconFromRegistry.js.map +1 -0
  120. package/dist/esm/components/DIconBase/warnUnknownIcon.js +59 -0
  121. package/dist/esm/components/DIconBase/warnUnknownIcon.js.map +1 -0
  122. package/dist/esm/components/DInput/DInput.js +95 -0
  123. package/dist/esm/components/DInput/DInput.js.map +1 -0
  124. package/dist/esm/components/DInput/index.js +6 -0
  125. package/dist/esm/components/DInput/index.js.map +1 -0
  126. package/dist/esm/components/DInputCheck/DInputCheck.js +94 -0
  127. package/dist/esm/components/DInputCheck/DInputCheck.js.map +1 -0
  128. package/dist/esm/components/DInputCheck/index.js +6 -0
  129. package/dist/esm/components/DInputCheck/index.js.map +1 -0
  130. package/dist/esm/components/DInputCounter/DInputCounter.js +107 -0
  131. package/dist/esm/components/DInputCounter/DInputCounter.js.map +1 -0
  132. package/dist/esm/components/DInputCounter/index.js +6 -0
  133. package/dist/esm/components/DInputCounter/index.js.map +1 -0
  134. package/dist/esm/components/DInputCurrency/DInputCurrency.js +25 -0
  135. package/dist/esm/components/DInputCurrency/DInputCurrency.js.map +1 -0
  136. package/dist/esm/components/DInputCurrency/index.js +6 -0
  137. package/dist/esm/components/DInputCurrency/index.js.map +1 -0
  138. package/dist/esm/components/DInputMask/DInputMask.js +13 -0
  139. package/dist/esm/components/DInputMask/DInputMask.js.map +1 -0
  140. package/dist/esm/components/DInputMask/index.js +6 -0
  141. package/dist/esm/components/DInputMask/index.js.map +1 -0
  142. package/dist/esm/components/DInputPassword/DInputPassword.js +24 -0
  143. package/dist/esm/components/DInputPassword/DInputPassword.js.map +1 -0
  144. package/dist/esm/components/DInputPassword/index.js +6 -0
  145. package/dist/esm/components/DInputPassword/index.js.map +1 -0
  146. package/dist/esm/components/DInputPhone/DInputPhone.js +108 -0
  147. package/dist/esm/components/DInputPhone/DInputPhone.js.map +1 -0
  148. package/dist/esm/components/DInputPhone/index.js +6 -0
  149. package/dist/esm/components/DInputPhone/index.js.map +1 -0
  150. package/dist/esm/components/DInputPin/DInputPin.js +88 -0
  151. package/dist/esm/components/DInputPin/DInputPin.js.map +1 -0
  152. package/dist/esm/components/DInputPin/index.js +6 -0
  153. package/dist/esm/components/DInputPin/index.js.map +1 -0
  154. package/dist/esm/components/DInputRange/DInputRange.js +60 -0
  155. package/dist/esm/components/DInputRange/DInputRange.js.map +1 -0
  156. package/dist/esm/components/DInputRange/index.js +6 -0
  157. package/dist/esm/components/DInputRange/index.js.map +1 -0
  158. package/dist/esm/components/DInputSearch/DInputSearch.js +57 -0
  159. package/dist/esm/components/DInputSearch/DInputSearch.js.map +1 -0
  160. package/dist/esm/components/DInputSearch/index.js +6 -0
  161. package/dist/esm/components/DInputSearch/index.js.map +1 -0
  162. package/dist/esm/components/DInputSelect/DInputSelect.js +104 -0
  163. package/dist/esm/components/DInputSelect/DInputSelect.js.map +1 -0
  164. package/dist/esm/components/DInputSelect/index.js +6 -0
  165. package/dist/esm/components/DInputSelect/index.js.map +1 -0
  166. package/dist/esm/components/DInputSwitch/DInputSwitch.js +43 -0
  167. package/dist/esm/components/DInputSwitch/DInputSwitch.js.map +1 -0
  168. package/dist/esm/components/DInputSwitch/index.js +6 -0
  169. package/dist/esm/components/DInputSwitch/index.js.map +1 -0
  170. package/dist/esm/components/DLayout/DLayout.js +22 -0
  171. package/dist/esm/components/DLayout/DLayout.js.map +1 -0
  172. package/dist/esm/components/DLayout/components/DLayoutPane.js +16 -0
  173. package/dist/esm/components/DLayout/components/DLayoutPane.js.map +1 -0
  174. package/dist/esm/components/DLayout/index.js +7 -0
  175. package/dist/esm/components/DLayout/index.js.map +1 -0
  176. package/dist/esm/components/DListGroup/DListGroup.js +39 -0
  177. package/dist/esm/components/DListGroup/DListGroup.js.map +1 -0
  178. package/dist/esm/components/DListGroup/ListGroupContext.js +11 -0
  179. package/dist/esm/components/DListGroup/ListGroupContext.js.map +1 -0
  180. package/dist/esm/components/DListGroup/components/DListGroupItem.js +59 -0
  181. package/dist/esm/components/DListGroup/components/DListGroupItem.js.map +1 -0
  182. package/dist/esm/components/DListGroup/components/warnInvalidListMarkup.js +30 -0
  183. package/dist/esm/components/DListGroup/components/warnInvalidListMarkup.js.map +1 -0
  184. package/dist/esm/components/DListGroup/index.js +7 -0
  185. package/dist/esm/components/DListGroup/index.js.map +1 -0
  186. package/dist/esm/components/DModal/DModal.js +37 -0
  187. package/dist/esm/components/DModal/DModal.js.map +1 -0
  188. package/dist/esm/components/DModal/components/DModalBody.js +9 -0
  189. package/dist/esm/components/DModal/components/DModalBody.js.map +1 -0
  190. package/dist/esm/components/DModal/components/DModalFooter.js +14 -0
  191. package/dist/esm/components/DModal/components/DModalFooter.js.map +1 -0
  192. package/dist/esm/components/DModal/components/DModalHeader.js +15 -0
  193. package/dist/esm/components/DModal/components/DModalHeader.js.map +1 -0
  194. package/dist/esm/components/DModal/index.js +9 -0
  195. package/dist/esm/components/DModal/index.js.map +1 -0
  196. package/dist/esm/components/DOffcanvas/DOffcanvas.js +82 -0
  197. package/dist/esm/components/DOffcanvas/DOffcanvas.js.map +1 -0
  198. package/dist/esm/components/DOffcanvas/components/DOffcanvasBody.js +9 -0
  199. package/dist/esm/components/DOffcanvas/components/DOffcanvasBody.js.map +1 -0
  200. package/dist/esm/components/DOffcanvas/components/DOffcanvasFooter.js +14 -0
  201. package/dist/esm/components/DOffcanvas/components/DOffcanvasFooter.js.map +1 -0
  202. package/dist/esm/components/DOffcanvas/components/DOffcanvasHeader.js +15 -0
  203. package/dist/esm/components/DOffcanvas/components/DOffcanvasHeader.js.map +1 -0
  204. package/dist/esm/components/DOffcanvas/index.js +9 -0
  205. package/dist/esm/components/DOffcanvas/index.js.map +1 -0
  206. package/dist/esm/components/DOtp/DOtp.js +26 -0
  207. package/dist/esm/components/DOtp/DOtp.js.map +1 -0
  208. package/dist/esm/components/DOtp/components/OtpCountdown.js +12 -0
  209. package/dist/esm/components/DOtp/components/OtpCountdown.js.map +1 -0
  210. package/dist/esm/components/DOtp/index.js +6 -0
  211. package/dist/esm/components/DOtp/index.js.map +1 -0
  212. package/dist/esm/components/DPaginator/DPaginator.js +12 -0
  213. package/dist/esm/components/DPaginator/DPaginator.js.map +1 -0
  214. package/dist/esm/components/DPaginator/index.js +6 -0
  215. package/dist/esm/components/DPaginator/index.js.map +1 -0
  216. package/dist/esm/components/DPasswordStrengthMeter/DPasswordStrengthMeter.js +27 -0
  217. package/dist/esm/components/DPasswordStrengthMeter/DPasswordStrengthMeter.js.map +1 -0
  218. package/dist/esm/components/DPasswordStrengthMeter/PasswordCheckItem.js +10 -0
  219. package/dist/esm/components/DPasswordStrengthMeter/PasswordCheckItem.js.map +1 -0
  220. package/dist/esm/components/DPasswordStrengthMeter/PasswordCheckList.js +41 -0
  221. package/dist/esm/components/DPasswordStrengthMeter/PasswordCheckList.js.map +1 -0
  222. package/dist/esm/components/DPasswordStrengthMeter/PasswordStrength.js +23 -0
  223. package/dist/esm/components/DPasswordStrengthMeter/PasswordStrength.js.map +1 -0
  224. package/dist/esm/components/DPasswordStrengthMeter/index.js +6 -0
  225. package/dist/esm/components/DPasswordStrengthMeter/index.js.map +1 -0
  226. package/dist/esm/components/DPopover/DPopover.js +49 -0
  227. package/dist/esm/components/DPopover/DPopover.js.map +1 -0
  228. package/dist/esm/components/DPopover/index.js +6 -0
  229. package/dist/esm/components/DPopover/index.js.map +1 -0
  230. package/dist/esm/components/DProgress/DProgress.js +22 -0
  231. package/dist/esm/components/DProgress/DProgress.js.map +1 -0
  232. package/dist/esm/components/DProgress/index.js +6 -0
  233. package/dist/esm/components/DProgress/index.js.map +1 -0
  234. package/dist/esm/components/DSelect/DSelect.js +88 -0
  235. package/dist/esm/components/DSelect/DSelect.js.map +1 -0
  236. package/dist/esm/components/DSelect/components/DSelectClearIndicator.js +12 -0
  237. package/dist/esm/components/DSelect/components/DSelectClearIndicator.js.map +1 -0
  238. package/dist/esm/components/DSelect/components/DSelectDropdownIndicator.js +12 -0
  239. package/dist/esm/components/DSelect/components/DSelectDropdownIndicator.js.map +1 -0
  240. package/dist/esm/components/DSelect/components/DSelectLoadingIndicator.js +12 -0
  241. package/dist/esm/components/DSelect/components/DSelectLoadingIndicator.js.map +1 -0
  242. package/dist/esm/components/DSelect/components/DSelectMultiValueRemove.js +12 -0
  243. package/dist/esm/components/DSelect/components/DSelectMultiValueRemove.js.map +1 -0
  244. package/dist/esm/components/DSelect/components/DSelectOptionCheck.js +14 -0
  245. package/dist/esm/components/DSelect/components/DSelectOptionCheck.js.map +1 -0
  246. package/dist/esm/components/DSelect/components/DSelectOptionEmoji.js +14 -0
  247. package/dist/esm/components/DSelect/components/DSelectOptionEmoji.js.map +1 -0
  248. package/dist/esm/components/DSelect/components/DSelectOptionIcon.js +15 -0
  249. package/dist/esm/components/DSelect/components/DSelectOptionIcon.js.map +1 -0
  250. package/dist/esm/components/DSelect/components/DSelectPlaceholder.js +14 -0
  251. package/dist/esm/components/DSelect/components/DSelectPlaceholder.js.map +1 -0
  252. package/dist/esm/components/DSelect/components/DSelectSingleValueEmoji.js +15 -0
  253. package/dist/esm/components/DSelect/components/DSelectSingleValueEmoji.js.map +1 -0
  254. package/dist/esm/components/DSelect/components/DSelectSingleValueEmojiText.js +15 -0
  255. package/dist/esm/components/DSelect/components/DSelectSingleValueEmojiText.js.map +1 -0
  256. package/dist/esm/components/DSelect/components/DSelectSingleValueIconText.js +16 -0
  257. package/dist/esm/components/DSelect/components/DSelectSingleValueIconText.js.map +1 -0
  258. package/dist/esm/components/DSelect/createAriaGuidance.js +57 -0
  259. package/dist/esm/components/DSelect/createAriaGuidance.js.map +1 -0
  260. package/dist/esm/components/DSelect/index.js +6 -0
  261. package/dist/esm/components/DSelect/index.js.map +1 -0
  262. package/dist/esm/components/DStepper/DStepper.js +13 -0
  263. package/dist/esm/components/DStepper/DStepper.js.map +1 -0
  264. package/dist/esm/components/DStepper/index.js +6 -0
  265. package/dist/esm/components/DStepper/index.js.map +1 -0
  266. package/dist/esm/components/DStepperDesktop/DStepperDesktop.js +27 -0
  267. package/dist/esm/components/DStepperDesktop/DStepperDesktop.js.map +1 -0
  268. package/dist/esm/components/DStepperDesktop/index.js +6 -0
  269. package/dist/esm/components/DStepperDesktop/index.js.map +1 -0
  270. package/dist/esm/components/DStepperMobile/DStepperMobile.js +37 -0
  271. package/dist/esm/components/DStepperMobile/DStepperMobile.js.map +1 -0
  272. package/dist/esm/components/DStepperMobile/index.js +6 -0
  273. package/dist/esm/components/DStepperMobile/index.js.map +1 -0
  274. package/dist/esm/components/DTabs/DTabs.js +106 -0
  275. package/dist/esm/components/DTabs/DTabs.js.map +1 -0
  276. package/dist/esm/components/DTabs/TabContext.js +14 -0
  277. package/dist/esm/components/DTabs/TabContext.js.map +1 -0
  278. package/dist/esm/components/DTabs/components/DTabContent.js +14 -0
  279. package/dist/esm/components/DTabs/components/DTabContent.js.map +1 -0
  280. package/dist/esm/components/DTabs/components/DTabsProvider.js +22 -0
  281. package/dist/esm/components/DTabs/components/DTabsProvider.js.map +1 -0
  282. package/dist/esm/components/DTabs/index.js +9 -0
  283. package/dist/esm/components/DTabs/index.js.map +1 -0
  284. package/dist/esm/components/DTimeline/DTimeline.js +12 -0
  285. package/dist/esm/components/DTimeline/DTimeline.js.map +1 -0
  286. package/dist/esm/components/DTimeline/index.js +6 -0
  287. package/dist/esm/components/DTimeline/index.js.map +1 -0
  288. package/dist/esm/components/DToast/DToast.js +20 -0
  289. package/dist/esm/components/DToast/DToast.js.map +1 -0
  290. package/dist/esm/components/DToast/components/DToastBody.js +9 -0
  291. package/dist/esm/components/DToast/components/DToastBody.js.map +1 -0
  292. package/dist/esm/components/DToast/components/DToastHeader.js +9 -0
  293. package/dist/esm/components/DToast/components/DToastHeader.js.map +1 -0
  294. package/dist/esm/components/DToast/index.js +8 -0
  295. package/dist/esm/components/DToast/index.js.map +1 -0
  296. package/dist/esm/components/DToastContainer/DToastContainer.js +9 -0
  297. package/dist/esm/components/DToastContainer/DToastContainer.js.map +1 -0
  298. package/dist/esm/components/DToastContainer/index.js +7 -0
  299. package/dist/esm/components/DToastContainer/index.js.map +1 -0
  300. package/dist/esm/components/DToastContainer/useDToast.js +58 -0
  301. package/dist/esm/components/DToastContainer/useDToast.js.map +1 -0
  302. package/dist/esm/components/DTooltip/DTooltip.js +51 -0
  303. package/dist/esm/components/DTooltip/DTooltip.js.map +1 -0
  304. package/dist/esm/components/DTooltip/index.js +6 -0
  305. package/dist/esm/components/DTooltip/index.js.map +1 -0
  306. package/dist/esm/components/DVoucher/DVoucher.js +55 -0
  307. package/dist/esm/components/DVoucher/DVoucher.js.map +1 -0
  308. package/dist/esm/components/DVoucher/hooks/useScreenshot.js +30 -0
  309. package/dist/esm/components/DVoucher/hooks/useScreenshot.js.map +1 -0
  310. package/dist/esm/components/DVoucher/hooks/useScreenshotDownload.js +30 -0
  311. package/dist/esm/components/DVoucher/hooks/useScreenshotDownload.js.map +1 -0
  312. package/dist/esm/components/DVoucher/hooks/useScreenshotWebShare.js +27 -0
  313. package/dist/esm/components/DVoucher/hooks/useScreenshotWebShare.js.map +1 -0
  314. package/dist/esm/components/DVoucher/index.js +9 -0
  315. package/dist/esm/components/DVoucher/index.js.map +1 -0
  316. package/dist/esm/components/config.js +14 -0
  317. package/dist/esm/components/config.js.map +1 -0
  318. package/dist/esm/components/internal/DFormLabel.js +46 -0
  319. package/dist/esm/components/internal/DFormLabel.js.map +1 -0
  320. package/dist/esm/contexts/DContext.js +124 -0
  321. package/dist/esm/contexts/DContext.js.map +1 -0
  322. package/dist/esm/contexts/DPortalContext.js +163 -0
  323. package/dist/esm/contexts/DPortalContext.js.map +1 -0
  324. package/dist/esm/contexts/portal/DPortalStack.js +12 -0
  325. package/dist/esm/contexts/portal/DPortalStack.js.map +1 -0
  326. package/dist/esm/hooks/useConfirmModal.js +63 -0
  327. package/dist/esm/hooks/useConfirmModal.js.map +1 -0
  328. package/dist/esm/hooks/useControlledState.js +51 -0
  329. package/dist/esm/hooks/useControlledState.js.map +1 -0
  330. package/dist/esm/hooks/useCountdown.js +45 -0
  331. package/dist/esm/hooks/useCountdown.js.map +1 -0
  332. package/dist/esm/hooks/useDisableBodyScrollEffect.js +52 -0
  333. package/dist/esm/hooks/useDisableBodyScrollEffect.js.map +1 -0
  334. package/dist/esm/hooks/useDisableInputWheel.js +17 -0
  335. package/dist/esm/hooks/useDisableInputWheel.js.map +1 -0
  336. package/dist/esm/hooks/useFormatCurrency.js +16 -0
  337. package/dist/esm/hooks/useFormatCurrency.js.map +1 -0
  338. package/dist/esm/hooks/useInputCurrency.js +130 -0
  339. package/dist/esm/hooks/useInputCurrency.js.map +1 -0
  340. package/dist/esm/hooks/useItemSelection.js +35 -0
  341. package/dist/esm/hooks/useItemSelection.js.map +1 -0
  342. package/dist/esm/hooks/useMediaBreakpointUp.js +69 -0
  343. package/dist/esm/hooks/useMediaBreakpointUp.js.map +1 -0
  344. package/dist/esm/hooks/useMediaQuery.js +11 -0
  345. package/dist/esm/hooks/useMediaQuery.js.map +1 -0
  346. package/dist/esm/hooks/useOtp.js +107 -0
  347. package/dist/esm/hooks/useOtp.js.map +1 -0
  348. package/dist/esm/hooks/usePortal.js +26 -0
  349. package/dist/esm/hooks/usePortal.js.map +1 -0
  350. package/dist/esm/hooks/useProvidedRefOrCreate.js +24 -0
  351. package/dist/esm/hooks/useProvidedRefOrCreate.js.map +1 -0
  352. package/dist/esm/hooks/useResponsiveProp.js +61 -0
  353. package/dist/esm/hooks/useResponsiveProp.js.map +1 -0
  354. package/dist/esm/hooks/useStackState.js +40 -0
  355. package/dist/esm/hooks/useStackState.js.map +1 -0
  356. package/dist/esm/icons/coreIcons.js +55 -0
  357. package/dist/esm/icons/coreIcons.js.map +1 -0
  358. package/dist/esm/index.js +99 -0
  359. package/dist/esm/index.js.map +1 -0
  360. package/dist/esm/utils/attr-accept.js +38 -0
  361. package/dist/esm/utils/attr-accept.js.map +1 -0
  362. package/dist/esm/utils/buildUrl.js +57 -0
  363. package/dist/esm/utils/buildUrl.js.map +1 -0
  364. package/dist/esm/utils/changeQueryString.js +19 -0
  365. package/dist/esm/utils/changeQueryString.js.map +1 -0
  366. package/dist/esm/utils/configureI18n.js +20 -0
  367. package/dist/esm/utils/configureI18n.js.map +1 -0
  368. package/dist/esm/utils/formatCurrency.js +8 -0
  369. package/dist/esm/utils/formatCurrency.js.map +1 -0
  370. package/dist/esm/utils/getCssVariable.js +7 -0
  371. package/dist/esm/utils/getCssVariable.js.map +1 -0
  372. package/dist/esm/utils/getKeyboardFocusableElements.js +11 -0
  373. package/dist/esm/utils/getKeyboardFocusableElements.js.map +1 -0
  374. package/dist/esm/utils/getQueryString.js +8 -0
  375. package/dist/esm/utils/getQueryString.js.map +1 -0
  376. package/dist/esm/utils/hasLabelContent.js +48 -0
  377. package/dist/esm/utils/hasLabelContent.js.map +1 -0
  378. package/dist/esm/utils/isTextLabel.js +23 -0
  379. package/dist/esm/utils/isTextLabel.js.map +1 -0
  380. package/dist/esm/utils/labelClickGuard.js +61 -0
  381. package/dist/esm/utils/labelClickGuard.js.map +1 -0
  382. package/dist/esm/utils/mediaQuery.js +13 -0
  383. package/dist/esm/utils/mediaQuery.js.map +1 -0
  384. package/dist/esm/utils/sanitizeHref.js +67 -0
  385. package/dist/esm/utils/sanitizeHref.js.map +1 -0
  386. package/dist/esm/utils/validatePhoneNumber.js +14 -0
  387. package/dist/esm/utils/validatePhoneNumber.js.map +1 -0
  388. package/dist/esm/utils/warnLabelUsage.js +57 -0
  389. package/dist/esm/utils/warnLabelUsage.js.map +1 -0
  390. package/dist/icons-core.json +33 -0
  391. package/dist/index.esm.js +1151 -184
  392. package/dist/index.esm.js.map +1 -1
  393. package/dist/index.js +1151 -182
  394. package/dist/index.js.map +1 -1
  395. package/dist/types/components/DAlert/DAlert.d.ts +16 -2
  396. package/dist/types/components/DButtonIcon/DButtonIcon.d.ts +9 -1
  397. package/dist/types/components/DButtonIcon/warnMissingAccessibleName.d.ts +18 -0
  398. package/dist/types/components/DDataStateWrapper/DDataStateWrapper.d.ts +29 -4
  399. package/dist/types/components/DDataStateWrapper/index.d.ts +1 -1
  400. package/dist/types/components/DErrorBoundary/DErrorBoundary.d.ts +6 -1
  401. package/dist/types/components/DErrorBoundary/components/DefaultErrorBoundary.d.ts +3 -1
  402. package/dist/types/components/DIcon/DIcon.d.ts +8 -0
  403. package/dist/types/components/DIconBase/DIconBase.d.ts +43 -1
  404. package/dist/types/components/DIconBase/resolveIconFromRegistry.d.ts +14 -0
  405. package/dist/types/components/DIconBase/warnUnknownIcon.d.ts +13 -0
  406. package/dist/types/components/DInput/DInput.d.ts +11 -2
  407. package/dist/types/components/DInputCheck/DInputCheck.d.ts +28 -3
  408. package/dist/types/components/DInputCounter/DInputCounter.d.ts +15 -3
  409. package/dist/types/components/DInputCurrency/DInputCurrency.d.ts +10 -3
  410. package/dist/types/components/DInputPhone/DInputPhone.d.ts +11 -2
  411. package/dist/types/components/DInputPin/DInputPin.d.ts +12 -2
  412. package/dist/types/components/DInputRange/DInputRange.d.ts +16 -3
  413. package/dist/types/components/DInputSelect/DInputSelect.d.ts +18 -3
  414. package/dist/types/components/DInputSwitch/DInputSwitch.d.ts +28 -3
  415. package/dist/types/components/DListGroup/DListGroup.d.ts +12 -1
  416. package/dist/types/components/DListGroup/ListGroupContext.d.ts +8 -0
  417. package/dist/types/components/DListGroup/components/DListGroupItem.d.ts +6 -1
  418. package/dist/types/components/DListGroup/components/warnInvalidListMarkup.d.ts +13 -0
  419. package/dist/types/components/DPasswordStrengthMeter/DPasswordStrengthMeter.d.ts +18 -3
  420. package/dist/types/components/DProgress/DProgress.d.ts +13 -1
  421. package/dist/types/components/DSelect/DSelect.d.ts +23 -3
  422. package/dist/types/components/DSelect/createAriaGuidance.d.ts +21 -0
  423. package/dist/types/components/DTabs/DTabs.d.ts +13 -2
  424. package/dist/types/components/DTabs/TabContext.d.ts +5 -0
  425. package/dist/types/components/DTabs/components/DTabsProvider.d.ts +11 -0
  426. package/dist/types/components/DTabs/index.d.ts +1 -0
  427. package/dist/types/components/DToast/DToast.d.ts +10 -3
  428. package/dist/types/components/DToastContainer/useDToast.d.ts +8 -1
  429. package/dist/types/components/config.d.ts +10 -0
  430. package/dist/types/components/index.d.ts +2 -2
  431. package/dist/types/components/interface.d.ts +7 -0
  432. package/dist/types/components/internal/DFormLabel.d.ts +30 -0
  433. package/dist/types/contexts/portal/DPortalStack.d.ts +13 -0
  434. package/dist/types/hooks/useControlledState.d.ts +17 -0
  435. package/dist/types/hooks/useInputCurrency.d.ts +26 -1
  436. package/dist/types/hooks/useMediaBreakpointUp.d.ts +10 -0
  437. package/dist/types/icons/coreIcons.d.ts +24 -0
  438. package/dist/types/icons/index.d.ts +2 -0
  439. package/dist/types/index.d.ts +1 -0
  440. package/dist/types/utils/hasLabelContent.d.ts +30 -0
  441. package/dist/types/utils/isTextLabel.d.ts +17 -0
  442. package/dist/types/utils/labelClickGuard.d.ts +20 -0
  443. package/dist/types/utils/warnLabelUsage.d.ts +43 -0
  444. package/package.json +10 -5
  445. package/src/style/abstracts/variables/_body.scss +2 -2
  446. package/src/style/abstracts/variables/_chips.scss +2 -0
  447. package/src/style/abstracts/variables/_colors.scss +2 -2
  448. package/src/style/base/_buttons.scss +4 -1
  449. package/src/style/base/_input-group.scss +5 -2
  450. package/src/style/base/_list-group.scss +55 -0
  451. package/src/style/components/_d-chip.scss +7 -2
  452. package/src/style/components/_d-tabs.scss +3 -0
  453. package/src/style/helpers/_color-bg.scss +5 -0
  454. package/src/style/root/_root.scss +9 -0
  455. package/dist/types/components/DVoucher/hooks/useScreenshotDownload.spec.d.ts +0 -1
  456. package/dist/types/components/DVoucher/hooks/useScreenshotWebShare.spec.d.ts +0 -1
  457. package/dist/types/hooks/tests/useCountdown.spec.d.ts +0 -1
  458. package/dist/types/hooks/tests/useDisableBodyScrollEffect.spec.d.ts +0 -1
  459. package/dist/types/hooks/tests/useDisableInputWheel.spec.d.ts +0 -1
  460. package/dist/types/hooks/tests/useFormatCurrency.spec.d.ts +0 -1
  461. package/dist/types/hooks/tests/useInputCurrency.spec.d.ts +0 -1
  462. package/dist/types/hooks/tests/useItemSelection.spec.d.ts +0 -1
  463. package/dist/types/hooks/tests/useMediaBreakpointUp.spec.d.ts +0 -1
  464. package/dist/types/hooks/tests/useMediaQuery.spec.d.ts +0 -1
  465. package/dist/types/hooks/tests/usePortal.spec.d.ts +0 -1
  466. package/dist/types/hooks/tests/useProvidedRefOrCreate.spec.d.ts +0 -1
  467. package/dist/types/hooks/tests/useStackState.spec.d.ts +0 -1
  468. package/dist/types/utils/tests/attr-accept.spec.d.ts +0 -1
  469. package/dist/types/utils/tests/buildUrl.spec.d.ts +0 -1
  470. package/dist/types/utils/tests/changeQueryString.spec.d.ts +0 -1
  471. package/dist/types/utils/tests/configureI18n.spec.d.ts +0 -1
  472. package/dist/types/utils/tests/formatCurrency.spec.d.ts +0 -1
  473. package/dist/types/utils/tests/getCssVariable.spec.d.ts +0 -1
  474. package/dist/types/utils/tests/getKeyboardFocusableElements.spec.d.ts +0 -1
  475. package/dist/types/utils/tests/getQueryString.spec.d.ts +0 -1
  476. package/dist/types/utils/tests/mediaQuery.spec.d.ts +0 -1
  477. package/dist/types/utils/tests/sanitizeHref.spec.d.ts +0 -1
  478. package/dist/types/utils/tests/validatePhoneNumber.spec.d.ts +0 -1
@@ -1,18 +1,32 @@
1
1
  import type { PropsWithChildren } from 'react';
2
- import type { BaseProps, ComponentStateColor } from '../interface';
2
+ import type { BaseProps, ComponentStateColor, LiveRegionRole } from '../interface';
3
3
  type Props = BaseProps & PropsWithChildren<{
4
4
  id?: string;
5
5
  color?: ComponentStateColor;
6
+ /**
7
+ * `alert` (default) interrupts the screen reader, for critical errors.
8
+ * `status` announces without interrupting, for dynamic non-critical
9
+ * messages. `none` renders no role, for static content already on screen.
10
+ */
11
+ role?: LiveRegionRole;
6
12
  icon?: string;
13
+ /**
14
+ * Renders the leading icon. Set to `false` for an alert without icon, such
15
+ * as an informative block inside a form where the icon competes with the
16
+ * content. When `true`, `icon` falls back to the one mapped to `color`.
17
+ */
18
+ showIcon?: boolean;
7
19
  iconFamilyClass?: string;
8
20
  iconFamilyPrefix?: string;
9
21
  iconMaterialStyle?: boolean;
10
22
  showClose?: boolean;
23
+ /** Accessible name of the close button. */
24
+ closeAriaLabel?: string;
11
25
  iconClose?: string;
12
26
  iconCloseFamilyClass?: string;
13
27
  iconCloseFamilyPrefix?: string;
14
28
  iconCloseMaterialStyle?: boolean;
15
29
  onClose?: () => void;
16
30
  }>;
17
- export default function DAlert({ color, icon: iconProp, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle, iconClose: iconCloseProp, iconCloseFamilyClass, iconCloseFamilyPrefix, iconCloseMaterialStyle, showClose, onClose, children, id, className, style, dataAttributes, }: Props): import("react").JSX.Element;
31
+ export default function DAlert({ color, role, icon: iconProp, showIcon, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle, iconClose: iconCloseProp, iconCloseFamilyClass, iconCloseFamilyPrefix, iconCloseMaterialStyle, showClose, closeAriaLabel, onClose, children, id, className, style, dataAttributes, }: Props): import("react").JSX.Element;
18
32
  export {};
@@ -1,8 +1,16 @@
1
1
  import type { MouseEvent } from 'react';
2
+ import type { ResponsiveProp } from '../../hooks/useResponsiveProp';
2
3
  import type { BaseProps, ButtonVariant, ComponentColor, ComponentSize, FamilyIconProps, InputState } from '../interface';
3
4
  type Props = BaseProps & FamilyIconProps & React.ButtonHTMLAttributes<HTMLButtonElement> & {
4
5
  icon: string;
5
6
  size?: ComponentSize;
7
+ /**
8
+ * Size of the icon glyph, forwarded to `DIcon` (e.g. `"1.5rem"`, or a
9
+ * responsive object such as `{ xs: '1rem', lg: '2rem' }`, which follows
10
+ * viewport changes). Without it the glyph follows the button's font size,
11
+ * which changes with `size`.
12
+ */
13
+ iconSize?: string | ResponsiveProp;
6
14
  variant?: ButtonVariant;
7
15
  color?: ComponentColor;
8
16
  state?: InputState;
@@ -14,5 +22,5 @@ type Props = BaseProps & FamilyIconProps & React.ButtonHTMLAttributes<HTMLButton
14
22
  rel?: React.AnchorHTMLAttributes<HTMLAnchorElement>['rel'];
15
23
  onClick?: (event: MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;
16
24
  };
17
- export default function DButtonIcon({ id, icon, size, className, variant, state, loadingAriaLabel, iconMaterialStyle, disabled, color, loading, href, target, rel, stopPropagationEnabled, style, iconFamilyClass, iconFamilyPrefix, dataAttributes, onClick, 'aria-label': ariaLabelProp, ...rest }: Props): import("react").JSX.Element;
25
+ export default function DButtonIcon({ id, icon, size, iconSize, className, variant, state, loadingAriaLabel, iconMaterialStyle, disabled, color, loading, href, target, rel, stopPropagationEnabled, style, iconFamilyClass, iconFamilyPrefix, dataAttributes, onClick, 'aria-label': ariaLabelProp, ...rest }: Props): import("react").JSX.Element;
18
26
  export {};
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Warns, once per icon and only outside production builds, that an icon-only
3
+ * button has no accessible name.
4
+ *
5
+ * The control has no text to fall back on and its icon is hidden from the
6
+ * accessibility tree, so the name has to be given explicitly. `aria-label` is
7
+ * the direct way; on a button `aria-labelledby` and `title` count too, since
8
+ * `rest` reaches the DOM there, while an anchor drops them — hence `kind`, so
9
+ * the advice matches what the element can actually receive.
10
+ *
11
+ * A legacy icon-font icon used to leak its ligature as the name by accident —
12
+ * never a good one, being unlocalised and often meaningless ("more_vert") — and
13
+ * no longer does, so the omission is now visible instead of silent.
14
+ *
15
+ * The `process.env.NODE_ENV` guard is what bundlers constant-fold, so the whole
16
+ * call — and this module — drops out of a consumer's production bundle.
17
+ */
18
+ export default function warnMissingAccessibleName(icon: string, kind: 'button' | 'link'): void;
@@ -6,16 +6,41 @@ export type DDataStateMessages = {
6
6
  error?: string;
7
7
  retry?: string;
8
8
  };
9
- type DDataStateWrapperProps<T> = {
9
+ type DDataStateWrapperBaseProps = {
10
10
  isLoading: boolean;
11
11
  isError: boolean;
12
- data: T[] | undefined;
13
12
  onRetry?: () => void;
14
13
  messages?: DDataStateMessages;
15
14
  renderLoading?: Renderable;
16
15
  renderEmpty?: Renderable;
17
16
  renderError?: Renderable;
17
+ };
18
+ /** A collection: empty when it has no items. */
19
+ export type DDataStateWrapperListProps<T> = DDataStateWrapperBaseProps & {
20
+ /**
21
+ * A collection; empty when it has no items. For a single resource, pass the
22
+ * object itself: that overload is typed by `DDataStateWrapperSingleProps`.
23
+ */
24
+ data: T[] | undefined;
25
+ /** Receives the array. */
18
26
  children: (data: T[]) => ReactNode;
19
27
  };
20
- export default function DDataStateWrapper<T>({ isLoading, isError, data, onRetry, messages, renderLoading, renderEmpty, renderError, children, }: DDataStateWrapperProps<T>): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react").JSX.Element | null | undefined;
21
- export {};
28
+ /**
29
+ * A single resource (an entity detail, a summary, a config object): empty when
30
+ * it is `null` or `undefined`. The render prop receives the same object.
31
+ */
32
+ export type DDataStateWrapperSingleProps<T> = DDataStateWrapperBaseProps & {
33
+ /** A single resource; empty when it is `null` or `undefined`. */
34
+ data: T | null | undefined;
35
+ /** Receives the object itself. */
36
+ children: (data: T) => ReactNode;
37
+ };
38
+ /**
39
+ * Renders the loading, error, empty or success state of fetched data, in that
40
+ * order of precedence. `data` is either a collection (empty with no items) or a
41
+ * single resource (empty when `null`/`undefined`); `children` gets it back with
42
+ * the same shape.
43
+ */
44
+ declare function DDataStateWrapper<T>(props: DDataStateWrapperListProps<T>): ReactNode;
45
+ declare function DDataStateWrapper<T>(props: DDataStateWrapperSingleProps<T>): ReactNode;
46
+ export default DDataStateWrapper;
@@ -2,5 +2,5 @@ import DDataStateWrapper from './DDataStateWrapper';
2
2
  export { EmptyState } from './components/EmptyState';
3
3
  export { ErrorState } from './components/ErrorState';
4
4
  export { LoadingState } from './components/LoadingState';
5
- export type { DDataStateMessages } from './DDataStateWrapper';
5
+ export type { DDataStateMessages, DDataStateWrapperListProps, DDataStateWrapperSingleProps, } from './DDataStateWrapper';
6
6
  export default DDataStateWrapper;
@@ -7,5 +7,10 @@ export type DErrorBoundaryProps = PropsWithChildren<{
7
7
  resetKeys?: unknown[];
8
8
  onReset?: () => void;
9
9
  onError?: (error: unknown, info: ErrorInfo) => void;
10
+ /** Texts of the default fallback. Ignored when `fallback` is provided. */
11
+ messages?: {
12
+ error?: string;
13
+ retry?: string;
14
+ };
10
15
  }>;
11
- export default function DErrorBoundary({ name, fallback, resetKeys, onReset, onError, children, }: DErrorBoundaryProps): import("react").JSX.Element;
16
+ export default function DErrorBoundary({ name, fallback, resetKeys, onReset, onError, messages, children, }: DErrorBoundaryProps): import("react").JSX.Element;
@@ -2,6 +2,8 @@
2
2
  import { FallbackProps } from 'react-error-boundary';
3
3
  type Props = {
4
4
  resetErrorBoundary: FallbackProps['resetErrorBoundary'];
5
+ message?: string;
6
+ retryMessage?: string;
5
7
  };
6
- export default function DefaultErrorBoundary({ resetErrorBoundary }: Props): import("react").JSX.Element;
8
+ export default function DefaultErrorBoundary({ resetErrorBoundary, message, retryMessage, }: Props): import("react").JSX.Element;
7
9
  export {};
@@ -1,5 +1,13 @@
1
1
  /// <reference types="react" />
2
2
  import type { DIconBaseProps } from '../DIconBase';
3
3
  type Props = DIconBaseProps;
4
+ /**
5
+ * Thin wrapper over `DIconBase` that fills the icon-font configuration
6
+ * (`familyClass`, `familyPrefix`, `materialStyle`) from `DContextProvider`
7
+ * whenever the caller does not pass it explicitly.
8
+ *
9
+ * Name resolution itself — registry, then lucide-react, then the icon-font
10
+ * family — lives in `DIconBase`, so both components behave identically.
11
+ */
4
12
  export default function DIcon({ icon, familyClass: propFamilyClass, familyPrefix: propFamilyPrefix, materialStyle: propMaterialStyle, ...props }: Props): import("react").JSX.Element;
5
13
  export {};
@@ -17,7 +17,49 @@ type Props = BaseProps & {
17
17
  familyClass?: string;
18
18
  familyPrefix?: string;
19
19
  strokeWidth?: number;
20
+ /**
21
+ * Hides the icon from the accessibility tree. Defaults to `true`, because
22
+ * an icon is almost always decorative: it sits next to a visible label, or
23
+ * inside a control that already carries its own accessible name.
24
+ *
25
+ * Pass `ariaLabel` instead when the icon itself is the only carrier of
26
+ * meaning. `ariaHidden` wins over `ariaLabel`, since hiding is absolute;
27
+ * `ariaHidden={false}` alongside an `ariaLabel` is not a conflict, as both
28
+ * expose the icon and the name is kept. Setting `ariaHidden={false}` on its
29
+ * own exposes an unnamed graphic and warns outside production builds.
30
+ *
31
+ * It is forwarded to the icon so a hidden `<svg>` follows the wrapper, but a
32
+ * registry component that hardcodes its own `aria-hidden` rather than
33
+ * spreading the props it receives stays hidden regardless.
34
+ */
35
+ ariaHidden?: boolean;
36
+ /**
37
+ * Accessible name for an icon that carries meaning on its own. Renders
38
+ * `role="img"` alongside it and drops the default `aria-hidden`.
39
+ */
40
+ ariaLabel?: string;
20
41
  };
21
42
  export type DIconBaseProps = Props;
22
- export default function DIconBase({ icon, color, style, className, size, useListenerSize, hasCircle, materialStyle, familyClass, familyPrefix, strokeWidth, dataAttributes, }: Props): import("react").JSX.Element;
43
+ /**
44
+ * Renders an icon, resolving the `icon` prop in this order:
45
+ *
46
+ * 1. **Icon registry** — a string name found in `DContextProvider`'s
47
+ * `iconRegistry` renders the component registered under it. A component
48
+ * passed directly skips this step and renders as-is.
49
+ * 2. **lucide-react** — a PascalCase name exported by lucide-react renders that
50
+ * icon. When `materialStyle` is on, this step is skipped and the name is
51
+ * emitted as the text content of the icon-font element instead.
52
+ * 3. **Icon-font family** — anything left over renders as
53
+ * `<i class="{familyClass} {familyPrefix}{name}">`, the legacy path for
54
+ * Material Symbols and Bootstrap Icons. Outside production builds, a name
55
+ * that reaches this step while the family is still the package default logs
56
+ * a one-time warning.
57
+ *
58
+ * A name that resolves nowhere and has no family configured renders `?`.
59
+ *
60
+ * Every path is hidden from the accessibility tree by default (`aria-hidden`),
61
+ * since icons are overwhelmingly decorative. See `ariaHidden` / `ariaLabel` to
62
+ * override that for an icon that carries meaning on its own.
63
+ */
64
+ export default function DIconBase({ icon: iconProp, color, style, className, size, useListenerSize, hasCircle, materialStyle, familyClass, familyPrefix, strokeWidth, ariaHidden, ariaLabel, dataAttributes, }: Props): import("react").JSX.Element;
23
65
  export {};
@@ -0,0 +1,14 @@
1
+ import type { IconComponent, IconValue } from '../interface';
2
+ /**
3
+ * Resolves a string icon name against the registry supplied through
4
+ * `DContextProvider`'s `iconRegistry` prop.
5
+ *
6
+ * This is the single implementation shared by `DIcon` and `DIconBase`, so both
7
+ * public entry points — and every Dynamic UI component that renders an icon
8
+ * through them — resolve names identically.
9
+ *
10
+ * A non-string `icon` is returned untouched: a component passed directly needs
11
+ * no lookup. A name missing from the registry is also returned untouched, so
12
+ * the caller can fall through to lucide-react and then to the icon-font family.
13
+ */
14
+ export default function resolveIconFromRegistry(icon: IconValue, iconRegistry?: Record<string, IconComponent>): IconValue;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Warns, once per name and only outside production builds, that an icon name
3
+ * resolved to neither the registry nor lucide-react and is falling back to the
4
+ * default icon font, which this package no longer ships.
5
+ *
6
+ * Whether that fallback renders depends on the host app: if it loads the font
7
+ * itself the `<i>` shows the glyph, and if it does not, nothing appears. The
8
+ * message states both possibilities instead of assuming the second.
9
+ *
10
+ * The `process.env.NODE_ENV` guard is what bundlers constant-fold, so the whole
11
+ * call — and this module — drops out of a consumer's production bundle.
12
+ */
13
+ export default function warnUnknownIcon(name: string, familyClass: string, familyPrefix: string): void;
@@ -1,8 +1,17 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import type { BaseProps, ComponentSize, EndIconProps, FamilyIconProps, StartIconProps } from '../interface';
3
- declare const ForwardedDInput: import("react").ForwardRefExoticComponent<Omit<Omit<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "value" | "onChange">, "label" | "invalid" | "value" | "onChange" | "size" | keyof BaseProps | keyof FamilyIconProps | keyof StartIconProps | keyof EndIconProps | "loading" | "hint" | "valid" | "floatingLabel" | "inputStart" | "inputEnd" | "readonly" | "onIconStartClick" | "onIconEndClick"> & BaseProps & FamilyIconProps & StartIconProps & EndIconProps & {
3
+ declare const ForwardedDInput: import("react").ForwardRefExoticComponent<Omit<Omit<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "onChange" | "value">, "label" | "onChange" | "invalid" | "value" | "size" | "floatingLabel" | keyof BaseProps | keyof FamilyIconProps | keyof StartIconProps | keyof EndIconProps | "loading" | "hint" | "valid" | "inputStart" | "inputEnd" | "readonly" | "onIconStartClick" | "onIconEndClick"> & BaseProps & FamilyIconProps & StartIconProps & EndIconProps & {
4
4
  value?: string | undefined;
5
- label?: string | undefined;
5
+ /**
6
+ * The label of the control. Any node is accepted, so it can carry a link, an
7
+ * info trigger or other markup — the terms-and-conditions pattern.
8
+ *
9
+ * Text doubles as the control's accessible name. A richer label does not, so
10
+ * pass `aria-label` alongside it; a development-only warning says so when it
11
+ * is missing. A rich label also does not fit `floatingLabel`, whose layout
12
+ * animates a single line of text.
13
+ */
14
+ label?: ReactNode;
6
15
  loading?: boolean | undefined;
7
16
  hint?: string | undefined;
8
17
  size?: ComponentSize | undefined;
@@ -1,12 +1,37 @@
1
- import type { ChangeEvent, ComponentPropsWithoutRef } from 'react';
1
+ import type { ChangeEvent, ComponentPropsWithoutRef, ReactNode } from 'react';
2
2
  import type { BaseProps, InputCheckType } from '../interface';
3
3
  type Props = ComponentPropsWithoutRef<'input'> & BaseProps & {
4
4
  id?: string;
5
5
  type: InputCheckType;
6
6
  name?: string;
7
- label?: string;
7
+ /**
8
+ * The label of the control. Any node is accepted, so it can carry a link, an
9
+ * info trigger or other markup — the terms-and-conditions pattern.
10
+ *
11
+ * Text doubles as the control's accessible name. A richer label does not, so
12
+ * pass `ariaLabel` alongside it; a development-only warning says so when it
13
+ * is missing.
14
+ */
15
+ label?: ReactNode;
16
+ /**
17
+ * Accessible name of the control, needed when `label` is not plain text.
18
+ * Without it the name becomes whatever the label subtree computes to, which
19
+ * for a label carrying a link or an icon reads as the wrong name or as none.
20
+ */
8
21
  ariaLabel?: string;
22
+ /**
23
+ * Checked state of the control.
24
+ *
25
+ * Passed together with `onChange` the control is fully controlled: when the
26
+ * parent rejects a change the DOM snaps back to this value.
27
+ *
28
+ * Passed on its own it is taken as the starting value and the control keeps
29
+ * toggling by itself — the historical behaviour. Prefer `defaultChecked` for
30
+ * that, it says so out loud.
31
+ */
9
32
  checked?: boolean;
33
+ /** Starting checked state for uncontrolled usage. */
34
+ defaultChecked?: boolean;
10
35
  inputClassName?: string;
11
36
  disabled?: boolean;
12
37
  invalid?: boolean;
@@ -17,5 +42,5 @@ type Props = ComponentPropsWithoutRef<'input'> & BaseProps & {
17
42
  value?: string;
18
43
  onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
19
44
  };
20
- export default function DInputCheck({ id: idProp, type, name, label, ariaLabel, checked, disabled, invalid, valid, indeterminate, inputClassName, value, hint, onChange, className, style, dataAttributes, ...props }: Props): import("react").JSX.Element;
45
+ export default function DInputCheck({ id: idProp, type, name, label, ariaLabel, checked, defaultChecked, disabled, invalid, valid, indeterminate, inputClassName, value, hint, onChange, className, style, dataAttributes, ...props }: Props): import("react").JSX.Element;
21
46
  export {};
@@ -1,13 +1,25 @@
1
1
  /// <reference types="react" />
2
2
  type NonDInputProps = {
3
+ /**
4
+ * Current value of the counter.
5
+ *
6
+ * Passed together with `onChange` the counter is fully controlled: when the
7
+ * parent rejects a change the counter snaps back to this value.
8
+ *
9
+ * Passed on its own it is taken as the starting value and the counter keeps
10
+ * counting by itself — the historical behaviour. Prefer `defaultValue` for
11
+ * that, it says so out loud.
12
+ */
3
13
  value?: number;
14
+ /** Starting value for uncontrolled usage; falls back to `minValue`. */
15
+ defaultValue?: number;
4
16
  minValue: number;
5
17
  maxValue: number;
6
18
  onChange?: (value?: number) => void;
7
19
  };
8
- declare const ForwardedDInputCounter: import("react").ForwardRefExoticComponent<Omit<Omit<Omit<Omit<Omit<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "value" | "onChange">, "label" | "invalid" | "value" | "onChange" | "size" | keyof import("../interface").BaseProps | keyof import("../interface").FamilyIconProps | keyof import("../interface").StartIconProps | keyof import("../interface").EndIconProps | "loading" | "hint" | "valid" | "floatingLabel" | "inputStart" | "inputEnd" | "readonly" | "onIconStartClick" | "onIconEndClick"> & import("../interface").BaseProps & import("../interface").FamilyIconProps & import("../interface").StartIconProps & import("../interface").EndIconProps & {
20
+ declare const ForwardedDInputCounter: import("react").ForwardRefExoticComponent<Omit<Omit<Omit<Omit<Omit<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "onChange" | "value">, "label" | "onChange" | "invalid" | "value" | "size" | "floatingLabel" | keyof import("../interface").BaseProps | keyof import("../interface").FamilyIconProps | keyof import("../interface").StartIconProps | keyof import("../interface").EndIconProps | "loading" | "hint" | "valid" | "inputStart" | "inputEnd" | "readonly" | "onIconStartClick" | "onIconEndClick"> & import("../interface").BaseProps & import("../interface").FamilyIconProps & import("../interface").StartIconProps & import("../interface").EndIconProps & {
9
21
  value?: string | undefined;
10
- label?: string | undefined;
22
+ label?: import("react").ReactNode;
11
23
  loading?: boolean | undefined;
12
24
  hint?: string | undefined;
13
25
  size?: import("../interface").ComponentSize | undefined;
@@ -20,5 +32,5 @@ declare const ForwardedDInputCounter: import("react").ForwardRefExoticComponent<
20
32
  onChange?: ((value: string) => void) | undefined;
21
33
  onIconStartClick?: ((value?: string | undefined) => void) | undefined;
22
34
  onIconEndClick?: ((value?: string | undefined) => void) | undefined;
23
- } & import("react").RefAttributes<HTMLInputElement>, "ref">, "value" | "onChange" | "type" | "validIcon" | "invalidIcon">, keyof NonDInputProps> & NonDInputProps & import("react").RefAttributes<HTMLInputElement>>;
35
+ } & import("react").RefAttributes<HTMLInputElement>, "ref">, "onChange" | "value" | "type" | "validIcon" | "invalidIcon">, keyof NonDInputProps> & NonDInputProps & import("react").RefAttributes<HTMLInputElement>>;
24
36
  export default ForwardedDInputCounter;
@@ -3,12 +3,19 @@ type NonDInputProps = {
3
3
  value?: number;
4
4
  minValue?: number;
5
5
  maxValue?: number;
6
+ /**
7
+ * When `true` (default) a value outside `minValue`/`maxValue` is brought
8
+ * into range on mount, when it changes and on blur, and `onChange` receives
9
+ * the clamped number. When `false` the entered value is kept and the input
10
+ * is marked invalid while it is out of range, unless `invalid` is set.
11
+ */
12
+ clamp?: boolean;
6
13
  currencyCode?: string;
7
14
  onChange?: (value?: number) => void;
8
15
  };
9
- declare const ForwardedDInputCurrency: import("react").ForwardRefExoticComponent<Omit<Omit<Omit<Omit<Omit<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "value" | "onChange">, "label" | "invalid" | "value" | "onChange" | "size" | keyof import("../interface").BaseProps | keyof import("../interface").FamilyIconProps | keyof import("../interface").StartIconProps | keyof import("../interface").EndIconProps | "loading" | "hint" | "valid" | "floatingLabel" | "inputStart" | "inputEnd" | "readonly" | "onIconStartClick" | "onIconEndClick"> & import("../interface").BaseProps & import("../interface").FamilyIconProps & import("../interface").StartIconProps & import("../interface").EndIconProps & {
16
+ declare const ForwardedDInputCurrency: import("react").ForwardRefExoticComponent<Omit<Omit<Omit<Omit<Omit<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "onChange" | "value">, "label" | "onChange" | "invalid" | "value" | "size" | "floatingLabel" | keyof import("../interface").BaseProps | keyof import("../interface").FamilyIconProps | keyof import("../interface").StartIconProps | keyof import("../interface").EndIconProps | "loading" | "hint" | "valid" | "inputStart" | "inputEnd" | "readonly" | "onIconStartClick" | "onIconEndClick"> & import("../interface").BaseProps & import("../interface").FamilyIconProps & import("../interface").StartIconProps & import("../interface").EndIconProps & {
10
17
  value?: string | undefined;
11
- label?: string | undefined;
18
+ label?: import("react").ReactNode;
12
19
  loading?: boolean | undefined;
13
20
  hint?: string | undefined;
14
21
  size?: import("../interface").ComponentSize | undefined;
@@ -21,5 +28,5 @@ declare const ForwardedDInputCurrency: import("react").ForwardRefExoticComponent
21
28
  onChange?: ((value: string) => void) | undefined;
22
29
  onIconStartClick?: ((value?: string | undefined) => void) | undefined;
23
30
  onIconEndClick?: ((value?: string | undefined) => void) | undefined;
24
- } & import("react").RefAttributes<HTMLInputElement>, "ref">, "value" | "onChange" | "type">, keyof NonDInputProps> & NonDInputProps & import("react").RefAttributes<HTMLInputElement>>;
31
+ } & import("react").RefAttributes<HTMLInputElement>, "ref">, "onChange" | "value" | "type">, keyof NonDInputProps> & NonDInputProps & import("react").RefAttributes<HTMLInputElement>>;
25
32
  export default ForwardedDInputCurrency;
@@ -7,9 +7,18 @@ type OnChangeType = {
7
7
  country: ParsedCountry;
8
8
  isValid: boolean;
9
9
  };
10
- declare const ForwardedDInputPhone: import("react").ForwardRefExoticComponent<Omit<Omit<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "pattern" | "value" | "inputMode" | "onChange" | "onWheel" | "type">, "label" | "invalid" | "value" | "onChange" | "size" | keyof BaseProps | keyof FamilyIconProps | keyof EndIconProps | "loading" | "hint" | "valid" | "floatingLabel" | "inputEnd" | "onIconEndClick" | "countrySelectorProps" | "filteredCountries" | "defaultCountry"> & BaseProps & FamilyIconProps & EndIconProps & {
10
+ declare const ForwardedDInputPhone: import("react").ForwardRefExoticComponent<Omit<Omit<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "pattern" | "inputMode" | "onChange" | "onWheel" | "value" | "type">, "label" | "onChange" | "invalid" | "value" | "size" | "floatingLabel" | keyof BaseProps | keyof FamilyIconProps | keyof EndIconProps | "loading" | "hint" | "valid" | "inputEnd" | "onIconEndClick" | "countrySelectorProps" | "filteredCountries" | "defaultCountry"> & BaseProps & FamilyIconProps & EndIconProps & {
11
11
  value?: string | undefined;
12
- label?: string | undefined;
12
+ /**
13
+ * The label of the control. Any node is accepted, so it can carry a link, an
14
+ * info trigger or other markup.
15
+ *
16
+ * Text doubles as the control's accessible name. A richer label does not, so
17
+ * pass `aria-label` alongside it; a development-only warning says so when it
18
+ * is missing. A rich label also does not fit `floatingLabel`, whose layout
19
+ * animates a single line of text.
20
+ */
21
+ label?: ReactNode;
13
22
  loading?: boolean | undefined;
14
23
  hint?: string | undefined;
15
24
  size?: ComponentSize | undefined;
@@ -1,8 +1,13 @@
1
- /// <reference types="react" />
1
+ import type { ReactNode } from 'react';
2
2
  import type { BaseProps, FamilyIconProps, PinInputMode, PinInputType } from '../interface';
3
3
  type Props = BaseProps & FamilyIconProps & {
4
4
  id?: string;
5
- label?: string;
5
+ /**
6
+ * Visible label of the group. Each character input carries its own
7
+ * `aria-label`, so this never acts as the accessible name and a non-text
8
+ * label does not warn here the way it does on the other inputs.
9
+ */
10
+ label?: ReactNode;
6
11
  placeholder?: string;
7
12
  type?: PinInputType;
8
13
  disabled?: boolean;
@@ -15,6 +20,11 @@ type Props = BaseProps & FamilyIconProps & {
15
20
  invalid?: boolean;
16
21
  valid?: boolean;
17
22
  onChange?: (value: string) => void;
23
+ /**
24
+ * Accessible name given to every character input, suffixed with its position
25
+ * — "Pin character number 2 of 4". Each input is named on its own, which is
26
+ * why `label` never acts as the accessible name here.
27
+ */
18
28
  'aria-label'?: string;
19
29
  };
20
30
  export default function DInputPin({ id: idProp, label, placeholder, type, disabled, loading, secret, characters, innerInputMode, hint, invalid, valid, className, style, dataAttributes, onChange, 'aria-label': ariaLabel, }: Props): import("react").JSX.Element;
@@ -1,7 +1,20 @@
1
- /// <reference types="react" />
1
+ import type { ReactNode } from 'react';
2
2
  import type { BaseProps } from '../interface';
3
- declare const ForwardedDInputRange: import("react").ForwardRefExoticComponent<Omit<Omit<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "type">, "label" | keyof BaseProps | "ariaLabel" | "filledValue"> & BaseProps & {
4
- label?: string | undefined;
3
+ declare const ForwardedDInputRange: import("react").ForwardRefExoticComponent<Omit<Omit<Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "type">, "label" | "ariaLabel" | keyof BaseProps | "filledValue"> & BaseProps & {
4
+ /**
5
+ * The label of the control. Any node is accepted, so it can carry a link, an
6
+ * info trigger or other markup.
7
+ *
8
+ * Text doubles as the control's accessible name. A richer label does not, so
9
+ * pass `ariaLabel` alongside it; a development-only warning says so when it
10
+ * is missing.
11
+ */
12
+ label?: ReactNode;
13
+ /**
14
+ * Accessible name of the control, needed when `label` is not plain text.
15
+ * Without it the name becomes whatever the label subtree computes to, which
16
+ * for a label carrying a link or an icon reads as the wrong name or as none.
17
+ */
5
18
  ariaLabel?: string | undefined;
6
19
  filledValue?: boolean | undefined;
7
20
  } & import("react").RefAttributes<HTMLInputElement>>;
@@ -1,4 +1,4 @@
1
- import type { FocusEvent, MouseEvent } from 'react';
1
+ import type { FocusEvent, MouseEvent, ReactNode } from 'react';
2
2
  import type { BaseProps, ComponentSize, EndIconProps, FamilyIconProps, StartIconProps } from '../interface';
3
3
  export type DefaultOption = {
4
4
  value: string | number;
@@ -7,7 +7,22 @@ export type DefaultOption = {
7
7
  export type Props<T> = BaseProps & FamilyIconProps & StartIconProps & EndIconProps & {
8
8
  id?: string;
9
9
  name?: string;
10
- label?: string;
10
+ /**
11
+ * The label of the control. Any node is accepted, so it can carry a link, an
12
+ * info trigger or other markup.
13
+ *
14
+ * Text doubles as the control's accessible name. A richer label does not, so
15
+ * pass `ariaLabel` alongside it; a development-only warning says so when it
16
+ * is missing. A rich label also does not fit `floatingLabel`, whose layout
17
+ * animates a single line of text.
18
+ */
19
+ label?: ReactNode;
20
+ /**
21
+ * Accessible name of the control, needed when `label` is not plain text.
22
+ * Without it the name becomes whatever the label subtree computes to, which
23
+ * for a label carrying a link or an icon reads as the wrong name or as none.
24
+ */
25
+ ariaLabel?: string;
11
26
  disabled?: boolean;
12
27
  loading?: boolean;
13
28
  invalid?: boolean;
@@ -24,4 +39,4 @@ export type Props<T> = BaseProps & FamilyIconProps & StartIconProps & EndIconPro
24
39
  valueExtractor?: (item: T) => string | number;
25
40
  labelExtractor?: (item: T) => string;
26
41
  };
27
- export default function DInputSelect<T extends object = DefaultOption>({ id: idProp, name, label, className, style, options, disabled, loading, iconStart, iconStartFamilyClass, iconStartFamilyPrefix, iconStartAriaLabel, iconEnd, iconEndFamilyClass, iconEndFamilyPrefix, iconEndAriaLabel, hint, value, size, floatingLabel, invalid, valid, dataAttributes, valueExtractor, labelExtractor, onChange, onBlur, onIconStartClick, onIconEndClick, }: Props<T>): import("react").JSX.Element;
42
+ export default function DInputSelect<T extends object = DefaultOption>({ id: idProp, name, label, ariaLabel, className, style, options, disabled, loading, iconStart, iconStartFamilyClass, iconStartFamilyPrefix, iconStartAriaLabel, iconEnd, iconEndFamilyClass, iconEndFamilyPrefix, iconEndAriaLabel, hint, value, size, floatingLabel, invalid, valid, dataAttributes, valueExtractor, labelExtractor, onChange, onBlur, onIconStartClick, onIconEndClick, }: Props<T>): import("react").JSX.Element;
@@ -1,11 +1,36 @@
1
- /// <reference types="react" />
1
+ import type { ReactNode } from 'react';
2
2
  import type { BaseProps } from '../interface';
3
3
  type Props = BaseProps & {
4
4
  id?: string;
5
- label?: string;
5
+ /**
6
+ * The label of the control. Any node is accepted, so it can carry a link, an
7
+ * info trigger or other markup.
8
+ *
9
+ * Text doubles as the control's accessible name. A richer label does not, so
10
+ * pass `ariaLabel` alongside it; a development-only warning says so when it
11
+ * is missing.
12
+ */
13
+ label?: ReactNode;
14
+ /**
15
+ * Accessible name of the control, needed when `label` is not plain text.
16
+ * Without it the name becomes whatever the label subtree computes to, which
17
+ * for a label carrying a link or an icon reads as the wrong name or as none.
18
+ */
6
19
  ariaLabel?: string;
7
20
  name?: string;
21
+ /**
22
+ * Checked state of the switch.
23
+ *
24
+ * Passed together with `onChange` the switch is fully controlled: when the
25
+ * parent rejects a change the switch snaps back to this value.
26
+ *
27
+ * Passed on its own it is taken as the starting value and the switch keeps
28
+ * toggling by itself — the historical behaviour. Prefer `defaultChecked` for
29
+ * that, it says so out loud.
30
+ */
8
31
  checked?: boolean;
32
+ /** Starting checked state for uncontrolled usage. */
33
+ defaultChecked?: boolean;
9
34
  disabled?: boolean;
10
35
  inputClassName?: string;
11
36
  invalid?: boolean;
@@ -14,5 +39,5 @@ type Props = BaseProps & {
14
39
  readonly?: boolean;
15
40
  onChange?: (isChecked: boolean) => void;
16
41
  };
17
- export default function DInputSwitch({ id: idProp, label, ariaLabel, name, checked, disabled, invalid, valid, hint, readonly, className, style, dataAttributes, inputClassName, onChange, }: Props): import("react").JSX.Element;
42
+ export default function DInputSwitch({ id: idProp, label, ariaLabel, name, checked, defaultChecked, disabled, invalid, valid, hint, readonly, className, style, dataAttributes, inputClassName, onChange, }: Props): import("react").JSX.Element;
18
43
  export {};
@@ -6,8 +6,19 @@ type Props = BaseProps & PropsWithChildren<{
6
6
  numbered?: boolean;
7
7
  flush?: boolean;
8
8
  horizontal?: boolean | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
9
+ /**
10
+ * Accessible name of the list, so screen readers can tell it apart from
11
+ * other lists on the page (e.g. "Recent movements"). Ignored when
12
+ * `ariaLabelledBy` is set.
13
+ */
14
+ ariaLabel?: string;
15
+ /**
16
+ * Id of a visible element that names the list, such as the heading above
17
+ * it. When set, `aria-label` is not rendered.
18
+ */
19
+ ariaLabelledBy?: string;
9
20
  }>;
10
- declare function DListGroup({ as, numbered, flush, horizontal, children, className, style, dataAttributes, }: Props): import("react").JSX.Element;
21
+ declare function DListGroup({ as, numbered, flush, horizontal, ariaLabel, ariaLabelledBy, children, className, style, dataAttributes, }: Props): import("react").JSX.Element;
11
22
  declare const _default: typeof DListGroup & {
12
23
  Item: typeof DListGroupItem;
13
24
  };
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ /**
3
+ * Element the enclosing `DListGroup` renders, so each `DListGroupItem` can
4
+ * check that its own element is valid content for it. `undefined` outside a
5
+ * `DListGroup`.
6
+ */
7
+ declare const ListGroupContext: import("react").Context<"div" | "ol" | "ul" | undefined>;
8
+ export default ListGroupContext;
@@ -4,10 +4,15 @@ type Props = BaseProps & StartIconProps & EndIconProps & PropsWithChildren<{
4
4
  as?: 'li' | 'a' | 'button';
5
5
  action?: boolean;
6
6
  active?: boolean;
7
+ /**
8
+ * Value of `aria-current` while the item is `active`: `'page'` for the
9
+ * current page of a navigation, `'step'` for the current step of a flow.
10
+ */
11
+ ariaCurrent?: 'page' | 'step' | 'location' | 'date' | 'time' | 'true';
7
12
  disabled?: boolean;
8
13
  href?: string;
9
14
  onClick?: () => void;
10
15
  color?: ComponentColor;
11
16
  }>;
12
- export default function DListGroupItem({ as, action: actionProp, active, disabled, href, onClick, color, iconStart, iconStartFamilyClass, iconStartFamilyPrefix, iconStartMaterialStyle, iconEnd, iconEndFamilyClass, iconEndFamilyPrefix, iconEndMaterialStyle, children, className, style, dataAttributes, }: Props): import("react").JSX.Element;
17
+ export default function DListGroupItem({ as, action: actionProp, active, ariaCurrent, disabled, href, onClick, color, iconStart, iconStartFamilyClass, iconStartFamilyPrefix, iconStartMaterialStyle, iconEnd, iconEndFamilyClass, iconEndFamilyPrefix, iconEndMaterialStyle, children, className, style, dataAttributes, }: Props): import("react").JSX.Element;
13
18
  export {};
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Warns, once per combination and only outside production builds, that a
3
+ * `DListGroupItem` renders an element its `DListGroup` container can't hold.
4
+ *
5
+ * Links and buttons inside a <ul>/<ol> are wrapped in an <li>, so the only
6
+ * invalid pair left is a plain item (an <li>) inside `as="div"`: an <li>
7
+ * outside of any list. It doesn't fail visibly, which is why it's reported.
8
+ *
9
+ * The `process.env.NODE_ENV` guard at the call site is what bundlers
10
+ * constant-fold, so the whole call — and this module — drops out of a
11
+ * consumer's production bundle.
12
+ */
13
+ export default function warnInvalidListMarkup(container: 'div', item: 'li'): void;