@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
@@ -5,7 +5,7 @@ import { indent } from "@alanscodelog/utils/indent"
5
5
  import { isBlank } from "@alanscodelog/utils/isBlank"
6
6
  import { pretty } from "@alanscodelog/utils/pretty"
7
7
  import { setReadOnly } from "@alanscodelog/utils/setReadOnly"
8
- import { type Reactive, reactive } from "vue"
8
+ import { type Component, markRaw, type Reactive, reactive } from "vue"
9
9
 
10
10
  export class NotificationHandler<
11
11
  TRawEntry extends RawNotificationEntry<any, any> = RawNotificationEntry<any, any>,
@@ -71,12 +71,6 @@ export class NotificationHandler<
71
71
  `)
72
72
  }
73
73
  }
74
- if (entry.timeout !== undefined && !entry.cancellable) {
75
- throw new Error(
76
- crop`Cannot timeout notification that is not cancellable:
77
- ${indent(pretty(entry), 5)}
78
- `)
79
- }
80
74
  if (entry.timeout !== undefined && entry.requiresAction) {
81
75
  throw new Error(
82
76
  crop`Cannot timeout notification that requires action:
@@ -97,8 +91,8 @@ export class NotificationHandler<
97
91
  requiresAction: false,
98
92
  options: ["Ok", "Cancel"],
99
93
  default: "Ok",
100
- cancellable: rawEntry.cancellable,
101
94
  ...rawEntry,
95
+ component: rawEntry.component && typeof rawEntry.component !== "string" ? markRaw(rawEntry.component) : undefined,
102
96
  dangerous: rawEntry.dangerous ?? [],
103
97
  timeout: rawEntry.timeout === true
104
98
  ? this.timeout
@@ -177,7 +171,11 @@ export class NotificationHandler<
177
171
  const remaining = notification.timeout - notification._timer.elapsedBeforePause
178
172
  clearTimeout(notification._timer.id)
179
173
  notification._timer.id = setTimeout(() => {
180
- notification.resolve(notification.cancellable)
174
+ if (notification.cancellable) {
175
+ notification.resolve(notification.cancellable)
176
+ } else {
177
+ notification.resolve(notification.default)
178
+ }
181
179
  }, remaining)
182
180
  }
183
181
 
@@ -211,21 +209,42 @@ export type RawNotificationEntry<
211
209
  TOptions extends string[] = ["Ok", "Cancel"],
212
210
  TCancellable extends boolean | TOptions[number] = "Cancel"
213
211
  > = {
214
- message: string
215
212
  title?: string
216
213
  code?: string
217
214
  /** @default ["Ok", "Cancel"] */
218
215
  options?: TOptions
219
216
  /** @default false */
220
217
  requiresAction?: boolean
218
+ /**
219
+ * If true or a string (the cancel option) ensures the option exists and that is the "default" cancel action when a notification is dismissed in some manner that is not clicking one of the options (escaped, background click, etc.).
220
+ *
221
+ * This also enables cancelling via those secondary methods, otherwise the notification won't allow itself to be dismissed.
222
+ *
223
+ * @default undefined / false
224
+ */
221
225
  cancellable?: TCancellable
222
226
  /** @default "Ok" */
223
227
  default?: TOptions[number]
224
228
  /** @default [] */
225
229
  dangerous?: TOptions[number][]
226
- /** @default false if cancellable, otherwise the default timeout */
230
+ /**
231
+ * Overrides the default timeout, can be set to true to just enable it. An entry must be cancellable to have a timeout.
232
+ *
233
+ * @default global timeout / false if cancellable is false
234
+ */
227
235
  timeout?: number | boolean
228
236
  icon?: string
237
+ message: string
238
+ component?: string | Component
239
+ /** Props for the custom component. By default the component is passed the message, the messageClasses, and the full notification. Both will be overriden if you set them on componentProps. */
240
+ componentProps?: Record<string, any> & Partial<{ notification: NotificationEntry, message: string, messageClasses: string }>
241
+ /**
242
+ * Attributes for the notification component itself. They are bound to the root of the element and the class property is merged with twMerge.
243
+ *
244
+ * The most likely use is needing to adjust the width of fullscreen notifications, but fullscreen notifications have two widths (one for big screens and one for small ones (sm). You will usually want to do something like `{notificationProps: {class: 'sm:max-w-[90dvw]'}}` to change only the large one.
245
+ *
246
+ */
247
+ notificationAttrs?: Record<string, any>
229
248
  }
