@witchcraft/ui 0.3.24 → 0.4.0-beta.1

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 (288) hide show
  1. package/README.md +54 -61
  2. package/dist/module.json +1 -1
  3. package/dist/runtime/assets/animations.css +1 -1
  4. package/dist/runtime/assets/locales/en.json +2 -0
  5. package/dist/runtime/assets/utils.css +1 -1
  6. package/dist/runtime/build/WitchcraftUiResolver.js +1 -1
  7. package/dist/runtime/components/TestControls/TestControls.vue +3 -3
  8. package/dist/runtime/components/WButton/WButton.d.vue.ts +34 -0
  9. package/dist/runtime/components/{LibButton/LibButton.vue → WButton/WButton.vue} +26 -38
  10. package/dist/runtime/components/WButton/WButton.vue.d.ts +34 -0
  11. package/dist/runtime/components/WCheckbox/WCheckbox.d.vue.ts +33 -0
  12. package/dist/runtime/components/WCheckbox/WCheckbox.vue +109 -0
  13. package/dist/runtime/components/WCheckbox/WCheckbox.vue.d.ts +33 -0
  14. package/dist/runtime/components/WColorInput/WColorInput.d.vue.ts +45 -0
  15. package/dist/runtime/components/WColorInput/WColorInput.vue +85 -0
  16. package/dist/runtime/components/WColorInput/WColorInput.vue.d.ts +45 -0
  17. package/dist/runtime/components/WColorInput/WColorSwatchButton.d.vue.ts +28 -0
  18. package/dist/runtime/components/WColorInput/WColorSwatchButton.vue +86 -0
  19. package/dist/runtime/components/WColorInput/WColorSwatchButton.vue.d.ts +28 -0
  20. package/dist/runtime/components/{LibColorPicker/LibColorPicker.d.vue.ts → WColorPicker/WColorPicker.d.vue.ts} +5 -4
  21. package/dist/runtime/components/{LibColorPicker/LibColorPicker.vue → WColorPicker/WColorPicker.vue} +40 -29
  22. package/dist/runtime/components/{LibColorPicker/LibColorPicker.vue.d.ts → WColorPicker/WColorPicker.vue.d.ts} +5 -4
  23. package/dist/runtime/components/WCombobox/WCombobox.d.vue.ts +109 -0
  24. package/dist/runtime/components/WCombobox/WCombobox.vue +402 -0
  25. package/dist/runtime/components/WCombobox/WCombobox.vue.d.ts +109 -0
  26. package/dist/runtime/components/WCombobox/storyPlays.d.ts +18 -0
  27. package/dist/runtime/components/WCombobox/storyPlays.js +68 -0
  28. package/dist/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.d.vue.ts → WDarkModeSwitcher/WDarkModeSwitcher.d.vue.ts} +8 -13
  29. package/dist/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.vue → WDarkModeSwitcher/WDarkModeSwitcher.vue} +11 -14
  30. package/dist/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.vue.d.ts → WDarkModeSwitcher/WDarkModeSwitcher.vue.d.ts} +8 -13
  31. package/dist/runtime/components/WDatePicker/WDatePicker.d.vue.ts +40 -0
  32. package/dist/runtime/components/{LibDatePicker/LibDatePicker.vue → WDatePicker/WDatePicker.vue} +3 -7
  33. package/dist/runtime/components/WDatePicker/WDatePicker.vue.d.ts +40 -0
  34. package/dist/runtime/components/{LibDatePicker/LibRangeDatePicker.vue → WDatePicker/WRangeDatePicker.vue} +16 -21
  35. package/dist/runtime/components/{LibDatePicker/LibSingleDatePicker.vue → WDatePicker/WSingleDatePicker.vue} +16 -21
  36. package/dist/runtime/components/{LibDatePicker/LibTimeZonePicker.d.vue.ts → WDatePicker/WTimeZonePicker.d.vue.ts} +1 -11
  37. package/dist/runtime/components/{LibDatePicker/LibTimeZonePicker.vue → WDatePicker/WTimeZonePicker.vue} +5 -12
  38. package/dist/runtime/components/{LibDatePicker/LibTimeZonePicker.vue.d.ts → WDatePicker/WTimeZonePicker.vue.d.ts} +1 -11
  39. package/dist/runtime/components/{LibDebug/LibDebug.vue → WDebug/WDebug.vue} +9 -12
  40. package/dist/runtime/components/{LibDevOnly/LibDevOnly.d.vue.ts → WDevOnly/WDevOnly.d.vue.ts} +0 -3
  41. package/dist/runtime/components/{LibDevOnly/LibDevOnly.vue.d.ts → WDevOnly/WDevOnly.vue.d.ts} +0 -3
  42. package/dist/runtime/components/WFileInput/WFileInput.d.vue.ts +58 -0
  43. package/dist/runtime/components/{LibFileInput/LibFileInput.vue → WFileInput/WFileInput.vue} +71 -57
  44. package/dist/runtime/components/WFileInput/WFileInput.vue.d.ts +58 -0
  45. package/dist/runtime/components/{Icon/Icon.vue.d.ts → WIcon/WIcon.d.vue.ts} +2 -6
  46. package/dist/runtime/components/{Icon/Icon.vue → WIcon/WIcon.vue} +1 -1
  47. package/dist/runtime/components/{Icon/Icon.d.vue.ts → WIcon/WIcon.vue.d.ts} +2 -6
  48. package/dist/runtime/components/{LibMultiValues/LibMultiValues.d.vue.ts → WMultiValues/WMultiValues.d.vue.ts} +8 -14
  49. package/dist/runtime/components/WMultiValues/WMultiValues.vue +149 -0
  50. package/dist/runtime/components/{LibMultiValues/LibMultiValues.vue.d.ts → WMultiValues/WMultiValues.vue.d.ts} +8 -14
  51. package/dist/runtime/components/WNotifications/WNotification.d.vue.ts +37 -0
  52. package/dist/runtime/components/{LibNotifications/LibNotification.vue → WNotifications/WNotification.vue} +38 -50
  53. package/dist/runtime/components/WNotifications/WNotification.vue.d.ts +37 -0
  54. package/dist/runtime/components/WNotifications/WNotifications.d.vue.ts +11 -0
  55. package/dist/runtime/components/{LibNotifications/LibNotifications.vue → WNotifications/WNotifications.vue} +44 -28
  56. package/dist/runtime/components/WNotifications/WNotifications.vue.d.ts +11 -0
  57. package/dist/runtime/components/WNumberInput/WNumberInput.d.vue.ts +27 -0
  58. package/dist/runtime/components/WNumberInput/WNumberInput.vue +96 -0
  59. package/dist/runtime/components/WNumberInput/WNumberInput.vue.d.ts +27 -0
  60. package/dist/runtime/components/WPagination/WPagination.d.vue.ts +59 -0
  61. package/dist/runtime/components/WPagination/WPagination.vue +182 -0
  62. package/dist/runtime/components/WPagination/WPagination.vue.d.ts +59 -0
  63. package/dist/runtime/components/WPalette/WPalette.d.vue.ts +11 -0
  64. package/dist/runtime/components/{LibPalette/LibPalette.vue → WPalette/WPalette.vue} +3 -8
  65. package/dist/runtime/components/WPalette/WPalette.vue.d.ts +11 -0
  66. package/dist/runtime/components/WPopover/WPopover.d.vue.ts +43 -0
  67. package/dist/runtime/components/WPopover/WPopover.vue +138 -0
  68. package/dist/runtime/components/WPopover/WPopover.vue.d.ts +43 -0
  69. package/dist/runtime/components/WPopup/WPopup.d.vue.ts +41 -0
  70. package/dist/runtime/components/WPopup/WPopup.vue +74 -0
  71. package/dist/runtime/components/WPopup/WPopup.vue.d.ts +41 -0
  72. package/dist/runtime/components/{LibProgressBar/LibProgressBar.d.vue.ts → WProgressBar/WProgressBar.d.vue.ts} +14 -18
  73. package/dist/runtime/components/WProgressBar/WProgressBar.vue +150 -0
  74. package/dist/runtime/components/{LibProgressBar/LibProgressBar.vue.d.ts → WProgressBar/WProgressBar.vue.d.ts} +14 -18
  75. package/dist/runtime/components/{LibRecorder/LibRecorder.d.vue.ts → WRecorder/WRecorder.d.vue.ts} +14 -29
  76. package/dist/runtime/components/{LibRecorder/LibRecorder.vue → WRecorder/WRecorder.vue} +37 -36
  77. package/dist/runtime/components/{LibRecorder/LibRecorder.vue.d.ts → WRecorder/WRecorder.vue.d.ts} +14 -29
  78. package/dist/runtime/components/{LibRoot/LibRoot.d.vue.ts → WRoot/WRoot.d.vue.ts} +6 -5
  79. package/dist/runtime/components/{LibRoot/LibRoot.vue → WRoot/WRoot.vue} +17 -15
  80. package/dist/runtime/components/{LibRoot/LibRoot.vue.d.ts → WRoot/WRoot.vue.d.ts} +6 -5
  81. package/dist/runtime/components/{LibSimpleInput/LibSimpleInput.d.vue.ts → WSimpleInput/WSimpleInput.d.vue.ts} +9 -16
  82. package/dist/runtime/components/{LibSimpleInput/LibSimpleInput.vue → WSimpleInput/WSimpleInput.vue} +12 -23
  83. package/dist/runtime/components/{LibSimpleInput/LibSimpleInput.vue.d.ts → WSimpleInput/WSimpleInput.vue.d.ts} +9 -16
  84. package/dist/runtime/components/WTable/WTable.d.vue.ts +102 -0
  85. package/dist/runtime/components/{LibTable/LibTable.vue → WTable/WTable.vue} +13 -14
  86. package/dist/runtime/components/WTable/WTable.vue.d.ts +102 -0
  87. package/dist/runtime/components/WTooltip/WTooltip.d.vue.ts +40 -0
  88. package/dist/runtime/components/WTooltip/WTooltip.vue +111 -0
  89. package/dist/runtime/components/WTooltip/WTooltip.vue.d.ts +40 -0
  90. package/dist/runtime/components/index.d.ts +20 -20
  91. package/dist/runtime/components/index.js +20 -20
  92. package/dist/runtime/composables/index.d.ts +4 -4
  93. package/dist/runtime/composables/index.js +4 -4
  94. package/dist/runtime/composables/useDelayedLoadingIndicator.d.ts +9 -0
  95. package/dist/runtime/composables/useDelayedLoadingIndicator.js +18 -0
  96. package/dist/runtime/composables/useDisplayForReka.d.ts +25 -0
  97. package/dist/runtime/composables/useDisplayForReka.js +16 -0
  98. package/dist/runtime/composables/useFallbackId.d.ts +3 -0
  99. package/dist/runtime/composables/useFallbackId.js +5 -0
  100. package/dist/runtime/composables/useInjectedDarkMode.d.ts +1 -1
  101. package/dist/runtime/composables/usePopupConstrainToStyle.d.ts +8 -0
  102. package/dist/runtime/composables/usePopupConstrainToStyle.js +8 -0
  103. package/dist/runtime/composables/useSetupDarkMode.d.ts +2 -3
  104. package/dist/runtime/composables/useSetupDarkMode.js +90 -4
  105. package/dist/runtime/helpers/NotificationHandler.d.ts +25 -3
  106. package/dist/runtime/helpers/NotificationHandler.js +5 -9
  107. package/dist/runtime/injectionKeys.d.ts +1 -5
  108. package/dist/runtime/injectionKeys.js +0 -2
  109. package/dist/runtime/types/index.d.ts +85 -27
  110. package/dist/runtime/types/index.js +1 -0
  111. package/package.json +43 -43
  112. package/src/runtime/assets/animations.css +5 -5
  113. package/src/runtime/assets/locales/en.json +2 -0
  114. package/src/runtime/assets/utils.css +43 -0
  115. package/src/runtime/build/WitchcraftUiResolver.ts +1 -1
  116. package/src/runtime/components/TestControls/TestControls.vue +3 -3
  117. package/src/runtime/components/WButton/WButton.stories.ts +112 -0
  118. package/src/runtime/components/{LibButton/LibButton.vue → WButton/WButton.vue} +34 -50
  119. package/src/runtime/components/{LibCheckbox/LibCheckbox.stories.ts → WCheckbox/WCheckbox.stories.ts} +5 -5
  120. package/src/runtime/components/WCheckbox/WCheckbox.vue +123 -0
  121. package/src/runtime/components/{LibColorInput/LibColorInput.stories.ts → WColorInput/WColorInput.stories.ts} +8 -8
  122. package/src/runtime/components/WColorInput/WColorInput.vue +112 -0
  123. package/src/runtime/components/WColorInput/WColorSwatchButton.vue +102 -0
  124. package/src/runtime/components/{LibColorPicker/LibColorPicker.stories.ts → WColorPicker/WColorPicker.stories.ts} +12 -12
  125. package/src/runtime/components/{LibColorPicker/LibColorPicker.vue → WColorPicker/WColorPicker.vue} +43 -32
  126. package/src/runtime/components/WCombobox/WCombobox.stories.ts +209 -0
  127. package/src/runtime/components/WCombobox/WCombobox.vue +446 -0
  128. package/src/runtime/components/WCombobox/storyPlays.ts +92 -0
  129. package/src/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.stories.ts → WDarkModeSwitcher/WDarkModeSwitcher.stories.ts} +6 -6
  130. package/src/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.vue → WDarkModeSwitcher/WDarkModeSwitcher.vue} +19 -30
  131. package/src/runtime/components/{LibDatePicker/LibDatePicker.stories.ts → WDatePicker/WDatePicker.stories.ts} +42 -34
  132. package/src/runtime/components/{LibDatePicker/LibDatePicker.vue → WDatePicker/WDatePicker.vue} +3 -7
  133. package/src/runtime/components/{LibDatePicker/LibRangeDatePicker.vue → WDatePicker/WRangeDatePicker.vue} +16 -22
  134. package/src/runtime/components/{LibDatePicker/LibSingleDatePicker.vue → WDatePicker/WSingleDatePicker.vue} +16 -22
  135. package/src/runtime/components/{LibDatePicker/LibTimeZonePicker.vue → WDatePicker/WTimeZonePicker.vue} +5 -12
  136. package/src/runtime/components/{LibDebug/LibDebug.stories.ts → WDebug/WDebug.stories.ts} +5 -5
  137. package/src/runtime/components/{LibDebug/LibDebug.vue → WDebug/WDebug.vue} +8 -11
  138. package/src/runtime/components/{LibDevOnly/LibDevOnly.vue → WDevOnly/WDevOnly.vue} +0 -4
  139. package/src/runtime/components/{LibFileInput/LibFileInput.stories.ts → WFileInput/WFileInput.stories.ts} +7 -7
  140. package/src/runtime/components/{LibFileInput/LibFileInput.vue → WFileInput/WFileInput.vue} +95 -98
  141. package/src/runtime/components/{Icon/Icon.vue → WIcon/WIcon.vue} +5 -8
  142. package/src/runtime/components/{LibMultiValues/LibMultiValues.stories.ts → WMultiValues/WMultiValues.stories.ts} +9 -9
  143. package/src/runtime/components/WMultiValues/WMultiValues.vue +161 -0
  144. package/src/runtime/components/{LibNotifications/LibNotification.stories.ts → WNotifications/WNotification.stories.ts} +24 -9
  145. package/src/runtime/components/{LibNotifications/LibNotification.vue → WNotifications/WNotification.vue} +46 -66
  146. package/src/runtime/components/WNotifications/WNotifications.stories.ts +139 -0
  147. package/src/runtime/components/{LibNotifications/LibNotifications.vue → WNotifications/WNotifications.vue} +60 -40
  148. package/src/runtime/components/WNumberInput/WNumberInput.vue +109 -0
  149. package/src/runtime/components/WPagination/WPagination.stories.ts +51 -0
  150. package/src/runtime/components/WPagination/WPagination.vue +207 -0
  151. package/src/runtime/components/{LibPalette/LibPalette.stories.ts → WPalette/WPalette.stories.ts} +6 -6
  152. package/src/runtime/components/{LibPalette/LibPalette.vue → WPalette/WPalette.vue} +3 -8
  153. package/src/runtime/components/WPopover/WPopover.stories.ts +218 -0
  154. package/src/runtime/components/WPopover/WPopover.vue +161 -0
  155. package/src/runtime/components/WPopup/WPopup.stories.ts +60 -0
  156. package/src/runtime/components/WPopup/WPopup.vue +93 -0
  157. package/src/runtime/components/WProgressBar/WProgressBar.stories.ts +119 -0
  158. package/src/runtime/components/WProgressBar/WProgressBar.vue +185 -0
  159. package/src/runtime/components/{LibRecorder/LibRecorder.stories.ts → WRecorder/WRecorder.stories.ts} +9 -6
  160. package/src/runtime/components/{LibRecorder/LibRecorder.vue → WRecorder/WRecorder.vue} +69 -68
  161. package/src/runtime/components/{LibRoot/LibRoot.vue → WRoot/WRoot.vue} +18 -15
  162. package/src/runtime/components/{LibSimpleInput/LibSimpleInput.stories.ts → WSimpleInput/WSimpleInput.stories.ts} +11 -12
  163. package/src/runtime/components/{LibSimpleInput/LibSimpleInput.vue → WSimpleInput/WSimpleInput.vue} +27 -44
  164. package/src/runtime/components/{LibTable/LibTable.stories.ts → WTable/WTable.stories.ts} +60 -52
  165. package/src/runtime/components/{LibTable/LibTable.vue → WTable/WTable.vue} +85 -87
  166. package/src/runtime/components/WTooltip/WTooltip.stories.ts +82 -0
  167. package/src/runtime/components/WTooltip/WTooltip.vue +126 -0
  168. package/src/runtime/components/index.ts +20 -20
  169. package/src/runtime/composables/index.ts +4 -4
  170. package/src/runtime/composables/useDelayedLoadingIndicator.ts +30 -0
  171. package/src/runtime/composables/useDisplayForReka.ts +37 -0
  172. package/src/runtime/composables/useFallbackId.ts +6 -0
  173. package/src/runtime/composables/useInjectedDarkMode.ts +1 -2
  174. package/src/runtime/composables/usePopupConstrainToStyle.ts +29 -0
  175. package/src/runtime/composables/useSetupDarkMode.ts +122 -4
  176. package/src/runtime/helpers/NotificationHandler.ts +26 -11
  177. package/src/runtime/injectionKeys.ts +1 -7
  178. package/src/runtime/types/index.ts +105 -32
  179. package/types/components.d.ts +13 -15
  180. package/dist/runtime/components/Aria/Aria.d.vue.ts +0 -6
  181. package/dist/runtime/components/Aria/Aria.vue +0 -16
  182. package/dist/runtime/components/Aria/Aria.vue.d.ts +0 -6
  183. package/dist/runtime/components/LibButton/LibButton.d.vue.ts +0 -37
  184. package/dist/runtime/components/LibButton/LibButton.vue.d.ts +0 -37
  185. package/dist/runtime/components/LibCheckbox/LibCheckbox.d.vue.ts +0 -41
  186. package/dist/runtime/components/LibCheckbox/LibCheckbox.vue +0 -103
  187. package/dist/runtime/components/LibCheckbox/LibCheckbox.vue.d.ts +0 -41
  188. package/dist/runtime/components/LibColorInput/LibColorInput.d.vue.ts +0 -64
  189. package/dist/runtime/components/LibColorInput/LibColorInput.vue +0 -162
  190. package/dist/runtime/components/LibColorInput/LibColorInput.vue.d.ts +0 -64
  191. package/dist/runtime/components/LibDatePicker/LibDatePicker.d.vue.ts +0 -191
  192. package/dist/runtime/components/LibDatePicker/LibDatePicker.vue.d.ts +0 -191
  193. package/dist/runtime/components/LibFileInput/LibFileInput.d.vue.ts +0 -46
  194. package/dist/runtime/components/LibFileInput/LibFileInput.vue.d.ts +0 -46
  195. package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.d.vue.ts +0 -256
  196. package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.vue +0 -387
  197. package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.vue.d.ts +0 -256
  198. package/dist/runtime/components/LibLabel/LibLabel.d.vue.ts +0 -27
  199. package/dist/runtime/components/LibLabel/LibLabel.vue +0 -45
  200. package/dist/runtime/components/LibLabel/LibLabel.vue.d.ts +0 -27
  201. package/dist/runtime/components/LibMultiValues/LibMultiValues.vue +0 -109
  202. package/dist/runtime/components/LibNotifications/LibNotification.d.vue.ts +0 -45
  203. package/dist/runtime/components/LibNotifications/LibNotification.vue.d.ts +0 -45
  204. package/dist/runtime/components/LibNotifications/LibNotifications.d.vue.ts +0 -15
  205. package/dist/runtime/components/LibNotifications/LibNotifications.vue.d.ts +0 -15
  206. package/dist/runtime/components/LibPagination/LibPagination.d.vue.ts +0 -105
  207. package/dist/runtime/components/LibPagination/LibPagination.vue +0 -229
  208. package/dist/runtime/components/LibPagination/LibPagination.vue.d.ts +0 -105
  209. package/dist/runtime/components/LibPalette/LibPalette.d.vue.ts +0 -15
  210. package/dist/runtime/components/LibPalette/LibPalette.vue.d.ts +0 -15
  211. package/dist/runtime/components/LibPopup/LibPopup.d.vue.ts +0 -52
  212. package/dist/runtime/components/LibPopup/LibPopup.vue +0 -365
  213. package/dist/runtime/components/LibPopup/LibPopup.vue.d.ts +0 -52
  214. package/dist/runtime/components/LibProgressBar/LibProgressBar.vue +0 -169
  215. package/dist/runtime/components/LibSuggestions/LibSuggestions.d.vue.ts +0 -99
  216. package/dist/runtime/components/LibSuggestions/LibSuggestions.vue +0 -178
  217. package/dist/runtime/components/LibSuggestions/LibSuggestions.vue.d.ts +0 -99
  218. package/dist/runtime/components/LibTable/LibTable.d.vue.ts +0 -125
  219. package/dist/runtime/components/LibTable/LibTable.vue.d.ts +0 -125
  220. package/dist/runtime/components/Template/NAME.d.vue.ts +0 -18
  221. package/dist/runtime/components/Template/NAME.vue +0 -27
  222. package/dist/runtime/components/Template/NAME.vue.d.ts +0 -18
  223. package/dist/runtime/components/Template/TemplateStory.d.ts +0 -7
  224. package/dist/runtime/components/Template/TemplateStory.js +0 -22
  225. package/dist/runtime/components/shared/props.d.ts +0 -171
  226. package/dist/runtime/components/shared/props.js +0 -2
  227. package/dist/runtime/composables/useAriaLabel.d.ts +0 -6
  228. package/dist/runtime/composables/useAriaLabel.js +0 -15
  229. package/dist/runtime/composables/useDarkMode.d.ts +0 -77
  230. package/dist/runtime/composables/useDarkMode.js +0 -89
  231. package/dist/runtime/composables/useDivideAttrs.d.ts +0 -27
  232. package/dist/runtime/composables/useDivideAttrs.js +0 -27
  233. package/dist/runtime/composables/useSuggestions.d.ts +0 -40
  234. package/dist/runtime/composables/useSuggestions.js +0 -263
  235. package/src/runtime/components/Aria/Aria.vue +0 -26
  236. package/src/runtime/components/LibButton/LibButton.stories.ts +0 -106
  237. package/src/runtime/components/LibCheckbox/LibCheckbox.vue +0 -131
  238. package/src/runtime/components/LibColorInput/LibColorInput.vue +0 -203
  239. package/src/runtime/components/LibInputDeprecated/LibInputDeprecated.stories.ts +0 -405
  240. package/src/runtime/components/LibInputDeprecated/LibInputDeprecated.vue +0 -419
  241. package/src/runtime/components/LibLabel/LibLabel.stories.ts +0 -33
  242. package/src/runtime/components/LibLabel/LibLabel.vue +0 -65
  243. package/src/runtime/components/LibMultiValues/LibMultiValues.vue +0 -123
  244. package/src/runtime/components/LibNotifications/LibNotifications.stories.ts +0 -127
  245. package/src/runtime/components/LibPagination/LibPagination.stories.ts +0 -49
  246. package/src/runtime/components/LibPagination/LibPagination.vue +0 -274
  247. package/src/runtime/components/LibPopup/LibPopup.stories.ts +0 -153
  248. package/src/runtime/components/LibPopup/LibPopup.vue +0 -396
  249. package/src/runtime/components/LibProgressBar/LibProgressBar.stories.ts +0 -90
  250. package/src/runtime/components/LibProgressBar/LibProgressBar.vue +0 -197
  251. package/src/runtime/components/LibSuggestions/LibSuggestions.stories.ts +0 -134
  252. package/src/runtime/components/LibSuggestions/LibSuggestions.vue +0 -212
  253. package/src/runtime/components/Template/NAME.vue +0 -49
  254. package/src/runtime/components/Template/TemplateStory.ts +0 -37
  255. package/src/runtime/components/shared/props.ts +0 -199
  256. package/src/runtime/composables/useAriaLabel.ts +0 -23
  257. package/src/runtime/composables/useDarkMode.ts +0 -199
  258. package/src/runtime/composables/useDivideAttrs.ts +0 -53
  259. package/src/runtime/composables/useSuggestions.ts +0 -339
  260. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToHsva.d.ts +0 -0
  261. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToHsva.js +0 -0
  262. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToRgba.d.ts +0 -0
  263. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToRgba.js +0 -0
  264. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/toLowPrecisionRgbaString.d.ts +0 -0
  265. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/toLowPrecisionRgbaString.js +0 -0
  266. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/truncate.d.ts +0 -0
  267. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/truncate.js +0 -0
  268. /package/dist/runtime/components/{LibDatePicker/LibRangeDatePicker.d.vue.ts → WDatePicker/WRangeDatePicker.d.vue.ts} +0 -0
  269. /package/dist/runtime/components/{LibDatePicker/LibRangeDatePicker.vue.d.ts → WDatePicker/WRangeDatePicker.vue.d.ts} +0 -0
  270. /package/dist/runtime/components/{LibDatePicker/LibSingleDatePicker.d.vue.ts → WDatePicker/WSingleDatePicker.d.vue.ts} +0 -0
  271. /package/dist/runtime/components/{LibDatePicker/LibSingleDatePicker.vue.d.ts → WDatePicker/WSingleDatePicker.vue.d.ts} +0 -0
  272. /package/dist/runtime/components/{LibDatePicker → WDatePicker}/helpers.d.ts +0 -0
  273. /package/dist/runtime/components/{LibDatePicker → WDatePicker}/helpers.js +0 -0
  274. /package/dist/runtime/components/{LibDebug/LibDebug.d.vue.ts → WDebug/WDebug.d.vue.ts} +0 -0
  275. /package/dist/runtime/components/{LibDebug/LibDebug.vue.d.ts → WDebug/WDebug.vue.d.ts} +0 -0
  276. /package/dist/runtime/components/{LibDevOnly/LibDevOnly.vue → WDevOnly/WDevOnly.vue} +0 -0
  277. /package/dist/runtime/components/{LibNotifications/LibNotificationTestMessageComponent.d.vue.ts → WNotifications/WNotificationTestMessageComponent.d.vue.ts} +0 -0
  278. /package/dist/runtime/components/{LibNotifications/LibNotificationTestMessageComponent.vue → WNotifications/WNotificationTestMessageComponent.vue} +0 -0
  279. /package/dist/runtime/components/{LibNotifications/LibNotificationTestMessageComponent.vue.d.ts → WNotifications/WNotificationTestMessageComponent.vue.d.ts} +0 -0
  280. /package/dist/runtime/components/{LibNotifications → WNotifications}/calculateNotificationProgress.d.ts +0 -0
  281. /package/dist/runtime/components/{LibNotifications → WNotifications}/calculateNotificationProgress.js +0 -0
  282. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToHsva.ts +0 -0
  283. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToRgba.ts +0 -0
  284. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/toLowPrecisionRgbaString.ts +0 -0
  285. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/truncate.ts +0 -0
  286. /package/src/runtime/components/{LibDatePicker → WDatePicker}/helpers.ts +0 -0
  287. /package/src/runtime/components/{LibNotifications/LibNotificationTestMessageComponent.vue → WNotifications/WNotificationTestMessageComponent.vue} +0 -0
  288. /package/src/runtime/components/{LibNotifications → WNotifications}/calculateNotificationProgress.ts +0 -0
