@dynamic-framework/ui-react 2.9.0 → 2.10.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 (402) hide show
  1. package/dist/css/dynamic-ui.css +1 -1
  2. package/dist/css/dynamic-ui.min.css +1 -1
  3. package/dist/esm/components/DAlert/DAlert.js +16 -0
  4. package/dist/esm/components/DAlert/DAlert.js.map +1 -0
  5. package/dist/esm/components/DAlert/index.js +6 -0
  6. package/dist/esm/components/DAlert/index.js.map +1 -0
  7. package/dist/esm/components/DAvatar/DAvatar.js +23 -0
  8. package/dist/esm/components/DAvatar/DAvatar.js.map +1 -0
  9. package/dist/esm/components/DAvatar/index.js +6 -0
  10. package/dist/esm/components/DAvatar/index.js.map +1 -0
  11. package/dist/esm/components/DBadge/DBadge.js +31 -0
  12. package/dist/esm/components/DBadge/DBadge.js.map +1 -0
  13. package/dist/esm/components/DBadge/index.js +6 -0
  14. package/dist/esm/components/DBadge/index.js.map +1 -0
  15. package/dist/esm/components/DBox/DBox.js +9 -0
  16. package/dist/esm/components/DBox/DBox.js.map +1 -0
  17. package/dist/esm/components/DBox/index.js +6 -0
  18. package/dist/esm/components/DBox/index.js.map +1 -0
  19. package/dist/esm/components/DBoxFile/DBoxFile.js +26 -0
  20. package/dist/esm/components/DBoxFile/DBoxFile.js.map +1 -0
  21. package/dist/esm/components/DBoxFile/index.js +6 -0
  22. package/dist/esm/components/DBoxFile/index.js.map +1 -0
  23. package/dist/esm/components/DBoxFile/useDBoxFile.js +236 -0
  24. package/dist/esm/components/DBoxFile/useDBoxFile.js.map +1 -0
  25. package/dist/esm/components/DBoxFile/utils.js +127 -0
  26. package/dist/esm/components/DBoxFile/utils.js.map +1 -0
  27. package/dist/esm/components/DButton/DButton.js +84 -0
  28. package/dist/esm/components/DButton/DButton.js.map +1 -0
  29. package/dist/esm/components/DButton/index.js +6 -0
  30. package/dist/esm/components/DButton/index.js.map +1 -0
  31. package/dist/esm/components/DButtonIcon/DButtonIcon.js +52 -0
  32. package/dist/esm/components/DButtonIcon/DButtonIcon.js.map +1 -0
  33. package/dist/esm/components/DButtonIcon/index.js +6 -0
  34. package/dist/esm/components/DButtonIcon/index.js.map +1 -0
  35. package/dist/esm/components/DButtonIcon/warnMissingAccessibleName.js +40 -0
  36. package/dist/esm/components/DButtonIcon/warnMissingAccessibleName.js.map +1 -0
  37. package/dist/esm/components/DCard/DCard.js +17 -0
  38. package/dist/esm/components/DCard/DCard.js.map +1 -0
  39. package/dist/esm/components/DCard/components/DCardBody.js +9 -0
  40. package/dist/esm/components/DCard/components/DCardBody.js.map +1 -0
  41. package/dist/esm/components/DCard/components/DCardFooter.js +9 -0
  42. package/dist/esm/components/DCard/components/DCardFooter.js.map +1 -0
  43. package/dist/esm/components/DCard/components/DCardHeader.js +9 -0
  44. package/dist/esm/components/DCard/components/DCardHeader.js.map +1 -0
  45. package/dist/esm/components/DCard/index.js +9 -0
  46. package/dist/esm/components/DCard/index.js.map +1 -0
  47. package/dist/esm/components/DCarousel/DCarousel.js +39 -0
  48. package/dist/esm/components/DCarousel/DCarousel.js.map +1 -0
  49. package/dist/esm/components/DCarousel/components/DCarouselSlide.js +12 -0
  50. package/dist/esm/components/DCarousel/components/DCarouselSlide.js.map +1 -0
  51. package/dist/esm/components/DCarousel/index.js +7 -0
  52. package/dist/esm/components/DCarousel/index.js.map +1 -0
  53. package/dist/esm/components/DChip/DChip.js +18 -0
  54. package/dist/esm/components/DChip/DChip.js.map +1 -0
  55. package/dist/esm/components/DChip/index.js +6 -0
  56. package/dist/esm/components/DChip/index.js.map +1 -0
  57. package/dist/esm/components/DCollapse/DCollapse.js +30 -0
  58. package/dist/esm/components/DCollapse/DCollapse.js.map +1 -0
  59. package/dist/esm/components/DCollapse/index.js +6 -0
  60. package/dist/esm/components/DCollapse/index.js.map +1 -0
  61. package/dist/esm/components/DConfirmModal/DConfirmModalContainer.js +59 -0
  62. package/dist/esm/components/DConfirmModal/DConfirmModalContainer.js.map +1 -0
  63. package/dist/esm/components/DConfirmModal/DConfirmModalUI.js +39 -0
  64. package/dist/esm/components/DConfirmModal/DConfirmModalUI.js.map +1 -0
  65. package/dist/esm/components/DConfirmModal/confirmModalStore.js +38 -0
  66. package/dist/esm/components/DConfirmModal/confirmModalStore.js.map +1 -0
  67. package/dist/esm/components/DCreditCard/DCreditCard.js +15 -0
  68. package/dist/esm/components/DCreditCard/DCreditCard.js.map +1 -0
  69. package/dist/esm/components/DCreditCard/index.js +6 -0
  70. package/dist/esm/components/DCreditCard/index.js.map +1 -0
  71. package/dist/esm/components/DCurrencyText/DCurrencyText.js +10 -0
  72. package/dist/esm/components/DCurrencyText/DCurrencyText.js.map +1 -0
  73. package/dist/esm/components/DCurrencyText/index.js +6 -0
  74. package/dist/esm/components/DCurrencyText/index.js.map +1 -0
  75. package/dist/esm/components/DDataStateWrapper/DDataStateWrapper.js +35 -0
  76. package/dist/esm/components/DDataStateWrapper/DDataStateWrapper.js.map +1 -0
  77. package/dist/esm/components/DDataStateWrapper/components/EmptyState.js +10 -0
  78. package/dist/esm/components/DDataStateWrapper/components/EmptyState.js.map +1 -0
  79. package/dist/esm/components/DDataStateWrapper/components/ErrorState.js +10 -0
  80. package/dist/esm/components/DDataStateWrapper/components/ErrorState.js.map +1 -0
  81. package/dist/esm/components/DDataStateWrapper/components/LoadingState.js +8 -0
  82. package/dist/esm/components/DDataStateWrapper/components/LoadingState.js.map +1 -0
  83. package/dist/esm/components/DDataStateWrapper/index.js +9 -0
  84. package/dist/esm/components/DDataStateWrapper/index.js.map +1 -0
  85. package/dist/esm/components/DDatePicker/DDatePicker.js +54 -0
  86. package/dist/esm/components/DDatePicker/DDatePicker.js.map +1 -0
  87. package/dist/esm/components/DDatePicker/components/DDatePickerHeaderSelector.js +50 -0
  88. package/dist/esm/components/DDatePicker/components/DDatePickerHeaderSelector.js.map +1 -0
  89. package/dist/esm/components/DDatePicker/components/DDatePickerInput.js +16 -0
  90. package/dist/esm/components/DDatePicker/components/DDatePickerInput.js.map +1 -0
  91. package/dist/esm/components/DDatePicker/components/DDatePickerTime.js +11 -0
  92. package/dist/esm/components/DDatePicker/components/DDatePickerTime.js.map +1 -0
  93. package/dist/esm/components/DDatePicker/index.js +6 -0
  94. package/dist/esm/components/DDatePicker/index.js.map +1 -0
  95. package/dist/esm/components/DDropdown/DDropdown.js +315 -0
  96. package/dist/esm/components/DDropdown/DDropdown.js.map +1 -0
  97. package/dist/esm/components/DDropdown/index.js +6 -0
  98. package/dist/esm/components/DDropdown/index.js.map +1 -0
  99. package/dist/esm/components/DErrorBoundary/DErrorBoundary.js +22 -0
  100. package/dist/esm/components/DErrorBoundary/DErrorBoundary.js.map +1 -0
  101. package/dist/esm/components/DErrorBoundary/components/DefaultErrorBoundary.js +10 -0
  102. package/dist/esm/components/DErrorBoundary/components/DefaultErrorBoundary.js.map +1 -0
  103. package/dist/esm/components/DErrorBoundary/index.js +7 -0
  104. package/dist/esm/components/DErrorBoundary/index.js.map +1 -0
  105. package/dist/esm/components/DIcon/DIcon.js +21 -0
  106. package/dist/esm/components/DIcon/DIcon.js.map +1 -0
  107. package/dist/esm/components/DIcon/index.js +6 -0
  108. package/dist/esm/components/DIcon/index.js.map +1 -0
  109. package/dist/esm/components/DIconBase/DIconBase.js +146 -0
  110. package/dist/esm/components/DIconBase/DIconBase.js.map +1 -0
  111. package/dist/esm/components/DIconBase/index.js +6 -0
  112. package/dist/esm/components/DIconBase/index.js.map +1 -0
  113. package/dist/esm/components/DIconBase/resolveIconFromRegistry.js +20 -0
  114. package/dist/esm/components/DIconBase/resolveIconFromRegistry.js.map +1 -0
  115. package/dist/esm/components/DIconBase/warnUnknownIcon.js +59 -0
  116. package/dist/esm/components/DIconBase/warnUnknownIcon.js.map +1 -0
  117. package/dist/esm/components/DInput/DInput.js +83 -0
  118. package/dist/esm/components/DInput/DInput.js.map +1 -0
  119. package/dist/esm/components/DInput/index.js +6 -0
  120. package/dist/esm/components/DInput/index.js.map +1 -0
  121. package/dist/esm/components/DInputCheck/DInputCheck.js +57 -0
  122. package/dist/esm/components/DInputCheck/DInputCheck.js.map +1 -0
  123. package/dist/esm/components/DInputCheck/index.js +6 -0
  124. package/dist/esm/components/DInputCheck/index.js.map +1 -0
  125. package/dist/esm/components/DInputCounter/DInputCounter.js +49 -0
  126. package/dist/esm/components/DInputCounter/DInputCounter.js.map +1 -0
  127. package/dist/esm/components/DInputCounter/index.js +6 -0
  128. package/dist/esm/components/DInputCounter/index.js.map +1 -0
  129. package/dist/esm/components/DInputCurrency/DInputCurrency.js +20 -0
  130. package/dist/esm/components/DInputCurrency/DInputCurrency.js.map +1 -0
  131. package/dist/esm/components/DInputCurrency/index.js +6 -0
  132. package/dist/esm/components/DInputCurrency/index.js.map +1 -0
  133. package/dist/esm/components/DInputMask/DInputMask.js +13 -0
  134. package/dist/esm/components/DInputMask/DInputMask.js.map +1 -0
  135. package/dist/esm/components/DInputMask/index.js +6 -0
  136. package/dist/esm/components/DInputMask/index.js.map +1 -0
  137. package/dist/esm/components/DInputPassword/DInputPassword.js +24 -0
  138. package/dist/esm/components/DInputPassword/DInputPassword.js.map +1 -0
  139. package/dist/esm/components/DInputPassword/index.js +6 -0
  140. package/dist/esm/components/DInputPassword/index.js.map +1 -0
  141. package/dist/esm/components/DInputPhone/DInputPhone.js +96 -0
  142. package/dist/esm/components/DInputPhone/DInputPhone.js.map +1 -0
  143. package/dist/esm/components/DInputPhone/index.js +6 -0
  144. package/dist/esm/components/DInputPhone/index.js.map +1 -0
  145. package/dist/esm/components/DInputPin/DInputPin.js +86 -0
  146. package/dist/esm/components/DInputPin/DInputPin.js.map +1 -0
  147. package/dist/esm/components/DInputPin/index.js +6 -0
  148. package/dist/esm/components/DInputPin/index.js.map +1 -0
  149. package/dist/esm/components/DInputRange/DInputRange.js +46 -0
  150. package/dist/esm/components/DInputRange/DInputRange.js.map +1 -0
  151. package/dist/esm/components/DInputRange/index.js +6 -0
  152. package/dist/esm/components/DInputRange/index.js.map +1 -0
  153. package/dist/esm/components/DInputSearch/DInputSearch.js +57 -0
  154. package/dist/esm/components/DInputSearch/DInputSearch.js.map +1 -0
  155. package/dist/esm/components/DInputSearch/index.js +6 -0
  156. package/dist/esm/components/DInputSearch/index.js.map +1 -0
  157. package/dist/esm/components/DInputSelect/DInputSelect.js +90 -0
  158. package/dist/esm/components/DInputSelect/DInputSelect.js.map +1 -0
  159. package/dist/esm/components/DInputSelect/index.js +6 -0
  160. package/dist/esm/components/DInputSelect/index.js.map +1 -0
  161. package/dist/esm/components/DInputSwitch/DInputSwitch.js +32 -0
  162. package/dist/esm/components/DInputSwitch/DInputSwitch.js.map +1 -0
  163. package/dist/esm/components/DInputSwitch/index.js +6 -0
  164. package/dist/esm/components/DInputSwitch/index.js.map +1 -0
  165. package/dist/esm/components/DLayout/DLayout.js +22 -0
  166. package/dist/esm/components/DLayout/DLayout.js.map +1 -0
  167. package/dist/esm/components/DLayout/components/DLayoutPane.js +16 -0
  168. package/dist/esm/components/DLayout/components/DLayoutPane.js.map +1 -0
  169. package/dist/esm/components/DLayout/index.js +7 -0
  170. package/dist/esm/components/DLayout/index.js.map +1 -0
  171. package/dist/esm/components/DListGroup/DListGroup.js +31 -0
  172. package/dist/esm/components/DListGroup/DListGroup.js.map +1 -0
  173. package/dist/esm/components/DListGroup/components/DListGroupItem.js +41 -0
  174. package/dist/esm/components/DListGroup/components/DListGroupItem.js.map +1 -0
  175. package/dist/esm/components/DListGroup/index.js +7 -0
  176. package/dist/esm/components/DListGroup/index.js.map +1 -0
  177. package/dist/esm/components/DModal/DModal.js +37 -0
  178. package/dist/esm/components/DModal/DModal.js.map +1 -0
  179. package/dist/esm/components/DModal/components/DModalBody.js +9 -0
  180. package/dist/esm/components/DModal/components/DModalBody.js.map +1 -0
  181. package/dist/esm/components/DModal/components/DModalFooter.js +14 -0
  182. package/dist/esm/components/DModal/components/DModalFooter.js.map +1 -0
  183. package/dist/esm/components/DModal/components/DModalHeader.js +15 -0
  184. package/dist/esm/components/DModal/components/DModalHeader.js.map +1 -0
  185. package/dist/esm/components/DModal/index.js +9 -0
  186. package/dist/esm/components/DModal/index.js.map +1 -0
  187. package/dist/esm/components/DOffcanvas/DOffcanvas.js +82 -0
  188. package/dist/esm/components/DOffcanvas/DOffcanvas.js.map +1 -0
  189. package/dist/esm/components/DOffcanvas/components/DOffcanvasBody.js +9 -0
  190. package/dist/esm/components/DOffcanvas/components/DOffcanvasBody.js.map +1 -0
  191. package/dist/esm/components/DOffcanvas/components/DOffcanvasFooter.js +14 -0
  192. package/dist/esm/components/DOffcanvas/components/DOffcanvasFooter.js.map +1 -0
  193. package/dist/esm/components/DOffcanvas/components/DOffcanvasHeader.js +15 -0
  194. package/dist/esm/components/DOffcanvas/components/DOffcanvasHeader.js.map +1 -0
  195. package/dist/esm/components/DOffcanvas/index.js +9 -0
  196. package/dist/esm/components/DOffcanvas/index.js.map +1 -0
  197. package/dist/esm/components/DOtp/DOtp.js +26 -0
  198. package/dist/esm/components/DOtp/DOtp.js.map +1 -0
  199. package/dist/esm/components/DOtp/components/OtpCountdown.js +12 -0
  200. package/dist/esm/components/DOtp/components/OtpCountdown.js.map +1 -0
  201. package/dist/esm/components/DOtp/index.js +6 -0
  202. package/dist/esm/components/DOtp/index.js.map +1 -0
  203. package/dist/esm/components/DPaginator/DPaginator.js +12 -0
  204. package/dist/esm/components/DPaginator/DPaginator.js.map +1 -0
  205. package/dist/esm/components/DPaginator/index.js +6 -0
  206. package/dist/esm/components/DPaginator/index.js.map +1 -0
  207. package/dist/esm/components/DPasswordStrengthMeter/DPasswordStrengthMeter.js +27 -0
  208. package/dist/esm/components/DPasswordStrengthMeter/DPasswordStrengthMeter.js.map +1 -0
  209. package/dist/esm/components/DPasswordStrengthMeter/PasswordCheckItem.js +10 -0
  210. package/dist/esm/components/DPasswordStrengthMeter/PasswordCheckItem.js.map +1 -0
  211. package/dist/esm/components/DPasswordStrengthMeter/PasswordCheckList.js +41 -0
  212. package/dist/esm/components/DPasswordStrengthMeter/PasswordCheckList.js.map +1 -0
  213. package/dist/esm/components/DPasswordStrengthMeter/PasswordStrength.js +23 -0
  214. package/dist/esm/components/DPasswordStrengthMeter/PasswordStrength.js.map +1 -0
  215. package/dist/esm/components/DPasswordStrengthMeter/index.js +6 -0
  216. package/dist/esm/components/DPasswordStrengthMeter/index.js.map +1 -0
  217. package/dist/esm/components/DPopover/DPopover.js +49 -0
  218. package/dist/esm/components/DPopover/DPopover.js.map +1 -0
  219. package/dist/esm/components/DPopover/index.js +6 -0
  220. package/dist/esm/components/DPopover/index.js.map +1 -0
  221. package/dist/esm/components/DProgress/DProgress.js +16 -0
  222. package/dist/esm/components/DProgress/DProgress.js.map +1 -0
  223. package/dist/esm/components/DProgress/index.js +6 -0
  224. package/dist/esm/components/DProgress/index.js.map +1 -0
  225. package/dist/esm/components/DSelect/DSelect.js +60 -0
  226. package/dist/esm/components/DSelect/DSelect.js.map +1 -0
  227. package/dist/esm/components/DSelect/components/DSelectClearIndicator.js +12 -0
  228. package/dist/esm/components/DSelect/components/DSelectClearIndicator.js.map +1 -0
  229. package/dist/esm/components/DSelect/components/DSelectDropdownIndicator.js +12 -0
  230. package/dist/esm/components/DSelect/components/DSelectDropdownIndicator.js.map +1 -0
  231. package/dist/esm/components/DSelect/components/DSelectLoadingIndicator.js +12 -0
  232. package/dist/esm/components/DSelect/components/DSelectLoadingIndicator.js.map +1 -0
  233. package/dist/esm/components/DSelect/components/DSelectMultiValueRemove.js +12 -0
  234. package/dist/esm/components/DSelect/components/DSelectMultiValueRemove.js.map +1 -0
  235. package/dist/esm/components/DSelect/components/DSelectOptionCheck.js +14 -0
  236. package/dist/esm/components/DSelect/components/DSelectOptionCheck.js.map +1 -0
  237. package/dist/esm/components/DSelect/components/DSelectOptionEmoji.js +14 -0
  238. package/dist/esm/components/DSelect/components/DSelectOptionEmoji.js.map +1 -0
  239. package/dist/esm/components/DSelect/components/DSelectOptionIcon.js +15 -0
  240. package/dist/esm/components/DSelect/components/DSelectOptionIcon.js.map +1 -0
  241. package/dist/esm/components/DSelect/components/DSelectPlaceholder.js +14 -0
  242. package/dist/esm/components/DSelect/components/DSelectPlaceholder.js.map +1 -0
  243. package/dist/esm/components/DSelect/components/DSelectSingleValueEmoji.js +15 -0
  244. package/dist/esm/components/DSelect/components/DSelectSingleValueEmoji.js.map +1 -0
  245. package/dist/esm/components/DSelect/components/DSelectSingleValueEmojiText.js +15 -0
  246. package/dist/esm/components/DSelect/components/DSelectSingleValueEmojiText.js.map +1 -0
  247. package/dist/esm/components/DSelect/components/DSelectSingleValueIconText.js +16 -0
  248. package/dist/esm/components/DSelect/components/DSelectSingleValueIconText.js.map +1 -0
  249. package/dist/esm/components/DSelect/index.js +6 -0
  250. package/dist/esm/components/DSelect/index.js.map +1 -0
  251. package/dist/esm/components/DStepper/DStepper.js +13 -0
  252. package/dist/esm/components/DStepper/DStepper.js.map +1 -0
  253. package/dist/esm/components/DStepper/index.js +6 -0
  254. package/dist/esm/components/DStepper/index.js.map +1 -0
  255. package/dist/esm/components/DStepperDesktop/DStepperDesktop.js +27 -0
  256. package/dist/esm/components/DStepperDesktop/DStepperDesktop.js.map +1 -0
  257. package/dist/esm/components/DStepperDesktop/index.js +6 -0
  258. package/dist/esm/components/DStepperDesktop/index.js.map +1 -0
  259. package/dist/esm/components/DStepperMobile/DStepperMobile.js +37 -0
  260. package/dist/esm/components/DStepperMobile/DStepperMobile.js.map +1 -0
  261. package/dist/esm/components/DStepperMobile/index.js +6 -0
  262. package/dist/esm/components/DStepperMobile/index.js.map +1 -0
  263. package/dist/esm/components/DTabs/DTabs.js +117 -0
  264. package/dist/esm/components/DTabs/DTabs.js.map +1 -0
  265. package/dist/esm/components/DTabs/TabContext.js +13 -0
  266. package/dist/esm/components/DTabs/TabContext.js.map +1 -0
  267. package/dist/esm/components/DTabs/components/DTabContent.js +14 -0
  268. package/dist/esm/components/DTabs/components/DTabContent.js.map +1 -0
  269. package/dist/esm/components/DTabs/index.js +8 -0
  270. package/dist/esm/components/DTabs/index.js.map +1 -0
  271. package/dist/esm/components/DTimeline/DTimeline.js +12 -0
  272. package/dist/esm/components/DTimeline/DTimeline.js.map +1 -0
  273. package/dist/esm/components/DTimeline/index.js +6 -0
  274. package/dist/esm/components/DTimeline/index.js.map +1 -0
  275. package/dist/esm/components/DToast/DToast.js +15 -0
  276. package/dist/esm/components/DToast/DToast.js.map +1 -0
  277. package/dist/esm/components/DToast/components/DToastBody.js +9 -0
  278. package/dist/esm/components/DToast/components/DToastBody.js.map +1 -0
  279. package/dist/esm/components/DToast/components/DToastHeader.js +9 -0
  280. package/dist/esm/components/DToast/components/DToastHeader.js.map +1 -0
  281. package/dist/esm/components/DToast/index.js +8 -0
  282. package/dist/esm/components/DToast/index.js.map +1 -0
  283. package/dist/esm/components/DToastContainer/DToastContainer.js +9 -0
  284. package/dist/esm/components/DToastContainer/DToastContainer.js.map +1 -0
  285. package/dist/esm/components/DToastContainer/index.js +7 -0
  286. package/dist/esm/components/DToastContainer/index.js.map +1 -0
  287. package/dist/esm/components/DToastContainer/useDToast.js +58 -0
  288. package/dist/esm/components/DToastContainer/useDToast.js.map +1 -0
  289. package/dist/esm/components/DTooltip/DTooltip.js +51 -0
  290. package/dist/esm/components/DTooltip/DTooltip.js.map +1 -0
  291. package/dist/esm/components/DTooltip/index.js +6 -0
  292. package/dist/esm/components/DTooltip/index.js.map +1 -0
  293. package/dist/esm/components/DVoucher/DVoucher.js +55 -0
  294. package/dist/esm/components/DVoucher/DVoucher.js.map +1 -0
  295. package/dist/esm/components/DVoucher/hooks/useScreenshot.js +30 -0
  296. package/dist/esm/components/DVoucher/hooks/useScreenshot.js.map +1 -0
  297. package/dist/esm/components/DVoucher/hooks/useScreenshotDownload.js +30 -0
  298. package/dist/esm/components/DVoucher/hooks/useScreenshotDownload.js.map +1 -0
  299. package/dist/esm/components/DVoucher/hooks/useScreenshotWebShare.js +27 -0
  300. package/dist/esm/components/DVoucher/hooks/useScreenshotWebShare.js.map +1 -0
  301. package/dist/esm/components/DVoucher/index.js +9 -0
  302. package/dist/esm/components/DVoucher/index.js.map +1 -0
  303. package/dist/esm/components/config.js +14 -0
  304. package/dist/esm/components/config.js.map +1 -0
  305. package/dist/esm/contexts/DContext.js +124 -0
  306. package/dist/esm/contexts/DContext.js.map +1 -0
  307. package/dist/esm/contexts/DPortalContext.js +128 -0
  308. package/dist/esm/contexts/DPortalContext.js.map +1 -0
  309. package/dist/esm/hooks/useConfirmModal.js +63 -0
  310. package/dist/esm/hooks/useConfirmModal.js.map +1 -0
  311. package/dist/esm/hooks/useCountdown.js +45 -0
  312. package/dist/esm/hooks/useCountdown.js.map +1 -0
  313. package/dist/esm/hooks/useDisableBodyScrollEffect.js +52 -0
  314. package/dist/esm/hooks/useDisableBodyScrollEffect.js.map +1 -0
  315. package/dist/esm/hooks/useDisableInputWheel.js +17 -0
  316. package/dist/esm/hooks/useDisableInputWheel.js.map +1 -0
  317. package/dist/esm/hooks/useFormatCurrency.js +16 -0
  318. package/dist/esm/hooks/useFormatCurrency.js.map +1 -0
  319. package/dist/esm/hooks/useInputCurrency.js +76 -0
  320. package/dist/esm/hooks/useInputCurrency.js.map +1 -0
  321. package/dist/esm/hooks/useItemSelection.js +35 -0
  322. package/dist/esm/hooks/useItemSelection.js.map +1 -0
  323. package/dist/esm/hooks/useMediaBreakpointUp.js +30 -0
  324. package/dist/esm/hooks/useMediaBreakpointUp.js.map +1 -0
  325. package/dist/esm/hooks/useMediaQuery.js +11 -0
  326. package/dist/esm/hooks/useMediaQuery.js.map +1 -0
  327. package/dist/esm/hooks/useOtp.js +107 -0
  328. package/dist/esm/hooks/useOtp.js.map +1 -0
  329. package/dist/esm/hooks/usePortal.js +26 -0
  330. package/dist/esm/hooks/usePortal.js.map +1 -0
  331. package/dist/esm/hooks/useProvidedRefOrCreate.js +24 -0
  332. package/dist/esm/hooks/useProvidedRefOrCreate.js.map +1 -0
  333. package/dist/esm/hooks/useResponsiveProp.js +50 -0
  334. package/dist/esm/hooks/useResponsiveProp.js.map +1 -0
  335. package/dist/esm/hooks/useStackState.js +40 -0
  336. package/dist/esm/hooks/useStackState.js.map +1 -0
  337. package/dist/esm/icons/coreIcons.js +55 -0
  338. package/dist/esm/icons/coreIcons.js.map +1 -0
  339. package/dist/esm/index.js +98 -0
  340. package/dist/esm/index.js.map +1 -0
  341. package/dist/esm/utils/attr-accept.js +38 -0
  342. package/dist/esm/utils/attr-accept.js.map +1 -0
  343. package/dist/esm/utils/buildUrl.js +57 -0
  344. package/dist/esm/utils/buildUrl.js.map +1 -0
  345. package/dist/esm/utils/changeQueryString.js +19 -0
  346. package/dist/esm/utils/changeQueryString.js.map +1 -0
  347. package/dist/esm/utils/configureI18n.js +20 -0
  348. package/dist/esm/utils/configureI18n.js.map +1 -0
  349. package/dist/esm/utils/formatCurrency.js +8 -0
  350. package/dist/esm/utils/formatCurrency.js.map +1 -0
  351. package/dist/esm/utils/getCssVariable.js +7 -0
  352. package/dist/esm/utils/getCssVariable.js.map +1 -0
  353. package/dist/esm/utils/getKeyboardFocusableElements.js +11 -0
  354. package/dist/esm/utils/getKeyboardFocusableElements.js.map +1 -0
  355. package/dist/esm/utils/getQueryString.js +8 -0
  356. package/dist/esm/utils/getQueryString.js.map +1 -0
  357. package/dist/esm/utils/mediaQuery.js +13 -0
  358. package/dist/esm/utils/mediaQuery.js.map +1 -0
  359. package/dist/esm/utils/sanitizeHref.js +67 -0
  360. package/dist/esm/utils/sanitizeHref.js.map +1 -0
  361. package/dist/esm/utils/validatePhoneNumber.js +14 -0
  362. package/dist/esm/utils/validatePhoneNumber.js.map +1 -0
  363. package/dist/icons-core.json +33 -0
  364. package/dist/index.esm.js +287 -22
  365. package/dist/index.esm.js.map +1 -1
  366. package/dist/index.js +287 -21
  367. package/dist/index.js.map +1 -1
  368. package/dist/types/components/DButtonIcon/warnMissingAccessibleName.d.ts +18 -0
  369. package/dist/types/components/DIcon/DIcon.d.ts +8 -0
  370. package/dist/types/components/DIconBase/DIconBase.d.ts +43 -1
  371. package/dist/types/components/DIconBase/resolveIconFromRegistry.d.ts +14 -0
  372. package/dist/types/components/DIconBase/warnUnknownIcon.d.ts +13 -0
  373. package/dist/types/components/DInputRange/DInputRange.d.ts +1 -1
  374. package/dist/types/components/config.d.ts +10 -0
  375. package/dist/types/icons/coreIcons.d.ts +24 -0
  376. package/dist/types/icons/index.d.ts +2 -0
  377. package/dist/types/index.d.ts +1 -0
  378. package/package.json +4 -4
  379. package/dist/types/components/DVoucher/hooks/useScreenshotDownload.spec.d.ts +0 -1
  380. package/dist/types/components/DVoucher/hooks/useScreenshotWebShare.spec.d.ts +0 -1
  381. package/dist/types/hooks/tests/useCountdown.spec.d.ts +0 -1
  382. package/dist/types/hooks/tests/useDisableBodyScrollEffect.spec.d.ts +0 -1
  383. package/dist/types/hooks/tests/useDisableInputWheel.spec.d.ts +0 -1
  384. package/dist/types/hooks/tests/useFormatCurrency.spec.d.ts +0 -1
  385. package/dist/types/hooks/tests/useInputCurrency.spec.d.ts +0 -1
  386. package/dist/types/hooks/tests/useItemSelection.spec.d.ts +0 -1
  387. package/dist/types/hooks/tests/useMediaBreakpointUp.spec.d.ts +0 -1
  388. package/dist/types/hooks/tests/useMediaQuery.spec.d.ts +0 -1
  389. package/dist/types/hooks/tests/usePortal.spec.d.ts +0 -1
  390. package/dist/types/hooks/tests/useProvidedRefOrCreate.spec.d.ts +0 -1
  391. package/dist/types/hooks/tests/useStackState.spec.d.ts +0 -1
  392. package/dist/types/utils/tests/attr-accept.spec.d.ts +0 -1
  393. package/dist/types/utils/tests/buildUrl.spec.d.ts +0 -1
  394. package/dist/types/utils/tests/changeQueryString.spec.d.ts +0 -1
  395. package/dist/types/utils/tests/configureI18n.spec.d.ts +0 -1
  396. package/dist/types/utils/tests/formatCurrency.spec.d.ts +0 -1
  397. package/dist/types/utils/tests/getCssVariable.spec.d.ts +0 -1
  398. package/dist/types/utils/tests/getKeyboardFocusableElements.spec.d.ts +0 -1
  399. package/dist/types/utils/tests/getQueryString.spec.d.ts +0 -1
  400. package/dist/types/utils/tests/mediaQuery.spec.d.ts +0 -1
  401. package/dist/types/utils/tests/sanitizeHref.spec.d.ts +0 -1
  402. package/dist/types/utils/tests/validatePhoneNumber.spec.d.ts +0 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * dynamic-framework 2.9.0
