@witchcraft/ui 0.3.26 → 0.4.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/README.md +54 -61
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +1 -1
  4. package/dist/runtime/assets/animations.css +1 -1
  5. package/dist/runtime/assets/locales/en.json +2 -0
  6. package/dist/runtime/build/WitchcraftUiResolver.js +2 -2
  7. package/dist/runtime/components/TestControls/TestControls.vue +3 -3
  8. package/dist/runtime/components/WButton/WButton.d.vue.ts +34 -0
  9. package/dist/runtime/components/{LibButton/LibButton.vue → WButton/WButton.vue} +26 -38
  10. package/dist/runtime/components/WButton/WButton.vue.d.ts +34 -0
  11. package/dist/runtime/components/WCheckbox/WCheckbox.d.vue.ts +33 -0
  12. package/dist/runtime/components/WCheckbox/WCheckbox.vue +110 -0
  13. package/dist/runtime/components/WCheckbox/WCheckbox.vue.d.ts +33 -0
  14. package/dist/runtime/components/WColorInput/WColorInput.d.vue.ts +45 -0
  15. package/dist/runtime/components/WColorInput/WColorInput.vue +85 -0
  16. package/dist/runtime/components/WColorInput/WColorInput.vue.d.ts +45 -0
  17. package/dist/runtime/components/WColorInput/WColorSwatchButton.d.vue.ts +28 -0
  18. package/dist/runtime/components/WColorInput/WColorSwatchButton.vue +86 -0
  19. package/dist/runtime/components/WColorInput/WColorSwatchButton.vue.d.ts +28 -0
  20. package/dist/runtime/components/{LibColorPicker/LibColorPicker.d.vue.ts → WColorPicker/WColorPicker.d.vue.ts} +7 -6
  21. package/dist/runtime/components/{LibColorPicker/LibColorPicker.vue → WColorPicker/WColorPicker.vue} +41 -29
  22. package/dist/runtime/components/{LibColorPicker/LibColorPicker.vue.d.ts → WColorPicker/WColorPicker.vue.d.ts} +7 -6
  23. package/dist/runtime/components/WCombobox/WCombobox.d.vue.ts +111 -0
  24. package/dist/runtime/components/WCombobox/WCombobox.vue +405 -0
  25. package/dist/runtime/components/WCombobox/WCombobox.vue.d.ts +111 -0
  26. package/dist/runtime/components/WCombobox/storyPlays.d.ts +18 -0
  27. package/dist/runtime/components/WCombobox/storyPlays.js +68 -0
  28. package/dist/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.d.vue.ts → WDarkModeSwitcher/WDarkModeSwitcher.d.vue.ts} +8 -13
  29. package/dist/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.vue → WDarkModeSwitcher/WDarkModeSwitcher.vue} +11 -14
  30. package/dist/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.vue.d.ts → WDarkModeSwitcher/WDarkModeSwitcher.vue.d.ts} +8 -13
  31. package/dist/runtime/components/WDatePicker/WDatePicker.d.vue.ts +40 -0
  32. package/dist/runtime/components/{LibDatePicker/LibDatePicker.vue → WDatePicker/WDatePicker.vue} +3 -7
  33. package/dist/runtime/components/WDatePicker/WDatePicker.vue.d.ts +40 -0
  34. package/dist/runtime/components/{LibDatePicker/LibRangeDatePicker.vue → WDatePicker/WRangeDatePicker.vue} +21 -21
  35. package/dist/runtime/components/{LibDatePicker/LibSingleDatePicker.vue → WDatePicker/WSingleDatePicker.vue} +21 -21
  36. package/dist/runtime/components/{LibDatePicker/LibTimeZonePicker.d.vue.ts → WDatePicker/WTimeZonePicker.d.vue.ts} +1 -11
  37. package/dist/runtime/components/{LibDatePicker/LibTimeZonePicker.vue → WDatePicker/WTimeZonePicker.vue} +5 -12
  38. package/dist/runtime/components/{LibDatePicker/LibTimeZonePicker.vue.d.ts → WDatePicker/WTimeZonePicker.vue.d.ts} +1 -11
  39. package/dist/runtime/components/{LibDebug/LibDebug.vue → WDebug/WDebug.vue} +10 -12
  40. package/dist/runtime/components/{LibDevOnly/LibDevOnly.d.vue.ts → WDevOnly/WDevOnly.d.vue.ts} +0 -3
  41. package/dist/runtime/components/{LibDevOnly/LibDevOnly.vue.d.ts → WDevOnly/WDevOnly.vue.d.ts} +0 -3
  42. package/dist/runtime/components/WFileInput/WFileInput.d.vue.ts +58 -0
  43. package/dist/runtime/components/{LibFileInput/LibFileInput.vue → WFileInput/WFileInput.vue} +74 -57
  44. package/dist/runtime/components/WFileInput/WFileInput.vue.d.ts +58 -0
  45. package/dist/runtime/components/{Icon/Icon.vue.d.ts → WIcon/WIcon.d.vue.ts} +2 -6
  46. package/dist/runtime/components/{Icon/Icon.vue → WIcon/WIcon.vue} +1 -1
  47. package/dist/runtime/components/{Icon/Icon.d.vue.ts → WIcon/WIcon.vue.d.ts} +2 -6
  48. package/dist/runtime/components/{LibMultiValues/LibMultiValues.d.vue.ts → WMultiValues/WMultiValues.d.vue.ts} +8 -14
  49. package/dist/runtime/components/WMultiValues/WMultiValues.vue +150 -0
  50. package/dist/runtime/components/{LibMultiValues/LibMultiValues.vue.d.ts → WMultiValues/WMultiValues.vue.d.ts} +8 -14
  51. package/dist/runtime/components/WNotifications/WNotification.d.vue.ts +37 -0
  52. package/dist/runtime/components/{LibNotifications/LibNotification.vue → WNotifications/WNotification.vue} +34 -47
  53. package/dist/runtime/components/WNotifications/WNotification.vue.d.ts +37 -0
  54. package/dist/runtime/components/WNotifications/WNotifications.d.vue.ts +11 -0
  55. package/dist/runtime/components/{LibNotifications/LibNotifications.vue → WNotifications/WNotifications.vue} +35 -17
  56. package/dist/runtime/components/WNotifications/WNotifications.vue.d.ts +11 -0
  57. package/dist/runtime/components/WNumberInput/WNumberInput.d.vue.ts +27 -0
  58. package/dist/runtime/components/WNumberInput/WNumberInput.vue +96 -0
  59. package/dist/runtime/components/WNumberInput/WNumberInput.vue.d.ts +27 -0
  60. package/dist/runtime/components/WPagination/WPagination.d.vue.ts +59 -0
  61. package/dist/runtime/components/WPagination/WPagination.vue +182 -0
  62. package/dist/runtime/components/WPagination/WPagination.vue.d.ts +59 -0
  63. package/dist/runtime/components/WPalette/WPalette.d.vue.ts +11 -0
  64. package/dist/runtime/components/{LibPalette/LibPalette.vue → WPalette/WPalette.vue} +3 -8
  65. package/dist/runtime/components/WPalette/WPalette.vue.d.ts +11 -0
  66. package/dist/runtime/components/WPopover/WPopover.d.vue.ts +45 -0
  67. package/dist/runtime/components/WPopover/WPopover.vue +144 -0
  68. package/dist/runtime/components/WPopover/WPopover.vue.d.ts +45 -0
  69. package/dist/runtime/components/WPopup/WPopup.d.vue.ts +51 -0
  70. package/dist/runtime/components/WPopup/WPopup.vue +106 -0
  71. package/dist/runtime/components/WPopup/WPopup.vue.d.ts +51 -0
  72. package/dist/runtime/components/{LibProgressBar/LibProgressBar.d.vue.ts → WProgressBar/WProgressBar.d.vue.ts} +14 -18
  73. package/dist/runtime/components/WProgressBar/WProgressBar.vue +150 -0
  74. package/dist/runtime/components/{LibProgressBar/LibProgressBar.vue.d.ts → WProgressBar/WProgressBar.vue.d.ts} +14 -18
  75. package/dist/runtime/components/{LibRecorder/LibRecorder.d.vue.ts → WRecorder/WRecorder.d.vue.ts} +14 -29
  76. package/dist/runtime/components/{LibRecorder/LibRecorder.vue → WRecorder/WRecorder.vue} +37 -36
  77. package/dist/runtime/components/{LibRecorder/LibRecorder.vue.d.ts → WRecorder/WRecorder.vue.d.ts} +14 -29
  78. package/dist/runtime/components/{LibRoot/LibRoot.d.vue.ts → WRoot/WRoot.d.vue.ts} +6 -5
  79. package/dist/runtime/components/{LibRoot/LibRoot.vue → WRoot/WRoot.vue} +17 -15
  80. package/dist/runtime/components/{LibRoot/LibRoot.vue.d.ts → WRoot/WRoot.vue.d.ts} +6 -5
  81. package/dist/runtime/components/{LibSimpleInput/LibSimpleInput.d.vue.ts → WSimpleInput/WSimpleInput.d.vue.ts} +10 -16
  82. package/dist/runtime/components/{LibSimpleInput/LibSimpleInput.vue → WSimpleInput/WSimpleInput.vue} +14 -24
  83. package/dist/runtime/components/{LibSimpleInput/LibSimpleInput.vue.d.ts → WSimpleInput/WSimpleInput.vue.d.ts} +10 -16
  84. package/dist/runtime/components/WTable/WTable.d.vue.ts +102 -0
  85. package/dist/runtime/components/{LibTable/LibTable.vue → WTable/WTable.vue} +13 -14
  86. package/dist/runtime/components/WTable/WTable.vue.d.ts +102 -0
  87. package/dist/runtime/components/WTooltip/WTooltip.d.vue.ts +40 -0
  88. package/dist/runtime/components/WTooltip/WTooltip.vue +112 -0
  89. package/dist/runtime/components/WTooltip/WTooltip.vue.d.ts +40 -0
  90. package/dist/runtime/components/index.d.ts +20 -20
  91. package/dist/runtime/components/index.js +20 -20
  92. package/dist/runtime/composables/index.d.ts +4 -4
  93. package/dist/runtime/composables/index.js +4 -4
  94. package/dist/runtime/composables/useDelayedLoadingIndicator.d.ts +9 -0
  95. package/dist/runtime/composables/useDelayedLoadingIndicator.js +18 -0
  96. package/dist/runtime/composables/useDisplayForReka.d.ts +25 -0
  97. package/dist/runtime/composables/useDisplayForReka.js +16 -0
  98. package/dist/runtime/composables/useFallbackId.d.ts +3 -0
  99. package/dist/runtime/composables/useFallbackId.js +5 -0
  100. package/dist/runtime/composables/useInjectedDarkMode.d.ts +1 -1
  101. package/dist/runtime/composables/usePopupConstrainToStyle.d.ts +8 -0
  102. package/dist/runtime/composables/usePopupConstrainToStyle.js +8 -0
  103. package/dist/runtime/composables/useSetupDarkMode.d.ts +2 -3
  104. package/dist/runtime/composables/useSetupDarkMode.js +90 -4
  105. package/dist/runtime/helpers/NotificationHandler.d.ts +2 -2
  106. package/dist/runtime/injectionKeys.d.ts +1 -5
  107. package/dist/runtime/injectionKeys.js +0 -2
  108. package/dist/runtime/types/index.d.ts +85 -27
  109. package/dist/runtime/types/index.js +1 -0
  110. package/package.json +1 -1
  111. package/src/module.ts +1 -1
  112. package/src/runtime/assets/animations.css +3 -3
  113. package/src/runtime/assets/locales/en.json +2 -0
  114. package/src/runtime/build/WitchcraftUiResolver.ts +2 -2
  115. package/src/runtime/components/TestControls/TestControls.vue +3 -3
  116. package/src/runtime/components/WButton/WButton.stories.ts +112 -0
  117. package/src/runtime/components/{LibButton/LibButton.vue → WButton/WButton.vue} +34 -50
  118. package/src/runtime/components/{LibCheckbox/LibCheckbox.stories.ts → WCheckbox/WCheckbox.stories.ts} +5 -5
  119. package/src/runtime/components/WCheckbox/WCheckbox.vue +125 -0
  120. package/src/runtime/components/{LibColorInput/LibColorInput.stories.ts → WColorInput/WColorInput.stories.ts} +8 -8
  121. package/src/runtime/components/WColorInput/WColorInput.vue +112 -0
  122. package/src/runtime/components/WColorInput/WColorSwatchButton.vue +102 -0
  123. package/src/runtime/components/{LibColorPicker/LibColorPicker.stories.ts → WColorPicker/WColorPicker.stories.ts} +12 -12
  124. package/src/runtime/components/{LibColorPicker/LibColorPicker.vue → WColorPicker/WColorPicker.vue} +44 -31
  125. package/src/runtime/components/WCombobox/WCombobox.stories.ts +209 -0
  126. package/src/runtime/components/WCombobox/WCombobox.vue +450 -0
  127. package/src/runtime/components/WCombobox/storyPlays.ts +92 -0
  128. package/src/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.stories.ts → WDarkModeSwitcher/WDarkModeSwitcher.stories.ts} +6 -6
  129. package/src/runtime/components/{LibDarkModeSwitcher/LibDarkModeSwitcher.vue → WDarkModeSwitcher/WDarkModeSwitcher.vue} +19 -30
  130. package/src/runtime/components/{LibDatePicker/LibDatePicker.stories.ts → WDatePicker/WDatePicker.stories.ts} +42 -34
  131. package/src/runtime/components/{LibDatePicker/LibDatePicker.vue → WDatePicker/WDatePicker.vue} +3 -7
  132. package/src/runtime/components/{LibDatePicker/LibRangeDatePicker.vue → WDatePicker/WRangeDatePicker.vue} +21 -21
  133. package/src/runtime/components/{LibDatePicker/LibSingleDatePicker.vue → WDatePicker/WSingleDatePicker.vue} +21 -21
  134. package/src/runtime/components/{LibDatePicker/LibTimeZonePicker.vue → WDatePicker/WTimeZonePicker.vue} +5 -12
  135. package/src/runtime/components/{LibDebug/LibDebug.stories.ts → WDebug/WDebug.stories.ts} +5 -5
  136. package/src/runtime/components/{LibDebug/LibDebug.vue → WDebug/WDebug.vue} +9 -10
  137. package/src/runtime/components/{LibDevOnly/LibDevOnly.vue → WDevOnly/WDevOnly.vue} +0 -4
  138. package/src/runtime/components/{LibFileInput/LibFileInput.stories.ts → WFileInput/WFileInput.stories.ts} +7 -7
  139. package/src/runtime/components/{LibFileInput/LibFileInput.vue → WFileInput/WFileInput.vue} +98 -97
  140. package/src/runtime/components/{Icon/Icon.vue → WIcon/WIcon.vue} +5 -8
  141. package/src/runtime/components/{LibMultiValues/LibMultiValues.stories.ts → WMultiValues/WMultiValues.stories.ts} +9 -9
  142. package/src/runtime/components/WMultiValues/WMultiValues.vue +163 -0
  143. package/src/runtime/components/{LibNotifications/LibNotification.stories.ts → WNotifications/WNotification.stories.ts} +9 -9
  144. package/src/runtime/components/{LibNotifications/LibNotification.vue → WNotifications/WNotification.vue} +45 -65
  145. package/src/runtime/components/WNotifications/WNotifications.stories.ts +139 -0
  146. package/src/runtime/components/{LibNotifications/LibNotifications.vue → WNotifications/WNotifications.vue} +51 -29
  147. package/src/runtime/components/WNumberInput/WNumberInput.vue +109 -0
  148. package/src/runtime/components/WPagination/WPagination.stories.ts +51 -0
  149. package/src/runtime/components/WPagination/WPagination.vue +207 -0
  150. package/src/runtime/components/{LibPalette/LibPalette.stories.ts → WPalette/WPalette.stories.ts} +6 -6
  151. package/src/runtime/components/{LibPalette/LibPalette.vue → WPalette/WPalette.vue} +3 -8
  152. package/src/runtime/components/WPopover/WPopover.stories.ts +218 -0
  153. package/src/runtime/components/WPopover/WPopover.vue +168 -0
  154. package/src/runtime/components/WPopup/WPopup.stories.ts +104 -0
  155. package/src/runtime/components/WPopup/WPopup.vue +125 -0
  156. package/src/runtime/components/WProgressBar/WProgressBar.stories.ts +119 -0
  157. package/src/runtime/components/WProgressBar/WProgressBar.vue +185 -0
  158. package/src/runtime/components/{LibRecorder/LibRecorder.stories.ts → WRecorder/WRecorder.stories.ts} +9 -6
  159. package/src/runtime/components/{LibRecorder/LibRecorder.vue → WRecorder/WRecorder.vue} +69 -68
  160. package/src/runtime/components/{LibRoot/LibRoot.vue → WRoot/WRoot.vue} +18 -15
  161. package/src/runtime/components/{LibSimpleInput/LibSimpleInput.stories.ts → WSimpleInput/WSimpleInput.stories.ts} +11 -12
  162. package/src/runtime/components/{LibSimpleInput/LibSimpleInput.vue → WSimpleInput/WSimpleInput.vue} +28 -44
  163. package/src/runtime/components/{LibTable/LibTable.stories.ts → WTable/WTable.stories.ts} +60 -52
  164. package/src/runtime/components/{LibTable/LibTable.vue → WTable/WTable.vue} +85 -88
  165. package/src/runtime/components/WTooltip/WTooltip.stories.ts +82 -0
  166. package/src/runtime/components/WTooltip/WTooltip.vue +128 -0
  167. package/src/runtime/components/index.ts +20 -20
  168. package/src/runtime/composables/index.ts +4 -4
  169. package/src/runtime/composables/useDelayedLoadingIndicator.ts +30 -0
  170. package/src/runtime/composables/useDisplayForReka.ts +37 -0
  171. package/src/runtime/composables/useFallbackId.ts +6 -0
  172. package/src/runtime/composables/useInjectedDarkMode.ts +1 -2
  173. package/src/runtime/composables/usePopupConstrainToStyle.ts +29 -0
  174. package/src/runtime/composables/useSetupDarkMode.ts +122 -4
  175. package/src/runtime/helpers/NotificationHandler.ts +2 -2
  176. package/src/runtime/injectionKeys.ts +1 -7
  177. package/src/runtime/types/index.ts +105 -32
  178. package/types/components.d.ts +14 -15
  179. package/dist/runtime/components/Aria/Aria.d.vue.ts +0 -6
  180. package/dist/runtime/components/Aria/Aria.vue +0 -16
  181. package/dist/runtime/components/Aria/Aria.vue.d.ts +0 -6
  182. package/dist/runtime/components/LibButton/LibButton.d.vue.ts +0 -37
  183. package/dist/runtime/components/LibButton/LibButton.vue.d.ts +0 -37
  184. package/dist/runtime/components/LibCheckbox/LibCheckbox.d.vue.ts +0 -41
  185. package/dist/runtime/components/LibCheckbox/LibCheckbox.vue +0 -103
  186. package/dist/runtime/components/LibCheckbox/LibCheckbox.vue.d.ts +0 -41
  187. package/dist/runtime/components/LibColorInput/LibColorInput.d.vue.ts +0 -64
  188. package/dist/runtime/components/LibColorInput/LibColorInput.vue +0 -162
  189. package/dist/runtime/components/LibColorInput/LibColorInput.vue.d.ts +0 -64
  190. package/dist/runtime/components/LibDatePicker/LibDatePicker.d.vue.ts +0 -191
  191. package/dist/runtime/components/LibDatePicker/LibDatePicker.vue.d.ts +0 -191
  192. package/dist/runtime/components/LibFileInput/LibFileInput.d.vue.ts +0 -46
  193. package/dist/runtime/components/LibFileInput/LibFileInput.vue.d.ts +0 -46
  194. package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.d.vue.ts +0 -256
  195. package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.vue +0 -387
  196. package/dist/runtime/components/LibInputDeprecated/LibInputDeprecated.vue.d.ts +0 -256
  197. package/dist/runtime/components/LibLabel/LibLabel.d.vue.ts +0 -27
  198. package/dist/runtime/components/LibLabel/LibLabel.vue +0 -45
  199. package/dist/runtime/components/LibLabel/LibLabel.vue.d.ts +0 -27
  200. package/dist/runtime/components/LibMultiValues/LibMultiValues.vue +0 -109
  201. package/dist/runtime/components/LibNotifications/LibNotification.d.vue.ts +0 -45
  202. package/dist/runtime/components/LibNotifications/LibNotification.vue.d.ts +0 -45
  203. package/dist/runtime/components/LibNotifications/LibNotifications.d.vue.ts +0 -15
  204. package/dist/runtime/components/LibNotifications/LibNotifications.vue.d.ts +0 -15
  205. package/dist/runtime/components/LibPagination/LibPagination.d.vue.ts +0 -105
  206. package/dist/runtime/components/LibPagination/LibPagination.vue +0 -229
  207. package/dist/runtime/components/LibPagination/LibPagination.vue.d.ts +0 -105
  208. package/dist/runtime/components/LibPalette/LibPalette.d.vue.ts +0 -15
  209. package/dist/runtime/components/LibPalette/LibPalette.vue.d.ts +0 -15
  210. package/dist/runtime/components/LibPopup/LibPopup.d.vue.ts +0 -52
  211. package/dist/runtime/components/LibPopup/LibPopup.vue +0 -365
  212. package/dist/runtime/components/LibPopup/LibPopup.vue.d.ts +0 -52
  213. package/dist/runtime/components/LibProgressBar/LibProgressBar.vue +0 -169
  214. package/dist/runtime/components/LibSuggestions/LibSuggestions.d.vue.ts +0 -99
  215. package/dist/runtime/components/LibSuggestions/LibSuggestions.vue +0 -178
  216. package/dist/runtime/components/LibSuggestions/LibSuggestions.vue.d.ts +0 -99
  217. package/dist/runtime/components/LibTable/LibTable.d.vue.ts +0 -125
  218. package/dist/runtime/components/LibTable/LibTable.vue.d.ts +0 -125
  219. package/dist/runtime/components/Template/NAME.d.vue.ts +0 -18
  220. package/dist/runtime/components/Template/NAME.vue +0 -27
  221. package/dist/runtime/components/Template/NAME.vue.d.ts +0 -18
  222. package/dist/runtime/components/Template/TemplateStory.d.ts +0 -7
  223. package/dist/runtime/components/Template/TemplateStory.js +0 -22
  224. package/dist/runtime/components/shared/props.d.ts +0 -171
  225. package/dist/runtime/components/shared/props.js +0 -2
  226. package/dist/runtime/composables/useAriaLabel.d.ts +0 -6
  227. package/dist/runtime/composables/useAriaLabel.js +0 -15
  228. package/dist/runtime/composables/useDarkMode.d.ts +0 -77
  229. package/dist/runtime/composables/useDarkMode.js +0 -89
  230. package/dist/runtime/composables/useDivideAttrs.d.ts +0 -27
  231. package/dist/runtime/composables/useDivideAttrs.js +0 -27
  232. package/dist/runtime/composables/useSuggestions.d.ts +0 -40
  233. package/dist/runtime/composables/useSuggestions.js +0 -263
  234. package/src/runtime/components/Aria/Aria.vue +0 -26
  235. package/src/runtime/components/LibButton/LibButton.stories.ts +0 -106
  236. package/src/runtime/components/LibCheckbox/LibCheckbox.vue +0 -131
  237. package/src/runtime/components/LibColorInput/LibColorInput.vue +0 -203
  238. package/src/runtime/components/LibInputDeprecated/LibInputDeprecated.stories.ts +0 -405
  239. package/src/runtime/components/LibInputDeprecated/LibInputDeprecated.vue +0 -419
  240. package/src/runtime/components/LibLabel/LibLabel.stories.ts +0 -33
  241. package/src/runtime/components/LibLabel/LibLabel.vue +0 -65
  242. package/src/runtime/components/LibMultiValues/LibMultiValues.vue +0 -123
  243. package/src/runtime/components/LibNotifications/LibNotifications.stories.ts +0 -131
  244. package/src/runtime/components/LibPagination/LibPagination.stories.ts +0 -49
  245. package/src/runtime/components/LibPagination/LibPagination.vue +0 -274
  246. package/src/runtime/components/LibPopup/LibPopup.stories.ts +0 -153
  247. package/src/runtime/components/LibPopup/LibPopup.vue +0 -396
  248. package/src/runtime/components/LibProgressBar/LibProgressBar.stories.ts +0 -90
  249. package/src/runtime/components/LibProgressBar/LibProgressBar.vue +0 -197
  250. package/src/runtime/components/LibSuggestions/LibSuggestions.stories.ts +0 -134
  251. package/src/runtime/components/LibSuggestions/LibSuggestions.vue +0 -212
  252. package/src/runtime/components/Template/NAME.vue +0 -49
  253. package/src/runtime/components/Template/TemplateStory.ts +0 -37
  254. package/src/runtime/components/shared/props.ts +0 -199
  255. package/src/runtime/composables/useAriaLabel.ts +0 -23
  256. package/src/runtime/composables/useDarkMode.ts +0 -199
  257. package/src/runtime/composables/useDivideAttrs.ts +0 -53
  258. package/src/runtime/composables/useSuggestions.ts +0 -339
  259. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToHsva.d.ts +0 -0
  260. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToHsva.js +0 -0
  261. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToRgba.d.ts +0 -0
  262. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToRgba.js +0 -0
  263. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/toLowPrecisionRgbaString.d.ts +0 -0
  264. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/toLowPrecisionRgbaString.js +0 -0
  265. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/truncate.d.ts +0 -0
  266. /package/dist/runtime/components/{LibColorPicker → WColorPicker}/utils/truncate.js +0 -0
  267. /package/dist/runtime/components/{LibDatePicker/LibRangeDatePicker.d.vue.ts → WDatePicker/WRangeDatePicker.d.vue.ts} +0 -0
  268. /package/dist/runtime/components/{LibDatePicker/LibRangeDatePicker.vue.d.ts → WDatePicker/WRangeDatePicker.vue.d.ts} +0 -0
  269. /package/dist/runtime/components/{LibDatePicker/LibSingleDatePicker.d.vue.ts → WDatePicker/WSingleDatePicker.d.vue.ts} +0 -0
  270. /package/dist/runtime/components/{LibDatePicker/LibSingleDatePicker.vue.d.ts → WDatePicker/WSingleDatePicker.vue.d.ts} +0 -0
  271. /package/dist/runtime/components/{LibDatePicker → WDatePicker}/helpers.d.ts +0 -0
  272. /package/dist/runtime/components/{LibDatePicker → WDatePicker}/helpers.js +0 -0
  273. /package/dist/runtime/components/{LibDebug/LibDebug.d.vue.ts → WDebug/WDebug.d.vue.ts} +0 -0
  274. /package/dist/runtime/components/{LibDebug/LibDebug.vue.d.ts → WDebug/WDebug.vue.d.ts} +0 -0
  275. /package/dist/runtime/components/{LibDevOnly/LibDevOnly.vue → WDevOnly/WDevOnly.vue} +0 -0
  276. /package/dist/runtime/components/{LibNotifications/LibNotificationTestMessageComponent.d.vue.ts → WNotifications/WNotificationTestMessageComponent.d.vue.ts} +0 -0
  277. /package/dist/runtime/components/{LibNotifications/LibNotificationTestMessageComponent.vue → WNotifications/WNotificationTestMessageComponent.vue} +0 -0
  278. /package/dist/runtime/components/{LibNotifications/LibNotificationTestMessageComponent.vue.d.ts → WNotifications/WNotificationTestMessageComponent.vue.d.ts} +0 -0
  279. /package/dist/runtime/components/{LibNotifications → WNotifications}/calculateNotificationProgress.d.ts +0 -0
  280. /package/dist/runtime/components/{LibNotifications → WNotifications}/calculateNotificationProgress.js +0 -0
  281. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToHsva.ts +0 -0
  282. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/safeConvertToRgba.ts +0 -0
  283. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/toLowPrecisionRgbaString.ts +0 -0
  284. /package/src/runtime/components/{LibColorPicker → WColorPicker}/utils/truncate.ts +0 -0
  285. /package/src/runtime/components/{LibDatePicker → WDatePicker}/helpers.ts +0 -0
  286. /package/src/runtime/components/{LibNotifications/LibNotificationTestMessageComponent.vue → WNotifications/WNotificationTestMessageComponent.vue} +0 -0
  287. /package/src/runtime/components/{LibNotifications → WNotifications}/calculateNotificationProgress.ts +0 -0