@@ -1,8 +1,12 @@
1
1
  <template>
2
2
  <div
3
3
  v-if="notification"
4
- :class="twMerge(
5
- `
4
+ :role="notification.requiresAction ? 'alertdialog' : 'status'"
5
+ :aria-labelledby="notification.title ? `title-${notification.id}` : void 0"
6
+ :aria-describedby="notification.message ? `msg-${notification.id}` : void 0"
7
+ :class="
8
+ twMerge(
9
+ `
6
10
  notification
7
11
  bg-neutral-50
8
12
  dark:bg-neutral-900
@@ -21,40 +25,42 @@
21
25
  focus:border-accent-500
22
26
  focus-within:border-accent-500
23
27
  `,
24
- $attrs.class
25
- )"
26
- v-bind="{ ...$attrs, class: void 0 }"
28
+ $attrs.class,
29
+ notification.notificationAttrs?.class
30
+ )
31
+ "
32
+ v-bind="{ ...$attrs, ...notification?.notificationAttrs ?? {}, class: void 0 }"
27
33
  tabindex="0"
28
34
  :data-id="notification.id"
29
35
  ref="notificationEl"
30
36
  @keydown.enter.self="NotificationHandler.resolveToDefault(notification)"
31
- @pointerenter="notification.timeout && !notification.isPaused && emit('pause', notification)"
32
37
  >
33
38
  <slot
34
39
  name="top"
35
40
  :notification="notification"
36
41
  />
42
+
37
43
  <div
38
44
  class="
39
- notification--header
40
- flex-reverse
41
- flex
42
- justify-between
43
- items-center
44
- "
45
+ notification--header
46
+ flex-reverse
47
+ flex
48
+ justify-between
49
+ items-center
50
+ "
45
51
  >
46
52
  <slot
47
53
  v-if="notification.title"
48
54
  name="title"
49
55
  v-bind="setSlotVar('title', {
56
+ id: `title-${notification.id}`,
50
57
  title: notification.title,
51
58
  class: `
