@vuetify/v0 1.0.0-rc.7 → 1.0.0-rc.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 (89) hide show
  1. package/README.md +2 -2
  2. package/dist/{adapter-CMdKyFLz.d.mts → adapter-CVNRHfrz.d.mts} +1 -1
  3. package/dist/browser/index.d.ts +73 -36
  4. package/dist/browser/index.js +254 -122
  5. package/dist/components/index.d.mts +1 -1
  6. package/dist/components/index.mjs +1 -1
  7. package/dist/{components-D87gpuRI.mjs → components-BVbls2Zu.mjs} +64 -31
  8. package/dist/composables/index.d.mts +6 -6
  9. package/dist/composables/index.mjs +21 -21
  10. package/dist/{composables-DAc4DbYb.mjs → composables-BT7flkAT.mjs} +18 -12
  11. package/dist/constants/index.mjs +1 -1
  12. package/dist/{createDataTable-C86TFzxJ.mjs → createDataTable-s3eVS4Zu.mjs} +3 -3
  13. package/dist/{createGroup-DKVmhWJZ.mjs → createGroup-B6LPZBb5.mjs} +1 -1
  14. package/dist/{createRegistry-DaRYxox5.mjs → createRegistry-BGTmeeis.mjs} +23 -13
  15. package/dist/{createSelection-CZFfJnBv.mjs → createSelection-CyN6WFYU.mjs} +27 -13
  16. package/dist/{createSingle-D08Et-36.mjs → createSingle-B2ccuoDn.mjs} +1 -1
  17. package/dist/{createTokens-BY_7TedA.mjs → createTokens-CmFlFaiL.mjs} +8 -7
  18. package/dist/data-table/index.d.mts +1 -1
  19. package/dist/data-table/index.mjs +1 -1
  20. package/dist/date/index.mjs +1 -1
  21. package/dist/features/adapters/posthog/index.mjs +1 -1
  22. package/dist/features/index.d.mts +1 -1
  23. package/dist/features/index.mjs +1 -1
  24. package/dist/{globals-Djy_aCgG.mjs → globals-RL3Sag6Q.mjs} +1 -1
  25. package/dist/{index-B5ybQyJO.d.mts → index-BwNRi6BK.d.mts} +9 -7
  26. package/dist/{index-CUdlfMMw.d.mts → index-CfoyBH6V.d.mts} +144 -110
  27. package/dist/{index-CIf2yTGR.d.mts → index-CrFFilCd.d.mts} +2 -2
  28. package/dist/{index-CfSenWTN.d.mts → index-DCtHbY0a.d.mts} +1 -1
  29. package/dist/{index-DTYOP7ci.d.mts → index-RGiSdjYt.d.mts} +8 -7
  30. package/dist/index.d.mts +7 -7
  31. package/dist/index.mjs +23 -23
  32. package/dist/json/attributes.json +28 -0
  33. package/dist/json/tags.json +7 -0
  34. package/dist/json/web-types.json +65 -2
  35. package/dist/locale/adapters/index.d.mts +2 -2
  36. package/dist/locale/adapters/index.mjs +1 -1
  37. package/dist/locale/adapters/v0/index.d.mts +1 -1
  38. package/dist/locale/adapters/v0/index.mjs +1 -1
  39. package/dist/locale/adapters/vue-i18n/index.d.mts +1 -1
  40. package/dist/locale/index.d.mts +3 -3
  41. package/dist/locale/index.mjs +2 -2
  42. package/dist/locale/messages/en/index.d.mts +6 -0
  43. package/dist/locale/messages/en/index.mjs +3 -1
  44. package/dist/logger/adapters/index.mjs +1 -1
  45. package/dist/logger/adapters/v0/index.mjs +1 -1
  46. package/dist/logger/index.d.mts +1 -1
  47. package/dist/logger/index.mjs +2 -2
  48. package/dist/notifications/index.d.mts +1 -1
  49. package/dist/notifications/index.mjs +2 -2
  50. package/dist/palettes/ant/index.d.mts +1 -1
  51. package/dist/palettes/index.d.mts +2 -2
  52. package/dist/palettes/material/index.d.mts +1 -1
  53. package/dist/palettes/md1/index.d.mts +1 -1
  54. package/dist/palettes/md2/index.d.mts +1 -1
  55. package/dist/palettes/radix/index.d.mts +1 -1
  56. package/dist/palettes/tailwind/index.d.mts +1 -1
  57. package/dist/permissions/adapters/index.d.mts +1 -1
  58. package/dist/permissions/adapters/v0/index.d.mts +1 -1
  59. package/dist/permissions/index.d.mts +1 -1
  60. package/dist/permissions/index.mjs +1 -1
  61. package/dist/rules/index.d.mts +1 -1
  62. package/dist/rules/index.mjs +1 -1
  63. package/dist/storage/index.d.mts +1 -1
  64. package/dist/storage/index.mjs +1 -1
  65. package/dist/theme/adapters/index.d.mts +1 -1
  66. package/dist/theme/adapters/index.mjs +2 -2
  67. package/dist/theme/adapters/unhead/index.d.mts +1 -1
  68. package/dist/theme/adapters/unhead/index.mjs +1 -1
  69. package/dist/theme/adapters/v0/index.d.mts +1 -1
  70. package/dist/theme/adapters/v0/index.mjs +1 -1
  71. package/dist/theme/index.d.mts +1 -1
  72. package/dist/theme/index.mjs +3 -3
  73. package/dist/{unhead-CAPMhSV7.mjs → unhead-CEoip0pl.mjs} +20 -2
  74. package/dist/{useEventListener-BtOsc1qg.mjs → useEventListener-CBJTFVtj.mjs} +1 -1
  75. package/dist/{useFeatures-B5I-8W8H.mjs → useFeatures-BZszg39v.mjs} +4 -4
  76. package/dist/{useLocale-AKOyyv43.mjs → useLocale-DeC8QRi3.mjs} +4 -4
  77. package/dist/{useLogger-bHW-Guij.mjs → useLogger-6LS-fgWD.mjs} +2 -2
  78. package/dist/{useNotifications-P-1VQHi8.mjs → useNotifications-DD7vR-tx.mjs} +3 -3
  79. package/dist/{usePermissions-nuWucbL_.mjs → usePermissions-BIfS_ihQ.mjs} +2 -2
  80. package/dist/{useRovingFocus-BfbmLJoo.mjs → useRovingFocus-Dzw1c9uA.mjs} +109 -76
  81. package/dist/{useRules-SLj8Le-M.mjs → useRules-BzgsUHWa.mjs} +2 -2
  82. package/dist/{useStorage-B4eV6lZZ.mjs → useStorage-5nEMSv-y.mjs} +3 -3
  83. package/dist/{useTheme-SVM2VmlS.mjs → useTheme-K1dwhgeW.mjs} +4 -4
  84. package/dist/utilities/index.mjs +1 -1
  85. package/dist/{v0-BoEyw8RC.mjs → v0-BOXWgl8G.mjs} +1 -1
  86. package/dist/{v0-DcTsWvzJ.d.mts → v0-C0OfckSF.d.mts} +1 -1
  87. package/dist/{v0-gVrU_ObF.mjs → v0-CFy_iJEG.mjs} +19 -2
  88. package/dist/{v0-D5BwU_Up.mjs → v0-DsrbK05t.mjs} +1 -1
  89. package/package.json +13 -8
