@witchcraft/ui 0.4.0 → 0.4.2

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 (316) hide show
  1. package/README.md +56 -61
  2. package/dist/module.d.mts +1 -1
  3. package/dist/module.json +1 -1
  4. package/dist/module.mjs +13 -9
  5. package/dist/runtime/assets/animations.css +1 -1
  6. package/dist/runtime/assets/locales/en.json +2 -0
  7. package/dist/runtime/assets/utils.css +1 -1
  8. package/dist/runtime/build/WitchcraftUiResolver.js +1 -2
  9. package/dist/runtime/components/TestControls/TestControls.d.vue.ts +2 -1
  10. package/dist/runtime/components/TestControls/TestControls.vue +3 -3
  11. package/dist/runtime/components/TestControls/TestControls.vue.d.ts +2 -1
  12. package/dist/runtime/components/WButton/WButton.d.vue.ts +34 -0
  13. package/dist/runtime/components/{LibButton/LibButton.vue → WButton/WButton.vue} +26 -38
  14. package/dist/runtime/components/WButton/WButton.vue.d.ts +34 -0
  15. package/dist/runtime/components/WCheckbox/WCheckbox.d.vue.ts +33 -0
  16. package/dist/runtime/components/WCheckbox/WCheckbox.vue +110 -0
  17. package/dist/runtime/components/WCheckbox/WCheckbox.vue.d.ts +33 -0
  18. package/dist/runtime/components/{LibColorInput/LibColorInput.d.vue.ts → WColorInput/WColorInput.d.vue.ts} +18 -36
  19. package/dist/runtime/components/WColorInput/WColorInput.vue +85 -0
  20. package/dist/runtime/components/{LibColorInput/LibColorInput.vue.d.ts → WColorInput/WColorInput.vue.d.ts} +18 -36
  21. package/dist/runtime/components/WColorInput/WColorSwatchButton.d.vue.ts +28 -0
  22. package/dist/runtime/components/WColorInput/WColorSwatchButton.vue +86 -0
  23. package/dist/runtime/components/WColorInput/WColorSwatchButton.vue.d.ts +28 -0
  24. package/dist/runtime/components/{LibColorPicker/LibColorPicker.d.vue.ts → WColorPicker/WColorPicker.d.vue.ts} +12 -9
  25. package/dist/runtime/components/{LibColorPicker/LibColorPicker.vue → WColorPicker/WColorPicker.vue} +41 -29
  26. package/dist/runtime/components/{LibColorPicker/LibColorPicker.vue.d.ts → WColorPicker/WColorPicker.vue.d.ts} +12 -9
  27. package/dist/runtime/components/WCombobox/WCombobox.d.vue.ts +111 -0
  28. package/dist/runtime/components/WCombobox/WCombobox.vue +405 -0
  29. package/dist/runtime/components/WCombobox/WCombobox.vue.d.ts +111 -0
  30. package/dist/runtime/components/WCombobox/storyPlays.d.ts +18 -0
  31. package/dist/runtime/components/WCombobox/storyPlays.js +68 -0
  32. package/dist/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.d.vue.ts → WDarkModeSwitcher/WDarkModeSwitcher.d.vue.ts} +9 -13
  33. package/dist/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.vue → WDarkModeSwitcher/WDarkModeSwitcher.vue} +11 -14
  34. package/dist/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.vue.d.ts → WDarkModeSwitcher/WDarkModeSwitcher.vue.d.ts} +9 -13
  35. package/dist/runtime/components/{LibDatePicker/LibDatePicker.d.vue.ts → WDatePicker/WDatePicker.d.vue.ts} +7 -7
  36. package/dist/runtime/components/{LibDatePicker/LibDatePicker.vue → WDatePicker/WDatePicker.vue} +3 -7
  37. package/dist/runtime/components/{LibDatePicker/LibDatePicker.vue.d.ts → WDatePicker/WDatePicker.vue.d.ts} +7 -7
  38. package/dist/runtime/components/WDatePicker/WRangeDatePicker.d.vue.ts +182 -0
  39. package/dist/runtime/components/{LibDatePicker/LibRangeDatePicker.vue → WDatePicker/WRangeDatePicker.vue} +29 -25
  40. package/dist/runtime/components/WDatePicker/WRangeDatePicker.vue.d.ts +182 -0
  41. package/dist/runtime/components/{LibDatePicker/LibSingleDatePicker.d.vue.ts → WDatePicker/WSingleDatePicker.d.vue.ts} +7 -5
  42. package/dist/runtime/components/{LibDatePicker/LibSingleDatePicker.vue → WDatePicker/WSingleDatePicker.vue} +21 -21
  43. package/dist/runtime/components/{LibDatePicker/LibSingleDatePicker.vue.d.ts → WDatePicker/WSingleDatePicker.vue.d.ts} +7 -5
  44. package/dist/runtime/components/WDatePicker/WTimeZonePicker.d.vue.ts +13 -0
  45. package/dist/runtime/components/{LibDatePicker/LibTimeZonePicker.vue → WDatePicker/WTimeZonePicker.vue} +5 -12
  46. package/dist/runtime/components/WDatePicker/WTimeZonePicker.vue.d.ts +13 -0
  47. package/dist/runtime/components/{LibDebug/LibDebug.d.vue.ts → WDebug/WDebug.d.vue.ts} +3 -2
  48. package/dist/runtime/components/{LibDebug/LibDebug.vue → WDebug/WDebug.vue} +10 -12
  49. package/dist/runtime/components/{LibDebug/LibDebug.vue.d.ts → WDebug/WDebug.vue.d.ts} +3 -2
  50. package/dist/runtime/components/{LibDevOnly/LibDevOnly.d.vue.ts → WDevOnly/WDevOnly.d.vue.ts} +3 -5
  51. package/dist/runtime/components/{LibDevOnly/LibDevOnly.vue.d.ts → WDevOnly/WDevOnly.vue.d.ts} +3 -5
  52. package/dist/runtime/components/WFileInput/WFileInput.d.vue.ts +58 -0
  53. package/dist/runtime/components/WFileInput/WFileInput.vue +348 -0
  54. package/dist/runtime/components/WFileInput/WFileInput.vue.d.ts +58 -0
  55. package/dist/runtime/components/WIcon/WIcon.d.vue.ts +18 -0
  56. package/dist/runtime/components/{Icon/Icon.vue → WIcon/WIcon.vue} +1 -1
  57. package/dist/runtime/components/WIcon/WIcon.vue.d.ts +18 -0
  58. package/dist/runtime/components/WMultiValues/WMultiValues.d.vue.ts +28 -0
  59. package/dist/runtime/components/WMultiValues/WMultiValues.vue +150 -0
  60. package/dist/runtime/components/WMultiValues/WMultiValues.vue.d.ts +28 -0
  61. package/dist/runtime/components/WNotifications/WNotification.d.vue.ts +37 -0
  62. package/dist/runtime/components/{LibNotifications/LibNotification.vue → WNotifications/WNotification.vue} +61 -35
  63. package/dist/runtime/components/WNotifications/WNotification.vue.d.ts +37 -0
  64. package/dist/runtime/components/WNotifications/WNotificationTestMessageComponent.d.vue.ts +7 -0
  65. package/dist/runtime/components/WNotifications/WNotificationTestMessageComponent.vue +29 -0
  66. package/dist/runtime/components/WNotifications/WNotificationTestMessageComponent.vue.d.ts +7 -0
  67. package/dist/runtime/components/WNotifications/WNotifications.d.vue.ts +11 -0
  68. package/dist/runtime/components/{LibNotifications/LibNotifications.vue → WNotifications/WNotifications.vue} +72 -36
  69. package/dist/runtime/components/WNotifications/WNotifications.vue.d.ts +11 -0
  70. package/dist/runtime/components/WNotifications/calculateNotificationProgress.d.ts +2 -0
  71. package/dist/runtime/components/WNotifications/calculateNotificationProgress.js +4 -0
  72. package/dist/runtime/components/WNumberInput/WNumberInput.d.vue.ts +27 -0
  73. package/dist/runtime/components/WNumberInput/WNumberInput.vue +96 -0
  74. package/dist/runtime/components/WNumberInput/WNumberInput.vue.d.ts +27 -0
  75. package/dist/runtime/components/WPagination/WPagination.d.vue.ts +59 -0
  76. package/dist/runtime/components/WPagination/WPagination.vue +182 -0
  77. package/dist/runtime/components/WPagination/WPagination.vue.d.ts +59 -0
  78. package/dist/runtime/components/WPalette/WPalette.d.vue.ts +11 -0
  79. package/dist/runtime/components/{LibPalette/LibPalette.vue → WPalette/WPalette.vue} +3 -8
  80. package/dist/runtime/components/WPalette/WPalette.vue.d.ts +11 -0
  81. package/dist/runtime/components/WPopover/WPopover.d.vue.ts +45 -0
  82. package/dist/runtime/components/WPopover/WPopover.vue +144 -0
  83. package/dist/runtime/components/WPopover/WPopover.vue.d.ts +45 -0
  84. package/dist/runtime/components/WPopup/WPopup.d.vue.ts +51 -0
  85. package/dist/runtime/components/WPopup/WPopup.vue +115 -0
  86. package/dist/runtime/components/WPopup/WPopup.vue.d.ts +51 -0
  87. package/dist/runtime/components/{LibProgressBar/LibProgressBar.d.vue.ts → WProgressBar/WProgressBar.d.vue.ts} +13 -16
  88. package/dist/runtime/components/WProgressBar/WProgressBar.vue +150 -0
  89. package/dist/runtime/components/{LibProgressBar/LibProgressBar.vue.d.ts → WProgressBar/WProgressBar.vue.d.ts} +13 -16
  90. package/dist/runtime/components/{LibRecorder/LibRecorder.d.vue.ts → WRecorder/WRecorder.d.vue.ts} +13 -27
  91. package/dist/runtime/components/{LibRecorder/LibRecorder.vue → WRecorder/WRecorder.vue} +37 -36
  92. package/dist/runtime/components/{LibRecorder/LibRecorder.vue.d.ts → WRecorder/WRecorder.vue.d.ts} +13 -27
  93. package/dist/runtime/components/{LibRoot/LibRoot.d.vue.ts → WRoot/WRoot.d.vue.ts} +11 -9
  94. package/dist/runtime/components/{LibRoot/LibRoot.vue → WRoot/WRoot.vue} +17 -15
  95. package/dist/runtime/components/{LibRoot/LibRoot.vue.d.ts → WRoot/WRoot.vue.d.ts} +11 -9
  96. package/dist/runtime/components/WSimpleInput/WSimpleInput.d.vue.ts +34 -0
  97. package/dist/runtime/components/{LibSimpleInput/LibSimpleInput.vue → WSimpleInput/WSimpleInput.vue} +14 -24
  98. package/dist/runtime/components/WSimpleInput/WSimpleInput.vue.d.ts +34 -0
  99. package/dist/runtime/components/WTable/WTable.d.vue.ts +102 -0
  100. package/dist/runtime/components/WTable/WTable.vue +370 -0
  101. package/dist/runtime/components/WTable/WTable.vue.d.ts +102 -0
  102. package/dist/runtime/components/WTooltip/WTooltip.d.vue.ts +40 -0
  103. package/dist/runtime/components/WTooltip/WTooltip.vue +112 -0
  104. package/dist/runtime/components/WTooltip/WTooltip.vue.d.ts +40 -0
  105. package/dist/runtime/components/index.d.ts +20 -20
  106. package/dist/runtime/components/index.js +20 -20
  107. package/dist/runtime/composables/index.d.ts +4 -4
  108. package/dist/runtime/composables/index.js +4 -4
  109. package/dist/runtime/composables/useDelayedLoadingIndicator.d.ts +9 -0
  110. package/dist/runtime/composables/useDelayedLoadingIndicator.js +18 -0
  111. package/dist/runtime/composables/useDisplayForReka.d.ts +25 -0
  112. package/dist/runtime/composables/useDisplayForReka.js +16 -0
  113. package/dist/runtime/composables/useFallbackId.d.ts +3 -0
  114. package/dist/runtime/composables/useFallbackId.js +5 -0
  115. package/dist/runtime/composables/useInjectedDarkMode.d.ts +1 -1
  116. package/dist/runtime/composables/usePopupConstrainToStyle.d.ts +8 -0
  117. package/dist/runtime/composables/usePopupConstrainToStyle.js +8 -0
  118. package/dist/runtime/composables/useSetupDarkMode.d.ts +2 -3
  119. package/dist/runtime/composables/useSetupDarkMode.js +90 -4
  120. package/dist/runtime/composables/useTimeConditionally.d.ts +16 -0
  121. package/dist/runtime/composables/useTimeConditionally.js +27 -0
  122. package/dist/runtime/directives/vResizableCols.js +101 -34
  123. package/dist/runtime/helpers/NotificationHandler.d.ts +28 -3
  124. package/dist/runtime/helpers/NotificationHandler.js +7 -10
  125. package/dist/runtime/injectionKeys.d.ts +1 -5
  126. package/dist/runtime/injectionKeys.js +0 -2
  127. package/dist/runtime/types/index.d.ts +97 -31
  128. package/dist/runtime/types/index.js +1 -0
  129. package/dist/runtime/utils/notifyIfError.d.ts +3 -1
  130. package/dist/runtime/utils/notifyIfError.js +4 -2
  131. package/dist/runtime/utils/twMerge.d.ts +1 -0
  132. package/dist/runtime/utils/twMerge.js +2 -1
  133. package/package.json +59 -56
  134. package/src/module.ts +16 -8
  135. package/src/runtime/assets/animations.css +53 -6
  136. package/src/runtime/assets/locales/en.json +2 -0
  137. package/src/runtime/assets/tailwind.css +1 -1
  138. package/src/runtime/assets/utils.css +52 -4
  139. package/src/runtime/build/WitchcraftUiResolver.ts +1 -2
  140. package/src/runtime/components/TestControls/TestControls.vue +3 -3
  141. package/src/runtime/components/WButton/WButton.stories.ts +112 -0
  142. package/src/runtime/components/{LibButton/LibButton.vue → WButton/WButton.vue} +34 -50
  143. package/src/runtime/components/{LibCheckbox/LibCheckbox.stories.ts → WCheckbox/WCheckbox.stories.ts} +5 -5
  144. package/src/runtime/components/WCheckbox/WCheckbox.vue +125 -0
  145. package/src/runtime/components/{LibColorInput/LibColorInput.stories.ts → WColorInput/WColorInput.stories.ts} +8 -8
  146. package/src/runtime/components/WColorInput/WColorInput.vue +112 -0
  147. package/src/runtime/components/WColorInput/WColorSwatchButton.vue +102 -0
  148. package/src/runtime/components/{LibColorPicker/LibColorPicker.stories.ts → WColorPicker/WColorPicker.stories.ts} +12 -12
  149. package/src/runtime/components/{LibColorPicker/LibColorPicker.vue → WColorPicker/WColorPicker.vue} +44 -31
  150. package/src/runtime/components/WCombobox/WCombobox.stories.ts +209 -0
  151. package/src/runtime/components/WCombobox/WCombobox.vue +450 -0
  152. package/src/runtime/components/WCombobox/storyPlays.ts +92 -0
  153. package/src/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.stories.ts → WDarkModeSwitcher/WDarkModeSwitcher.stories.ts} +6 -6
  154. package/src/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.vue → WDarkModeSwitcher/WDarkModeSwitcher.vue} +19 -30
  155. package/src/runtime/components/{LibDatePicker/LibDatePicker.stories.ts → WDatePicker/WDatePicker.stories.ts} +42 -34
  156. package/src/runtime/components/{LibDatePicker/LibDatePicker.vue → WDatePicker/WDatePicker.vue} +3 -7
  157. package/src/runtime/components/{LibDatePicker/LibRangeDatePicker.vue → WDatePicker/WRangeDatePicker.vue} +29 -25
  158. package/src/runtime/components/{LibDatePicker/LibSingleDatePicker.vue → WDatePicker/WSingleDatePicker.vue} +21 -21
  159. package/src/runtime/components/{LibDatePicker/LibTimeZonePicker.vue → WDatePicker/WTimeZonePicker.vue} +5 -12
  160. package/src/runtime/components/{LibDebug/LibDebug.stories.ts → WDebug/WDebug.stories.ts} +5 -5
  161. package/src/runtime/components/{LibDebug/LibDebug.vue → WDebug/WDebug.vue} +9 -10
  162. package/src/runtime/components/{LibDevOnly/LibDevOnly.vue → WDevOnly/WDevOnly.vue} +0 -4
  163. package/src/runtime/components/{LibFileInput/LibFileInput.stories.ts → WFileInput/WFileInput.stories.ts} +20 -10
  164. package/src/runtime/components/WFileInput/WFileInput.vue +392 -0
  165. package/src/runtime/components/{Icon/Icon.vue → WIcon/WIcon.vue} +5 -8
  166. package/src/runtime/components/{LibMultiValues/LibMultiValues.stories.ts → WMultiValues/WMultiValues.stories.ts} +9 -9
  167. package/src/runtime/components/WMultiValues/WMultiValues.vue +163 -0
  168. package/src/runtime/components/{LibNotifications/LibNotification.stories.ts → WNotifications/WNotification.stories.ts} +42 -6
  169. package/src/runtime/components/{LibNotifications/LibNotification.vue → WNotifications/WNotification.vue} +72 -45
  170. package/src/runtime/components/WNotifications/WNotificationTestMessageComponent.vue +27 -0
  171. package/src/runtime/components/WNotifications/WNotifications.stories.ts +139 -0
  172. package/src/runtime/components/{LibNotifications/LibNotifications.vue → WNotifications/WNotifications.vue} +87 -47
  173. package/src/runtime/components/WNotifications/calculateNotificationProgress.ts +8 -0
  174. package/src/runtime/components/WNumberInput/WNumberInput.vue +109 -0
  175. package/src/runtime/components/WPagination/WPagination.stories.ts +51 -0
  176. package/src/runtime/components/WPagination/WPagination.vue +207 -0
  177. package/src/runtime/components/{LibPalette/LibPalette.stories.ts → WPalette/WPalette.stories.ts} +6 -6
  178. package/src/runtime/components/{LibPalette/LibPalette.vue → WPalette/WPalette.vue} +3 -8
  179. package/src/runtime/components/WPopover/WPopover.stories.ts +218 -0
  180. package/src/runtime/components/WPopover/WPopover.vue +168 -0
  181. package/src/runtime/components/WPopup/WPopup.stories.ts +104 -0
  182. package/src/runtime/components/WPopup/WPopup.vue +134 -0
  183. package/src/runtime/components/WProgressBar/WProgressBar.stories.ts +119 -0
  184. package/src/runtime/components/WProgressBar/WProgressBar.vue +185 -0
  185. package/src/runtime/components/{LibRecorder/LibRecorder.stories.ts → WRecorder/WRecorder.stories.ts} +9 -6
  186. package/src/runtime/components/{LibRecorder/LibRecorder.vue → WRecorder/WRecorder.vue} +69 -68
  187. package/src/runtime/components/{LibRoot/LibRoot.vue → WRoot/WRoot.vue} +18 -15
  188. package/src/runtime/components/{LibSimpleInput/LibSimpleInput.stories.ts → WSimpleInput/WSimpleInput.stories.ts} +11 -12
  189. package/src/runtime/components/{LibSimpleInput/LibSimpleInput.vue → WSimpleInput/WSimpleInput.vue} +28 -42
  190. package/src/runtime/components/WTable/WTable.stories.ts +334 -0
  191. package/src/runtime/components/WTable/WTable.vue +471 -0
  192. package/src/runtime/components/WTooltip/WTooltip.stories.ts +82 -0
  193. package/src/runtime/components/WTooltip/WTooltip.vue +128 -0
  194. package/src/runtime/components/index.ts +20 -20
  195. package/src/runtime/composables/index.ts +4 -4
  196. package/src/runtime/composables/useDelayedLoadingIndicator.ts +30 -0
  197. package/src/runtime/composables/useDisplayForReka.ts +37 -0
  198. package/src/runtime/composables/useFallbackId.ts +6 -0
  199. package/src/runtime/composables/useInjectedDarkMode.ts +1 -2
  200. package/src/runtime/composables/usePopupConstrainToStyle.ts +29 -0
  201. package/src/runtime/composables/useSetupDarkMode.ts +122 -4
  202. package/src/runtime/composables/useTimeConditionally.ts +51 -0
  203. package/src/runtime/directives/vResizableCols.ts +121 -38
  204. package/src/runtime/helpers/NotificationHandler.ts +30 -11
  205. package/src/runtime/injectionKeys.ts +1 -7
  206. package/src/runtime/types/index.ts +118 -36
  207. package/src/runtime/utils/notifyIfError.ts +6 -2
  208. package/src/runtime/utils/twMerge.ts +2 -1
  209. package/types/components.d.ts +14 -15
  210. package/dist/runtime/components/Aria/Aria.d.vue.ts +0 -5
  211. package/dist/runtime/components/Aria/Aria.vue +0 -16
  212. package/dist/runtime/components/Aria/Aria.vue.d.ts +0 -5
  213. package/dist/runtime/components/Icon/Icon.d.vue.ts +0 -21
  214. package/dist/runtime/components/Icon/Icon.vue.d.ts +0 -21
  215. package/dist/runtime/components/LibButton/LibButton.d.vue.ts +0 -36
  216. package/dist/runtime/components/LibButton/LibButton.vue.d.ts +0 -36
  217. package/dist/runtime/components/LibCheckbox/LibCheckbox.d.vue.ts +0 -42
  218. package/dist/runtime/components/LibCheckbox/LibCheckbox.vue +0 -103
  219. package/dist/runtime/components/LibCheckbox/LibCheckbox.vue.d.ts +0 -42
  220. package/dist/runtime/components/LibColorInput/LibColorInput.vue +0 -162
  221. package/dist/runtime/components/LibDatePicker/LibRangeDatePicker.d.vue.ts +0 -34
  222. package/dist/runtime/components/LibDatePicker/LibRangeDatePicker.vue.d.ts +0 -34
  223. package/dist/runtime/components/LibDatePicker/LibTimeZonePicker.d.vue.ts +0 -22
  224. package/dist/runtime/components/LibDatePicker/LibTimeZonePicker.vue.d.ts +0 -22
  225. package/dist/runtime/components/LibFileInput/LibFileInput.d.vue.ts +0 -43
  226. package/dist/runtime/components/LibFileInput/LibFileInput.vue +0 -274
  227. package/dist/runtime/components/LibFileInput/LibFileInput.vue.d.ts +0 -43
  228. package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.d.vue.ts +0 -165
  229. package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.vue +0 -387
  230. package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.vue.d.ts +0 -165
  231. package/dist/runtime/components/LibLabel/LibLabel.d.vue.ts +0 -26
  232. package/dist/runtime/components/LibLabel/LibLabel.vue +0 -45
  233. package/dist/runtime/components/LibLabel/LibLabel.vue.d.ts +0 -26
  234. package/dist/runtime/components/LibMultiValues/LibMultiValues.d.vue.ts +0 -29
  235. package/dist/runtime/components/LibMultiValues/LibMultiValues.vue +0 -109
  236. package/dist/runtime/components/LibMultiValues/LibMultiValues.vue.d.ts +0 -29
  237. package/dist/runtime/components/LibNotifications/LibNotification.d.vue.ts +0 -30
  238. package/dist/runtime/components/LibNotifications/LibNotification.vue.d.ts +0 -30
  239. package/dist/runtime/components/LibNotifications/LibNotifications.d.vue.ts +0 -13
  240. package/dist/runtime/components/LibNotifications/LibNotifications.vue.d.ts +0 -13
  241. package/dist/runtime/components/LibPagination/LibPagination.d.vue.ts +0 -104
  242. package/dist/runtime/components/LibPagination/LibPagination.vue +0 -229
  243. package/dist/runtime/components/LibPagination/LibPagination.vue.d.ts +0 -104
  244. package/dist/runtime/components/LibPalette/LibPalette.d.vue.ts +0 -14
  245. package/dist/runtime/components/LibPalette/LibPalette.vue.d.ts +0 -14
  246. package/dist/runtime/components/LibPopup/LibPopup.d.vue.ts +0 -46
  247. package/dist/runtime/components/LibPopup/LibPopup.vue +0 -365
  248. package/dist/runtime/components/LibPopup/LibPopup.vue.d.ts +0 -46
  249. package/dist/runtime/components/LibProgressBar/LibProgressBar.vue +0 -169
  250. package/dist/runtime/components/LibSimpleInput/LibSimpleInput.d.vue.ts +0 -35
  251. package/dist/runtime/components/LibSimpleInput/LibSimpleInput.vue.d.ts +0 -35
  252. package/dist/runtime/components/LibSuggestions/LibSuggestions.d.vue.ts +0 -94
  253. package/dist/runtime/components/LibSuggestions/LibSuggestions.vue +0 -178
  254. package/dist/runtime/components/LibSuggestions/LibSuggestions.vue.d.ts +0 -94
  255. package/dist/runtime/components/LibTable/LibTable.d.vue.ts +0 -45
  256. package/dist/runtime/components/LibTable/LibTable.vue +0 -155
  257. package/dist/runtime/components/LibTable/LibTable.vue.d.ts +0 -45
  258. package/dist/runtime/components/Template/NAME.d.vue.ts +0 -17
  259. package/dist/runtime/components/Template/NAME.vue +0 -27
  260. package/dist/runtime/components/Template/NAME.vue.d.ts +0 -17
  261. package/dist/runtime/components/Template/TemplateStory.d.ts +0 -7
  262. package/dist/runtime/components/Template/TemplateStory.js +0 -22
  263. package/dist/runtime/components/shared/props.d.ts +0 -171
  264. package/dist/runtime/components/shared/props.js +0 -2
  265. package/dist/runtime/composables/useAriaLabel.d.ts +0 -6
  266. package/dist/runtime/composables/useAriaLabel.js +0 -15
  267. package/dist/runtime/composables/useDarkMode.d.ts +0 -77
  268. package/dist/runtime/composables/useDarkMode.js +0 -89
  269. package/dist/runtime/composables/useDivideAttrs.d.ts +0 -27
  270. package/dist/runtime/composables/useDivideAttrs.js +0 -27
  271. package/dist/runtime/composables/useSuggestions.d.ts +0 -40
  272. package/dist/runtime/composables/useSuggestions.js +0 -263
  273. package/src/runtime/components/Aria/Aria.vue +0 -26
  274. package/src/runtime/components/LibButton/LibButton.stories.ts +0 -106
  275. package/src/runtime/components/LibCheckbox/LibCheckbox.vue +0 -129
  276. package/src/runtime/components/LibColorInput/LibColorInput.vue +0 -203
  277. package/src/runtime/components/LibFileInput/LibFileInput.vue +0 -320
  278. package/src/runtime/components/LibInputDeprecated/LibInputDeprecated.stories.ts +0 -405
  279. package/src/runtime/components/LibInputDeprecated/LibInputDeprecated.vue +0 -414
  280. package/src/runtime/components/LibLabel/LibLabel.stories.ts +0 -33
  281. package/src/runtime/components/LibLabel/LibLabel.vue +0 -65
  282. package/src/runtime/components/LibMultiValues/LibMultiValues.vue +0 -123
  283. package/src/runtime/components/LibNotifications/LibNotifications.stories.ts +0 -120
  284. package/src/runtime/components/LibPagination/LibPagination.stories.ts +0 -49
  285. package/src/runtime/components/LibPagination/LibPagination.vue +0 -274
  286. package/src/runtime/components/LibPopup/LibPopup.stories.ts +0 -153
  287. package/src/runtime/components/LibPopup/LibPopup.vue +0 -396
  288. package/src/runtime/components/LibProgressBar/LibProgressBar.stories.ts +0 -90
  289. package/src/runtime/components/LibProgressBar/LibProgressBar.vue +0 -197
  290. package/src/runtime/components/LibSuggestions/LibSuggestions.stories.ts +0 -134
  291. package/src/runtime/components/LibSuggestions/LibSuggestions.vue +0 -212
  292. package/src/runtime/components/LibTable/LibTable.stories.ts +0 -167
  293. package/src/runtime/components/LibTable/LibTable.vue +0 -190
  294. package/src/runtime/components/Template/NAME.vue +0 -49
  295. package/src/runtime/components/Template/TemplateStory.ts +0 -37
  296. package/src/runtime/components/shared/props.ts +0 -199
  297. package/src/runtime/composables/useAriaLabel.ts +0 -23
  298. package/src/runtime/composables/useDarkMode.ts +0 -199
  299. package/src/runtime/composables/useDivideAttrs.ts +0 -53
  300. package/src/runtime/composables/useSuggestions.ts +0 -339
  301. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToHsva.d.ts +0 -0
  302. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToHsva.js +0 -0
  303. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToRgba.d.ts +0 -0
  304. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToRgba.js +0 -0
  305. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/toLowPrecisionRgbaString.d.ts +0 -0
  306. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/toLowPrecisionRgbaString.js +0 -0
  307. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/truncate.d.ts +0 -0
  308. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/truncate.js +0 -0
  309. /package/dist/runtime/components/{LibDatePicker → WDatePicker}/helpers.d.ts +0 -0
  310. /package/dist/runtime/components/{LibDatePicker → WDatePicker}/helpers.js +0 -0
  311. /package/dist/runtime/components/{LibDevOnly/LibDevOnly.vue → WDevOnly/WDevOnly.vue} +0 -0
  312. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToHsva.ts +0 -0
  313. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToRgba.ts +0 -0
  314. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/toLowPrecisionRgbaString.ts +0 -0
  315. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/truncate.ts +0 -0
  316. /package/src/runtime/components/{LibDatePicker → WDatePicker}/helpers.ts +0 -0