52
59
  notification--title
53
60
  focus-outline
54
61
  rounded-sm
55
62
  font-bold
56
- `,
57
- tabindex: 0
63
+ `
58
64
  })"
59
65
  >
60
66
  <div
@@ -65,8 +71,9 @@
65
71
  </slot>
66
72
  <div class="notification--spacer flex-1"/>
67
73
  <div class="notification--actions flex">
68
- <LibButton
74
+ <WButton
69
75
  :border="false"
76
+ aria-label="Copy notification content"
70
77
  class="
71
78
  notification--title-button
72
79
  notification--copy-button
@@ -75,10 +82,11 @@
75
82
  "
76
83
  @click="copy(handler ? handler.stringify(notification) : JSON.stringify(notification))"
77
84
  >
78
- <icon><i-fa6-regular-copy/></icon>
79
- </LibButton>
80
- <lib-button
85
+ <WIcon><i-lucide-copy/></WIcon>
86
+ </WButton>
87
+ <WButton
81
88
  v-if="notification.cancellable"
89
+ aria-label="Dismiss notification"
82
90
  class="
83
91
  notification--title-button
84
92
  notification--cancel-button
@@ -86,8 +94,8 @@
86
94
  :border="false"
87
95
  @click="NotificationHandler.dismiss(notification)"