@@ -1,15 +1,15 @@
1
- import { i as SUPPORTS_MUTATION_OBSERVER, r as SUPPORTS_MATCH_MEDIA, t as IN_BROWSER } from "./globals-Djy_aCgG.mjs";
1
+ import { i as SUPPORTS_MUTATION_OBSERVER, r as SUPPORTS_MATCH_MEDIA, t as IN_BROWSER } from "./globals-RL3Sag6Q.mjs";
2
2
  import { V0Error, clamp, instanceExists, isArray, isBoolean, isElement, isFunction, isNaN, isNull, isNullOrUndefined, isNumber, isString, isThenable, isUndefined, mergeDeep, useId as useId$1 } from "./utilities/index.mjs";
3
3
  import { i as useContext, n as createContext, t as createTrinity } from "./createTrinity-z-3q9QWR.mjs";
4
- import { a as createPlugin, i as useLogger, o as createPluginContext } from "./useLogger-bHW-Guij.mjs";
5
- import { t as createRegistry } from "./createRegistry-DaRYxox5.mjs";
6
- import { i as createModel } from "./createSelection-CZFfJnBv.mjs";
7
- import { a as useLocale } from "./useLocale-AKOyyv43.mjs";
4
+ import { a as createPlugin, i as useLogger, o as createPluginContext } from "./useLogger-6LS-fgWD.mjs";
5
+ import { t as createRegistry } from "./createRegistry-BGTmeeis.mjs";
6
+ import { i as createModel } from "./createSelection-CyN6WFYU.mjs";
7
+ import { a as useLocale } from "./useLocale-DeC8QRi3.mjs";
8
8
  import { t as toArray } from "./toArray-C89ZaEuF.mjs";
