@umbra.ui/core 0.1.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 (272) hide show
  1. package/dist/components/controls/Dropdown/types.d.ts +5 -0
  2. package/dist/components/controls/Dropdown/types.d.ts.map +1 -0
  3. package/dist/components/controls/Dropdown/types.js +1 -0
  4. package/dist/components/controls/SegmentedControl/types.d.ts +6 -0
  5. package/dist/components/controls/SegmentedControl/types.d.ts.map +1 -0
  6. package/dist/components/controls/SegmentedControl/types.js +1 -0
  7. package/dist/components/dialogs/Alert/types.d.ts +7 -0
  8. package/dist/components/dialogs/Alert/types.d.ts.map +1 -0
  9. package/dist/components/dialogs/Alert/types.js +1 -0
  10. package/dist/components/dialogs/Toast/types.d.ts +34 -0
  11. package/dist/components/dialogs/Toast/types.d.ts.map +1 -0
  12. package/dist/components/dialogs/Toast/types.js +10 -0
  13. package/dist/components/dialogs/Toast/useToast.d.ts +36 -0
  14. package/dist/components/dialogs/Toast/useToast.d.ts.map +1 -0
  15. package/dist/components/dialogs/Toast/useToast.js +90 -0
  16. package/dist/components/indicators/Tooltip/tooltip.d.ts +3 -0
  17. package/dist/components/indicators/Tooltip/tooltip.d.ts.map +1 -0
  18. package/dist/components/indicators/Tooltip/tooltip.js +33 -0
  19. package/dist/components/indicators/Tooltip/types.d.ts +14 -0
  20. package/dist/components/indicators/Tooltip/types.d.ts.map +1 -0
  21. package/dist/components/indicators/Tooltip/types.js +1 -0
  22. package/dist/components/indicators/Tooltip/useTooltip.d.ts +18 -0
  23. package/dist/components/indicators/Tooltip/useTooltip.d.ts.map +1 -0
  24. package/dist/components/indicators/Tooltip/useTooltip.js +57 -0
  25. package/dist/components/inputs/Tags/tag-bar-styles.d.ts +14 -0
  26. package/dist/components/inputs/Tags/tag-bar-styles.d.ts.map +1 -0
  27. package/dist/components/inputs/Tags/tag-bar-styles.js +313 -0
  28. package/dist/components/inputs/Tags/types.d.ts +93 -0
  29. package/dist/components/inputs/Tags/types.d.ts.map +1 -0
  30. package/dist/components/inputs/Tags/types.js +216 -0
  31. package/dist/components/inputs/search/types.d.ts +9 -0
  32. package/dist/components/inputs/search/types.d.ts.map +1 -0
  33. package/dist/components/inputs/search/types.js +1 -0
  34. package/dist/components/navigation/adaptive/types.d.ts +16 -0
  35. package/dist/components/navigation/adaptive/types.d.ts.map +1 -0
  36. package/dist/components/navigation/adaptive/types.js +1 -0
  37. package/dist/components/navigation/adaptive/useAdaptiveLayout.d.ts +27 -0
  38. package/dist/components/navigation/adaptive/useAdaptiveLayout.d.ts.map +1 -0
  39. package/dist/components/navigation/adaptive/useAdaptiveLayout.js +40 -0
  40. package/dist/components/navigation/adaptive/useBreakpoints.d.ts +6 -0
  41. package/dist/components/navigation/adaptive/useBreakpoints.d.ts.map +1 -0
  42. package/dist/components/navigation/adaptive/useBreakpoints.js +37 -0
  43. package/dist/components/navigation/adaptive/useContainerMonitor.d.ts +93 -0
  44. package/dist/components/navigation/adaptive/useContainerMonitor.d.ts.map +1 -0
  45. package/dist/components/navigation/adaptive/useContainerMonitor.js +145 -0
  46. package/dist/components/navigation/adaptive/useViewAnimation.d.ts +31 -0
  47. package/dist/components/navigation/adaptive/useViewAnimation.d.ts.map +1 -0
  48. package/dist/components/navigation/adaptive/useViewAnimation.js +591 -0
  49. package/dist/components/navigation/adaptive/useViewResize.d.ts +52 -0
  50. package/dist/components/navigation/adaptive/useViewResize.d.ts.map +1 -0
  51. package/dist/components/navigation/adaptive/useViewResize.js +146 -0
  52. package/dist/components/navigation/navstack/useNavigationStack.d.ts +25 -0
  53. package/dist/components/navigation/navstack/useNavigationStack.d.ts.map +1 -0
  54. package/dist/components/navigation/navstack/useNavigationStack.js +133 -0
  55. package/dist/components/navigation/slideover/useSlideoverController.d.ts +20 -0
  56. package/dist/components/navigation/slideover/useSlideoverController.d.ts.map +1 -0
  57. package/dist/components/navigation/slideover/useSlideoverController.js +267 -0
  58. package/dist/components/navigation/splitview/useSplitViewController.d.ts +20 -0
  59. package/dist/components/navigation/splitview/useSplitViewController.d.ts.map +1 -0
  60. package/dist/components/navigation/splitview/useSplitViewController.js +325 -0
  61. package/dist/components/navigation/tabcontroller/types.d.ts +21 -0
  62. package/dist/components/navigation/tabcontroller/types.d.ts.map +1 -0
  63. package/dist/components/navigation/tabcontroller/types.js +1 -0
  64. package/dist/components/navigation/tabcontroller/useTabController.d.ts +5 -0
  65. package/dist/components/navigation/tabcontroller/useTabController.d.ts.map +1 -0
  66. package/dist/components/navigation/tabcontroller/useTabController.js +10 -0
  67. package/dist/components/navigation/types.d.ts +8 -0
  68. package/dist/components/navigation/types.d.ts.map +1 -0
  69. package/dist/components/navigation/types.js +1 -0
  70. package/dist/components/pickers/CollectionPicker/types.d.ts +11 -0
  71. package/dist/components/pickers/CollectionPicker/types.d.ts.map +1 -0
  72. package/dist/components/pickers/CollectionPicker/types.js +1 -0
  73. package/dist/components/pickers/ColorPicker/colors.d.ts +13 -0
  74. package/dist/components/pickers/ColorPicker/colors.d.ts.map +1 -0
  75. package/dist/components/pickers/ColorPicker/colors.js +266 -0
  76. package/dist/components/pickers/FilePicker/types.d.ts +10 -0
  77. package/dist/components/pickers/FilePicker/types.d.ts.map +1 -0
  78. package/dist/components/pickers/FilePicker/types.js +1 -0
  79. package/dist/index.d.ts +91 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +196 -0
  82. package/dist/theme.d.ts +73 -0
  83. package/dist/theme.d.ts.map +1 -0
  84. package/dist/theme.js +279 -0
  85. package/dist/themes/blank.d.ts +7 -0
  86. package/dist/themes/blank.d.ts.map +1 -0
  87. package/dist/themes/blank.js +543 -0
  88. package/dist/themes/crimson-dark.d.ts +4 -0
  89. package/dist/themes/crimson-dark.d.ts.map +1 -0
  90. package/dist/themes/crimson-dark.js +552 -0
  91. package/dist/themes/cyan-light.d.ts +4 -0
  92. package/dist/themes/cyan-light.d.ts.map +1 -0
  93. package/dist/themes/cyan-light.js +552 -0
  94. package/dist/themes/dark.d.ts +4 -0
  95. package/dist/themes/dark.d.ts.map +1 -0
  96. package/dist/themes/dark.js +551 -0
  97. package/dist/themes/gold-dark.d.ts +4 -0
  98. package/dist/themes/gold-dark.d.ts.map +1 -0
  99. package/dist/themes/gold-dark.js +552 -0
  100. package/dist/themes/grass-dark.d.ts +4 -0
  101. package/dist/themes/grass-dark.d.ts.map +1 -0
  102. package/dist/themes/grass-dark.js +552 -0
  103. package/dist/themes/indigo.d.ts +4 -0
  104. package/dist/themes/indigo.d.ts.map +1 -0
  105. package/dist/themes/indigo.js +552 -0
  106. package/dist/themes/light.d.ts +4 -0
  107. package/dist/themes/light.d.ts.map +1 -0
  108. package/dist/themes/light.js +551 -0
  109. package/dist/themes/orange-dark.d.ts +4 -0
  110. package/dist/themes/orange-dark.d.ts.map +1 -0
  111. package/dist/themes/orange-dark.js +551 -0
  112. package/dist/themes/orange-light.d.ts +4 -0
  113. package/dist/themes/orange-light.d.ts.map +1 -0
  114. package/dist/themes/orange-light.js +551 -0
  115. package/package.json +62 -0
  116. package/src/components/controls/Button/Button.vue +417 -0
  117. package/src/components/controls/Button/README.md +348 -0
  118. package/src/components/controls/Button/theme.css +200 -0
  119. package/src/components/controls/Checkbox/Checkbox.vue +164 -0
  120. package/src/components/controls/Checkbox/README.md +441 -0
  121. package/src/components/controls/Checkbox/theme.css +36 -0
  122. package/src/components/controls/Dropdown/Dropdown.vue +476 -0
  123. package/src/components/controls/Dropdown/README.md +370 -0
  124. package/src/components/controls/Dropdown/theme.css +50 -0
  125. package/src/components/controls/Dropdown/types.ts +6 -0
  126. package/src/components/controls/IconButton/IconButton.vue +267 -0
  127. package/src/components/controls/IconButton/README.md +502 -0
  128. package/src/components/controls/IconButton/theme.css +89 -0
  129. package/src/components/controls/Radio/README.md +591 -0
  130. package/src/components/controls/Radio/Radio.vue +89 -0
  131. package/src/components/controls/Radio/theme.css +14 -0
  132. package/src/components/controls/RangeSlider/README.md +608 -0
  133. package/src/components/controls/RangeSlider/RangeSlider.vue +535 -0
  134. package/src/components/controls/RangeSlider/theme.css +80 -0
  135. package/src/components/controls/SegmentedControl/README.md +587 -0
  136. package/src/components/controls/SegmentedControl/SegmentedControl.vue +284 -0
  137. package/src/components/controls/SegmentedControl/theme.css +60 -0
  138. package/src/components/controls/SegmentedControl/types.ts +5 -0
  139. package/src/components/controls/Slider/README.md +627 -0
  140. package/src/components/controls/Slider/Slider.vue +260 -0
  141. package/src/components/controls/Slider/theme.css +74 -0
  142. package/src/components/controls/Stepper/README.md +601 -0
  143. package/src/components/controls/Stepper/Stepper.vue +103 -0
  144. package/src/components/controls/Stepper/theme.css +53 -0
  145. package/src/components/controls/Switch/README.md +667 -0
  146. package/src/components/controls/Switch/Switch.vue +127 -0
  147. package/src/components/controls/Switch/theme.css +42 -0
  148. package/src/components/dialogs/Alert/Alert.vue +218 -0
  149. package/src/components/dialogs/Alert/README.md +450 -0
  150. package/src/components/dialogs/Alert/theme.css +44 -0
  151. package/src/components/dialogs/Alert/types.ts +11 -0
  152. package/src/components/dialogs/Toast/README.md +522 -0
  153. package/src/components/dialogs/Toast/Toast.vue +296 -0
  154. package/src/components/dialogs/Toast/ToastContainer.vue +330 -0
  155. package/src/components/dialogs/Toast/theme.css +44 -0
  156. package/src/components/dialogs/Toast/types.ts +46 -0
  157. package/src/components/dialogs/Toast/useToast.ts +127 -0
  158. package/src/components/indicators/ProgressBar/ProgressBar.vue +98 -0
  159. package/src/components/indicators/ProgressBar/README.md +744 -0
  160. package/src/components/indicators/ProgressBar/theme.css +36 -0
  161. package/src/components/indicators/Tooltip/README.md +723 -0
  162. package/src/components/indicators/Tooltip/TooltipProvider.vue +142 -0
  163. package/src/components/indicators/Tooltip/theme.css +18 -0
  164. package/src/components/indicators/Tooltip/tooltip.ts +48 -0
  165. package/src/components/indicators/Tooltip/types.ts +15 -0
  166. package/src/components/indicators/Tooltip/useTooltip.ts +71 -0
  167. package/src/components/inputs/AutogrowTextView/AutogrowTextView.vue +110 -0
  168. package/src/components/inputs/AutogrowTextView/README.md +643 -0
  169. package/src/components/inputs/AutogrowTextView/theme.css +28 -0
  170. package/src/components/inputs/InputCard/InputCard.vue +600 -0
  171. package/src/components/inputs/InputCard/README.md +636 -0
  172. package/src/components/inputs/InputEmail/InputEmail.vue +698 -0
  173. package/src/components/inputs/InputEmail/README.md +764 -0
  174. package/src/components/inputs/InputNumber/InputNumber.vue +300 -0
  175. package/src/components/inputs/InputNumber/README.md +749 -0
  176. package/src/components/inputs/InputPhone/InputPhone.vue +645 -0
  177. package/src/components/inputs/InputPhone/README.md +636 -0
  178. package/src/components/inputs/InputSecure/InputSecure.vue +646 -0
  179. package/src/components/inputs/InputSecure/README.md +771 -0
  180. package/src/components/inputs/InputText/InputText.vue +225 -0
  181. package/src/components/inputs/InputText/README.md +844 -0
  182. package/src/components/inputs/OTP/OTP.vue +349 -0
  183. package/src/components/inputs/OTP/README.md +736 -0
  184. package/src/components/inputs/OTP/theme.css +50 -0
  185. package/src/components/inputs/StringCapture/README.md +718 -0
  186. package/src/components/inputs/StringCapture/StringCapture.vue +315 -0
  187. package/src/components/inputs/StringCapture/theme.css +86 -0
  188. package/src/components/inputs/Tags/README.md +897 -0
  189. package/src/components/inputs/Tags/TagBar.vue +793 -0
  190. package/src/components/inputs/Tags/TagCreation.vue +219 -0
  191. package/src/components/inputs/Tags/TagPicker.vue +380 -0
  192. package/src/components/inputs/Tags/tag-bar-styles.ts +354 -0
  193. package/src/components/inputs/Tags/theme.css +121 -0
  194. package/src/components/inputs/Tags/types.ts +346 -0
  195. package/src/components/inputs/search/README.md +759 -0
  196. package/src/components/inputs/search/SearchBar.vue +394 -0
  197. package/src/components/inputs/search/SearchResults.vue +310 -0
  198. package/src/components/inputs/search/theme.css +187 -0
  199. package/src/components/inputs/search/types.ts +8 -0
  200. package/src/components/inputs/theme.css +102 -0
  201. package/src/components/menus/ActionMenu/ActionMenu.vue +383 -0
  202. package/src/components/menus/ActionMenu/README.md +825 -0
  203. package/src/components/menus/ActionMenu/theme.css +93 -0
  204. package/src/components/models/Popover/Popover.vue +551 -0
  205. package/src/components/models/Popover/README.md +885 -0
  206. package/src/components/models/Popover/theme.css +52 -0
  207. package/src/components/models/Sheet/README.md +1159 -0
  208. package/src/components/models/Sheet/Sheet.vue +465 -0
  209. package/src/components/models/Sheet/theme.css +72 -0
  210. package/src/components/models/Sidebar/README.md +1228 -0
  211. package/src/components/models/Sidebar/Sidebar.vue +480 -0
  212. package/src/components/models/Sidebar/theme.css +90 -0
  213. package/src/components/navigation/adaptive/AdaptiveLayout.vue +779 -0
  214. package/src/components/navigation/adaptive/AdaptiveLayoutBreadcrumbs.vue +192 -0
  215. package/src/components/navigation/adaptive/AdaptiveLayoutMenuButton.vue +149 -0
  216. package/src/components/navigation/adaptive/README.md +768 -0
  217. package/src/components/navigation/adaptive/types.ts +19 -0
  218. package/src/components/navigation/adaptive/useAdaptiveLayout.ts +89 -0
  219. package/src/components/navigation/adaptive/useBreakpoints.ts +41 -0
  220. package/src/components/navigation/adaptive/useContainerMonitor.ts +214 -0
  221. package/src/components/navigation/adaptive/useViewAnimation.ts +721 -0
  222. package/src/components/navigation/adaptive/useViewResize.ts +211 -0
  223. package/src/components/navigation/navstack/NavigationStack.vue +180 -0
  224. package/src/components/navigation/navstack/README.md +994 -0
  225. package/src/components/navigation/navstack/useNavigationStack.ts +164 -0
  226. package/src/components/navigation/slideover/README.md +1275 -0
  227. package/src/components/navigation/slideover/SlideoverController.vue +287 -0
  228. package/src/components/navigation/slideover/useSlideoverController.ts +320 -0
  229. package/src/components/navigation/splitview/README.md +1115 -0
  230. package/src/components/navigation/splitview/SplitViewController.vue +176 -0
  231. package/src/components/navigation/splitview/useSplitViewController.ts +388 -0
  232. package/src/components/navigation/tabcontroller/README.md +919 -0
  233. package/src/components/navigation/tabcontroller/TabController.vue +307 -0
  234. package/src/components/navigation/tabcontroller/TabItem.vue +57 -0
  235. package/src/components/navigation/tabcontroller/types.ts +24 -0
  236. package/src/components/navigation/tabcontroller/useTabController.ts +18 -0
  237. package/src/components/navigation/theme.css +91 -0
  238. package/src/components/navigation/types.ts +7 -0
  239. package/src/components/pickers/CollectionPicker/CollectionPicker.vue +398 -0
  240. package/src/components/pickers/CollectionPicker/README.md +1115 -0
  241. package/src/components/pickers/CollectionPicker/theme.css +14 -0
  242. package/src/components/pickers/CollectionPicker/types.ts +11 -0
  243. package/src/components/pickers/ColorPicker/ColorPicker.vue +376 -0
  244. package/src/components/pickers/ColorPicker/README.md +1439 -0
  245. package/src/components/pickers/ColorPicker/colors.ts +299 -0
  246. package/src/components/pickers/ColorPicker/theme.css +32 -0
  247. package/src/components/pickers/DatePicker/DatePicker.vue +660 -0
  248. package/src/components/pickers/DatePicker/README.md +1195 -0
  249. package/src/components/pickers/DatePicker/theme.css +22 -0
  250. package/src/components/pickers/FilePicker/FilePicker.vue +534 -0
  251. package/src/components/pickers/FilePicker/README.md +1542 -0
  252. package/src/components/pickers/FilePicker/theme.css +48 -0
  253. package/src/components/pickers/FilePicker/types.ts +10 -0
  254. package/src/components/pickers/IconPicker/IconPicker.vue +327 -0
  255. package/src/components/pickers/IconPicker/README.md +1161 -0
  256. package/src/components/pickers/IconPicker/theme.css +28 -0
  257. package/src/components/pickers/theme.css +82 -0
  258. package/src/components/views/MarkdownViewer/MarkdownViewer.vue +442 -0
  259. package/src/components/views/MarkdownViewer/README.md +833 -0
  260. package/src/components/views/MarkdownViewer/theme.css +130 -0
  261. package/src/index.ts +263 -0
  262. package/src/theme.ts +378 -0
  263. package/src/themes/crimson-dark.ts +556 -0
  264. package/src/themes/cyan-light.ts +556 -0
  265. package/src/themes/dark.ts +557 -0
  266. package/src/themes/gold-dark.ts +556 -0
  267. package/src/themes/grass-dark.ts +556 -0
  268. package/src/themes/indigo.ts +556 -0
  269. package/src/themes/light.ts +557 -0
  270. package/src/themes/orange-dark.ts +557 -0
  271. package/src/themes/orange-light.ts +557 -0
  272. package/src/vue.d.ts +45 -0
