@umbra.ui/core 0.1.7 → 0.1.9

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 (45) hide show
  1. package/dist/components/controls/Dropdown/types.js +2 -1
  2. package/dist/components/controls/SegmentedControl/types.js +2 -1
  3. package/dist/components/dialogs/Alert/types.js +2 -1
  4. package/dist/components/dialogs/Toast/types.js +4 -1
  5. package/dist/components/dialogs/Toast/useToast.js +13 -9
  6. package/dist/components/indicators/Tooltip/tooltip.js +7 -4
  7. package/dist/components/indicators/Tooltip/types.js +2 -1
  8. package/dist/components/indicators/Tooltip/useTooltip.js +10 -5
  9. package/dist/components/inputs/Tags/tag-bar-styles.js +6 -3
  10. package/dist/components/inputs/Tags/types.js +58 -15
  11. package/dist/components/inputs/search/types.js +2 -1
  12. package/dist/components/navigation/adaptive/types.js +2 -1
  13. package/dist/components/navigation/adaptive/useAdaptiveLayout.js +14 -10
  14. package/dist/components/navigation/adaptive/useBreakpoints.js +5 -1
  15. package/dist/components/navigation/adaptive/useContainerMonitor.js +20 -16
  16. package/dist/components/navigation/adaptive/useViewAnimation.js +17 -10
  17. package/dist/components/navigation/adaptive/useViewResize.js +10 -6
  18. package/dist/components/navigation/navstack/useNavigationStack.js +13 -10
  19. package/dist/components/navigation/slideover/useSlideoverController.js +23 -19
  20. package/dist/components/navigation/splitview/useSplitViewController.js +26 -22
  21. package/dist/components/navigation/tabcontroller/types.js +2 -1
  22. package/dist/components/navigation/tabcontroller/useTabController.js +8 -4
  23. package/dist/components/navigation/types.js +2 -1
  24. package/dist/components/pickers/CollectionPicker/types.js +2 -1
  25. package/dist/components/pickers/ColorPicker/colors.js +29 -26
  26. package/dist/components/pickers/FilePicker/types.js +2 -1
  27. package/dist/index.js +172 -73
  28. package/dist/index.mjs +77 -0
  29. package/dist/readme.d.ts.map +1 -1
  30. package/dist/readme.js +13 -12
  31. package/dist/theme.js +61 -45
  32. package/dist/themes/crimson-dark.js +5 -2
  33. package/dist/themes/cyan-light.js +5 -2
  34. package/dist/themes/dark.js +5 -2
  35. package/dist/themes/gold-dark.js +5 -2
  36. package/dist/themes/grass-dark.js +5 -2
  37. package/dist/themes/indigo.js +5 -2
  38. package/dist/themes/light.js +5 -2
  39. package/dist/themes/orange-dark.js +5 -2
  40. package/dist/themes/orange-light.js +5 -2
  41. package/package.json +6 -4
  42. package/src/readme.ts +2 -13
  43. package/dist/themes/blank.d.ts +0 -7
  44. package/dist/themes/blank.d.ts.map +0 -1
  45. package/dist/themes/blank.js +0 -543