88
96
  >
89
- <icon><i-fa6-solid-xmark/></icon>
90
- </lib-button>
97
+ <WIcon><i-lucide-x/></WIcon>
98
+ </Wbutton>
91
99
  </div>
92
100
  </div>
93
101
  <slot
@@ -103,12 +111,12 @@
103
111
  dark:text-neutral-200
104
112
  mb-1
105
113
  `,
106
- message: notification.message,
107
- tabindex: 0
114
+ message: notification.message
108
115
  })"
109
116
  >
110
117
  <div
111
118
  v-bind="slotVars.message"
119
+ :id="`msg-${notification.id}`"
112
120
  >
113
121
  {{ notification.message }}
114
122
  </div>
@@ -117,6 +125,7 @@
117
125
  v-if="notification.component"
118
126
  :is="notification.component"
119
127
  v-bind="{
128
+ notification,
120
129
  message: notification.message,
121
130
  messageClasses: `
122
131
  notification--message
@@ -146,7 +155,7 @@
146
155
  gap-2
147
156
  "
148
157
  >
149
- <lib-button
158
+ <WButton
150
159
  :label="option"
151
160
  :class="twMerge(
152
161
  `
@@ -167,17 +176,15 @@
167
176
  </template>
168
177
 
169
178
  <script setup>
170
- import { computed, onBeforeUnmount, onMounted, ref, useAttrs } from "vue";
171
- import IFa6RegularCopy from "~icons/fa6-regular/copy";
172
- import IFa6SolidXmark from "~icons/fa6-solid/xmark";
179
+ import { computed, onMounted, ref, useAttrs } from "vue";
173
180
  import { useSlotVars } from "../../composables/useSlotVars.js";
174
181
  import { copy } from "../../helpers/copy.js";
175
182
  import { NotificationHandler } from "../../helpers/NotificationHandler.js";
176
183
  import { twMerge } from "../../utils/twMerge.js";
177
- import Icon from "../Icon/Icon.vue";
178
- import LibButton from "../LibButton/LibButton.vue";
184
+ import WButton from "../WButton/WButton.vue";
185
+ import WIcon from "../WIcon/WIcon.vue";
179
186
  defineOptions({
180
- name: "LibNotification",
187
+ name: "WNotification",
181
188
  inheritAttrs: false
182
189
  });
183
190
  const $attrs = useAttrs();
@@ -186,38 +193,19 @@ const props = defineProps({
186
193
  notification: { type: null, required: true },
187
194
  handler: { type: Object, required: false, default: void 0 }
188
195
  });
189
- const emit = defineEmits(["pause", "resume"]);
190
196
  const getColor = (notification, option) => {
191
197
  return notification.dangerous.includes(option) ? "danger" : notification.default === option ? "primary" : "secondary";
192
198
  };
193
199
  const buttonColors = computed(() => props.notification.options.map((option) => getColor(props.notification, option)));
194
200
  const notificationEl = ref(null);
195
- const mousedownAbortController = new AbortController();
196
201
  onMounted(() => {
197
- notificationEl.value?.focus();
198
- if (props.notification.timeout) {
199
- window.addEventListener("pointerdown", (e) => {
200
- if (!e.target || !(e.target instanceof HTMLElement)) return;
201
- if (e.target === notificationEl.value || notificationEl.value?.contains(e.target)) {
202
- if (props.notification.isPaused) return;
203
- emit("pause", props.notification);
204
- } else {
205
- if (!props.notification.isPaused) return;
206
- emit("resume", props.notification);
207
- }
208
- }, { signal: mousedownAbortController.signal });
202
+ if (props.notification.requiresAction) {
203
+ notificationEl.value?.focus();
209
204
  }
210
205
  });
211
- onBeforeUnmount(() => {
212
- mousedownAbortController.abort();
213
- });
214
206
  defineExpose({
215
207
  focus: () => {
216
208
  notificationEl.value?.focus();
217
209
  }
218
210
  });
219
211
  </script>
220
-
221
- <script>
222
-
223
- </script>
@@ -0,0 +1,37 @@
1
+ import { type HTMLAttributes } from "vue";
2
+ import { type NotificationEntry, NotificationHandler } from "../../helpers/NotificationHandler.js";
3
+ import type { TailwindClassProp } from "../../types/index.js";
4
+ type __VLS_Props = {
5
+ notification: NotificationEntry;
6
+ handler?: NotificationHandler;
7
+ } & /** @vue-ignore */ Omit<HTMLAttributes, "class"> & /** @vue-ignore */ TailwindClassProp;
8
+ declare var __VLS_1: {
9
+ notification: NotificationEntry;
10
+ }, __VLS_3: {
11
+ id: string;
12
+ title: string;
13
+ class: string;
14
+ }, __VLS_43: {
15
+ class: string;
16
+ message: string;
17
+ };
18
+ type __VLS_Slots = {} & {
19
+ top?: (props: typeof __VLS_1) => any;
20
+ } & {
21
+ title?: (props: typeof __VLS_3) => any;
22
+ } & {
23
+ message?: (props: typeof __VLS_43) => any;
24
+ };
25
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
26
+ focus: () => void;
27
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
28
+ handler: NotificationHandler;
29
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
30
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
31
+ declare const _default: typeof __VLS_export;
32
+ export default _default;
33
+ type __VLS_WithSlots<T, S> = T & {
34
+ new (): {
35
+ $slots: S;
36
+ };
37
+ };
@@ -0,0 +1,11 @@
1
+ import type { HTMLAttributes } from "vue";
2
+ import { NotificationHandler } from "../../helpers/NotificationHandler.js";
3
+ import type { TailwindClassProp } from "../../types/index.js";
4
+ type __VLS_Props = {
5
+ /** If not provided, uses the global handler (this requires useNotificationHandler be called and configured). */
6
+ handler?: NotificationHandler;
7
+ progressUpdateInterval?: number;
8
+ } & /** @vue-ignore */ Omit<HTMLAttributes, "class"> & /** @vue-ignore */ TailwindClassProp;
9
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
+ declare const _default: typeof __VLS_export;
11
+ export default _default;
@@ -24,7 +24,7 @@
24
24
  `, $attrs.class)"
