pgo-uiux2 1.0.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 (180) hide show
  1. package/.env +1 -0
  2. package/.env.production +1 -0
  3. package/.prettierrc +13 -0
  4. package/.vscode/extensions.json +3 -0
  5. package/BUTTON_GUIDE.md +257 -0
  6. package/README.md +49 -0
  7. package/THEME_REFERENCE.md +310 -0
  8. package/eslint.config.ts +27 -0
  9. package/index.html +13 -0
  10. package/package.json +85 -0
  11. package/public/favicon.ico +0 -0
  12. package/src/App.vue +368 -0
  13. package/src/assets/fonts/Faruma.ttf +0 -0
  14. package/src/components/examples/AppBarExample.vue +101 -0
  15. package/src/components/examples/AvatarExample.vue +47 -0
  16. package/src/components/examples/BannerExample.vue +287 -0
  17. package/src/components/examples/BaseInputExample.vue +25 -0
  18. package/src/components/examples/BreadcrumbExample.vue +53 -0
  19. package/src/components/examples/CardExample.vue +77 -0
  20. package/src/components/examples/ChipExample.vue +225 -0
  21. package/src/components/examples/DatePickerExample.vue +31 -0
  22. package/src/components/examples/DropdownExample.vue +84 -0
  23. package/src/components/examples/EditorExample.vue +200 -0
  24. package/src/components/examples/ExpansionPanelExample.vue +42 -0
  25. package/src/components/examples/FileUploadExample.vue +40 -0
  26. package/src/components/examples/FormExample.vue +121 -0
  27. package/src/components/examples/HugeTest.vue +8 -0
  28. package/src/components/examples/LayoutContainerExample.vue +80 -0
  29. package/src/components/examples/ModalExample.vue +82 -0
  30. package/src/components/examples/NavDrawerExample.vue +170 -0
  31. package/src/components/examples/NumberFieldExample.vue +145 -0
  32. package/src/components/examples/RadioButtonExample.vue +161 -0
  33. package/src/components/examples/SearchExample.vue +322 -0
  34. package/src/components/examples/SelectExample.vue +121 -0
  35. package/src/components/examples/StackedTableViewExample.vue +53 -0
  36. package/src/components/examples/TabExample.vue +336 -0
  37. package/src/components/examples/TableExample.vue +228 -0
  38. package/src/components/examples/TextFieldExample.vue +181 -0
  39. package/src/components/examples/TextareaExample.vue +173 -0
  40. package/src/components/examples/ThemeToggle.vue +50 -0
  41. package/src/components/examples/TimelineExample.vue +66 -0
  42. package/src/components/examples/TipTapEditorExample.vue +20 -0
  43. package/src/components/examples/TooltipExample.vue +53 -0
  44. package/src/components/examples/VueDatePickerShowcase.vue +214 -0
  45. package/src/components/examples/_DatePickerExample.vue +33 -0
  46. package/src/components/examples/__FormExample.vue +77 -0
  47. package/src/components/index.ts +25 -0
  48. package/src/components/pgo/AppBar.vue +347 -0
  49. package/src/components/pgo/Avatar.vue +139 -0
  50. package/src/components/pgo/Banner.vue +300 -0
  51. package/src/components/pgo/Breadcrumb.vue +101 -0
  52. package/src/components/pgo/Button.vue +171 -0
  53. package/src/components/pgo/Card.vue +178 -0
  54. package/src/components/pgo/ConfirmationModel.vue +32 -0
  55. package/src/components/pgo/DataTable.vue +845 -0
  56. package/src/components/pgo/DatePicker/CalendarPanel.vue +43 -0
  57. package/src/components/pgo/DatePicker/__DatePicker.vue +122 -0
  58. package/src/components/pgo/DatePicker/types.ts +11 -0
  59. package/src/components/pgo/DatePicker/useCalendar.ts +39 -0
  60. package/src/components/pgo/DatePicker/useDatePicker.ts +31 -0
  61. package/src/components/pgo/Deprecated/ToastContainer.vue +51 -0
  62. package/src/components/pgo/Deprecated/ToastItem.vue +55 -0
  63. package/src/components/pgo/Dropdown.vue +296 -0
  64. package/src/components/pgo/DropdownItem.vue +40 -0
  65. package/src/components/pgo/Editor.vue +511 -0
  66. package/src/components/pgo/ExpansionPanel.vue +185 -0
  67. package/src/components/pgo/Footer.vue +39 -0
  68. package/src/components/pgo/HeroIcon.vue +124 -0
  69. package/src/components/pgo/InputSearch.vue +194 -0
  70. package/src/components/pgo/LayoutContainer.vue +104 -0
  71. package/src/components/pgo/Main.vue +37 -0
  72. package/src/components/pgo/Modal.vue +273 -0
  73. package/src/components/pgo/NavDrawer.vue +127 -0
  74. package/src/components/pgo/NavDrawerItem.vue +161 -0
  75. package/src/components/pgo/NavigationDrawer.vue +849 -0
  76. package/src/components/pgo/OLDNavDrawer.vue +661 -0
  77. package/src/components/pgo/OldAppBar.vue +223 -0
  78. package/src/components/pgo/PApp.vue +102 -0
  79. package/src/components/pgo/Pagination.vue +242 -0
  80. package/src/components/pgo/Search copy.vue +310 -0
  81. package/src/components/pgo/Search.vue +411 -0
  82. package/src/components/pgo/StackedTableView.vue +167 -0
  83. package/src/components/pgo/Tab.vue +617 -0
  84. package/src/components/pgo/TestInput.vue +395 -0
  85. package/src/components/pgo/Timeline.vue +367 -0
  86. package/src/components/pgo/TimelineItem.vue +80 -0
  87. package/src/components/pgo/TipTapEditor.vue +315 -0
  88. package/src/components/pgo/Tooltip.NOTES.md +12 -0
  89. package/src/components/pgo/Tooltip.PROPS.md +21 -0
  90. package/src/components/pgo/Tooltip.vue +281 -0
  91. package/src/components/pgo/base/Base.vue +444 -0
  92. package/src/components/pgo/buttons/Chip.vue +324 -0
  93. package/src/components/pgo/buttons/ChipGroup.vue +224 -0
  94. package/src/components/pgo/buttons/Radio.vue +424 -0
  95. package/src/components/pgo/filters/FilterSection.vue +188 -0
  96. package/src/components/pgo/filters/Searchbar.vue +216 -0
  97. package/src/components/pgo/forms/DynamicForm.vue +45 -0
  98. package/src/components/pgo/forms/Form.vue +132 -0
  99. package/src/components/pgo/index.ts +15 -0
  100. package/src/components/pgo/inputs/Checkbox.vue +320 -0
  101. package/src/components/pgo/inputs/DatePicker.vue +395 -0
  102. package/src/components/pgo/inputs/FileUpload.vue +326 -0
  103. package/src/components/pgo/inputs/NumberField.vue +243 -0
  104. package/src/components/pgo/inputs/Radio.vue +162 -0
  105. package/src/components/pgo/inputs/RadioGroup.vue +188 -0
  106. package/src/components/pgo/inputs/Select.vue +535 -0
  107. package/src/components/pgo/inputs/TextField.vue +194 -0
  108. package/src/components/pgo/inputs/Textarea.vue +181 -0
  109. package/src/main.js +12 -0
  110. package/src/pgo-components/_index.js +31 -0
  111. package/src/pgo-components/assets/fonts/Faruma.ttf +0 -0
  112. package/src/pgo-components/assets/fonts/logo.png +0 -0
  113. package/src/pgo-components/composables/useTheme.js +10 -0
  114. package/src/pgo-components/directives/tooltip-directive.ts +393 -0
  115. package/src/pgo-components/index.js +96 -0
  116. package/src/pgo-components/lib/componentConfig.js +147 -0
  117. package/src/pgo-components/lib/core/composables/_useCalendar.ts +127 -0
  118. package/src/pgo-components/lib/core/composables/useDefaults.ts +15 -0
  119. package/src/pgo-components/lib/core/composables/useLanguageSelect.js +0 -0
  120. package/src/pgo-components/lib/core/composables/useRtl.ts +12 -0
  121. package/src/pgo-components/lib/core/defaults/createDefaults.ts +5 -0
  122. package/src/pgo-components/lib/core/defaults/defaults.ts +7 -0
  123. package/src/pgo-components/lib/core/rtl/rtl.ts +3 -0
  124. package/src/pgo-components/lib/core/rtl/setRtl.ts +19 -0
  125. package/src/pgo-components/lib/drawerState.ts +3 -0
  126. package/src/pgo-components/lib/i18n/defaultLables.js +71 -0
  127. package/src/pgo-components/lib/i18n/i18nPlugin.js +52 -0
  128. package/src/pgo-components/lib/i18n/useI18n.js +35 -0
  129. package/src/pgo-components/lib/index.ts +38 -0
  130. package/src/pgo-components/pages/Component.vue +7 -0
  131. package/src/pgo-components/pages/ComponentRenderer.vue +85 -0
  132. package/src/pgo-components/pages/Home.vue +130 -0
  133. package/src/pgo-components/pages/ListView.vue +370 -0
  134. package/src/pgo-components/pages/Page1.vue +296 -0
  135. package/src/pgo-components/pages/_Page1.vue +180 -0
  136. package/src/pgo-components/plugins/SnackBar.vue +251 -0
  137. package/src/pgo-components/plugins/SnackBarContainer.vue +53 -0
  138. package/src/pgo-components/plugins/SnackBarPlugin.ts +136 -0
  139. package/src/pgo-components/plugins/theme-plugin.js +114 -0
  140. package/src/pgo-components/plugins/types.ts +46 -0
  141. package/src/pgo-components/plugins/useSnackBar.js +11 -0
  142. package/src/pgo-components/plugins/useSnackBar.ts +21 -0
  143. package/src/pgo-components/plugins/validation-plugin.js +11 -0
  144. package/src/pgo-components/services/Entry.json +813 -0
  145. package/src/pgo-components/services/axios.js +54 -0
  146. package/src/pgo-components/services/data.json +90 -0
  147. package/src/pgo-components/services/person.json +260 -0
  148. package/src/pgo-components/services/toast.ts +44 -0
  149. package/src/pgo-components/styles/global.css +234 -0
  150. package/src/pgo-components/styles/reset.css +96 -0
  151. package/src/pgo-components/styles/tokens.css +18 -0
  152. package/src/pgo-components/styles/utilities/border-radius.css +57 -0
  153. package/src/pgo-components/styles/utilities/borders.css +85 -0
  154. package/src/pgo-components/styles/utilities/colors.css +38 -0
  155. package/src/pgo-components/styles/utilities/cursor.css +19 -0
  156. package/src/pgo-components/styles/utilities/display.css +78 -0
  157. package/src/pgo-components/styles/utilities/elevation.css +33 -0
  158. package/src/pgo-components/styles/utilities/flex.css +403 -0
  159. package/src/pgo-components/styles/utilities/float.css +41 -0
  160. package/src/pgo-components/styles/utilities/hover.css +9 -0
  161. package/src/pgo-components/styles/utilities/index.css +18 -0
  162. package/src/pgo-components/styles/utilities/opacity.css +27 -0
  163. package/src/pgo-components/styles/utilities/overflow.css +26 -0
  164. package/src/pgo-components/styles/utilities/palette.css +515 -0
  165. package/src/pgo-components/styles/utilities/position.css +14 -0
  166. package/src/pgo-components/styles/utilities/sizing.css +70 -0
  167. package/src/pgo-components/styles/utilities/spacing.css +578 -0
  168. package/src/pgo-components/styles/utilities/transitions.css +58 -0
  169. package/src/pgo-components/styles/utilities/typography.css +91 -0
  170. package/src/pgo-components/styles/utilities/z-index.css +11 -0
  171. package/src/pgo-components/tokens/index.js +337 -0
  172. package/src/router/index.js +88 -0
  173. package/src/shims-vue.d.ts +14 -0
  174. package/src/validations/validationRules.js +50 -0
  175. package/tailwind.config.js +73 -0
  176. package/test.php +5 -0
  177. package/tsconfig.json +25 -0
  178. package/ui +31 -0
  179. package/ui.pgo.mv.conf +18 -0
  180. package/vite.config.js +42 -0
