@witchcraft/ui 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,94 +0,0 @@
1
- import { type HTMLAttributes } from "vue";
2
- import { type BaseInteractiveProps, type LabelProps, type LinkableByIdProps, type SuggestionsEmits, type SuggestionsProps, type WrapperProps } from "../shared/props.js";
3
- type WrapperTypes = Partial<WrapperProps<"item", HTMLAttributes, {
4
- /** Tailwind classes. */
5
- class?: string;
6
- }>>;
7
- type RealProps = LinkableByIdProps & LabelProps & BaseInteractiveProps & {
8
- /** Return true to prevent the keydown event from being handled. */
9
- filterKeydown?: (e: KeyboardEvent) => boolean;
10
- /** Return true to prevent the blur event from being handled. */
11
- filterBlur?: (e: MouseEvent) => boolean;
12
- /** Return true to prevent the focus event from being handled. */
13
- filterFocus?: (e: FocusEvent) => boolean;
14
- };
15
- interface Props extends
16
- /** @vue-ignore */
17
- Partial<Omit<HTMLAttributes, "class" | "onSubmit"> & {
18
- /** Tailwind classes. */
19
- class?: string;
20
- }>,
21
- /** @vue-ignore */
22
- WrapperTypes, RealProps {
23
- }
24
- declare const _default: <TSuggestion extends string | object, TValue extends string | string[]>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
25
- props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
26
- readonly onSubmit?: ((val: string, suggestion?: any, wasRemoved?: boolean | undefined) => any) | undefined;
27
- readonly "onUpdate:isOpen"?: ((val: boolean) => any) | undefined;
28
- readonly "onUpdate:activeSuggestion"?: ((val: number) => any) | undefined;
29
- readonly "onUpdate:modelValue"?: ((value: TValue) => any) | undefined;
30
- readonly "onUpdate:inputValue"?: ((value: string) => any) | undefined;
31
- readonly "onUpdate:open"?: ((value: boolean) => any) | undefined;
32
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onSubmit" | "onUpdate:modelValue" | "onUpdate:open" | "onUpdate:isOpen" | "onUpdate:activeSuggestion" | "onUpdate:inputValue"> & (Props & SuggestionsProps<TSuggestion> & {
33
- /**
34
- * The final valid value. This is *not* the value you want to share with the input. If `restrictToSuggestions` is true this will not update on any invalid values that `inputValue` might be set to.
35
- *
36
- * If suggestions are objects, this will be the string returned by the `suggestionLabel` prop.
37
- */
38
- modelValue: TValue;
39
- /**
40
- * If the element is bound to an input, this is the value that the input should be sharing.
41
- *
42
- * It allows the component to read even invalid output, and also to reset that invalid output when either modelValue is set to a new value, or when the component is closed via cancel.
43
- */
44
- inputValue?: string;
45
- open?: boolean;
46
- }) & {}> & import("vue").PublicProps;
47
- expose(exposed: import("vue").ShallowUnwrapRef<{
48
- suggestions: {
49
- list: any[] | undefined;
50
- filtered: any[] | undefined;
51
- active: number;
52
- available: boolean;
53
- moreThanOneAvailable: boolean;
54
- hasExactlyMatching: TSuggestion | undefined;
55
- hasValidSuggestion: boolean;
56
- openable: boolean | undefined;
57
- getLabel: (item: any) => string;
58
- $open: boolean;
59
- open: () => void;
60
- close: () => void;
61
- enterSelected: (doClose?: boolean) => void;
62
- enterIndex: (num: number, doClose?: boolean) => void;
63
- toggle: () => void;
64
- cancel: () => void;
65
- select: (num: number) => void;
66
- prev: () => void;
67
- next: () => void;
68
- first: () => void;
69
- last: () => void;
70
- };
71
- el: import("vue").Ref<HTMLElement | null, HTMLElement | null>;
72
- /** A simple keydown handler that can be passed to an input to control the component while still focused inside it. */
73
- inputKeydownHandler: (e: KeyboardEvent) => void;
74
- /** A blur handler for the input that controls the component. This also takes care of making clicking on a suggestion work, since otherwise if canOpen is set to false in the blur handler, no click event will fire. */
75
- inputBlurHandler: (e: MouseEvent) => void;
76
- /** A focus handler for the input that controls the component. */
77
- inputFocusHandler: (e: FocusEvent) => void;
78
- }>): void;
79
- attrs: any;
80
- slots: {
81
- item?: (props: {
82
- item: any;
83
- index: any;
84
- isSelected: any;
85
- }) => any;
86
- };
87
- emit: SuggestionsEmits<false> & (((evt: "update:modelValue", value: TValue) => void) & ((evt: "update:inputValue", value: string) => void) & ((evt: "update:open", value: boolean) => void));
88
- }>) => import("vue").VNode & {
89
- __ctx?: Awaited<typeof __VLS_setup>;
90
- };
91
- export default _default;
92
- type __VLS_PrettifyLocal<T> = {
93
- [K in keyof T as K]: T[K];
94
- } & {};
@@ -1,178 +0,0 @@
1
- <template>
2
- <div
3
- v-if="$open"
4
- :id="`suggestions-${id ?? fallbackId}`"
5
- :class="twMerge(
6
- `
7
- suggestions
8
- bg-bg
9
- dark:bg-fg
10
- dark:text-bg
11
- `,
12
- $.attrs?.class
13
- )"
14
- :data-open="$open"
15
- role="listbox"
16
- ref="el"
17
- v-bind="{ ...$.attrs, class: void 0 }"
18
- >
19
- <!-- Click event is just in case, it should not really be triggered. We can do click selections via the blur handler. -->
20
- <div
21
- :id="`suggestion-${id ?? fallbackId}-${index}`"
22
- role="option"
23
- :class="twMerge(
24
- `
25
- suggestions--item
26
- user-select-none
27
- cursor-pointer
28
- px-2
29
- `,
30
- index === suggestions.active && `
31
- bg-accent-200
32
- dark:bg-accent-800/70
33
- `,
34
- $.itemAttrs?.class
35
- )"
36
- v-bind="{ ...$.itemAttrs, class: void 0 }"
37
- :aria-selected="index === suggestions.active ? true : false"
38
- :aria-label="suggestions.getLabel(item)"
39
- v-for="(item, index) in suggestions.filtered"
40
- :key="item"
41
- @mouseover="suggestions.active = index"
42
- @mousedown.prevent
43
- @mouseup="suggestions.enterIndex(index, !Array.isArray($modelValue))"
44
- >
45
- <slot
46
- name="item"
47
- :item="item"
48
- :index="index"
49
- :is-selected="Array.isArray($modelValue) ? $modelValue.includes(item) : $modelValue === item"
50
- >
51
- <div class="flex gap-2 nowrap">
52
- <lib-checkbox
53
- v-if="Array.isArray($modelValue) && showSelectedValues"
54
- :model-value="$modelValue.includes(item)"
55
- @mousedown.prevent
56
- />
57
- <div> {{ item }} </div>
58
- </div>
59
- </slot>
60
- </div>
61
- </div>
62
- </template>
63
-
64
- <script setup>
65
- import { reactive, ref } from "vue";
66
- import { useDivideAttrs } from "../../composables/useDivideAttrs.js";
67
- import { useSuggestions } from "../../composables/useSuggestions.js";
68
- import { hasModifiers } from "../../helpers/hasModifiers.js";
69
- import { twMerge } from "../../utils/twMerge.js";
70
- import LibCheckbox from "../LibCheckbox/LibCheckbox.vue";
71
- import { getFallbackId } from "../shared/props.js";
72
- defineOptions({
73
- name: "LibSuggestions",
74
- inheritAttrs: false
75
- });
76
- const $ = useDivideAttrs(["item"]);
77
- const emits = defineEmits(["submit", "update:isOpen", "update:activeSuggestion"]);
78
- const fallbackId = getFallbackId();
79
- const props = defineProps({
80
- id: { type: String, required: false },
81
- label: { type: String, required: false },
82
- disabled: { type: Boolean, required: false, default: false },
83
- readonly: { type: Boolean, required: false, default: false },
84
- border: { type: Boolean, required: false, default: true },
85
- unstyle: { type: Boolean, required: false, default: false },
86
- filterKeydown: { type: Function, required: false, default: void 0 },
87
- filterBlur: { type: Function, required: false },
88
- filterFocus: { type: Function, required: false },
89
- suggestions: { type: Array, required: false },
90
- suggestionLabel: { type: Function, required: false },
91
- restrictToSuggestions: { type: Boolean, required: false },
92
- updateOnlyOnSubmit: { type: Boolean, required: false },
93
- suggestionsFilter: { type: Function, required: false },
94
- allowOpenEmpty: { type: Boolean, required: false },
95
- canOpen: { type: Boolean, required: false, default: true },
96
- canClose: { type: Boolean, required: false, default: true },
97
- isValid: { type: Boolean, required: false, default: true },
98
- suggestionSelector: { type: Function, required: false },
99
- showSelectedValues: { type: Boolean, required: false }
100
- });
101
- const $modelValue = defineModel("modelValue", { type: null, ...{ required: true } });
102
- const $inputValue = defineModel("inputValue", { type: String, ...{ default: "" } });
103
- const $open = defineModel("open", { type: Boolean, ...{ default: false } });
104
- if (typeof props.suggestions?.[0] === "object" && !props.suggestionLabel && !props.suggestionsFilter) {
105
- throw new Error("`suggestionLabel` or `suggestionsFilter` must be passed if suggestions are objects.");
106
- }
107
- const el = ref(null);
108
- const suggestions = reactive(useSuggestions(
109
- $inputValue,
110
- $modelValue,
111
- $open,
112
- emits,
113
- props
114
- ));
115
- const inputKeydownHandler = (e) => {
116
- if (props.filterKeydown?.(e)) return;
117
- if (hasModifiers(e)) return;
118
- if (e.key === "Enter") {
119
- suggestions.enterSelected(!Array.isArray($modelValue));
120
- e.preventDefault();
121
- } else if (e.key === "Escape") {
122
- suggestions.cancel();
123
- e.preventDefault();
124
- } else if (!$open.value && ["ArrowDown", "ArrowUp", "PageUp", "PageDown"].includes(e.key) && suggestions.available) {
125
- suggestions.open();
126
- e.preventDefault();
127
- if (e.key === "PageUp") {
128
- suggestions.first();
129
- } else if (e.key === "PageDown") {
130
- suggestions.last();
131
- }
132
- } else if (e.key === "ArrowUp") {
133
- suggestions.prev();
134
- e.preventDefault();
135
- } else if (e.key === "ArrowDown") {
136
- suggestions.next();
137
- e.preventDefault();
138
- } else if (e.key === "PageUp") {
139
- suggestions.first();
140
- e.preventDefault();
141
- } else if (e.key === "PageDown") {
142
- suggestions.last();
143
- e.preventDefault();
144
- }
145
- };
146
- const inputBlurHandler = (e) => {
147
- if (props.filterBlur?.(e)) return;
148
- if (!$open.value) return;
149
- if (props.restrictToSuggestions) {
150
- suggestions.cancel();
151
- } else {
152
- if (!Array.isArray($modelValue.value)) {
153
- $modelValue.value = $inputValue.value;
154
- }
155
- }
156
- if ($open.value) {
157
- suggestions.close();
158
- }
159
- };
160
- const inputFocusHandler = (e) => {
161
- if (props.filterFocus?.(e)) return;
162
- suggestions.open();
163
- };
164
- defineExpose({
165
- suggestions,
166
- el,
167
- /** A simple keydown handler that can be passed to an input to control the component while still focused inside it. */
168
- inputKeydownHandler,
169
- /** A blur handler for the input that controls the component. This also takes care of making clicking on a suggestion work, since otherwise if canOpen is set to false in the blur handler, no click event will fire. */
170
- inputBlurHandler,
171
- /** A focus handler for the input that controls the component. */
172
- inputFocusHandler
173
- });
174
- </script>
175
-
176
- <script>
177
-
178
- </script>
@@ -1,94 +0,0 @@
1
- import { type HTMLAttributes } from "vue";
2
- import { type BaseInteractiveProps, type LabelProps, type LinkableByIdProps, type SuggestionsEmits, type SuggestionsProps, type WrapperProps } from "../shared/props.js";
3
- type WrapperTypes = Partial<WrapperProps<"item", HTMLAttributes, {
4
- /** Tailwind classes. */
5
- class?: string;
6
- }>>;
7
- type RealProps = LinkableByIdProps & LabelProps & BaseInteractiveProps & {
8
- /** Return true to prevent the keydown event from being handled. */
9
- filterKeydown?: (e: KeyboardEvent) => boolean;
10
- /** Return true to prevent the blur event from being handled. */
11
- filterBlur?: (e: MouseEvent) => boolean;
12
- /** Return true to prevent the focus event from being handled. */
13
- filterFocus?: (e: FocusEvent) => boolean;
14
- };
15
- interface Props extends
16
- /** @vue-ignore */
17
- Partial<Omit<HTMLAttributes, "class" | "onSubmit"> & {
18
- /** Tailwind classes. */
19
- class?: string;
20
- }>,
21
- /** @vue-ignore */
22
- WrapperTypes, RealProps {
23
- }
24
- declare const _default: <TSuggestion extends string | object, TValue extends string | string[]>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
25
- props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
26
- readonly onSubmit?: ((val: string, suggestion?: any, wasRemoved?: boolean | undefined) => any) | undefined;
27
- readonly "onUpdate:isOpen"?: ((val: boolean) => any) | undefined;
28
- readonly "onUpdate:activeSuggestion"?: ((val: number) => any) | undefined;
29
- readonly "onUpdate:modelValue"?: ((value: TValue) => any) | undefined;
30
- readonly "onUpdate:inputValue"?: ((value: string) => any) | undefined;
31
- readonly "onUpdate:open"?: ((value: boolean) => any) | undefined;
32
- } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onSubmit" | "onUpdate:modelValue" | "onUpdate:open" | "onUpdate:isOpen" | "onUpdate:activeSuggestion" | "onUpdate:inputValue"> & (Props & SuggestionsProps<TSuggestion> & {
33
- /**
34
- * The final valid value. This is *not* the value you want to share with the input. If `restrictToSuggestions` is true this will not update on any invalid values that `inputValue` might be set to.
35
- *
36
- * If suggestions are objects, this will be the string returned by the `suggestionLabel` prop.
37
- */
38
- modelValue: TValue;
39
- /**
40
- * If the element is bound to an input, this is the value that the input should be sharing.
41
- *
42
- * It allows the component to read even invalid output, and also to reset that invalid output when either modelValue is set to a new value, or when the component is closed via cancel.
43
- */
44
- inputValue?: string;
45
- open?: boolean;
46
- }) & {}> & import("vue").PublicProps;
47
- expose(exposed: import("vue").ShallowUnwrapRef<{
48
- suggestions: {
49
- list: any[] | undefined;
50
- filtered: any[] | undefined;
51
- active: number;
52
- available: boolean;
53
- moreThanOneAvailable: boolean;
54
- hasExactlyMatching: TSuggestion | undefined;
55
- hasValidSuggestion: boolean;
56
- openable: boolean | undefined;
57
- getLabel: (item: any) => string;
58
- $open: boolean;
59
- open: () => void;
60
- close: () => void;
61
- enterSelected: (doClose?: boolean) => void;
62
- enterIndex: (num: number, doClose?: boolean) => void;
63
- toggle: () => void;
64
- cancel: () => void;
65
- select: (num: number) => void;
66
- prev: () => void;
67
- next: () => void;
68
- first: () => void;
69
- last: () => void;
70
- };
71
- el: import("vue").Ref<HTMLElement | null, HTMLElement | null>;
72
- /** A simple keydown handler that can be passed to an input to control the component while still focused inside it. */
73
- inputKeydownHandler: (e: KeyboardEvent) => void;
74
- /** A blur handler for the input that controls the component. This also takes care of making clicking on a suggestion work, since otherwise if canOpen is set to false in the blur handler, no click event will fire. */
75
- inputBlurHandler: (e: MouseEvent) => void;
76
- /** A focus handler for the input that controls the component. */
77
- inputFocusHandler: (e: FocusEvent) => void;
78
- }>): void;
79
- attrs: any;
80
- slots: {
81
- item?: (props: {
82
- item: any;
83
- index: any;
84
- isSelected: any;
85
- }) => any;
86
- };
87
- emit: SuggestionsEmits<false> & (((evt: "update:modelValue", value: TValue) => void) & ((evt: "update:inputValue", value: string) => void) & ((evt: "update:open", value: boolean) => void));
88
- }>) => import("vue").VNode & {
89
- __ctx?: Awaited<typeof __VLS_setup>;
90
- };
91
- export default _default;
92
- type __VLS_PrettifyLocal<T> = {
93
- [K in keyof T as K]: T[K];
94
- } & {};
@@ -1,45 +0,0 @@
1
- import { type TableHTMLAttributes } from "vue";
2
- import type { ResizableOptions, TableColConfig } from "../../types/index.js";
3
- import type { TailwindClassProp } from "../shared/props.js";
4
- type T = any;
5
- type RealProps = {
6
- resizable?: Partial<ResizableOptions>;
7
- values?: T[];
8
- itemKey?: keyof T | ((item: T) => string);
9
- /** Let's the table know the shape of the data since values might be empty. */
10
- cols?: (keyof T)[];
11
- rounded?: boolean;
12
- border?: boolean;
13
- cellBorder?: boolean;
14
- header?: boolean;
15
- colConfig?: TableColConfig<T>;
16
- };
17
- interface Props extends
18
- /** @vue-ignore */
19
- Partial<Omit<TableHTMLAttributes, "class" | "readonly" | "disabled"> & TailwindClassProp>, RealProps {
20
- }
21
- declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
22
- props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & Props & {}> & import("vue").PublicProps;
23
- expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
24
- attrs: any;
25
- slots: {
26
- [x: string]: ((props: {
27
- colKey: any;
28
- style: string;
29
- class: string;
30
- }) => any) | undefined;
31
- } & {
32
- [x: string]: ((props: {
33
- class: string;
34
- item: any;
35
- value: any;
36
- }) => any) | undefined;
37
- };
38
- emit: {};
39
- }>) => import("vue").VNode & {
40
- __ctx?: Awaited<typeof __VLS_setup>;
41
- };
42
- export default _default;
43
- type __VLS_PrettifyLocal<T> = {
44
- [K in keyof T as K]: T[K];
45
- } & {};
@@ -1,155 +0,0 @@
1
- <template>
2
- <!-- Assumes no scrollbars on children -->
3
- <table
4
- :class="twMerge(
5
- `table
6
- table-fixed
7
- border-separate
8
- border-spacing-0
9
- overflow-x-scroll
10
- scrollbar-hidden
11
- [&_.grip]:w-[5px]
12
- relative
13
- w-full
14
- box-content
15
- [&_thead]:font-bold
16
- [&_td]:p-1
17
- [&_td]:overflow-x-hidden
18
- [&.resizable-cols-error]:cursor-not-allowed
19
- [&.resizable-cols-error]:user-select-none
20
- `,
21
- cellBorder && `
22
- [&_td]:border-neutral-500
23
- [&_td:not(.last-row)]:border-b
24
- [&_td:not(.first-col)]:border-l
25
- `,
26
- border && `
27
- [&_thead_td]:bg-neutral-200
28
- [&_td]:border-neutral-500
29
- dark:[&_thead_td]:bg-neutral-800
30
- dark:[&_td]:border-neutral-500
31
- [&_td.first-row]:border-t
32
- [&_td.last-row]:border-b
33
- [&_td.last-col]:border-r
34
- [&_td.first-col]:border-l
35
- `,
36
- rounded && `
37
- [&_td.br]:rounded-br-sm
38
- [&_td.bl]:rounded-bl-sm
39
- [&_td.tr]:rounded-tr-sm
40
- [&_td.tl]:rounded-tl-sm
41
- `,
42
- $attrs.class
43
- )"
44
- v-resizable-cols="resizableOptions"
45
- >
46
- <thead
47
- v-if="header"
48
- class="table--header"
49
- >
50
- <tr class="table--row">
51
- <template
52
- v-for="col, i of cols"
53
- :key="col"
54
- >
55
- <slot
56
- :name="`header-${col.toString()}`"
57
- :class="[
58
- extraClasses[`-1-${i}`],
59
- 'cell table--header-cell',
60
- colConfig[col]?.resizable === false ? 'no-resize' : ''
61
- ].join(' ')"
62
- :style="`width:${widths.length > 0 ? widths[i] : ``}; `"
63
- :col-key="col"
64
- >
65
- <td
66
- :class="[
67
- extraClasses[`-1-${i}`],
68
- 'cell table--header-cell',
69
- colConfig[col]?.resizable === false ? 'no-resize' : ''
70
- ].join(' ')"
71
- :style="`width:${widths.length > 0 ? widths[i] : ``}; `"
72
- >
73
- {{ colConfig[col]?.name ?? col }}
74
- </td>
75
- </slot>
76
- </template>
77
- </tr>
78
- </thead>
79
- <tbody class="table--body">
80
- <template
81
- v-for="item, i of values"
82
- :key="typeof itemKey === 'function' ? itemKey(item) : item[itemKey]"
83
- >
84
- <tr class="table--row">
85
- <template
86
- v-for="col, j of cols"
87
- :key="(typeof itemKey === 'function' ? itemKey(item) : item[itemKey]) + col.toString()"
88
- >
89
- <slot
90
- :name="col"
91
- :item="item"
92
- :value="item[col]"
93
- :class="extraClasses[`${i}-${j}`] + 'table--cell cell'"
94
- >
95
- <td :class="extraClasses[`${i}-${j}`] + 'table--cell cell'">
96
- {{ item[col] }}
97
- </td>
98
- </slot>
99
- </template>
100
- </tr>
101
- </template>
102
- </tbody>
103
- </table>
104
- </template>
105
-
106
- <script setup>
107
- import { keys } from "@alanscodelog/utils/keys";
108
- import { computed, ref } from "vue";
109
- import { vResizableCols } from "../../directives/vResizableCols.js";
110
- import { twMerge } from "../../utils/twMerge.js";
111
- defineOptions({
112
- name: "LibTable"
113
- });
114
- const props = defineProps({
115
- resizable: { type: Object, required: false, default: () => ({}) },
116
- values: { type: Array, required: false, default: () => [] },
117
- itemKey: { type: [String, Number, Symbol, Function], required: false, default: "" },
118
- cols: { type: Array, required: false, default: () => [] },
119
- rounded: { type: Boolean, required: false, default: true },
120
- border: { type: Boolean, required: false, default: true },
121
- cellBorder: { type: Boolean, required: false, default: true },
122
- header: { type: Boolean, required: false, default: true },
123
- colConfig: { type: Object, required: false, default: () => ({}) }
124
- });
125
- const widths = ref([]);
126
- const resizableOptions = computed(() => ({
127
- colCount: props.cols.length,
128
- widths,
129
- selector: ".cell",
130
- ...props.resizable
131
- }));
132
- const getExtraClasses = (row, col, isHeader) => {
133
- const res = {
134
- bl: !isHeader && row === props.values.length - 1 && col === 0,
135
- br: !isHeader && row === props.values.length - 1 && col === props.cols.length - 1,
136
- tr: (isHeader || !props.header) && row === 0 && col === props.cols.length - 1,
137
- tl: (isHeader || !props.header) && row === 0 && col === 0,
138
- "first-row": (isHeader || !props.header) && row === 0,
139
- "last-row": row === props.values.length - 1,
140
- "first-col": col === 0,
141
- "last-col": col === props.cols.length - 1
142
- };
143
- return keys(res).filter((key) => res[key]);
144
- };
145
- const extraClasses = computed(() => Object.fromEntries(
146
- [...Array(props.values.length + 1).keys()].map((row) => [...Array(props.cols.length).keys()].map((col) => [
147
- `${row - 1}-${col}`,
148
- getExtraClasses(row <= 0 ? 0 : row - 1, col, row === 0).join(" ")
149
- ])).flat()
150
- ));
151
- </script>
152
-
153
- <script>
154
-
155
- </script>
@@ -1,45 +0,0 @@
1
- import { type TableHTMLAttributes } from "vue";
2
- import type { ResizableOptions, TableColConfig } from "../../types/index.js";
3
- import type { TailwindClassProp } from "../shared/props.js";
4
- type T = any;
5
- type RealProps = {
6
- resizable?: Partial<ResizableOptions>;
7
- values?: T[];
8
- itemKey?: keyof T | ((item: T) => string);
9
- /** Let's the table know the shape of the data since values might be empty. */
10
- cols?: (keyof T)[];
11
- rounded?: boolean;
12
- border?: boolean;
13
- cellBorder?: boolean;
14
- header?: boolean;
15
- colConfig?: TableColConfig<T>;
16
- };
17
- interface Props extends
18
- /** @vue-ignore */
19
- Partial<Omit<TableHTMLAttributes, "class" | "readonly" | "disabled"> & TailwindClassProp>, RealProps {
20
- }
21
- declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
22
- props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & Props & {}> & import("vue").PublicProps;
23
- expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
24
- attrs: any;
25
- slots: {
26
- [x: string]: ((props: {
27
- colKey: any;
28
- style: string;
29
- class: string;
30
- }) => any) | undefined;
31
- } & {
32
- [x: string]: ((props: {
33
- class: string;
34
- item: any;
35
- value: any;
36
- }) => any) | undefined;
37
- };
38
- emit: {};
39
- }>) => import("vue").VNode & {
40
- __ctx?: Awaited<typeof __VLS_setup>;
41
- };
42
- export default _default;
43
- type __VLS_PrettifyLocal<T> = {
44
- [K in keyof T as K]: T[K];
45
- } & {};
@@ -1,17 +0,0 @@
1
- declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
2
- modelValue: string;
3
- }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
4
- "update:modelValue": (value: string) => any;
5
- }, string, import("vue").PublicProps, Readonly<{
6
- modelValue: string;
7
- }> & Readonly<{
8
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
9
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
10
- default?: (props: {}) => any;
11
- }>;
12
- export default _default;
13
- type __VLS_WithSlots<T, S> = T & {
14
- new (): {
15
- $slots: S;
16
- };
17
- };
@@ -1,27 +0,0 @@
1
- <template>
2
- <div :class="twMerge(`
3
-
4
- `, $attrs.class)"
5
- v-bind="{ ...$attrs, class: void 0 }"
6
- >
7
- <slot/>
8
- </div>
9
- </template>
10
-
11
- <script setup>
12
- import { ref } from "vue";
13
- import { twMerge } from "../../utils/twMerge.js";
14
- defineOptions({
15
- name: "LibName",
16
- /* todo */
17
- inheritAttrs: false
18
- });
19
- const el = ref(null);
20
- const modelValue = defineModel({ type: String, ...{ required: true } });
21
- </script>
22
-
23
- <script>
24
- export default {
25
- name: "LibName"
26
- };
27
- </script>
@@ -1,17 +0,0 @@
1
- declare const _default: __VLS_WithSlots<import("vue").DefineComponent<{
2
- modelValue: string;
3
- }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
4
- "update:modelValue": (value: string) => any;
5
- }, string, import("vue").PublicProps, Readonly<{
6
- modelValue: string;
7
- }> & Readonly<{
8
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
9
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
10
- default?: (props: {}) => any;
11
- }>;
12
- export default _default;
13
- type __VLS_WithSlots<T, S> = T & {
14
- new (): {
15
- $slots: S;
16
- };
17
- };