25
25
  v-bind="{ ...$attrs, class: void 0 }"
26
26
  >
27
- <lib-notification
27
+ <WNotification
28
28
  :handler="handler"
29
29
  tabindex="0"
30
30
  :notification="notification"
@@ -40,11 +40,9 @@
40
40
  "
41
41
  v-for="notification of notifications"
42
42
  :key="notification.id"
43
- @pause="handler.pause(notification)"
44
- @resume="handler.resume(notification)"
45
43
  >
46
44
  <template #top>
47
- <LibProgressBar
45
+ <WProgressBar
48
46
  v-if="notification.timeout !== void 0"
49
47
  class="
50
48
  w-full
@@ -57,7 +55,7 @@
57
55
  :progress="calculateNotificationProgress(notification, time)"
58
56
  />
59
57
  </template>
60
- </lib-notification>
58
+ </Wnotification>
61
59
  </TransitionGroup>
62
60
  <!-- we don't need to worry about the user accidentally closing a non-closable dialog as keeping open=true (which the handler handles when the component tries to close) is enough to keep it open without issues -->
63
61
  <AlertDialogRoot
@@ -67,7 +65,7 @@
67
65
  <AlertDialogPortal :to="'#root'">
68
66
  <AlertDialogOverlay
69
67
  class="
