@gradient-ui/core 0.2.0

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 (296) hide show
  1. package/README.md +272 -0
  2. package/dist/GLoading.vue_vue_type_style_index_0_lang-CqbeZChH.cjs +1 -0
  3. package/dist/GLoading.vue_vue_type_style_index_0_lang-DDqJEYGf.js +691 -0
  4. package/dist/GSwitch.vue_vue_type_script_setup_true_lang-Bufs8uqY.js +5633 -0
  5. package/dist/GSwitch.vue_vue_type_script_setup_true_lang-CH9jX5W1.cjs +4 -0
  6. package/dist/camelToKebabCase-BAESShJ1.cjs +1 -0
  7. package/dist/camelToKebabCase-KgkZ7-1F.js +28 -0
  8. package/dist/components.cjs +1 -0
  9. package/dist/components.mjs +68 -0
  10. package/dist/default-585QCoXx.js +3990 -0
  11. package/dist/default-BcPApP1Q.cjs +318 -0
  12. package/dist/defaults-BlTdRhHs.cjs +1 -0
  13. package/dist/defaults-DMi34V8q.js +51 -0
  14. package/dist/directives.cjs +1 -0
  15. package/dist/directives.mjs +9 -0
  16. package/dist/icon-0-mbYGMr.cjs +1 -0
  17. package/dist/icon-BrFRYYf3.js +66 -0
  18. package/dist/index-B3_n44N_.cjs +1 -0
  19. package/dist/index-BtCLucTD.js +66 -0
  20. package/dist/index-Cs3XQ3JB.js +97 -0
  21. package/dist/index-DN5ngVtp.cjs +1 -0
  22. package/dist/index.cjs +1 -0
  23. package/dist/index.mjs +134 -0
  24. package/dist/mask-BgaDaVWU.js +816 -0
  25. package/dist/mask-pzGv8apS.cjs +1 -0
  26. package/dist/services.cjs +1 -0
  27. package/dist/services.mjs +5 -0
  28. package/dist/style.css +1 -0
  29. package/dist/theme.cjs +1 -0
  30. package/dist/theme.mjs +11 -0
  31. package/dist/types/components/GGroup/GGroup.vue.d.ts +22 -0
  32. package/dist/types/components/GGroup/index.d.ts +1 -0
  33. package/dist/types/components/GGroup/types.d.ts +0 -0
  34. package/dist/types/components/index.d.ts +39 -0
  35. package/dist/types/components/transitions/GExpandTransition.vue.d.ts +240 -0
  36. package/dist/types/components/transitions/GTransition.vue.d.ts +240 -0
  37. package/dist/types/components/transitions/GTransitionGroup.vue.d.ts +224 -0
  38. package/dist/types/components/transitions/TransitionExpansion.vue.d.ts +24 -0
  39. package/dist/types/components/transitions/TransitionOverlay.vue.d.ts +21 -0
  40. package/dist/types/components/transitions/TransitionRotate.vue.d.ts +17 -0
  41. package/dist/types/components/transitions/TransitionScale.vue.d.ts +21 -0
  42. package/dist/types/components/transitions/TransitionStaggerTranslate.vue.d.ts +17 -0
  43. package/dist/types/components/transitions/index.d.ts +3 -0
  44. package/dist/types/components/ui/BaseFloating/BaseFloating.vue.d.ts +245 -0
  45. package/dist/types/components/ui/BaseFloating/index.d.ts +1 -0
  46. package/dist/types/components/ui/BaseFloating/types.d.ts +0 -0
  47. package/dist/types/components/ui/BaseOverlay/BaseOverlay.vue.d.ts +237 -0
  48. package/dist/types/components/ui/BaseOverlay/index.d.ts +1 -0
  49. package/dist/types/components/ui/BaseOverlay/types.d.ts +108 -0
  50. package/dist/types/components/ui/GAction/GAction.vue.d.ts +2 -0
  51. package/dist/types/components/ui/GAction/index.d.ts +1 -0
  52. package/dist/types/components/ui/GAction/types.d.ts +33 -0
  53. package/dist/types/components/ui/GAlert/GAlert.vue.d.ts +96 -0
  54. package/dist/types/components/ui/GAlert/index.d.ts +1 -0
  55. package/dist/types/components/ui/GAlert/types.d.ts +52 -0
  56. package/dist/types/components/ui/GAside/GAside.vue.d.ts +46 -0
  57. package/dist/types/components/ui/GAside/GAsideGroup.vue.d.ts +28 -0
  58. package/dist/types/components/ui/GAside/GAsideItem.vue.d.ts +35 -0
  59. package/dist/types/components/ui/GAside/context.d.ts +15 -0
  60. package/dist/types/components/ui/GAside/groupContext.d.ts +7 -0
  61. package/dist/types/components/ui/GAside/index.d.ts +4 -0
  62. package/dist/types/components/ui/GAside/types.d.ts +262 -0
  63. package/dist/types/components/ui/GBadge/GBadge.vue.d.ts +126 -0
  64. package/dist/types/components/ui/GBadge/index.d.ts +2 -0
  65. package/dist/types/components/ui/GBadge/types.d.ts +75 -0
  66. package/dist/types/components/ui/GButton/GButton.vue.d.ts +496 -0
  67. package/dist/types/components/ui/GButton/index.d.ts +2 -0
  68. package/dist/types/components/ui/GButton/types.d.ts +276 -0
  69. package/dist/types/components/ui/GCheckControl/GCheckControl.vue.d.ts +248 -0
  70. package/dist/types/components/ui/GCheckControl/GCheckGroup.vue.d.ts +190 -0
  71. package/dist/types/components/ui/GCheckControl/GCheckIndicator.vue.d.ts +21 -0
  72. package/dist/types/components/ui/GCheckControl/index.d.ts +3 -0
  73. package/dist/types/components/ui/GCheckbox/GCheckbox.vue.d.ts +228 -0
  74. package/dist/types/components/ui/GCheckbox/index.d.ts +2 -0
  75. package/dist/types/components/ui/GCheckbox/types.d.ts +1 -0
  76. package/dist/types/components/ui/GCheckboxGroup/GCheckboxGroup.vue.d.ts +24 -0
  77. package/dist/types/components/ui/GCheckboxGroup/index.d.ts +2 -0
  78. package/dist/types/components/ui/GCheckboxGroup/types.d.ts +12 -0
  79. package/dist/types/components/ui/GChip/GChip.vue.d.ts +463 -0
  80. package/dist/types/components/ui/GChip/index.d.ts +2 -0
  81. package/dist/types/components/ui/GChip/types.d.ts +257 -0
  82. package/dist/types/components/ui/GDrawer/GDrawer.vue.d.ts +435 -0
  83. package/dist/types/components/ui/GDrawer/index.d.ts +2 -0
  84. package/dist/types/components/ui/GDrawer/types.d.ts +205 -0
  85. package/dist/types/components/ui/GDropdown/GDropdown.vue.d.ts +426 -0
  86. package/dist/types/components/ui/GDropdown/index.d.ts +1 -0
  87. package/dist/types/components/ui/GDropdown/types.d.ts +208 -0
  88. package/dist/types/components/ui/GDropdownGroup/GDropdownGroup.vue.d.ts +29 -0
  89. package/dist/types/components/ui/GDropdownGroup/index.d.ts +2 -0
  90. package/dist/types/components/ui/GDropdownGroup/types.d.ts +10 -0
  91. package/dist/types/components/ui/GDropdownSelect/GDropdownSelect.vue.d.ts +17 -0
  92. package/dist/types/components/ui/GDropdownSelect/index.d.ts +0 -0
  93. package/dist/types/components/ui/GDropdownSelect/types.d.ts +14 -0
  94. package/dist/types/components/ui/GExpansion/GExpansion.vue.d.ts +74 -0
  95. package/dist/types/components/ui/GExpansion/index.d.ts +1 -0
  96. package/dist/types/components/ui/GExpansion/types.d.ts +217 -0
  97. package/dist/types/components/ui/GExpansionGroup/GExpansionGroup.vue.d.ts +32 -0
  98. package/dist/types/components/ui/GExpansionGroup/index.d.ts +1 -0
  99. package/dist/types/components/ui/GExpansionGroup/types.d.ts +58 -0
  100. package/dist/types/components/ui/GFAB/GFAB.vue.d.ts +208 -0
  101. package/dist/types/components/ui/GFAB/index.d.ts +1 -0
  102. package/dist/types/components/ui/GFAB/types.d.ts +128 -0
  103. package/dist/types/components/ui/GFieldBase/GFieldBase.vue.d.ts +243 -0
  104. package/dist/types/components/ui/GFieldBase/props.d.ts +187 -0
  105. package/dist/types/components/ui/GGradient/GGradient.vue.d.ts +269 -0
  106. package/dist/types/components/ui/GGradient/index.d.ts +1 -0
  107. package/dist/types/components/ui/GGradient/types.d.ts +14 -0
  108. package/dist/types/components/ui/GIcon/GIcon.vue.d.ts +31 -0
  109. package/dist/types/components/ui/GIcon/index.d.ts +2 -0
  110. package/dist/types/components/ui/GIcon/sets/MdiIconSet.vue.d.ts +3 -0
  111. package/dist/types/components/ui/GIcon/types.d.ts +24 -0
  112. package/dist/types/components/ui/GIcon.vue.d.ts +6 -0
  113. package/dist/types/components/ui/GInput/GInput.vue.d.ts +267 -0
  114. package/dist/types/components/ui/GInput/SwitchPassword.vue.d.ts +9 -0
  115. package/dist/types/components/ui/GInput/index.d.ts +2 -0
  116. package/dist/types/components/ui/GInput/types.d.ts +8 -0
  117. package/dist/types/components/ui/GLoading/GLoading.vue.d.ts +134 -0
  118. package/dist/types/components/ui/GLoading/types.d.ts +62 -0
  119. package/dist/types/components/ui/GMenu/GMenu.vue.d.ts +93 -0
  120. package/dist/types/components/ui/GMenu/GSubmenu.vue.d.ts +269 -0
  121. package/dist/types/components/ui/GMenu/index.d.ts +1 -0
  122. package/dist/types/components/ui/GMenu/types.d.ts +0 -0
  123. package/dist/types/components/ui/GMenuItem/GMenuItem.vue.d.ts +181 -0
  124. package/dist/types/components/ui/GMenuItem/index.d.ts +0 -0
  125. package/dist/types/components/ui/GMenuItem/types.d.ts +93 -0
  126. package/dist/types/components/ui/GModal/GModal.vue.d.ts +426 -0
  127. package/dist/types/components/ui/GModal/index.d.ts +2 -0
  128. package/dist/types/components/ui/GModal/types.d.ts +198 -0
  129. package/dist/types/components/ui/GNavList/GNavGroup.vue.d.ts +28 -0
  130. package/dist/types/components/ui/GNavList/GNavItem.vue.d.ts +35 -0
  131. package/dist/types/components/ui/GNavList/GNavList.vue.d.ts +38 -0
  132. package/dist/types/components/ui/GNavList/context.d.ts +15 -0
  133. package/dist/types/components/ui/GNavList/groupContext.d.ts +7 -0
  134. package/dist/types/components/ui/GNavList/index.d.ts +4 -0
  135. package/dist/types/components/ui/GNavList/types.d.ts +238 -0
  136. package/dist/types/components/ui/GNavbar/GNavbar.vue.d.ts +34 -0
  137. package/dist/types/components/ui/GNavbar/GNavbarItem.vue.d.ts +39 -0
  138. package/dist/types/components/ui/GNavbar/GNavbarMenu.vue.d.ts +41 -0
  139. package/dist/types/components/ui/GNavbar/GNavbarSubItem.vue.d.ts +40 -0
  140. package/dist/types/components/ui/GNavbar/context.d.ts +17 -0
  141. package/dist/types/components/ui/GNavbar/index.d.ts +5 -0
  142. package/dist/types/components/ui/GNavbar/menuContext.d.ts +9 -0
  143. package/dist/types/components/ui/GNavbar/types.d.ts +330 -0
  144. package/dist/types/components/ui/GProgress/GProgress.vue.d.ts +181 -0
  145. package/dist/types/components/ui/GProgress/index.d.ts +1 -0
  146. package/dist/types/components/ui/GProgress/types.d.ts +108 -0
  147. package/dist/types/components/ui/GQuickActions/GQuickActions.vue.d.ts +46 -0
  148. package/dist/types/components/ui/GQuickActions/index.d.ts +2 -0
  149. package/dist/types/components/ui/GQuickActions/types.d.ts +19 -0
  150. package/dist/types/components/ui/GRadio/GRadio.vue.d.ts +24 -0
  151. package/dist/types/components/ui/GRadio/GRadioItem.vue.d.ts +32 -0
  152. package/dist/types/components/ui/GRadio/index.d.ts +3 -0
  153. package/dist/types/components/ui/GRadio/types.d.ts +12 -0
  154. package/dist/types/components/ui/GSelect/GSelect.vue.d.ts +29 -0
  155. package/dist/types/components/ui/GSelect/index.d.ts +2 -0
  156. package/dist/types/components/ui/GSelect/types.d.ts +32 -0
  157. package/dist/types/components/ui/GSelectItem.vue.d.ts +47 -0
  158. package/dist/types/components/ui/GSnackbar/GSnackbar.vue.d.ts +326 -0
  159. package/dist/types/components/ui/GSnackbar/index.d.ts +2 -0
  160. package/dist/types/components/ui/GSnackbar/types.d.ts +168 -0
  161. package/dist/types/components/ui/GSquircle/GSquircle.vue.d.ts +25 -0
  162. package/dist/types/components/ui/GSquircle/index.d.ts +1 -0
  163. package/dist/types/components/ui/GSquircle/types.d.ts +14 -0
  164. package/dist/types/components/ui/GSwitch/GSwitch.vue.d.ts +228 -0
  165. package/dist/types/components/ui/GSwitch/index.d.ts +2 -0
  166. package/dist/types/components/ui/GSwitch/types.d.ts +1 -0
  167. package/dist/types/components/ui/GTabs/GTab.vue.d.ts +27 -0
  168. package/dist/types/components/ui/GTabs/GTabList.vue.d.ts +38 -0
  169. package/dist/types/components/ui/GTabs/GTabPanel.vue.d.ts +20 -0
  170. package/dist/types/components/ui/GTabs/GTabPanels.vue.d.ts +36 -0
  171. package/dist/types/components/ui/GTabs/GTabs.vue.d.ts +40 -0
  172. package/dist/types/components/ui/GTabs/context.d.ts +28 -0
  173. package/dist/types/components/ui/GTabs/index.d.ts +6 -0
  174. package/dist/types/components/ui/GTabs/types.d.ts +214 -0
  175. package/dist/types/components/ui/GText/GText.vue.d.ts +17 -0
  176. package/dist/types/components/ui/GText/index.d.ts +1 -0
  177. package/dist/types/components/ui/GText/types.d.ts +8 -0
  178. package/dist/types/components/ui/GTextarea/GTextarea.vue.d.ts +234 -0
  179. package/dist/types/components/ui/GTextarea/index.d.ts +2 -0
  180. package/dist/types/components/ui/GTextarea/types.d.ts +6 -0
  181. package/dist/types/components/ui/GToggleButton/GToggleButton.vue.d.ts +303 -0
  182. package/dist/types/components/ui/GToggleButton/index.d.ts +2 -0
  183. package/dist/types/components/ui/GToggleButton/types.d.ts +173 -0
  184. package/dist/types/components/ui/GTooltip/GTooltip.vue.d.ts +359 -0
  185. package/dist/types/components/ui/GTooltip/index.d.ts +1 -0
  186. package/dist/types/components/ui/GTooltip/types.d.ts +179 -0
  187. package/dist/types/directives/gradientIcon.d.ts +4 -0
  188. package/dist/types/directives/gradientText.d.ts +17 -0
  189. package/dist/types/directives/index.d.ts +11 -0
  190. package/dist/types/directives/loading.d.ts +19 -0
  191. package/dist/types/directives/mask.d.ts +13 -0
  192. package/dist/types/directives/ripple.d.ts +30 -0
  193. package/dist/types/directives/tooltip.d.ts +10 -0
  194. package/dist/types/index.d.ts +21 -0
  195. package/dist/types/services/index.d.ts +2 -0
  196. package/dist/types/services/useLoading.d.ts +8 -0
  197. package/dist/types/services/useSnackbar.d.ts +22 -0
  198. package/dist/types/theme/changeTone.d.ts +1 -0
  199. package/dist/types/theme/colorPallete.d.ts +2 -0
  200. package/dist/types/theme/colorSeeds.d.ts +21 -0
  201. package/dist/types/theme/default.d.ts +97 -0
  202. package/dist/types/theme/generateColors.d.ts +1 -0
  203. package/dist/types/theme/generateGradient.d.ts +9 -0
  204. package/dist/types/theme/getComplementaryColor.d.ts +1 -0
  205. package/dist/types/theme/index.d.ts +1 -0
  206. package/dist/types/types/Colors.d.ts +2 -0
  207. package/dist/types/types/CommonTypes.d.ts +26 -0
  208. package/dist/types/types/UtilityTypes.d.ts +2 -0
  209. package/dist/types/use/PLA.d.ts +101 -0
  210. package/dist/types/use/actionProps.d.ts +38 -0
  211. package/dist/types/use/actionSurface.d.ts +123 -0
  212. package/dist/types/use/appendTarget.d.ts +4 -0
  213. package/dist/types/use/bodyScrollLock.d.ts +2 -0
  214. package/dist/types/use/booleanProp.d.ts +2 -0
  215. package/dist/types/use/breakpoints/index.d.ts +27 -0
  216. package/dist/types/use/check/booleanControl.d.ts +61 -0
  217. package/dist/types/use/check/groupFocus.d.ts +17 -0
  218. package/dist/types/use/check/index.d.ts +6 -0
  219. package/dist/types/use/check/optionGroup.d.ts +34 -0
  220. package/dist/types/use/check/selection.d.ts +2 -0
  221. package/dist/types/use/check/types.d.ts +496 -0
  222. package/dist/types/use/color.d.ts +20 -0
  223. package/dist/types/use/colorResolver.d.ts +6 -0
  224. package/dist/types/use/controllableOpen.d.ts +10 -0
  225. package/dist/types/use/defaults.d.ts +12 -0
  226. package/dist/types/use/disabled.d.ts +12 -0
  227. package/dist/types/use/dropdownContext.d.ts +9 -0
  228. package/dist/types/use/expansion/controller.d.ts +12 -0
  229. package/dist/types/use/expansion/di.d.ts +5 -0
  230. package/dist/types/use/expansion/index.d.ts +3 -0
  231. package/dist/types/use/expansion/types.d.ts +11 -0
  232. package/dist/types/use/floating.d.ts +120 -0
  233. package/dist/types/use/floatingDismiss.d.ts +10 -0
  234. package/dist/types/use/floatingLayer.d.ts +12 -0
  235. package/dist/types/use/floatingTrigger.d.ts +27 -0
  236. package/dist/types/use/focused.d.ts +12 -0
  237. package/dist/types/use/form/control.d.ts +17 -0
  238. package/dist/types/use/form/props.d.ts +69 -0
  239. package/dist/types/use/form/textFieldComponent.d.ts +14 -0
  240. package/dist/types/use/form/textFieldControl.d.ts +63 -0
  241. package/dist/types/use/gradient.d.ts +224 -0
  242. package/dist/types/use/gradientGlow.d.ts +48 -0
  243. package/dist/types/use/gradientSurface.d.ts +23 -0
  244. package/dist/types/use/group/di.d.ts +5 -0
  245. package/dist/types/use/group/groupController.d.ts +10 -0
  246. package/dist/types/use/group/types.d.ts +9 -0
  247. package/dist/types/use/highlighted.d.ts +12 -0
  248. package/dist/types/use/icon.d.ts +22 -0
  249. package/dist/types/use/index.d.ts +4 -0
  250. package/dist/types/use/input/control.d.ts +10 -0
  251. package/dist/types/use/input/emits.d.ts +8 -0
  252. package/dist/types/use/input/index.d.ts +4 -0
  253. package/dist/types/use/input/props.d.ts +124 -0
  254. package/dist/types/use/items.d.ts +20 -0
  255. package/dist/types/use/layerStack.d.ts +15 -0
  256. package/dist/types/use/mask/index.d.ts +24 -0
  257. package/dist/types/use/menu.d.ts +49 -0
  258. package/dist/types/use/menuContext.d.ts +6 -0
  259. package/dist/types/use/open.d.ts +2 -0
  260. package/dist/types/use/overlay.d.ts +111 -0
  261. package/dist/types/use/placement.d.ts +16 -0
  262. package/dist/types/use/px.d.ts +4 -0
  263. package/dist/types/use/rounded.d.ts +12 -0
  264. package/dist/types/use/routerLink.d.ts +10 -0
  265. package/dist/types/use/select/controller.d.ts +18 -0
  266. package/dist/types/use/select/items.d.ts +14 -0
  267. package/dist/types/use/select/menuItems.d.ts +11 -0
  268. package/dist/types/use/select/menuSlot.d.ts +5 -0
  269. package/dist/types/use/select/selection.d.ts +12 -0
  270. package/dist/types/use/select/selectionController.d.ts +19 -0
  271. package/dist/types/use/select/selectionSummary.d.ts +7 -0
  272. package/dist/types/use/select/types.d.ts +24 -0
  273. package/dist/types/use/selected.d.ts +17 -0
  274. package/dist/types/use/selectionModel.d.ts +19 -0
  275. package/dist/types/use/size.d.ts +16 -0
  276. package/dist/types/use/slots.d.ts +15 -0
  277. package/dist/types/use/state.d.ts +13 -0
  278. package/dist/types/use/surface.d.ts +80 -0
  279. package/dist/types/use/surfaceColor.d.ts +18 -0
  280. package/dist/types/use/textarea/index.d.ts +2 -0
  281. package/dist/types/use/textarea/props.d.ts +105 -0
  282. package/dist/types/use/transition.d.ts +156 -0
  283. package/dist/types/use/variant.d.ts +16 -0
  284. package/dist/types/use/visibleProps.d.ts +1 -0
  285. package/dist/types/use/zIndex.d.ts +10 -0
  286. package/dist/types/utils/camelToKebabCase.d.ts +1 -0
  287. package/dist/types/utils/color.d.ts +3 -0
  288. package/dist/types/utils/colors/normaliseColor.d.ts +5 -0
  289. package/dist/types/utils/createComponentId.d.ts +1 -0
  290. package/dist/types/utils/createId.d.ts +1 -0
  291. package/dist/types/utils/propsFactory.d.ts +29 -0
  292. package/dist/use.cjs +1 -0
  293. package/dist/use.mjs +22 -0
  294. package/dist/useSnackbar-CFrWSpt4.cjs +1 -0
  295. package/dist/useSnackbar-lGrTDbl-.js +763 -0
  296. package/package.json +170 -0