@@ -0,0 +1,96 @@
1
+ /* src/styles/reset.css - tiny reset */
2
+ * {
3
+ box-sizing: border-box;
4
+ }
5
+
6
+ /* Global font variable used by the app to allow theme switching (e.g., RTL font) */
7
+ :root {
8
+ --app-font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans";
9
+ }
10
+
11
+ html,
12
+ body,
13
+ #app {
14
+ height: 100%;
15
+ margin: 0;
16
+ }
17
+
18
+ body {
19
+ font-family: var(--app-font);
20
+ }
21
+
22
+ /* When RTL is active, switch to a more appropriate font for RTL languages. */
23
+ .rtl-font,
24
+ [dir="rtl"],
25
+ html[dir="rtl"],
26
+ body[dir="rtl"],
27
+ [lang="dv"],
28
+ html[lang="dv"],
29
+ body[lang="dv"]
30
+ {
31
+ /* When RTL is active, prefer the local Faruma font if installed, then fall back to other system fonts. */
32
+ --app-font: "Faruma", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans";
33
+ }
34
+
35
+
36
+
37
+
38
+ @font-face {
39
+ font-family: 'Faruma'; /* Your chosen name for the font */
40
+ src: url('/src/assets/fonts/Faruma.ttf') format('truetype');
41
+ font-weight: normal;
42
+ font-style: normal;
43
+ font-display: swap;
44
+ }
45
+
46
+
47
+
48
+ .faruma {
49
+ /* When RTL is active, prefer the local Faruma font if installed, then fall back to other system fonts. */
50
+ font-family: "Faruma", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans";
51
+ }
52
+
53
+
54
+
55
+ /* @theme {
56
+ --color-primary: oklch(54.6% 0.245 262.881);
57
+ --color-primaryText: var(--vts-color-primaryText);
58
+ --color-primary-50: oklch(97% 0.014 254.604);
59
+ --color-primary-100: oklch(93.2% 0.032 255.585);
60
+ --color-primary-200: oklch(88.2% 0.059 254.128);
61
+ --color-primary-300: oklch(80.9% 0.105 251.813);
62
+ --color-primary-400: oklch(70.7% 0.165 254.624);
63
+ --color-primary-500: oklch(62.3% 0.214 259.815);
64
+ --color-primary-600: oklch(54.6% 0.245 262.881);
65
+ --color-primary-700: oklch(48.8% 0.243 264.376);
66
+ --color-primary-800: oklch(48.8% 0.243 264.376);
67
+ --color-primary-900: oklch(42.4% 0.199 265.638);
68
+ --color-secondary: oklch(0.8 0.18 90.96);
69
+
70
+ --color-error: var(--vts-color-error);
71
+ --color-input-border: oklch(92.8% 0.006 264.531);
72
+ --color-input-background: var(--vts-color-background);
73
+ --color-input-focus: oklch(70.7% 0.022 261.325);
74
+ --color-input-outline: oklch(44.6% 0.03 256.802);
75
+ --color-input-hover: oklch(87.2% 0.01 258.338);
76
+ --color-input-text: oklch(37.3% 0.034 259.733);
77
+ --color-selected-text: oklch(37.3% 0.034 259.733);
78
+ --color-selected-background: oklch(92.8% 0.006 264.531);
79
+
80
+ }
81
+
82
+ @layer utilities {
83
+ .bg-primary {
84
+ background-color: var(--color-primary);
85
+ }
86
+ .text-primary {
87
+ color: var(--color-primary);
88
+ }
89
+ .bg-primary-light {
90
+ background-color: var(--color-primary-100);
91
+ }
92
+ .text-secondary {
93
+ color: var(--color-secondary);
94
+ }
95
+
96
+ } */
@@ -0,0 +1,18 @@
1
+ :root {
2
+ /* Spacing scale */
3
+ --vts-space-0: 0;
4
+ --vts-space-1: 4px;
5
+ --vts-space-2: 8px;
6
+ --vts-space-3: 12px;
7
+ --vts-space-4: 16px;
8
+ --vts-space-5: 20px;
9
+
10
+ /* Sizing */
11
+ --vts-size-screen: 100vh;
12
+ --vts-size-dvh: 100dvh;
13
+
14
+ /* Border tokens */
15
+ --vts-border-color-rgb: 107, 114, 128; /* neutral gray rgb fallback */
16
+ --vts-border-opacity: 0.35;
17
+ }
18
+
@@ -0,0 +1,57 @@
1
+ @layer utilities {
2
+ /* General rounded */
3
+ .vts-rounded { border-radius: var(--vts-radius, 4px); }
4
+ .vts-rounded-0 { border-radius: 0; }
5
+ .vts-rounded-sm { border-radius: var(--vts-radius-sm, 2px); }
6
+ .vts-rounded-md { border-radius: var(--vts-radius-md, var(--vts-radius, 4px)); }
7
+ .vts-rounded-lg { border-radius: var(--vts-radius-lg, 8px); }
8
+ .vts-rounded-xl { border-radius: var(--vts-radius-xl, 24px); }
9
+ .vts-rounded-pill { border-radius: var(--vts-radius-pill, 9999px); }
10
+ .vts-rounded-circle { border-radius: 50%; }
11
+ .vts-rounded-shaped { border-top-left-radius: var(--vts-radius-xl, 24px); border-top-right-radius: 0; border-bottom-left-radius: var(--vts-radius-xl, 24px); border-bottom-right-radius: 0; }
12
+
13
+ /* Top corners */
14
+ .vts-rounded-t { border-top-left-radius: var(--vts-radius, 4px); border-top-right-radius: var(--vts-radius, 4px); }
15
+ .vts-rounded-t-0 { border-top-left-radius: 0; border-top-right-radius: 0; }
16
+ .vts-rounded-t-sm { border-top-left-radius: var(--vts-radius-sm, 2px); border-top-right-radius: var(--vts-radius-sm, 2px); }
17
+ .vts-rounded-t-md { border-top-left-radius: var(--vts-radius-md, var(--vts-radius, 4px)); border-top-right-radius: var(--vts-radius-md, var(--vts-radius, 4px)); }
18
+ .vts-rounded-t-lg { border-top-left-radius: var(--vts-radius-lg, 8px); border-top-right-radius: var(--vts-radius-lg, 8px); }
19
+ .vts-rounded-t-xl { border-top-left-radius: var(--vts-radius-xl, 24px); border-top-right-radius: var(--vts-radius-xl, 24px); }
20
+ .vts-rounded-t-pill { border-top-left-radius: var(--vts-radius-pill, 9999px); border-top-right-radius: var(--vts-radius-pill, 9999px); }
21
+ .vts-rounded-t-circle { border-top-left-radius: 50%; border-top-right-radius: 50%; }
22
+ .vts-rounded-t-shaped { border-top-left-radius: var(--vts-radius-xl, 24px); border-top-right-radius: 0; }
23
+
24
+ /* Bottom corners */
25
+ .vts-rounded-b { border-bottom-left-radius: var(--vts-radius, 4px); border-bottom-right-radius: var(--vts-radius, 4px); }
26
+ .vts-rounded-b-0 { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
27
+ .vts-rounded-b-sm { border-bottom-left-radius: var(--vts-radius-sm, 2px); border-bottom-right-radius: var(--vts-radius-sm, 2px); }
28
+ .vts-rounded-b-md { border-bottom-left-radius: var(--vts-radius-md, var(--vts-radius, 4px)); border-bottom-right-radius: var(--vts-radius-md, var(--vts-radius, 4px)); }
29
+ .vts-rounded-b-lg { border-bottom-left-radius: var(--vts-radius-lg, 8px); border-bottom-right-radius: var(--vts-radius-lg, 8px); }
30
+ .vts-rounded-b-xl { border-bottom-left-radius: var(--vts-radius-xl, 24px); border-bottom-right-radius: var(--vts-radius-xl, 24px); }
31
+ .vts-rounded-b-pill { border-bottom-left-radius: var(--vts-radius-pill, 9999px); border-bottom-right-radius: var(--vts-radius-pill, 9999px); }
32
+ .vts-rounded-b-circle { border-bottom-left-radius: 50%; border-bottom-right-radius: 50%; }
33
+ .vts-rounded-b-shaped { border-bottom-left-radius: 0; border-bottom-right-radius: var(--vts-radius-xl, 24px); }
34
+
35
+ /* Start/Left corners */
36
+ .vts-rounded-s { border-top-left-radius: var(--vts-radius, 4px); border-bottom-left-radius: var(--vts-radius, 4px); }
37
+ .vts-rounded-s-0 { border-top-left-radius: 0; border-bottom-left-radius: 0; }
38
+ .vts-rounded-s-sm { border-top-left-radius: var(--vts-radius-sm, 2px); border-bottom-left-radius: var(--vts-radius-sm, 2px); }
39
+ .vts-rounded-s-md { border-top-left-radius: var(--vts-radius-md, var(--vts-radius, 4px)); border-bottom-left-radius: var(--vts-radius-md, var(--vts-radius, 4px)); }
40
+ .vts-rounded-s-lg { border-top-left-radius: var(--vts-radius-lg, 8px); border-bottom-left-radius: var(--vts-radius-lg, 8px); }
41
+ .vts-rounded-s-xl { border-top-left-radius: var(--vts-radius-xl, 24px); border-bottom-left-radius: var(--vts-radius-xl, 24px); }
42
+ .vts-rounded-s-pill { border-top-left-radius: var(--vts-radius-pill, 9999px); border-bottom-left-radius: var(--vts-radius-pill, 9999px); }
43
+ .vts-rounded-s-circle { border-top-left-radius: 50%; border-bottom-left-radius: 50%; }
44
+ .vts-rounded-s-shaped { border-top-left-radius: var(--vts-radius-xl, 24px); border-bottom-left-radius: var(--vts-radius-xl, 24px); border-top-right-radius: 0; border-bottom-right-radius: 0; }
45
+
46
+ /* End/Right corners */
47
+ .vts-rounded-e { border-top-right-radius: var(--vts-radius, 4px); border-bottom-right-radius: var(--vts-radius, 4px); }
48
+ .vts-rounded-e-0 { border-top-right-radius: 0; border-bottom-right-radius: 0; }
49
+ .vts-rounded-e-sm { border-top-right-radius: var(--vts-radius-sm, 2px); border-bottom-right-radius: var(--vts-radius-sm, 2px); }
50
+ .vts-rounded-e-md { border-top-right-radius: var(--vts-radius-md, var(--vts-radius, 4px)); border-bottom-right-radius: var(--vts-radius-md, var(--vts-radius, 4px)); }
51
+ .vts-rounded-e-lg { border-top-right-radius: var(--vts-radius-lg, 8px); border-bottom-right-radius: var(--vts-radius-lg, 8px); }
52
+ .vts-rounded-e-xl { border-top-right-radius: var(--vts-radius-xl, 24px); border-bottom-right-radius: var(--vts-radius-xl, 24px); }
53
+ .vts-rounded-e-pill { border-top-right-radius: var(--vts-radius-pill, 9999px); border-bottom-right-radius: var(--vts-radius-pill, 9999px); }
54
+ .vts-rounded-e-circle { border-top-right-radius: 50%; border-bottom-right-radius: 50%; }
55
+ .vts-rounded-e-shaped { border-top-right-radius: var(--vts-radius-xl, 24px); border-bottom-right-radius: var(--vts-radius-xl, 24px); border-top-left-radius: 0; border-bottom-left-radius: 0; }
56
+
57
+ }
@@ -0,0 +1,85 @@
1
+ /* prettier-ignore */
2
+
3
+ @layer utilities {
4
+ /* Base border uses theme token color */
5
+ .vts-border {
6
+ /* Use theme color if available; otherwise fall back to tokens.css rgb + opacity */
7
+ border: thin solid var(--vts-color-border, rgba(var(--vts-border-color-rgb, 107, 114, 128), var(--vts-border-opacity, 0.35)));
8
+ }
9
+
10
+ /* Border color helper (applies theme border color without setting width) */
11
+ .vts-border-color {
12
+ border-color: var(--vts-color-border, rgba(var(--vts-border-color-rgb, 107, 114, 128), var(--vts-border-opacity, 0.35)));
13
+ }
14
+ .vts-border-color-light {
15
+ border-color: var(--vts-color-borderLight, rgba(var(--vts-border-color-rgb, 107, 114, 128), var(--vts-border-opacity, 0.35)));
16
+ }
17
+ .vts-border-color-heavy {
18
+ border-color: var(--vts-color-borderHeavy, rgba(var(--vts-border-color-rgb, 107, 114, 128), var(--vts-border-opacity, 0.35)));
19
+ }
20
+ .vts-border-color-error {
21
+ border-color: var(--vts-color-error, rgba(var(--vts-border-color-rgb, 107, 114, 128), var(--vts-border-opacity, 0.35)));
22
+ }
23
+
24
+ /* Transparent and side-specific color helpers for spinners and accents */
25
+ .vts-border-color-transparent { border-color: transparent; }
26
+ .vts-border-t-color-current { border-top-color: currentColor; }
27
+
28
+ /* Border width scale */
29
+ .vts-border-thin { border-width: thin; }
30
+ .vts-border-sm { border-width: 1px; }
31
+ .vts-border-md { border-width: 2px; }
32
+ .vts-border-lg { border-width: 4px; }
33
+ .vts-border-xl { border-width: 8px; }
34
+ .vts-border-0 { border-width: 0; }
35
+
36
+ /* Top */
37
+ .vts-border-t { border-top-width: thin; }
38
+ .vts-border-t-0 { border-top-width: 0; }
39
+ .vts-border-t-thin { border-top-width: thin; }
40
+ .vts-border-t-sm { border-top-width: 1px; }
41
+ .vts-border-t-md { border-top-width: 2px; }
42
+ .vts-border-t-lg { border-top-width: 4px; }
43
+ .vts-border-t-xl { border-top-width: 8px; }
44
+
45
+ /* End (logical right) */
46
+ .vts-border-e { border-inline-end-width: thin; }
47
+ .vts-border-e-0 { border-inline-end-width: 0; }
48
+ .vts-border-e-thin { border-inline-end-width: thin; }
49
+ .vts-border-e-sm { border-inline-end-width: 1px; }
50
+ .vts-border-e-md { border-inline-end-width: 2px; }
51
+ .vts-border-e-lg { border-inline-end-width: 4px; }
52
+ .vts-border-e-xl { border-inline-end-width: 8px; }
53
+
54
+ /* Bottom */
55
+ .vts-border-b { border-bottom-width: thin; }
56
+ .vts-border-b-0 { border-bottom-width: 0; }
57
+ .vts-border-b-thin { border-bottom-width: thin; }
58
+ .vts-border-b-sm { border-bottom-width: 1px; }
59
+ .vts-border-b-md { border-bottom-width: 2px; }
60
+ .vts-border-b-lg { border-bottom-width: 4px; }
61
+ .vts-border-b-xl { border-bottom-width: 8px; }
62
+
63
+ /* Start (logical left) */
64
+ .vts-border-s { border-inline-start-width: thin; }
65
+ .vts-border-s-0 { border-inline-start-width: 0; }
66
+ .vts-border-s-thin { border-inline-start-width: thin; }
67
+ .vts-border-s-sm { border-inline-start-width: 1px; }
68
+ .vts-border-s-md { border-inline-start-width: 2px; }
69
+ .vts-border-s-lg { border-inline-start-width: 4px; }
70
+ .vts-border-s-xl { border-inline-start-width: 8px; }
71
+
72
+ /* Border opacity helpers (no-op with single var color; keep for future) */
73
+ .vts-border-opacity-0 { }
74
+ .vts-border-opacity { }
75
+ .vts-border-opacity-25 { }
76
+ .vts-border-opacity-50 { }
77
+ .vts-border-opacity-75 { }
78
+ .vts-border-opacity-100 { }
79
+
80
+ /* Border styles */
81
+ .vts-border-solid { border-style: solid; }
82
+ .vts-border-dashed { border-style: dashed; }
83
+ .vts-border-dotted { border-style: dotted; }
84
+ .vts-border-double { border-style: double; }
85
+ }
@@ -0,0 +1,38 @@
1
+ @layer utilities {
2
+ /* Text color utilities */
3
+ .vts-text { color: var(--vts-color-text); }
4
+ .vts-text-secondary { color: var(--vts-color-textSecondary, var(--vts-color-muted)); }
5
+ .vts-text-muted { color: var(--vts-color-muted); }
6
+ .vts-text-primary { color: var(--vts-color-primary); }
7
+ .vts-text-secondary-accent { color: var(--vts-color-secondary); }
8
+ .vts-text-success { color: var(--vts-color-success); }
9
+ .vts-text-error { color: var(--vts-color-error); }
10
+ .vts-text-warning { color: var(--vts-color-warning); }
11
+ .vts-text-info { color: var(--vts-color-info); }
12
+ .vts-on-primary { color: var(--vts-color-primaryText); }
13
+ .vts-on-secondary { color: var(--vts-color-secondaryText, var(--vts-color-text)); }
14
+ /* Aliases for "on-*" text utilities used by components */
15
+ .vts-text-on-primary { color: var(--vts-color-primaryText); }
16
+ .vts-text-on-secondary { color: var(--vts-color-secondaryText, var(--vts-color-text)); }
17
+ .vts-text-on-success { color: var(--vts-color-successText, #fff); }
18
+ .vts-text-on-error { color: var(--vts-color-errorText, #fff); }
19
+ .vts-text-on-warning { color: var(--vts-color-warningText, #111); }
20
+ .vts-text-on-info { color: var(--vts-color-infoText, #fff); }
21
+ .vts-text-on-disabled { color: var(--vts-color-disabledText, var(--vts-color-textSecondary)); }
22
+ .vts-text-inherit { color: inherit; }
23
+
24
+ /* Background color utilities */
25
+ .vts-bg { background-color: var(--vts-color-background); }
26
+ .vts-bg-surface { background-color: var(--vts-color-surface); }
27
+ .vts-bg-surface-elevated { background-color: var(--vts-color-surfaceElevated, var(--vts-color-surface)); }
28
+ .vts-bg-primary { background-color: var(--vts-color-primary); }
29
+ .vts-bg-secondary { background-color: var(--vts-color-secondary); }
30
+ .vts-bg-overlay { background-color: var(--vts-color-overlay); }
31
+ .vts-bg-border-light { background-color: var(--vts-color-borderLight); }
32
+ .vts-bg-success { background-color: var(--vts-color-success); }
33
+ .vts-bg-error { background-color: var(--vts-color-error); }
34
+ .vts-bg-warning { background-color: var(--vts-color-warning); }
35
+ .vts-bg-info { background-color: var(--vts-color-info); }
36
+ .vts-bg-transparent { background-color: transparent; }
37
+ .vts-bg-inherit { background-color: inherit; }
38
+ }
@@ -0,0 +1,19 @@
1
+ /* prettier-ignore */
2
+
3
+ @layer utilities {
4
+ /* =========================
5
+ Cursor Utilities
6
+ ========================= */
7
+ .vts-cursor-auto { cursor: auto; }
8
+ .vts-cursor-default { cursor: default; }
9
+ .vts-cursor-grab { cursor: grab; }
10
+ .vts-cursor-grabbing { cursor: grabbing; }
11
+ .vts-cursor-help { cursor: help; }
12
+ .vts-cursor-move { cursor: move; }
13
+ .vts-cursor-none { cursor: none; }
14
+ .vts-cursor-not-allowed { cursor: not-allowed; }
15
+ .vts-cursor-pointer { cursor: pointer; }
16
+ .vts-cursor-progress { cursor: progress; }
17
+ .vts-cursor-text { cursor: text; }
18
+ .vts-cursor-wait { cursor: wait; }
19
+ }
@@ -0,0 +1,78 @@
1
+ /* prettier-ignore */
2
+ @layer utilities {
3
+ /* =========================
4
+ Display Utilities
5
+ ========================= */
6
+
7
+ /* Display none */
8
+ .vts-d-none { display: none; }
9
+ .vts-d-sm-none { display: none; }
10
+ .vts-d-md-none { display: none; }
11
+ .vts-d-lg-none { display: none; }
12
+ .vts-d-xl-none { display: none; }
13
+ .vts-d-xxl-none { display: none; }
14
+ .vts-d-print-none { display: none; }
15
+ .vts-d-sr-only { display: none; }
16
+ .vts-d-sr-only-focusable { display: none; }
17
+
18
+ /* Display flex */
19
+ .vts-d-flex { display: flex; }
20
+ .vts-d-sm-flex { display: flex; }
21
+ .vts-d-md-flex { display: flex; }
22
+ .vts-d-lg-flex { display: flex; }
23
+ .vts-d-xl-flex { display: flex; }
24
+ .vts-d-xxl-flex { display: flex; }
25
+ .vts-d-print-flex { display: flex; }
26
+
27
+ /* Display inline */
28
+ .vts-d-sm-inline { display: inline; }
29
+ .vts-d-md-inline { display: inline; }
30
+ .vts-d-lg-inline { display: inline; }
31
+ .vts-d-xl-inline { display: inline; }
32
+ .vts-d-xxl-inline { display: inline; }
33
+ .vts-d-print-inline { display: inline; }
34
+
35
+ /* Display inline-block */
36
+ .vts-d-inline-block { display: inline-block; }
37
+ .vts-d-sm-inline-block { display: inline-block; }
38
+ .vts-d-md-inline-block { display: inline-block; }
39
+ .vts-d-lg-inline-block { display: inline-block; }
40
+ .vts-d-xl-inline-block { display: inline-block; }
41
+ .vts-d-xxl-inline-block { display: inline-block; }
42
+ .vts-d-print-inline-block { display: inline-block; }
43
+
44
+ /* Display block */
45
+ .vts-d-print-block { display: block; }
46
+
47
+ /* Display table */
48
+ .vts-d-sm-table { display: table; }
49
+ .vts-d-md-table { display: table; }
50
+ .vts-d-lg-table { display: table; }
51
+ .vts-d-xl-table { display: table; }
52
+ .vts-d-xxl-table { display: table; }
53
+ .vts-d-print-table { display: table; }
54
+
55
+ /* Display table-cell */
56
+ .vts-d-sm-table-cell { display: table-cell; }
57
+ .vts-d-md-table-cell { display: table-cell; }
58
+ .vts-d-lg-table-cell { display: table-cell; }
59
+ .vts-d-xl-table-cell { display: table-cell; }
60
+ .vts-d-xxl-table-cell { display: table-cell; }
61
+ .vts-d-print-table-cell { display: table-cell; }
62
+
63
+ /* Display table-row */
64
+ .vts-d-sm-table-row { display: table-row; }
65
+ .vts-d-md-table-row { display: table-row; }
66
+ .vts-d-lg-table-row { display: table-row; }
67
+ .vts-d-xl-table-row { display: table-row; }
68
+ .vts-d-xxl-table-row { display: table-row; }
69
+ .vts-d-print-table-row { display: table-row; }
70
+
71
+ /* Display inline-flex */
72
+ .vts-d-sm-inline-flex { display: inline-flex; }
73
+ .vts-d-md-inline-flex { display: inline-flex; }
74
+ .vts-d-lg-inline-flex { display: inline-flex; }
75
+ .vts-d-xl-inline-flex { display: inline-flex; }
76
+ .vts-d-xxl-inline-flex { display: inline-flex; }
77
+ .vts-d-print-inline-flex { display: inline-flex; }
78
+ }
@@ -0,0 +1,33 @@
1
+ /* prettier-ignore */
2
+
3
+ @layer utilities {
4
+ /* =========================
5
+ Elevation (box-shadow) Utilities
6
+ ========================= */
7
+
8
+ .vts-elevation-0 { box-shadow: var(--vts-elevation-0, none); }
9
+ .vts-elevation-1 { box-shadow: var(--vts-elevation-1, 0px 1px 3px rgba(0,0,0,0.2), 0px 1px 1px rgba(0,0,0,0.14), 0px 2px 1px rgba(0,0,0,0.12)); }
10
+ .vts-elevation-2 { box-shadow: var(--vts-elevation-2, 0px 1px 5px rgba(0,0,0,0.2), 0px 2px 2px rgba(0,0,0,0.14), 0px 3px 1px rgba(0,0,0,0.12)); }
11
+ .vts-elevation-3 { box-shadow: var(--vts-elevation-3, 0px 1px 8px rgba(0,0,0,0.2), 0px 3px 4px rgba(0,0,0,0.14), 0px 3px 3px rgba(0,0,0,0.12)); }
12
+ .vts-elevation-4 { box-shadow: var(--vts-elevation-4, 0px 2px 4px rgba(0,0,0,0.2), 0px 4px 5px rgba(0,0,0,0.14), 0px 1px 10px rgba(0,0,0,0.12)); }
13
+ .vts-elevation-5 { box-shadow: var(--vts-elevation-5, 0px 3px 5px rgba(0,0,0,0.2), 0px 5px 8px rgba(0,0,0,0.14), 0px 1px 14px rgba(0,0,0,0.12)); }
14
+ .vts-elevation-6 { box-shadow: var(--vts-elevation-6, 0px 3px 5px rgba(0,0,0,0.2), 0px 6px 10px rgba(0,0,0,0.14), 0px 1px 18px rgba(0,0,0,0.12)); }
15
+ .vts-elevation-7 { box-shadow: var(--vts-elevation-7, 0px 4px 5px rgba(0,0,0,0.2), 0px 7px 10px rgba(0,0,0,0.14), 0px 2px 16px rgba(0,0,0,0.12)); }
16
+ .vts-elevation-8 { box-shadow: var(--vts-elevation-8, 0px 5px 5px rgba(0,0,0,0.2), 0px 8px 10px rgba(0,0,0,0.14), 0px 3px 14px rgba(0,0,0,0.12)); }
17
+ .vts-elevation-9 { box-shadow: var(--vts-elevation-9, 0px 5px 6px rgba(0,0,0,0.2), 0px 9px 12px rgba(0,0,0,0.14), 0px 3px 16px rgba(0,0,0,0.12)); }
18
+ .vts-elevation-10 { box-shadow: var(--vts-elevation-10, 0px 6px 6px rgba(0,0,0,0.2), 0px 10px 14px rgba(0,0,0,0.14), 0px 4px 18px rgba(0,0,0,0.12)); }
19
+ .vts-elevation-11 { box-shadow: var(--vts-elevation-11, 0px 6px 7px rgba(0,0,0,0.2), 0px 11px 15px rgba(0,0,0,0.14), 0px 4px 20px rgba(0,0,0,0.12)); }
20
+ .vts-elevation-12 { box-shadow: var(--vts-elevation-12, 0px 7px 8px rgba(0,0,0,0.2), 0px 12px 17px rgba(0,0,0,0.14), 0px 5px 22px rgba(0,0,0,0.12)); }
21
+ .vts-elevation-13 { box-shadow: var(--vts-elevation-13, 0px 7px 8px rgba(0,0,0,0.2), 0px 13px 19px rgba(0,0,0,0.14), 0px 5px 24px rgba(0,0,0,0.12)); }
22
+ .vts-elevation-14 { box-shadow: var(--vts-elevation-14, 0px 7px 9px rgba(0,0,0,0.2), 0px 14px 21px rgba(0,0,0,0.14), 0px 5px 26px rgba(0,0,0,0.12)); }
23
+ .vts-elevation-15 { box-shadow: var(--vts-elevation-15, 0px 8px 9px rgba(0,0,0,0.2), 0px 15px 22px rgba(0,0,0,0.14), 0px 6px 28px rgba(0,0,0,0.12)); }
24
+ .vts-elevation-16 { box-shadow: var(--vts-elevation-16, 0px 8px 10px rgba(0,0,0,0.2), 0px 16px 24px rgba(0,0,0,0.14), 0px 6px 30px rgba(0,0,0,0.12)); }
25
+ .vts-elevation-17 { box-shadow: var(--vts-elevation-17, 0px 8px 11px rgba(0,0,0,0.2), 0px 17px 26px rgba(0,0,0,0.14), 0px 6px 32px rgba(0,0,0,0.12)); }
26
+ .vts-elevation-18 { box-shadow: var(--vts-elevation-18, 0px 9px 11px rgba(0,0,0,0.2), 0px 18px 28px rgba(0,0,0,0.14), 0px 7px 34px rgba(0,0,0,0.12)); }
27
+ .vts-elevation-19 { box-shadow: var(--vts-elevation-19, 0px 9px 12px rgba(0,0,0,0.2), 0px 19px 29px rgba(0,0,0,0.14), 0px 7px 36px rgba(0,0,0,0.12)); }
28
+ .vts-elevation-20 { box-shadow: var(--vts-elevation-20, 0px 10px 13px rgba(0,0,0,0.2), 0px 20px 31px rgba(0,0,0,0.14), 0px 8px 38px rgba(0,0,0,0.12)); }
29
+ .vts-elevation-21 { box-shadow: var(--vts-elevation-21, 0px 10px 13px rgba(0,0,0,0.2), 0px 21px 33px rgba(0,0,0,0.14), 0px 8px 40px rgba(0,0,0,0.12)); }
30
+ .vts-elevation-22 { box-shadow: var(--vts-elevation-22, 0px 10px 14px rgba(0,0,0,0.2), 0px 22px 35px rgba(0,0,0,0.14), 0px 8px 42px rgba(0,0,0,0.12)); }
31
+ .vts-elevation-23 { box-shadow: var(--vts-elevation-23, 0px 11px 14px rgba(0,0,0,0.2), 0px 23px 36px rgba(0,0,0,0.14), 0px 9px 44px rgba(0,0,0,0.12)); }
32
+ .vts-elevation-24 { box-shadow: var(--vts-elevation-24, 0px 11px 15px rgba(0,0,0,0.2), 0px 24px 38px rgba(0,0,0,0.14), 0px 9px 46px rgba(0,0,0,0.12)); }
33
+ }