70
- fixed inset-0 z-30
68
+ fixed inset-0 z-90
71
69
  bg-neutral-950/20
72
70
  data-[state=open]:animate-overlayShow
73
71
  "
@@ -77,27 +75,25 @@
77
75
  data-[state=open]:animate-contentShow
78
76
  max-sm:data-[state=open]:animate-slideInUp
79
77
  fixed
80
- flex
81
- max-h-[80dvh]
82
- top-[50%]
83
- left-[50%]
78
+ flex justify-center
79
+ top-1/2
80
+ left-1/2
81
+ w-full
84
82
  sm:translate-x-[-50%]
85
83
  sm:translate-y-[-50%]
86
- max-w-[700px]
87
- max-sm:bottom-2
84
+ p-2
85
+ max-sm:bottom-0
88
86
  max-sm:top-[unset]
89
- max-sm:left-2
90
- max-sm:right-2
91
- max-sm:w-[calc(100%-var(--spacing)*4)]
87
+ max-sm:left-0
92
88
  z-100
93
89
  "
90
+ @interact-outside="topNotifications[0] && NotificationHandler.dismiss(topNotifications[0])"
94
91
  >
95
- <lib-notification
92
+ <WNotification
96
93
  class="
97
94
  w-full
98
95
  sm:max-w-[700px]