2
+ * dynamic-framework 2.10.0
3
3
  * bootstrap ~5.3.8
4
4
  * license https://github.com/dynamic-framework/dynamic-ui/blob/master/LICENSE.md
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * dynamic-framework 2.9.0
2
+ * dynamic-framework 2.10.0
3
3
  * bootstrap ~5.3.8
4
4
  * license https://github.com/dynamic-framework/dynamic-ui/blob/master/LICENSE.md
5
5
  */
@@ -0,0 +1,16 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import classNames from 'classnames';
3
+ import { useMemo } from 'react';
4
+ import DIcon from '../DIcon/DIcon.js';
5
+ import { useDContext } from '../../contexts/DContext.js';
6
+
7
+ function DAlert({ color = 'success', icon: iconProp, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle, iconClose: iconCloseProp, iconCloseFamilyClass, iconCloseFamilyPrefix, iconCloseMaterialStyle, showClose, onClose, children, id, className, style, dataAttributes, }) {
8
+ const { icon: { materialStyle, familyClass, familyPrefix, }, iconMap: { alert, xLg, }, } = useDContext();
9
+ const icon = useMemo(() => iconProp || alert[color], [alert, iconProp, color]);
10
+ const iconClose = useMemo(() => (iconCloseProp || xLg), [iconCloseProp, xLg]);
11
+ const generateClasses = useMemo(() => (Object.assign({ alert: true, [`alert-${color}`]: true, 'fade show': !!showClose }, className && { [className]: true })), [color, showClose, className]);
12
+ return (jsxs("div", Object.assign({ className: classNames(generateClasses), style: style, role: "alert", id: id }, dataAttributes, { children: [icon && (jsx(DIcon, { className: "alert-icon", icon: icon, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle })), jsx("div", { className: "alert-text", children: children }), showClose && (jsx("button", { type: "button", className: "d-close", "aria-label": "Close", onClick: onClose, children: jsx(DIcon, { icon: iconClose, familyClass: iconCloseFamilyClass !== null && iconCloseFamilyClass !== void 0 ? iconCloseFamilyClass : familyClass, familyPrefix: iconCloseFamilyPrefix !== null && iconCloseFamilyPrefix !== void 0 ? iconCloseFamilyPrefix : familyPrefix, materialStyle: iconCloseMaterialStyle !== null && iconCloseMaterialStyle !== void 0 ? iconCloseMaterialStyle : materialStyle }) }))] })));
13
+ }
14
+
15
+ export { DAlert as default };
16
+ //# sourceMappingURL=DAlert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DAlert.js","sources":["../../../../dist-transpiled/components/DAlert/DAlert.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nimport { useMemo } from 'react';\nimport DIcon from '../DIcon';\nimport { useDContext } from '../../contexts';\nexport default function DAlert({ color = 'success', icon: iconProp, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle, iconClose: iconCloseProp, iconCloseFamilyClass, iconCloseFamilyPrefix, iconCloseMaterialStyle, showClose, onClose, children, id, className, style, dataAttributes, }) {\n const { icon: { materialStyle, familyClass, familyPrefix, }, iconMap: { alert, xLg, }, } = useDContext();\n const icon = useMemo(() => iconProp || alert[color], [alert, iconProp, color]);\n const iconClose = useMemo(() => (iconCloseProp || xLg), [iconCloseProp, xLg]);\n const generateClasses = useMemo(() => (Object.assign({ alert: true, [`alert-${color}`]: true, 'fade show': !!showClose }, className && { [className]: true })), [color, showClose, className]);\n return (_jsxs(\"div\", Object.assign({ className: classNames(generateClasses), style: style, role: \"alert\", id: id }, dataAttributes, { children: [icon && (_jsx(DIcon, { className: \"alert-icon\", icon: icon, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle })), _jsx(\"div\", { className: \"alert-text\", children: children }), showClose && (_jsx(\"button\", { type: \"button\", className: \"d-close\", \"aria-label\": \"Close\", onClick: onClose, children: _jsx(DIcon, { icon: iconClose, familyClass: iconCloseFamilyClass !== null && iconCloseFamilyClass !== void 0 ? iconCloseFamilyClass : familyClass, familyPrefix: iconCloseFamilyPrefix !== null && iconCloseFamilyPrefix !== void 0 ? iconCloseFamilyPrefix : familyPrefix, materialStyle: iconCloseMaterialStyle !== null && iconCloseMaterialStyle !== void 0 ? iconCloseMaterialStyle : materialStyle }) }))] })));\n}\n//# sourceMappingURL=DAlert.js.map"],"names":["_jsxs","_jsx"],"mappings":";;;;;;AAKe,SAAS,MAAM,CAAC,EAAE,KAAK,GAAG,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,GAAG,EAAE;AAChS,IAAI,MAAM,EAAE,IAAI,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,GAAG,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,WAAW,EAAE;AAC5G,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AAClF,IAAI,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,aAAa,IAAI,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;AACjF,IAAI,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC,SAAS,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAClM,IAAI,QAAQA,IAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,IAAI,KAAKC,GAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,KAAK,IAAI,IAAI,eAAe,KAAK,MAAM,GAAG,eAAe,GAAG,WAAW,EAAE,YAAY,EAAE,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,MAAM,GAAG,gBAAgB,GAAG,YAAY,EAAE,aAAa,EAAE,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,KAAK,MAAM,GAAG,iBAAiB,GAAG,aAAa,EAAE,CAAC,CAAC,EAAEA,GAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,KAAKA,GAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAEA,GAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,oBAAoB,KAAK,IAAI,IAAI,oBAAoB,KAAK,MAAM,GAAG,oBAAoB,GAAG,WAAW,EAAE,YAAY,EAAE,qBAAqB,KAAK,IAAI,IAAI,qBAAqB,KAAK,MAAM,GAAG,qBAAqB,GAAG,YAAY,EAAE,aAAa,EAAE,sBAAsB,KAAK,IAAI,IAAI,sBAAsB,KAAK,MAAM,GAAG,sBAAsB,GAAG,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC7lC;;;;"}
@@ -0,0 +1,6 @@
1
+ import DAlert from './DAlert.js';
2
+
3
+
4
+
5
+ export { DAlert as default };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,23 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import { useMemo } from 'react';
3
+ import classNames from 'classnames';
4
+
5
+ function DAvatar({ id, size, image, name: nameProp, useNameAsInitials = false, className, style, dataAttributes, }) {
6
+ const generateClasses = useMemo(() => ({
7
+ 'd-avatar': true,
8
+ [`d-avatar-${size}`]: !!size,
9
+ }), [size]);
10
+ const name = useMemo(() => {
11
+ if (!nameProp) {
12
+ return undefined;
13
+ }
14
+ if (useNameAsInitials) {
15
+ return nameProp;
16
+ }
17
+ return nameProp.split(/\s+/).map((word) => word.charAt(0)).join('').toUpperCase();
18
+ }, [nameProp, useNameAsInitials]);
19
+ return (jsxs("div", Object.assign({ className: classNames(generateClasses, className), style: style, id: id }, dataAttributes, { children: [image && jsx("img", { src: image, alt: nameProp, className: "d-avatar-img" }), (name && !image) && jsx("span", { className: "d-avatar-name", children: name })] })));
20
+ }
21
+
22
+ export { DAvatar as default };
23
+ //# sourceMappingURL=DAvatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DAvatar.js","sources":["../../../../dist-transpiled/components/DAvatar/DAvatar.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { useMemo } from 'react';\nimport classNames from 'classnames';\nexport default function DAvatar({ id, size, image, name: nameProp, useNameAsInitials = false, className, style, dataAttributes, }) {\n const generateClasses = useMemo(() => ({\n 'd-avatar': true,\n [`d-avatar-${size}`]: !!size,\n }), [size]);\n const name = useMemo(() => {\n if (!nameProp) {\n return undefined;\n }\n if (useNameAsInitials) {\n return nameProp;\n }\n return nameProp.split(/\\s+/).map((word) => word.charAt(0)).join('').toUpperCase();\n }, [nameProp, useNameAsInitials]);\n return (_jsxs(\"div\", Object.assign({ className: classNames(generateClasses, className), style: style, id: id }, dataAttributes, { children: [image && _jsx(\"img\", { src: image, alt: nameProp, className: \"d-avatar-img\" }), (name && !image) && _jsx(\"span\", { className: \"d-avatar-name\", children: name })] })));\n}\n//# sourceMappingURL=DAvatar.js.map"],"names":["_jsxs","_jsx"],"mappings":";;;;AAGe,SAAS,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,iBAAiB,GAAG,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,GAAG,EAAE;AACnI,IAAI,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO;AAC3C,QAAQ,UAAU,EAAE,IAAI;AACxB,QAAQ,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI;AACpC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACf,IAAI,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM;AAC/B,QAAQ,IAAI,CAAC,QAAQ,EAAE;AACvB,YAAY,OAAO,SAAS;AAC5B,QAAQ;AACR,QAAQ,IAAI,iBAAiB,EAAE;AAC/B,YAAY,OAAO,QAAQ;AAC3B,QAAQ;AACR,QAAQ,OAAO,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE;AACzF,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;AACrC,IAAI,QAAQA,IAAK,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,IAAIC,GAAI,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,KAAKA,GAAI,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACtT;;;;"}
@@ -0,0 +1,6 @@
1
+ import DAvatar from './DAvatar.js';
2
+
3
+
4
+
5
+ export { DAvatar as default };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,31 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+ import classNames from 'classnames';
3
+ import { useMemo } from 'react';
4
+ import DIcon from '../DIcon/DIcon.js';
5
+ import { useResponsiveProp } from '../../hooks/useResponsiveProp.js';
6
+ import { useDContext } from '../../contexts/DContext.js';
7
+
8
+ function DBadge(props) {
9
+ const { text, soft = false, color = 'primary', id, rounded, className, size, style, iconStart, iconEnd, iconMaterialStyle, iconFamilyClass, iconFamilyPrefix, dataAttributes, } = props;
10
+ const { icon: { familyClass, familyPrefix, materialStyle, }, } = useDContext();
11
+ // Responsive size resolution using useResponsiveProp
12
+ const { responsivePropValue } = useResponsiveProp(true);
13
+ const resolvedSize = useMemo(() => {
14
+ if (!size)
15
+ return undefined;
16
+ if (typeof size === 'string')
17
+ return size;
18
+ return responsivePropValue(size);
19
+ }, [responsivePropValue, size]);
20
+ const generateClasses = useMemo(() => ({
21
+ badge: true,
22
+ [`badge-${color}`]: !!color && !soft,
23
+ [`badge-soft-${color}`]: !!color && soft,
24
+ 'rounded-pill': !!rounded,
25
+ [`badge-${resolvedSize}`]: !!resolvedSize,
26
+ }), [rounded, soft, color, resolvedSize]);
27
+ return (jsxs("span", Object.assign({ className: classNames(generateClasses, className), style: style }, id && { id }, dataAttributes, { children: [iconStart && (jsx(DIcon, { icon: iconStart, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle })), jsx("span", { children: text }), iconEnd && (jsx(DIcon, { icon: iconEnd, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle }))] })));
28
+ }
29
+
30
+ export { DBadge as default };
31
+ //# sourceMappingURL=DBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DBadge.js","sources":["../../../../dist-transpiled/components/DBadge/DBadge.js"],"sourcesContent":["import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nimport { useMemo } from 'react';\nimport DIcon from '../DIcon';\nimport { useResponsiveProp } from '../../hooks/useResponsiveProp';\nimport { useDContext } from '../../contexts';\nexport default function DBadge(props) {\n const { text, soft = false, color = 'primary', id, rounded, className, size, style, iconStart, iconEnd, iconMaterialStyle, iconFamilyClass, iconFamilyPrefix, dataAttributes, } = props;\n const { icon: { familyClass, familyPrefix, materialStyle, }, } = useDContext();\n // Responsive size resolution using useResponsiveProp\n const { responsivePropValue } = useResponsiveProp(true);\n const resolvedSize = useMemo(() => {\n if (!size)\n return undefined;\n if (typeof size === 'string')\n return size;\n return responsivePropValue(size);\n }, [responsivePropValue, size]);\n const generateClasses = useMemo(() => ({\n badge: true,\n [`badge-${color}`]: !!color && !soft,\n [`badge-soft-${color}`]: !!color && soft,\n 'rounded-pill': !!rounded,\n [`badge-${resolvedSize}`]: !!resolvedSize,\n }), [rounded, soft, color, resolvedSize]);\n return (_jsxs(\"span\", Object.assign({ className: classNames(generateClasses, className), style: style }, id && { id }, dataAttributes, { children: [iconStart && (_jsx(DIcon, { icon: iconStart, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle })), _jsx(\"span\", { children: text }), iconEnd && (_jsx(DIcon, { icon: iconEnd, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle }))] })));\n}\n//# sourceMappingURL=DBadge.js.map"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;AAMe,SAAS,MAAM,CAAC,KAAK,EAAE;AACtC,IAAI,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,GAAG,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,GAAG,GAAG,KAAK;AAC3L,IAAI,MAAM,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,GAAG,GAAG,GAAG,WAAW,EAAE;AAClF;AACA,IAAI,MAAM,EAAE,mBAAmB,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC;AAC3D,IAAI,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM;AACvC,QAAQ,IAAI,CAAC,IAAI;AACjB,YAAY,OAAO,SAAS;AAC5B,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ;AACpC,YAAY,OAAO,IAAI;AACvB,QAAQ,OAAO,mBAAmB,CAAC,IAAI,CAAC;AACxC,IAAI,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAC;AACnC,IAAI,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO;AAC3C,QAAQ,KAAK,EAAE,IAAI;AACnB,QAAQ,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,IAAI;AAC5C,QAAQ,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,IAAI;AAChD,QAAQ,cAAc,EAAE,CAAC,CAAC,OAAO;AACjC,QAAQ,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,YAAY;AACjD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;AAC7C,IAAI,QAAQA,IAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC,SAAS,KAAKC,GAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,KAAK,IAAI,IAAI,eAAe,KAAK,MAAM,GAAG,eAAe,GAAG,WAAW,EAAE,YAAY,EAAE,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,MAAM,GAAG,gBAAgB,GAAG,YAAY,EAAE,aAAa,EAAE,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,KAAK,MAAM,GAAG,iBAAiB,GAAG,aAAa,EAAE,CAAC,CAAC,EAAEA,GAAI,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,KAAKA,GAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,KAAK,IAAI,IAAI,eAAe,KAAK,MAAM,GAAG,eAAe,GAAG,WAAW,EAAE,YAAY,EAAE,gBAAgB,KAAK,IAAI,IAAI,gBAAgB,KAAK,MAAM,GAAG,gBAAgB,GAAG,YAAY,EAAE,aAAa,EAAE,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,KAAK,MAAM,GAAG,iBAAiB,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACv5B;;;;"}
@@ -0,0 +1,6 @@
1
+ import DBadge from './DBadge.js';
2
+
3
+
4
+
5
+ export { DBadge as default };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,9 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import classNames from 'classnames';
3
+
4
+ function DBox({ className, style, children, dataAttributes, }) {
5
+ return (jsx("div", Object.assign({ style: style, className: classNames('d-box', className) }, dataAttributes, { children: children })));
6
+ }
7
+
8
+ export { DBox as default };
9
+ //# sourceMappingURL=DBox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DBox.js","sources":["../../../../dist-transpiled/components/DBox/DBox.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport classNames from 'classnames';\nexport default function DBox({ className, style, children, dataAttributes, }) {\n return (_jsx(\"div\", Object.assign({ style: style, className: classNames('d-box', className) }, dataAttributes, { children: children })));\n}\n//# sourceMappingURL=DBox.js.map"],"names":["_jsx"],"mappings":";;;AAEe,SAAS,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,GAAG,EAAE;AAC9E,IAAI,QAAQA,GAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC3I;;;;"}
@@ -0,0 +1,6 @@
1
+ import DBox from './DBox.js';
2
+
3
+
4
+
5
+ export { DBox as default };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,26 @@
1
+ import { __rest } from 'tslib';
2
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
3
+ import classNames from 'classnames';
4
+ import { useMemo } from 'react';
5
+ import DIcon from '../DIcon/DIcon.js';
6
+ import ForwardedDInput from '../DInput/DInput.js';
7
+ import useDBoxFile from './useDBoxFile.js';
8
+ import { useDContext } from '../../contexts/DContext.js';
9
+
10
+ function DBoxFile(_a) {
11
+ var { icon: iconProp, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle, children, className, style, dataAttributes } = _a, props = __rest(_a, ["icon", "iconFamilyClass", "iconFamilyPrefix", "iconMaterialStyle", "children", "className", "style", "dataAttributes"]);
12
+ const { icon: { familyClass, familyPrefix, materialStyle, }, iconMap: { upload }, } = useDContext();
13
+ const icon = useMemo(() => iconProp || upload, [iconProp, upload]);
14
+ const { inputRef, rootRef, isDragValid, isDragInvalid, acceptAttr, files, handleFileSelect, handleDrop, handleDragEnter, handleDragLeave, handleClick, handleKeyDown, handleRemoveFile, openFileDialog, } = useDBoxFile(props);
15
+ return (jsxs(Fragment, { children: [jsx("section", Object.assign({ className: classNames('d-box-file', {
16
+ 'd-box-file-selected': files.length > 0,
17
+ 'd-box-file-disabled': props.disabled,
18
+ 'd-box-file-valid': isDragValid,
19
+ 'd-box-file-invalid': isDragInvalid,
20
+ }, className), style: style }, dataAttributes, { children: jsxs("div", Object.assign({ className: "d-box-file-dropzone", ref: rootRef, onDragEnter: handleDragEnter, onDragOver: (e) => e.preventDefault(), onDragLeave: handleDragLeave, onDrop: handleDrop, onClick: handleClick, onKeyDown: handleKeyDown }, (!props.disabled && !props.noKeyboard ? { tabIndex: 0 } : {}), { role: "presentation", children: [jsx("input", { type: "file", multiple: props.multiple, style: { display: 'none' }, ref: inputRef, disabled: props.disabled, onChange: handleFileSelect, onClick: (e) => e.stopPropagation(), tabIndex: -1, accept: acceptAttr }), icon && iconProp !== false && (jsx(DIcon, { icon: icon, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle })), jsx("div", { className: "d-box-content", children: typeof children === 'function'
21
+ ? children(openFileDialog)
22
+ : children || (jsx("p", { className: "d-box-file-empty-text", children: "Drag and drop some files here, or click to select files" })) })] })) })), !!files.length && (jsx("ul", { className: "d-box-files", children: files.map((file, index) => (jsx(ForwardedDInput, { value: file.name, iconStart: "Paperclip", iconEnd: "Trash", readOnly: true, onIconEndClick: () => handleRemoveFile(index) }, `${file.name} ${index}`))) }))] }));
23
+ }
24
+
25
+ export { DBoxFile as default };
26
+ //# sourceMappingURL=DBoxFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DBoxFile.js","sources":["../../../../dist-transpiled/components/DBoxFile/DBoxFile.js"],"sourcesContent":["import { __rest } from \"tslib\";\nimport { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\n/* eslint-disable react/no-array-index-key */\nimport classnames from 'classnames';\nimport { useMemo } from 'react';\nimport DIcon from '../DIcon';\nimport DInput from '../DInput';\nimport { useDContext } from '../../contexts';\nimport useDBoxFile from './useDBoxFile';\nexport default function DBoxFile(_a) {\n var { icon: iconProp, iconFamilyClass, iconFamilyPrefix, iconMaterialStyle, children, className, style, dataAttributes } = _a, props = __rest(_a, [\"icon\", \"iconFamilyClass\", \"iconFamilyPrefix\", \"iconMaterialStyle\", \"children\", \"className\", \"style\", \"dataAttributes\"]);\n const { icon: { familyClass, familyPrefix, materialStyle, }, iconMap: { upload }, } = useDContext();\n const icon = useMemo(() => iconProp || upload, [iconProp, upload]);\n const { inputRef, rootRef, isDragValid, isDragInvalid, acceptAttr, files, handleFileSelect, handleDrop, handleDragEnter, handleDragLeave, handleClick, handleKeyDown, handleRemoveFile, openFileDialog, } = useDBoxFile(props);\n return (_jsxs(_Fragment, { children: [_jsx(\"section\", Object.assign({ className: classnames('d-box-file', {\n 'd-box-file-selected': files.length > 0,\n 'd-box-file-disabled': props.disabled,\n 'd-box-file-valid': isDragValid,\n 'd-box-file-invalid': isDragInvalid,\n }, className), style: style }, dataAttributes, { children: _jsxs(\"div\", Object.assign({ className: \"d-box-file-dropzone\", ref: rootRef, onDragEnter: handleDragEnter, onDragOver: (e) => e.preventDefault(), onDragLeave: handleDragLeave, onDrop: handleDrop, onClick: handleClick, onKeyDown: handleKeyDown }, (!props.disabled && !props.noKeyboard ? { tabIndex: 0 } : {}), { role: \"presentation\", children: [_jsx(\"input\", { type: \"file\", multiple: props.multiple, style: { display: 'none' }, ref: inputRef, disabled: props.disabled, onChange: handleFileSelect, onClick: (e) => e.stopPropagation(), tabIndex: -1, accept: acceptAttr }), icon && iconProp !== false && (_jsx(DIcon, { icon: icon, familyClass: iconFamilyClass !== null && iconFamilyClass !== void 0 ? iconFamilyClass : familyClass, familyPrefix: iconFamilyPrefix !== null && iconFamilyPrefix !== void 0 ? iconFamilyPrefix : familyPrefix, materialStyle: iconMaterialStyle !== null && iconMaterialStyle !== void 0 ? iconMaterialStyle : materialStyle })), _jsx(\"div\", { className: \"d-box-content\", children: typeof children === 'function'\n ? children(openFileDialog)\n : children || (_jsx(\"p\", { className: \"d-box-file-empty-text\", children: \"Drag and drop some files here, or click to select files\" })) })] })) })), !!files.length && (_jsx(\"ul\", { className: \"d-box-files\", children: files.map((file, index) => (_jsx(DInput, { value: file.name, iconStart: \"Paperclip\", iconEnd: \"Trash\", readOnly: true, onIconEndClick: () => handleRemoveFile(index) }, `${file.name} ${index}`))) }))] }));\n}\n//# sourceMappingURL=DBoxFile.js.map"],"names":["_jsxs","_Fragment","_jsx","classnames","DInput"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import DBoxFile from './DBoxFile.js';
2
+
3
+
4
+
5
+ export { DBoxFile as default };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
@@ -0,0 +1,236 @@
1
+ import { useRef, useMemo, useState, useCallback, useEffect } from 'react';
2
+ import { fromEvent } from 'file-selector';
3
+ import { DEFAULT_PROPS, acceptPropAsAcceptAttr, urlsToFiles, fileAccepted, fileMatchSize, ErrorCodes, isIeOrEdge } from './utils.js';
4
+
5
+ /* eslint-disable no-param-reassign */
6
+ function useDBoxFile(props) {
7
+ const { accept, autoFocus, disabled, maxSize, minSize, multiple, maxFiles, value: preloadUrls, onDragEnter, onDragLeave, onDrop, onError, onLoad, noClick, noKeyboard, noDrag, } = Object.assign(Object.assign({}, DEFAULT_PROPS), props);
8
+ const inputRef = useRef(null);
9
+ const rootRef = useRef(null);
10
+ const dragTargetsRef = useRef([]);
11
+ const acceptAttr = useMemo(() => acceptPropAsAcceptAttr(accept), [accept]);
12
+ const [files, setFiles] = useState([]);
13
+ const [isDragValid, setIsDragValid] = useState(false);
14
+ const [isDragInvalid, setIsDragInvalid] = useState(false);
15
+ const preventDropOnDocument = useCallback((event) => {
16
+ if (rootRef.current && rootRef.current.contains(event.target)) {
17
+ // If we intercepted an event for our instance
18
+ // let it propagate down to the instance's onDrop handler
19
+ return;
20
+ }
21
+ event.preventDefault();
22
+ dragTargetsRef.current = [];
23
+ }, []);
24
+ useEffect(() => {
25
+ // Prevent drop over anywhere in the document
26
+ document.addEventListener('dragover', preventDropOnDocument, false);
27
+ document.addEventListener('drop', preventDropOnDocument, false);
28
+ return () => {
29
+ document.removeEventListener('dragover', preventDropOnDocument);
30
+ document.removeEventListener('drop', preventDropOnDocument);
31
+ };
32
+ }, [preventDropOnDocument]);
33
+ // Auto focus the root when autoFocus is true
34
+ useEffect(() => {
35
+ if (!disabled && autoFocus && rootRef.current) {
36
+ rootRef.current.focus();
37
+ }
38
+ }, [rootRef, autoFocus, disabled]);
39
+ useEffect(() => {
40
+ if (!preloadUrls || !preloadUrls.length)
41
+ return;
42
+ // eslint-disable-next-line no-void
43
+ void (async () => {
44
+ const [accepted, errors] = await urlsToFiles(preloadUrls);
45
+ if (accepted.length) {
46
+ setFiles(accepted);
47
+ onLoad === null || onLoad === void 0 ? void 0 : onLoad(accepted);
48
+ }
49
+ if (errors.length) {
50
+ onError === null || onError === void 0 ? void 0 : onError(new Error(errors.map((e) => e.message).join(', ')));
51
+ }
52
+ })();
53
+ }, [
54
+ preloadUrls,
55
+ onError,
56
+ onLoad,
57
+ ]);
58
+ const processFiles = useCallback((inputFiles, event) => {
59
+ let acceptedFiles = [];
60
+ let rejectedFiles = [];
61
+ // Handle size and type validation
62
+ inputFiles.forEach((file) => {
63
+ const [isTypeValid, acceptError] = fileAccepted(file, acceptAttr);
64
+ const [isSizeValid, sizeError] = fileMatchSize(file, minSize, maxSize);
65
+ const errors = [acceptError, sizeError].filter((e) => Boolean(e));
66
+ if (isTypeValid && isSizeValid) {
67
+ acceptedFiles = [...acceptedFiles, file];
68
+ }
69
+ else {
70
+ rejectedFiles = [...rejectedFiles, { file, errors }];
71
+ }
72
+ });
73
+ // Handle maxFiles overflow by trimming
74
+ const total = files.length + acceptedFiles.length;
75
+ if (total > maxFiles) {
76
+ const allowed = Math.max(0, maxFiles - files.length);
77
+ const accepted = acceptedFiles.slice(0, allowed);
78
+ const rejected = acceptedFiles.slice(allowed).map((file) => ({
79
+ file,
80
+ errors: [
81
+ {
82
+ code: ErrorCodes.TooManyFiles,
83
+ message: `Exceeds maximum number of files (${maxFiles})`,
84
+ },
85
+ ],
86
+ }));
87
+ acceptedFiles = [...accepted];
88
+ rejectedFiles = [...rejectedFiles, ...rejected];
89
+ }
90
+ if (multiple) {
91
+ setFiles((prev) => [...prev, ...acceptedFiles]);
92
+ }
93
+ else {
94
+ setFiles(acceptedFiles.slice(0, 1));
95
+ }
96
+ if (onDrop) {
97
+ onDrop(acceptedFiles, rejectedFiles, event);
98
+ }
99
+ }, [
100
+ acceptAttr,
101
+ files,
102
+ maxFiles,
103
+ maxSize,
104
+ minSize,
105
+ multiple,
106
+ onDrop,
107
+ ]);
108
+ const handleDragEnter = useCallback((event) => {
109
+ event.preventDefault();
110
+ event.stopPropagation();
111
+ if (disabled || noDrag)
112
+ return;
113
+ if (event.target instanceof HTMLElement) {
114
+ dragTargetsRef.current = [...dragTargetsRef.current, event.target];
115
+ }
116
+ fromEvent(event).then((eventFiles) => {
117
+ const fileCount = eventFiles.length;
118
+ if (fileCount === 0) {
119
+ setIsDragValid(false);
120
+ setIsDragInvalid(true);
121
+ return;
122
+ }
123
+ const isDragAccepted = eventFiles.every((file) => {
124
+ const [typeValid] = fileAccepted(file, acceptAttr);
125
+ const [sizeValid] = fileMatchSize(file, minSize, maxSize);
126
+ return typeValid && sizeValid;
127
+ });
128
+ setIsDragValid(isDragAccepted);
129
+ setIsDragInvalid(!isDragAccepted);
130
+ onDragEnter === null || onDragEnter === void 0 ? void 0 : onDragEnter(event);
131
+ }).catch((error) => {
132
+ onError === null || onError === void 0 ? void 0 : onError(error);
133
+ });
134
+ }, [
135
+ acceptAttr,
136
+ disabled,
137
+ maxSize,
138
+ minSize,
139
+ noDrag,
140
+ onDragEnter,
141
+ onError,
142
+ ]);
143
+ const handleDrop = useCallback((event) => {
144
+ event.preventDefault();
145
+ event.persist();
146
+ event.stopPropagation();
147
+ dragTargetsRef.current = [];
148
+ setIsDragValid(false);
149
+ setIsDragInvalid(false);
150
+ if (disabled || noDrag)
151
+ return;
152
+ const droppedArray = Array.from(event.dataTransfer.files);
153
+ processFiles(droppedArray, event.nativeEvent);
154
+ }, [
155
+ disabled,
156
+ noDrag,
157
+ processFiles,
158
+ ]);
159
+ const handleDragLeave = useCallback((event) => {
160
+ event.preventDefault();
161
+ event.stopPropagation();
162
+ if (disabled || noDrag)
163
+ return;
164
+ // Only deactivate once the dropzone and all children have been left
165
+ const targets = dragTargetsRef.current.filter((target) => rootRef.current && rootRef.current.contains(target));
166
+ // Make sure to remove a target present multiple times only once
167
+ // (Firefox may fire dragenter/dragleave multiple times on the same element)
168
+ if (event.target instanceof HTMLElement) {
169
+ const targetIdx = targets.indexOf(event.target);
170
+ if (targetIdx !== -1) {
171
+ targets.splice(targetIdx, 1);
172
+ }
173
+ dragTargetsRef.current = targets;
174
+ }
175
+ if (targets.length === 0) {
176
+ setIsDragValid(false);
177
+ setIsDragInvalid(false);
178
+ onDragLeave === null || onDragLeave === void 0 ? void 0 : onDragLeave(event);
179
+ }
180
+ }, [disabled, noDrag, onDragLeave]);
181
+ const handleFileSelect = useCallback((event) => {
182
+ const targetFiles = event.target.files;
183
+ if (!targetFiles)
184
+ return;
185
+ const selectedFiles = Array.from(targetFiles);
186
+ processFiles(selectedFiles, event.nativeEvent);
187
+ event.target.value = '';
188
+ }, [processFiles]);
189
+ const handleRemoveFile = useCallback((index) => {
190
+ setFiles((prevFiles) => prevFiles.filter((_, i) => i !== index));
191
+ // Done twice to avoid mismatch between files and setFiles value
192
+ onLoad === null || onLoad === void 0 ? void 0 : onLoad(files.filter((_, i) => i !== index));
193
+ }, [files, onLoad]);
194
+ const openFileDialog = useCallback(() => {
195
+ var _a;
196
+ if (disabled)
197
+ return;
198
+ (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.click();
199
+ }, [disabled]);
200
+ const handleClick = useCallback(() => {
201
+ if (noClick) {
202
+ return;
203
+ }
204
+ if (isIeOrEdge()) {
205
+ setTimeout(openFileDialog, 0);
206
+ }
207
+ else {
208
+ openFileDialog();
209
+ }
210
+ }, [noClick, openFileDialog]);
211
+ const handleKeyDown = useCallback((event) => {
212
+ if (!noKeyboard && (event.key === ' ' || event.key === 'Enter')) {
213
+ event.preventDefault();
214
+ openFileDialog();
215
+ }
216
+ }, [noKeyboard, openFileDialog]);
217
+ return {
218
+ inputRef,
219
+ rootRef,
220
+ files,
221
+ isDragValid,
222
+ isDragInvalid,
223
+ acceptAttr,
224
+ openFileDialog,
225
+ handleFileSelect,
226
+ handleDrop,
227
+ handleDragEnter,
228
+ handleDragLeave,
229
+ handleRemoveFile,
230
+ handleClick,
231
+ handleKeyDown,
232
+ };
233
+ }
234
+
235
+ export { useDBoxFile as default };
236
+ //# sourceMappingURL=useDBoxFile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDBoxFile.js","sources":["../../../../dist-transpiled/components/DBoxFile/useDBoxFile.js"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport { useCallback, useRef, useState, useEffect, useMemo, } from 'react';\nimport { fromEvent } from 'file-selector';\nimport { acceptPropAsAcceptAttr, DEFAULT_PROPS, ErrorCodes, fileAccepted, fileMatchSize, isIeOrEdge, urlsToFiles, } from './utils';\nexport default function useDBoxFile(props) {\n const { accept, autoFocus, disabled, maxSize, minSize, multiple, maxFiles, value: preloadUrls, onDragEnter, onDragLeave, onDrop, onError, onLoad, noClick, noKeyboard, noDrag, } = Object.assign(Object.assign({}, DEFAULT_PROPS), props);\n const inputRef = useRef(null);\n const rootRef = useRef(null);\n const dragTargetsRef = useRef([]);\n const acceptAttr = useMemo(() => acceptPropAsAcceptAttr(accept), [accept]);\n const [files, setFiles] = useState([]);\n const [isDragValid, setIsDragValid] = useState(false);\n const [isDragInvalid, setIsDragInvalid] = useState(false);\n const preventDropOnDocument = useCallback((event) => {\n if (rootRef.current && rootRef.current.contains(event.target)) {\n // If we intercepted an event for our instance\n // let it propagate down to the instance's onDrop handler\n return;\n }\n event.preventDefault();\n dragTargetsRef.current = [];\n }, []);\n useEffect(() => {\n // Prevent drop over anywhere in the document\n document.addEventListener('dragover', preventDropOnDocument, false);\n document.addEventListener('drop', preventDropOnDocument, false);\n return () => {\n document.removeEventListener('dragover', preventDropOnDocument);\n document.removeEventListener('drop', preventDropOnDocument);\n };\n }, [preventDropOnDocument]);\n // Auto focus the root when autoFocus is true\n useEffect(() => {\n if (!disabled && autoFocus && rootRef.current) {\n rootRef.current.focus();\n }\n }, [rootRef, autoFocus, disabled]);\n useEffect(() => {\n if (!preloadUrls || !preloadUrls.length)\n return;\n // eslint-disable-next-line no-void\n void (async () => {\n const [accepted, errors] = await urlsToFiles(preloadUrls);\n if (accepted.length) {\n setFiles(accepted);\n onLoad === null || onLoad === void 0 ? void 0 : onLoad(accepted);\n }\n if (errors.length) {\n onError === null || onError === void 0 ? void 0 : onError(new Error(errors.map((e) => e.message).join(', ')));\n }\n })();\n }, [\n preloadUrls,\n onError,\n onLoad,\n ]);\n const processFiles = useCallback((inputFiles, event) => {\n let acceptedFiles = [];\n let rejectedFiles = [];\n // Handle size and type validation\n inputFiles.forEach((file) => {\n const [isTypeValid, acceptError] = fileAccepted(file, acceptAttr);\n const [isSizeValid, sizeError] = fileMatchSize(file, minSize, maxSize);\n const errors = [acceptError, sizeError].filter((e) => Boolean(e));\n if (isTypeValid && isSizeValid) {\n acceptedFiles = [...acceptedFiles, file];\n }\n else {\n rejectedFiles = [...rejectedFiles, { file, errors }];\n }\n });\n // Handle maxFiles overflow by trimming\n const total = files.length + acceptedFiles.length;\n if (total > maxFiles) {\n const allowed = Math.max(0, maxFiles - files.length);\n const accepted = acceptedFiles.slice(0, allowed);\n const rejected = acceptedFiles.slice(allowed).map((file) => ({\n file,\n errors: [\n {\n code: ErrorCodes.TooManyFiles,\n message: `Exceeds maximum number of files (${maxFiles})`,\n },\n ],\n }));\n acceptedFiles = [...accepted];\n rejectedFiles = [...rejectedFiles, ...rejected];\n }\n if (multiple) {\n setFiles((prev) => [...prev, ...acceptedFiles]);\n }\n else {\n setFiles(acceptedFiles.slice(0, 1));\n }\n if (onDrop) {\n onDrop(acceptedFiles, rejectedFiles, event);\n }\n }, [\n acceptAttr,\n files,\n maxFiles,\n maxSize,\n minSize,\n multiple,\n onDrop,\n ]);\n const handleDragEnter = useCallback((event) => {\n event.preventDefault();\n event.stopPropagation();\n if (disabled || noDrag)\n return;\n if (event.target instanceof HTMLElement) {\n dragTargetsRef.current = [...dragTargetsRef.current, event.target];\n }\n fromEvent(event).then((eventFiles) => {\n const fileCount = eventFiles.length;\n if (fileCount === 0) {\n setIsDragValid(false);\n setIsDragInvalid(true);\n return;\n }\n const isDragAccepted = eventFiles.every((file) => {\n const [typeValid] = fileAccepted(file, acceptAttr);\n const [sizeValid] = fileMatchSize(file, minSize, maxSize);\n return typeValid && sizeValid;\n });\n setIsDragValid(isDragAccepted);\n setIsDragInvalid(!isDragAccepted);\n onDragEnter === null || onDragEnter === void 0 ? void 0 : onDragEnter(event);\n }).catch((error) => {\n onError === null || onError === void 0 ? void 0 : onError(error);\n });\n }, [\n acceptAttr,\n disabled,\n maxSize,\n minSize,\n noDrag,\n onDragEnter,\n onError,\n ]);\n const handleDrop = useCallback((event) => {\n event.preventDefault();\n event.persist();\n event.stopPropagation();\n dragTargetsRef.current = [];\n setIsDragValid(false);\n setIsDragInvalid(false);\n if (disabled || noDrag)\n return;\n const droppedArray = Array.from(event.dataTransfer.files);\n processFiles(droppedArray, event.nativeEvent);\n }, [\n disabled,\n noDrag,\n processFiles,\n ]);\n const handleDragLeave = useCallback((event) => {\n event.preventDefault();\n event.stopPropagation();\n if (disabled || noDrag)\n return;\n // Only deactivate once the dropzone and all children have been left\n const targets = dragTargetsRef.current.filter((target) => rootRef.current && rootRef.current.contains(target));\n // Make sure to remove a target present multiple times only once\n // (Firefox may fire dragenter/dragleave multiple times on the same element)\n if (event.target instanceof HTMLElement) {\n const targetIdx = targets.indexOf(event.target);\n if (targetIdx !== -1) {\n targets.splice(targetIdx, 1);\n }\n dragTargetsRef.current = targets;\n }\n if (targets.length === 0) {\n setIsDragValid(false);\n setIsDragInvalid(false);\n onDragLeave === null || onDragLeave === void 0 ? void 0 : onDragLeave(event);\n }\n }, [disabled, noDrag, onDragLeave]);\n const handleFileSelect = useCallback((event) => {\n const targetFiles = event.target.files;\n if (!targetFiles)\n return;\n const selectedFiles = Array.from(targetFiles);\n processFiles(selectedFiles, event.nativeEvent);\n event.target.value = '';\n }, [processFiles]);\n const handleRemoveFile = useCallback((index) => {\n setFiles((prevFiles) => prevFiles.filter((_, i) => i !== index));\n // Done twice to avoid mismatch between files and setFiles value\n onLoad === null || onLoad === void 0 ? void 0 : onLoad(files.filter((_, i) => i !== index));\n }, [files, onLoad]);\n const openFileDialog = useCallback(() => {\n var _a;\n if (disabled)\n return;\n (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.click();\n }, [disabled]);\n const handleClick = useCallback(() => {\n if (noClick) {\n return;\n }\n if (isIeOrEdge()) {\n setTimeout(openFileDialog, 0);\n }\n else {\n openFileDialog();\n }\n }, [noClick, openFileDialog]);\n const handleKeyDown = useCallback((event) => {\n if (!noKeyboard && (event.key === ' ' || event.key === 'Enter')) {\n event.preventDefault();\n openFileDialog();\n }\n }, [noKeyboard, openFileDialog]);\n return {\n inputRef,\n rootRef,\n files,\n isDragValid,\n isDragInvalid,\n acceptAttr,\n openFileDialog,\n handleFileSelect,\n handleDrop,\n handleDragEnter,\n handleDragLeave,\n handleRemoveFile,\n handleClick,\n handleKeyDown,\n };\n}\n//# sourceMappingURL=useDBoxFile.js.map"],"names":[],"mappings":"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"}