@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
@@ -0,0 +1,19 @@
1
+ function changeQueryString(values, { useSearch = true, pushState = false, } = {}) {
2
+ const searchParams = new URLSearchParams(useSearch ? window.location.search : '');
3
+ Object.entries(values).forEach(([key, value]) => {
4
+ if (!value) {
5
+ searchParams.delete(key);
6
+ return;
7
+ }
8
+ searchParams.set(key, String(value));
9
+ });
10
+ if (pushState) {
11
+ const url = new URL(window.location.href);
12
+ url.search = searchParams.toString();
13
+ window.history.pushState(null, '', url.toString());
14
+ }
15
+ return searchParams.toString();
16
+ }
17
+
18
+ export { changeQueryString as default };
19
+ //# sourceMappingURL=changeQueryString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changeQueryString.js","sources":["../../../dist-transpiled/utils/changeQueryString.js"],"sourcesContent":["export default function changeQueryString(values, { useSearch = true, pushState = false, } = {}) {\n const searchParams = new URLSearchParams(useSearch ? window.location.search : '');\n Object.entries(values).forEach(([key, value]) => {\n if (!value) {\n searchParams.delete(key);\n return;\n }\n searchParams.set(key, String(value));\n });\n if (pushState) {\n const url = new URL(window.location.href);\n url.search = searchParams.toString();\n window.history.pushState(null, '', url.toString());\n }\n return searchParams.toString();\n}\n//# sourceMappingURL=changeQueryString.js.map"],"names":[],"mappings":"AAAe,SAAS,iBAAiB,CAAC,MAAM,EAAE,EAAE,SAAS,GAAG,IAAI,EAAE,SAAS,GAAG,KAAK,GAAG,GAAG,EAAE,EAAE;AACjG,IAAI,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC;AACrF,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AACrD,QAAQ,IAAI,CAAC,KAAK,EAAE;AACpB,YAAY,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,YAAY;AACZ,QAAQ;AACR,QAAQ,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5C,IAAI,CAAC,CAAC;AACN,IAAI,IAAI,SAAS,EAAE;AACnB,QAAQ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;AACjD,QAAQ,GAAG,CAAC,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE;AAC5C,QAAQ,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;AAC1D,IAAI;AACJ,IAAI,OAAO,YAAY,CAAC,QAAQ,EAAE;AAClC;;;;"}
@@ -0,0 +1,20 @@
1
+ import { __rest } from 'tslib';
2
+ import i18n from 'i18next';
3
+ import { initReactI18next } from 'react-i18next';
4
+
5
+ async function configureI8n(resources, _a = {}) {
6
+ var { lng = 'en', fallbackLng = 'en' } = _a, config = __rest(_a, ["lng", "fallbackLng"]);
7
+ return i18n
8
+ .use(initReactI18next)
9
+ .init(Object.assign({ resources,
10
+ lng, initImmediate: true, fallbackLng, interpolation: {
11
+ escapeValue: false,
12
+ prefix: '{',
13
+ suffix: '}',
14
+ // skipOnVariables: false,
15
+ } }, config))
16
+ .then((t) => t);
17
+ }
18
+
19
+ export { configureI8n as default };
20
+ //# sourceMappingURL=configureI18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configureI18n.js","sources":["../../../dist-transpiled/utils/configureI18n.js"],"sourcesContent":["import { __rest } from \"tslib\";\nimport i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nexport default async function configureI8n(resources, _a = {}) {\n var { lng = 'en', fallbackLng = 'en' } = _a, config = __rest(_a, [\"lng\", \"fallbackLng\"]);\n return i18n\n .use(initReactI18next)\n .init(Object.assign({ resources,\n lng, initImmediate: true, fallbackLng, interpolation: {\n escapeValue: false,\n prefix: '{',\n suffix: '}',\n // skipOnVariables: false,\n } }, config))\n .then((t) => t);\n}\n//# sourceMappingURL=configureI18n.js.map"],"names":[],"mappings":";;;;AAGe,eAAe,YAAY,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE;AAC/D,IAAI,IAAI,EAAE,GAAG,GAAG,IAAI,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;AAC5F,IAAI,OAAO;AACX,SAAS,GAAG,CAAC,gBAAgB;AAC7B,SAAS,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS;AACvC,QAAQ,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE;AAC9D,YAAY,WAAW,EAAE,KAAK;AAC9B,YAAY,MAAM,EAAE,GAAG;AACvB,YAAY,MAAM,EAAE,GAAG;AACvB;AACA,SAAS,EAAE,EAAE,MAAM,CAAC;AACpB,SAAS,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACvB;;;;"}
@@ -0,0 +1,8 @@
1
+ import currency from 'currency.js';
2
+
3
+ function formatCurrency(amount, options) {
4
+ return currency(amount, options).format();
5
+ }
6
+
7
+ export { formatCurrency as default };
8
+ //# sourceMappingURL=formatCurrency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatCurrency.js","sources":["../../../dist-transpiled/utils/formatCurrency.js"],"sourcesContent":["import currency from 'currency.js';\nexport default function formatCurrency(amount, options) {\n return currency(amount, options).format();\n}\n//# sourceMappingURL=formatCurrency.js.map"],"names":[],"mappings":";;AACe,SAAS,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE;AACxD,IAAI,OAAO,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE;AAC7C;;;;"}
@@ -0,0 +1,7 @@
1
+ function getCssVariable(variable) {
2
+ const computedStyle = getComputedStyle(document.documentElement);
3
+ return computedStyle.getPropertyValue(variable).trim();
4
+ }
5
+
6
+ export { getCssVariable as default };
7
+ //# sourceMappingURL=getCssVariable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCssVariable.js","sources":["../../../dist-transpiled/utils/getCssVariable.js"],"sourcesContent":["export default function getCssVariable(variable) {\n const computedStyle = getComputedStyle(document.documentElement);\n return computedStyle.getPropertyValue(variable).trim();\n}\n//# sourceMappingURL=getCssVariable.js.map"],"names":[],"mappings":"AAAe,SAAS,cAAc,CAAC,QAAQ,EAAE;AACjD,IAAI,MAAM,aAAa,GAAG,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC;AACpE,IAAI,OAAO,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;AAC1D;;;;"}
@@ -0,0 +1,11 @@
1
+ function getKeyboardFocusableElements(container) {
2
+ if (!container) {
3
+ return [];
4
+ }
5
+ return [
6
+ ...container.querySelectorAll('a, button, input, textarea, select, details, [tabindex]:not([tabindex="-1"])'),
7
+ ].filter((element) => !element.hasAttribute('disabled'));
8
+ }
9
+
10
+ export { getKeyboardFocusableElements as default };
11
+ //# sourceMappingURL=getKeyboardFocusableElements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getKeyboardFocusableElements.js","sources":["../../../dist-transpiled/utils/getKeyboardFocusableElements.js"],"sourcesContent":["export default function getKeyboardFocusableElements(container) {\n if (!container) {\n return [];\n }\n return [\n ...container.querySelectorAll('a, button, input, textarea, select, details, [tabindex]:not([tabindex=\"-1\"])'),\n ].filter((element) => !element.hasAttribute('disabled'));\n}\n//# sourceMappingURL=getKeyboardFocusableElements.js.map"],"names":[],"mappings":"AAAe,SAAS,4BAA4B,CAAC,SAAS,EAAE;AAChE,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,QAAQ,OAAO,EAAE;AACjB,IAAI;AACJ,IAAI,OAAO;AACX,QAAQ,GAAG,SAAS,CAAC,gBAAgB,CAAC,8EAA8E,CAAC;AACrH,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AAC5D;;;;"}
@@ -0,0 +1,8 @@
1
+ function getQueryString(value, config = {}) {
2
+ const { useSearch = true, default: defaultValue } = config;
3
+ const urlParams = new URLSearchParams(useSearch ? window.location.search : '');
4
+ return urlParams.get(value) || defaultValue;
5
+ }
6
+
7
+ export { getQueryString as default };
8
+ //# sourceMappingURL=getQueryString.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getQueryString.js","sources":["../../../dist-transpiled/utils/getQueryString.js"],"sourcesContent":["export default function getQueryString(value, config = {}) {\n const { useSearch = true, default: defaultValue } = config;\n const urlParams = new URLSearchParams(useSearch ? window.location.search : '');\n return urlParams.get(value) || defaultValue;\n}\n//# sourceMappingURL=getQueryString.js.map"],"names":[],"mappings":"AAAe,SAAS,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,EAAE,EAAE;AAC3D,IAAI,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM;AAC9D,IAAI,MAAM,SAAS,GAAG,IAAI,eAAe,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC;AAClF,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,YAAY;AAC/C;;;;"}
@@ -0,0 +1,48 @@
1
+ import { isValidElement } from 'react';
2
+
3
+ /**
4
+ * Whether a `label` node has something to render.
5
+ *
6
+ * The render paths cannot test `label` for truthiness: since the prop widened
7
+ * to `ReactNode` it also accepts `0`, which React renders as the text "0" and
8
+ * which `isTextLabel` counts as a text label, yet which a truthiness check
9
+ * would drop — leaving the control visibly unlabelled.
10
+ *
11
+ * Absent (`undefined`, `null`), empty (`''`) and boolean labels render nothing,
12
+ * so they are the ones that stand for "no label". The empty string matters
13
+ * because it is the default several components fall back to.
14
+ *
15
+ * Arrays are inspected rather than taken at face value: `label={items.map(...)}`
16
+ * over an empty list yields `[]`, while a list of skipped entries yields
17
+ * `[false, null]`. Both render nothing, so treating them as content would leave
18
+ * an empty `<label>` on the page — and make the naming warning fire over a
19
+ * label that was never there.
20
+ *
21
+ * Only arrays, though, even though `ReactNode` admits any iterable. Reading a
22
+ * one-shot iterator — a generator — would exhaust it here, and the component
23
+ * goes on to render the same value, so the label would vanish precisely because
24
+ * we checked for it. An array can be walked as often as needed; anything else
25
+ * is taken on faith.
26
+ *
27
+ * Anything else — an element, a portal, a generator — counts as content: what
28
+ * it renders is only knowable by rendering it, and an element that draws
29
+ * nothing visible is the consumer's decision rather than an absent label.
30
+ */
31
+ function hasLabelContent(label) {
32
+ if (label === undefined || label === null || typeof label === 'boolean') {
33
+ return false;
34
+ }
35
+ if (typeof label === 'string') {
36
+ return label !== '';
37
+ }
38
+ if (isValidElement(label)) {
39
+ return true;
40
+ }
41
+ if (Array.isArray(label)) {
42
+ return label.some(hasLabelContent);
43
+ }
44
+ return true;
45
+ }
46
+
47
+ export { hasLabelContent as default };
48
+ //# sourceMappingURL=hasLabelContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hasLabelContent.js","sources":["../../../dist-transpiled/utils/hasLabelContent.js"],"sourcesContent":["import { isValidElement } from 'react';\n/**\n * Whether a `label` node has something to render.\n *\n * The render paths cannot test `label` for truthiness: since the prop widened\n * to `ReactNode` it also accepts `0`, which React renders as the text \"0\" and\n * which `isTextLabel` counts as a text label, yet which a truthiness check\n * would drop — leaving the control visibly unlabelled.\n *\n * Absent (`undefined`, `null`), empty (`''`) and boolean labels render nothing,\n * so they are the ones that stand for \"no label\". The empty string matters\n * because it is the default several components fall back to.\n *\n * Arrays are inspected rather than taken at face value: `label={items.map(...)}`\n * over an empty list yields `[]`, while a list of skipped entries yields\n * `[false, null]`. Both render nothing, so treating them as content would leave\n * an empty `<label>` on the page — and make the naming warning fire over a\n * label that was never there.\n *\n * Only arrays, though, even though `ReactNode` admits any iterable. Reading a\n * one-shot iterator — a generator — would exhaust it here, and the component\n * goes on to render the same value, so the label would vanish precisely because\n * we checked for it. An array can be walked as often as needed; anything else\n * is taken on faith.\n *\n * Anything else — an element, a portal, a generator — counts as content: what\n * it renders is only knowable by rendering it, and an element that draws\n * nothing visible is the consumer's decision rather than an absent label.\n */\nexport default function hasLabelContent(label) {\n if (label === undefined || label === null || typeof label === 'boolean') {\n return false;\n }\n if (typeof label === 'string') {\n return label !== '';\n }\n if (isValidElement(label)) {\n return true;\n }\n if (Array.isArray(label)) {\n return label.some(hasLabelContent);\n }\n return true;\n}\n//# sourceMappingURL=hasLabelContent.js.map"],"names":[],"mappings":";;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,eAAe,CAAC,KAAK,EAAE;AAC/C,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;AAC7E,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACnC,QAAQ,OAAO,KAAK,KAAK,EAAE;AAC3B,IAAI;AACJ,IAAI,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE;AAC/B,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC9B,QAAQ,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;AAC1C,IAAI;AACJ,IAAI,OAAO,IAAI;AACf;;;;"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Narrows a `label` node to the plain-text case.
3
+ *
4
+ * `label` accepts any `ReactNode` so patterns like a terms-and-conditions link
5
+ * or an info trigger can live next to the field name. Anything that is not text
6
+ * cannot be forwarded to a string-only attribute (`aria-label`, `placeholder`)
7
+ * nor laid out by Bootstrap's `form-floating`, so those paths check this first.
8
+ *
9
+ * Numbers and bigints count as text: React renders them as their string form
10
+ * and so does `String()`, which is what the string-only attributes end up
11
+ * receiving. `bigint` is part of `ReactNode` under these React types, so
12
+ * leaving it out made a label React draws as text get treated as a rich node.
13
+ * React 18 cannot render one, which `DFormLabel` handles by rendering its
14
+ * string form — the classification stays true for every supported React.
15
+ */
16
+ function isTextLabel(label) {
17
+ return typeof label === 'string'
18
+ || typeof label === 'number'
19
+ || typeof label === 'bigint';
20
+ }
21
+
22
+ export { isTextLabel as default };
23
+ //# sourceMappingURL=isTextLabel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isTextLabel.js","sources":["../../../dist-transpiled/utils/isTextLabel.js"],"sourcesContent":["/**\n * Narrows a `label` node to the plain-text case.\n *\n * `label` accepts any `ReactNode` so patterns like a terms-and-conditions link\n * or an info trigger can live next to the field name. Anything that is not text\n * cannot be forwarded to a string-only attribute (`aria-label`, `placeholder`)\n * nor laid out by Bootstrap's `form-floating`, so those paths check this first.\n *\n * Numbers and bigints count as text: React renders them as their string form\n * and so does `String()`, which is what the string-only attributes end up\n * receiving. `bigint` is part of `ReactNode` under these React types, so\n * leaving it out made a label React draws as text get treated as a rich node.\n * React 18 cannot render one, which `DFormLabel` handles by rendering its\n * string form — the classification stays true for every supported React.\n */\nexport default function isTextLabel(label) {\n return typeof label === 'string'\n || typeof label === 'number'\n || typeof label === 'bigint';\n}\n//# sourceMappingURL=isTextLabel.js.map"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,WAAW,CAAC,KAAK,EAAE;AAC3C,IAAI,OAAO,OAAO,KAAK,KAAK;AAC5B,WAAW,OAAO,KAAK,KAAK;AAC5B,WAAW,OAAO,KAAK,KAAK,QAAQ;AACpC;;;;"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Descendants the browser already exempts from a label's click forwarding.
3
+ *
4
+ * Per the HTML spec a label does nothing for events targeted at its interactive
5
+ * content descendants, so these need — and must get — no help from us: calling
6
+ * `preventDefault` on a click targeting a link, or on an image map area, would
7
+ * cancel the navigation it was meant to perform.
8
+ *
9
+ * The list mirrors the spec's interactive content, image maps included, since
10
+ * one of those carrying a `tabindex` would otherwise fall through to the
11
+ * pseudo-interactive branch below and be suppressed by mistake.
12
+ */
13
+ const NATIVE_INTERACTIVE = 'a[href], area[href], button, input, select, textarea, details, summary, img[usemap], object[usemap], audio[controls], video[controls], embed, iframe';
14
+ /**
15
+ * Descendants that act like controls without being interactive content.
16
+ *
17
+ * A tooltip or modal trigger built from a `span` with a role and a tabindex is
18
+ * the common case. Browsers do not exempt these, so a click on one activates
19
+ * the labelled control as well.
20
+ */
21
+ const PSEUDO_INTERACTIVE = '[role="button"], [role="link"], [role="checkbox"], [role="switch"], [role="menuitem"], [tabindex]';
22
+ /**
23
+ * Stops a click on a non-native trigger inside a `<label>` from also activating
24
+ * the labelled control.
25
+ *
26
+ * Verified against Chromium, which forwards the click for every one of the
27
+ * `PSEUDO_INTERACTIVE` selectors above while exempting the native ones. Note
28
+ * that jsdom does not reproduce this: its `isInteractiveContent` counts any
29
+ * element carrying a `tabindex` as interactive content, so a jsdom test passes
30
+ * whether or not this guard exists. That is why the guard is unit-tested
31
+ * directly rather than through a rendered component.
32
+ *
33
+ * Native interactive content returns early rather than falling through, since
34
+ * `preventDefault` on those clicks would cancel the link navigation or the
35
+ * image map the label is meant to let through.
36
+ *
37
+ * `DFormLabel` wires this in the capture phase so a trigger that stops
38
+ * propagation cannot skip it.
39
+ */
40
+ function labelClickGuard(event) {
41
+ const label = event.currentTarget;
42
+ const target = event.target;
43
+ if (!(target === null || target === void 0 ? void 0 : target.closest))
44
+ return;
45
+ /**
46
+ * `closest` walks the whole ancestor chain, so a match may sit above the
47
+ * label — a card with a `role` or a `tabindex` wrapping the control and its
48
+ * label, say. Acting on one of those would suppress the plain label text's
49
+ * own click and leave the control unresponsive, so only matches inside the
50
+ * label count.
51
+ */
52
+ const inside = (match) => (!!match && match !== label && label.contains(match));
53
+ if (inside(target.closest(NATIVE_INTERACTIVE)))
54
+ return;
55
+ if (inside(target.closest(PSEUDO_INTERACTIVE))) {
56
+ event.preventDefault();
57
+ }
58
+ }
59
+
60
+ export { labelClickGuard as default };
61
+ //# sourceMappingURL=labelClickGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labelClickGuard.js","sources":["../../../dist-transpiled/utils/labelClickGuard.js"],"sourcesContent":["/**\n * Descendants the browser already exempts from a label's click forwarding.\n *\n * Per the HTML spec a label does nothing for events targeted at its interactive\n * content descendants, so these need — and must get — no help from us: calling\n * `preventDefault` on a click targeting a link, or on an image map area, would\n * cancel the navigation it was meant to perform.\n *\n * The list mirrors the spec's interactive content, image maps included, since\n * one of those carrying a `tabindex` would otherwise fall through to the\n * pseudo-interactive branch below and be suppressed by mistake.\n */\nconst NATIVE_INTERACTIVE = 'a[href], area[href], button, input, select, textarea, details, summary, img[usemap], object[usemap], audio[controls], video[controls], embed, iframe';\n/**\n * Descendants that act like controls without being interactive content.\n *\n * A tooltip or modal trigger built from a `span` with a role and a tabindex is\n * the common case. Browsers do not exempt these, so a click on one activates\n * the labelled control as well.\n */\nconst PSEUDO_INTERACTIVE = '[role=\"button\"], [role=\"link\"], [role=\"checkbox\"], [role=\"switch\"], [role=\"menuitem\"], [tabindex]';\n/**\n * Stops a click on a non-native trigger inside a `<label>` from also activating\n * the labelled control.\n *\n * Verified against Chromium, which forwards the click for every one of the\n * `PSEUDO_INTERACTIVE` selectors above while exempting the native ones. Note\n * that jsdom does not reproduce this: its `isInteractiveContent` counts any\n * element carrying a `tabindex` as interactive content, so a jsdom test passes\n * whether or not this guard exists. That is why the guard is unit-tested\n * directly rather than through a rendered component.\n *\n * Native interactive content returns early rather than falling through, since\n * `preventDefault` on those clicks would cancel the link navigation or the\n * image map the label is meant to let through.\n *\n * `DFormLabel` wires this in the capture phase so a trigger that stops\n * propagation cannot skip it.\n */\nexport default function labelClickGuard(event) {\n const label = event.currentTarget;\n const target = event.target;\n if (!(target === null || target === void 0 ? void 0 : target.closest))\n return;\n /**\n * `closest` walks the whole ancestor chain, so a match may sit above the\n * label — a card with a `role` or a `tabindex` wrapping the control and its\n * label, say. Acting on one of those would suppress the plain label text's\n * own click and leave the control unresponsive, so only matches inside the\n * label count.\n */\n const inside = (match) => (!!match && match !== label && label.contains(match));\n if (inside(target.closest(NATIVE_INTERACTIVE)))\n return;\n if (inside(target.closest(PSEUDO_INTERACTIVE))) {\n event.preventDefault();\n }\n}\n//# sourceMappingURL=labelClickGuard.js.map"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,kBAAkB,GAAG,sJAAsJ;AACjL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,kBAAkB,GAAG,mGAAmG;AAC9H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,eAAe,CAAC,KAAK,EAAE;AAC/C,IAAI,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa;AACrC,IAAI,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM;AAC/B,IAAI,IAAI,EAAE,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;AACzE,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,MAAM,GAAG,CAAC,KAAK,MAAM,CAAC,CAAC,KAAK,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnF,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAClD,QAAQ;AACR,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE;AACpD,QAAQ,KAAK,CAAC,cAAc,EAAE;AAC9B,IAAI;AACJ;;;;"}
@@ -0,0 +1,13 @@
1
+ function subscribeToMediaQuery(query, callback) {
2
+ const mediaQueryList = window.matchMedia(query);
3
+ mediaQueryList.addEventListener('change', callback);
4
+ return () => {
5
+ mediaQueryList.removeEventListener('change', callback);
6
+ };
7
+ }
8
+ function checkMediaQuery(query) {
9
+ return window.matchMedia(query).matches;
10
+ }
11
+
12
+ export { checkMediaQuery, subscribeToMediaQuery };
13
+ //# sourceMappingURL=mediaQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mediaQuery.js","sources":["../../../dist-transpiled/utils/mediaQuery.js"],"sourcesContent":["export function subscribeToMediaQuery(query, callback) {\n const mediaQueryList = window.matchMedia(query);\n mediaQueryList.addEventListener('change', callback);\n return () => {\n mediaQueryList.removeEventListener('change', callback);\n };\n}\nexport function checkMediaQuery(query) {\n return window.matchMedia(query).matches;\n}\n//# sourceMappingURL=mediaQuery.js.map"],"names":[],"mappings":"AAAO,SAAS,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAE;AACvD,IAAI,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;AACnD,IAAI,cAAc,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC;AACvD,IAAI,OAAO,MAAM;AACjB,QAAQ,cAAc,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC;AAC9D,IAAI,CAAC;AACL;AACO,SAAS,eAAe,CAAC,KAAK,EAAE;AACvC,IAAI,OAAO,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO;AAC3C;;;;"}
@@ -0,0 +1,67 @@
1
+ const SAFE_SCHEMES = new Set(['http:', 'https:', 'mailto:', 'tel:']);
2
+ /**
3
+ * Characters the URL parser drops before resolving a URL, so they cannot be used to hide a
4
+ * scheme-relative prefix or a dangerous scheme (e.g. `/<TAB>/evil.com`, `java<TAB>script:`).
5
+ */
6
+ const IGNORED_CHARS = /[\t\n\r]/g;
7
+ /**
8
+ * Two leading separators in any combination. Browsers treat a leading `\` exactly like a
9
+ * leading `/`, so `//`, `/\`, `\/` and `\\` all resolve to a scheme-relative URL.
10
+ */
11
+ const SCHEME_RELATIVE = /^[/\\]{2}/;
12
+ const LEADING_SEPARATOR = /^[/\\]/;
13
+ /**
14
+ * Validates a `href` value and returns it only if it is safe to render as a link,
15
+ * preventing XSS through unsafe URL schemes and scheme-relative URLs.
16
+ *
17
+ * Before validating, the value is trimmed and every tab, line feed and carriage return is
18
+ * removed, because the URL parser ignores those characters too and they would otherwise
19
+ * hide an unsafe value from the checks below.
20
+ *
21
+ * A `href` is considered safe when it is either:
22
+ * - An absolute path starting with a single separator (e.g. `/accounts/42`). A leading `\`
23
+ * is normalized to `/` in the returned value, since that is how the browser resolves it.
24
+ * - A URL using one of the allowed schemes: `http:`, `https:`, `mailto:`, `tel:`.
25
+ *
26
+ * A `href` is rejected (returns `undefined`) when it is:
27
+ * - Empty or made only of whitespace/ignored characters (`''`, `' '`).
28
+ * - Scheme-relative (starts with two separators, e.g. `//evil.com`, `/\evil.com`,
29
+ * `/<TAB>/evil.com`), since the browser would resolve it using the current protocol and it
30
+ * can be used to redirect to an attacker-controlled host.
31
+ * - Using a disallowed/dangerous scheme, such as `javascript:` or `data:`
32
+ * (e.g. `javascript:alert(1)`, `data:text/html,<script>...</script>`).
33
+ * - Not parseable as an absolute URL and not an absolute path, such as bare fragments
34
+ * (`#anchor`) or scheme-less relative paths (`relative/path`). These cannot be validated
35
+ * against `SAFE_SCHEMES`, so they are rejected rather than assumed safe.
36
+ *
37
+ * @param href - The raw URL or path to validate, typically coming from user input,
38
+ * a CMS, or an external API.
39
+ * @returns The sanitized `href` when safe, `undefined` otherwise.
40
+ *
41
+ * @example
42
+ * sanitizeHref('/accounts/42'); // '/accounts/42'
43
+ * sanitizeHref('https://example.com'); // 'https://example.com'
44
+ * sanitizeHref('mailto:test@example.com'); // 'mailto:test@example.com'
45
+ * sanitizeHref('//evil.com'); // undefined
46
+ * sanitizeHref('/\\evil.com'); // undefined
47
+ * sanitizeHref('javascript:alert(1)'); // undefined
48
+ */
49
+ function sanitizeHref(href) {
50
+ const normalized = href.trim().replace(IGNORED_CHARS, '');
51
+ if (!normalized)
52
+ return undefined;
53
+ if (SCHEME_RELATIVE.test(normalized))
54
+ return undefined;
55
+ if (LEADING_SEPARATOR.test(normalized))
56
+ return `/${normalized.slice(1)}`;
57
+ try {
58
+ const { protocol } = new URL(normalized);
59
+ return SAFE_SCHEMES.has(protocol) ? normalized : undefined;
60
+ }
61
+ catch (_a) {
62
+ return undefined;
63
+ }
64
+ }
65
+
66
+ export { sanitizeHref as default };
67
+ //# sourceMappingURL=sanitizeHref.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitizeHref.js","sources":["../../../dist-transpiled/utils/sanitizeHref.js"],"sourcesContent":["const SAFE_SCHEMES = new Set(['http:', 'https:', 'mailto:', 'tel:']);\n/**\n * Characters the URL parser drops before resolving a URL, so they cannot be used to hide a\n * scheme-relative prefix or a dangerous scheme (e.g. `/<TAB>/evil.com`, `java<TAB>script:`).\n */\nconst IGNORED_CHARS = /[\\t\\n\\r]/g;\n/**\n * Two leading separators in any combination. Browsers treat a leading `\\` exactly like a\n * leading `/`, so `//`, `/\\`, `\\/` and `\\\\` all resolve to a scheme-relative URL.\n */\nconst SCHEME_RELATIVE = /^[/\\\\]{2}/;\nconst LEADING_SEPARATOR = /^[/\\\\]/;\n/**\n * Validates a `href` value and returns it only if it is safe to render as a link,\n * preventing XSS through unsafe URL schemes and scheme-relative URLs.\n *\n * Before validating, the value is trimmed and every tab, line feed and carriage return is\n * removed, because the URL parser ignores those characters too and they would otherwise\n * hide an unsafe value from the checks below.\n *\n * A `href` is considered safe when it is either:\n * - An absolute path starting with a single separator (e.g. `/accounts/42`). A leading `\\`\n * is normalized to `/` in the returned value, since that is how the browser resolves it.\n * - A URL using one of the allowed schemes: `http:`, `https:`, `mailto:`, `tel:`.\n *\n * A `href` is rejected (returns `undefined`) when it is:\n * - Empty or made only of whitespace/ignored characters (`''`, `' '`).\n * - Scheme-relative (starts with two separators, e.g. `//evil.com`, `/\\evil.com`,\n * `/<TAB>/evil.com`), since the browser would resolve it using the current protocol and it\n * can be used to redirect to an attacker-controlled host.\n * - Using a disallowed/dangerous scheme, such as `javascript:` or `data:`\n * (e.g. `javascript:alert(1)`, `data:text/html,<script>...</script>`).\n * - Not parseable as an absolute URL and not an absolute path, such as bare fragments\n * (`#anchor`) or scheme-less relative paths (`relative/path`). These cannot be validated\n * against `SAFE_SCHEMES`, so they are rejected rather than assumed safe.\n *\n * @param href - The raw URL or path to validate, typically coming from user input,\n * a CMS, or an external API.\n * @returns The sanitized `href` when safe, `undefined` otherwise.\n *\n * @example\n * sanitizeHref('/accounts/42'); // '/accounts/42'\n * sanitizeHref('https://example.com'); // 'https://example.com'\n * sanitizeHref('mailto:test@example.com'); // 'mailto:test@example.com'\n * sanitizeHref('//evil.com'); // undefined\n * sanitizeHref('/\\\\evil.com'); // undefined\n * sanitizeHref('javascript:alert(1)'); // undefined\n */\nexport default function sanitizeHref(href) {\n const normalized = href.trim().replace(IGNORED_CHARS, '');\n if (!normalized)\n return undefined;\n if (SCHEME_RELATIVE.test(normalized))\n return undefined;\n if (LEADING_SEPARATOR.test(normalized))\n return `/${normalized.slice(1)}`;\n try {\n const { protocol } = new URL(normalized);\n return SAFE_SCHEMES.has(protocol) ? normalized : undefined;\n }\n catch (_a) {\n return undefined;\n }\n}\n//# sourceMappingURL=sanitizeHref.js.map"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AACpE;AACA;AACA;AACA;AACA,MAAM,aAAa,GAAG,WAAW;AACjC;AACA;AACA;AACA;AACA,MAAM,eAAe,GAAG,WAAW;AACnC,MAAM,iBAAiB,GAAG,QAAQ;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,YAAY,CAAC,IAAI,EAAE;AAC3C,IAAI,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;AAC7D,IAAI,IAAI,CAAC,UAAU;AACnB,QAAQ,OAAO,SAAS;AACxB,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC;AACxC,QAAQ,OAAO,SAAS;AACxB,IAAI,IAAI,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;AAC1C,QAAQ,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,IAAI,IAAI;AACR,QAAQ,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC;AAChD,QAAQ,OAAO,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,UAAU,GAAG,SAAS;AAClE,IAAI;AACJ,IAAI,OAAO,EAAE,EAAE;AACf,QAAQ,OAAO,SAAS;AACxB,IAAI;AACJ;;;;"}
@@ -0,0 +1,14 @@
1
+ import { PhoneNumberUtil } from 'google-libphonenumber';
2
+
3
+ const phoneUtil = PhoneNumberUtil.getInstance();
4
+ function validatePhoneNumber(phone) {
5
+ try {
6
+ return phoneUtil.isValidNumber(phoneUtil.parseAndKeepRawInput(phone));
7
+ }
8
+ catch (error) {
9
+ return false;
10
+ }
11
+ }
12
+
13
+ export { validatePhoneNumber as default };
14
+ //# sourceMappingURL=validatePhoneNumber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validatePhoneNumber.js","sources":["../../../dist-transpiled/utils/validatePhoneNumber.js"],"sourcesContent":["import { PhoneNumberUtil } from 'google-libphonenumber';\nconst phoneUtil = PhoneNumberUtil.getInstance();\nexport default function validatePhoneNumber(phone) {\n try {\n return phoneUtil.isValidNumber(phoneUtil.parseAndKeepRawInput(phone));\n }\n catch (error) {\n return false;\n }\n}\n//# sourceMappingURL=validatePhoneNumber.js.map"],"names":[],"mappings":";;AACA,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,EAAE;AAChC,SAAS,mBAAmB,CAAC,KAAK,EAAE;AACnD,IAAI,IAAI;AACR,QAAQ,OAAO,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAC7E,IAAI;AACJ,IAAI,OAAO,KAAK,EAAE;AAClB,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ;;;;"}
@@ -0,0 +1,57 @@
1
+ import hasLabelContent from './hasLabelContent.js';
2
+ import isTextLabel from './isTextLabel.js';
3
+
4
+ /**
5
+ * Components already reported, keyed by component and reason, so the same
6
+ * mistake only warns once per page load however often it re-renders or however
7
+ * many instances exist.
8
+ */
9
+ const warnedLabels = new Set();
10
+ function warnOnce(key, message) {
11
+ if (warnedLabels.has(key))
12
+ return;
13
+ warnedLabels.add(key);
14
+ // eslint-disable-next-line no-console
15
+ console.warn(`[Dynamic UI] ${message} It never appears in production builds.`);
16
+ }
17
+ /**
18
+ * Warns, only outside production builds, about the two ways a non-text `label`
19
+ * goes wrong.
20
+ *
21
+ * A text label doubles as the control's accessible name. A `ReactNode` one does
22
+ * not: the name becomes whatever the subtree happens to compute to, which for a
23
+ * label carrying a link or an icon trigger reads as the wrong thing or as
24
+ * nothing at all — so an explicit name is needed. Which prop carries it differs
25
+ * per component, hence `accessibleNameProp`: naming the wrong one would send
26
+ * the developer to a prop their component rejects.
27
+ *
28
+ * `form-floating` is the second case: it animates a single line of text between
29
+ * the placeholder and the label position, so a node with its own height or its
30
+ * own interactive children breaks the layout rather than the semantics.
31
+ *
32
+ * Labels the render paths drop are skipped through the same `hasLabelContent`
33
+ * they use, so `label={condition && <span />}` with a false condition warns
34
+ * about nothing: there is no label on the page to name.
35
+ *
36
+ * The `process.env.NODE_ENV` guard belongs at the call site — that is what
37
+ * bundlers constant-fold, dropping this module from a consumer's production
38
+ * bundle.
39
+ */
40
+ function warnLabelUsage({ component, label, hasAccessibleName, accessibleNameProp, floatingLabel = false, }) {
41
+ if (!hasLabelContent(label) || isTextLabel(label))
42
+ return;
43
+ if (!hasAccessibleName) {
44
+ warnOnce(`${component}:name`, `${component}: a non-text "label" does not give the control a reliable accessible name. `
45
+ + `Pass ${accessibleNameProp} with the plain-text name of the field, since the label `
46
+ + 'subtree may include links, icons or markup that read as the wrong name or as none at all.');
47
+ }
48
+ if (floatingLabel) {
49
+ warnOnce(`${component}:floating`, `${component}: "floatingLabel" expects a text "label". `
50
+ + 'The floating layout animates a single line of text, so a node with its own height '
51
+ + 'or its own interactive children overflows the control. '
52
+ + 'Use the default label layout for rich labels.');
53
+ }
54
+ }
55
+
56
+ export { warnLabelUsage as default };
57
+ //# sourceMappingURL=warnLabelUsage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warnLabelUsage.js","sources":["../../../dist-transpiled/utils/warnLabelUsage.js"],"sourcesContent":["import hasLabelContent from './hasLabelContent';\nimport isTextLabel from './isTextLabel';\n/**\n * Components already reported, keyed by component and reason, so the same\n * mistake only warns once per page load however often it re-renders or however\n * many instances exist.\n */\nconst warnedLabels = new Set();\nfunction warnOnce(key, message) {\n if (warnedLabels.has(key))\n return;\n warnedLabels.add(key);\n // eslint-disable-next-line no-console\n console.warn(`[Dynamic UI] ${message} It never appears in production builds.`);\n}\n/**\n * Warns, only outside production builds, about the two ways a non-text `label`\n * goes wrong.\n *\n * A text label doubles as the control's accessible name. A `ReactNode` one does\n * not: the name becomes whatever the subtree happens to compute to, which for a\n * label carrying a link or an icon trigger reads as the wrong thing or as\n * nothing at all — so an explicit name is needed. Which prop carries it differs\n * per component, hence `accessibleNameProp`: naming the wrong one would send\n * the developer to a prop their component rejects.\n *\n * `form-floating` is the second case: it animates a single line of text between\n * the placeholder and the label position, so a node with its own height or its\n * own interactive children breaks the layout rather than the semantics.\n *\n * Labels the render paths drop are skipped through the same `hasLabelContent`\n * they use, so `label={condition && <span />}` with a false condition warns\n * about nothing: there is no label on the page to name.\n *\n * The `process.env.NODE_ENV` guard belongs at the call site — that is what\n * bundlers constant-fold, dropping this module from a consumer's production\n * bundle.\n */\nexport default function warnLabelUsage({ component, label, hasAccessibleName, accessibleNameProp, floatingLabel = false, }) {\n if (!hasLabelContent(label) || isTextLabel(label))\n return;\n if (!hasAccessibleName) {\n warnOnce(`${component}:name`, `${component}: a non-text \"label\" does not give the control a reliable accessible name. `\n + `Pass ${accessibleNameProp} with the plain-text name of the field, since the label `\n + 'subtree may include links, icons or markup that read as the wrong name or as none at all.');\n }\n if (floatingLabel) {\n warnOnce(`${component}:floating`, `${component}: \"floatingLabel\" expects a text \"label\". `\n + 'The floating layout animates a single line of text, so a node with its own height '\n + 'or its own interactive children overflows the control. '\n + 'Use the default label layout for rich labels.');\n }\n}\n//# sourceMappingURL=warnLabelUsage.js.map"],"names":[],"mappings":";;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY,GAAG,IAAI,GAAG,EAAE;AAC9B,SAAS,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE;AAChC,IAAI,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;AAC7B,QAAQ;AACR,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;AACzB;AACA,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,OAAO,CAAC,uCAAuC,CAAC,CAAC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAAS,cAAc,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,aAAa,GAAG,KAAK,GAAG,EAAE;AAC5H,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,KAAK,CAAC;AACrD,QAAQ;AACR,IAAI,IAAI,CAAC,iBAAiB,EAAE;AAC5B,QAAQ,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,2EAA2E;AAC9H,cAAc,CAAC,KAAK,EAAE,kBAAkB,CAAC,wDAAwD;AACjG,cAAc,2FAA2F,CAAC;AAC1G,IAAI;AACJ,IAAI,IAAI,aAAa,EAAE;AACvB,QAAQ,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,0CAA0C;AACjG,cAAc;AACd,cAAc;AACd,cAAc,+CAA+C,CAAC;AAC9D,IAAI;AACJ;;;;"}
@@ -0,0 +1,33 @@
1
+ {
2
+ "dynamicUi": "2.11.0",
3
+ "lucideReact": "^0.553.0",
4
+ "icons": [
5
+ "AlertCircle",
6
+ "AlertTriangle",
7
+ "Calendar",
8
+ "Check",
9
+ "CheckCircle",
10
+ "ChevronDown",
11
+ "ChevronLeft",
12
+ "ChevronRight",
13
+ "ChevronUp",
14
+ "Eye",
15
+ "EyeOff",
16
+ "Info",
17
+ "Minus",
18
+ "Plus",
19
+ "Search",
20
+ "Upload",
21
+ "X",
22
+ "Circle",
23
+ "CircleCheck",
24
+ "CircleCheckBig",
25
+ "Download",
26
+ "FileText",
27
+ "MoreVertical",
28
+ "Paperclip",
29
+ "RefreshCw",
30
+ "Share2",
31
+ "Trash"
32
+ ]
33
+ }