99
- max-w-full
100
- max-h-full
96
+ max-h-[80dvh]
101
97
  top-notification
102
98
  text-md
103
99
  gap-2
@@ -121,7 +117,7 @@
121
117
  {{ slotProps.message }}
122
118
  </AlertDialogDescription>
123
119
  </template>
124
- </lib-notification>
120
+ </Wnotification>
125
121
  </AlertDialogContent>
126
122
  </AlertDialogPortal>
127
123
  </AlertDialogRoot>
@@ -136,20 +132,20 @@ import {
136
132
  AlertDialogRoot,
137
133
  AlertDialogTitle
138
134
  } from "reka-ui";
139
- import { computed } from "vue";
135
+ import { computed, onBeforeUnmount, onMounted, useAttrs } from "vue";
140
136
  import { calculateNotificationProgress } from "./calculateNotificationProgress.js";
141
- import LibNotification from "./LibNotification.vue";
137
+ import WNotification from "./WNotification.vue";
142
138
  import { useNotificationHandler } from "../../composables/useNotificationHandler.js";
143
139
  import { useTimeConditionally } from "../../composables/useTimeConditionally.js";
144
140
  import { NotificationHandler } from "../../helpers/NotificationHandler.js";
145
141
  import { twMerge } from "../../utils/twMerge.js";
146
- import LibProgressBar from "../LibProgressBar/LibProgressBar.vue";
142
+ import WProgressBar from "../WProgressBar/WProgressBar.vue";
147
143
  defineOptions({
148
- name: "LibNotifications",
144
+ name: "WNotifications",
149
145
  inheritAttrs: false
150
146
  });
147
+ const $attrs = useAttrs();
151
148
  const props = defineProps({
152
- id: { type: String, required: false },
153
149
  handler: { type: Object, required: false },
154
150
  progressUpdateInterval: { type: Number, required: false }
155
151
  });
@@ -160,8 +156,28 @@ const fetchTime = computed(() => {
160
156
  return notifications.value.filter((entry) => entry.timeout !== void 0 && !entry.isPaused).length > 0;
161
157
  });
162
158
  const { time } = useTimeConditionally(fetchTime, { refreshInterval: props.progressUpdateInterval });
163
- </script>
164
-
165
- <script>
166
-
159
+ function handleGlobalPointerDown(e) {
160
+ const target = e.target;
161
+ const notificationEl = target.closest(".notification");
162
+ const rawId = notificationEl?.dataset.id;
163
+ const clickedId = rawId ? Number.parseInt(rawId, 10) : null;
164
+ if (clickedId !== null) {
165
+ const entry = handler.queue.find((n) => n.id === clickedId);
166
+ if (entry && entry.timeout && !entry.isPaused) {
167
+ handler.pause(entry);
168
+ }
169
+ } else {
170
+ handler.queue.forEach((entry) => {
171
+ if (entry.timeout && entry.isPaused) {
172
+ handler.resume(entry);
173
+ }
174
+ });
175
+ }
176
+ }
177
+ onMounted(() => {
178
+ window.addEventListener("pointerdown", handleGlobalPointerDown);
179
+ });
180
+ onBeforeUnmount(() => {
181
+ window.removeEventListener("pointerdown", handleGlobalPointerDown);
182
+ });
167
183
  </script>
