@witchcraft/ui 0.3.24 → 0.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/README.md +54 -61
  2. package/dist/module.json +1 -1
  3. package/dist/runtime/assets/animations.css +1 -1
  4. package/dist/runtime/assets/locales/en.json +2 -0
  5. package/dist/runtime/assets/utils.css +1 -1
  6. package/dist/runtime/build/WitchcraftUiResolver.js +1 -1
  7. package/dist/runtime/components/TestControls/TestControls.vue +3 -3
  8. package/dist/runtime/components/WButton/WButton.d.vue.ts +34 -0
  9. package/dist/runtime/components/{LibButton/LibButton.vue → WButton/WButton.vue} +26 -38
  10. package/dist/runtime/components/WButton/WButton.vue.d.ts +34 -0
  11. package/dist/runtime/components/WCheckbox/WCheckbox.d.vue.ts +33 -0
  12. package/dist/runtime/components/WCheckbox/WCheckbox.vue +109 -0
  13. package/dist/runtime/components/WCheckbox/WCheckbox.vue.d.ts +33 -0
  14. package/dist/runtime/components/WColorInput/WColorInput.d.vue.ts +45 -0
  15. package/dist/runtime/components/WColorInput/WColorInput.vue +85 -0
  16. package/dist/runtime/components/WColorInput/WColorInput.vue.d.ts +45 -0
  17. package/dist/runtime/components/WColorInput/WColorSwatchButton.d.vue.ts +28 -0
  18. package/dist/runtime/components/WColorInput/WColorSwatchButton.vue +86 -0
  19. package/dist/runtime/components/WColorInput/WColorSwatchButton.vue.d.ts +28 -0
  20. package/dist/runtime/components/{LibColorPicker/LibColorPicker.d.vue.ts → WColorPicker/WColorPicker.d.vue.ts} +5 -4
  21. package/dist/runtime/components/{LibColorPicker/LibColorPicker.vue → WColorPicker/WColorPicker.vue} +40 -29
  22. package/dist/runtime/components/{LibColorPicker/LibColorPicker.vue.d.ts → WColorPicker/WColorPicker.vue.d.ts} +5 -4
  23. package/dist/runtime/components/WCombobox/WCombobox.d.vue.ts +109 -0
  24. package/dist/runtime/components/WCombobox/WCombobox.vue +402 -0
  25. package/dist/runtime/components/WCombobox/WCombobox.vue.d.ts +109 -0
  26. package/dist/runtime/components/WCombobox/storyPlays.d.ts +18 -0
  27. package/dist/runtime/components/WCombobox/storyPlays.js +68 -0
  28. package/dist/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.d.vue.ts → WDarkModeSwitcher/WDarkModeSwitcher.d.vue.ts} +8 -13
  29. package/dist/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.vue → WDarkModeSwitcher/WDarkModeSwitcher.vue} +11 -14
  30. package/dist/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.vue.d.ts → WDarkModeSwitcher/WDarkModeSwitcher.vue.d.ts} +8 -13
  31. package/dist/runtime/components/WDatePicker/WDatePicker.d.vue.ts +40 -0
  32. package/dist/runtime/components/{LibDatePicker/LibDatePicker.vue → WDatePicker/WDatePicker.vue} +3 -7
  33. package/dist/runtime/components/WDatePicker/WDatePicker.vue.d.ts +40 -0
  34. package/dist/runtime/components/{LibDatePicker/LibRangeDatePicker.vue → WDatePicker/WRangeDatePicker.vue} +16 -21
  35. package/dist/runtime/components/{LibDatePicker/LibSingleDatePicker.vue → WDatePicker/WSingleDatePicker.vue} +16 -21
  36. package/dist/runtime/components/{LibDatePicker/LibTimeZonePicker.d.vue.ts → WDatePicker/WTimeZonePicker.d.vue.ts} +1 -11
  37. package/dist/runtime/components/{LibDatePicker/LibTimeZonePicker.vue → WDatePicker/WTimeZonePicker.vue} +5 -12
  38. package/dist/runtime/components/{LibDatePicker/LibTimeZonePicker.vue.d.ts → WDatePicker/WTimeZonePicker.vue.d.ts} +1 -11
  39. package/dist/runtime/components/{LibDebug/LibDebug.vue → WDebug/WDebug.vue} +9 -12
  40. package/dist/runtime/components/{LibDevOnly/LibDevOnly.d.vue.ts → WDevOnly/WDevOnly.d.vue.ts} +0 -3
  41. package/dist/runtime/components/{LibDevOnly/LibDevOnly.vue.d.ts → WDevOnly/WDevOnly.vue.d.ts} +0 -3
  42. package/dist/runtime/components/WFileInput/WFileInput.d.vue.ts +58 -0
  43. package/dist/runtime/components/{LibFileInput/LibFileInput.vue → WFileInput/WFileInput.vue} +71 -57
  44. package/dist/runtime/components/WFileInput/WFileInput.vue.d.ts +58 -0
  45. package/dist/runtime/components/{Icon/Icon.vue.d.ts → WIcon/WIcon.d.vue.ts} +2 -6
  46. package/dist/runtime/components/{Icon/Icon.vue → WIcon/WIcon.vue} +1 -1
  47. package/dist/runtime/components/{Icon/Icon.d.vue.ts → WIcon/WIcon.vue.d.ts} +2 -6
  48. package/dist/runtime/components/{LibMultiValues/LibMultiValues.d.vue.ts → WMultiValues/WMultiValues.d.vue.ts} +8 -14
  49. package/dist/runtime/components/WMultiValues/WMultiValues.vue +149 -0
  50. package/dist/runtime/components/{LibMultiValues/LibMultiValues.vue.d.ts → WMultiValues/WMultiValues.vue.d.ts} +8 -14
  51. package/dist/runtime/components/WNotifications/WNotification.d.vue.ts +37 -0
  52. package/dist/runtime/components/{LibNotifications/LibNotification.vue → WNotifications/WNotification.vue} +38 -50
  53. package/dist/runtime/components/WNotifications/WNotification.vue.d.ts +37 -0
  54. package/dist/runtime/components/WNotifications/WNotifications.d.vue.ts +11 -0
  55. package/dist/runtime/components/{LibNotifications/LibNotifications.vue → WNotifications/WNotifications.vue} +44 -28
  56. package/dist/runtime/components/WNotifications/WNotifications.vue.d.ts +11 -0
  57. package/dist/runtime/components/WNumberInput/WNumberInput.d.vue.ts +27 -0
  58. package/dist/runtime/components/WNumberInput/WNumberInput.vue +96 -0
  59. package/dist/runtime/components/WNumberInput/WNumberInput.vue.d.ts +27 -0
  60. package/dist/runtime/components/WPagination/WPagination.d.vue.ts +59 -0
  61. package/dist/runtime/components/WPagination/WPagination.vue +182 -0
  62. package/dist/runtime/components/WPagination/WPagination.vue.d.ts +59 -0
  63. package/dist/runtime/components/WPalette/WPalette.d.vue.ts +11 -0
  64. package/dist/runtime/components/{LibPalette/LibPalette.vue → WPalette/WPalette.vue} +3 -8
  65. package/dist/runtime/components/WPalette/WPalette.vue.d.ts +11 -0
  66. package/dist/runtime/components/WPopover/WPopover.d.vue.ts +43 -0
  67. package/dist/runtime/components/WPopover/WPopover.vue +138 -0
  68. package/dist/runtime/components/WPopover/WPopover.vue.d.ts +43 -0
  69. package/dist/runtime/components/WPopup/WPopup.d.vue.ts +41 -0
  70. package/dist/runtime/components/WPopup/WPopup.vue +74 -0
  71. package/dist/runtime/components/WPopup/WPopup.vue.d.ts +41 -0
  72. package/dist/runtime/components/{LibProgressBar/LibProgressBar.d.vue.ts → WProgressBar/WProgressBar.d.vue.ts} +14 -18
  73. package/dist/runtime/components/WProgressBar/WProgressBar.vue +150 -0
  74. package/dist/runtime/components/{LibProgressBar/LibProgressBar.vue.d.ts → WProgressBar/WProgressBar.vue.d.ts} +14 -18
  75. package/dist/runtime/components/{LibRecorder/LibRecorder.d.vue.ts → WRecorder/WRecorder.d.vue.ts} +14 -29
  76. package/dist/runtime/components/{LibRecorder/LibRecorder.vue → WRecorder/WRecorder.vue} +37 -36
  77. package/dist/runtime/components/{LibRecorder/LibRecorder.vue.d.ts → WRecorder/WRecorder.vue.d.ts} +14 -29
  78. package/dist/runtime/components/{LibRoot/LibRoot.d.vue.ts → WRoot/WRoot.d.vue.ts} +6 -5
  79. package/dist/runtime/components/{LibRoot/LibRoot.vue → WRoot/WRoot.vue} +17 -15
  80. package/dist/runtime/components/{LibRoot/LibRoot.vue.d.ts → WRoot/WRoot.vue.d.ts} +6 -5
  81. package/dist/runtime/components/{LibSimpleInput/LibSimpleInput.d.vue.ts → WSimpleInput/WSimpleInput.d.vue.ts} +9 -16
  82. package/dist/runtime/components/{LibSimpleInput/LibSimpleInput.vue → WSimpleInput/WSimpleInput.vue} +12 -23
  83. package/dist/runtime/components/{LibSimpleInput/LibSimpleInput.vue.d.ts → WSimpleInput/WSimpleInput.vue.d.ts} +9 -16
  84. package/dist/runtime/components/WTable/WTable.d.vue.ts +102 -0
  85. package/dist/runtime/components/{LibTable/LibTable.vue → WTable/WTable.vue} +13 -14
  86. package/dist/runtime/components/WTable/WTable.vue.d.ts +102 -0
  87. package/dist/runtime/components/WTooltip/WTooltip.d.vue.ts +40 -0
  88. package/dist/runtime/components/WTooltip/WTooltip.vue +111 -0
  89. package/dist/runtime/components/WTooltip/WTooltip.vue.d.ts +40 -0
  90. package/dist/runtime/components/index.d.ts +20 -20
  91. package/dist/runtime/components/index.js +20 -20
  92. package/dist/runtime/composables/index.d.ts +4 -4
  93. package/dist/runtime/composables/index.js +4 -4
  94. package/dist/runtime/composables/useDelayedLoadingIndicator.d.ts +9 -0
  95. package/dist/runtime/composables/useDelayedLoadingIndicator.js +18 -0
  96. package/dist/runtime/composables/useDisplayForReka.d.ts +25 -0
  97. package/dist/runtime/composables/useDisplayForReka.js +16 -0
  98. package/dist/runtime/composables/useFallbackId.d.ts +3 -0
  99. package/dist/runtime/composables/useFallbackId.js +5 -0
  100. package/dist/runtime/composables/useInjectedDarkMode.d.ts +1 -1
  101. package/dist/runtime/composables/usePopupConstrainToStyle.d.ts +8 -0
  102. package/dist/runtime/composables/usePopupConstrainToStyle.js +8 -0
  103. package/dist/runtime/composables/useSetupDarkMode.d.ts +2 -3
  104. package/dist/runtime/composables/useSetupDarkMode.js +90 -4
  105. package/dist/runtime/helpers/NotificationHandler.d.ts +25 -3
  106. package/dist/runtime/helpers/NotificationHandler.js +5 -9
  107. package/dist/runtime/injectionKeys.d.ts +1 -5
  108. package/dist/runtime/injectionKeys.js +0 -2
  109. package/dist/runtime/types/index.d.ts +85 -27
  110. package/dist/runtime/types/index.js +1 -0
  111. package/package.json +43 -43
  112. package/src/runtime/assets/animations.css +5 -5
  113. package/src/runtime/assets/locales/en.json +2 -0
  114. package/src/runtime/assets/utils.css +43 -0
  115. package/src/runtime/build/WitchcraftUiResolver.ts +1 -1
  116. package/src/runtime/components/TestControls/TestControls.vue +3 -3
  117. package/src/runtime/components/WButton/WButton.stories.ts +112 -0
  118. package/src/runtime/components/{LibButton/LibButton.vue → WButton/WButton.vue} +34 -50
  119. package/src/runtime/components/{LibCheckbox/LibCheckbox.stories.ts → WCheckbox/WCheckbox.stories.ts} +5 -5
  120. package/src/runtime/components/WCheckbox/WCheckbox.vue +123 -0
  121. package/src/runtime/components/{LibColorInput/LibColorInput.stories.ts → WColorInput/WColorInput.stories.ts} +8 -8
  122. package/src/runtime/components/WColorInput/WColorInput.vue +112 -0
  123. package/src/runtime/components/WColorInput/WColorSwatchButton.vue +102 -0
  124. package/src/runtime/components/{LibColorPicker/LibColorPicker.stories.ts → WColorPicker/WColorPicker.stories.ts} +12 -12
  125. package/src/runtime/components/{LibColorPicker/LibColorPicker.vue → WColorPicker/WColorPicker.vue} +43 -32
  126. package/src/runtime/components/WCombobox/WCombobox.stories.ts +209 -0
  127. package/src/runtime/components/WCombobox/WCombobox.vue +446 -0
  128. package/src/runtime/components/WCombobox/storyPlays.ts +92 -0
  129. package/src/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.stories.ts → WDarkModeSwitcher/WDarkModeSwitcher.stories.ts} +6 -6
  130. package/src/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.vue → WDarkModeSwitcher/WDarkModeSwitcher.vue} +19 -30
  131. package/src/runtime/components/{LibDatePicker/LibDatePicker.stories.ts → WDatePicker/WDatePicker.stories.ts} +42 -34
  132. package/src/runtime/components/{LibDatePicker/LibDatePicker.vue → WDatePicker/WDatePicker.vue} +3 -7
  133. package/src/runtime/components/{LibDatePicker/LibRangeDatePicker.vue → WDatePicker/WRangeDatePicker.vue} +16 -22
  134. package/src/runtime/components/{LibDatePicker/LibSingleDatePicker.vue → WDatePicker/WSingleDatePicker.vue} +16 -22
  135. package/src/runtime/components/{LibDatePicker/LibTimeZonePicker.vue → WDatePicker/WTimeZonePicker.vue} +5 -12
  136. package/src/runtime/components/{LibDebug/LibDebug.stories.ts → WDebug/WDebug.stories.ts} +5 -5
  137. package/src/runtime/components/{LibDebug/LibDebug.vue → WDebug/WDebug.vue} +8 -11
  138. package/src/runtime/components/{LibDevOnly/LibDevOnly.vue → WDevOnly/WDevOnly.vue} +0 -4
  139. package/src/runtime/components/{LibFileInput/LibFileInput.stories.ts → WFileInput/WFileInput.stories.ts} +7 -7
  140. package/src/runtime/components/{LibFileInput/LibFileInput.vue → WFileInput/WFileInput.vue} +95 -98
  141. package/src/runtime/components/{Icon/Icon.vue → WIcon/WIcon.vue} +5 -8
  142. package/src/runtime/components/{LibMultiValues/LibMultiValues.stories.ts → WMultiValues/WMultiValues.stories.ts} +9 -9
  143. package/src/runtime/components/WMultiValues/WMultiValues.vue +161 -0
  144. package/src/runtime/components/{LibNotifications/LibNotification.stories.ts → WNotifications/WNotification.stories.ts} +24 -9
  145. package/src/runtime/components/{LibNotifications/LibNotification.vue → WNotifications/WNotification.vue} +46 -66
  146. package/src/runtime/components/WNotifications/WNotifications.stories.ts +139 -0
  147. package/src/runtime/components/{LibNotifications/LibNotifications.vue → WNotifications/WNotifications.vue} +60 -40
  148. package/src/runtime/components/WNumberInput/WNumberInput.vue +109 -0
  149. package/src/runtime/components/WPagination/WPagination.stories.ts +51 -0
  150. package/src/runtime/components/WPagination/WPagination.vue +207 -0
  151. package/src/runtime/components/{LibPalette/LibPalette.stories.ts → WPalette/WPalette.stories.ts} +6 -6
  152. package/src/runtime/components/{LibPalette/LibPalette.vue → WPalette/WPalette.vue} +3 -8
  153. package/src/runtime/components/WPopover/WPopover.stories.ts +218 -0
  154. package/src/runtime/components/WPopover/WPopover.vue +161 -0
  155. package/src/runtime/components/WPopup/WPopup.stories.ts +60 -0
  156. package/src/runtime/components/WPopup/WPopup.vue +93 -0
  157. package/src/runtime/components/WProgressBar/WProgressBar.stories.ts +119 -0
  158. package/src/runtime/components/WProgressBar/WProgressBar.vue +185 -0
  159. package/src/runtime/components/{LibRecorder/LibRecorder.stories.ts → WRecorder/WRecorder.stories.ts} +9 -6
  160. package/src/runtime/components/{LibRecorder/LibRecorder.vue → WRecorder/WRecorder.vue} +69 -68
  161. package/src/runtime/components/{LibRoot/LibRoot.vue → WRoot/WRoot.vue} +18 -15
  162. package/src/runtime/components/{LibSimpleInput/LibSimpleInput.stories.ts → WSimpleInput/WSimpleInput.stories.ts} +11 -12
  163. package/src/runtime/components/{LibSimpleInput/LibSimpleInput.vue → WSimpleInput/WSimpleInput.vue} +27 -44
  164. package/src/runtime/components/{LibTable/LibTable.stories.ts → WTable/WTable.stories.ts} +60 -52
  165. package/src/runtime/components/{LibTable/LibTable.vue → WTable/WTable.vue} +85 -87
  166. package/src/runtime/components/WTooltip/WTooltip.stories.ts +82 -0
  167. package/src/runtime/components/WTooltip/WTooltip.vue +126 -0
  168. package/src/runtime/components/index.ts +20 -20
  169. package/src/runtime/composables/index.ts +4 -4
  170. package/src/runtime/composables/useDelayedLoadingIndicator.ts +30 -0
  171. package/src/runtime/composables/useDisplayForReka.ts +37 -0
  172. package/src/runtime/composables/useFallbackId.ts +6 -0
  173. package/src/runtime/composables/useInjectedDarkMode.ts +1 -2
  174. package/src/runtime/composables/usePopupConstrainToStyle.ts +29 -0
  175. package/src/runtime/composables/useSetupDarkMode.ts +122 -4
  176. package/src/runtime/helpers/NotificationHandler.ts +26 -11
  177. package/src/runtime/injectionKeys.ts +1 -7
  178. package/src/runtime/types/index.ts +105 -32
  179. package/types/components.d.ts +13 -15
  180. package/dist/runtime/components/Aria/Aria.d.vue.ts +0 -6
  181. package/dist/runtime/components/Aria/Aria.vue +0 -16
  182. package/dist/runtime/components/Aria/Aria.vue.d.ts +0 -6
  183. package/dist/runtime/components/LibButton/LibButton.d.vue.ts +0 -37
  184. package/dist/runtime/components/LibButton/LibButton.vue.d.ts +0 -37
  185. package/dist/runtime/components/LibCheckbox/LibCheckbox.d.vue.ts +0 -41
  186. package/dist/runtime/components/LibCheckbox/LibCheckbox.vue +0 -103
  187. package/dist/runtime/components/LibCheckbox/LibCheckbox.vue.d.ts +0 -41
  188. package/dist/runtime/components/LibColorInput/LibColorInput.d.vue.ts +0 -64
  189. package/dist/runtime/components/LibColorInput/LibColorInput.vue +0 -162
  190. package/dist/runtime/components/LibColorInput/LibColorInput.vue.d.ts +0 -64
  191. package/dist/runtime/components/LibDatePicker/LibDatePicker.d.vue.ts +0 -191
  192. package/dist/runtime/components/LibDatePicker/LibDatePicker.vue.d.ts +0 -191
  193. package/dist/runtime/components/LibFileInput/LibFileInput.d.vue.ts +0 -46
  194. package/dist/runtime/components/LibFileInput/LibFileInput.vue.d.ts +0 -46
  195. package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.d.vue.ts +0 -256
  196. package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.vue +0 -387
  197. package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.vue.d.ts +0 -256
  198. package/dist/runtime/components/LibLabel/LibLabel.d.vue.ts +0 -27
  199. package/dist/runtime/components/LibLabel/LibLabel.vue +0 -45
  200. package/dist/runtime/components/LibLabel/LibLabel.vue.d.ts +0 -27
  201. package/dist/runtime/components/LibMultiValues/LibMultiValues.vue +0 -109
  202. package/dist/runtime/components/LibNotifications/LibNotification.d.vue.ts +0 -45
  203. package/dist/runtime/components/LibNotifications/LibNotification.vue.d.ts +0 -45
  204. package/dist/runtime/components/LibNotifications/LibNotifications.d.vue.ts +0 -15
  205. package/dist/runtime/components/LibNotifications/LibNotifications.vue.d.ts +0 -15
  206. package/dist/runtime/components/LibPagination/LibPagination.d.vue.ts +0 -105
  207. package/dist/runtime/components/LibPagination/LibPagination.vue +0 -229
  208. package/dist/runtime/components/LibPagination/LibPagination.vue.d.ts +0 -105
  209. package/dist/runtime/components/LibPalette/LibPalette.d.vue.ts +0 -15
  210. package/dist/runtime/components/LibPalette/LibPalette.vue.d.ts +0 -15
  211. package/dist/runtime/components/LibPopup/LibPopup.d.vue.ts +0 -52
  212. package/dist/runtime/components/LibPopup/LibPopup.vue +0 -365
  213. package/dist/runtime/components/LibPopup/LibPopup.vue.d.ts +0 -52
  214. package/dist/runtime/components/LibProgressBar/LibProgressBar.vue +0 -169
  215. package/dist/runtime/components/LibSuggestions/LibSuggestions.d.vue.ts +0 -99
  216. package/dist/runtime/components/LibSuggestions/LibSuggestions.vue +0 -178
  217. package/dist/runtime/components/LibSuggestions/LibSuggestions.vue.d.ts +0 -99
  218. package/dist/runtime/components/LibTable/LibTable.d.vue.ts +0 -125
  219. package/dist/runtime/components/LibTable/LibTable.vue.d.ts +0 -125
  220. package/dist/runtime/components/Template/NAME.d.vue.ts +0 -18
  221. package/dist/runtime/components/Template/NAME.vue +0 -27
  222. package/dist/runtime/components/Template/NAME.vue.d.ts +0 -18
  223. package/dist/runtime/components/Template/TemplateStory.d.ts +0 -7
  224. package/dist/runtime/components/Template/TemplateStory.js +0 -22
  225. package/dist/runtime/components/shared/props.d.ts +0 -171
  226. package/dist/runtime/components/shared/props.js +0 -2
  227. package/dist/runtime/composables/useAriaLabel.d.ts +0 -6
  228. package/dist/runtime/composables/useAriaLabel.js +0 -15
  229. package/dist/runtime/composables/useDarkMode.d.ts +0 -77
  230. package/dist/runtime/composables/useDarkMode.js +0 -89
  231. package/dist/runtime/composables/useDivideAttrs.d.ts +0 -27
  232. package/dist/runtime/composables/useDivideAttrs.js +0 -27
  233. package/dist/runtime/composables/useSuggestions.d.ts +0 -40
  234. package/dist/runtime/composables/useSuggestions.js +0 -263
  235. package/src/runtime/components/Aria/Aria.vue +0 -26
  236. package/src/runtime/components/LibButton/LibButton.stories.ts +0 -106
  237. package/src/runtime/components/LibCheckbox/LibCheckbox.vue +0 -131
  238. package/src/runtime/components/LibColorInput/LibColorInput.vue +0 -203
  239. package/src/runtime/components/LibInputDeprecated/LibInputDeprecated.stories.ts +0 -405
  240. package/src/runtime/components/LibInputDeprecated/LibInputDeprecated.vue +0 -419
  241. package/src/runtime/components/LibLabel/LibLabel.stories.ts +0 -33
  242. package/src/runtime/components/LibLabel/LibLabel.vue +0 -65
  243. package/src/runtime/components/LibMultiValues/LibMultiValues.vue +0 -123
  244. package/src/runtime/components/LibNotifications/LibNotifications.stories.ts +0 -127
  245. package/src/runtime/components/LibPagination/LibPagination.stories.ts +0 -49
  246. package/src/runtime/components/LibPagination/LibPagination.vue +0 -274
  247. package/src/runtime/components/LibPopup/LibPopup.stories.ts +0 -153
  248. package/src/runtime/components/LibPopup/LibPopup.vue +0 -396
  249. package/src/runtime/components/LibProgressBar/LibProgressBar.stories.ts +0 -90
  250. package/src/runtime/components/LibProgressBar/LibProgressBar.vue +0 -197
  251. package/src/runtime/components/LibSuggestions/LibSuggestions.stories.ts +0 -134
  252. package/src/runtime/components/LibSuggestions/LibSuggestions.vue +0 -212
  253. package/src/runtime/components/Template/NAME.vue +0 -49
  254. package/src/runtime/components/Template/TemplateStory.ts +0 -37
  255. package/src/runtime/components/shared/props.ts +0 -199
  256. package/src/runtime/composables/useAriaLabel.ts +0 -23
  257. package/src/runtime/composables/useDarkMode.ts +0 -199
  258. package/src/runtime/composables/useDivideAttrs.ts +0 -53
  259. package/src/runtime/composables/useSuggestions.ts +0 -339
  260. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToHsva.d.ts +0 -0
  261. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToHsva.js +0 -0
  262. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToRgba.d.ts +0 -0
  263. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToRgba.js +0 -0
  264. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/toLowPrecisionRgbaString.d.ts +0 -0
  265. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/toLowPrecisionRgbaString.js +0 -0
  266. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/truncate.d.ts +0 -0
  267. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/truncate.js +0 -0
  268. /package/dist/runtime/components/{LibDatePicker/LibRangeDatePicker.d.vue.ts → WDatePicker/WRangeDatePicker.d.vue.ts} +0 -0
  269. /package/dist/runtime/components/{LibDatePicker/LibRangeDatePicker.vue.d.ts → WDatePicker/WRangeDatePicker.vue.d.ts} +0 -0
  270. /package/dist/runtime/components/{LibDatePicker/LibSingleDatePicker.d.vue.ts → WDatePicker/WSingleDatePicker.d.vue.ts} +0 -0
  271. /package/dist/runtime/components/{LibDatePicker/LibSingleDatePicker.vue.d.ts → WDatePicker/WSingleDatePicker.vue.d.ts} +0 -0
  272. /package/dist/runtime/components/{LibDatePicker → WDatePicker}/helpers.d.ts +0 -0
  273. /package/dist/runtime/components/{LibDatePicker → WDatePicker}/helpers.js +0 -0
  274. /package/dist/runtime/components/{LibDebug/LibDebug.d.vue.ts → WDebug/WDebug.d.vue.ts} +0 -0
  275. /package/dist/runtime/components/{LibDebug/LibDebug.vue.d.ts → WDebug/WDebug.vue.d.ts} +0 -0
  276. /package/dist/runtime/components/{LibDevOnly/LibDevOnly.vue → WDevOnly/WDevOnly.vue} +0 -0
  277. /package/dist/runtime/components/{LibNotifications/LibNotificationTestMessageComponent.d.vue.ts → WNotifications/WNotificationTestMessageComponent.d.vue.ts} +0 -0
  278. /package/dist/runtime/components/{LibNotifications/LibNotificationTestMessageComponent.vue → WNotifications/WNotificationTestMessageComponent.vue} +0 -0
  279. /package/dist/runtime/components/{LibNotifications/LibNotificationTestMessageComponent.vue.d.ts → WNotifications/WNotificationTestMessageComponent.vue.d.ts} +0 -0
  280. /package/dist/runtime/components/{LibNotifications → WNotifications}/calculateNotificationProgress.d.ts +0 -0
  281. /package/dist/runtime/components/{LibNotifications → WNotifications}/calculateNotificationProgress.js +0 -0
  282. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToHsva.ts +0 -0
  283. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToRgba.ts +0 -0
  284. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/toLowPrecisionRgbaString.ts +0 -0
  285. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/truncate.ts +0 -0
  286. /package/src/runtime/components/{LibDatePicker → WDatePicker}/helpers.ts +0 -0
  287. /package/src/runtime/components/{LibNotifications/LibNotificationTestMessageComponent.vue → WNotifications/WNotificationTestMessageComponent.vue} +0 -0
  288. /package/src/runtime/components/{LibNotifications → WNotifications}/calculateNotificationProgress.ts +0 -0
