@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
@@ -2,12 +2,12 @@
2
2
  import type { Meta, StoryObj } from "@storybook/vue3"
3
3
  import { ref } from "vue"
4
4
 
5
- import LibColorInput from "./LibColorInput.vue"
5
+ import WColorInput from "./WColorInput.vue"
6
6
 
7
7
  import * as components from "../index.js"
8
8
 
9
- const meta: Meta<typeof LibColorInput> = {
10
- component: LibColorInput,
9
+ const meta: Meta<typeof WColorInput> = {
10
+ component: WColorInput,
11
11
  title: "Components/ColorInput",
12
12
  args: {
13
13
 
@@ -15,7 +15,7 @@ const meta: Meta<typeof LibColorInput> = {
15
15
  }
16
16
 
17
17
  export default meta
18
- type Story = StoryObj<typeof LibColorInput>
18
+ type Story = StoryObj<typeof WColorInput>
19
19
 
20
20
  export const Primary: Story = {
21
21
  render: args => ({
@@ -36,21 +36,21 @@ export const Primary: Story = {
36
36
  }
37
37
  },
38
38
  template: `
39
- <lib-color-Input
39
+ <WColorInput
40
40
  :allowAlpha="args.allowAlpha"
41
41
  :modelValue="args.color.value"
42
42
  @update:modelValue="handleChange"
43
43
  >
44
- </lib-color-Input>
44
+ </WColorInput>
45
45
  Stretched:
46
46
  <div class="flex-1 flex">
47
- <lib-color-Input
47
+ <WColorInput
48
48
  class="flex-1"
49
49
  :allowAlpha="args.allowAlpha"
50
50
  :modelValue="args.color.value"
51
51
  @update:modelValue="handleChange"
52
52
  >
53
- </lib-color-Input>
53
+ </WColorInput>
54
54
  </div>
55
55
  `
56
56
  })
@@ -0,0 +1,112 @@
1
+ <template>
2
+ <WPopover
3
+ :root-props="{
4
+ class: 'color-input--popover-root',
5
+ ...rootProps
6
+ }"
7
+ :content-props="{
8
+ onInteractOutside: () => { $tempValue = undefined;emit('cancel') }
9
+ }"
10
+ v-model="showPopover"
11
+ >
12
+ <template #button>
13
+ <WColorSwatchButton
14
+ :id="finalId"
15
+ :temp-value="$tempValue"
16
+ :value="$value"
17
+ @click="togglePopover"
18
+ />
19
+ </template>
20
+ <template #popover>
21
+ <div
22
+ class="color-input--popover-wrapper p-5"
23
+ >
24
+ <WColorPicker
25
+ v-if="showPopover"
26
+ :id="finalId"
27
+ :allow-alpha="allowAlpha"
28
+ :custom-representation="customRepresentation"
29
+ :string-precision="stringPrecision"
30
+ v-model="internalTempValue"
31
+ v-model:temp-value="$tempValue"
32
+ @save="save"
33
+ @cancel="cancel"
34
+ />
35
+ </div>
36
+ </template>
37
+ </Wpopover>
38
+ </template>
39
+
40
+ <script setup lang="ts">
41
+ import type { DialogRootEmits, PopoverRootProps } from "reka-ui"
42
+ import { type ButtonHTMLAttributes, type EmitsToProps, type HTMLAttributes, ref } from "vue"
43
+
44
+ import WColorSwatchButton from "./WColorSwatchButton.vue"
45
+
46
+ import { useFallbackId } from "../../composables/useFallbackId.js"
47
+ import type { HsvaColor, RgbaColor, TailwindClassProp } from "../../types/index.js"
48
+ import WColorPicker from "../WColorPicker/WColorPicker.vue"
49
+ import WPopover from "../WPopover/WPopover.vue"
50
+
51
+ defineOptions({
52
+ name: "WColorInput"
53
+ })
54
+ const props = withDefaults(defineProps<
55
+ & {
56
+ id?: string
57
+ label?: string
58
+ allowAlpha?: boolean
59
+ border?: boolean
60
+ /** See ColorPicker.copyTransform */
61
+ copyTransform?: (val: HsvaColor, stringVal: string) => any
62
+ /** See ColorPicker.allowAlpha */
63
+ stringPrecision?: number
64
+ /** See ColorPicker.customRepresentation */
65
+ customRepresentation?: {
66
+ fromHsvaToString: (hsva: HsvaColor, includeAlpha: boolean) => string
67
+ }
68
+ rootProps?: PopoverRootProps & EmitsToProps<DialogRootEmits> & Omit<HTMLAttributes, "class"> & TailwindClassProp
69
+ }
70
+ & /** @vue-ignore */ Omit<ButtonHTMLAttributes, "class">
71
+ & /** @vue-ignore */ TailwindClassProp
72
+ >(), {
73
+ allowAlpha: true,
74
+ border: true,
75
+ copyTransform: (_val: HsvaColor, stringVal: string) => stringVal,
76
+ stringPrecision: 3,
77
+ customRepresentation: undefined
78
+ })
79
+ const finalId = useFallbackId(props)
80
+
81
+ const emit = defineEmits<{
82
+ (e: "save"): void
83
+ (e: "cancel"): void
84
+ }>()
85
+
86
+
87
+ const $value = defineModel<RgbaColor>({ required: false, default: () => ({ r: 0, g: 0, b: 0 }) })
88
+ const $tempValue = defineModel<RgbaColor | undefined>("tempValue", { required: false, default: () => (undefined) })
89
+
90
+ const internalTempValue = ref({ ...$value.value })
91
+
92
+ const showPopover = ref(false)
93
+
94
+ const togglePopover = (): void => {
95
+ if (showPopover.value) {
96
+ $value.value = internalTempValue.value
97
+ }
98
+ showPopover.value = !showPopover.value
99
+ }
100
+
101
+ function save() {
102
+ $value.value = internalTempValue.value
103
+ showPopover.value = false
104
+ $tempValue.value = undefined
105
+ emit("save")
106
+ }
107
+ function cancel() {
108
+ showPopover.value = false
109
+ $tempValue.value = undefined
110
+ emit("cancel")
111
+ }
112
+ </script>
@@ -0,0 +1,102 @@
1
+ <template>
2
+ <WButton
3
+ :id="id"
4
+ :class="twMerge(`
5
+ color-input--button
6
+ p-0
7
+ flex
8
+ flex-nowrap
9
+ min-w-4
10
+ overflow-hidden
11
+ [&_.button--label]:items-stretch
12
+ [&_.button--label]:gap-0
13
+ after:hidden
14
+ `,
15
+ ($attrs as any).class
16
+ )"
17
+ :aria-label="t('color-input.aria-and-title-prefix') + stringColor"
18
+ :title="t('color-input.aria-and-title-prefix') + stringColor"
19
+ v-bind="{ ...$attrs, class: undefined }"
20
+ >
21
+ <template #label>
22
+ <div
23
+ class="
24
+ color-input--swatch-wrapper
25
+ flex
26
+ w-full
27
+ "
28
+ >
29
+ <slot v-bind="{ stringColor, classes: swatchClasses }">
30
+ <div
31
+ :class="swatchClasses"
32
+ :style="`background:${stringColor}`"
33
+ />
34
+ </slot>
35
+ <slot
36
+ v-if="tempValue"
37
+ v-bind="{ tempStringColor, classes: swatchClasses }"
38
+ name="temp"
39
+ >
40
+ <div
41
+ :class="swatchClasses"
42
+ :style="`background:${tempStringColor}`"
43
+ />
44
+ </slot>
45
+ </div>
46
+ </template>
47
+ </Wbutton>
48
+ </template>
49
+
50
+ <script setup lang="ts">
51
+ import Color from "colorjs.io"
52
+ import { type ButtonHTMLAttributes, computed, useAttrs } from "vue"
53
+
54
+ import { useInjectedI18n } from "../../composables/useInjectedI18n.js"
55
+ import type { RgbaColor, TailwindClassProp } from "../../types/index.js"
56
+ import { twMerge } from "../../utils/twMerge.js"
57
+ import WButton from "../WButton/WButton.vue"
58
+
59
+
60
+ const $attrs = useAttrs()
61
+
62
+ const t = useInjectedI18n()
63
+
64
+ const props = withDefaults(defineProps<
65
+ & {
66
+ id?: string
67
+ tempValue: RgbaColor | undefined
68
+ value: RgbaColor
69
+ }
70
+ & /** @vue-ignore */ Omit<ButtonHTMLAttributes, "class" | "value">
71
+ & /** @vue-ignore */ TailwindClassProp
72
+ >(), {
73
+ })
74
+
75
+ const swatchClasses = `
76
+ color-input--swatch
77
+ after:content-vertical-holder
78
+ min-w-4
79
+ flex-1
80
+ relative
81
+ before:content-['']
82
+ before:absolute
83
+ before:inset-0
84
+ before:bg-transparency-squares
85
+ before:z-[-1]
86
+ `
87
+
88
+
89
+ const stringColor = computed(() => new Color("srgb", [
90
+ props.value.r / 255,
91
+ props.value.g / 255,
92
+ props.value.b / 255
93
+ ], props.value.a ?? 1).toString())
94
+
95
+ const tempStringColor = computed(() => props.tempValue
96
+ ? new Color("srgb", [
97
+ props.tempValue.r / 255,
98
+ props.tempValue.g / 255,
99
+ props.tempValue.b / 255
100
+ ], props.tempValue.a ?? 1).toString()
101
+ : "")
102
+ </script>
@@ -3,12 +3,12 @@ import type { Meta, StoryObj } from "@storybook/vue3"
3
3
  import Color from "colorjs.io"
4
4
  import { ref } from "vue"
5
5
 
6
- import LibColorPicker from "./LibColorPicker.vue"
6
+ import WColorPicker from "./WColorPicker.vue"
7
7
 
8
8
  import * as components from "../index.js"
9
9
 
10
- const meta: Meta<typeof LibColorPicker> = {
11
- component: LibColorPicker,
10
+ const meta: Meta<typeof WColorPicker> = {
11
+ component: WColorPicker,
12
12
  title: "Components/ColorPicker",
13
13
  args: {
14
14
 
@@ -16,7 +16,7 @@ const meta: Meta<typeof LibColorPicker> = {
16
16
  }
17
17
 
18
18
  export default meta
19
- type Story = StoryObj<typeof LibColorPicker>
19
+ type Story = StoryObj<typeof WColorPicker>
20
20
 
21
21
  export const Primary: Story = {
22
22
  render: args => ({
@@ -38,15 +38,15 @@ export const Primary: Story = {
38
38
  }
39
39
  },
40
40
  template: `
41
- <lib-root :outline="args.outline">
42
- {{args.color}}
43
- <lib-color-picker
44
- :modelValue="args.color.value"
41
+ <WRoot :outline="args.outline">
42
+ {{args.color}}
43
+ <WColorPicker
44
+ :modelValue="args.color.value"
45
45
  v-bind="args"
46
- @update:modelValue="handleChange"
47
- >
48
- </lib-color-picker>
49
- </lib-root>
46
+ @update:modelValue="handleChange"
47
+ >
48
+ </WColorPicker>
49
+ </WRoot>
50
50
  `
51
51
  })
52
52
  }
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div
3
- :id="id ?? fallbackId"
3
+ :id="finalId"
4
4
  :aria-label="t('color-picker.aria')"
5
5
  :class="twMerge(`color-picker
6
6
  [--slider-size:calc(var(--spacing)_*_4)]
@@ -11,7 +11,7 @@
11
11
  max-w-[300px]
12
12
  flex flex-col items-center justify-center
13
13
  bg-neutral-50
14
- dark:bg-neutral-950
14
+ dark:bg-neutral-800
15
15
  gap-3
16
16
  p-3
17
17
  `,
@@ -20,7 +20,12 @@
20
20
  [--bg:rgb(var(--contrast-dark))]
21
21
  `,
22
22
  border && `
23
- border rounded-sm border-neutral-600
23
+ border
24
+ rounded-sm
25
+ border-neutral-300
26
+ dark:border-neutral-900
27
+ shadow-md
28
+ shadow-black/30
24
29
  `,
25
30
  ($attrs as any)?.class
26
31
  )"