9
- import { n as useEventListener, r as useWindowEventListener } from "./useEventListener-BtOsc1qg.mjs";
10
- import { J as useResizeObserver, M as ComboboxAdapter, Y as createObserver, b as createInput, et as useHydration, tt as useToggleScope } from "./useRovingFocus-BfbmLJoo.mjs";
11
- import { t as createGroup } from "./createGroup-DKVmhWJZ.mjs";
12
- import { a as extractLeaves, t as createDataTable } from "./createDataTable-C86TFzxJ.mjs";
9
+ import { n as useEventListener, r as useWindowEventListener } from "./useEventListener-CBJTFVtj.mjs";
10
+ import { J as useResizeObserver, M as ComboboxAdapter, Y as createObserver, b as createInput, et as useHydration, tt as useToggleScope } from "./useRovingFocus-Dzw1c9uA.mjs";
11
+ import { i as useProxyRegistry, t as createGroup } from "./createGroup-B6LPZBb5.mjs";
12
+ import { a as extractLeaves, t as createDataTable } from "./createDataTable-s3eVS4Zu.mjs";
13
13
  import { computed, effectScope, isRef, onScopeDispose, onWatcherCleanup, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, toRef, toValue, unref, watch, watchEffect } from "vue";
14
14
  //#region src/composables/createCombobox/adapters/server.ts
15
15
  /**
@@ -748,7 +748,8 @@ function createRowSpanning(options) {
748
748
  function createDataGrid(_options = {}) {
749
749
  const { editing: editingOptions, preserveRowOrder = false, rowSpanning, ...options } = _options;
750
750
  const table = createDataTable(options);
751
- const sortable = createSortable({ reactive: true });
751
+ const sortable = createSortable();
752
+ const sortableProxy = useProxyRegistry(sortable);
752
753
  const dirty = shallowRef(false);
753
754
  table.on("register:ticket", (ticket) => {
754
755
  sortable.register({
@@ -763,7 +764,7 @@ function createDataGrid(_options = {}) {
763
764
  sortable.clear();
764
765
  dirty.value = false;
765
766
  });
766
- const order = toRef(() => sortable.keys());
767
+ const order = toRef(() => sortableProxy.keys);
767
768
  const sortedIds = computed(() => {
768
769
  const buckets = /* @__PURE__ */ new Map();
769
770
  for (const ticket of table.values()) {
@@ -790,6 +791,7 @@ function createDataGrid(_options = {}) {
790
791
  dirty.value = true;
791
792
  }
792
793
  function reset() {
794
+ if (!dirty.value) return;
793
795
  if (sortable.size > 0) sortable.reorder(table.keys());
794
796
  dirty.value = false;
795
797
  }
@@ -4005,7 +4007,11 @@ var V0RtlAdapter = class extends RtlAdapter {
4005
4007
  const head = app._context?.provides?.usehead ?? app._context?.provides?.head;
4006
4008
  if (head?.push) {
4007
4009
  const entry = head.push({ htmlAttrs: { dir: context.isRtl.value ? "rtl" : "ltr" } });
4008
- if (entry?.dispose) this.dispose = entry.dispose;
4010
+ const stop = watch(context.isRtl, (rtl) => entry.patch?.({ htmlAttrs: { dir: rtl ? "rtl" : "ltr" } }));
4011
+ this.dispose = () => {
4012
+ stop();
4013
+ entry.dispose?.();
4014
+ };
4009
4015
  }
4010
4016
  }
4011
4017
  }
@@ -1,3 +1,3 @@
1
1
  import { n as isSelfClosingTag, t as SELF_CLOSING_TAGS } from "../htmlElements-CHXZfsZu.mjs";
2
- import { a as SUPPORTS_OBSERVER, c as version, i as SUPPORTS_MUTATION_OBSERVER, n as SUPPORTS_INTERSECTION_OBSERVER, o as SUPPORTS_TOUCH, r as SUPPORTS_MATCH_MEDIA, s as __LOGGER_ENABLED__, t as IN_BROWSER } from "../globals-Djy_aCgG.mjs";
2
+ import { a as SUPPORTS_OBSERVER, c as version, i as SUPPORTS_MUTATION_OBSERVER, n as SUPPORTS_INTERSECTION_OBSERVER, o as SUPPORTS_TOUCH, r as SUPPORTS_MATCH_MEDIA, s as __LOGGER_ENABLED__, t as IN_BROWSER } from "../globals-RL3Sag6Q.mjs";
3
3
  export { IN_BROWSER, SELF_CLOSING_TAGS, SUPPORTS_INTERSECTION_OBSERVER, SUPPORTS_MATCH_MEDIA, SUPPORTS_MUTATION_OBSERVER, SUPPORTS_OBSERVER, SUPPORTS_TOUCH, __LOGGER_ENABLED__, isSelfClosingTag, version };
@@ -1,8 +1,8 @@
1
1
  import { isNullOrUndefined } from "./utilities/index.mjs";
2
2
  import { i as useContext, t as createTrinity } from "./createTrinity-z-3q9QWR.mjs";