@@ -0,0 +1,260 @@
1
+ <script setup lang="ts">
2
+ import { ref, computed, watch } from "vue";
3
+ import "./theme.css";
4
+
5
+ export interface Props {
6
+ sliderStyle?: "default" | "capline" | "capsule";
7
+ min?: number;
8
+ max?: number;
9
+ value: number;
10
+ }
11
+
12
+ const emit = defineEmits(["update:value"]);
13
+
14
+ const props = withDefaults(defineProps<Props>(), {
15
+ sliderStyle: "default",
16
+ min: 0,
17
+ max: 100,
18
+ value: 50,
19
+ });
20
+
21
+ const progress = ref(props.value);
22
+ const isDragging = ref(false);
23
+ const showHud = ref(false);
24
+ const trackRef = ref<HTMLDivElement>();
25
+ let hideTimeout: ReturnType<typeof setTimeout> | undefined;
26
+
27
+ // Watch for changes to the value prop
28
+ watch(
29
+ () => props.value,
30
+ (newValue) => {
31
+ progress.value = newValue;
32
+ }
33
+ );
34
+
35
+ const thumbPosition = computed(() => `${progress.value}%`);
36
+
37
+ const updateProgress = (event: MouseEvent | TouchEvent) => {
38
+ if (!trackRef.value) return;
39
+
40
+ const rect = trackRef.value.getBoundingClientRect();
41
+ const clientX = "touches" in event ? event.touches[0].clientX : event.clientX;
42
+ const x = clientX - rect.left;
43
+ console.log(x);
44
+ const percentage = (x / rect.width) * 100;
45
+
46
+ progress.value = Math.max(0, Math.min(100, percentage));
47
+ emit("update:value", progress.value);
48
+ };
49
+
50
+ const handleMouseDown = (event: MouseEvent | TouchEvent) => {
51
+ event.preventDefault();
52
+ isDragging.value = true;
53
+ showHud.value = true;
54
+
55
+ // Clear any existing timeout
56
+ if (hideTimeout) {
57
+ clearTimeout(hideTimeout);
58
+ }
59
+
60
+ updateProgress(event);
61
+
62
+ const handleMove = (e: MouseEvent | TouchEvent) => {
63
+ if (isDragging.value) {
64
+ updateProgress(e);
65
+ }
66
+ };
67
+
68
+ const handleUp = () => {
69
+ isDragging.value = false;
70
+
71
+ // Hide HUD after 500ms
72
+ hideTimeout = setTimeout(() => {
73
+ showHud.value = false;
74
+ }, 500);
75
+
76
+ document.removeEventListener("mousemove", handleMove);
77
+ document.removeEventListener("touchmove", handleMove);
78
+ document.removeEventListener("mouseup", handleUp);
79
+ document.removeEventListener("touchend", handleUp);
80
+ };
81
+
82
+ document.addEventListener("mousemove", handleMove);
83
+ document.addEventListener("touchmove", handleMove);
84
+ document.addEventListener("mouseup", handleUp);
85
+ document.addEventListener("touchend", handleUp);
86
+ };
87
+ </script>
88
+
89
+ <template>
90
+ <div :class="[$style.container, $style[sliderStyle]]">
91
+ <p :class="[$style.label, 'footnote']">{{ min }}</p>
92
+ <div
93
+ ref="trackRef"
94
+ :class="$style.track"
95
+ @mousedown="handleMouseDown"
96
+ @touchstart="handleMouseDown"
97
+ >
98
+ <div
99
+ :class="$style.progress"
100
+ :style="{
101
+ width: thumbPosition,
102
+ '--border-opacity': progress < 5 ? progress / 5 : 1,
103
+ }"
104
+ ></div>
105
+ <div :class="$style.thumb" :style="{ '--progress': progress + '%' }">
106
+ <div :class="[$style.hud, { [$style.visible]: showHud }]">
107
+ <p class="footnote">{{ Math.round(progress) }}</p>
108
+ </div>
109
+ </div>
110
+ </div>
111
+ <p :class="[$style.label, 'footnote']">{{ max }}</p>
112
+ </div>
113
+ </template>
114
+
115
+ <style module>
116
+ .container {
117
+ display: flex;
118
+ align-items: center;
119
+ gap: 0.47rem;
120
+ }
121
+
122
+ .label {
123
+ color: var(--slider-label-color);
124
+ opacity: 1;
125
+ }
126
+
127
+ .track {
128
+ position: relative;
129
+ min-width: 11.76rem;
130
+ width: 100%;
131
+ border-radius: 999px;
132
+ cursor: default;
133
+ user-select: none;
134
+ }
135
+ .container.default .track {
136
+ height: 0.24rem;
137
+ background-color: var(--slider-track-default-bg);
138
+ }
139
+ .container.capsule .track {
140
+ background-color: transparent;
141
+ height: 1.18rem;
142
+ border: 0.12rem solid var(--slider-track-capsule-border);
143
+ padding: 0 0.5rem; /* Add horizontal padding to create boundaries */
144
+ box-sizing: border-box;
145
+ }
146
+ .container.capline .track {
147
+ height: 0.88rem;
148
+ background-color: var(--slider-track-capline-bg);
149
+ }
150
+
151
+ .thumb {
152
+ position: absolute;
153
+ top: 50%;
154
+ transform: translate(-50%, -50%);
155
+ }
156
+ .container.default .thumb {
157
+ background-color: var(--slider-thumb-default-bg);
158
+ width: 1rem;
159
+ height: 1rem;
160
+ border-radius: 50%;
161
+ left: var(--progress);
162
+ border: var(--slider-thumb-default-border);
163
+ }
164
+ .container.capsule .thumb {
165
+ background-color: var(--slider-thumb-capsule-bg);
166
+ width: 1rem;
167
+ height: 1rem;
168
+ border-radius: 50%;
169
+ left: var(--progress);
170
+ border: var(--slider-thumb-capsule-border);
171
+ }
172
+ .container.capline .thumb {
173
+ background-color: var(--slider-thumb-capline-bg);
174
+ width: 0.35rem;
175
+ height: 1.35rem;
176
+ border-radius: 999px;
177
+ left: var(--progress);
178
+ border: var(--slider-thumb-capline-border);
179
+ }
180
+
181
+ .progress {
182
+ height: 100%;
183
+ border-radius: 999px;
184
+ position: absolute;
185
+ left: 0;
186
+ top: 0;
187
+ }
188
+ .container.default .progress {
189
+ background-color: var(--slider-progress-default-bg);
190
+ }
191
+ .container.capsule .progress {
192
+ background-color: var(--slider-progress-capsule-bg);
193
+ position: relative;
194
+ }
195
+ .container.capsule .progress::before {
196
+ content: "";
197
+ position: absolute;
198
+ top: 0;
199
+ left: -6.5px;
200
+ right: 0;
201
+ bottom: 0;
202
+ background-color: var(--slider-progress-capsule-bg);
203
+ border-top: 0.24rem solid var(--slider-progress-capsule-border-top);
204
+ border-bottom: 0.24rem solid var(--slider-progress-capsule-border-bottom);
205
+ border-left: 0.24rem solid var(--slider-progress-capsule-border-left);
206
+ opacity: var(--border-opacity, 1);
207
+ border-radius: 999px;
208
+ }
209
+ .container.capline .progress {
210
+ background-color: var(--slider-progress-capline-bg);
211
+ border-top-right-radius: 0px;
212
+ border-bottom-right-radius: 0px;
213
+ }
214
+
215
+ .hud {
216
+ position: absolute;
217
+ padding: 0.24rem;
218
+ border-radius: 0.24rem;
219
+ left: 50%;
220
+ transform: translateX(-50%);
221
+ white-space: nowrap;
222
+ opacity: 0;
223
+ transition: opacity 0.2s ease;
224
+ display: flex;
225
+ align-items: center;
226
+ justify-content: center;
227
+ }
228
+
229
+ .container.default .hud {
230
+ bottom: calc(100% + 0.29rem);
231
+ background-color: var(--slider-hud-default-bg);
232
+ }
233
+ .container.capsule .hud {
234
+ bottom: calc(100% + 0.59rem);
235
+ background-color: var(--slider-hud-capsule-bg);
236
+ border-radius: 999px;
237
+ min-width: 2rem;
238
+ }
239
+ .container.capline .hud {
240
+ bottom: calc(100% + 0.59rem);
241
+ background-color: var(--slider-hud-capline-bg);
242
+ }
243
+
244
+ .hud.visible {
245
+ opacity: 1;
246
+ }
247
+
248
+ .hud p {
249
+ margin: 0;
250
+ }
251
+ .container.default .hud p {
252
+ color: var(--slider-hud-default-text);
253
+ }
254
+ .container.capsule .hud p {
255
+ color: var(--slider-hud-capsule-text);
256
+ }
257
+ .container.capline .hud p {
258
+ color: var(--slider-hud-capline-text);
259
+ }
260
+ </style>
@@ -0,0 +1,74 @@
1
+ /* Light theme using Colors */
2
+ :root {
3
+ /* Slider label colors */
4
+ --slider-label-color: #1a1d23; /* gray12 - dark text for light mode */
5
+
6
+ /* Slider track colors */
7
+ --slider-track-default-bg: #cecece; /* gray5 - light background for light mode */
8
+ --slider-track-capsule-border: #0090ff; /* blue9 - same as button primary */
9
+ --slider-track-capline-bg: #e3e5e8; /* gray5 - light background for light mode */
10
+
11
+ /* Slider thumb colors */
12
+ --slider-thumb-default-bg: white;
13
+ --slider-thumb-capsule-bg: #0090ff;
14
+ --slider-thumb-capline-bg: white;
15
+
16
+ /* Slider thumb border colors */
17
+ --slider-thumb-default-border: 1px solid #cecece;
18
+ --slider-thumb-capsule-border: 0.12rem solid white;
19
+ --slider-thumb-capline-border: 1px solid #cecece;
20
+
21
+ /* Slider progress colors */
22
+ --slider-progress-default-bg: #0090ff; /* blue9 - same as button primary */
23
+ --slider-progress-capsule-bg: #acd8fc; /* light blue background for light mode */
24
+ --slider-progress-capsule-border-top: white;
25
+ --slider-progress-capsule-border-bottom: white;
26
+ --slider-progress-capsule-border-left: white;
27
+ --slider-progress-capline-bg: #0090ff; /* blue9 - same as button primary */
28
+
29
+ /* Slider HUD colors */
30
+ --slider-hud-default-bg: #8b8d98; /* gray9 - muted background for light mode */
31
+ --slider-hud-default-text: #ffffff; /* white text for contrast */
32
+ --slider-hud-capsule-bg: #0090ff; /* blue9 - same as button primary */
33
+ --slider-hud-capsule-text: #ffffff; /* white text for contrast */
34
+ --slider-hud-capline-bg: #8b8d98; /* white background for light mode */
35
+ --slider-hud-capline-text: #ffffff; /* gray12 - dark text for light mode */
36
+ }
37
+
38
+ /* Dark theme */
39
+ .dark,
40
+ .dark-theme {
41
+ /* Slider label colors */
42
+ --slider-label-color: #eeeeee; /* Original dark mode value */
43
+
44
+ /* Slider track colors */
45
+ --slider-track-default-bg: #484848; /* Original dark mode value */
46
+ --slider-track-capsule-border: #0090ff; /* blue9 - same as button primary */
47
+ --slider-track-capline-bg: #484848; /* Original dark mode value */
48
+
49
+ /* Slider thumb colors */
50
+ --slider-thumb-default-bg: #b4b4b4; /* Original dark mode value */
51
+ --slider-thumb-capsule-bg: #eeeeee; /* Original dark mode value */
52
+ --slider-thumb-capline-bg: #b4b4b4; /* Original dark mode value */
53
+
54
+ /* Slider thumb border colors */
55
+ --slider-thumb-default-border: 1px solid #d9d9d9;
56
+ --slider-thumb-capsule-border: 1px solid #000000;
57
+ --slider-thumb-capline-border: 1px solid #d9d9d9;
58
+
59
+ /* Slider progress colors */
60
+ --slider-progress-default-bg: #0090ff; /* blue9 - same as button primary */
61
+ --slider-progress-capsule-bg: #0d2847; /* Original dark mode value */
62
+ --slider-progress-capsule-border-top: #000000; /* Original dark mode value */
63
+ --slider-progress-capsule-border-bottom: #000000; /* Original dark mode value */
64
+ --slider-progress-capsule-border-left: #000000; /* Original dark mode value */
65
+ --slider-progress-capline-bg: #0090ff; /* blue9 - same as button primary */
66
+
67
+ /* Slider HUD colors */
68
+ --slider-hud-default-bg: #b4b4b4; /* Original dark mode value */
69
+ --slider-hud-default-text: #000000; /* Original dark mode value */
70
+ --slider-hud-capsule-bg: #0090ff; /* blue9 - same as button primary */
71
+ --slider-hud-capsule-text: #eeeeee; /* Original dark mode value */
72
+ --slider-hud-capline-bg: #eeeeee; /* Original dark mode value */
73
+ --slider-hud-capline-text: #000000; /* Original dark mode value */
74
+ }