@@ -43,9 +48,9 @@
43
48
  ref="pickerEl"
44
49
  />
45
50
  <div
46
- aria-live="assertive"
51
+ role="slider"
47
52
  :aria-description="ariaDescription"
48
- :aria-label="`${t('color-picker.aria.saturation')}: ${localColor.percent.s}, ${t('color-picker.aria.value')}: ${localColor.percent.s}`"
53
+ :aria-valuetext="`${t('color-picker.aria.saturation')}: ${localColor.percent.s}, ${t('color-picker.aria.value')}: ${localColor.percent.v}`"
49
54
  :class="`
50
55
  color-picker--all-handle
51
56
  ${handleClasses}
@@ -102,7 +107,7 @@
102
107
  <div
103
108
  role="slider"
104
109
  :aria-label="t('color-picker.aria.alpha-slider')"
105
- :aria-valuenow="`${localColor.percent.h}`"
110
+ :aria-valuenow="`${localColor.percent.a}`"
106
111
  :aria-valuemin="0"
107
112
  :aria-valuemax="100"
108
113
  :aria-description="ariaDescription"
@@ -137,7 +142,7 @@
137
142
  </div>
138
143
  <div class="color-picker--input-group flex flex-1 items-center gap-2">
139
144
  <slot name="input">
140
- <lib-simple-input
145
+ <WSimpleInput
141
146
  :valid="valid"