@@ -1,12 +1,15 @@
1
- import { ref, computed } from "vue";
2
- import { gsap } from "gsap";
3
- import { Flip } from "gsap/Flip";
4
- gsap.registerPlugin(Flip);
5
- export const useSlideoverController = (panes, componentId) => {
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useSlideoverController = void 0;
4
+ const vue_1 = require("vue");
5
+ const gsap_1 = require("gsap");
6
+ const Flip_1 = require("gsap/Flip");
7
+ gsap_1.gsap.registerPlugin(Flip_1.Flip);
8
+ const useSlideoverController = (panes, componentId) => {
6
9
  // State to track visibility of panes
7
- const visiblePanes = ref(panes.map(() => false));
10
+ const visiblePanes = (0, vue_1.ref)(panes.map(() => false));
8
11
  // Track the current active pane index
9
- const currentPaneIndex = computed(() => {
12
+ const currentPaneIndex = (0, vue_1.computed)(() => {
10
13
  // Find the highest index that's visible
11
14
  for (let i = visiblePanes.value.length - 1; i >= 0; i--) {
12
15
  if (visiblePanes.value[i]) {
@@ -28,11 +31,11 @@ export const useSlideoverController = (panes, componentId) => {
28
31
  return;
29
32
  if (show) {
30
33
  darken.style.pointerEvents = "all";
31
- gsap.to(darken, { duration: 0.5, opacity: 1, ease: "circ.outOut" });
34
+ gsap_1.gsap.to(darken, { duration: 0.5, opacity: 1, ease: "circ.outOut" });
32
35
  }
33
36
  else {
34
37
  darken.style.pointerEvents = "none";
35
- gsap.to(darken, { duration: 0.5, opacity: 0, ease: "circ.outOut" });
38
+ gsap_1.gsap.to(darken, { duration: 0.5, opacity: 0, ease: "circ.outOut" });
36
39
  }
37
40
  };
38
41
  // Show a specific pane and all panes after it
@@ -51,7 +54,7 @@ export const useSlideoverController = (panes, componentId) => {
51
54
  .slice(0, -1) // Exclude main pane
52
55
  .map((_, i) => document.getElementById(getPaneId(i)))
53
56
  .filter((el) => el !== null);
54
- const state = Flip.getState(paneElements);
57
+ const state = Flip_1.Flip.getState(paneElements);
55
58
  // Show all panes from the selected index onward
56
59
  for (let i = 0; i < panes.length - 1; i++) {
57
60
  const pane = document.getElementById(getPaneId(i));
@@ -69,7 +72,7 @@ export const useSlideoverController = (panes, componentId) => {
69
72
  }
70
73
  }
71
74
  // Animate
72
- Flip.from(state, {
75
+ Flip_1.Flip.from(state, {
73
76
  duration: 0.3,
74
77
  ease: "power1.inOut",
75
78
  absolute: true,
@@ -90,7 +93,7 @@ export const useSlideoverController = (panes, componentId) => {
90
93
  .slice(0, -1)
91
94
  .map((_, i) => document.getElementById(getPaneId(i)))
92
95
  .filter((el) => el !== null);
93
- const state = Flip.getState(paneElements);
96
+ const state = Flip_1.Flip.getState(paneElements);
94
97
  // Hide all panes up to and including the specified index
95
98
  for (let i = 0; i <= index && i < panes.length - 1; i++) {
96
99
  const pane = document.getElementById(getPaneId(i));
@@ -101,7 +104,7 @@ export const useSlideoverController = (panes, componentId) => {
101
104
  }
102
105
  }
103
106
  // Animate
104
- Flip.from(state, {
107
+ Flip_1.Flip.from(state, {
105
108
  duration: 0.3,
106
109
  ease: "power1.inOut",
107
110
  absolute: true,
@@ -125,7 +128,7 @@ export const useSlideoverController = (panes, componentId) => {
125
128
  .slice(0, -1)
126
129
  .map((_, i) => document.getElementById(getPaneId(i)))
127
130
  .filter((el) => el !== null);
128
- const state = Flip.getState(paneElements);
131
+ const state = Flip_1.Flip.getState(paneElements);
129
132
  // If the previous pane is visible, hide all before this one
130
133
  if (visiblePanes.value[index - 1]) {
131
134
  for (let i = 0; i < index; i++) {
@@ -147,7 +150,7 @@ export const useSlideoverController = (panes, componentId) => {
147
150
  }
148
151
  }
149
152
  // Animate
150
- Flip.from(state, {
153
+ Flip_1.Flip.from(state, {
151
154
  duration: 0.3,
152
155
  ease: "power1.inOut",
153
156
  absolute: true,
@@ -166,7 +169,7 @@ export const useSlideoverController = (panes, componentId) => {
166
169
  .slice(0, -1)
167
170
  .map((_, i) => document.getElementById(getPaneId(i)))
168
171
  .filter((el) => el !== null);
169
- const state = Flip.getState(paneElements);
172
+ const state = Flip_1.Flip.getState(paneElements);
170
173
  // Move all secondary panes to overlay
171
174
  for (let i = 0; i < panes.length - 1; i++) {
172
175
  const pane = document.getElementById(getPaneId(i));
@@ -176,7 +179,7 @@ export const useSlideoverController = (panes, componentId) => {
176
179
  overlay.appendChild(pane);
177
180
  }
178
181
  }
179
- Flip.from(state, {
182
+ Flip_1.Flip.from(state, {
180
183
  duration: 0.3,
181
184
  ease: "power1.inOut",
182
185
  absolute: true,
@@ -195,7 +198,7 @@ export const useSlideoverController = (panes, componentId) => {
195
198
  .slice(0, -1)
196
199
  .map((_, i) => document.getElementById(getPaneId(i)))
197
200
  .filter((el) => el !== null);
198
- const state = Flip.getState(paneElements);
201
+ const state = Flip_1.Flip.getState(paneElements);
199
202
  // Move all panes from overlay to offscreen
200
203
  for (let i = 0; i < panes.length - 1; i++) {
201
204
  const pane = document.getElementById(getPaneId(i));
@@ -205,7 +208,7 @@ export const useSlideoverController = (panes, componentId) => {
205
208
  offscreen.appendChild(pane);
206
209
  }
207
210
  }
208
- Flip.from(state, {
211
+ Flip_1.Flip.from(state, {
209
212
  duration: 0.3,
210
213
  ease: "power1.inOut",
211
214
  absolute: true,
@@ -265,3 +268,4 @@ export const useSlideoverController = (panes, componentId) => {
265
268
  navigate,
266
269
  };
267
270
  };
271
+ exports.useSlideoverController = useSlideoverController;
@@ -1,21 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useSplitViewController = void 0;
1
4
  //useSplitViewController.ts
2
- import { ref, computed, unref, watch } from "vue";
3
- import { gsap } from "gsap";
4
- import { Flip } from "gsap/Flip";
5
- gsap.registerPlugin(Flip);
6
- export const useSplitViewController = (panes, componentId) => {
5
+ const vue_1 = require("vue");
6
+ const gsap_1 = require("gsap");
7
+ const Flip_1 = require("gsap/Flip");
8
+ gsap_1.gsap.registerPlugin(Flip_1.Flip);
9
+ const useSplitViewController = (panes, componentId) => {
7
10
  // Get the actual panes array
8
- const panesArray = computed(() => unref(panes));
11
+ const panesArray = (0, vue_1.computed)(() => (0, vue_1.unref)(panes));
9
12
  // State to track visibility of panes
10
- const visiblePanes = ref(panesArray.value.map(() => true));
13
+ const visiblePanes = (0, vue_1.ref)(panesArray.value.map(() => true));
11
14
  // Vue-native event stream for visibility changes
12
- const lastVisibilityEvent = ref(null);
15
+ const lastVisibilityEvent = (0, vue_1.ref)(null);
13
16
  // Watch for changes in panes and update visiblePanes accordingly
14
- watch(panesArray, (newPanes) => {
17
+ (0, vue_1.watch)(panesArray, (newPanes) => {
15
18
  visiblePanes.value = newPanes.map((_, index) => index === newPanes.length - 1 ? true : visiblePanes.value[index] || false);
16
19
  });
17
20
  // Track the current visible pane indices
18
- const currentPaneIndex = computed(() => {
21
+ const currentPaneIndex = (0, vue_1.computed)(() => {
19
22
  // Find the highest index that's visible (excluding the last pane which is always visible)
20
23
  for (let i = visiblePanes.value.length - 2; i >= 0; i--) {
21
24
  if (visiblePanes.value[i]) {
@@ -42,7 +45,7 @@ export const useSplitViewController = (panes, componentId) => {
42
45
  const paneElements = panesArray.value
43
46
  .map((_, i) => document.getElementById(getPaneId(i)))
44
47
  .filter((el) => el !== null);
45
- const state = Flip.getState(paneElements);
48
+ const state = Flip_1.Flip.getState(paneElements);
46
49
  // Show the specified pane
47
50
  const pane = document.getElementById(getPaneId(index));
48
51
  if (pane && !visiblePanes.value[index]) {
@@ -66,7 +69,7 @@ export const useSplitViewController = (panes, componentId) => {
66
69
  lastVisibilityEvent.value = { type: "show", index };
67
70
  }
68
71
  // Animate
69
- Flip.from(state, {
72
+ Flip_1.Flip.from(state, {
70
73
  duration: 0.3,
71
74
  ease: "power1.inOut",
72
75
  absolute: true,
@@ -86,7 +89,7 @@ export const useSplitViewController = (panes, componentId) => {
86
89
  const paneElements = panesArray.value
87
90
  .map((_, i) => document.getElementById(getPaneId(i)))
88
91
  .filter((el) => el !== null);
89
- const state = Flip.getState(paneElements);
92
+ const state = Flip_1.Flip.getState(paneElements);
90
93
  // Hide the specified pane
91
94
  const pane = document.getElementById(getPaneId(index));
92
95
  if (pane && visiblePanes.value[index]) {
@@ -96,7 +99,7 @@ export const useSplitViewController = (panes, componentId) => {
96
99
  lastVisibilityEvent.value = { type: "hide", index };
97
100
  }
98
101
  // Animate
99
- Flip.from(state, {
102
+ Flip_1.Flip.from(state, {
100
103
  duration: 0.3,
101
104
  ease: "power1.inOut",
102
105
  absolute: true,
@@ -116,7 +119,7 @@ export const useSplitViewController = (panes, componentId) => {
116
119
  const paneElements = panesArray.value
117
120
  .map((_, i) => document.getElementById(getPaneId(i)))
118
121
  .filter((el) => el !== null);
119
- const state = Flip.getState(paneElements);
122
+ const state = Flip_1.Flip.getState(paneElements);
120
123
  // Hide all panes before the clicked pane
121
124
  if (visiblePanes.value[index - 1]) {
122
125
  for (let i = 0; i < index; i++) {
@@ -140,7 +143,7 @@ export const useSplitViewController = (panes, componentId) => {
140
143
  }
141
144
  }
142
145
  // Animate
143
- Flip.from(state, {
146
+ Flip_1.Flip.from(state, {
144
147
  duration: 0.3,
145
148
  ease: "power1.inOut",
146
149
  absolute: true,
@@ -157,7 +160,7 @@ export const useSplitViewController = (panes, componentId) => {
157
160
  const paneElements = panesArray.value
158
161
  .map((_, i) => document.getElementById(getPaneId(i)))
159
162
  .filter((el) => el !== null);
160
- const state = Flip.getState(paneElements);
163
+ const state = Flip_1.Flip.getState(paneElements);
161
164
  // Show all panes except the last one (which is always visible)
162
165
  for (let i = 0; i < panesArray.value.length - 1; i++) {
163
166
  const pane = document.getElementById(getPaneId(i));
@@ -182,7 +185,7 @@ export const useSplitViewController = (panes, componentId) => {
182
185
  lastVisibilityEvent.value = { type: "show", index: i };
183
186
  }
184
187
  }
185
- Flip.from(state, {
188
+ Flip_1.Flip.from(state, {
186
189
  duration: 0.3,
187
190
  ease: "power1.inOut",
188
191
  absolute: true,
@@ -199,7 +202,7 @@ export const useSplitViewController = (panes, componentId) => {
199
202
  const paneElements = panesArray.value
200
203
  .map((_, i) => document.getElementById(getPaneId(i)))
201
204
  .filter((el) => el !== null);
202
- const state = Flip.getState(paneElements);
205
+ const state = Flip_1.Flip.getState(paneElements);
203
206
  // Hide all panes except the last one
204
207
  for (let i = 0; i < panesArray.value.length - 1; i++) {
205
208
  const pane = document.getElementById(getPaneId(i));
@@ -210,7 +213,7 @@ export const useSplitViewController = (panes, componentId) => {
210
213
  lastVisibilityEvent.value = { type: "hide", index: i };
211
214
  }
212
215
  }
213
- Flip.from(state, {
216
+ Flip_1.Flip.from(state, {
214
217
  duration: 0.3,
215
218
  ease: "power1.inOut",
216
219
  absolute: true,
@@ -269,7 +272,7 @@ export const useSplitViewController = (panes, componentId) => {
269
272
  const paneElements = panesArray.value
270
273
  .map((_, i) => document.getElementById(getPaneId(i)))
271
274
  .filter((el) => el !== null);
272
- const state = Flip.getState(paneElements);
275
+ const state = Flip_1.Flip.getState(paneElements);
273
276
  // First hide all panes
274
277
  for (let i = 0; i < panesArray.value.length - 1; i++) {
275
278
  if (i !== index && visiblePanes.value[i]) {
@@ -304,7 +307,7 @@ export const useSplitViewController = (panes, componentId) => {
304
307
  }
305
308
  lastVisibilityEvent.value = { type: "show", index };
306
309
  }
307
- Flip.from(state, {
310
+ Flip_1.Flip.from(state, {
308
311
  duration: 0.3,
309
312
  ease: "power1.inOut",
310
313
  absolute: true,
@@ -323,3 +326,4 @@ export const useSplitViewController = (panes, componentId) => {
323
326
  navigate,
324
327
  };
325
328
  };
329
+ exports.useSplitViewController = useSplitViewController;
@@ -1 +1,2 @@
1
- export {};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,10 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useTabController = exports.TabControllerKey = void 0;
1
4
  // ============= useTabController.ts =============
2
- import { inject } from "vue";
3
- export const TabControllerKey = Symbol("TabController");
4
- export const useTabController = () => {
5
- const context = inject(TabControllerKey);
5
+ const vue_1 = require("vue");
6
+ exports.TabControllerKey = Symbol("TabController");
7
+ const useTabController = () => {
8
+ const context = (0, vue_1.inject)(exports.TabControllerKey);
6
9
  if (!context) {
7
10
  throw new Error("useTabController must be used within a TabController component");
8
11
  }
9
12
  return context;
10
13
  };
14
+ exports.useTabController = useTabController;
@@ -1 +1,2 @@
1
- export {};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1 +1,2 @@
1
- export {};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,4 +1,7 @@
1
- export const colors = [
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.colorGroups = exports.colorPickerColors = exports.colors = void 0;
4
+ exports.colors = [
2
5
  { name: "Gray", hex: "#E5E7EB", weight: 200 },
3
6
  { name: "Gray", hex: "#D1D5DB", weight: 300 },
4
7
  { name: "Gray", hex: "#9CA3AF", weight: 400 },
@@ -169,98 +172,98 @@ export const colors = [
169
172
  { name: "Rose", hex: "#881337", weight: 900 },
170
173
  ];
171
174
  // Create a colorPicker object for easy access to colors by name and weight
172
- export const colorPickerColors = {};
175
+ exports.colorPickerColors = {};
173
176
  // Populate the colorPicker object
174
- colors.forEach((color) => {
177
+ exports.colors.forEach((color) => {
175
178
  if (color.name && color.weight) {
176
179
  const key = `${color.name.toLowerCase()}${color.weight}`;
177
- colorPickerColors[key] = color;
180
+ exports.colorPickerColors[key] = color;
178
181
  }
179
182
  });
180
183
  // Also export individual color groups for convenience
181
- export const colorGroups = [
184
+ exports.colorGroups = [
182
185
  {
183
186
  name: "Gray",
184
- colors: colors.filter((c) => c.name === "Gray"),
187
+ colors: exports.colors.filter((c) => c.name === "Gray"),
185
188
  },
186
189
  {
187
190
  name: "Zinc",
188
- colors: colors.filter((c) => c.name === "Zinc"),
191
+ colors: exports.colors.filter((c) => c.name === "Zinc"),
189
192
  },
190
193
  {
191
194
  name: "Neutral",
192
- colors: colors.filter((c) => c.name === "Neutral"),
195
+ colors: exports.colors.filter((c) => c.name === "Neutral"),
193
196
  },
194
197
  {
195
198
  name: "Stone",
196
- colors: colors.filter((c) => c.name === "Stone"),
199
+ colors: exports.colors.filter((c) => c.name === "Stone"),
197
200
  },
198
201
  {
199
202
  name: "Red",
200
- colors: colors.filter((c) => c.name === "Red"),
203
+ colors: exports.colors.filter((c) => c.name === "Red"),
201
204
  },
202
205
  {
203
206
  name: "Orange",
204
- colors: colors.filter((c) => c.name === "Orange"),
207
+ colors: exports.colors.filter((c) => c.name === "Orange"),
205
208
  },
206
209
  {
207
210
  name: "Amber",
208
- colors: colors.filter((c) => c.name === "Amber"),
211
+ colors: exports.colors.filter((c) => c.name === "Amber"),
209
212
  },
210
213
  {
211
214
  name: "Yellow",
212
- colors: colors.filter((c) => c.name === "Yellow"),
215
+ colors: exports.colors.filter((c) => c.name === "Yellow"),
213
216
  },
214
217
  {
215
218
  name: "Lime",
216
- colors: colors.filter((c) => c.name === "Lime"),
219
+ colors: exports.colors.filter((c) => c.name === "Lime"),
217
220
  },
218
221
  {
219
222
  name: "Green",
220
- colors: colors.filter((c) => c.name === "Green"),
223
+ colors: exports.colors.filter((c) => c.name === "Green"),
221
224
  },
222
225
  {
223
226
  name: "Emerald",
224
- colors: colors.filter((c) => c.name === "Emerald"),
227
+ colors: exports.colors.filter((c) => c.name === "Emerald"),
225
228
  },
226
229
  {
227
230
  name: "Teal",
228
- colors: colors.filter((c) => c.name === "Teal"),
231
+ colors: exports.colors.filter((c) => c.name === "Teal"),
229
232
  },
230
233
  {
231
234
  name: "Cyan",
232
- colors: colors.filter((c) => c.name === "Cyan"),
235
+ colors: exports.colors.filter((c) => c.name === "Cyan"),
233
236
  },
234
237
  {
235
238
  name: "Sky",
236
- colors: colors.filter((c) => c.name === "Sky"),
239
+ colors: exports.colors.filter((c) => c.name === "Sky"),
237
240
  },
238
241
  {
239
242
  name: "Blue",
240
- colors: colors.filter((c) => c.name === "Blue"),
243
+ colors: exports.colors.filter((c) => c.name === "Blue"),
241
244
  },
242
245
  {
243
246
  name: "Indigo",
244
- colors: colors.filter((c) => c.name === "Indigo"),
247
+ colors: exports.colors.filter((c) => c.name === "Indigo"),
245
248
  },
246
249
  {
247
250
  name: "Violet",
248
- colors: colors.filter((c) => c.name === "Violet"),
251
+ colors: exports.colors.filter((c) => c.name === "Violet"),
249
252
  },
250
253
  {
251
254
  name: "Purple",
252
- colors: colors.filter((c) => c.name === "Purple"),
255
+ colors: exports.colors.filter((c) => c.name === "Purple"),
253
256
  },
254
257
  {
255
258
  name: "Fuchsia",
256
- colors: colors.filter((c) => c.name === "Fuchsia"),
259
+ colors: exports.colors.filter((c) => c.name === "Fuchsia"),
257
260
  },
258
261
  {
259
262
  name: "Pink",
260
- colors: colors.filter((c) => c.name === "Pink"),
263
+ colors: exports.colors.filter((c) => c.name === "Pink"),
261
264
  },
262
265
  {
263
266
  name: "Rose",
264
- colors: colors.filter((c) => c.name === "Rose"),
267
+ colors: exports.colors.filter((c) => c.name === "Rose"),
265
268
  },
266
269
  ];
@@ -1 +1,2 @@
1
- export {};
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });