@witchcraft/ui 0.3.26 → 0.4.0-beta.10

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 (287) hide show
  1. package/README.md +54 -61
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +1 -1
  4. package/dist/runtime/assets/animations.css +1 -1
  5. package/dist/runtime/assets/locales/en.json +2 -0
  6. package/dist/runtime/build/WitchcraftUiResolver.js +2 -2
  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 +110 -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} +7 -6
  21. package/dist/runtime/components/{LibColorPicker/LibColorPicker.vue → WColorPicker/WColorPicker.vue} +41 -29
  22. package/dist/runtime/components/{LibColorPicker/LibColorPicker.vue.d.ts → WColorPicker/WColorPicker.vue.d.ts} +7 -6
  23. package/dist/runtime/components/WCombobox/WCombobox.d.vue.ts +111 -0
  24. package/dist/runtime/components/WCombobox/WCombobox.vue +405 -0
  25. package/dist/runtime/components/WCombobox/WCombobox.vue.d.ts +111 -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} +21 -21
  35. package/dist/runtime/components/{LibDatePicker/LibSingleDatePicker.vue → WDatePicker/WSingleDatePicker.vue} +21 -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} +10 -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} +74 -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 +150 -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} +34 -47
  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} +35 -17
  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 +45 -0
  67. package/dist/runtime/components/WPopover/WPopover.vue +144 -0
  68. package/dist/runtime/components/WPopover/WPopover.vue.d.ts +45 -0
  69. package/dist/runtime/components/WPopup/WPopup.d.vue.ts +51 -0
  70. package/dist/runtime/components/WPopup/WPopup.vue +106 -0
  71. package/dist/runtime/components/WPopup/WPopup.vue.d.ts +51 -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} +10 -16
  82. package/dist/runtime/components/{LibSimpleInput/LibSimpleInput.vue → WSimpleInput/WSimpleInput.vue} +14 -24
  83. package/dist/runtime/components/{LibSimpleInput/LibSimpleInput.vue.d.ts → WSimpleInput/WSimpleInput.vue.d.ts} +10 -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 +112 -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 +2 -2
  106. package/dist/runtime/injectionKeys.d.ts +1 -5
  107. package/dist/runtime/injectionKeys.js +0 -2
  108. package/dist/runtime/types/index.d.ts +85 -27
  109. package/dist/runtime/types/index.js +1 -0
  110. package/package.json +1 -1
  111. package/src/module.ts +1 -1
  112. package/src/runtime/assets/animations.css +3 -3
  113. package/src/runtime/assets/locales/en.json +2 -0
  114. package/src/runtime/build/WitchcraftUiResolver.ts +2 -2
  115. package/src/runtime/components/TestControls/TestControls.vue +3 -3
  116. package/src/runtime/components/WButton/WButton.stories.ts +112 -0
  117. package/src/runtime/components/{LibButton/LibButton.vue → WButton/WButton.vue} +34 -50
  118. package/src/runtime/components/{LibCheckbox/LibCheckbox.stories.ts → WCheckbox/WCheckbox.stories.ts} +5 -5
  119. package/src/runtime/components/WCheckbox/WCheckbox.vue +125 -0
  120. package/src/runtime/components/{LibColorInput/LibColorInput.stories.ts → WColorInput/WColorInput.stories.ts} +8 -8
  121. package/src/runtime/components/WColorInput/WColorInput.vue +112 -0
  122. package/src/runtime/components/WColorInput/WColorSwatchButton.vue +102 -0
  123. package/src/runtime/components/{LibColorPicker/LibColorPicker.stories.ts → WColorPicker/WColorPicker.stories.ts} +12 -12
  124. package/src/runtime/components/{LibColorPicker/LibColorPicker.vue → WColorPicker/WColorPicker.vue} +44 -31
  125. package/src/runtime/components/WCombobox/WCombobox.stories.ts +209 -0
  126. package/src/runtime/components/WCombobox/WCombobox.vue +450 -0
  127. package/src/runtime/components/WCombobox/storyPlays.ts +92 -0
  128. package/src/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.stories.ts → WDarkModeSwitcher/WDarkModeSwitcher.stories.ts} +6 -6
  129. package/src/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.vue → WDarkModeSwitcher/WDarkModeSwitcher.vue} +19 -30
  130. package/src/runtime/components/{LibDatePicker/LibDatePicker.stories.ts → WDatePicker/WDatePicker.stories.ts} +42 -34
  131. package/src/runtime/components/{LibDatePicker/LibDatePicker.vue → WDatePicker/WDatePicker.vue} +3 -7
  132. package/src/runtime/components/{LibDatePicker/LibRangeDatePicker.vue → WDatePicker/WRangeDatePicker.vue} +21 -21
  133. package/src/runtime/components/{LibDatePicker/LibSingleDatePicker.vue → WDatePicker/WSingleDatePicker.vue} +21 -21
  134. package/src/runtime/components/{LibDatePicker/LibTimeZonePicker.vue → WDatePicker/WTimeZonePicker.vue} +5 -12
  135. package/src/runtime/components/{LibDebug/LibDebug.stories.ts → WDebug/WDebug.stories.ts} +5 -5
  136. package/src/runtime/components/{LibDebug/LibDebug.vue → WDebug/WDebug.vue} +9 -10
  137. package/src/runtime/components/{LibDevOnly/LibDevOnly.vue → WDevOnly/WDevOnly.vue} +0 -4
  138. package/src/runtime/components/{LibFileInput/LibFileInput.stories.ts → WFileInput/WFileInput.stories.ts} +7 -7
  139. package/src/runtime/components/{LibFileInput/LibFileInput.vue → WFileInput/WFileInput.vue} +98 -97
  140. package/src/runtime/components/{Icon/Icon.vue → WIcon/WIcon.vue} +5 -8
  141. package/src/runtime/components/{LibMultiValues/LibMultiValues.stories.ts → WMultiValues/WMultiValues.stories.ts} +9 -9
  142. package/src/runtime/components/WMultiValues/WMultiValues.vue +163 -0
  143. package/src/runtime/components/{LibNotifications/LibNotification.stories.ts → WNotifications/WNotification.stories.ts} +9 -9
  144. package/src/runtime/components/{LibNotifications/LibNotification.vue → WNotifications/WNotification.vue} +45 -65
  145. package/src/runtime/components/WNotifications/WNotifications.stories.ts +139 -0
  146. package/src/runtime/components/{LibNotifications/LibNotifications.vue → WNotifications/WNotifications.vue} +51 -29
  147. package/src/runtime/components/WNumberInput/WNumberInput.vue +109 -0
  148. package/src/runtime/components/WPagination/WPagination.stories.ts +51 -0
  149. package/src/runtime/components/WPagination/WPagination.vue +207 -0
  150. package/src/runtime/components/{LibPalette/LibPalette.stories.ts → WPalette/WPalette.stories.ts} +6 -6
  151. package/src/runtime/components/{LibPalette/LibPalette.vue → WPalette/WPalette.vue} +3 -8
  152. package/src/runtime/components/WPopover/WPopover.stories.ts +218 -0
  153. package/src/runtime/components/WPopover/WPopover.vue +168 -0
  154. package/src/runtime/components/WPopup/WPopup.stories.ts +104 -0
  155. package/src/runtime/components/WPopup/WPopup.vue +125 -0
  156. package/src/runtime/components/WProgressBar/WProgressBar.stories.ts +119 -0
  157. package/src/runtime/components/WProgressBar/WProgressBar.vue +185 -0
  158. package/src/runtime/components/{LibRecorder/LibRecorder.stories.ts → WRecorder/WRecorder.stories.ts} +9 -6
  159. package/src/runtime/components/{LibRecorder/LibRecorder.vue → WRecorder/WRecorder.vue} +69 -68
  160. package/src/runtime/components/{LibRoot/LibRoot.vue → WRoot/WRoot.vue} +18 -15
  161. package/src/runtime/components/{LibSimpleInput/LibSimpleInput.stories.ts → WSimpleInput/WSimpleInput.stories.ts} +11 -12
  162. package/src/runtime/components/{LibSimpleInput/LibSimpleInput.vue → WSimpleInput/WSimpleInput.vue} +28 -44
  163. package/src/runtime/components/{LibTable/LibTable.stories.ts → WTable/WTable.stories.ts} +60 -52
  164. package/src/runtime/components/{LibTable/LibTable.vue → WTable/WTable.vue} +85 -88
  165. package/src/runtime/components/WTooltip/WTooltip.stories.ts +82 -0
  166. package/src/runtime/components/WTooltip/WTooltip.vue +128 -0
  167. package/src/runtime/components/index.ts +20 -20
  168. package/src/runtime/composables/index.ts +4 -4
  169. package/src/runtime/composables/useDelayedLoadingIndicator.ts +30 -0
  170. package/src/runtime/composables/useDisplayForReka.ts +37 -0
  171. package/src/runtime/composables/useFallbackId.ts +6 -0
  172. package/src/runtime/composables/useInjectedDarkMode.ts +1 -2
  173. package/src/runtime/composables/usePopupConstrainToStyle.ts +29 -0
  174. package/src/runtime/composables/useSetupDarkMode.ts +122 -4
  175. package/src/runtime/helpers/NotificationHandler.ts +2 -2
  176. package/src/runtime/injectionKeys.ts +1 -7
  177. package/src/runtime/types/index.ts +105 -32
  178. package/types/components.d.ts +14 -15
  179. package/dist/runtime/components/Aria/Aria.d.vue.ts +0 -6
  180. package/dist/runtime/components/Aria/Aria.vue +0 -16
  181. package/dist/runtime/components/Aria/Aria.vue.d.ts +0 -6
  182. package/dist/runtime/components/LibButton/LibButton.d.vue.ts +0 -37
  183. package/dist/runtime/components/LibButton/LibButton.vue.d.ts +0 -37
  184. package/dist/runtime/components/LibCheckbox/LibCheckbox.d.vue.ts +0 -41
  185. package/dist/runtime/components/LibCheckbox/LibCheckbox.vue +0 -103
  186. package/dist/runtime/components/LibCheckbox/LibCheckbox.vue.d.ts +0 -41
  187. package/dist/runtime/components/LibColorInput/LibColorInput.d.vue.ts +0 -64
  188. package/dist/runtime/components/LibColorInput/LibColorInput.vue +0 -162
  189. package/dist/runtime/components/LibColorInput/LibColorInput.vue.d.ts +0 -64
  190. package/dist/runtime/components/LibDatePicker/LibDatePicker.d.vue.ts +0 -191
  191. package/dist/runtime/components/LibDatePicker/LibDatePicker.vue.d.ts +0 -191
  192. package/dist/runtime/components/LibFileInput/LibFileInput.d.vue.ts +0 -46
  193. package/dist/runtime/components/LibFileInput/LibFileInput.vue.d.ts +0 -46
  194. package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.d.vue.ts +0 -256
  195. package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.vue +0 -387
  196. package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.vue.d.ts +0 -256
  197. package/dist/runtime/components/LibLabel/LibLabel.d.vue.ts +0 -27
  198. package/dist/runtime/components/LibLabel/LibLabel.vue +0 -45
  199. package/dist/runtime/components/LibLabel/LibLabel.vue.d.ts +0 -27
  200. package/dist/runtime/components/LibMultiValues/LibMultiValues.vue +0 -109
  201. package/dist/runtime/components/LibNotifications/LibNotification.d.vue.ts +0 -45
  202. package/dist/runtime/components/LibNotifications/LibNotification.vue.d.ts +0 -45
  203. package/dist/runtime/components/LibNotifications/LibNotifications.d.vue.ts +0 -15
  204. package/dist/runtime/components/LibNotifications/LibNotifications.vue.d.ts +0 -15
  205. package/dist/runtime/components/LibPagination/LibPagination.d.vue.ts +0 -105
  206. package/dist/runtime/components/LibPagination/LibPagination.vue +0 -229
  207. package/dist/runtime/components/LibPagination/LibPagination.vue.d.ts +0 -105
  208. package/dist/runtime/components/LibPalette/LibPalette.d.vue.ts +0 -15
  209. package/dist/runtime/components/LibPalette/LibPalette.vue.d.ts +0 -15
  210. package/dist/runtime/components/LibPopup/LibPopup.d.vue.ts +0 -52
  211. package/dist/runtime/components/LibPopup/LibPopup.vue +0 -365
  212. package/dist/runtime/components/LibPopup/LibPopup.vue.d.ts +0 -52
  213. package/dist/runtime/components/LibProgressBar/LibProgressBar.vue +0 -169
  214. package/dist/runtime/components/LibSuggestions/LibSuggestions.d.vue.ts +0 -99
  215. package/dist/runtime/components/LibSuggestions/LibSuggestions.vue +0 -178
  216. package/dist/runtime/components/LibSuggestions/LibSuggestions.vue.d.ts +0 -99
  217. package/dist/runtime/components/LibTable/LibTable.d.vue.ts +0 -125
  218. package/dist/runtime/components/LibTable/LibTable.vue.d.ts +0 -125
  219. package/dist/runtime/components/Template/NAME.d.vue.ts +0 -18
  220. package/dist/runtime/components/Template/NAME.vue +0 -27
  221. package/dist/runtime/components/Template/NAME.vue.d.ts +0 -18
  222. package/dist/runtime/components/Template/TemplateStory.d.ts +0 -7
  223. package/dist/runtime/components/Template/TemplateStory.js +0 -22
  224. package/dist/runtime/components/shared/props.d.ts +0 -171
  225. package/dist/runtime/components/shared/props.js +0 -2
  226. package/dist/runtime/composables/useAriaLabel.d.ts +0 -6
  227. package/dist/runtime/composables/useAriaLabel.js +0 -15
  228. package/dist/runtime/composables/useDarkMode.d.ts +0 -77
  229. package/dist/runtime/composables/useDarkMode.js +0 -89
  230. package/dist/runtime/composables/useDivideAttrs.d.ts +0 -27
  231. package/dist/runtime/composables/useDivideAttrs.js +0 -27
  232. package/dist/runtime/composables/useSuggestions.d.ts +0 -40
  233. package/dist/runtime/composables/useSuggestions.js +0 -263
  234. package/src/runtime/components/Aria/Aria.vue +0 -26
  235. package/src/runtime/components/LibButton/LibButton.stories.ts +0 -106
  236. package/src/runtime/components/LibCheckbox/LibCheckbox.vue +0 -131
  237. package/src/runtime/components/LibColorInput/LibColorInput.vue +0 -203
  238. package/src/runtime/components/LibInputDeprecated/LibInputDeprecated.stories.ts +0 -405
  239. package/src/runtime/components/LibInputDeprecated/LibInputDeprecated.vue +0 -419
  240. package/src/runtime/components/LibLabel/LibLabel.stories.ts +0 -33
  241. package/src/runtime/components/LibLabel/LibLabel.vue +0 -65
  242. package/src/runtime/components/LibMultiValues/LibMultiValues.vue +0 -123
  243. package/src/runtime/components/LibNotifications/LibNotifications.stories.ts +0 -131
  244. package/src/runtime/components/LibPagination/LibPagination.stories.ts +0 -49
  245. package/src/runtime/components/LibPagination/LibPagination.vue +0 -274
  246. package/src/runtime/components/LibPopup/LibPopup.stories.ts +0 -153
  247. package/src/runtime/components/LibPopup/LibPopup.vue +0 -396
  248. package/src/runtime/components/LibProgressBar/LibProgressBar.stories.ts +0 -90
  249. package/src/runtime/components/LibProgressBar/LibProgressBar.vue +0 -197
  250. package/src/runtime/components/LibSuggestions/LibSuggestions.stories.ts +0 -134
  251. package/src/runtime/components/LibSuggestions/LibSuggestions.vue +0 -212
  252. package/src/runtime/components/Template/NAME.vue +0 -49
  253. package/src/runtime/components/Template/TemplateStory.ts +0 -37
  254. package/src/runtime/components/shared/props.ts +0 -199
  255. package/src/runtime/composables/useAriaLabel.ts +0 -23
  256. package/src/runtime/composables/useDarkMode.ts +0 -199
  257. package/src/runtime/composables/useDivideAttrs.ts +0 -53
  258. package/src/runtime/composables/useSuggestions.ts +0 -339
  259. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToHsva.d.ts +0 -0
  260. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToHsva.js +0 -0
  261. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToRgba.d.ts +0 -0
  262. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToRgba.js +0 -0
  263. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/toLowPrecisionRgbaString.d.ts +0 -0
  264. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/toLowPrecisionRgbaString.js +0 -0
  265. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/truncate.d.ts +0 -0
  266. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/truncate.js +0 -0
  267. /package/dist/runtime/components/{LibDatePicker/LibRangeDatePicker.d.vue.ts → WDatePicker/WRangeDatePicker.d.vue.ts} +0 -0
  268. /package/dist/runtime/components/{LibDatePicker/LibRangeDatePicker.vue.d.ts → WDatePicker/WRangeDatePicker.vue.d.ts} +0 -0
  269. /package/dist/runtime/components/{LibDatePicker/LibSingleDatePicker.d.vue.ts → WDatePicker/WSingleDatePicker.d.vue.ts} +0 -0
  270. /package/dist/runtime/components/{LibDatePicker/LibSingleDatePicker.vue.d.ts → WDatePicker/WSingleDatePicker.vue.d.ts} +0 -0
  271. /package/dist/runtime/components/{LibDatePicker → WDatePicker}/helpers.d.ts +0 -0
  272. /package/dist/runtime/components/{LibDatePicker → WDatePicker}/helpers.js +0 -0
  273. /package/dist/runtime/components/{LibDebug/LibDebug.d.vue.ts → WDebug/WDebug.d.vue.ts} +0 -0
  274. /package/dist/runtime/components/{LibDebug/LibDebug.vue.d.ts → WDebug/WDebug.vue.d.ts} +0 -0
  275. /package/dist/runtime/components/{LibDevOnly/LibDevOnly.vue → WDevOnly/WDevOnly.vue} +0 -0
  276. /package/dist/runtime/components/{LibNotifications/LibNotificationTestMessageComponent.d.vue.ts → WNotifications/WNotificationTestMessageComponent.d.vue.ts} +0 -0
  277. /package/dist/runtime/components/{LibNotifications/LibNotificationTestMessageComponent.vue → WNotifications/WNotificationTestMessageComponent.vue} +0 -0
  278. /package/dist/runtime/components/{LibNotifications/LibNotificationTestMessageComponent.vue.d.ts → WNotifications/WNotificationTestMessageComponent.vue.d.ts} +0 -0
  279. /package/dist/runtime/components/{LibNotifications → WNotifications}/calculateNotificationProgress.d.ts +0 -0
  280. /package/dist/runtime/components/{LibNotifications → WNotifications}/calculateNotificationProgress.js +0 -0
  281. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToHsva.ts +0 -0
  282. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToRgba.ts +0 -0
  283. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/toLowPrecisionRgbaString.ts +0 -0
  284. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/truncate.ts +0 -0
  285. /package/src/runtime/components/{LibDatePicker → WDatePicker}/helpers.ts +0 -0
  286. /package/src/runtime/components/{LibNotifications/LibNotificationTestMessageComponent.vue → WNotifications/WNotificationTestMessageComponent.vue} +0 -0
  287. /package/src/runtime/components/{LibNotifications → WNotifications}/calculateNotificationProgress.ts +0 -0