@@ -1,15 +1,16 @@
1
1
  /* eslint-disable @typescript-eslint/naming-convention */
2
2
  import type { Meta, StoryObj } from "@storybook/vue3"
3
3
 
4
- import LibNotification from "./LibNotification.vue"
4
+ import WNotification from "./WNotification.vue"
5
+ import WNotificationTestMessageComponent from "./WNotificationTestMessageComponent.vue"
5
6
 
6
7
  import { NotificationHandler } from "../../helpers/NotificationHandler.js"
7
8
  import * as components from "../index.js"
8
9
 
9
10
  const handler = new NotificationHandler()
10
11
 
11
- const meta: Meta<typeof LibNotification> = {
12
- component: LibNotification,
12
+ const meta: Meta<typeof WNotification> = {
13
+ component: WNotification,
13
14
  title: "Components/Notification",
14
15
  args: {
15
16
 
@@ -17,17 +18,21 @@ const meta: Meta<typeof LibNotification> = {
17
18
  }
18
19
 
19
20
  export default meta
20
- type Story = StoryObj<typeof LibNotification>
21
+ type Story = StoryObj<typeof WNotification>
21
22
 
22
23
  export const Primary: Story = {
23
24
  render: args => ({
24
- components: { ...components, LibNotification },
25
+ components: {
26
+ ...components,
27
+ WNotification,
28
+ WNotificationTestMessageComponent
29
+ },
25
30
  setup() {
26
31
  return { args }
27
32
  },
28
33
  backgrounds: { disable: true },
29
34
  template: `
30
- <lib-notification v-bind="args"/>
35
+ <WNotification v-bind="args"/>
31
36
  `
32
37
  }),
33
38
  args: {
@@ -136,3 +141,34 @@ export const CustomDefaultAndDangerousOption: Story = {
136
141
  })
137
142
  }
138
143
  }
144
+
145
+
146
+ export const CustomMessageComponent: Story = {
147
+ ...Primary,
148
+ args: {
149
+ ...Primary.args,
150
+ // @ts-expect-error calling protected method
151
+ notification: handler._createEntry({
152
+ ...Primary.args!.notification,
153
+ component: WNotificationTestMessageComponent,
154
+ componentProps: {
155
+ customProp: "Custom Prop"
156
+ }
157
+ })
158
+ }
159
+ }
160
+
161
+ export const CustomNotificationProps: Story = {
162
+ ...Primary,
163
+ args: {
164
+ ...Primary.args,
165
+ // @ts-expect-error calling protected method
166
+ notification: handler._createEntry({
167
+ ...Primary.args!.notification,
168
+ message: "Should be 300px wide",
169
+ notificationProps: {
170
+ class: "w-[300px]!"
171
+ }
172
+ })
173
+ }
174
+ }
@@ -1,9 +1,11 @@
1
1
  <template>
2
2
  <div
3
3
  v-if="notification"
4
+ :role="notification.requiresAction ? 'alertdialog' : 'status'"
5
+ :aria-labelledby="notification.title ? `title-${notification.id}` : undefined"
6
+ :aria-describedby="notification.message ? `msg-${notification.id}` : undefined"
4
7
  :class="twMerge(`
5
8
  notification
6
- max-w-700px
7
9
  bg-neutral-50
8
10
  dark:bg-neutral-900
9
11
  text-fg
@@ -19,10 +21,15 @@
19
21
  p-1
20
22
  text-sm
21
23
  focus:border-accent-500
24
+ focus-within:border-accent-500
22
25
  `,
23
- ($attrs as any).class)"
24
- v-bind="{ ...$attrs, class: undefined }"
26
+ ($attrs as any).class,
27
+ notification.notificationAttrs?.class
28
+ )
29
+ "
30
+ v-bind="{ ...$attrs, ...(notification?.notificationAttrs ?? {}), class: undefined }"
25
31
  tabindex="0"
32
+ :data-id="notification.id"
26
33
  ref="notificationEl"
27
34
  @keydown.enter.self="NotificationHandler.resolveToDefault(notification)"
28
35
  >
@@ -30,27 +37,29 @@
30
37
  name="top"
31
38
  :notification="notification"
32
39
  />
40
+
41
+
33
42
  <div
34
43
  class="
35
- notification--header
36
- flex-reverse
37
- flex
38
- justify-between
39
- items-center
40
- "
44
+ notification--header
45
+ flex-reverse
46
+ flex
47
+ justify-between
48
+ items-center
49
+ "
41
50
  >
42
51
  <slot
43
52
  v-if="notification.title"
44
53
  name="title"
45
54
  v-bind="setSlotVar('title', {
55
+ id: `title-${notification.id}`,
46
56
  title: notification.title,
47
57
  class: `
48
58
  notification--title
49
59
  focus-outline
50
60
  rounded-sm
51
61
  font-bold
52
- `,
53
- tabindex: 0
62
+ `
54
63
  })"