142
147
  class="color-picker--input w-full"
143
148
  :aria-label="label"
@@ -145,30 +150,30 @@
145
150
  @input="parseInput"
146
151
  @blur="onBlurFixInvalidValue"
147
152
  />
148
- <lib-button
153
+ <WButton
149
154
  class="color-picker--copy-button"
150
155
  :aria-label="t('copy')"
151
156
  @click="copy(copyTransform?.(localColor.val, localColorString) ?? localColorString)"
152
157
  >
153
- <icon><i-fa6-regular-copy/></icon>
154
- </lib-button>
158
+ <WIcon><i-lucide-copy/></WIcon>
159
+ </Wbutton>
155
160
  </slot>
156
161
  </div>
157
162
  </div>
158
163
  <slot name="buttons">
159
164
  <div class="color-picker--save-cancel-group flex w-full items-center justify-center gap-2">
160
- <lib-button
165
+ <WButton
161
166
  class="color-picker--save-button"
162
167
  @click="save()"
163
168
  >
164
169
  {{ t("save") }}
165
- </lib-button>
166
- <lib-button
170
+ </Wbutton>
171
+ <WButton
167
172
  class="color-picker--cancel-button"
168
173
  @click="emits('cancel')"
169
174
  >
170
175
  {{ t("cancel") }}