3
- import { t as createRegistry } from "./createRegistry-DaRYxox5.mjs";
4
- import { a as useLocale } from "./useLocale-AKOyyv43.mjs";
5
- import { i as useProxyRegistry, t as createGroup } from "./createGroup-DKVmhWJZ.mjs";
3
+ import { t as createRegistry } from "./createRegistry-BGTmeeis.mjs";
4
+ import { a as useLocale } from "./useLocale-DeC8QRi3.mjs";
5
+ import { i as useProxyRegistry, t as createGroup } from "./createGroup-B6LPZBb5.mjs";
6
6
  import { t as ClientDataTableAdapter } from "./v0-A4GLojAr.mjs";
7
7
  import { computed, shallowReactive, shallowReadonly, shallowRef, toRef, watch } from "vue";
8
8
  //#region src/composables/createDataTable/columns.ts
@@ -1,6 +1,6 @@
1
1
  import { resolveIds, resolveIndexes, useId as useId$1 } from "./utilities/index.mjs";
2
2
  import { i as useContext, t as createTrinity } from "./createTrinity-z-3q9QWR.mjs";
3
- import { t as createSelection } from "./createSelection-CZFfJnBv.mjs";
3
+ import { t as createSelection } from "./createSelection-CyN6WFYU.mjs";
4
4
  import { t as toArray } from "./toArray-C89ZaEuF.mjs";
5
5
  import { computed, onScopeDispose, reactive, shallowReactive, shallowRef, toRef, toValue } from "vue";
6
6
  //#region src/composables/useProxyRegistry/index.ts
@@ -1,6 +1,6 @@
1
- import { clamp, isUndefined, useId as useId$1 } from "./utilities/index.mjs";
1
+ import { clamp, isNullOrUndefined, isUndefined, useId as useId$1 } from "./utilities/index.mjs";
2
2
  import { i as useContext, t as createTrinity } from "./createTrinity-z-3q9QWR.mjs";
3
- import { i as useLogger } from "./useLogger-bHW-Guij.mjs";
3
+ import { i as useLogger } from "./useLogger-6LS-fgWD.mjs";
4
4
  import { shallowReactive, shallowRef } from "vue";
5
5
  //#region src/composables/createRegistry/index.ts
6
6
  /**
@@ -63,6 +63,7 @@ function createRegistry(options) {
63
63
  const directory = /* @__PURE__ */ new Map();
64
64
  const cache = /* @__PURE__ */ new Map();
65
65
  const listeners = /* @__PURE__ */ new Map();
66
+ const minted = /* @__PURE__ */ new WeakSet();
66
67
  const order = [];
67
68
  const version = shallowRef(0);
68
69
  let indexDependentCount = 0;