230
249
 
231
250
  export type NotificationEntry<
@@ -1,13 +1,7 @@
1
1
  import type { InjectionKey, Ref } from "vue"
2
2
 
3
- import type { DarkModeCommands, DarkModeState } from "./composables/useDarkMode.js"
4
3
  import type { TranslationFunction } from "./composables/useSetupI18n.js"
5
-
6
- /** @deprecated */
7
- export const isDarkModeInjectionKey = Symbol("isDarkMode") as InjectionKey<Ref<boolean>>
8
-
9
- /** @deprecated */
10
- export const manualDarkModeInjectionKey = Symbol("manualDarkMode") as InjectionKey<Ref<boolean | undefined>>
4
+ import type { DarkModeCommands, DarkModeState } from "./types/index.js"
11
5
 
12
6
  export const darkModeCommandsInjectionKey = Symbol("darkModeCommands") as InjectionKey<DarkModeCommands>
13
7
 
@@ -3,9 +3,7 @@ import type { Ref } from "vue"
3
3
 
4
4
  export type ResizableOptions = {
5
5
  /**
6
- * Defaults to true.
7
- *
8
- * ### true
6
+ * ### true (default)
9
7
  * The directive will shrink/expand the columns when the table is resized and will use percentage widths on the table cells. This disables resizing of the last column (from the right handle).
10
8
  *
11
9
  * Additionally because of the way `table-layout:fixed` works, a min-width cannot be set on the elements via css, so instead, if the table shrinks past `opts.margin * col #`, `min-width` is set on the table until it's resized larger.
@@ -17,6 +15,8 @@ export type ResizableOptions = {
17
15
  * The table can be resized past it's normal width and uses pixel widths on the table cells. You might want to set `overscroll-x: scroll` on a parent wrapping element.
18
16
  *
19
17
  * This will set the table width to `min-content`, else it doesn't work. Note that it does this after the initial reading/setting of sizes so you can, for example, layout the table with `width: 100%`.
18
+ *
19
+ * @default true
20
20
  */
21
21
  fitWidth: boolean
22
22
  /**
@@ -41,8 +41,12 @@ export type ResizableOptions = {
41
41
  * It can then be used as needed by the component.
42
42
  */
43
43
  widths: Ref<string[]>
44
- /** The selector to use for the cells. "tr > td" by default. */
44
+ /** The selector to use for the header cells. "tr > th" by default. */
45
45
  selector: string
46
+ /** Is called just after the `resizable-cols-setup` class is added. Can be useful for controlling the styling of wrappers or doing additional things post-setup. The default table element uses it to set the class on the wrapper also. */
47
+ onSetup?: (el: Element) => void
48
+ /** Is called on teardown (after the `resizable-cols-setup` class is removed). */
49
+ onTeardown?: (el: Element) => void
46
50
  }
47
51
  // eslint-disable-next-line @typescript-eslint/no-empty-object-type
48
52
  export type TableColConfig<T = {}> = Record<keyof T, { name?: string, resizable?: boolean }>