@@ -0,0 +1,11 @@
1
+ import type { HTMLAttributes } from "vue";
2
+ import { NotificationHandler } from "../../helpers/NotificationHandler.js";
3
+ import type { TailwindClassProp } from "../../types/index.js";
4
+ type __VLS_Props = {
5
+ /** If not provided, uses the global handler (this requires useNotificationHandler be called and configured). */
6
+ handler?: NotificationHandler;
7
+ progressUpdateInterval?: number;
8
+ } & /** @vue-ignore */ Omit<HTMLAttributes, "class"> & /** @vue-ignore */ TailwindClassProp;
9
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
+ declare const _default: typeof __VLS_export;
11
+ export default _default;
@@ -0,0 +1,27 @@
1
+ import type { NumberFieldInputProps, NumberFieldRootEmits, NumberFieldRootProps } from "reka-ui";
2
+ import type { HTMLAttributes, InputHTMLAttributes } from "vue";
3
+ import type { EmitsToProps, TailwindClassProp } from "../../types/index.js";
4
+ type __VLS_Props = {
5
+ id?: string;
6
+ max?: NumberFieldRootProps["max"];
7
+ min?: NumberFieldRootProps["min"];
8
+ step?: NumberFieldRootProps["step"];
9
+ isValid?: (value: any) => boolean;
10
+ inputProps?: NumberFieldInputProps & Omit<InputHTMLAttributes, "class"> & TailwindClassProp;
11
+ rootProps?: NumberFieldRootProps & EmitsToProps<NumberFieldRootEmits> & Omit<HTMLAttributes, "class"> & TailwindClassProp;
12
+ };
13
+ type __VLS_ModelProps = {
14
+ modelValue: number;
15
+ };
16
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
17
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
+ "update:modelValue": (value: number) => any;
19
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
20
+ "onUpdate:modelValue"?: ((value: number) => any) | undefined;
21
+ }>, {
22
+ max: number;
23
+ min: number;
24
+ isValid: (value: any) => boolean;
25
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
26
+ declare const _default: typeof __VLS_export;
27
+ export default _default;
@@ -0,0 +1,96 @@
1
+ <template>
2
+ <NumberFieldRoot
3
+ :min="props.min"
4
+ :max="props.max"
5
+ :step="props.step"
6
+ :format-options="{
7
+ signDisplay: 'exceptZero',
8
+ ...rootProps?.formatOptions
9
+ }"
10
+ :class="twMerge(
11
+ `
12
+ flex
13
+ items-center
14
+ justify-center
15
+ metadata-input-border
16
+ rounded-sm
17
+ focus-outline-within
18
+ gap-2
19
+ `,
20
+ !isValid && 'text-danger-500',
21
+ rootProps?.class
22
+ )"
23
+ v-bind="{ ...rootProps, class: void 0 }"
24
+ v-model="modelValue"
25
+ >
26
+ <NumberFieldDecrement
27
+ class="
28
+ px-1
29
+ flex-1
30
+ hover:bg-neutral-200
31
+ dark:hover:bg-neutral-800
32
+ [&_.button--label]:justify-start
33
+ rounded-bl-sm
34
+ rounded-tl-sm
35
+ cursor-pointer
36
+ disabled:cursor-not-allowed
37
+ "
38
+ >
39
+ <WIcon><i-radix-icons-minus/></WIcon>
40
+ </NumberFieldDecrement>
41
+
42
+ <NumberFieldInput
43
+ :class="twMerge(
44
+ `
45
+ bg-transparent
46
+ tabular-nums
47
+ text-center
48
+ focus-outline-none
49
+ px-1
50
+ shrink-1
51
+ basis-[20ch]
52
+ grow-0
53
+ min-w-0
54
+ [&::-webkit-outer-spin-button]:appearance-none
55
+ [&::-webkit-inner-spin-button]:appearance-none
56
+ [-moz-appearance:textfield]
57
+ `,
58
+ !isValid && 'text-danger-500',
59
+ inputProps?.class
60
+ )"
61
+ v-bind="{ ...inputProps, class: void 0 }"
62
+ />
63
+
64
+ <NumberFieldIncrement
65
+ class="
66
+ px-1
67
+ flex-1
68
+ hover:bg-neutral-200
69
+ dark:hover:bg-neutral-800
70
+ [&_.button--label]:justify-end
71
+ rounded-br-sm
72
+ rounded-tr-sm
73
+ cursor-pointer
74
+ disabled:cursor-not-allowed
75
+ "
76
+ >
77
+ <WIcon><i-radix-icons-plus/></WIcon>
78
+ </NumberFieldIncrement>
79
+ </NumberFieldRoot>
80
+ </template>
81
+
82
+ <script setup>
83
+ import { twMerge } from "../../utils/twMerge.js";
84
+ const props = defineProps({
85
+ id: { type: String, required: false },
86
+ max: { type: Number, required: false, default: Number.MAX_SAFE_INTEGER },
87
+ min: { type: Number, required: false, default: Number.MIN_SAFE_INTEGER },
88
+ step: { type: Number, required: false },
89
+ isValid: { type: Function, required: false, default: (value) => {
90
+ return typeof value === "number" && !Number.isNaN(value);
91
+ } },
92
+ inputProps: { type: Object, required: false },
93
+ rootProps: { type: Object, required: false }
94
+ });
95
+ const modelValue = defineModel({ type: Number, ...{ required: true } });
96
+ </script>
@@ -0,0 +1,27 @@
1
+ import type { NumberFieldInputProps, NumberFieldRootEmits, NumberFieldRootProps } from "reka-ui";
2
+ import type { HTMLAttributes, InputHTMLAttributes } from "vue";
3
+ import type { EmitsToProps, TailwindClassProp } from "../../types/index.js";
4
+ type __VLS_Props = {
5
+ id?: string;
6
+ max?: NumberFieldRootProps["max"];
7
+ min?: NumberFieldRootProps["min"];
8
+ step?: NumberFieldRootProps["step"];
9
+ isValid?: (value: any) => boolean;
10
+ inputProps?: NumberFieldInputProps & Omit<InputHTMLAttributes, "class"> & TailwindClassProp;
11
+ rootProps?: NumberFieldRootProps & EmitsToProps<NumberFieldRootEmits> & Omit<HTMLAttributes, "class"> & TailwindClassProp;
12
+ };
13
+ type __VLS_ModelProps = {
14
+ modelValue: number;
15
+ };
16
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
17
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
+ "update:modelValue": (value: number) => any;
19
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
20
+ "onUpdate:modelValue"?: ((value: number) => any) | undefined;
21
+ }>, {
22
+ max: number;
23
+ min: number;
24
+ isValid: (value: any) => boolean;
25
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
26
+ declare const _default: typeof __VLS_export;
27
+ export default _default;
@@ -0,0 +1,59 @@
1
+ import { type PaginationRootProps } from "reka-ui";
2
+ import { type HTMLAttributes } from "vue";
3
+ import type { TailwindClassProp } from "../../types/index.js";
4
+ type __VLS_Props = /** @vue-ignore */ Omit<HTMLAttributes, "class"> & /** @vue-ignore */ TailwindClassProp & Pick<PaginationRootProps, "defaultPage" | "siblingCount" | "itemsPerPage"> & {
5
+ route: string;
6
+ customRoute?: (route: string, i: number) => {
7
+ i: number;
8
+ href: string;
9
+ };
10
+ total: number;
11
+ };
12
+ type __VLS_ModelProps = {
13
+ "current": number;
14
+ };
15
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
16
+ declare var __VLS_20: {}, __VLS_33: {}, __VLS_46: {
17
+ value: number;
18
+ }, __VLS_60: {}, __VLS_73: {};
19
+ type __VLS_Slots = {} & {
20
+ first?: (props: typeof __VLS_20) => any;
21
+ } & {
22
+ prev?: (props: typeof __VLS_33) => any;
23
+ } & {
24
+ page?: (props: typeof __VLS_46) => any;
25
+ } & {
26
+ next?: (props: typeof __VLS_60) => any;
27
+ } & {
28
+ last?: (props: typeof __VLS_73) => any;
29
+ };
30
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
31
+ "update:current": (value: number) => any;
32
+ } & {
33
+ "link-click": (event: MouseEvent, payload: {
34
+ i: number;
35
+ href: string;
36
+ }) => any;
37
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
38
+ "onLink-click"?: ((event: MouseEvent, payload: {
39
+ i: number;
40
+ href: string;
41
+ }) => any) | undefined;
42
+ "onUpdate:current"?: ((value: number) => any) | undefined;
43
+ }>, {
44
+ defaultPage: number;
45
+ siblingCount: number;
46
+ itemsPerPage: number;
47
+ customRoute: (route: string, i: number) => {
48
+ i: number;
49
+ href: string;
50
+ };
51
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
52
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
53
+ declare const _default: typeof __VLS_export;
54
+ export default _default;
55
+ type __VLS_WithSlots<T, S> = T & {
56
+ new (): {
57
+ $slots: S;
58
+ };
59
+ };