171
- </lib-button>
176
+ </Wbutton>
172
177
  </div>
173
178
  </slot>
174
179
  </div>
@@ -186,19 +191,19 @@ import { safeConvertToHsva } from "./utils/safeConvertToHsva.js"
186
191
  import { safeConvertToRgba } from "./utils/safeConvertToRgba.js"
187
192
  import { toLowPrecisionRgbaString } from "./utils/toLowPrecisionRgbaString.js"
188
193
 
189
- import IFa6RegularCopy from "~icons/fa-regular/copy"
194
+ import ILucideCopy from "~icons/lucide/copy"
190
195
 
196
+ import { useFallbackId } from "../../composables/useFallbackId.js"
191
197
  import { useInjectedI18n } from "../../composables/useInjectedI18n.js"
192
198
  import { copy } from "../../helpers/copy.js"
193
199
  import type { HsvaColor, RgbaColor } from "../../types/index.js"
194
200
  import { twMerge } from "../../utils/twMerge.js"
195
- import Icon from "../Icon/Icon.vue"
196
- import LibButton from "../LibButton/LibButton.vue"
197
- import LibSimpleInput from "../LibSimpleInput/LibSimpleInput.vue"
198
- import { getFallbackId, type LabelProps, type LinkableByIdProps } from "../shared/props.js"
201
+ import WButton from "../WButton/WButton.vue"
202
+ import WIcon from "../WIcon/WIcon.vue"
203
+ import WSimpleInput from "../WSimpleInput/WSimpleInput.vue"
199
204
 
200
205
  defineOptions({
201
- name: "LibColorPicker"
206
+ name: "WColorPicker"
202
207
  })
203
208
 
204
209
  const $attrs = useAttrs()
@@ -235,9 +240,9 @@ const emits = defineEmits<{
235
240
  }>()
236
241
 