55
64
  >
56
65
  <div
@@ -60,9 +69,10 @@
60
69
  </div>
61
70
  </slot>
62
71
  <div class="notification--spacer flex-1"/>
63
- <div class="actions flex">
64
- <LibButton
72
+ <div class="notification--actions flex">
73
+ <WButton
65
74
  :border="false"
75
+ aria-label="Copy notification content"
66
76
  class="
67
77
  notification--title-button
68
78
  notification--copy-button
@@ -71,10 +81,11 @@
71
81
  "
72
82
  @click="copy(handler ? handler.stringify(notification) : JSON.stringify(notification))"
73
83
  >
74
- <icon><i-fa6-regular-copy/></icon>
75
- </LibButton>
76
- <lib-button
84
+ <WIcon><i-lucide-copy/></WIcon>
85
+ </WButton>
86
+ <WButton
77
87
  v-if="notification.cancellable"
88
+ aria-label="Dismiss notification"
78
89
  class="
79
90
  notification--title-button
80
91
  notification--cancel-button
@@ -82,31 +93,49 @@
82
93
  :border="false"
83
94
  @click="NotificationHandler.dismiss(notification)"
84
95
  >
85
- <icon><i-fa6-solid-xmark/></icon>
86
- </lib-button>
96
+ <WIcon><i-lucide-x/></WIcon>
97
+ </Wbutton>
87
98
  </div>