@@ -70,6 +71,7 @@ function createRegistry(options) {
70
71
  let minDirtyIndex = Infinity;
71
72
  let maxDirtyIndex = -Infinity;
72
73
  let isBatching = false;
74
+ let structural = false;
73
75
  let batched = [];
74
76
  function dispatch(event, data) {
75
77
  const cbs = listeners.get(event);
@@ -211,23 +213,29 @@ function createRegistry(options) {
211
213
  }
212
214
  function invalidate() {
213
215
  cache.clear();
214
- if (isBatching) return;
216
+ if (isBatching) {
217
+ structural = true;
218
+ return;
219
+ }
215
220
  version.value++;
216
221
  }
217
222
  function batch(fn) {
218
223
  if (isBatching) return fn();
219
224
  isBatching = true;
225
+ structural = false;
220
226
  batched = [];
221
227
  try {
222
- const result = fn();
223
- cache.clear();
224
- for (const { event, data } of batched) dispatch(event, data);
225
- return result;
228
+ return fn();
226
229
  } finally {
227
230
  isBatching = false;
231
+ const queue = batched;
228
232
  batched = [];
229
233
  cache.clear();
230
- version.value++;
234
+ try {
235
+ for (const { event, data } of queue) dispatch(event, data);
236
+ } finally {
237
+ if (structural) version.value++;
238
+ }
231
239
  }
232
240
  }
233
241
  function reindex() {
@@ -261,6 +269,7 @@ function createRegistry(options) {
261
269
  function register(registration = {}) {
262
270
  if (needsReindex) reindex();
263
271
  const size = collection.size;
272
+ const auto = /* @__PURE__ */ isNullOrUndefined(registration.id);
264
273
  const id = registration.id ?? /* @__PURE__ */ useId$1();
265
274
  if (has(id)) {
266
275
  logger.warn(`Ticket "${id}" already exists. Use \`upsert()\` to update or check \`has()\` before registering.`);
@@ -280,6 +289,7 @@ function createRegistry(options) {
280
289
  unregister: () => unregister(id)
281
290
  };
282
291
  const ticket = reactive ? shallowReactive(input) : input;
292
+ if (auto) minted.add(ticket);
283
293
  collection.set(ticket.id, ticket);
284
294
  order.push(ticket);
285
295
  directory.set(ticket.index, ticket.id);
@@ -313,10 +323,8 @@ function createRegistry(options) {
313
323
  delete input.index;
314
324
  delete input.valueIsIndex;
315
325
  delete input.unregister;
316
- if (ticket.valueIsIndex) {
317
- delete input.id;
318
- delete input.value;
319
- }
326
+ if (minted.has(ticket)) delete input.id;
327
+ if (ticket.valueIsIndex) delete input.value;
320
328
  return input;
321
329
  }
322
330
  function offboard(ids) {
@@ -335,6 +343,7 @@ function createRegistry(options) {
335
343
  let w = 0;
336
344
  for (const ticket of order) if (!removedIds.has(ticket.id)) order[w++] = ticket;
337
345
  order.length = w;
346
+ invalidate();
338
347
  for (const ticket of removed) {
339
348
  if (ticket.valueIsIndex) indexDependentCount--;
340
349
  minDirtyIndex = Math.min(minDirtyIndex, ticket.index);
@@ -343,7 +352,8 @@ function createRegistry(options) {
343
352
  unassign(ticket.value, ticket.id);
344
353
  }
345
354
  for (const ticket of removed) emit("unregister:ticket", ticket);
346
- needsReindex = true;
355
+ if (indexDependentCount > 0 && minDirtyIndex < collection.size) reindex();
356
+ else needsReindex = true;
347
357
  });
348
358
  return removed.map((ticket) => toInput(ticket));
349
359
  }
@@ -1,6 +1,6 @@
1
1
  import { isUndefined, resolveIds, useId as useId$1 } from "./utilities/index.mjs";
2
2
  import { i as useContext, t as createTrinity } from "./createTrinity-z-3q9QWR.mjs";
3
- import { t as createRegistry } from "./createRegistry-DaRYxox5.mjs";
3
+ import { t as createRegistry } from "./createRegistry-BGTmeeis.mjs";
4
4
  import { computed, isRef, shallowReactive, toRaw, toRef, toValue } from "vue";
5
5
  //#region src/composables/createModel/index.ts
6
6
  /**
@@ -95,6 +95,8 @@ function createModel(_options = {}) {
95
95
  }
96
96
  function unselect(id) {
97
97
  if (toValue(disabled)) return;
98
+ const item = registry.get(id);
99
+ if (!item || toValue(item.disabled)) return;
98
100
  selectedIds.delete(id);
99
101
  }
100
102
  function toggle(id) {
@@ -291,11 +293,17 @@ function createSelection(_options = {}) {
291
293
  const ticket = seek("first");
292
294
  if (ticket) model.select(ticket.id);
293
295
  }
294
- function unselect(id) {
296
+ function drain(id) {
295
297
  if (toValue(model.disabled)) return;
296
298
  if (toValue(mandatory) && model.selectedIds.size === 1) return;
297
299
  model.selectedIds.delete(id);
298
300
  }
301
+ function unselect(id) {
302
+ if (toValue(model.disabled)) return;
303
+ const item = model.get(id);
304
+ if (!item || toValue(item.disabled)) return;
305
+ drain(id);
306
+ }
299
307
  function toggle(id) {
300
308
  if (toValue(model.disabled)) return;
301
309
  if (model.selectedIds.has(id)) unselect(id);
@@ -305,22 +313,28 @@ function createSelection(_options = {}) {
305
313
  const isMultiple = options?.multiple ?? toValue(multiple);
306
314
  const currentIds = new Set(model.selectedIds);
307
315
  const targetIds = /* @__PURE__ */ new Set();
308
- for (const value of values) {
309
- const ids = model.browse(toRaw(value));
310
- if (ids) for (const id of ids) targetIds.add(id);
311
- }
312
316
  if (isMultiple) {
313
- for (const id of currentIds) if (!targetIds.has(id)) unselect(id);
314
- for (const id of targetIds) {
315
- if (currentIds.has(id)) continue;
316
- const ticket = model.get(id);
317
- if (ticket && toValue(ticket.disabled)) continue;
318
- model.selectedIds.add(id);
317
+ for (const value of values) {
318
+ const ids = model.browse(toRaw(value));
319
+ if (/* @__PURE__ */ isUndefined(ids)) continue;
320
+ for (const id of ids) {
321
+ const ticket = model.get(id);
322
+ if (!ticket || toValue(ticket.disabled)) continue;
323
+ targetIds.add(id);
324
+ }
319
325
  }
326
+ if (toValue(mandatory) && targetIds.size === 0) return;
327
+ for (const id of currentIds) if (!targetIds.has(id)) model.selectedIds.delete(id);
328
+ for (const id of targetIds) model.selectedIds.add(id);
320
329
  } else {
330
+ for (const value of values) {
331
+ const ids = model.browse(toRaw(value));
332
+ if (/* @__PURE__ */ isUndefined(ids)) continue;
333
+ for (const id of ids) targetIds.add(id);
334
+ }
321
335
  const next = targetIds.values().next().value;
322
336
  const last = currentIds.values().next().value;
323
- if (!/* @__PURE__ */ isUndefined(last)) unselect(last);
337
+ if (!/* @__PURE__ */ isUndefined(last)) drain(last);
324
338
  if (!/* @__PURE__ */ isUndefined(next)) model.select(next);
325
339
  }
326
340
  }
@@ -1,5 +1,5 @@
1
1
  import { i as useContext, t as createTrinity } from "./createTrinity-z-3q9QWR.mjs";
2
- import { t as createSelection } from "./createSelection-CZFfJnBv.mjs";
2
+ import { t as createSelection } from "./createSelection-CyN6WFYU.mjs";
3
3
  import { toRef } from "vue";
4
4
  //#region src/composables/createSingle/index.ts
5
5
  /**
@@ -1,7 +1,7 @@
1
1
  import { UNSAFE_KEYS, isObject, isString, isUndefined } from "./utilities/index.mjs";
2
2
  import { i as useContext, t as createTrinity } from "./createTrinity-z-3q9QWR.mjs";
3
- import { i as useLogger } from "./useLogger-bHW-Guij.mjs";
4
- import { t as createRegistry } from "./createRegistry-DaRYxox5.mjs";
3
+ import { i as useLogger } from "./useLogger-6LS-fgWD.mjs";
4
+ import { t as createRegistry } from "./createRegistry-BGTmeeis.mjs";
5
5
  //#region src/composables/createTokens/index.ts
6
6
  /**
7
7
  * @module createTokens
@@ -15,10 +15,10 @@ import { t as createRegistry } from "./createRegistry-DaRYxox5.mjs";
15
15
  * - Alias resolution with circular reference detection
16
16
  * - Nested token flattening with dot notation
17
17
  * - W3C Design Tokens format ($value, $type, $description, $extensions)
18
- * - Path-based resolution (e.g., {colors}.blue.500)
19
- * - Resolution caching for performance (~28,590 ops/sec)
18
+ * - Path-based resolution (e.g., {colors.blue.500} or colors.blue.500)
19
+ * - Resolution caching for performance
20
20
  *
21
- * Used by useTheme, useLocale, and useFeatures for token-based configuration.
21
+ * Used by useTheme, useLocale, useFeatures, and usePermissions for token-based configuration.
22
22
  *
23
23
  * @example
24
24
  * ```ts
@@ -117,6 +117,7 @@ function createTokens(tokens = {}, options = {}) {
117
117
  cache.set(cacheKey, void 0);
118
118
  return;
119
119
  }
120
+ if (/* @__PURE__ */ isString(current) && isAlias(current)) return resolve(current, visited);
120
121
  result = current;
121
122
  } else if (isTokenAlias(current)) {
122
123
  const inner = current.$value;
@@ -132,9 +133,9 @@ function createTokens(tokens = {}, options = {}) {
132
133
  cache.clear();
133
134
  return _register(registration);
134
135
  }
135
- function upsert(id, registration) {
136
+ function upsert(id, registration, event) {
136
137
  cache.clear();
137
- return _upsert(id, registration);
138
+ return _upsert(id, registration, event);
138
139
  }
139
140
  function unregister(id) {
140
141
  cache.clear();
@@ -1,5 +1,5 @@
1
1
  import { a as SortEntry, i as SortDirection, n as DataTableAdapterContext, r as DataTableAdapterResult, t as DataTableAdapter } from "../adapter-_srNCBEi.mjs";
2
- import { _ as ColumnNode, a as DataTableExpansion, b as extractLeaves, c as DataTableOptions, d as DataTableTicket, f as DataTableTicketInput, g as useDataTable, h as createDataTableContext, i as DataTableContextOptions, l as DataTableSelection, m as createDataTable, n as DataTableColumnTicketInput, o as DataTableGroup, p as SelectStrategy, r as DataTableContext, s as DataTableGrouping, t as DataTableColumnTicket, u as DataTableSort, v as InternalHeader, x as resolveHeaders, y as computeDepth } from "../index-CfSenWTN.mjs";
2
+ import { _ as ColumnNode, a as DataTableExpansion, b as extractLeaves, c as DataTableOptions, d as DataTableTicket, f as DataTableTicketInput, g as useDataTable, h as createDataTableContext, i as DataTableContextOptions, l as DataTableSelection, m as createDataTable, n as DataTableColumnTicketInput, o as DataTableGroup, p as SelectStrategy, r as DataTableContext, s as DataTableGrouping, t as DataTableColumnTicket, u as DataTableSort, v as InternalHeader, x as resolveHeaders, y as computeDepth } from "../index-DCtHbY0a.mjs";
3
3
  import { n as ServerDataTableAdapterOptions, t as ServerDataTableAdapter } from "../server-DbtTGb67.mjs";
4
4
  import { t as ClientDataTableAdapter } from "../v0-DotXXGXU.mjs";
5
5
  import { t as VirtualDataTableAdapter } from "../virtual-C-NsLue0.mjs";
@@ -1,6 +1,6 @@
1
1
  import { t as DataTableAdapter } from "../adapter-CVoWg0sw.mjs";
2
2
  import { t as ClientDataTableAdapter } from "../v0-A4GLojAr.mjs";
3
- import { a as extractLeaves, i as computeDepth, n as createDataTableContext, o as resolveHeaders, r as useDataTable, t as createDataTable } from "../createDataTable-C86TFzxJ.mjs";
3
+ import { a as extractLeaves, i as computeDepth, n as createDataTableContext, o as resolveHeaders, r as useDataTable, t as createDataTable } from "../createDataTable-s3eVS4Zu.mjs";
4
4
  import { t as ServerDataTableAdapter } from "../server-D5BJBjB0.mjs";
5
5
  import { t as VirtualDataTableAdapter } from "../virtual-DFvOoeG6.mjs";
6
6
  export { ClientDataTableAdapter, DataTableAdapter, ServerDataTableAdapter, VirtualDataTableAdapter, computeDepth, createDataTable, createDataTableContext, extractLeaves, resolveHeaders, useDataTable };
@@ -1,4 +1,4 @@
1
- import { t as IN_BROWSER } from "../globals-Djy_aCgG.mjs";
1
+ import { t as IN_BROWSER } from "../globals-RL3Sag6Q.mjs";
2
2
  import { isFunction, isNull, isNullOrUndefined, isNumber, isString } from "../utilities/index.mjs";
3
3
  import { t as DateAdapter } from "../adapter-Cy7wXVFe.mjs";
4
4
  import { Temporal } from "@js-temporal/polyfill";
@@ -1,4 +1,4 @@
1
- import { t as IN_BROWSER } from "../../../globals-Djy_aCgG.mjs";
1
+ import { t as IN_BROWSER } from "../../../globals-RL3Sag6Q.mjs";
2
2
  import { UNSAFE_KEYS, isBoolean, isNullOrUndefined } from "../../../utilities/index.mjs";
3
3
  import { t as FeaturesAdapter } from "../../../adapter-CTsckKAR.mjs";
4
4
  //#region src/composables/useFeatures/adapters/posthog.ts
@@ -1,3 +1,3 @@
1
- import { _r as createFeatures, br as useFeatures, dr as FeatureContext, fr as FeatureContextOptions, gr as FeatureTicketInput, hr as FeatureTicket, mr as FeaturePluginOptions, pr as FeatureOptions, vr as createFeaturesContext, yr as createFeaturesPlugin } from "../index-B5ybQyJO.mjs";
1
+ import { _r as createFeatures, br as useFeatures, dr as FeatureContext, fr as FeatureContextOptions, gr as FeatureTicketInput, hr as FeatureTicket, mr as FeaturePluginOptions, pr as FeatureOptions, vr as createFeaturesContext, yr as createFeaturesPlugin } from "../index-BwNRi6BK.mjs";
2
2
  import { n as FeaturesAdapterFlags, r as FeaturesAdapterValue, t as FeaturesAdapter } from "../adapter-Butx_2UU.mjs";
3
3
  export { FeatureContext, FeatureContextOptions, FeatureOptions, FeaturePluginOptions, FeatureTicket, FeatureTicketInput, FeaturesAdapter, FeaturesAdapterFlags, FeaturesAdapterValue, createFeatures, createFeaturesContext, createFeaturesPlugin, useFeatures };
@@ -1,3 +1,3 @@
1
1
  import { t as FeaturesAdapter } from "../adapter-CTsckKAR.mjs";
2
- import { i as useFeatures, n as createFeaturesContext, r as createFeaturesPlugin, t as createFeatures } from "../useFeatures-B5I-8W8H.mjs";
2
+ import { i as useFeatures, n as createFeaturesContext, r as createFeaturesPlugin, t as createFeatures } from "../useFeatures-BZszg39v.mjs";
3
3
  export { FeaturesAdapter, createFeatures, createFeaturesContext, createFeaturesPlugin, useFeatures };
@@ -5,7 +5,7 @@ const SUPPORTS_MATCH_MEDIA = IN_BROWSER && "matchMedia" in window && typeof wind
5
5
  const SUPPORTS_OBSERVER = IN_BROWSER && "ResizeObserver" in window;
6
6
  const SUPPORTS_INTERSECTION_OBSERVER = IN_BROWSER && "IntersectionObserver" in window;
7
7
  const SUPPORTS_MUTATION_OBSERVER = IN_BROWSER && "MutationObserver" in window;
8
- const version = "1.0.0-rc.7";
8
+ const version = "1.0.0-rc.9";
9
9
  /* v8 ignore next -- build-time constant, __DEV__ short-circuits in tests */
10
10
  const __LOGGER_ENABLED__ = typeof (process.env.NODE_ENV !== "production") !== "undefined" && process.env.NODE_ENV !== "production" || typeof process.env.VITE_LOGGER_ENABLED !== "undefined" && process.env.VITE_LOGGER_ENABLED === "true";
11
11
  //#endregion
@@ -1,12 +1,12 @@
1
1
  import { a as ID, i as Extensible, o as MaybeArray } from "./index-CyNk9FpR.mjs";
2
2
  import { t as ContextTrinity } from "./index-DXMlYoiQ.mjs";
3
- import { a as RegistryEventName, c as RegistryTicketInput, o as RegistryOptions, r as RegistryEventCallback, s as RegistryTicket, t as RegistryContext } from "./index-DTYOP7ci.mjs";
3
+ import { a as RegistryEventName, c as RegistryTicketInput, o as RegistryOptions, r as RegistryEventCallback, s as RegistryTicket, t as RegistryContext } from "./index-RGiSdjYt.mjs";
4
4
  import { _ as FilterMode } from "./adapter-_srNCBEi.mjs";
5
- import { _ as ColumnNode, c as DataTableOptions, n as DataTableColumnTicketInput, r as DataTableContext, t as DataTableColumnTicket } from "./index-CfSenWTN.mjs";
6
- import { c as TokenTicket, i as TokenContext, o as TokenOptions, r as TokenCollection } from "./index-CIf2yTGR.mjs";
5
+ import { _ as ColumnNode, c as DataTableOptions, n as DataTableColumnTicketInput, r as DataTableContext, t as DataTableColumnTicket } from "./index-DCtHbY0a.mjs";
6
+ import { c as TokenTicket, i as TokenContext, o as TokenOptions, r as TokenCollection } from "./index-CrFFilCd.mjs";
7
7
  import { t as DateAdapter } from "./adapter-C5F2huij.mjs";
8
8
  import { n as FeaturesAdapterFlags, t as FeaturesAdapter } from "./adapter-Butx_2UU.mjs";
9
- import { t as LocaleAdapter } from "./adapter-CMdKyFLz.mjs";
9
+ import { t as LocaleAdapter } from "./adapter-CVNRHfrz.mjs";
10
10
  import { t as LoggerAdapter } from "./adapter-BYzU4Ey5.mjs";
11
11
  import { n as StorageAdapter } from "./memory-DbyZeNjg.mjs";
12
12
  import { App, ComponentPublicInstance, ComputedRef, InjectionKey, MaybeRef, MaybeRefOrGetter, Reactive, Ref, ShallowReactive, ShallowRef, UnwrapNestedRefs, WatchSource, WritableComputedRef } from "vue";
@@ -137,7 +137,9 @@ interface ModelContext<Z extends ModelTicketInput = ModelTicketInput, E extends
137
137
  * Unselect a ticket by ID
138
138
  *
139
139
  * @param id The ID of the ticket to unselect.
140
- * @remarks Removes the ID from `selectedIds`. No-op if the model instance is disabled.
140
+ * @remarks Removes the ID from `selectedIds`.
141
+ * No-op if the model instance is disabled, the ticket doesn't exist, or the ticket is disabled.
142
+ * Wholesale operations (`apply`, `reset`, `clear`) bypass this guard so disabled ids can always drain.
141
143
  *
142
144
  * @example
143
145
  * ```ts
@@ -152,7 +154,7 @@ interface ModelContext<Z extends ModelTicketInput = ModelTicketInput, E extends
152
154
  *
153
155
  * @param id The ID of the ticket to toggle.
154
156
  * @remarks Calls `select(id)` if not selected, `unselect(id)` if already selected.
155
- * No-op if the model instance is disabled.
157
+ * No-op if the model instance is disabled or the ticket is disabled.
156
158
  *
157
159
  * @example
158
160
  * ```ts
@@ -4218,7 +4220,7 @@ interface SliderContext extends Omit<ModelContext<SliderTicketInput, SliderTicke
4218
4220
  * @param value Raw value to set.
4219
4221
  *
4220
4222
  * @remarks
4221
- * No-op when `readonly` is `true`. The value is snapped to step, clamped to min/max,
4223
+ * No-op when `disabled` or `readonly` is `true`. The value is snapped to step, clamped to min/max,
4222
4224
  * and constrained by adjacent thumbs when `crossover` is `false`.
4223
4225
  *
4224
4226
  * @see {@link up} and {@link down} for relative adjustments.