package/README.md ADDED
@@ -0,0 +1,272 @@
1
+ # Gradient UI
2
+
3
+ Gradient UI is a Vue 3 component library built around Material You inspired
4
+ tokens, expressive gradients, compact form controls, floating layers,
5
+ directives and service helpers.
6
+
7
+ It is designed for product interfaces that need a polished default look without
8
+ giving up explicit TypeScript APIs.
9
+
10
+ The npm package is published as `@gradient-ui/core`.
11
+
12
+ ## Install
13
+
14
+ ```bash
15
+ npm install @gradient-ui/core
16
+ ```
17
+
18
+ Gradient UI expects Vue 3. `vue-router` is optional: navigation components use
19
+ the globally registered `RouterLink` when your app installs a router, and fall
20
+ back to regular anchors for string `to` values when it does not.
21
+
22
+ ## Full Registration
23
+
24
+ Import the stylesheet once near your app entry and install the plugin.
25
+
26
+ ```ts
27
+ import { createApp } from 'vue';
28
+ import { createGradientUI } from '@gradient-ui/core';
29
+ import '@gradient-ui/core/style.css';
30
+ import App from './App.vue';
31
+
32
+ const gradientUI = createGradientUI({
33
+ theme: {
34
+ seed: '#704aff',
35
+ mode: 'light'
36
+ },
37
+ icons: true,
38
+ defaults: {
39
+ global: {
40
+ color: 'primary'
41
+ },
42
+ GButton: {
43
+ rounded: true,
44
+ variant: 'filled'
45
+ },
46
+ GInput: {
47
+ variant: 'outlined'
48
+ }
49
+ }
50
+ });
51
+
52
+ createApp(App).use(gradientUI).mount('#app');
53
+ ```
54
+
55
+ The default export is also available for simple installs:
56
+
57
+ ```ts
58
+ import GradientUI from '@gradient-ui/core';
59
+
60
+ app.use(GradientUI);
61
+ ```
62
+
63
+ ## Manual Imports
64
+
65
+ Components, directives, services, theme helpers and composables are exposed as
66
+ subpath exports.
67
+
68
+ ```ts
69
+ import { GButton, GInput, GModal } from '@gradient-ui/core/components';
70
+ import { vRipple, vMask, vTooltip } from '@gradient-ui/core/directives';
71
+ import { useSnackbar, useLoading } from '@gradient-ui/core/services';
72
+ import { createTheme, useTheme } from '@gradient-ui/core/theme';
73
+ import { useBreakpoints, useMask } from '@gradient-ui/core/use';
74
+ import '@gradient-ui/core/style.css';
75
+ ```
76
+
77
+ You can also import public APIs from the root package:
78
+
79
+ ```ts
80
+ import { GButton, createGradientUI, useSnackbar } from '@gradient-ui/core';
81
+ ```
82
+
83
+ ## Optional Router
84
+
85
+ Navigation components such as `GNavItem` and `GAsideItem` support both `href`
86
+ and `to`.
87
+
88
+ With Vue Router installed in the host app, `to` renders through `RouterLink`:
89
+
90
+ ```ts
91
+ import { createApp } from 'vue';
92
+ import { createRouter, createWebHistory } from 'vue-router';
93
+ import GradientUI from '@gradient-ui/core';
94
+ import App from './App.vue';
95
+
96
+ const router = createRouter({
97
+ history: createWebHistory(),
98
+ routes: []
99
+ });
100
+
101
+ createApp(App).use(router).use(GradientUI).mount('#app');
102
+ ```
103
+
104
+ ```vue
105
+ <g-nav-item label="Docs" to="/docs" />
106
+ ```
107
+
108
+ Without Vue Router, string `to` values become regular links. Object `to` values
109
+ need Vue Router and otherwise render as non-navigation actions.
110
+
111
+ ## Theme
112
+
113
+ Gradient UI can generate Material You style CSS tokens from a seed color.
114
+
115
+ ```ts
116
+ app.use(
117
+ createGradientUI({
118
+ theme: '#704aff'
119
+ })
120
+ );
121
+ ```
122
+
123
+ Use object syntax when you need more control:
124
+
125
+ ```ts
126
+ app.use(
127
+ createGradientUI({
128
+ theme: {
129
+ seed: '#704aff',
130
+ mode: 'dark',
131
+ autoApply: true
132
+ }
133
+ })
134
+ );
135
+ ```
136
+
137
+ Pass `theme: false` when your host application owns the CSS variables.
138
+
139
+ ## Defaults
140
+
141
+ Component defaults let an application define shared prop values once.
142
+
143
+ ```ts
144
+ app.use(
145
+ createGradientUI({
146
+ defaults: {
147
+ global: {
148
+ color: 'primary'
149
+ },
150
+ GButton: {
151
+ variant: 'filled',
152
+ size: 'm'
153
+ },
154
+ GInput: {
155
+ variant: 'outlined'
156
+ }
157
+ }
158
+ })
159
+ );
160
+ ```
161
+
162
+ Local props always win over configured defaults.
163
+
164
+ ## Directives
165
+
166
+ The full plugin registers all public directives:
167
+
168
+ - `v-gradient-icon`
169
+ - `v-gradient-text`
170
+ - `v-loading`
171
+ - `v-mask`
172
+ - `v-ripple`
173
+ - `v-tooltip`
174
+
175
+ Manual registration is available too:
176
+
177
+ ```ts
178
+ import { vRipple } from '@gradient-ui/core/directives';
179
+
180
+ app.directive('ripple', vRipple);
181
+ ```
182
+
183
+ ## Services
184
+
185
+ Service helpers are regular named exports.
186
+
187
+ ```ts
188
+ import { useLoading, useSnackbar } from '@gradient-ui/core/services';
189
+
190
+ const snackbar = useSnackbar();
191
+ const loading = useLoading();
192
+
193
+ snackbar.success('Saved');
194
+ loading.show({ text: 'Syncing' });
195
+ ```
196
+
197
+ ## Forms And Validation
198
+
199
+ Form components accept validation rules compatible with `gib-validate`.
200
+
201
+ ```ts
202
+ import { required, isEmail } from 'gib-validate';
203
+ ```
204
+
205
+ Gradient UI includes the runtime integration used by form components. Install
206
+ `gib-validate` directly when your application wants to author rules or use its
207
+ validation composables.
208
+
209
+ ## Fonts
210
+
211
+ Gradient UI does not bundle webfont CSS. The default font token uses a system
212
+ font stack.
213
+
214
+ Import your own font, or opt into Manrope and MDI font glyphs when you need
215
+ them:
216
+
217
+ ```bash
218
+ npm install @fontsource/manrope @mdi/font
219
+ ```
220
+
221
+ ```ts
222
+ import '@fontsource/manrope/400.css';
223
+ import '@fontsource/manrope/500.css';
224
+ import '@fontsource/manrope/700.css';
225
+ import '@mdi/font/css/materialdesignicons.css';
226
+ ```
227
+
228
+ ```css
229
+ :root {
230
+ --g-token-font-family-base: manrope, sans-serif;
231
+ }
232
+ ```
233
+
234
+ ## Package Exports
235
+
236
+ ```ts
237
+ import '@gradient-ui/core/style.css';
238
+ import { createGradientUI } from '@gradient-ui/core';
239
+ import { GButton } from '@gradient-ui/core/components';
240
+ import { vRipple } from '@gradient-ui/core/directives';
241
+ import { useSnackbar } from '@gradient-ui/core/services';
242
+ import { createTheme } from '@gradient-ui/core/theme';
243
+ import { useBreakpoints } from '@gradient-ui/core/use';
244
+ ```
245
+
246
+ ## Development
247
+
248
+ ```bash
249
+ npm install
250
+ npm run dev
251
+ ```
252
+
253
+ Useful checks:
254
+
255
+ ```bash
256
+ npm run type-check
257
+ npm run eslint
258
+ npm run lint:css
259
+ npm run build
260
+ ```
261
+
262
+ ## Publish Checklist
263
+
264
+ ```bash
265
+ npm run build
266
+ npm pack --dry-run
267
+ npm publish --access public
268
+ ```
269
+
270
+ ## License
271
+
272
+ MIT
@@ -0,0 +1 @@
1
+ "use strict";const e=require("vue");require("@mdi/js");const z=require("./camelToKebabCase-BAESShJ1.cjs"),M=(t,o)=>{const r=t.__vccOpts||t;for(const[a,s]of o)r[a]=s;return r};function g(t,o){return r=>{const a={};for(const s in t){const i=typeof t[s]=="object"&&t[s]!==null&&!Array.isArray(t[s])?{...t[s]}:{type:t[s]};r&&s in r&&(i.default=r[s]),o&&!i.source&&(i.source=o),a[s]=i}return a}}const O=g({disabled:Boolean});function A(t,o){return e.computed(()=>t.disabled?`${o}_disabled`:"")}const B=g({rounded:Boolean});function R(t,o){return e.computed(()=>t.rounded?`${o}_rounded`:"")}const G=g({size:{type:String,default:"m"}});function ie(t,o){return e.computed(()=>`${o}_${t.size}`)}const y=ce();function F(t){var o;return t?((o=y[t])==null?void 0:o.color)??t:y.primary.color}function le(t){var o;return t?((o=y[t])==null?void 0:o.onColor)??y.primary.onColor:y.primary.onColor}function j(t){var o;return t?((o=y[t])==null?void 0:o.gradient)??`var(--g-gradient-${t})`:y.primary.gradient}function U(t){return e.computed(()=>j(e.toValue(t)))}function ce(){const t={primary:{color:"var(--g-token-color-primary)",onColor:"var(--g-token-color-on-primary)",gradient:"var(--g-gradient-main)"},main:{color:"var(--g-token-color-primary)",onColor:"var(--g-token-color-on-primary)",gradient:"var(--g-gradient-main)"},error:{color:"var(--g-token-color-error)",onColor:"var(--g-token-color-on-error)",gradient:"var(--g-gradient-error)"},warning:{color:"var(--g-token-color-warning)",onColor:"var(--g-token-color-on-warning)",gradient:"var(--g-gradient-warning)"},success:{color:"var(--g-token-color-success)",onColor:"var(--g-token-color-on-success)",gradient:"var(--g-gradient-success)"},surface:{color:"var(--g-token-color-surface)",onColor:"var(--g-token-color-on-surface)",gradient:"var(--g-gradient-source-40)"},"on-surface":{color:"var(--g-token-color-on-surface)",onColor:"var(--g-token-color-surface)",gradient:"var(--g-gradient-source-40)"},source:{color:"rgb(var(--g-color-source-40))",onColor:"rgb(var(--g-color-on-source-40))",gradient:"var(--g-gradient-source-40)"}};return P(t,"source"),Object.keys(z.MaterialSeeds).forEach(o=>{P(t,o)}),t}function P(t,o){const r=z.camelToKebabCase(o);for(let a=10;a<=100;a+=10){const s={color:`rgb(var(--g-color-${r}-${a}))`,onColor:`rgb(var(--g-color-on-${r}-${a}))`,gradient:`var(--g-gradient-${r}-${a})`};t[`${o}${a}`]=s,t[`${r}${a}`]=s,t[`${r}-${a}`]=s}t[o]=t[`${o}40`],t[r]=t[`${r}40`]}const x=g({color:{type:String,default:"primary"}});function ue(t){return{colorStyles:e.computed(()=>{const r=e.toValue(t.color);return{"--g-color":F(r),"--g-on-color":le(r),"--g-surface-color":"var(--g-token-color-surface)","--g-on-surface-color":"var(--g-token-color-on-surface)"}})}}function E(t){const o=e.computed(()=>{const i=e.toValue(t.activeState);return e.toValue(t.active)&&i!==void 0?i:e.toValue(t.state)}),r=e.computed(()=>{const i=o.value;if(i)return i;const l=e.toValue(t.activeColor);return e.toValue(t.active)&&l!==void 0?l:e.toValue(t.color)}),{colorStyles:a}=ue({color:r}),s=U(r),c=e.computed(()=>({...a.value,"--g-gradient-current":s.value}));return{resolvedColor:r,resolvedState:o,resolvedGradient:s,colorStyles:a,surfaceColorStyles:a,gradientStyles:c}}const de={fade:"g-fade-transition",scale:"g-scale-transition","scale-only":"g-scale-only-transition","slide-x":"g-slide-x-transition","slide-x-reverse":"g-slide-x-reverse-transition","slide-y":"g-slide-y-transition","slide-y-reverse":"g-slide-y-reverse-transition",dialog:"g-dialog-transition",overlay:"g-overlay-transition",expand:"g-expand-transition"},L=g({transition:{type:[Boolean,String,Object],default:void 0}},"transition"),H=g({...L(),name:String,appear:Boolean,disabled:Boolean,group:Boolean,tag:String,mode:String,origin:String,duration:[Number,String],enterDuration:[Number,String],leaveDuration:[Number,String],easing:String,enterEasing:String,leaveEasing:String,distance:[Number,String],scale:[Number,String],opacity:{type:Boolean,default:void 0},leaveAbsolute:Boolean,hideOnLeave:Boolean,css:{type:Boolean,default:!0}},"transition");function ge(t){return t?de[t]??t:""}function fe(t){if(!(t===void 0||t===""))return typeof t=="number"?`${t}px`:t}function T(t){if(!(t===void 0||t===""))return typeof t=="number"?`${t}ms`:t}function D(t,o){if(t===void 0||t==="")return o;if(typeof t=="number")return t;const r=t.trim();if(r.endsWith("ms"))return Number.parseFloat(r);if(r.endsWith("s"))return Number.parseFloat(r)*1e3;const a=Number.parseFloat(r);return Number.isNaN(a)?o:a}function I(t,o){return t===!1?{...o,disabled:!0}:t===!0||t===void 0?o:typeof t=="string"?{...o,name:t}:{...o,...t}}function W(){const t=e.ref(!1);let o=null;const r=()=>{t.value=(o==null?void 0:o.matches)??!1};return e.onMounted(()=>{typeof window>"u"||!window.matchMedia||(o=window.matchMedia("(prefers-reduced-motion: reduce)"),r(),o.addEventListener("change",r))}),e.onBeforeUnmount(()=>{o==null||o.removeEventListener("change",r)}),t}const ve=80,K=e.defineComponent({inheritAttrs:!1,__name:"GTransition",props:H({name:"fade",css:!0}),emits:["before-enter","after-enter","before-leave","leave","after-leave","enter-cancelled","leave-cancelled"],setup(t,{emit:o}){const r=t,a=o,s=e.useAttrs(),c=W(),i=e.computed(()=>r.group?e.TransitionGroup:e.Transition),l=e.computed(()=>I(r.transition,$.value)),m=e.computed(()=>p.value?"":ge(l.value.name)),p=e.computed(()=>r.disabled||c.value||l.value.disabled),S=e.computed(()=>r.group||l.value.mode==="default"?void 0:l.value.mode),_=e.computed(()=>!p.value&&l.value.css!==!1),u=e.computed(()=>{if(!b.value||p.value)return;const n=l.value;return{enter:D(n.enterDuration??n.duration,220),leave:D(n.leaveDuration??n.duration,180)+ve}}),b=e.computed(()=>l.value.name==="overlay"||m.value==="g-overlay-transition"),$=e.computed(()=>({name:r.name,appear:r.appear,mode:r.mode,origin:r.origin,duration:r.duration,enterDuration:r.enterDuration,leaveDuration:r.leaveDuration,easing:r.easing,enterEasing:r.enterEasing,leaveEasing:r.leaveEasing,distance:r.distance,scale:r.scale,opacity:r.opacity,leaveAbsolute:r.leaveAbsolute,hideOnLeave:r.hideOnLeave,css:r.css})),V=e.computed(()=>{const n=l.value;return{"--g-transition-enter-duration":T(n.enterDuration??n.duration),"--g-transition-leave-duration":T(n.leaveDuration??n.duration),"--g-transition-enter-easing":n.enterEasing??n.easing,"--g-transition-leave-easing":n.leaveEasing??n.easing,"--g-transition-origin":n.origin,"--g-transition-distance":fe(n.distance),"--g-transition-scale":n.scale===void 0?void 0:String(n.scale),"--g-transition-opacity-from":n.opacity===!1?"1":void 0}});function C(n){if(n instanceof HTMLElement)for(const[d,h]of Object.entries(V.value))h!==void 0&&n.style.setProperty(d,h)}function w(n){const{offsetTop:d,offsetLeft:h,offsetWidth:ae,offsetHeight:se}=n;n._gTransitionInitialStyles={position:n.style.position,top:n.style.top,left:n.style.left,width:n.style.width,height:n.style.height,display:n.style.display},n.style.position="absolute",n.style.top=`${d}px`,n.style.left=`${h}px`,n.style.width=`${ae}px`,n.style.height=`${se}px`}function f(n){const d=n._gTransitionInitialStyles;d&&(n.style.position=d.position,n.style.top=d.top,n.style.left=d.left,n.style.width=d.width,n.style.height=d.height,n.style.display=d.display,delete n._gTransitionInitialStyles)}function v(n){C(n),a("before-enter",n)}function k(n){a("after-enter",n)}function ee(n){C(n),a("before-leave",n)}function te(n){if(!(n instanceof HTMLElement)){a("leave",n);return}l.value.leaveAbsolute&&w(n),l.value.hideOnLeave&&n.style.setProperty("display","none","important"),a("leave",n)}function oe(n){n instanceof HTMLElement&&f(n),a("after-leave",n)}function ne(n){a("enter-cancelled",n)}function re(n){n instanceof HTMLElement&&f(n),a("leave-cancelled",n)}return(n,d)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value),e.mergeProps(e.unref(s),{name:m.value,css:_.value,appear:l.value.appear,duration:u.value,mode:S.value,tag:r.group?r.tag:void 0,onBeforeEnter:v,onAfterEnter:k,onBeforeLeave:ee,onLeave:te,onAfterLeave:oe,onEnterCancelled:ne,onLeaveCancelled:re}),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16,["name","css","appear","duration","mode","tag"]))}}),q=t=>e.computed(()=>{const o=e.toValue(t);return o===""||o===null||o===void 0?"":typeof o=="number"?`${o}px`:/^\d+(\.\d+)?$/.test(o)?`${o}px`:o}),J=g({variant:{type:String,default:"filled"}});function Q(t,o){return e.computed(()=>`${o}_${t.variant}`)}const N=g({state:String});function X(t,o){return e.computed(()=>t.state?`${o}_${t.state}`:"")}const me=g({...J(),...x(),...O(),...B(),...N()});function pe(t,o){const r=Q(t,o),a=A(t,o),s=R(t,o),c=X(t,o),{colorStyles:i}=E(t),l=e.computed(()=>[r.value,a.value,s.value,c.value].filter(Boolean));return{variantClass:r,disabledClass:a,roundedClass:s,stateClass:c,surfaceStyles:i,surfaceClasses:l}}function ye(t){return{surfaceUnderlayClasses:e.computed(()=>[`${t}__surface-underlay`])}}function _e(t){return{surfaceOverlayClasses:e.computed(()=>[`${t}__surface-overlay`])}}function Se(t){return{surfaceContentClasses:e.computed(()=>[`${t}__surface-content`])}}function Y(t){return{...ye(t),..._e(t),...Se(t)}}const be=g({...x(),...B(),...G(),...N(),modelValue:{type:Number,default:0},indeterminate:Boolean,noLabel:Boolean,label:String,labelAlign:{type:String,default:"center"},view:{type:String,default:"default"},segments:{type:Number,default:12}}),Ce={key:0,class:"g-progress__label"},ke=["aria-valuenow","aria-valuetext"],he=e.defineComponent({__name:"GProgress",props:be({color:"primary"}),setup(t){const o=t,{gradientStyles:r}=E(o),a=e.ref(0),s=e.ref(null);let c;const i=e.computed(()=>Math.min(100,Math.max(0,o.modelValue))),l=q(a),m=e.computed(()=>Math.max(2,Math.round(o.segments))),p=e.computed(()=>Array.from({length:m.value-1},(f,v)=>v)),S=e.computed(()=>`${i.value}%`),_=e.computed(()=>o.label??`${Math.round(i.value)}%`),u=f=>({"--g-progress-segment-position":`${(f+1)/m.value*100}%`}),b=e.computed(()=>({...r.value,"--g-progress-value":S.value,"--g-progress-track-width":l.value})),$=()=>{c=new ResizeObserver(f=>{for(const v of f)a.value=v.contentRect.width}),s.value&&c.observe(s.value)};e.onMounted(()=>{$()}),e.onBeforeUnmount(()=>{c==null||c.disconnect()});const{surfaceOverlayClasses:V,surfaceUnderlayClasses:C,surfaceContentClasses:w}=Y("g-progress");return(f,v)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["g-progress",{"g-progress_rounded":o.rounded,"g-progress_indeterminate":o.indeterminate,"g-progress_no-label":o.noLabel,[`g-progress_${o.size}`]:!0,[`g-progress_label-${o.labelAlign}`]:!0,[`g-progress_view-${o.view}`]:!0}]),style:e.normalizeStyle(b.value)},[o.noLabel?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ce,[e.renderSlot(f.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(_.value),1)],!0)])),e.createElementVNode("div",{ref_key:"parentRef",ref:s,class:"g-progress__track",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":o.indeterminate?void 0:i.value,"aria-valuetext":o.indeterminate?void 0:_.value},[e.createElementVNode("span",{class:e.normalizeClass(e.unref(C))},null,2),e.createElementVNode("span",{class:e.normalizeClass(e.unref(V))},null,2),e.createElementVNode("div",{class:e.normalizeClass(["g-progress__surface-content",e.unref(w)])},[...v[0]||(v[0]=[e.createElementVNode("div",{class:"g-progress__bar"},[e.createElementVNode("div",{class:"g-progress__active"},[e.createElementVNode("div",{class:"g-progress__overlay"})])],-1)])],2),o.view==="segmented"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(p.value,k=>(e.openBlock(),e.createElementBlock("span",{key:k,class:"g-progress__segment-divider",style:e.normalizeStyle(u(k))},null,4))),128)):e.createCommentVNode("",!0)],8,ke)],6))}}),Z=M(he,[["__scopeId","data-v-0140ebe7"]]),$e=g({...L(),text:String,noText:Boolean,show:Boolean,color:String,dark:Boolean,opacity:[Number,String],blur:[Number,String],progressView:String,onClose:Function}),Ve={class:"g-loading__body"},we={key:0,class:"g-loading__text"},Be={class:"g-loading__progress"},xe=e.defineComponent({__name:"GLoading",props:$e({text:"Loading...",noText:!1,show:!1,color:"primary",dark:!1,opacity:void 0,blur:void 0,progressView:"glow",transition:()=>({name:"fade",duration:220}),onClose:void 0}),emits:["close"],setup(t,{expose:o,emit:r}){const a=t,s=r,c=e.ref(!1),i=e.computed(()=>a.show||c.value),l=e.computed(()=>({"--g-loading-overlay-opacity":a.opacity!==void 0?String(a.opacity):void 0,"--g-loading-overlay-blur":a.blur!==void 0?m(a.blur):void 0}));function m(u){return typeof u=="number"?`${u}px`:u}function p(){c.value=!0}function S(){c.value=!1}function _(){var u;(u=a.onClose)==null||u.call(a),s("close")}return o({hide:S,show:p,isVisible:i}),(u,b)=>(e.openBlock(),e.createBlock(e.unref(K),{transition:a.transition,name:"scale",onAfterLeave:_},{default:e.withCtx(()=>[i.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["g-loading",{"g-loading_dark":a.dark}]),style:e.normalizeStyle(l.value),"aria-live":"polite","aria-busy":"true"},[e.createElementVNode("div",Ve,[a.noText?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",we,[e.renderSlot(u.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(a.text),1)])])),e.createElementVNode("div",Be,[e.createVNode(Z,{"no-label":"",indeterminate:"","model-value":100,color:a.color,view:a.progressView,size:"s"},null,8,["color","view"])])])],6)):e.createCommentVNode("",!0)]),_:3},8,["transition"]))}});exports.GProgress=Z;exports._export_sfc=M;exports._sfc_main=xe;exports._sfc_main$1=K;exports.makeColorProps=x;exports.makeDisabledProps=O;exports.makeGTransitionProps=H;exports.makeRoundedProps=B;exports.makeSizeProps=G;exports.makeStateProps=N;exports.makeSurfaceProps=me;exports.makeTransitionProps=L;exports.makeVariantProps=J;exports.propsFactory=g;exports.resolveColorValue=F;exports.resolveGradientValue=j;exports.resolveTransitionOptions=I;exports.useDisabled=A;exports.usePx=q;exports.useReducedMotion=W;exports.useResolveGradientValue=U;exports.useRounded=R;exports.useSize=ie;exports.useState=X;exports.useSurface=pe;exports.useSurfaceColor=E;exports.useSurfaceLayers=Y;exports.useVariant=Q;