88
99
  </div>
89
100
  <slot
90
- v-if="notification.message"
101
+ v-if="notification.message && !notification.component"
91
102
  name="message"
92
103
  v-bind="setSlotVar('message', {
93
104
  class: `
94
105
  notification--message
106
+ shrink-1
107
+ overflow-auto
95
108
  whitespace-pre-wrap
96
109
  text-neutral-800
97
110
  dark:text-neutral-200
98
111
  mb-1
99
112
  `,
100
- message: notification.message,
101
- tabindex: 0
113
+ message: notification.message
102
114
  })"
103
115
  >
104
116
  <div
105
117
  v-bind="slotVars.message"
118
+ :id="`msg-${notification.id}`"
106
119
  >
107
120
  {{ notification.message }}
108
121
  </div>
109
122
  </slot>
123
+ <Component
124
+ v-if="notification.component"
125
+ :is="notification.component"
126
+ v-bind="{
127
+ notification,
128
+ message: notification.message,
129
+ messageClasses: `
130
+ notification--message
131
+ whitespace-pre-wrap
132
+ text-neutral-800
133
+ dark:text-neutral-200
134
+ mb-1
135
+ `,
136
+ ...(notification.componentProps ?? {})
137
+ }"
138
+ />
110
139
  <div class="notification--footer flex items-end justify-between">