@@ -0,0 +1,51 @@
1
+ import type { DialogContentEmits, DialogContentProps, DialogRootEmits, DialogRootProps } from "reka-ui";
2
+ import type { EmitsToProps, HTMLAttributes } from "vue";
3
+ import type { TailwindClassProp } from "../../types/index.js";
4
+ type __VLS_Props = {
5
+ title?: string;
6
+ description?: string;
7
+ backdropClass?: string;
8
+ /** Overrides reka-ui's DialogContentProps */
9
+ contentProps?: DialogContentProps & EmitsToProps<DialogContentEmits> & Omit<HTMLAttributes, "class"> & TailwindClassProp;
10
+ /** Overrides reka-ui's DialogRootProps */
11
+ rootProps?: DialogRootProps & EmitsToProps<DialogRootEmits> & Omit<HTMLAttributes, "class"> & TailwindClassProp;
12
+ /** Overrides teleport target. */
13
+ to?: string;
14
+ };
15
+ type __VLS_ModelProps = {
16
+ modelValue?: boolean;
17
+ };
18
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
19
+ declare var __VLS_14: {}, __VLS_28: {
20
+ class: string;
21
+ }, __VLS_36: {}, __VLS_38: {}, __VLS_46: {}, __VLS_54: {}, __VLS_62: {};
22
+ type __VLS_Slots = {} & {
23
+ button?: (props: typeof __VLS_14) => any;
24
+ } & {
25
+ backdrop?: (props: typeof __VLS_28) => any;
26
+ } & {
27
+ popup?: (props: typeof __VLS_36) => any;
28
+ } & {
29
+ title?: (props: typeof __VLS_38) => any;
30
+ } & {
31
+ description?: (props: typeof __VLS_46) => any;
32
+ } & {
33
+ extra?: (props: typeof __VLS_54) => any;
34
+ } & {
35
+ close?: (props: typeof __VLS_62) => any;
36
+ };
37
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
38
+ "update:modelValue": (value: boolean) => any;
39
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
40
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
41
+ }>, {
42
+ to: string;
43
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
44
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
45
+ declare const _default: typeof __VLS_export;
46
+ export default _default;
47
+ type __VLS_WithSlots<T, S> = T & {
48
+ new (): {
49
+ $slots: S;
50
+ };
51
+ };
@@ -1,6 +1,7 @@
1
- import { type BaseInteractiveProps, type LabelProps, type LinkableByIdProps, type TailwindClassProp } from "../shared/props.js";
2
1
  import type { HTMLAttributes } from "vue";
3
- type RealProps = LinkableByIdProps & BaseInteractiveProps & LabelProps & {
2
+ import type { TailwindClassProp } from "../../types/index.js";
3
+ type __VLS_Props = /** @vue-ignore */ Omit<HTMLAttributes, "class"> & /** @vue-ignore */ TailwindClassProp & {
4
+ label?: string;
4
5
  /** A number from 0-100. It is auto-clamped. */
5
6
  progress: number;
6
7
  /** Will auto hide after this given time if progress is 100% or more or less than 0% until progress is set to something else. Disabled (-1) by default. */
@@ -17,25 +18,20 @@ type RealProps = LinkableByIdProps & BaseInteractiveProps & LabelProps & {
17
18
  */
18
19
  clamp?: [start: number, end: number];
19
20
  };
20
- interface Props extends
21
- /** @vue-ignore */
22
- Partial<Omit<HTMLAttributes, "class"> & TailwindClassProp>, RealProps {
23
- }
24
- declare const _default: typeof __VLS_export;
25
- export default _default;
26
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
27
- disabled: boolean;
28
- readonly: boolean;
29
- border: boolean;
30
- unstyle: boolean;
21
+ declare var __VLS_13: {}, __VLS_21: {};
22
+ type __VLS_Slots = {} & {
23
+ default?: (props: typeof __VLS_13) => any;
24
+ } & {
25
+ default?: (props: typeof __VLS_21) => any;
26
+ };
27
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
31
28
  autohideOnComplete: number;
32
29
  keepSpaceWhenHidden: boolean;
33
30
  clamp: [start: number, end: number];
34
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
35
- default?: (props: {}) => any;
36
- } & {
37
- default?: (props: {}) => any;
38
- }>;
31
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
32
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
33
+ declare const _default: typeof __VLS_export;
34
+ export default _default;
39
35
  type __VLS_WithSlots<T, S> = T & {
40
36
  new (): {
41
37
  $slots: S;
@@ -0,0 +1,150 @@
1
+ <template>
2
+ <Transition>
3
+ <div
4
+ v-if="currentVisibility !== 'hidden'"
5
+ :class="twMerge(`
6
+ progress-bar
7
+ w-[200px]
8
+ whitespace-nowrap
9
+ overflow-x-scroll
10
+ scrollbar-hidden
11
+ rounded-sm
12
+ flex
13
+ relative
14
+ text-sm
15
+ min-w-[50px]
16
+ after:shadow-inner
17
+ after:shadow-black/50
18
+ after:content-[\'\']
19
+ after:absolute
20
+ after:inset-0
21
+ after:pointer-events-none
22
+ after:z-2
23
+ after:transition-all
24
+ before:content-[\'\']
25
+ before:shadow-inner
26
+ before:shadow-black/50
27
+ before:rounded-sm
28
+ before:bg-bars-gradient
29
+ before:animate-slideBgInf
30
+ before:[background-size:15px_15px]
31
+ before:absolute
32
+ before:w-[var(--progress)]
33
+ before:top-0 before:bottom-0 before:left-0
34
+ before:transition-all
35
+ before:z-1
36
+ before:duration-500
37
+ `, currentVisibility === 'pseudo' && `
38
+ after:opacity-0
39
+ before:opacity-0
40
+ `, $attrs.class)"
41
+ :data-value="progress"
42
+ role="progressbar"
43
+ :aria-valuenow="clampNumber(progress, clamp[0] ?? 0, clamp[1] ?? 100)"
44
+ :aria-valuemin="clamp[0] ?? 0"
45
+ :aria-valuemax="clamp[1] ?? 100"
46
+ :aria-label="label"
47
+ v-bind="{ ...$attrs, class: void 0 }"
48
+ :style="`--progress: ${clampNumber(progress, clamp[0] ?? 0, clamp[1] ?? 100)}%;`"
49
+ >
50
+ <div
51
+ class="progress-bar--label-wrapper relative flex-1 z-3"
52
+ aria-hidden="true"
53
+ >
54
+ <span class="before:content-vertical-holder"/>
55
+
56
+ <Transition v-if="currentVisibility === 'visible'">
57
+ <slot>
58
+ <div
59
+ class="
60
+ progress-bar--bottom-label
61
+ text-black
62
+ dark:text-white
63
+ absolute
64
+ inset-0
65
+ flex
66
+ justify-center
67
+ px-2
68
+ "
69
+ >
70
+ <div class="truncate">
71
+ {{ label ?? "" }}
72
+ </div>
73
+ </div>
74
+ </slot>
75
+ </Transition>
76
+ <Transition v-if="currentVisibility === 'visible'">
77
+ <slot>
78
+ <div
79
+ class="
80
+ progress-bar--top-label
81
+ pointer-events-none
82
+ absolute
83
+ inset-0
84
+ flex
85
+ justify-center
86
+ transition-all
87
+ duration-500
88
+ text-white
89
+ [clip-path:inset(0_calc(100%-var(--progress))_0_0)]
90
+ px-2
91
+ "
92
+ >
93
+ <div class="truncate">
94
+ {{ label ?? "" }}
95
+ </div>
96
+ </div>
97
+ </slot>
98
+ </Transition>
99
+ </div>
100
+ </div>
101
+ </Transition>
102
+ </template>
103
+
104
+ <script setup>
105
+ import { clampNumber } from "@alanscodelog/utils/clampNumber";
106
+ import { unreachable } from "@alanscodelog/utils/unreachable";
107
+ import { ref, useAttrs, watch } from "vue";
108
+ import { twMerge } from "../../utils/twMerge.js";
109
+ defineOptions({
110
+ name: "WProgressBar",
111
+ inheritAttrs: false
112
+ });
113
+ const $attrs = useAttrs();
114
+ const props = defineProps({
115
+ label: { type: String, required: false },
116
+ progress: { type: Number, required: true },
117
+ autohideOnComplete: { type: Number, required: false, default: -1 },
118
+ keepSpaceWhenHidden: { type: Boolean, required: false, default: false },
119
+ clamp: { type: Array, required: false, default: () => [0, 100] }
120
+ });
121
+ const currentVisibility = ref("visible");
122
+ let lastVisibility = null;
123
+ function updateVisibility(immediate = false, onCleanup) {
124
+ const isComplete = props.progress >= 100 || props.progress < 0;
125
+ const shouldHide = props.autohideOnComplete > -1 && isComplete;
126
+ if (!shouldHide) {
127
+ lastVisibility = null;
128
+ currentVisibility.value = "visible";
129
+ return;
130
+ }
131
+ const newVisibility = props.keepSpaceWhenHidden ? "pseudo" : "hidden";
132
+ if (immediate) {
133
+ currentVisibility.value = newVisibility;
134
+ lastVisibility = newVisibility;
135
+ } else if (lastVisibility !== newVisibility) {
136
+ lastVisibility = newVisibility;
137
+ const timeout = setTimeout(() => {
138
+ currentVisibility.value = newVisibility;
139
+ }, props.autohideOnComplete);
140
+ if (!onCleanup) unreachable();
141
+ onCleanup(() => clearTimeout(timeout));
142
+ }
143
+ }
144
+ updateVisibility(true);
145
+ watch([
146
+ () => [props.progress, props.keepSpaceWhenHidden, props.autohideOnComplete]
147
+ ], (_new, _old, onCleanup) => {
148
+ updateVisibility(false, onCleanup);
149
+ });
150
+ </script>
@@ -1,6 +1,7 @@
1
- import { type BaseInteractiveProps, type LabelProps, type LinkableByIdProps, type TailwindClassProp } from "../shared/props.js";
2
1
  import type { HTMLAttributes } from "vue";
3
- type RealProps = LinkableByIdProps & BaseInteractiveProps & LabelProps & {
2
+ import type { TailwindClassProp } from "../../types/index.js";
3
+ type __VLS_Props = /** @vue-ignore */ Omit<HTMLAttributes, "class"> & /** @vue-ignore */ TailwindClassProp & {
4
+ label?: string;
4
5
  /** A number from 0-100. It is auto-clamped. */
5
6
  progress: number;
6
7
  /** Will auto hide after this given time if progress is 100% or more or less than 0% until progress is set to something else. Disabled (-1) by default. */
@@ -17,25 +18,20 @@ type RealProps = LinkableByIdProps & BaseInteractiveProps & LabelProps & {
17
18
  */
18
19
  clamp?: [start: number, end: number];
19
20
  };
20
- interface Props extends
21
- /** @vue-ignore */
22
- Partial<Omit<HTMLAttributes, "class"> & TailwindClassProp>, RealProps {
23
- }
24
- declare const _default: typeof __VLS_export;
25
- export default _default;
26
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
27
- disabled: boolean;
28
- readonly: boolean;
29
- border: boolean;
30
- unstyle: boolean;
21
+ declare var __VLS_13: {}, __VLS_21: {};
22
+ type __VLS_Slots = {} & {
23
+ default?: (props: typeof __VLS_13) => any;
24
+ } & {
25
+ default?: (props: typeof __VLS_21) => any;
26
+ };
27
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
31
28
  autohideOnComplete: number;
32
29
  keepSpaceWhenHidden: boolean;
33
30
  clamp: [start: number, end: number];
34
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
35
- default?: (props: {}) => any;
36
- } & {
37
- default?: (props: {}) => any;
38
- }>;
31
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
32
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
33
+ declare const _default: typeof __VLS_export;
34
+ export default _default;
39
35
  type __VLS_WithSlots<T, S> = T & {
40
36
  new (): {
41
37
  $slots: S;
@@ -1,6 +1,6 @@
1
- import { type HTMLAttributes } from "vue";
2
- import { type BaseInteractiveProps, type LabelProps, type LinkableByIdProps, type TailwindClassProp } from "../shared/props.js";
3
- type RealProps = LinkableByIdProps & BaseInteractiveProps & LabelProps & {
1
+ import type { HTMLAttributes } from "vue";
2
+ import type { BaseInteractiveProps, TailwindClassProp } from "../../types/index.js";
3
+ type __VLS_Props = /** @vue-ignore */ Omit<HTMLAttributes, "class"> & /** @vue-ignore */ TailwindClassProp & BaseInteractiveProps & {
4
4
  border?: boolean;
5
5
  /** A value to display while recording, if none given the i18n `recorder.recording` key is used. */
6
6
  recordingValue?: string;
@@ -19,56 +19,39 @@ type RealProps = LinkableByIdProps & BaseInteractiveProps & LabelProps & {
19
19
  bind: (el: HTMLElement) => void;
20
20
  unbind: (el: HTMLElement) => void;
21
21
  };
22
- /** The id of the element. If not provided, the id will be generated automatically. */
23
- id?: string;
24
22
  };
25
- interface Props extends
26
- /** @vue-ignore */
27
- Partial<Omit<HTMLAttributes, "class"> & TailwindClassProp>, RealProps {
28
- }
29
- declare const _default: typeof __VLS_export;
30
- export default _default;
31
- declare const __VLS_export: import("vue").DefineComponent<Props & {
23
+ type __VLS_ModelProps = {
32
24
  /**
33
25
  * Puts the element into recording mode if true. See {@link props.recorder}.
34
26
  */
35
- recording?: boolean;
27
+ "recording"?: boolean;
36
28
  /** The final value of the recorder. For intermediate values while recording, pass a recorder and set an appropriate recording value. */
37
29
  modelValue: string;
38
- }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
30
+ };
31
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
32
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
39
33
  "update:modelValue": (value: string) => any;
40
34
  "update:recording": (value: boolean) => any;
41
35
  } & {
42
36
  "recorder:blur": ($event: FocusEvent) => any;
43
- "recorder:click": (args_0: {
37
+ "recorder:pointerdown": (args_0: {
44
38
  event: MouseEvent | KeyboardEvent;
45
39
  indicator: HTMLElement;
46
40
  input: HTMLInputElement;
47
41
  }) => any;
48
42
  "focus:parent": () => any;
49
- }, string, import("vue").PublicProps, Readonly<Props & {
50
- /**
51
- * Puts the element into recording mode if true. See {@link props.recorder}.
52
- */
53
- recording?: boolean;
54
- /** The final value of the recorder. For intermediate values while recording, pass a recorder and set an appropriate recording value. */
55
- modelValue: string;
56
- }> & Readonly<{
43
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
57
44
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
58
- "onUpdate:recording"?: ((value: boolean) => any) | undefined;
59
45
  "onRecorder:blur"?: (($event: FocusEvent) => any) | undefined;
60
- "onRecorder:click"?: ((args_0: {
46
+ "onRecorder:pointerdown"?: ((args_0: {
61
47
  event: MouseEvent | KeyboardEvent;
62
48
  indicator: HTMLElement;
63
49
  input: HTMLInputElement;
64
50
  }) => any) | undefined;
65
51
  "onFocus:parent"?: (() => any) | undefined;
52
+ "onUpdate:recording"?: ((value: boolean) => any) | undefined;
66
53
  }>, {
67
- id: string;
68
- disabled: boolean;
69
- readonly: boolean;
70
54
  border: boolean;
71
- unstyle: boolean;
72
55
  recordingTitle: string;
73
56
  recorder: Record<string, any>;
74
57
  binders: {
@@ -76,3 +59,5 @@ declare const __VLS_export: import("vue").DefineComponent<Props & {
76
59
  unbind: (el: HTMLElement) => void;
77
60
  };
78
61
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
62
+ declare const _default: typeof __VLS_export;
63
+ export default _default;
@@ -4,9 +4,9 @@
4
4
  contenteditable=false is because of storybook, it's shortcuts interfere when not using real input elements
5
5
  -->
6
6
  <div
7
- :id="id ?? fallbackId"
8
7
  :class="twMerge(
9
- `recorder
8
+ `
9
+ recorder
10
10
  flex items-center
11
11
  gap-2
12
12
  px-2
@@ -31,38 +31,48 @@
31
31
  `,
32
32
  $attrs.class
33
33
  )"
34
- :aria-disabled="disabled"
35
34
  :aria-readonly="readonly"
36
35
  :tabindex="disabled ? -1 : 0"
37
36
  :title="recording ? recordingTitle : tempValue"
38
37
  contenteditable="false"
38
+ v-bind="{ ...$attrs, class: void 0 }"
39
+ role="button"
40
+ :aria-pressed="recording"
41
+ :aria-disabled="disabled"
39
42
  ref="recorderEl"
40
- v-bind="{ ...ariaLabel, ...$attrs, class: void 0 }"
41
43
  @blur="handleBlurRecorder($event)"
42
- @click="handleClickRecorder($event)"
43
- @keydown.space.prevent="handleClickRecorder($event, true)"
44
+ @keydown.space.prevent.capture="handlePointerdownRecorder($event, true)"
44
45
  >
45
- <!-- :aria-description="recording ? recordingTitle : ''" -->
46
+ <span
47
+ class="sr-only"
48
+ aria-live="polite"
49
+ >
50
+ {{ recording ? recordingTitle || t("recorder.recording") : "" }}
51
+ </span>
46
52
  <div
47
53
  :class="twMerge(
48
- `recorder--indicator
49
- inline-block
50
- bg-red-700
51
- rounded-full
52
- w-[1em]
53
- h-[1em]
54
- shrink-0
55
- hover:bg-red-500
56
- `,
54
+ `
55
+ recorder--indicator
56
+ inline-block
57
+ bg-red-700
58
+ rounded-full
59
+ w-[1em]
60
+ h-[1em]
61
+ shrink-0
62
+ `,
57
63
  recording && `
58
64
  animate-blinkInf
59
65
  bg-red-500
60
66
  `,
61
67
  (disabled || readonly) && `
62
68
  bg-neutral-500
69
+ `,
70
+ !(disabled || readonly) && `
71
+ hover:bg-red-500
63
72
  `
64
73
  )"
65
74
  ref="recorderIndicatorEl"
75
+ @pointerdown.capture.prevent="handlePointerdownRecorder($event)"
66
76
  />
67
77
  <div class="recorder--value before:content-vertical-holder truncate">
68
78
  {{ recording ? recordingValue ?? t("recorder.recording") : tempValue }}
@@ -72,25 +82,21 @@
72
82
 
73
83
  <script setup>
74
84
  import { keys } from "@alanscodelog/utils/keys";
75
- import { computed, onBeforeUnmount, onMounted, ref, watch, watchPostEffect } from "vue";
76
- import { useAriaLabel } from "../../composables/useAriaLabel.js";
85
+ import { computed, onBeforeUnmount, onMounted, ref, useAttrs, watch, watchPostEffect } from "vue";
77
86
  import { useInjectedI18n } from "../../composables/useInjectedI18n.js";
78
87
  import { twMerge } from "../../utils/twMerge.js";
79
- import { getFallbackId } from "../shared/props.js";
80
88
  defineOptions({
81
- name: "LibRecorder",
89
+ name: "WRecorder",
82
90
  inheritAttrs: false
83
91
  });
84
92
  const t = useInjectedI18n();
85
- const emits = defineEmits(["recorder:blur", "recorder:click", "focus:parent"]);
86
- const fallbackId = getFallbackId();
93
+ const emits = defineEmits(["recorder:blur", "recorder:pointerdown", "focus:parent"]);
94
+ const $attrs = useAttrs();
87
95
  const props = defineProps({
88
- id: { type: String, required: false, default: void 0 },
89
- disabled: { type: Boolean, required: false, default: false },
90
- readonly: { type: Boolean, required: false, default: false },
96
+ disabled: { type: Boolean, required: false },
97
+ readonly: { type: Boolean, required: false },
91
98
  border: { type: Boolean, required: false, default: true },
92
- unstyle: { type: Boolean, required: false, default: false },
93
- label: { type: String, required: false },
99
+ unstyle: { type: Boolean, required: false },
94
100
  recordingValue: { type: String, required: false },
95
101
  recordingTitle: { type: String, required: false, default: "" },
96
102
  recorder: { type: null, required: false, default: void 0 },
@@ -102,7 +108,7 @@ const recorderEl = ref(null);
102
108
  const recorderIndicatorEl = ref(null);
103
109
  const canEdit = computed(() => !props.disabled && !props.readonly);
104
110
  const tempValue = ref(modelValue.value);
105
- watch([() => props.binders, () => props.binders], () => {
111
+ watch([() => props.binders, () => props.recorder], () => {
106
112
  if (recording.value) {
107
113
  throw new Error("Component was not designed to allow swapping out of binders/recorders while recording");
108
114
  }
@@ -110,7 +116,6 @@ watch([() => props.binders, () => props.binders], () => {
110
116
  watch(modelValue, () => {
111
117
  tempValue.value = modelValue.value;
112
118
  });
113
- const ariaLabel = useAriaLabel(props);
114
119
  const boundListeners = {};
115
120
  let isBound = false;
116
121
  const unbindListeners = () => {
@@ -128,7 +133,7 @@ const unbindListeners = () => {
128
133
  };
129
134
  const bindListeners = () => {
130
135
  if (!props.recorder && !props.binders) {
131
- throw new Error("Record is true but no recorder or binders props was passed");
136
+ throw new Error("Recording is true but no recorder or binders props was passed");
132
137
  }
133
138
  if (props.recorder && props.binders) {
134
139
  throw new Error("Recording is true and was passed both a recorder and a binders prop. Both cannot be used at the same time.");
@@ -173,7 +178,7 @@ const handleBlurRecorder = (e) => {
173
178
  emits("recorder:blur", e);
174
179
  }
175
180
  };
176
- const handleClickRecorder = (e, isSpaceKey = false) => {
181
+ const handlePointerdownRecorder = (e, isSpaceKey = false) => {
177
182
  if (!canEdit.value) return;
178
183
  if (!recording.value) {
179
184
  recorderEl.value?.focus();
@@ -182,11 +187,7 @@ const handleClickRecorder = (e, isSpaceKey = false) => {
182
187
  if (isSpaceKey) {
183
188
  return;
184
189
  }
185
- emits("recorder:click", { event: e, indicator: recorderIndicatorEl.value, input: recorderEl.value });
190
+ emits("recorder:pointerdown", { event: e, indicator: recorderIndicatorEl.value, input: recorderEl.value });
186
191
  }
187
192
  };
188
193
  </script>
189
-
190
- <script>
191
-
192
- </script>
@@ -1,6 +1,6 @@
1
- import { type HTMLAttributes } from "vue";
2
- import { type BaseInteractiveProps, type LabelProps, type LinkableByIdProps, type TailwindClassProp } from "../shared/props.js";
3
- type RealProps = LinkableByIdProps & BaseInteractiveProps & LabelProps & {
1
+ import type { HTMLAttributes } from "vue";
2
+ import type { BaseInteractiveProps, TailwindClassProp } from "../../types/index.js";
3
+ type __VLS_Props = /** @vue-ignore */ Omit<HTMLAttributes, "class"> & /** @vue-ignore */ TailwindClassProp & BaseInteractiveProps & {
4
4
  border?: boolean;
5
5
  /** A value to display while recording, if none given the i18n `recorder.recording` key is used. */
6
6
  recordingValue?: string;
@@ -19,56 +19,39 @@ type RealProps = LinkableByIdProps & BaseInteractiveProps & LabelProps & {
19
19
  bind: (el: HTMLElement) => void;
20
20
  unbind: (el: HTMLElement) => void;
21
21
  };
22
- /** The id of the element. If not provided, the id will be generated automatically. */
23
- id?: string;
24
22
  };
25
- interface Props extends
26
- /** @vue-ignore */
27
- Partial<Omit<HTMLAttributes, "class"> & TailwindClassProp>, RealProps {
28
- }
29
- declare const _default: typeof __VLS_export;
30
- export default _default;
31
- declare const __VLS_export: import("vue").DefineComponent<Props & {
23
+ type __VLS_ModelProps = {
32
24
  /**
33
25
  * Puts the element into recording mode if true. See {@link props.recorder}.
34
26
  */
35
- recording?: boolean;
27
+ "recording"?: boolean;
36
28
  /** The final value of the recorder. For intermediate values while recording, pass a recorder and set an appropriate recording value. */
37
29
  modelValue: string;
38
- }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
30
+ };
31
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
32
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
39
33
  "update:modelValue": (value: string) => any;
40
34
  "update:recording": (value: boolean) => any;
41
35
  } & {
42
36
  "recorder:blur": ($event: FocusEvent) => any;
43
- "recorder:click": (args_0: {
37
+ "recorder:pointerdown": (args_0: {
44
38
  event: MouseEvent | KeyboardEvent;
45
39
  indicator: HTMLElement;
46
40
  input: HTMLInputElement;
47
41
  }) => any;
48
42
  "focus:parent": () => any;
49
- }, string, import("vue").PublicProps, Readonly<Props & {
50
- /**
51
- * Puts the element into recording mode if true. See {@link props.recorder}.
52
- */
53
- recording?: boolean;
54
- /** The final value of the recorder. For intermediate values while recording, pass a recorder and set an appropriate recording value. */
55
- modelValue: string;
56
- }> & Readonly<{
43
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
57
44
  "onUpdate:modelValue"?: ((value: string) => any) | undefined;
58
- "onUpdate:recording"?: ((value: boolean) => any) | undefined;
59
45
  "onRecorder:blur"?: (($event: FocusEvent) => any) | undefined;
60
- "onRecorder:click"?: ((args_0: {
46
+ "onRecorder:pointerdown"?: ((args_0: {
61
47
  event: MouseEvent | KeyboardEvent;
62
48
  indicator: HTMLElement;
63
49
  input: HTMLInputElement;
64
50
  }) => any) | undefined;
65
51
  "onFocus:parent"?: (() => any) | undefined;
52
+ "onUpdate:recording"?: ((value: boolean) => any) | undefined;
66
53
  }>, {
67
- id: string;
68
- disabled: boolean;
69
- readonly: boolean;
70
54
  border: boolean;
71
- unstyle: boolean;
72
55
  recordingTitle: string;
73
56
  recorder: Record<string, any>;
74
57
  binders: {
@@ -76,3 +59,5 @@ declare const __VLS_export: import("vue").DefineComponent<Props & {
76
59
  unbind: (el: HTMLElement) => void;
77
60
  };
78
61
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
62
+ declare const _default: typeof __VLS_export;
63
+ export default _default;
@@ -1,11 +1,12 @@
1
1
  import type { Theme } from "metamorphosis";
2
+ import type { HTMLAttributes } from "vue";
2
3
  import { NotificationHandler } from "../../helpers/NotificationHandler.js";
4
+ import type { TailwindClassProp } from "../../types/index.js";
3
5
  type __VLS_Props = {
4
6
  theme?: Theme;
5
7
  outline?: boolean;
6
8
  forceOutline?: boolean;
7
9
  testWrapperMode?: boolean;
8
- id?: string;
9
10
  /** You can set a ref to the root element by passing :getRef="_ => el = _" */
10
11
  getRef?: (el: HTMLElement | null) => void;
11
12
  /** True by default, should be passed import.meta.client if using nuxt, or false when running server side. */
@@ -13,19 +14,19 @@ type __VLS_Props = {
13
14
  useBuiltinTranslations?: boolean;
14
15
  useNotifications?: boolean;
15
16
  notificationHandler?: NotificationHandler;
17
+ wrapperAttrs?: Omit<HTMLAttributes, "class"> & TailwindClassProp;
16
18
  };
17
19
  declare var __VLS_11: {};
18
20
  type __VLS_Slots = {} & {
19
21
  default?: (props: typeof __VLS_11) => any;
20
22
  };
21
23
  declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
22
- darkMode: import("../../composables/useDarkMode.js").DarkModeState & import("../../composables/useDarkMode.js").DarkModeCommands;
24
+ darkMode: import("../../main.lib.js").DarkModeState & import("../../main.lib.js").DarkModeCommands;
23
25
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
24
- theme: Theme;
25
- id: string;
26
- isClientSide: boolean;
27
26
  useBuiltinTranslations: boolean;
27
+ theme: Theme;
28
28
  outline: boolean;
29
+ isClientSide: boolean;
29
30
  forceOutline: boolean;
30
31
  testWrapperMode: boolean;
31
32
  getRef: (el: HTMLElement | null) => void;