@@ -1,131 +0,0 @@
1
- /* eslint-disable @typescript-eslint/naming-convention */
2
- import { faker } from "@faker-js/faker"
3
- import type { Meta, StoryObj } from "@storybook/vue3"
4
- import { computed, ref } from "vue"
5
-
6
- import LibNotifications from "./LibNotifications.vue"
7
-
8
- import { NotificationHandler } from "../../helpers/NotificationHandler.js"
9
- import * as components from "../index.js"
10
-
11
- const meta: Meta<typeof LibNotifications> = {
12
- component: LibNotifications,
13
- title: "Components/Notifications",
14
- args: {
15
- // @ts-expect-error story only arg
16
- withTitle: true
17
- }
18
- }
19
-
20
- export default meta
21
- type Story = StoryObj<typeof LibNotifications>
22
-
23
- export const Primary: Story = {
24
- render: args => ({
25
- components,
26
- setup() {
27
- const handler = new NotificationHandler({})
28
-
29
- let count = 0
30
-
31
- const withTitle = ref(args.withTitle)
32
- const disableTimeout = ref(false)
33
- const lotsOfText = ref(false)
34
- const paragraphs = `\n Simulating lots of text:\n${faker.lorem.paragraphs(20)}`
35
- const extraText = computed(() => lotsOfText.value ? paragraphs : "")
36
-
37
- const notifyRequiresAction = (options: any) => {
38
- count++
39
- void handler.notify({
40
- title: withTitle.value ? `Notification(${count})` : undefined,
41
- message: `This is a cancellable notification that requires action. Pick an option:${extraText.value}`,
42
- requiresAction: true,
43
- options: ["Ok", "Default Answer", "Cancel"],
44
- default: "Default Answer",
45
- cancellable: true,
46
- ...options
47
- })
48
- }
49
-
50
- const notifyWithDangerousOption = () => {
51
- count++
52
- void handler.notify({
53
- title: withTitle.value ? `Notification(${count})` : undefined,
54
- message: `This is a cancellable notification that has a dangerous option. Pick an option:${extraText.value}`,
55
- options: ["Ok", "Default Answer", "Dangerous Option", "Cancel"],
56
- cancellable: true,
57
- default: "Default Answer",
58
- dangerous: ["Dangerous Option"]
59
- })
60
- }
61
- const notifyNonCancellable = () => {
62
- count++
63
- void handler.notify({
64
- title: withTitle.value ? `Notification(${count})` : undefined,
65
- message: `This is a non-cancellable notification. Pick an option:${extraText.value}`,
66
- options: ["Ok", "Default Answer"],
67
- default: "Default Answer",
68
- cancellable: false
69
- })
70
- }
71
- const notifyNonCancellableRequiresAction = () => {
72
- count++
73
- void handler.notify({
74
- title: withTitle.value ? `Notification(${count})` : undefined,
75
- message: `This is a non-cancellable notification. Pick an option:${extraText.value}`,
76
- requiresAction: true,
77
- options: ["Ok", "Default Answer"],
78
- default: "Default Answer",
79
- cancellable: false
80
- })
81
- }
82
- const notifyTimeoutable = () => {
83
- count++
84
- void handler.notify({
85
- title: withTitle.value ? `Notification(${count})` : undefined,
86
- message: `This is a notification. No action required.${extraText.value}`,
87
- timeout: disableTimeout.value ? false : 5000
88
- })
89
- }
90
- return {
91
- notifyRequiresAction,
92
- notifyTimeoutable,
93
- notifyNonCancellable,
94
- notifyWithDangerousOption,
95
- notifyNonCancellableRequiresAction,
96
- handler,
97
- withTitle,
98
- disableTimeout,
99
- lotsOfText,
100
- args: {
101
- outline: false,
102
- ...args
103
- }
104
- }
105
- },
106
- backgrounds: { disable: true },
107
- // <lib-debug>{{args.handler}}</lib-debug>
108
- template: `
109
- <lib-root :outline="args.outline" :notification-handler="handler">
110
- <lib-button :label="'Notify Timeoutable'" @click="notifyTimeoutable()"></lib-button>
111
- <lib-button :label="'Notify RequiresAction (Cancellable)'" @click="notifyRequiresAction()"></lib-button>
112
- <lib-button :label="'Notify RequiresAction (Cancellable) - Custom Width'" @click="notifyRequiresAction({cancellable:true,notificationProps: {class: 'sm:max-w-[90dvw]'}})"></lib-button>
113
- <lib-button :label="'Notify Non-Cancellable that RequiresAction'" @click="notifyNonCancellableRequiresAction()"></lib-button>
114
- <lib-button :label="'Notify With Dangerous Option (Cancellable)'" @click="notifyWithDangerousOption()"></lib-button>
115
- <lib-button :label="'Notify Non-Cancellable'" @click="notifyNonCancellable()"></lib-button>
116
- <lib-checkbox v-model="lotsOfText">Use lots of text</lib-checkbox>
117
- <lib-checkbox v-model="disableTimeout">Disable Timeout</lib-checkbox>
118
- <lib-checkbox v-model="withTitle">With Title</lib-checkbox>
119
- <lib-notifications :handler="handler" />
120
- History:
121
- <lib-debug>
122
- <template v-for="entry in handler.history">
123
- Message: {{entry.message}}
124
- Resolution: {{entry.resolution}}
125
- <br>
126
- </template>
127
- </lib-debug>
128
- </lib-root>
129
- `
130
- })
131
- }
@@ -1,49 +0,0 @@
1
- /* eslint-disable @typescript-eslint/naming-convention */
2
- import type { Meta, StoryObj } from "@storybook/vue3"
3
- import { ref } from "vue"
4
-
5
- import LibPagination from "./LibPagination.vue"
6
-
7
- import * as components from "../index.js"
8
-
9
- const meta: Meta<typeof LibPagination> = {
10
- component: LibPagination,
11
- title: "Components/Pagination",
12
- args: {
13
- total: 10
14
- }
15
- }
16
-
17
- export default meta
18
- type Story = StoryObj<typeof LibPagination>
19
-
20
- export const Primary: Story = {
21
- render: args => ({
22
- components,
23
- setup() {
24
- const num = ref(1)
25
- const changePage = ($event: any, i: any) => {
26
- $event.preventDefault()
27
- if (i >= 10) num.value = 10
28
- if (i <= 1) num.value = 1
29
- num.value = i
30
- }
31
-
32
- return {
33
- changePage,
34
- args,
35
- num
36
- }
37
- },
38
- template: `
39
- <lib-pagination v-bind="{...args, current: num, route:'#'}">
40
- <template #link="linkProps">
41
- <a v-bind="linkProps" @click="changePage($event, linkProps.i)">{{ linkProps.text ?? linkProps.i }}</a>
42
- </template>
43
- </lib-pagination>
44
- <lib-simple-input :label="'Change Page'" :modelValue="num.toString()" @update:modelValue="num = parseInt($event)" type="number" min="0" :max="args.total">
45
-
46
- </lib-simple-input>
47
- `
48
- })
49
- }
@@ -1,274 +0,0 @@
1
- <template>
2
- <nav
3
- :class="twMerge(`
4
- pagination--wrapper
5
- flex flex-wrap items-center justify-center gap-2
6
- `, ($attrs as any).class)"
7
- role="navigation"
8
- :aria-label="t('pagination.aria')"
9
- >
10
- <slot
11
- v-if="prevLink.i > 0 && prevLink.i !== currentLink.i"
12
- name="link"
13
- :i="prevLink.i"
14
- :href="prevLink.href"
15
- :text="t('pagination.previous-page')"
16
- :aria-label=" t('pagination.aria.go-to-previous-page', { count: prevLink.i })"
17
- :class="`pagination--link ${pageClasses}`"
18
- >
19
- <a
20
- :class="`pagination--link ${pageClasses}`"
21
- :href="prevLink.href"
22
- :aria-label=" t('pagination.aria.go-to-previous-page', { count: prevLink.i })"
23
- />
24
- </slot>
25
- <div class="pagination--spacer flex-1"/>
26
- <slot
27
- v-if="firstLink.i !== currentLink.i"
28
- name="link"
29
- :i="0"
30
- :href="firstLink.href"
31
- :text="firstLink.i"
32
- :aria-label="t('pagination.aria.go-to-page', { count: firstLink.i })"
33
- :class="`pagination--link pagination--first-link ${pageClasses}`"
34
- >
35
- {{ firstLink.href }}
36
- <a
37
- :class="`pagination--link pagination--first-link ${pageClasses}`"
38
- :href="firstLink.href"
39
- :aria-label="t('pagination.aria.go-to-page', { count: firstLink.i })"
40
- >
41
- {{ firstLink.i }}
42
- </a>
43
- </slot>
44
- <div
45
- v-if="prevLink.i - extraPages > firstLink.i"
46
- class="pagination--page-fill"
47
- >
48
- ...
49
- </div>
50
- <template
51
- v-for="entry in extraPagesPrev"
52
- :key="entry.i"
53
- >
54
- <slot
55
- name="link"
56
- :class="`pagination--link ${pageClasses}`"
57
- :i="entry.i"
58
- :href="entry.href"
59
- :aria-label="t('pagination.aria.go-to-page', { count: entry.i })"
60
- >
61
- <a
62
- :class="`pagination--link ${pageClasses}`"
63
- :href="entry.href"
64
- :aria-label="t('pagination.aria.go-to-page', { count: entry.i })"
65
- >
66
- {{ entry.i }}
67
- </a>
68
- </slot>
69
- </template>
70
- <slot
71
- name="current"
72
- :class="`pagination--link ${currentPageClasses}`"
73
- tabindex="0"
74
- :i="currentLink.i"
75
- :aria-label="t('pagination.aria.current-page', { count: currentLink.i })"
76
- :aria_current="true"
77
- >
78
- <div
79
- :class="`pagination--current-page a ${currentPageClasses}`"
80
- tabindex="0"
81
- :aria-label="t('pagination.aria.current-page', { count: currentLink.i })"
82
- aria-current="true"
83
- @click="$event.preventDefault()"
84
- >
85
- {{ currentLink.i }}
86
- </div>
87
- </slot>
88
- <template
89
- v-for="entry in extraPagesNext"
90
- :key="entry.i"
91
- >
92
- <slot
93
- name="link"
94
- :class="`pagination--link ${pageClasses}`"
95
- :i="entry.i"
96
- :href="entry.href"
97
- :aria-label="t('pagination.aria.go-to-page', { count: entry.i })"
98
- >
99
- <a
100
- :class="`pagination--link ${pageClasses}`"
101
- :href="entry.href"
102
- :aria-label="t('pagination.aria.go-to-page', { count: entry.i })"
103
- >
104
- {{ entry.i }}
105
- </a>
106
- </slot>
107
- </template>
108
- <div
109
- v-if="nextLink.i + extraPages < total"
110
- class="pagination--page-fill"
111
- aria-hidden="true"
112
- >
113
- ...
114
- </div>
115
- <slot
116
- v-if="lastLink.i !== currentLink.i"
117
- name="link"
118
- :class="`pagination--link ${pageClasses}`"
119
- :i="lastLink.i"
120
- :href="lastLink.href"
121
- :text="total"
122
- :aria-label="t('pagination.aria.go-to-page', { count: lastLink.i })"
123
- >
124
- <a
125
- :class="`pagination--link ${pageClasses}`"
126
- :href="lastLink.href"
127
- :aria-label="t('pagination.aria.go-to-page', { count: lastLink.i })"
128
- >
129
- {{ total }}
130
- </a>
131
- </slot>
132
- <div class="pagination--spacer flex-1"/>
133
- <slot
134
- v-if="nextLink.i <= total && nextLink.i !== currentLink.i"
135
- :class="`pagination--link ${pageClasses}`"
136
- name="link"
137
- :i="nextLink.i"
138
- :href="nextLink.href"
139
- :text="t('pagination.next-page')"
140
- :aria-label="t('pagination.aria.go-to-next-page', { count: nextLink.i })"
141
- >
142
- <a
143
- :class="`pagination--link ${pageClasses}`"
144
- :href="nextLink.href"
145
- :aria-label="t('pagination.aria.go-to-next-page', { count: nextLink.i })"
146
- >
147
- Next
148
- </a>
149
- </slot>
150
- </nav>
151
- </template>
152
-
153
- <script setup lang="ts">
154
- import { computed, type HTMLAttributes, useAttrs, watch } from "vue"
155
-
156
- import { useInjectedI18n } from "../../composables/useInjectedI18n.js"
157
- import { twMerge } from "../../utils/twMerge.js"
158
- import type { TailwindClassProp } from "../shared/props.js"
159
-
160
- const t = useInjectedI18n()
161
-
162
- const commonClasses = `
163
- block
164
- focus-outline
165
- border-b-2
166
- border-transparent
167
- transition-all
168
- outlined:rounded-sm
169
- `
170
- const pageClasses = `
171
- ${commonClasses}
172
- focus-outline
173
- hover:text-accent-600
174
- hover:border-b-accent-500
175
- hover:scale-125
176
- `
177
-
178
- const currentPageClasses = `
179
- ${commonClasses}
180
- border-b-accent-500
181
- scale-125
182
- `
183
- defineOptions({
184
- name: "LibPagination",
185
- inheritAttrs: false
186
- })
187
-
188
- const props = withDefaults(defineProps<Props>(), {
189
- customRoute: (route: string, i: number) => {
190
- if (i === 0 || i === 1) {
191
- const num = 1
192
- return { href: route, i: num }
193
- }
194
- return { href: route + i.toString(), i }
195
- },
196
- extraPages: 3
197
- })
198
- const $attrs = useAttrs()
199
-
200
- const currentLink = computed(() => props.customRoute(props.route, props.current))
201
- const currentIsInvalid = computed(() => currentLink.value.i < 0 || currentLink.value.i > props.total)
202
-
203
- watch(() => currentIsInvalid.value, () => {
204
- if (currentIsInvalid.value) {
205
- throw new Error(`Current page is out of range: 0 - ${props.total}`)
206
- }
207
- })
208
-
209
- const prevLink = computed(() => props.customRoute(props.route, props.current - 1))
210
-
211
- const nextLink = computed(() => {
212
- const maybeNextLink = props.customRoute(props.route, props.current + 1)
213
- if (maybeNextLink.i === currentLink.value.i) {
214
- return props.customRoute(props.route, props.current + 2)
215
- }
216
- return maybeNextLink
217
- })
218
-
219
- const firstLink = computed(() => props.customRoute(props.route, 0))
220
- const lastLink = computed(() => props.customRoute(props.route, props.total))
221
-
222
- type HrefInfo = { href: string, i: number }
223
- const extraPagesPrev = computed(() => [...Array(props.extraPages)].map((_, _i) => {
224
- const num = currentLink.value.i - (props.extraPages - _i)
225
- if (num <= firstLink.value.i || num >= lastLink.value.i || num >= currentLink.value.i) return undefined
226
- return props.customRoute(props.route, num)
227
- }).filter(entry => entry !== undefined) as HrefInfo[])
228
-
229
- const extraPagesNext = computed(() => [...Array(props.extraPages + 1)].map((_, i) => {
230
- const num = currentLink.value.i + i
231
- if (num <= firstLink.value.i || num >= lastLink.value.i || num <= currentLink.value.i) return undefined
232
- return props.customRoute(props.route, num)
233
- }).filter(entry => entry !== undefined).slice(0, props.extraPages) as HrefInfo[])
234
- </script>
235
-
236
- <script lang="ts">
237
- /**
238
- * Pagination component.
239
- *
240
- * Can be passed a slot like so to use a custom link element (like NuxtLink):
241
- * ```vue
242
- * <template #link="{ href, i, text, ariaLabel, ariaCurrent}">
243
- * <NuxtLink :to="href" :aria-label="ariaLabel" :aria-current="ariaCurrent ?? false">{{ text ?? i }}</NuxtLink>
244
- * </template>
245
- * ```
246
- */
247
- export default {
248
- name: "LibPagination"
249
- }
250
- type RealProps = {
251
- /** The total number of pages. */
252
- total: number
253
- /** The number of the current page. It must be valid, between 0 - total or the component will throw an error. */
254
- current: number
255
- /** The base route/link path for the page. Should end with a forward slash `/`. */
256
- route: string
257
- /**
258
- * A function to customize the output href and page link number. By default, page 0 is page 1, page 1 is 1, then everything else is normal.
259
- *
260
- * This is because usually we have routes like: `/page/1`, `/page/2`, not `/page/0`.
261
- *
262
- * You can use this function to customize things further. For example, make `/page/1` just `/`
263
- */
264
- customRoute?: (route: string, i: number) => { i: number, href: string }
265
- /** How many extra pages to show to each side of the current page. */
266
- extraPages?: number
267
- }
268
- interface Props
269
- extends
270
- /** @vue-ignore */
271
- Partial<Omit<HTMLAttributes, "class"> & TailwindClassProp>,
272
- RealProps
273
- {}
274
- </script>
@@ -1,153 +0,0 @@
1
- /* eslint-disable @typescript-eslint/naming-convention */
2
- import type { Meta, StoryObj } from "@storybook/vue3"
3
- import { computed, ref, watch } from "vue"
4
-
5
- import LibPopup from "./LibPopup.vue"
6
-
7
- import { vExtractRootEl } from "../../directives/vExtractRootEl.js"
8
- import * as components from "../index.js"
9
-
10
- const meta: Meta<typeof LibPopup> = {
11
- component: LibPopup,
12
- title: "Components/Popup",
13
- args: {
14
-
15
- }
16
- }
17
-
18
- export default meta
19
- type Story = StoryObj<typeof LibPopup>
20
-
21
- export const Primary: Story = {
22
- render: args => ({
23
- components,
24
- directives: { extractRootEl: vExtractRootEl },
25
- setup: () => {
26
- const value = ref(false)
27
- const buttonPositions = ["TL", "TC", "TR", "BL", "BC", "BR"] as const
28
- const buttonPos = ref<typeof buttonPositions[number]>("TL")
29
- const autoRotatePos = ref(true)
30
- const buttonStyle = computed(() => {
31
- switch (buttonPos.value) {
32
- case "TL": return `align-self: flex-start; justify-self: flex-start;`
33
- case "TC": return `align-self: flex-start; justify-self: center;`
34
- case "TR": return `align-self: flex-start; justify-self: flex-end;`
35
- case "BL": return `align-self: flex-end; justify-self: flex-start;`
36
- case "BC": return `align-self: flex-end; justify-self: center;`
37
- case "BR": return `align-self: flex-end; justify-self: flex-end;`
38
- default: return ""
39
- }
40
- })
41
-
42
- watch(value, () => {
43
- if (!value.value && autoRotatePos.value) {
44
- const buttonI = buttonPositions.indexOf(buttonPos.value)
45
- if (buttonI < 5) { buttonPos.value = buttonPositions[buttonI + 1] } else {
46
- buttonPos.value = buttonPositions[0]
47
- }
48
- }
49
- })
50
-
51
- return {
52
- args,
53
- buttonPos,
54
- autoRotatePos,
55
- buttonStyle,
56
- value
57
- }
58
- },
59
- template: `
60
- <lib-simple-input
61
- :suggestions="['TL', 'TR', 'BL', 'BR']"
62
- :restrict-to-suggestions="true"
63
- :suggestions-filter="(_, items) => items"
64
- :label="'Button Position'"
65
- v-model="buttonPos"
66
- >
67
- </lib-simple-input>
68
- <div>
69
- <label>Auto Rotate Position</label>
70
- <input type="checkbox" v-model="autoRotatePos">
71
- </div>
72
- <div class="test bg-transparency-squares" style="display:grid;height:80vh;padding:50px;border:1px solid black;">
73
-
74
- <lib-popup v-model="value" v-bind="{ ...args, width:undefined, }" >
75
- {{value}}
76
- <template #button="{extractEl}">
77
- <lib-button :style="buttonStyle" @click="value = !value" v-extract-root-el="extractEl">Toggle Popup</lib-button>
78
- </template>
79
- <template #popup="{position, extractEl}">
80
- <lib-debug
81
- v-extract-root-el="extractEl"
82
- :style="(args.width ? \`width: \${args.width};\` : '') + (args.height ? \`height: \${args.height};\` : '')"
83
- class="bg-bg dark:bg-fg w-[500px]"
84
- >
85
- {{ position }}
86
- </lib-debug>
87
- </template>
88
- </lib-popup>
89
- </div>
90
- `
91
- })
92
- }
93
- export const PopupNoShift = {
94
- ...Primary,
95
- args: {
96
- avoidRepositioning: true
97
-
98
- }
99
- }
100
- /** When the popup is too wide, it's positioned to the left and overflow scroll is set with an invisible scrollbar. */
101
- export const PopupTooBig = {
102
- ...Primary,
103
- args: {
104
- width: "110vw"
105
- }
106
- }
107
- export const PopupCenterScreen = {
108
- ...Primary,
109
- args: {
110
- width: "500px",
111
- height: "500px",
112
- preferredHorizontal: ["center-screen"],
113
- preferredVertical: ["center-screen"]
114
- }
115
- }
116
- export const PopupRightBottomMost = {
117
- ...Primary,
118
- args: {
119
- width: "500px",
120
- height: "500px",
121
- preferredHorizontal: ["right-most"],
122
- preferredVertical: ["bottom-most"]
123
- }
124
- }
125
- export const PopupLeftTopMost = {
126
- ...Primary,
127
- args: {
128
- width: "500px",
129
- height: "500px",
130
- preferredHorizontal: ["left-most"],
131
- preferredVertical: ["top-most"]
132
- }
133
- }
134
-
135
- export const PopupCenterMost = {
136
- ...Primary,
137
- args: {
138
- width: "500px",
139
- height: "500px",
140
- preferredHorizontal: ["center-most"],
141
- preferredVertical: ["center-most"]
142
- }
143
- }
144
- export const LeftMenuShapeExample = {
145
- ...Primary,
146
- args: {
147
- width: "300px",
148
- height: "500px",
149
- preferredHorizontal: ["left-most"],
150
- preferredVertical: ["center-most"],
151
- avoidRepositioning: true
152
- }
153
- }