111
140
  <div
112
141
  v-if="notification.code"
@@ -125,7 +154,7 @@
125
154
  gap-2
126
155
  "
127
156
  >
128
- <lib-button
157
+ <WButton
129
158
  :label="option"
130
159
  :class="twMerge(`
131
160
  notification--button
@@ -147,19 +176,19 @@
147
176
  <script setup lang="ts">
148
177
  import { computed, type HTMLAttributes, onMounted, ref, useAttrs } from "vue"
149
178
 
150
- import IFa6RegularCopy from "~icons/fa6-regular/copy"
151
- import IFa6SolidXmark from "~icons/fa6-solid/xmark"
179
+ import ILucideCopy from "~icons/lucide/copy"
180
+ import ILucideX from "~icons/lucide/x"
152
181
 
153
182
  import { useSlotVars } from "../../composables/useSlotVars.js"
154
183
  import { copy } from "../../helpers/copy.js"
155
184
  import { type NotificationEntry, NotificationHandler } from "../../helpers/NotificationHandler.js"
185
+ import type { TailwindClassProp } from "../../types/index.js"
156
186
  import { twMerge } from "../../utils/twMerge.js"
157
- import Icon from "../Icon/Icon.vue"
158
- import LibButton from "../LibButton/LibButton.vue"
159
- import type { TailwindClassProp } from "../shared/props.js"
187
+ import WButton from "../WButton/WButton.vue"
188
+ import WIcon from "../WIcon/WIcon.vue"
160
189
 