@@ -0,0 +1,60 @@
1
+ /* eslint-disable @typescript-eslint/naming-convention */
2
+ import type { Meta, StoryObj } from "@storybook/vue3"
3
+ import { ref } from "vue"
4
+
5
+ import WPopup from "./WPopup.vue"
6
+
7
+ import * as components from "../index.js"
8
+
9
+ const meta: Meta<typeof WPopup> = {
10
+ component: WPopup,
11
+ title: "Components/Popup"
12
+ }
13
+
14
+ export default meta
15
+ type Story = StoryObj<typeof WPopup>
16
+
17
+ export const Primary: Story = {
18
+ render: args => ({
19
+ components,
20
+ setup: () => {
21
+ const value = ref(false)
22
+ return { args, value }
23
+ },
24
+ template: `
25
+ <div class="test bg-transparency-squares flex items-center justify-center" style="height:80vh;border:1px solid black;">
26
+ <WPopup v-model="value" v-bind="args">
27
+ <template #button>
28
+ <WButton>Open Modal Popup</WButton>
29
+ </template>
30
+ <template #popup>
31
+ <div
32
+ :style="{width: args.width, height: args.height}"
33
+ class="p-3"
34
+ >
35
+ <div>Popup Content</div>
36
+ <WButton class="mt-4" @click="value = false">Close</WButton>
37
+ </div>
38
+ </template>
39
+ </WPopup>
40
+ </div>
41
+ `
42
+ })
43
+ }
44
+
45
+ export const PopupLarge = {
46
+ ...Primary,
47
+ args: {
48
+ width: "80vw",
49
+ height: "80vh"
50
+ }
51
+ }
52
+
53
+ // popup should scroll contents instead of getting to big (popup will limit it)
54
+ export const PopupTooBig = {
55
+ ...Primary,
56
+ args: {
57
+ width: "110vw",
58
+ height: "110vh"
59
+ }
60
+ }
@@ -0,0 +1,93 @@
1
+ <template>
2
+ <DialogRoot
3
+ v-bind="rootProps"
4
+ v-model:open="modelValue"
5
+ >
6
+ <DialogTrigger
7
+ v-if="$slots.button"
8
+ as-child
9
+ >
10
+ <slot name="button"/>
11
+ </DialogTrigger>
12
+
13
+ <DialogPortal :to="to">
14
+ <DialogOverlay
15
+ as-child
16
+ >
17
+ <slot
18
+ name="backdrop"
19
+ class="popup--backdrop absolute inset-0 bg-black/50"
20
+ >
21
+ <div
22
+ class="popup--backdrop absolute inset-0 bg-black/50"
23
+ />
24
+ </slot>
25
+ </DialogOverlay>
26
+
27
+
28
+ <DialogContent
29
+ v-bind="{ ...contentProps, class: undefined }"
30
+ :class="twMerge(`
31
+ popup--content-wrapper
32
+ z-100
33
+ focus:outline-none
34
+ fixed
35
+ top-1/2
36
+ left-1/2
37
+ -translate-x-1/2
38
+ -translate-y-1/2
39
+ animate-contentShow
40
+ max-w-[100dvw]
41
+ max-h-[100dvh]
42
+ overflow-auto
43
+ scrollbar-hidden
44
+ p-5
45
+ `, contentProps?.class)"
46
+ >
47
+ <div
48
+ :class="twMerge(`
49
+ popup--content
50
+ flex
51
+ flex-col
52
+ bg-neutral-100
53
+ dark:bg-neutral-800
54
+ rounded-md
55
+ `)"
56
+ >
57
+ <slot name="popup"/>
58
+ </div>
59
+ </DialogContent>
60
+ </DialogPortal>
61
+ </DialogRoot>
62
+ </template>
63
+
64
+ <script setup lang="ts">
65
+ import type {
66
+ DialogContentEmits,
67
+ DialogContentProps,
68
+ DialogRootEmits,
69
+ DialogRootProps } from "reka-ui"
70
+ import { DialogContent, DialogOverlay, DialogPortal, DialogRoot, DialogTrigger } from "reka-ui"
71
+ import type { EmitsToProps, HTMLAttributes } from "vue"
72
+
73
+ import type { TailwindClassProp } from "../../types/index.js"
74
+ import { twMerge } from "../../utils/twMerge.js"
75
+
76
+ defineOptions({ name: "WPopup", inheritAttrs: false })
77
+
78
+ withDefaults(defineProps<
79
+ & {
80
+ backdropClass?: string
81
+ /** Overrides reka-ui's DialogContentProps */
82
+ contentProps?: DialogContentProps & EmitsToProps<DialogContentEmits> & Omit<HTMLAttributes, "class"> & TailwindClassProp
83
+ /** Overrides reka-ui's DialogRootProps */
84
+ rootProps?: DialogRootProps & EmitsToProps<DialogRootEmits> & Omit<HTMLAttributes, "class"> & TailwindClassProp
85
+ /** Overrides teleport target. */
86
+ to?: string
87
+ }
88
+ >(), {
89
+ to: "#root"
90
+ })
91
+
92
+ const modelValue = defineModel<boolean>({ default: false })
93
+ </script>
@@ -0,0 +1,119 @@
1
+ /* eslint-disable @typescript-eslint/naming-convention */
2
+ import type { Meta, StoryObj } from "@storybook/vue3"
3
+ import { onUnmounted, ref } from "vue"
4
+
5
+ import WProgressBar from "./WProgressBar.vue"
6
+
7
+ import * as components from "../index.js"
8
+
9
+ type ExtraTestArgs = {
10
+ _start?: number
11
+ _timeout?: number
12
+ _add?: number
13
+ }
14
+ const meta: Meta<typeof WProgressBar> = {
15
+ component: WProgressBar,
16
+ title: "Components/ProgressBar",
17
+ args: {
18
+ label: "Label",
19
+ ...{
20
+ _timeout: 1000,
21
+ _add: 10,
22
+ _start: 50
23
+ } satisfies ExtraTestArgs as any
24
+ }
25
+ }
26
+
27
+ export default meta
28
+ type Story = StoryObj<typeof WProgressBar> & { args?: ExtraTestArgs }
29
+
30
+ export const Primary: Story = {
31
+ render: args => {
32
+ const extraArgs = args as ExtraTestArgs
33
+ return {
34
+ components,
35
+ setup: () => {
36
+ const forceFull = ref(false)
37
+ const progress = ref(extraArgs._start as number)
38
+ if (args.progress) {
39
+ progress.value = args.progress
40
+ } else {
41
+ let justHitFull = false
42
+ const interval = setInterval(() => {
43
+ if (justHitFull) return
44
+ if (progress.value >= 100) {
45
+ justHitFull = true
46
+ // give it time to hide
47
+ setTimeout(() => {
48
+ progress.value = 0
49
+ justHitFull = false
50
+ }, 2000)
51
+ } else {
52
+ progress.value += extraArgs._add as number
53
+ }
54
+ }, extraArgs._timeout as number)
55
+ onUnmounted(() => {
56
+ clearInterval(interval)
57
+ })
58
+ }
59
+ return {
60
+ args: { ...args },
61
+ forceFull,
62
+ progress
63
+ }
64
+ },
65
+ template: `
66
+ <WCheckbox v-model="forceFull">Force 100%</WCheckbox>
67
+ <WProgressBar class="flex-1" v-bind="args" :progress="forceFull ? 100 : progress"></WProgressBar>
68
+ <br/>
69
+ Stretched in flexbox:
70
+ <div class="flex w-full">
71
+ <WProgressBar class="flex-1" v-bind="args" :progress="forceFull ? 100 : progress"></WProgressBar>
72
+ </div>
73
+ <hr class="mt-2"/>
74
+ `
75
+ }
76
+ }
77
+ }
78
+
79
+
80
+ export const ReallyLongLabel: Story = {
81
+ ...Primary,
82
+ args: {
83
+ ...Primary.args,
84
+ label: "Really Long Label Label to See Effect Really Long Label Label to See Effect Really Long Label Label to See Effect Really Long Label Label to See Effect"
85
+ }
86
+ }
87
+ export const Static: Story = {
88
+ ...Primary,
89
+ args: {
90
+ ...Primary.args,
91
+ progress: 50
92
+ }
93
+ }
94
+
95
+ export const AutoHiding: Story = {
96
+ ...Primary,
97
+ args: {
98
+ ...Primary.args,
99
+ autohideOnComplete: 500,
100
+ clamp: [10, 100],
101
+ // keepSpaceWhenHidden: true,
102
+ _start: 0,
103
+ _timeout: 1000,
104
+ _add: 10
105
+ }
106
+ }
107
+
108
+ export const AutoHidingNoKeepSpace: Story = {
109
+ ...Primary,
110
+ args: {
111
+ ...Primary.args,
112
+ autohideOnComplete: 500,
113
+ keepSpaceWhenHidden: false,
114
+ clamp: [10, 100],
115
+ _start: 0,
116
+ _timeout: 1000,
117
+ _add: 10
118
+ }
119
+ }
@@ -0,0 +1,185 @@
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 as any).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: undefined }"
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 lang="ts">
105
+ import { clampNumber } from "@alanscodelog/utils/clampNumber"
106
+ import { unreachable } from "@alanscodelog/utils/unreachable"
107
+ import type { HTMLAttributes } from "vue"
108
+ import { ref, useAttrs, watch } from "vue"
109
+
110
+ import type { TailwindClassProp } from "../../types/index.js"
111
+ import { twMerge } from "../../utils/twMerge.js"
112
+
113
+ defineOptions({
114
+ name: "WProgressBar",
115
+ inheritAttrs: false
116
+ })
117
+
118
+ const $attrs = useAttrs()
119
+ const props = withDefaults(defineProps<
120
+ & /** @vue-ignore */ Omit<HTMLAttributes, "class">
121
+ & /** @vue-ignore */ TailwindClassProp
122
+ & {
123
+ label?: string
124
+ /** A number from 0-100. It is auto-clamped. */
125
+ progress: number
126
+ /** 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. */
127
+ autohideOnComplete?: number
128
+ /**
129
+ * Do not actually hide the element, just leave an unstyled div,
130
+ * so the whole layout doesn't change on completion when autohideOnComplete is set.
131
+ */
132
+ keepSpaceWhenHidden?: boolean
133
+ /**
134
+ * By default the progress bar is visually clamped to 0-100, even if the value might be something else.
135
+ * You can change what it's clamped to here, to for example,
136
+ * show at least a small sliver of the progress bar when it's still 0.
137
+ */
138
+ clamp?: [start: number, end: number]
139
+ }
140
+ >(), {
141
+ autohideOnComplete: -1,
142
+ keepSpaceWhenHidden: false,
143
+ clamp: () => [0, 100]
144
+ })
145
+
146
+ type Visibility = "visible" | "pseudo" | "hidden"
147
+ const currentVisibility = ref<Visibility>("visible")
148
+ let lastVisibility: Visibility | null = null
149
+
150
+ function updateVisibility(
151
+ immediate: boolean = false,
152
+ onCleanup?: (cb: () => void) => void
153
+ ): void {
154
+ const isComplete = props.progress >= 100 || props.progress < 0
155
+ const shouldHide = props.autohideOnComplete > -1 && isComplete
156
+
157
+ if (!shouldHide) {
158
+ lastVisibility = null
159
+ currentVisibility.value = "visible"
160
+ return
161
+ }
162
+
163
+ const newVisibility: Visibility = props.keepSpaceWhenHidden ? "pseudo" : "hidden"
164
+
165
+ if (immediate) {
166
+ currentVisibility.value = newVisibility
167
+ lastVisibility = newVisibility
168
+ } else if (lastVisibility !== newVisibility) {
169
+ lastVisibility = newVisibility
170
+ const timeout = setTimeout(() => {
171
+ currentVisibility.value = newVisibility
172
+ }, props.autohideOnComplete) as any
173
+ if (!onCleanup) unreachable()
174
+ onCleanup(() => clearTimeout(timeout))
175
+ }
176
+ }
177
+
178
+ updateVisibility(true)
179
+
180
+ watch([
181
+ () => [props.progress, props.keepSpaceWhenHidden, props.autohideOnComplete]
182
+ ], (_new, _old, onCleanup) => {
183
+ updateVisibility(false, onCleanup)
184
+ })
185
+ </script>
@@ -2,8 +2,10 @@
2
2
  import type { Meta, StoryObj } from "@storybook/vue3"
3
3
  import { ref, watchEffect } from "vue"
4
4
 
5
+ import { vExtractRootEl } from "../../directives/vExtractRootEl.js"
5
6
  import { createRecorderHandler, createRecorderWatchEffect } from "../../helpers/storybook.js"
6
7
  import * as components from "../index.js"
8
+
7
9
  /**
8
10
  * This is a special input component designed to record any type of event.
9
11
  *
@@ -11,22 +13,22 @@ import * as components from "../index.js"
11
13
  *
12
14
  * This basic implementation just lists the keys. Enter accepts the recording, escape cancels back to the initial value.
13
15
  */
14
- const meta: Meta<typeof components.LibRecorder> = {
15
- component: components.LibRecorder,
16
+ const meta: Meta<typeof components.WRecorder> = {
17
+ component: components.WRecorder,
16
18
  title: "Components/Recorder",
17
19
  args: {
18
- label: "Some Label",
19
20
  recordingTitle: "Recording. Press enter or click away to accept. Press escape to cancel.",
20
21
  modelValue: "K E Y S"
21
22
  }
22
23
  }
23
24
 
24
25
  export default meta
25
- type Story = StoryObj<typeof components.LibRecorder>
26
+ type Story = StoryObj<typeof components.WRecorder>
26
27
 
27
28
  export const Primary: Story = {
28
29
  render: args => ({
29
30
  components,
31
+ directives: { vExtractRootEl },
30
32
  setup: () => {
31
33
  const recording = ref(false)
32
34
  const recordingValue = ref("")
@@ -44,14 +46,15 @@ export const Primary: Story = {
44
46
  }
45
47
  },
46
48
  template: `
47
- <lib-recorder
49
+ <WRecorder
48
50
  v-bind="args"
49
51
  v-extract-root-el="_ => recorderEl = _"
50
52
  :recordingValue="recordingValue"
51
53
  :recorder="recorder"
52
54
  v-model:recording="recording"
53
55
  v-model="modelValue"
54
- @recorder:click="recording = !recording"
56
+ @recorder:pointerdown="recording = !recording"
57
+ @recorder:blur="recordingValue = modelValue; recording = false"
55
58
  />
56
59
  `
57
60
  })