@@ -80,41 +84,119 @@ export type ScrollNearContainerEdgesOptions = {
80
84
  // eslint-disable-next-line @typescript-eslint/naming-convention
81
85
  export type SimpleDOMRect = Omit<DOMRect, "toJSON">
82
86
 
83
- // eslint-disable-next-line @typescript-eslint/naming-convention
84
- export interface IPopupReference { getBoundingClientRect: () => SimpleDOMRect }
85
- export type PopupPosition = { x: number, y: number, maxWidth?: number, maxHeight?: number }
86
- export type PopupSpaceInfo = {
87
- left: number
88
- right: number
89
- leftLeft: number
90
- rightRight: number
91
- leftFromCenter: number
92
- rightFromCenter: number
93
- topFromCenter: number
94
- bottomFromCenter: number
95
- top: number
96
- bottom: number
97
- }
98
- export type PopupPositioner = (
99
- /** Reference is only undefined, if you did not specify a button element or use the exposed setReference. The function is still called, because there are other ways you might want to still position the popup (e.g. center-screen or some similar variation). */
100
- reference: SimpleDOMRect | undefined,
101
- popup: SimpleDOMRect | DOMRect,
102
- bg: SimpleDOMRect | DOMRect,
103
- space: PopupSpaceInfo
104
- ) => number
105
-
106
- export type PopupPositionModifier = (
107
- pos: PopupPosition,
108
- /** This will only be called with the reference element as undefined when one of the preferred positions is center-screen or it's a function. */
109
- reference: SimpleDOMRect | undefined,
110
- popup: SimpleDOMRect | DOMRect,
111
- bg: SimpleDOMRect | DOMRect,
112
- space: PopupSpaceInfo
113
- ) => PopupPosition
114
-
115
87
  export type SingleDate = Date | undefined
116
88
 
117
89
  export type RangeDate = {
118
90
  start?: SingleDate
119
91
  end?: SingleDate
120
92
  }
93
+
94
+ export type CustomNotificationComponentProps = {
95
+ message: string
96
+ messageClasses?: string
97
+ }
98
+
99
+
100
+ export type BaseInteractiveProps = {
101
+ /** Default is false. */
102
+ disabled?: boolean
103
+ /** Default is false. */
104
+ readonly?: boolean
105
+ /** Default is true. */
106
+ border?: boolean
107
+ /** Removes styles from the component. Default is false. */
108
+ unstyle?: boolean
109
+ }
110
+
111
+
112
+ export type TailwindClassProp = {
113
+ /** Tailwind classes. */
114
+ class?: string | false
115
+ }
116
+
117
+
118
+ export const defaultDarkModeOrder = ["system", "dark", "light"] as const
119
+
120
+
121
+ export type DarkModeOptions = {
122
+ /* Whether to save the manual dark mode to local storage. Uses the key "prefersColorSchemeDark" by default. You can pass a key instead of true to use that as the key instead. */
123
+ useLocalStorage?: boolean | string
124
+ /* The order of the string dark modes when using `cycleDarkMode`. Defaults to `["system", "dark", "light"]` */
125
+ darkModeOrder?: readonly ("system" | "dark" | "light")[]
126
+ /** True by default, should be passed import.meta.client if using nuxt, or false when running server side. */
127
+ isClientSide?: boolean
128
+ /**
129
+ * Whether to use the view transition to animate the dark mode switch (you just need to add the css).
130
+ *
131
+ * Note that the transitition is NOT triggered if visually the mode does not change (e.g. system mode is dark and the user switches from system to dark, visually nothing changes so transitioning is skipped).
132
+ *
133
+ * There is an example in storybook. But basically:
134
+ *
135
+ * ```css
136
+ *
137
+ * #root { // the dark mode switcher works on the WRoot component not the html root
138
+ * view-transition-name: wroot;
139
+ * height: 100dvh;
140
+ * padding: 0;
141
+ * }
142
+ *
143
+ * ::view-transition-new(wroot) {
144
+ * animation: grow var(--story-anim-length) ease-in-out;
145
+ * animation-fill-mode: both;
146
+ * z-index: 2;
147
+ * mask: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><circle cx="20" cy="20" r="20" fill="white"/></svg>') center / 0 no-repeat;
148
+ * }
149
+ *
150
+ * ::view-transition-old(wroot) {
151
+ * animation: none;
152
+ * animation-fill-mode: both;
153
+ * z-index: 1;
154
+ * }
155
+ *
156
+ * @keyframes grow {
157
+ * from {
158
+ * mask-size: 0dvw;
159
+ * }
160
+ * to {
161
+ * mask-size: 300dvw;
162
+ * }
163
+ * }
164
+ * ```
165
+ *
166
+ * See https://theme-toggle.rdsx.dev/ for more ideas.
167
+ *
168
+ * @default true
169
+ */
170
+ useViewTransition?: boolean
171
+ }
172
+
173
+ export interface DarkModeCommands {
174
+ setDarkMode: (value: "dark" | "light" | "system") => void
175
+ cycleDarkMode: () => void
176
+ }
177
+
178
+ export interface DarkModeState {
179
+ /** Whether the dark mode should be enabled or not */
180
+ darkMode: Ref<boolean>
181
+ /** The current state of the darkMode but as a string (dark, light, system) */
182
+ darkModeState: Ref<"dark" | "light" | "system">
183
+ /** The value of the manuably controllable dark mode. You can set this to true/false or undefined to allow the systemDarkMode to take priority. Alternatively use setDarkMode instead. */
184
+ manualDarkMode: Ref<boolean | undefined>
185
+ /** The value of the system dark mode. This is automatically set depending on the user's `prefer-color-scheme` and should not be set directly. */
186
+ systemDarkMode: Ref<boolean>
187
+
188
+ }
189
+ export type PopupConstrainToProps = {
190
+ constrainWidthTo?: number | "trigger" | "available" | string | null
191
+ constrainHeightTo?: number | "trigger" | "available" | string | null
192
+ }
193
+
194
+
195
+ export type EmitsToProps<T> = {
196
+ [K in keyof T as K extends string ? `on${Capitalize<K>}` : never]?:
197
+ T[K] extends (...args: infer Args) => any
198
+ ? (...args: Args) => void
199
+ : T[K] extends any[]
200
+ ? (...args: T[K]) => void
201
+ : T[K]
202
+ }
@@ -1,6 +1,7 @@
1
1
  import { TypedError } from "@alanscodelog/utils/TypedError"
2
2
 
3
3
  import { useNotificationHandler } from "../composables/useNotificationHandler.js"
4
+ import type { NotificationEntry } from "../helpers/NotificationHandler.js"
4
5
 
5
6
  /**
6
7
  * Notifies the user if the given value is an error. Useful for making non-critical errors don't go unnoticed.
@@ -13,13 +14,15 @@ export function notifyIfError<T>(
13
14
  err: T, {
14
15
  logger,
15
16
  ns,
16
- force = false
17
+ force = false,
18
+ entry
17
19
  }: {
18
20
  logger?: { debug: (...args: any[]) => void }
19
21
  /* Logger namespace. */
20
22
  ns?: string
21
23
  /* force interpret as error, for catch blocks */
22
24
  force?: boolean
25
+ entry?: Partial<NotificationEntry<any>>
23
26
  } = {}): T {
24
27
  if (force || err instanceof Error) {
25
28
  const errMessage = {
@@ -38,7 +41,8 @@ export function notifyIfError<T>(
38
41
  ...errMessage,
39
42
  options: ["Ok"],
40
43
  cancellable: "Ok",
41
- timeout: true
44
+ timeout: true,
45
+ ...entry
42
46
  })
43
47
  }
44
48
  return err
@@ -3,7 +3,8 @@ import { extendTailwindMerge } from "tailwind-merge"
3
3
  const _twMergeExtend = {
4
4
  extend: {
5
5
  classGroups: {
6
- "focus-outline": [{ "focus-outline": ["", "no-offset", "none"] }]
6
+ "focus-outline": [{ "focus-outline": ["", "no-offset", "none"] }],
7
+ "no-truncate": ["truncate", "no-truncate"]
7
8
  }
8
9
  }
9
10
  } satisfies Parameters<typeof extendTailwindMerge>[0]
@@ -8,20 +8,19 @@ export {}
8
8
  /* prettier-ignore */
9
9
  declare module 'vue' {
10
10
  export interface GlobalComponents {
11
- IFa6RegularCopy: typeof import('~icons/fa6-regular/copy')['default']
12
- IFa6RegularFile: typeof import('~icons/fa6-regular/file')['default']
13
- IFa6SolidArrowUpFromBracket: typeof import('~icons/fa6-solid/arrow-up-from-bracket')['default']
14
- IFa6SolidChevronUp: typeof import('~icons/fa6-solid/chevron-up')['default']
15
- IFa6SolidCircleHalfStroke: typeof import('~icons/fa6-solid/circle-half-stroke')['default']
16
- IFa6SolidXmark: typeof import('~icons/fa6-solid/xmark')['default']
17
- IFaSolidMoon: typeof import('~icons/fa-solid/moon')['default']
18
- IPhSunBold: typeof import('~icons/ph/sun-bold')['default']
19
- IRadixIconsCalendar: typeof import('~icons/radix-icons/calendar')['default']
20
- IRadixIconsChevronLeft: typeof import('~icons/radix-icons/chevron-left')['default']
21
- IRadixIconsChevronRight: typeof import('~icons/radix-icons/chevron-right')['default']
22
- IRadixIconsDoubleArrowLeft: typeof import('~icons/radix-icons/double-arrow-left')['default']
23
- IRadixIconsDoubleArrowRight: typeof import('~icons/radix-icons/double-arrow-right')['default']
24
- RouterLink: typeof import('vue-router')['RouterLink']
25
- RouterView: typeof import('vue-router')['RouterView']
11
+ ILucideCalendarDays: typeof import('~icons/lucide/calendar-days')['default']
12
+ ILucideCalendarRange: typeof import('~icons/lucide/calendar-range')['default']
13
+ ILucideCheck: typeof import('~icons/lucide/check')['default']
14
+ ILucideChevronDown: typeof import('~icons/lucide/chevron-down')['default']
15
+ ILucideChevronLeft: typeof import('~icons/lucide/chevron-left')['default']
16
+ ILucideChevronRight: typeof import('~icons/lucide/chevron-right')['default']
17
+ ILucideChevronsLeft: typeof import('~icons/lucide/chevrons-left')['default']
18
+ ILucideChevronsRight: typeof import('~icons/lucide/chevrons-right')['default']
19
+ ILucideCopy: typeof import('~icons/lucide/copy')['default']
20
+ ILucideFile: typeof import('~icons/lucide/file')['default']
21
+ ILucideInfo: typeof import('~icons/lucide/info')['default']
22
+ ILucideLoaderCircle: typeof import('~icons/lucide/loader-circle')['default']
23
+ ILucideUpload: typeof import('~icons/lucide/upload')['default']
24
+ ILucideX: typeof import('~icons/lucide/x')['default']
26
25
  }
27
26
  }
@@ -1,5 +0,0 @@
1
- type __VLS_Props = {
2
- value: string;
3
- };
4
- declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
5
- export default _default;
@@ -1,16 +0,0 @@
1
- <template>
2
- <div tabindex="0">
3
- {{ value }}
4
- </div>
5
- </template>
6
-
7
- <script setup>
8
- defineOptions({ name: "Aria" });
9
- defineProps({
10
- value: { type: String, required: true }
11
- });
12
- </script>
13
-
14
- <style scoped>
15
- div{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);white-space:nowrap}
16
- </style>
@@ -1,5 +0,0 @@
1
- type __VLS_Props = {
2
- value: string;
3
- };
4
- declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
5
- export default _default;
@@ -1,21 +0,0 @@
1
- import { type HTMLAttributes } from "vue";
2
- /**
3
- * Just a very simple wrapper for wrapping unplugin-icons in an inline-block div so the icon in the slot take's up a normal line height when it's alone.
4
- *
5
- * ```vue
6
- * <icon><i-...></icon>
7
- * ``
8
- */
9
- interface Props extends
10
- /** @vue-ignore */
11
- Partial<Omit<HTMLAttributes, "class">> {
12
- }
13
- declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
14
- default?: (props: {}) => any;
15
- }>;
16
- export default _default;
17
- type __VLS_WithSlots<T, S> = T & {
18
- new (): {
19
- $slots: S;
20
- };
21
- };
@@ -1,21 +0,0 @@
1
- import { type HTMLAttributes } from "vue";
2
- /**
3
- * Just a very simple wrapper for wrapping unplugin-icons in an inline-block div so the icon in the slot take's up a normal line height when it's alone.
4
- *
5
- * ```vue
6
- * <icon><i-...></icon>
7
- * ``
8
- */
9
- interface Props extends
10
- /** @vue-ignore */
11
- Partial<Omit<HTMLAttributes, "class">> {
12
- }
13
- declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
14
- default?: (props: {}) => any;
15
- }>;
16
- export default _default;
17
- type __VLS_WithSlots<T, S> = T & {
18
- new (): {
19
- $slots: S;
20
- };
21
- };
@@ -1,36 +0,0 @@
1
- import { type ButtonHTMLAttributes } from "vue";
2
- import { type BaseInteractiveProps, type ButtonProps, type LabelProps, type LinkableByIdProps, type TailwindClassProp } from "../shared/props.js";
3
- type RealProps = LinkableByIdProps & LabelProps & BaseInteractiveProps & ButtonProps;
4
- interface Props extends
5
- /** @vue-ignore */
6
- Partial<Omit<ButtonHTMLAttributes, "class" | "color" | "disabled"> & TailwindClassProp & {
7
- "aria-label": string;
8
- }>, RealProps {
9
- }
10
- declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
11
- color: "warning" | "ok" | "danger" | "primary" | "secondary" | false;
12
- label: string;
13
- disabled: boolean;
14
- readonly: boolean;
15
- border: boolean;
16
- unstyle: boolean;
17
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
18
- label?: (props: {
19
- id: string;
20
- classes: string;
21
- }) => any;
22
- } & {
23
- icon?: (props: {}) => any;
24
- } & {
25
- default?: (props: {
26
- label: any;
27
- }) => any;
28
- } & {
29
- 'icon-after'?: (props: {}) => any;
30
- }>;
31
- export default _default;
32
- type __VLS_WithSlots<T, S> = T & {
33
- new (): {
34
- $slots: S;
35
- };
36
- };
@@ -1,36 +0,0 @@
1
- import { type ButtonHTMLAttributes } from "vue";
2
- import { type BaseInteractiveProps, type ButtonProps, type LabelProps, type LinkableByIdProps, type TailwindClassProp } from "../shared/props.js";
3
- type RealProps = LinkableByIdProps & LabelProps & BaseInteractiveProps & ButtonProps;
4
- interface Props extends
5
- /** @vue-ignore */
6
- Partial<Omit<ButtonHTMLAttributes, "class" | "color" | "disabled"> & TailwindClassProp & {
7
- "aria-label": string;
8
- }>, RealProps {
9
- }
10
- declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
11
- color: "warning" | "ok" | "danger" | "primary" | "secondary" | false;
12
- label: string;
13
- disabled: boolean;
14
- readonly: boolean;
15
- border: boolean;
16
- unstyle: boolean;
17
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
18
- label?: (props: {
19
- id: string;
20
- classes: string;
21
- }) => any;
22
- } & {
23
- icon?: (props: {}) => any;
24
- } & {
25
- default?: (props: {
26
- label: any;
27
- }) => any;
28
- } & {
29
- 'icon-after'?: (props: {}) => any;
30
- }>;
31
- export default _default;
32
- type __VLS_WithSlots<T, S> = T & {
33
- new (): {
34
- $slots: S;
35
- };
36
- };
@@ -1,42 +0,0 @@
1
- import { type HTMLAttributes, type InputHTMLAttributes } from "vue";
2
- import { type BaseInteractiveProps, type LabelProps, type LinkableByIdProps, type TailwindClassProp, type WrapperProps } from "../shared/props.js";
3
- type WrapperTypes = Partial<WrapperProps<"label", HTMLAttributes, {
4
- /** Tailwind classes. */
5
- class?: string;
6
- }>>;
7
- type RealProps = LinkableByIdProps & LabelProps & BaseInteractiveProps & {
8
- unstyle?: boolean;
9
- };
10
- interface Props extends
11
- /** @vue-ignore */
12
- Partial<Omit<InputHTMLAttributes, "class" | "readonly" | "disabled" | "onSumbit"> & TailwindClassProp>,
13
- /** @vue-ignore */
14
- WrapperTypes, RealProps {
15
- }
16
- declare const _default: __VLS_WithSlots<import("vue").DefineComponent<Props & {
17
- modelValue?: boolean;
18
- }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
19
- "update:modelValue": (value: boolean) => any;
20
- } & {
21
- submit: (val: boolean) => any;
22
- }, string, import("vue").PublicProps, Readonly<Props & {
23
- modelValue?: boolean;
24
- }> & Readonly<{
25
- onSubmit?: ((val: boolean) => any) | undefined;
26
- "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
27
- }>, {
28
- disabled: boolean;
29
- readonly: boolean;
30
- border: boolean;
31
- unstyle: boolean;
32
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
33
- left?: (props: {}) => any;
34
- } & {
35
- default?: (props: {}) => any;
36
- }>;
37
- export default _default;
38
- type __VLS_WithSlots<T, S> = T & {
39
- new (): {
40
- $slots: S;
41
- };
42
- };
@@ -1,103 +0,0 @@
1
- <template>
2
- <div
3
- :class="twMerge(
4
- `
5
- checkbox--wrapper
6
- flex
7
- items-center
8
- gap-1
9
- `,
10
- $.wrapperAttrs?.class
11
- )"
12
- v-bind="{ ...$.wrapperAttrs, class: void 0 }"
13
- ref="el"
14
- >
15
- <slot name="left"/>
16
- <label
17
- :class="twMerge(
18
- `
19
- checkbox--label
20
- flex
21
- items-center
22
- gap-1
23
- `,
24
- $.labelAttrs?.class
25
- )"
26
- v-bind="{ ...$.labelAttrs, class: void 0 }"
27
- :for="id ?? fallbackId"
28
- >
29
- <input
30
- :id="id ?? fallbackId"
31
- :class="!$attrs.unstyle && twMerge(
32
- `
33
- checkbox
34
- focus-outline-no-offset
35
- m-0
36
- p-[0.4em]
37
- bg-bg
38
- dark:bg-fg
39
- appearance-none
40
- border
41
- border-neutral-500
42
- focus:border-accent-600
43
- rounded-sm
44
- aspect-square
45
- relative
46
- checked:after:content
47
- checked:after:absolute
48
- checked:after:w-full
49
- checked:after:h-full
50
- checked:after:border-2
51
- checked:after:border-bg
52
- dark:checked:after:border-fg
53
- checked:after:rounded-sm
54
- checked:after:top-0
55
- checked:after:left-0
56
- checked:after:bg-accent-700
57
- disabled:border-neutral-500
58
- disabled:checked:after:bg-neutral-700
59
- `,
60
- !disabled && `cursor-pointer`,
61
- $.attrs.class
62
- )"
63
- type="checkbox"
64
- :disabled="disabled"
65
- ref="inputEl"
66
- v-model="$value"
67
- v-bind="{ ...$.attrs, class: void 0 }"
68
- >
69
- <slot/> {{ label }}
70
- </label>
71
- </div>
72
- </template>
73
-
74
- <script setup>
75
- import { ref } from "vue";
76
- import { useDivideAttrs } from "../../composables/useDivideAttrs.js";
77
- import { usePreHydrationValue } from "../../composables/usePreHydrationValue.js";
78
- import { twMerge } from "../../utils/twMerge.js";
79
- import { getFallbackId } from "../shared/props.js";
80
- defineOptions({
81
- name: "LibCheckbox",
82
- inheritAttrs: false
83
- });
84
- const $ = useDivideAttrs(["label", "wrapper"]);
85
- const fallbackId = getFallbackId();
86
- const props = defineProps({
87
- id: { type: String, required: false },
88
- label: { type: String, required: false },
89
- disabled: { type: Boolean, required: false, default: false },
90
- readonly: { type: Boolean, required: false, default: false },
91
- border: { type: Boolean, required: false, default: true },
92
- unstyle: { type: Boolean, required: false, default: false }
93
- });
94
- defineEmits(["submit"]);
95
- const el = ref(null);
96
- const inputEl = ref(null);
97
- const $value = defineModel("modelValue", { type: Boolean, ...{ default: false } });
98
- usePreHydrationValue(props.id ?? fallbackId, $value);
99
- </script>
100
-
101
- <script>
102
-
103
- </script>