161
190
  defineOptions({
162
- name: "LibNotification",
191
+ name: "WNotification",
163
192
  inheritAttrs: false
164
193
  })
165
194
  const $attrs = useAttrs()
@@ -167,10 +196,18 @@ const $attrs = useAttrs()
167
196
  const { setSlotVar, slotVars } = useSlotVars()
168
197
 
169
198
 
170
- const props = withDefaults(defineProps<Props>(), {
199
+ const props = withDefaults(defineProps<
200
+ & {
201
+ notification: NotificationEntry
202
+ handler?: NotificationHandler
203
+ }
204
+ & /** @vue-ignore */ Omit<HTMLAttributes, "class">
205
+ & /** @vue-ignore */ TailwindClassProp
206
+ >(), {
171
207
  handler: undefined
172
208
  })
173
209
 
210
+
174
211
  const getColor = (notification: NotificationEntry, option: string): "ok" | "primary" | "danger" | "secondary" => {
175
212
  return notification.dangerous.includes(option)
176
213
  ? "danger"
@@ -179,31 +216,21 @@ const getColor = (notification: NotificationEntry, option: string): "ok" | "prim
179
216
  : "secondary"
180
217
  }
181
218
 
182
- /* Todo make this more flexible? */
183
219
 
220
+ /* Todo make this more flexible? */
184
221
  const buttonColors = computed(() => props.notification.options.map((option: any /* what ??? */) => getColor(props.notification, option)))
185
222
 
186
223
  const notificationEl = ref<null | HTMLElement>(null)
224
+
187
225
  onMounted(() => {
188
- notificationEl.value?.focus()
226
+ if (props.notification.requiresAction) {
227
+ notificationEl.value?.focus()
228
+ }
189
229
  })
230
+
190
231
  defineExpose({
191
232
  focus: () => {
192
233
  notificationEl.value?.focus()
193
234
  }
194
235
  })
195
236
  </script>
196
-
197
- <script lang="ts">
198
- type RealProps = {
199
- notification: NotificationEntry
200
- handler?: NotificationHandler
201
- }
202
-
203
- interface Props
204
- extends
205
- /** @vue-ignore */
206
- Partial<Omit<HTMLAttributes, "class"> & TailwindClassProp>,
207
- RealProps
208
- {}
209
- </script>
@@ -0,0 +1,27 @@
1
+ <template>
2
+ <div class="border-2 border-accent-500 p-1 px-2 rounded-sm bg-accent-500/10">
3
+ <div class="text-lg">
4
+ Custom Message Component
5
+ </div>
6
+ <div class="font-bold">
7
+ Original message:
8
+ </div>
9
+ <div
10
+ :class="props.messageClasses"
11
+ >
12
+ {{ props.message }}
13
+ </div>
14
+ <div class="font-bold">
15
+ Custom Prop:
16
+ </div>
17
+ <div>
18
+ {{ props.customProp }}
19
+ </div>
20
+ </div>
21
+ </template>
22
+
23
+ <script setup lang="ts">
24
+ import type { CustomNotificationComponentProps } from "../../types/index.js"
25
+
26
+ const props = defineProps<CustomNotificationComponentProps & { customProp: string }>()
27
+ </script>
@@ -0,0 +1,139 @@
1
+ /* eslint-disable @typescript-eslint/naming-convention */
2
+ import { faker } from "@faker-js/faker"
3
+ import type { Meta, StoryObj } from "@storybook/vue3"
4
+ import { computed, ref } from "vue"
5
+
6
+ import WNotifications from "./WNotifications.vue"
7
+
8
+ import { NotificationHandler } from "../../helpers/NotificationHandler.js"
9
+ import * as components from "../index.js"
10
+
11
+ type ExtraTestArgs = {
12
+ _withTitle?: boolean
13
+ }
14
+ const meta: Meta<typeof WNotifications> = {
15
+ component: WNotifications,
16
+ title: "Components/Notifications",
17
+ args: {
18
+ _withTitle: true
19
+ } satisfies ExtraTestArgs as any
20
+ }
21
+
22
+ export default meta
23
+
24
+ type Story = StoryObj<typeof WNotifications> & {
25
+ args?: ExtraTestArgs
26
+ }
27
+
28
+ export const Primary: Story = {
29
+ render: args => {
30
+ const extraArgs = args as ExtraTestArgs
31
+ return {
32
+ components,
33
+ setup() {
34
+ const handler = new NotificationHandler({})
35
+
36
+ let count = 0
37
+
38
+ const withTitle = ref(extraArgs._withTitle)
39
+ const disableTimeout = ref(false)
40
+ const lotsOfText = ref(false)
41
+ const paragraphs = `\n Simulating lots of text:\n${faker.lorem.paragraphs(20)}`
42
+ const extraText = computed(() => lotsOfText.value ? paragraphs : "")
43
+
44
+ const notifyRequiresAction = (options: any) => {
45
+ count++
46
+ void handler.notify({
47
+ title: withTitle.value ? `Notification(${count})` : undefined,
48
+ message: `This is a cancellable notification that requires action. Pick an option:${extraText.value}`,
49
+ requiresAction: true,
50
+ options: ["Ok", "Default Answer", "Cancel"],
51
+ default: "Default Answer",
52
+ cancellable: true,
53
+ ...options
54
+ })
55
+ }
56
+
57
+ const notifyWithDangerousOption = () => {
58
+ count++
59
+ void handler.notify({
60
+ title: withTitle.value ? `Notification(${count})` : undefined,
61
+ message: `This is a cancellable notification that has a dangerous option. Pick an option:${extraText.value}`,
62
+ options: ["Ok", "Default Answer", "Dangerous Option", "Cancel"],
63
+ cancellable: true,
64
+ default: "Default Answer",
65
+ dangerous: ["Dangerous Option"]
66
+ })
67
+ }
68
+ const notifyNonCancellable = () => {
69
+ count++
70
+ void handler.notify({
71
+ title: withTitle.value ? `Notification(${count})` : undefined,
72
+ message: `This is a non-cancellable notification. Pick an option:${extraText.value}`,
73
+ options: ["Ok", "Default Answer"],
74
+ default: "Default Answer",
75
+ cancellable: false
76
+ })
77
+ }
78
+ const notifyNonCancellableRequiresAction = () => {
79
+ count++
80
+ void handler.notify({
81
+ title: withTitle.value ? `Notification(${count})` : undefined,
82
+ message: `This is a non-cancellable notification. Pick an option:${extraText.value}`,
83
+ requiresAction: true,
84
+ options: ["Ok", "Default Answer"],
85
+ default: "Default Answer",
86
+ cancellable: false
87
+ })
88
+ }
89
+ const notifyTimeoutable = () => {
90
+ count++
91
+ void handler.notify({
92
+ title: withTitle.value ? `Notification(${count})` : undefined,
93
+ message: `This is a notification. No action required.${extraText.value}`,
94
+ timeout: disableTimeout.value ? false : 5000
95
+ })
96
+ }
97
+ return {
98
+ notifyRequiresAction,
99
+ notifyTimeoutable,
100
+ notifyNonCancellable,
101
+ notifyWithDangerousOption,
102
+ notifyNonCancellableRequiresAction,
103
+ handler,
104
+ withTitle,
105
+ disableTimeout,
106
+ lotsOfText,
107
+ args: {
108
+ outline: false,
109
+ ...args
110
+ }
111
+ }
112
+ },
113
+ backgrounds: { disable: true },
114
+ // <WDebug>{{args.handler}}</WDebug>
115
+ template: `
116
+ <WRoot :outline="args.outline" :notification-handler="handler">
117
+ <WButton :label="'Notify Timeoutable'" @click="notifyTimeoutable()"></WButton>
118
+ <WButton :label="'Notify RequiresAction (Cancellable)'" @click="notifyRequiresAction()"></WButton>
119
+ <WButton :label="'Notify RequiresAction (Cancellable) - Custom Width'" @click="notifyRequiresAction({cancellable:true,notificationProps: {class: 'sm:max-w-[90dvw]'}})"></WButton>
120
+ <WButton :label="'Notify Non-Cancellable that RequiresAction'" @click="notifyNonCancellableRequiresAction()"></WButton>
121
+ <WButton :label="'Notify With Dangerous Option (Cancellable)'" @click="notifyWithDangerousOption()"></WButton>
122
+ <WButton :label="'Notify Non-Cancellable'" @click="notifyNonCancellable()"></WButton>
123
+ <WCheckbox v-model="lotsOfText">Use lots of text</WCheckbox>
124
+ <WCheckbox v-model="disableTimeout">Disable Timeout</WCheckbox>
125
+ <WCheckbox v-model="withTitle">With Title</WCheckbox>
126
+ <WNotifications :handler="handler" />
127
+ History:
128
+ <WDebug>
129
+ <template v-for="entry in handler.history">
130
+ Message: {{entry.message}}
131
+ Resolution: {{entry.resolution}}
132
+ <br>
133
+ </template>
134
+ </WDebug>
135
+ </WRoot>
136
+ `
137
+ }
138
+ }
139
+ }