237
242
  const props = withDefaults(defineProps<
238
- LabelProps
239
- & LinkableByIdProps
240
243
  & {
244
+ id?: string
245
+ label?: string
241
246
  allowAlpha?: boolean
242
247
  /**
243
248
  * The precision of the rgba string representation of the color. Defaults to 3. Extra trailing zeros are removed for a prettier number.
@@ -264,9 +269,8 @@ const props = withDefaults(defineProps<
264
269
  customRepresentation: undefined,
265
270
  valid: true
266
271
  })
267
-
272
+ const finalId = useFallbackId(props)
268
273
  const ariaDescription = t("color-picker.aria.description")
269
- const fallbackId = getFallbackId()
270
274
 
271
275
  const $value = defineModel<RgbaColor>({ required: false, default: () => ({ r: 0, g: 0, b: 0 }) })
272
276
  const $tempValue = defineModel<RgbaColor | undefined>("tempValue", { required: false, default: () => (undefined) })
@@ -275,6 +279,10 @@ const pickerEl = ref<HTMLCanvasElement | null>(null)
275
279
  const hueSliderEl = ref<HTMLCanvasElement | null>(null)
276
280
  const alphaSliderEl = ref<HTMLCanvasElement | null>(null)
277
281
 
282
+ let pickerCtx: CanvasRenderingContext2D | null = null
283
+ let hueSliderCtx: CanvasRenderingContext2D | null = null
284
+ let alphaSliderCtx: CanvasRenderingContext2D | null = null
285
+
278
286
  type Config = Record<string, {
279
287
  el: Ref<HTMLCanvasElement>
280
288
  xKey?: keyof HsvaColor
@@ -338,7 +346,8 @@ function onBlurFixInvalidValue() {
338
346
  }
339
347
 
340
348
  function updatePicker(el: HTMLCanvasElement, hue: number): void {
341
- const ctx = el.getContext("2d")!
349
+ if (!pickerCtx) return
350
+ const ctx = pickerCtx
342
351
  const { height, width } = el
343
352
  ctx.clearRect(0, 0, width, height)
344
353
 
@@ -357,8 +366,8 @@ function updatePicker(el: HTMLCanvasElement, hue: number): void {
357
366
  ctx.globalCompositeOperation = "source-over"
358
367
  }
359
368
 
360
- function updateSlider(el: HTMLCanvasElement, stops: ((i: number) => string) | string[], length: number = 360): void {
361
- const ctx = el.getContext("2d")!
369
+ function updateSlider(el: HTMLCanvasElement, ctx: CanvasRenderingContext2D | null, stops: ((i: number) => string) | string[], length: number = 360): void {
370
+ if (!ctx) return
362
371
  const { height, width } = el
363
372
  ctx.clearRect(0, 0, width, height)
364
373
 
@@ -438,7 +447,7 @@ const slider = {
438
447
  }
439
448
  },
440
449
  pointerdown: (e: PointerEvent, type: Types) => {
441
- const focusTargetClass = `#${props.id ?? fallbackId} .color-picker--${type}-handle`
450
+ const focusTargetClass = `#${finalId} .color-picker--${type}-handle`
442
451
  const focusTarget = document.querySelector(focusTargetClass)
443
452
  // allows enter to work when the user drags any slider as the even will be captured by the keydown listener
444
453
  if (focusTarget instanceof HTMLElement) focusTarget.focus()
@@ -476,9 +485,9 @@ function updateSliders(_: HsvaColor): void {
476
485
  hsl0.alpha = 0
477
486
  const hsl1 = color.clone()
478
487
  hsl1.alpha = 1
479
- updateSlider(alphaSliderEl.value, [hsl0.toString(), hsl1.toString()])
488
+ updateSlider(alphaSliderEl.value, alphaSliderCtx!, [hsl0.toString(), hsl1.toString()])
480
489
  }
481
- updateSlider(hueSliderEl.value!, i => `hsl(${i} 100% 50%)`)
490
+ updateSlider(hueSliderEl.value!, hueSliderCtx!, i => `hsl(${i} 100% 50%)`)
482
491
  updatePicker(pickerEl.value!, _.h)
483
492
  }
484
493
 
@@ -530,8 +539,12 @@ onMounted(() => {
530
539
  convertAndUpdateAll($tempValue.value)
531
540
  }
532
541
 
533
- const handle = document.querySelector(`#${props.id ?? fallbackId} .color-picker--all-handle`)
542
+ const handle = document.querySelector(`#${finalId} .color-picker--all-handle`)
534
543
  if (handle instanceof HTMLElement) handle.focus()
544
+
545
+ pickerCtx = pickerEl.value?.getContext("2d") ?? null
546
+ hueSliderCtx = hueSliderEl.value?.getContext("2d") ?? null
547
+ alphaSliderCtx = alphaSliderEl.value?.getContext("2d") ?? null
535
548
  })
536
549
 
537
550
  watch($value, () => {