@vuetify/v0 1.0.0-alpha.4 → 1.0.0-alpha.5
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.
- package/README.md +2 -0
- package/dist/{adapter-C9cR4AcY.mjs → adapter-BFSJsyv7.mjs} +10 -10
- package/dist/{adapter-Cr7Bl4la.d.mts → adapter-BO75n0Cn.d.mts} +7 -7
- package/dist/{adapter-DgBBe_BW.d.mts → adapter-DDJHLC8K.d.mts} +1 -1
- package/dist/adapters-4t-NhR11.mjs +5 -0
- package/dist/adapters-BcoA0zCS.mjs +4 -0
- package/dist/adapters-BjaPK635.mjs +2 -0
- package/dist/{adapters-t6QC-zE8.mjs → adapters-DvG-9z9q.mjs} +1 -1
- package/dist/browser/index.js +514 -123
- package/dist/components/index.d.mts +2 -2
- package/dist/components/index.mjs +1 -1
- package/dist/{components-BWxMSWr7.mjs → components-Dn4Kbi0i.mjs} +22 -22
- package/dist/composables/index.d.mts +19 -18
- package/dist/composables/index.mjs +23 -23
- package/dist/{consola-Crr4qbeI.d.mts → consola-CUNHyu8J.d.mts} +1 -1
- package/dist/constants/index.d.mts +1 -1
- package/dist/constants/index.mjs +1 -1
- package/dist/{createDataTable-DDr2yY-A.mjs → createDataTable-H-PuVigU.mjs} +191 -100
- package/dist/{createGroup-BSGtfBUE.mjs → createGroup-aHt_kvtU.mjs} +1 -1
- package/dist/{createRegistry-Db_juawd.mjs → createRegistry-CWpvSbCe.mjs} +1 -1
- package/dist/{createSelection-BeKZMxha.mjs → createSelection-MRyUZyW2.mjs} +1 -1
- package/dist/{createSingle-Dms2efxr.mjs → createSingle-BSciC9EJ.mjs} +1 -1
- package/dist/{createTokens-B1lwHZvO.mjs → createTokens-CQ9C7GTV.mjs} +2 -2
- package/dist/data-table/adapters/client/index.d.mts +1 -1
- package/dist/data-table/adapters/client/index.mjs +1 -1
- package/dist/data-table/adapters/index.d.mts +4 -4
- package/dist/data-table/adapters/index.mjs +5 -5
- package/dist/data-table/adapters/server/index.d.mts +1 -1
- package/dist/data-table/adapters/server/index.mjs +1 -1
- package/dist/data-table/adapters/virtual/index.d.mts +1 -1
- package/dist/data-table/adapters/virtual/index.mjs +1 -1
- package/dist/data-table/index.d.mts +6 -6
- package/dist/data-table/index.mjs +5 -5
- package/dist/date/index.d.mts +1 -1
- package/dist/date/index.mjs +2 -2
- package/dist/features/adapters/flagsmith/index.d.mts +1 -1
- package/dist/features/adapters/launchdarkly/index.d.mts +1 -1
- package/dist/features/adapters/posthog/index.d.mts +1 -1
- package/dist/features/adapters/posthog/index.mjs +1 -1
- package/dist/features/index.d.mts +2 -2
- package/dist/features/index.mjs +1 -1
- package/dist/{flagsmith-ygKMImos.d.mts → flagsmith-Cd44vxff.d.mts} +1 -1
- package/dist/{globals-BAe6tA_x.mjs → globals-BRdxsC2M.mjs} +1 -1
- package/dist/{index-BA7YU2xY.d.mts → index-BmEu85PI.d.mts} +123 -62
- package/dist/{index-Cw04PFVO.d.mts → index-C0ewabdY.d.mts} +1 -167
- package/dist/{index-jQPkwo3G.d.mts → index-CJdG9yY1.d.mts} +104 -104
- package/dist/index-C_t6t0Z-.d.mts +170 -0
- package/dist/{index-BfpLkDR_.d.mts → index-CyUCELZC.d.mts} +207 -9
- package/dist/index.d.mts +22 -21
- package/dist/index.mjs +25 -25
- package/dist/json/web-types.json +1 -1
- package/dist/{launchdarkly-BJR4vbbV.d.mts → launchdarkly-De701hkf.d.mts} +1 -1
- package/dist/locale/adapters/index.d.mts +2 -2
- package/dist/locale/adapters/index.mjs +2 -2
- package/dist/locale/adapters/v0/index.d.mts +1 -1
- package/dist/locale/adapters/v0/index.mjs +1 -1
- package/dist/locale/adapters/vue-i18n/index.d.mts +1 -1
- package/dist/locale/index.d.mts +3 -3
- package/dist/locale/index.mjs +2 -2
- package/dist/logger/adapters/consola/index.d.mts +1 -1
- package/dist/logger/adapters/index.d.mts +4 -4
- package/dist/logger/adapters/index.mjs +2 -2
- package/dist/logger/adapters/pino/index.d.mts +1 -1
- package/dist/logger/adapters/v0/index.d.mts +1 -1
- package/dist/logger/adapters/v0/index.mjs +1 -1
- package/dist/logger/index.d.mts +5 -5
- package/dist/logger/index.mjs +2 -2
- package/dist/notifications/index.d.mts +1 -1
- package/dist/notifications/index.mjs +2 -2
- package/dist/palettes/ant/index.d.mts +1 -1
- package/dist/palettes/index.d.mts +2 -2
- package/dist/palettes/material/index.d.mts +1 -1
- package/dist/palettes/md1/index.d.mts +1 -1
- package/dist/palettes/md2/index.d.mts +1 -1
- package/dist/palettes/radix/index.d.mts +1 -1
- package/dist/palettes/tailwind/index.d.mts +1 -1
- package/dist/permissions/adapters/index.d.mts +1 -1
- package/dist/permissions/adapters/v0/index.d.mts +1 -1
- package/dist/permissions/index.d.mts +1 -1
- package/dist/permissions/index.mjs +1 -1
- package/dist/{pino-NmR7X0s4.d.mts → pino-BaYY_KIN.d.mts} +1 -1
- package/dist/{posthog-B3go2aCh.mjs → posthog-0umvvA48.mjs} +1 -1
- package/dist/{posthog-CQntUXFO.d.mts → posthog-CIrmvke4.d.mts} +1 -1
- package/dist/rules/index.d.mts +1 -1
- package/dist/rules/index.mjs +1 -1
- package/dist/{server-DQK305lc.d.mts → server-7vjHxjNc.d.mts} +1 -1
- package/dist/{server-ZFXbgQoY.mjs → server-BNSiVoMe.mjs} +1 -1
- package/dist/storage/adapters/index.d.mts +2 -2
- package/dist/storage/adapters/memory/index.d.mts +1 -1
- package/dist/storage/index.d.mts +3 -3
- package/dist/storage/index.mjs +1 -1
- package/dist/theme/adapters/index.d.mts +1 -1
- package/dist/theme/adapters/index.mjs +3 -3
- package/dist/theme/adapters/unhead/index.d.mts +1 -1
- package/dist/theme/adapters/unhead/index.mjs +1 -1
- package/dist/theme/adapters/v0/index.d.mts +1 -1
- package/dist/theme/adapters/v0/index.mjs +1 -1
- package/dist/theme/index.d.mts +1 -1
- package/dist/theme/index.mjs +3 -3
- package/dist/{unhead-dPyVkgiJ.mjs → unhead-_cXZcx0j.mjs} +1 -1
- package/dist/{useClickOutside-B8naChaQ.mjs → useClickOutside-DbOLg1uw.mjs} +322 -17
- package/dist/{useFeatures-x2iKp0C8.mjs → useFeatures-Dhnr-Lg2.mjs} +4 -4
- package/dist/{useLocale-BUms59Bw.mjs → useLocale-Sh-2sNiG.mjs} +5 -5
- package/dist/{useLogger-DPSSa-YR.mjs → useLogger-1_ZeBY12.mjs} +4 -4
- package/dist/{useNotifications-BPTmZWQy.mjs → useNotifications-CAVQ7hK6.mjs} +5 -5
- package/dist/{usePermissions-CTi-3pBk.mjs → usePermissions-D9Oituwy.mjs} +2 -2
- package/dist/{useRules-DNhljkyO.mjs → useRules-DK4AeNeC.mjs} +4 -3
- package/dist/{useTheme-3vW3kFNg.mjs → useTheme-FMDQC81h.mjs} +5 -5
- package/dist/utilities/index.d.mts +1 -1
- package/dist/utilities/index.mjs +1 -1
- package/dist/{v0-YJQoTLsp.mjs → v0-C42ssNIy.mjs} +1 -1
- package/dist/{v0-DAlKpCR8.mjs → v0-CEfbyyp2.mjs} +1 -1
- package/dist/{v0-CotC1PiS.mjs → v0-Ch-O6YVd.mjs} +1 -1
- package/dist/{v0-DadOcxFI.mjs → v0-D0imQlSD.mjs} +1 -1
- package/dist/{v0-CRGArJim.d.mts → v0-DWZ_N2GG.d.mts} +1 -1
- package/dist/{v0-DYsCJPIu.d.mts → v0-QIjffi4E.d.mts} +1 -1
- package/dist/{v0-DDELiSI6.d.mts → v0-aYLq6qmT.d.mts} +1 -1
- package/dist/{virtual-Dnno49F8.mjs → virtual-Cq5aRp7m.mjs} +1 -1
- package/dist/{virtual-BqCRw0ly.d.mts → virtual-CrgGA-o6.d.mts} +1 -1
- package/package.json +1 -1
- package/dist/adapters-B25KaYU4.mjs +0 -2
- package/dist/adapters-BcddLSNs.mjs +0 -4
- package/dist/adapters-Dv74Jk6A.mjs +0 -5
- /package/dist/{adapter-Dzyrlbz7.d.mts → adapter-B6IrPwib.d.mts} +0 -0
- /package/dist/{adapter-o8r-2vUn.d.mts → adapter-BEJXp-ie.d.mts} +0 -0
- /package/dist/{adapter-C6JmOyYo.d.mts → adapter-CspReV3g.d.mts} +0 -0
- /package/dist/{index-B3-FstpY.d.mts → index-BLaKZq0Y.d.mts} +0 -0
- /package/dist/{index-DWfPppPU.d.mts → index-BOn0AAue.d.mts} +0 -0
- /package/dist/{index-DewYtDsc.d.mts → index-C6NnIuDv.d.mts} +0 -0
- /package/dist/{index-DJQwYeyx.d.mts → index-PvkxPev3.d.mts} +0 -0
- /package/dist/{memory-B0w39kno.d.mts → memory-D-JbdKXg.d.mts} +0 -0
package/dist/browser/index.js
CHANGED
|
@@ -135,7 +135,7 @@ const SUPPORTS_MATCH_MEDIA = IN_BROWSER && "matchMedia" in window && typeof wind
|
|
|
135
135
|
const SUPPORTS_OBSERVER = IN_BROWSER && "ResizeObserver" in window;
|
|
136
136
|
const SUPPORTS_INTERSECTION_OBSERVER = IN_BROWSER && "IntersectionObserver" in window;
|
|
137
137
|
const SUPPORTS_MUTATION_OBSERVER = IN_BROWSER && "MutationObserver" in window;
|
|
138
|
-
const version = "1.0.0-alpha.
|
|
138
|
+
const version = "1.0.0-alpha.5";
|
|
139
139
|
/* v8 ignore next -- build-time constant, __DEV__ short-circuits in tests */
|
|
140
140
|
const __LOGGER_ENABLED__ = false;
|
|
141
141
|
//#endregion
|
|
@@ -1043,7 +1043,7 @@ function getPersistedStorage() {
|
|
|
1043
1043
|
* createPluginContext('v0:logger', options => createLogger(options), {
|
|
1044
1044
|
* fallback: ns => createFallbackLogger(ns),
|
|
1045
1045
|
* setup: (context) => {
|
|
1046
|
-
* if (__DEV__ && IN_BROWSER) (window as
|
|
1046
|
+
* if (__DEV__ && IN_BROWSER) (window as Window & { __v0Logger__?: typeof context }).__v0Logger__ = context
|
|
1047
1047
|
* },
|
|
1048
1048
|
* })
|
|
1049
1049
|
* ```
|
|
@@ -4734,16 +4734,18 @@ function compareValues(a, b, collator) {
|
|
|
4734
4734
|
var DataTableAdapter = class {
|
|
4735
4735
|
/** Create the filter pipeline stage */
|
|
4736
4736
|
filter(context) {
|
|
4737
|
-
const filter = createFilter(
|
|
4737
|
+
const filter = createFilter({
|
|
4738
4738
|
...context.filterOptions,
|
|
4739
|
-
keys: [...context.filterableKeys],
|
|
4740
|
-
customFilter: (query, item) => {
|
|
4739
|
+
keys: [...toValue(context.filterableKeys)],
|
|
4740
|
+
customFilter: context.filterOptions.customFilter ?? ((query, item) => {
|
|
4741
|
+
const columnFilters = toValue(context.customColumnFilters);
|
|
4742
|
+
const keys = toValue(context.filterableKeys);
|
|
4741
4743
|
if (!/* @__PURE__ */ isObject(item)) return false;
|
|
4742
4744
|
const q = String(/* @__PURE__ */ isArray(query) ? query[0] : query).toLowerCase();
|
|
4743
4745
|
if (!q) return true;
|
|
4744
4746
|
const obj = item;
|
|
4745
|
-
for (const key of
|
|
4746
|
-
const customFn =
|
|
4747
|
+
for (const key of keys) {
|
|
4748
|
+
const customFn = columnFilters[key];
|
|
4747
4749
|
if (customFn) {
|
|
4748
4750
|
if (customFn(obj[key], q)) return true;
|
|
4749
4751
|
} else {
|
|
@@ -4752,10 +4754,7 @@ var DataTableAdapter = class {
|
|
|
4752
4754
|
}
|
|
4753
4755
|
}
|
|
4754
4756
|
return false;
|
|
4755
|
-
}
|
|
4756
|
-
} : {
|
|
4757
|
-
...context.filterOptions,
|
|
4758
|
-
keys: [...context.filterableKeys]
|
|
4757
|
+
})
|
|
4759
4758
|
});
|
|
4760
4759
|
const allItems = toRef(() => toValue(context.items));
|
|
4761
4760
|
const { items: filteredItems } = filter.apply(context.search, allItems);
|
|
@@ -4769,11 +4768,12 @@ var DataTableAdapter = class {
|
|
|
4769
4768
|
return computed(() => {
|
|
4770
4769
|
const entries = sortBy.value;
|
|
4771
4770
|
if (entries.length === 0) return filteredItems.value;
|
|
4771
|
+
const sorts = toValue(customSorts) ?? {};
|
|
4772
4772
|
const collator = new Intl.Collator(locale?.value);
|
|
4773
4773
|
const resolved = entries.map(({ key, direction }) => ({
|
|
4774
4774
|
parts: key.split("."),
|
|
4775
4775
|
direction,
|
|
4776
|
-
custom:
|
|
4776
|
+
custom: sorts[key]
|
|
4777
4777
|
}));
|
|
4778
4778
|
return filteredItems.value.toSorted((a, b) => {
|
|
4779
4779
|
for (const { parts, direction, custom } of resolved) {
|
|
@@ -4867,7 +4867,7 @@ function resolveHeaders(columns) {
|
|
|
4867
4867
|
for (const col of cols) if (col.children?.length) {
|
|
4868
4868
|
const leaves = /* @__PURE__ */ extractLeaves(col.children);
|
|
4869
4869
|
rows[depth].push({
|
|
4870
|
-
|
|
4870
|
+
id: col.id,
|
|
4871
4871
|
title: col.title ?? "",
|
|
4872
4872
|
colspan: leaves.length,
|
|
4873
4873
|
rowspan: 1,
|
|
@@ -4875,7 +4875,7 @@ function resolveHeaders(columns) {
|
|
|
4875
4875
|
});
|
|
4876
4876
|
walk(col.children, depth + 1);
|
|
4877
4877
|
} else rows[depth].push({
|
|
4878
|
-
|
|
4878
|
+
id: col.id,
|
|
4879
4879
|
title: col.title ?? "",
|
|
4880
4880
|
colspan: 1,
|
|
4881
4881
|
rowspan: maxDepth - depth + 1,
|
|
@@ -4976,6 +4976,12 @@ var VirtualDataTableAdapter = class extends DataTableAdapter {
|
|
|
4976
4976
|
* reimplementing their logic. Uses createGroup's tri-state for sort direction
|
|
4977
4977
|
* and delegates the data pipeline (filter, sort, paginate) to an adapter.
|
|
4978
4978
|
*
|
|
4979
|
+
* Rows and columns are both managed via internal registries. Call
|
|
4980
|
+
* `table.columns.onboard([...])` / `table.columns.register({...})` to add
|
|
4981
|
+
* columns and `table.onboard([...])` / `table.register({...})` for rows.
|
|
4982
|
+
* Row identity is the ticket id (caller-supplied or auto-generated); column
|
|
4983
|
+
* identity is the caller-supplied `id` (required — no auto-generation).
|
|
4984
|
+
*
|
|
4979
4985
|
* Key features:
|
|
4980
4986
|
* - Adapter pattern for pipeline strategy (client, server, virtual)
|
|
4981
4987
|
* - Sort via createGroup tri-state: selected=asc, mixed=desc, unselected=none
|
|
@@ -4990,10 +4996,18 @@ var VirtualDataTableAdapter = class extends DataTableAdapter {
|
|
|
4990
4996
|
* ```ts
|
|
4991
4997
|
* import { createDataTable } from '@vuetify/v0'
|
|
4992
4998
|
*
|
|
4993
|
-
* const table = createDataTable(
|
|
4994
|
-
*
|
|
4995
|
-
*
|
|
4996
|
-
* }
|
|
4999
|
+
* const table = createDataTable<User>()
|
|
5000
|
+
*
|
|
5001
|
+
* table.columns.onboard([
|
|
5002
|
+
* { id: 'name', title: 'Name', sortable: true },
|
|
5003
|
+
* { id: 'email', title: 'Email', filterable: true },
|
|
5004
|
+
* ])
|
|
5005
|
+
*
|
|
5006
|
+
* table.onboard([
|
|
5007
|
+
* { id: 1, value: { id: 1, name: 'Alice', email: 'alice@test.com' } },
|
|
5008
|
+
* { id: 2, value: { id: 2, name: 'Bob', email: 'bob@test.com' } },
|
|
5009
|
+
* ])
|
|
5010
|
+
*
|
|
4997
5011
|
* table.sort.toggle('name')
|
|
4998
5012
|
* ```
|
|
4999
5013
|
*/
|
|
@@ -5001,43 +5015,53 @@ var VirtualDataTableAdapter = class extends DataTableAdapter {
|
|
|
5001
5015
|
* Creates a data table instance with sort controls, selection, and an
|
|
5002
5016
|
* adapter-driven data pipeline.
|
|
5003
5017
|
*
|
|
5018
|
+
* Rows and columns are both managed via internal registries. Use
|
|
5019
|
+
* `table.columns.register({ id, ... })` / `table.columns.onboard([...])` to
|
|
5020
|
+
* add columns and `table.register({ id, value })` / `table.onboard([...])`
|
|
5021
|
+
* for rows. Removing entries from the column registry reactively updates
|
|
5022
|
+
* `leaves`, `headers`, the sort group, and the filter pipeline.
|
|
5023
|
+
*
|
|
5004
5024
|
* Must be called inside a component `setup()` or a Vue effect scope.
|
|
5005
5025
|
* Calling at module scope in SSR environments causes request state leakage.
|
|
5006
5026
|
*
|
|
5007
|
-
* @param options Data table options
|
|
5008
|
-
* @returns Data table context with pipeline stages and
|
|
5027
|
+
* @param options Data table options (all optional)
|
|
5028
|
+
* @returns Data table context with pipeline stages, controls, and registry surface
|
|
5009
5029
|
*
|
|
5010
5030
|
* @example
|
|
5011
5031
|
* ```ts
|
|
5012
5032
|
* import { createDataTable } from '@vuetify/v0'
|
|
5013
5033
|
*
|
|
5014
|
-
* const table = createDataTable(
|
|
5015
|
-
*
|
|
5016
|
-
*
|
|
5017
|
-
*
|
|
5018
|
-
*
|
|
5019
|
-
*
|
|
5020
|
-
*
|
|
5021
|
-
*
|
|
5034
|
+
* const table = createDataTable<User>()
|
|
5035
|
+
*
|
|
5036
|
+
* table.columns.onboard([
|
|
5037
|
+
* { id: 'name', title: 'Name', sortable: true, filterable: true },
|
|
5038
|
+
* { id: 'email', title: 'Email', sortable: true, filterable: true },
|
|
5039
|
+
* { id: 'age', title: 'Age', sortable: true },
|
|
5040
|
+
* ])
|
|
5041
|
+
*
|
|
5042
|
+
* table.onboard(users.map(value => ({ id: value.id, value })))
|
|
5022
5043
|
*
|
|
5023
|
-
* // Search
|
|
5024
5044
|
* table.search('john')
|
|
5025
5045
|
*
|
|
5026
|
-
*
|
|
5027
|
-
* table.sort.toggle('name')
|
|
5028
|
-
* table.sort.toggle('name')
|
|
5029
|
-
* table.sort.toggle('name') // none
|
|
5030
|
-
* console.log(table.sort.columns.value) // [{ key: 'name', direction: 'asc' }]
|
|
5046
|
+
* table.sort.toggle('name')
|
|
5047
|
+
* table.sort.toggle('name')
|
|
5048
|
+
* table.sort.toggle('name')
|
|
5031
5049
|
*
|
|
5032
|
-
* // Paginate
|
|
5033
5050
|
* table.pagination.next()
|
|
5034
5051
|
*
|
|
5035
|
-
*
|
|
5036
|
-
* table.selection.toggle('user-1')
|
|
5052
|
+
* table.selection.toggle(1)
|
|
5037
5053
|
* ```
|
|
5038
5054
|
*/
|
|
5039
|
-
function createDataTable(options) {
|
|
5040
|
-
const {
|
|
5055
|
+
function createDataTable(options = {}) {
|
|
5056
|
+
const { filter: filterOptions = {}, pagination: paginationOptions = {}, sortMultiple = false, mandate = false, firstSortOrder = "asc", selectStrategy = "page", itemSelectable, groupBy, openAll = false, expandMultiple = true, locale: initialLocale, adapter = new ClientDataTableAdapter() } = options;
|
|
5057
|
+
const registry = createRegistry({
|
|
5058
|
+
events: true,
|
|
5059
|
+
reactive: true
|
|
5060
|
+
});
|
|
5061
|
+
const columns = createRegistry({
|
|
5062
|
+
events: true,
|
|
5063
|
+
reactive: true
|
|
5064
|
+
});
|
|
5041
5065
|
const _query = shallowRef("");
|
|
5042
5066
|
function search(value) {
|
|
5043
5067
|
_query.value = value;
|
|
@@ -5048,44 +5072,60 @@ function createDataTable(options) {
|
|
|
5048
5072
|
if (!/* @__PURE__ */ isNullOrUndefined(selected)) return String(selected);
|
|
5049
5073
|
return initialLocale;
|
|
5050
5074
|
});
|
|
5051
|
-
const leaves = /* @__PURE__ */ extractLeaves(columns);
|
|
5052
|
-
const headers =
|
|
5053
|
-
const sortable = leaves.filter((col) => col.sortable === true);
|
|
5075
|
+
const leaves = computed(() => /* @__PURE__ */ extractLeaves(columns.values()));
|
|
5076
|
+
const headers = computed(() => /* @__PURE__ */ resolveHeaders(columns.values()));
|
|
5077
|
+
const sortable = computed(() => leaves.value.filter((col) => col.sortable === true));
|
|
5054
5078
|
const group = createGroup({ multiple: sortMultiple });
|
|
5055
|
-
group.onboard(sortable.map((col) => ({
|
|
5056
|
-
id: col.key,
|
|
5057
|
-
value: col.key
|
|
5058
|
-
})));
|
|
5059
5079
|
const order = shallowReactive([]);
|
|
5060
|
-
|
|
5061
|
-
|
|
5062
|
-
const
|
|
5063
|
-
const
|
|
5080
|
+
watch(sortable, (next) => {
|
|
5081
|
+
const ids = /* @__PURE__ */ new Set();
|
|
5082
|
+
for (const col of next) ids.add(String(col.id));
|
|
5083
|
+
for (const id of group.keys()) {
|
|
5084
|
+
const key = String(id);
|
|
5085
|
+
if (!ids.has(key)) {
|
|
5086
|
+
group.unregister(id);
|
|
5087
|
+
const index = order.indexOf(key);
|
|
5088
|
+
if (index !== -1) order.splice(index, 1);
|
|
5089
|
+
}
|
|
5090
|
+
}
|
|
5091
|
+
for (const id of ids) if (!group.has(id)) group.register({
|
|
5092
|
+
id,
|
|
5093
|
+
value: id
|
|
5094
|
+
});
|
|
5095
|
+
}, {
|
|
5096
|
+
flush: "sync",
|
|
5097
|
+
immediate: true
|
|
5098
|
+
});
|
|
5099
|
+
function toggle(id) {
|
|
5100
|
+
if (!group.has(id)) return;
|
|
5101
|
+
const isAsc = group.selectedIds.has(id);
|
|
5102
|
+
const isDesc = group.mixed(id);
|
|
5064
5103
|
function clearOthers() {
|
|
5065
5104
|
if (!sortMultiple) {
|
|
5105
|
+
group.unselectAll();
|
|
5066
5106
|
group.mixedIds.clear();
|
|
5067
5107
|
order.length = 0;
|
|
5068
5108
|
}
|
|
5069
5109
|
}
|
|
5070
5110
|
function setAsc() {
|
|
5071
|
-
group.unmix(
|
|
5072
|
-
group.select(
|
|
5111
|
+
group.unmix(id);
|
|
5112
|
+
group.select(id);
|
|
5073
5113
|
}
|
|
5074
5114
|
function setDesc() {
|
|
5075
|
-
group.unselect(
|
|
5076
|
-
group.mix(
|
|
5115
|
+
group.unselect(id);
|
|
5116
|
+
group.mix(id);
|
|
5077
5117
|
}
|
|
5078
5118
|
function setNone() {
|
|
5079
|
-
group.unselect(
|
|
5080
|
-
group.unmix(
|
|
5081
|
-
const index = order.indexOf(
|
|
5119
|
+
group.unselect(id);
|
|
5120
|
+
group.unmix(id);
|
|
5121
|
+
const index = order.indexOf(id);
|
|
5082
5122
|
if (index !== -1) order.splice(index, 1);
|
|
5083
5123
|
}
|
|
5084
5124
|
if (!isAsc && !isDesc) {
|
|
5085
5125
|
clearOthers();
|
|
5086
5126
|
if (firstSortOrder === "desc") setDesc();
|
|
5087
5127
|
else setAsc();
|
|
5088
|
-
order.push(
|
|
5128
|
+
order.push(id);
|
|
5089
5129
|
} else if (isAsc) if (firstSortOrder === "desc" && !mandate) setNone();
|
|
5090
5130
|
else setDesc();
|
|
5091
5131
|
else if (firstSortOrder === "asc" && !mandate) setNone();
|
|
@@ -5093,23 +5133,23 @@ function createDataTable(options) {
|
|
|
5093
5133
|
}
|
|
5094
5134
|
const sortBy = computed(() => {
|
|
5095
5135
|
const result = [];
|
|
5096
|
-
for (const
|
|
5097
|
-
key,
|
|
5136
|
+
for (const id of order) if (group.selectedIds.has(id)) result.push({
|
|
5137
|
+
key: id,
|
|
5098
5138
|
direction: "asc"
|
|
5099
5139
|
});
|
|
5100
|
-
else if (group.mixed(
|
|
5101
|
-
key,
|
|
5140
|
+
else if (group.mixed(id)) result.push({
|
|
5141
|
+
key: id,
|
|
5102
5142
|
direction: "desc"
|
|
5103
5143
|
});
|
|
5104
5144
|
return result;
|
|
5105
5145
|
});
|
|
5106
|
-
function direction(
|
|
5107
|
-
if (group.selectedIds.has(
|
|
5108
|
-
if (group.mixed(
|
|
5146
|
+
function direction(id) {
|
|
5147
|
+
if (group.selectedIds.has(id)) return "asc";
|
|
5148
|
+
if (group.mixed(id)) return "desc";
|
|
5109
5149
|
return "none";
|
|
5110
5150
|
}
|
|
5111
|
-
function priority(
|
|
5112
|
-
return order.indexOf(
|
|
5151
|
+
function priority(id) {
|
|
5152
|
+
return order.indexOf(id);
|
|
5113
5153
|
}
|
|
5114
5154
|
function reset() {
|
|
5115
5155
|
group.unselectAll();
|
|
@@ -5124,32 +5164,41 @@ function createDataTable(options) {
|
|
|
5124
5164
|
priority,
|
|
5125
5165
|
reset
|
|
5126
5166
|
};
|
|
5127
|
-
const filterable =
|
|
5128
|
-
|
|
5129
|
-
|
|
5130
|
-
|
|
5131
|
-
|
|
5167
|
+
const filterable = computed(() => {
|
|
5168
|
+
const ids = [];
|
|
5169
|
+
for (const col of leaves.value) if (col.filterable === true) ids.push(String(col.id));
|
|
5170
|
+
return ids;
|
|
5171
|
+
});
|
|
5172
|
+
const customSorts = computed(() => {
|
|
5173
|
+
const sorts = {};
|
|
5174
|
+
for (const col of leaves.value) if (col.sort) sorts[String(col.id)] = col.sort;
|
|
5175
|
+
return sorts;
|
|
5176
|
+
});
|
|
5177
|
+
const customColumnFilters = computed(() => {
|
|
5178
|
+
const filters = {};
|
|
5179
|
+
for (const col of leaves.value) if (col.filter) filters[String(col.id)] = col.filter;
|
|
5180
|
+
return filters;
|
|
5181
|
+
});
|
|
5182
|
+
const source = computed(() => registry.values().map((t) => t.value));
|
|
5132
5183
|
const { allItems, filteredItems, sortedItems, items: visible, pagination, total, loading = toRef(() => false), error = toRef(() => null) } = adapter.setup({
|
|
5133
|
-
items:
|
|
5184
|
+
items: source,
|
|
5134
5185
|
search: _query,
|
|
5135
5186
|
filterableKeys: filterable,
|
|
5136
5187
|
sortBy,
|
|
5137
5188
|
locale,
|
|
5138
5189
|
filterOptions,
|
|
5139
5190
|
paginationOptions,
|
|
5140
|
-
customSorts
|
|
5141
|
-
customColumnFilters
|
|
5191
|
+
customSorts,
|
|
5192
|
+
customColumnFilters
|
|
5142
5193
|
});
|
|
5143
5194
|
const selectedIds = shallowReactive(/* @__PURE__ */ new Set());
|
|
5144
|
-
function rowId(item) {
|
|
5145
|
-
const value = item[itemValue];
|
|
5146
|
-
if (/* @__PURE__ */ isString(value) || /* @__PURE__ */ isNumber(value)) return value;
|
|
5147
|
-
throw new Error(`[v0:data-table] itemValue "${itemValue}" must resolve to a string or number`);
|
|
5148
|
-
}
|
|
5149
5195
|
const selectableIds = computed(() => {
|
|
5150
5196
|
if (!itemSelectable) return null;
|
|
5151
5197
|
const ids = /* @__PURE__ */ new Set();
|
|
5152
|
-
for (const
|
|
5198
|
+
for (const ticket of registry.values()) {
|
|
5199
|
+
const value = ticket.value;
|
|
5200
|
+
if (!/* @__PURE__ */ isNullOrUndefined(value) && value[itemSelectable]) ids.add(ticket.id);
|
|
5201
|
+
}
|
|
5153
5202
|
return ids;
|
|
5154
5203
|
});
|
|
5155
5204
|
function isSelectable(id) {
|
|
@@ -5159,9 +5208,18 @@ function createDataTable(options) {
|
|
|
5159
5208
|
if (selectStrategy === "single") return [];
|
|
5160
5209
|
return selectStrategy === "all" ? sortedItems.value : visible.value;
|
|
5161
5210
|
});
|
|
5162
|
-
const
|
|
5163
|
-
|
|
5164
|
-
|
|
5211
|
+
const scopedTickets = computed(() => {
|
|
5212
|
+
const scope = scopeItems.value;
|
|
5213
|
+
if (scope.length === 0) return [];
|
|
5214
|
+
const set = new Set(scope);
|
|
5215
|
+
const result = [];
|
|
5216
|
+
for (const ticket of registry.values()) {
|
|
5217
|
+
const value = ticket.value;
|
|
5218
|
+
if (/* @__PURE__ */ isNullOrUndefined(value) || !set.has(value)) continue;
|
|
5219
|
+
if (itemSelectable && !value[itemSelectable]) continue;
|
|
5220
|
+
result.push(ticket);
|
|
5221
|
+
}
|
|
5222
|
+
return result;
|
|
5165
5223
|
});
|
|
5166
5224
|
const selection = {
|
|
5167
5225
|
selectedIds,
|
|
@@ -5182,28 +5240,39 @@ function createDataTable(options) {
|
|
|
5182
5240
|
},
|
|
5183
5241
|
isSelectable,
|
|
5184
5242
|
selectAll() {
|
|
5185
|
-
for (const
|
|
5243
|
+
for (const ticket of scopedTickets.value) selectedIds.add(ticket.id);
|
|
5186
5244
|
},
|
|
5187
5245
|
unselectAll() {
|
|
5188
5246
|
selectedIds.clear();
|
|
5189
5247
|
},
|
|
5190
5248
|
toggleAll() {
|
|
5191
5249
|
if (selectStrategy === "single") return;
|
|
5192
|
-
if (selection.isAllSelected.value) for (const
|
|
5250
|
+
if (selection.isAllSelected.value) for (const ticket of scopedTickets.value) selectedIds.delete(ticket.id);
|
|
5193
5251
|
else selection.selectAll();
|
|
5194
5252
|
},
|
|
5195
5253
|
isAllSelected: computed(() => {
|
|
5196
|
-
const
|
|
5197
|
-
if (
|
|
5198
|
-
return
|
|
5254
|
+
const tickets = scopedTickets.value;
|
|
5255
|
+
if (tickets.length === 0) return false;
|
|
5256
|
+
return tickets.every((ticket) => selectedIds.has(ticket.id));
|
|
5199
5257
|
}),
|
|
5200
5258
|
isMixed: computed(() => {
|
|
5201
|
-
const
|
|
5202
|
-
if (
|
|
5203
|
-
return
|
|
5259
|
+
const tickets = scopedTickets.value;
|
|
5260
|
+
if (tickets.length === 0) return false;
|
|
5261
|
+
return tickets.some((ticket) => selectedIds.has(ticket.id)) && !selection.isAllSelected.value;
|
|
5204
5262
|
})
|
|
5205
5263
|
};
|
|
5206
5264
|
const expandedIds = shallowReactive(/* @__PURE__ */ new Set());
|
|
5265
|
+
const visibleTickets = computed(() => {
|
|
5266
|
+
const scope = visible.value;
|
|
5267
|
+
if (scope.length === 0) return [];
|
|
5268
|
+
const set = new Set(scope);
|
|
5269
|
+
const result = [];
|
|
5270
|
+
for (const ticket of registry.values()) {
|
|
5271
|
+
const value = ticket.value;
|
|
5272
|
+
if (!/* @__PURE__ */ isNullOrUndefined(value) && set.has(value)) result.push(ticket);
|
|
5273
|
+
}
|
|
5274
|
+
return result;
|
|
5275
|
+
});
|
|
5207
5276
|
const expansion = {
|
|
5208
5277
|
expandedIds,
|
|
5209
5278
|
expand(id) {
|
|
@@ -5222,12 +5291,20 @@ function createDataTable(options) {
|
|
|
5222
5291
|
},
|
|
5223
5292
|
expandAll() {
|
|
5224
5293
|
if (!expandMultiple) return;
|
|
5225
|
-
for (const
|
|
5294
|
+
for (const ticket of visibleTickets.value) expandedIds.add(ticket.id);
|
|
5226
5295
|
},
|
|
5227
5296
|
collapseAll() {
|
|
5228
5297
|
expandedIds.clear();
|
|
5229
5298
|
}
|
|
5230
5299
|
};
|
|
5300
|
+
registry.on("unregister:ticket", (ticket) => {
|
|
5301
|
+
selectedIds.delete(ticket.id);
|
|
5302
|
+
expandedIds.delete(ticket.id);
|
|
5303
|
+
});
|
|
5304
|
+
registry.on("clear:registry", () => {
|
|
5305
|
+
selectedIds.clear();
|
|
5306
|
+
expandedIds.clear();
|
|
5307
|
+
});
|
|
5231
5308
|
const opened = shallowReactive(/* @__PURE__ */ new Set());
|
|
5232
5309
|
const groups = computed(() => {
|
|
5233
5310
|
if (!groupBy) return [];
|
|
@@ -5254,14 +5331,18 @@ function createDataTable(options) {
|
|
|
5254
5331
|
return result;
|
|
5255
5332
|
});
|
|
5256
5333
|
if (openAll) {
|
|
5257
|
-
|
|
5258
|
-
|
|
5259
|
-
|
|
5260
|
-
|
|
5261
|
-
|
|
5262
|
-
|
|
5263
|
-
|
|
5264
|
-
|
|
5334
|
+
const autoOpened = /* @__PURE__ */ new Set();
|
|
5335
|
+
for (const group of groups.value) {
|
|
5336
|
+
opened.add(group.key);
|
|
5337
|
+
autoOpened.add(group.key);
|
|
5338
|
+
}
|
|
5339
|
+
watch(groups, (newGroups) => {
|
|
5340
|
+
for (const group of newGroups) {
|
|
5341
|
+
if (autoOpened.has(group.key)) continue;
|
|
5342
|
+
opened.add(group.key);
|
|
5343
|
+
autoOpened.add(group.key);
|
|
5344
|
+
}
|
|
5345
|
+
}, { flush: "sync" });
|
|
5265
5346
|
}
|
|
5266
5347
|
const grouping = {
|
|
5267
5348
|
groups,
|
|
@@ -5286,6 +5367,7 @@ function createDataTable(options) {
|
|
|
5286
5367
|
}
|
|
5287
5368
|
};
|
|
5288
5369
|
return {
|
|
5370
|
+
...registry,
|
|
5289
5371
|
items: visible,
|
|
5290
5372
|
allItems,
|
|
5291
5373
|
filteredItems,
|
|
@@ -5302,12 +5384,19 @@ function createDataTable(options) {
|
|
|
5302
5384
|
grouping,
|
|
5303
5385
|
total,
|
|
5304
5386
|
loading,
|
|
5305
|
-
error
|
|
5387
|
+
error,
|
|
5388
|
+
get size() {
|
|
5389
|
+
return registry.size;
|
|
5390
|
+
}
|
|
5306
5391
|
};
|
|
5307
5392
|
}
|
|
5308
5393
|
/**
|
|
5309
5394
|
* Creates a data table context with dependency injection support.
|
|
5310
5395
|
*
|
|
5396
|
+
* The returned context exposes both row and column registries. Columns must
|
|
5397
|
+
* be onboarded after construction — pass them via `context.columns.onboard`,
|
|
5398
|
+
* not in the factory options.
|
|
5399
|
+
*
|
|
5311
5400
|
* @param options Data table context options including namespace
|
|
5312
5401
|
* @returns A trinity tuple: [useDataTable, provideDataTable, defaultContext]
|
|
5313
5402
|
*
|
|
@@ -5315,22 +5404,23 @@ function createDataTable(options) {
|
|
|
5315
5404
|
* ```ts
|
|
5316
5405
|
* import { createDataTableContext } from '@vuetify/v0'
|
|
5317
5406
|
*
|
|
5318
|
-
* const [useDataTable, provideDataTable, context] = createDataTableContext({
|
|
5407
|
+
* const [useDataTable, provideDataTable, context] = createDataTableContext<User>({
|
|
5319
5408
|
* namespace: 'app:users',
|
|
5320
|
-
* items: users,
|
|
5321
|
-
* columns: [
|
|
5322
|
-
* { key: 'name', title: 'Name', sortable: true },
|
|
5323
|
-
* ],
|
|
5324
5409
|
* })
|
|
5325
5410
|
*
|
|
5411
|
+
* context.columns.onboard([
|
|
5412
|
+
* { id: 'name', title: 'Name', sortable: true },
|
|
5413
|
+
* ])
|
|
5414
|
+
*
|
|
5326
5415
|
* // Parent component
|
|
5327
5416
|
* provideDataTable()
|
|
5417
|
+
* context.onboard(users.map(value => ({ id: value.id, value })))
|
|
5328
5418
|
*
|
|
5329
5419
|
* // Child component
|
|
5330
5420
|
* const table = useDataTable()
|
|
5331
5421
|
* ```
|
|
5332
5422
|
*/
|
|
5333
|
-
function createDataTableContext(_options) {
|
|
5423
|
+
function createDataTableContext(_options = {}) {
|
|
5334
5424
|
const { namespace = "v0:data-table", ...options } = _options;
|
|
5335
5425
|
return createTrinity(namespace, createDataTable(options));
|
|
5336
5426
|
}
|
|
@@ -5596,6 +5686,7 @@ function resolveAlias(name, predicate, locale) {
|
|
|
5596
5686
|
};
|
|
5597
5687
|
}
|
|
5598
5688
|
function createResolve(aliases, locale) {
|
|
5689
|
+
useLogger();
|
|
5599
5690
|
return function resolve(rules) {
|
|
5600
5691
|
const result = [];
|
|
5601
5692
|
for (const rule of rules) {
|
|
@@ -7087,6 +7178,188 @@ function createNumberField(options = {}) {
|
|
|
7087
7178
|
};
|
|
7088
7179
|
}
|
|
7089
7180
|
//#endregion
|
|
7181
|
+
//#region src/composables/createOtp/index.ts
|
|
7182
|
+
/**
|
|
7183
|
+
* @module createOtp
|
|
7184
|
+
*
|
|
7185
|
+
* @see https://0.vuetifyjs.com/composables/forms/create-otp
|
|
7186
|
+
*
|
|
7187
|
+
* @remarks
|
|
7188
|
+
* Headless state for a fixed-length one-time-password / verification-code value.
|
|
7189
|
+
* Owns the joined string, per-character pattern matching, length contract,
|
|
7190
|
+
* completion edge detection with a decisional async `onComplete` hook, and
|
|
7191
|
+
* validation through `createInput`. Rendering, focus, and per-element event
|
|
7192
|
+
* wiring are the consumer's responsibility.
|
|
7193
|
+
*
|
|
7194
|
+
* @example
|
|
7195
|
+
* ```ts
|
|
7196
|
+
* import { createOtp } from '@vuetify/v0'
|
|
7197
|
+
*
|
|
7198
|
+
* const otp = createOtp({
|
|
7199
|
+
* length: 6,
|
|
7200
|
+
* pattern: 'numeric',
|
|
7201
|
+
* onComplete: async value => {
|
|
7202
|
+
* const ok = await verify(value)
|
|
7203
|
+
* return ok
|
|
7204
|
+
* },
|
|
7205
|
+
* })
|
|
7206
|
+
*
|
|
7207
|
+
* otp.write(0, '4')
|
|
7208
|
+
* otp.distribute('12345', 1) // returns 5; value becomes '412345'
|
|
7209
|
+
* otp.isComplete.value // true
|
|
7210
|
+
* ```
|
|
7211
|
+
*/
|
|
7212
|
+
const PRESETS = {
|
|
7213
|
+
numeric: /^[0-9]$/,
|
|
7214
|
+
alphanumeric: /^[a-zA-Z0-9]$/,
|
|
7215
|
+
alphabetic: /^[a-zA-Z]$/
|
|
7216
|
+
};
|
|
7217
|
+
function createOtp(options = {}) {
|
|
7218
|
+
const { value = shallowRef(""), length = 6, pattern = "numeric", disabled = false, readonly: _readonly = false, onComplete, ...inputOptions } = options;
|
|
7219
|
+
const logger = useLogger();
|
|
7220
|
+
const errorRef = shallowRef(false);
|
|
7221
|
+
const errorMessagesRef = shallowRef(void 0);
|
|
7222
|
+
const input = createInput({
|
|
7223
|
+
...inputOptions,
|
|
7224
|
+
value,
|
|
7225
|
+
disabled,
|
|
7226
|
+
readonly: _readonly,
|
|
7227
|
+
error: errorRef,
|
|
7228
|
+
errorMessages: errorMessagesRef
|
|
7229
|
+
});
|
|
7230
|
+
const lengthRef = toRef(() => toValue(length));
|
|
7231
|
+
let lastCompleted = "";
|
|
7232
|
+
function compile(resolved) {
|
|
7233
|
+
if (/* @__PURE__ */ isString(resolved)) return PRESETS[resolved];
|
|
7234
|
+
return resolved;
|
|
7235
|
+
}
|
|
7236
|
+
function accepts(char) {
|
|
7237
|
+
if (char.length !== 1) return false;
|
|
7238
|
+
return compile(toValue(pattern)).test(char);
|
|
7239
|
+
}
|
|
7240
|
+
function filterAccepted(text) {
|
|
7241
|
+
let out = "";
|
|
7242
|
+
for (const ch of text) if (accepts(ch)) out += ch;
|
|
7243
|
+
return out;
|
|
7244
|
+
}
|
|
7245
|
+
const isPending = shallowRef(false);
|
|
7246
|
+
function isLocked() {
|
|
7247
|
+
return toValue(disabled) || toValue(_readonly) || isPending.value;
|
|
7248
|
+
}
|
|
7249
|
+
function clearRejection() {
|
|
7250
|
+
if (errorRef.value || errorMessagesRef.value) {
|
|
7251
|
+
errorRef.value = false;
|
|
7252
|
+
errorMessagesRef.value = void 0;
|
|
7253
|
+
}
|
|
7254
|
+
}
|
|
7255
|
+
function write(index, char) {
|
|
7256
|
+
if (isLocked()) return;
|
|
7257
|
+
const max = toValue(lengthRef);
|
|
7258
|
+
if (index < 0 || index >= max) return;
|
|
7259
|
+
if (char === "") {
|
|
7260
|
+
clearRejection();
|
|
7261
|
+
value.value = value.value.slice(0, index);
|
|
7262
|
+
return;
|
|
7263
|
+
}
|
|
7264
|
+
const first = char[0];
|
|
7265
|
+
if (!accepts(first)) return;
|
|
7266
|
+
clearRejection();
|
|
7267
|
+
const current = value.value;
|
|
7268
|
+
const head = current.slice(0, index);
|
|
7269
|
+
const tail = current.slice(index + 1);
|
|
7270
|
+
value.value = (head + first + tail).slice(0, max);
|
|
7271
|
+
}
|
|
7272
|
+
function distribute(text, index = 0) {
|
|
7273
|
+
if (isLocked()) return 0;
|
|
7274
|
+
const max = toValue(lengthRef);
|
|
7275
|
+
const start = /* @__PURE__ */ clamp(index, 0, max);
|
|
7276
|
+
const filtered = filterAccepted(text);
|
|
7277
|
+
if (filtered.length === 0) return 0;
|
|
7278
|
+
clearRejection();
|
|
7279
|
+
const head = value.value.slice(0, start);
|
|
7280
|
+
const next = (head + filtered).slice(0, max);
|
|
7281
|
+
value.value = next;
|
|
7282
|
+
return next.length - head.length;
|
|
7283
|
+
}
|
|
7284
|
+
function clear() {
|
|
7285
|
+
if (isLocked()) return;
|
|
7286
|
+
clearRejection();
|
|
7287
|
+
lastCompleted = "";
|
|
7288
|
+
value.value = "";
|
|
7289
|
+
}
|
|
7290
|
+
function fill(text) {
|
|
7291
|
+
if (isLocked()) return;
|
|
7292
|
+
const max = toValue(lengthRef);
|
|
7293
|
+
const filtered = filterAccepted(text).slice(0, max);
|
|
7294
|
+
if (text.length === 0 || filtered.length > 0) clearRejection();
|
|
7295
|
+
value.value = filtered;
|
|
7296
|
+
}
|
|
7297
|
+
function reject() {
|
|
7298
|
+
errorRef.value = true;
|
|
7299
|
+
errorMessagesRef.value = ["Invalid code"];
|
|
7300
|
+
lastCompleted = "";
|
|
7301
|
+
value.value = "";
|
|
7302
|
+
}
|
|
7303
|
+
const isComplete = toRef(() => {
|
|
7304
|
+
const max = toValue(lengthRef);
|
|
7305
|
+
const v = value.value;
|
|
7306
|
+
if (v.length !== max) return false;
|
|
7307
|
+
const re = compile(toValue(pattern));
|
|
7308
|
+
for (const ch of v) if (!re.test(ch)) return false;
|
|
7309
|
+
return true;
|
|
7310
|
+
});
|
|
7311
|
+
watch(value, (next) => {
|
|
7312
|
+
if (!isComplete.value) {
|
|
7313
|
+
lastCompleted = "";
|
|
7314
|
+
return;
|
|
7315
|
+
}
|
|
7316
|
+
if (!onComplete) return;
|
|
7317
|
+
if (isLocked()) return;
|
|
7318
|
+
if (next === lastCompleted) return;
|
|
7319
|
+
lastCompleted = next;
|
|
7320
|
+
let result;
|
|
7321
|
+
try {
|
|
7322
|
+
result = onComplete(next);
|
|
7323
|
+
} catch (error) {
|
|
7324
|
+
logger.warn("createOtp: onComplete threw", error);
|
|
7325
|
+
reject();
|
|
7326
|
+
return;
|
|
7327
|
+
}
|
|
7328
|
+
if (/* @__PURE__ */ isThenable(result)) {
|
|
7329
|
+
isPending.value = true;
|
|
7330
|
+
result.then((ok) => {
|
|
7331
|
+
isPending.value = false;
|
|
7332
|
+
if (ok === false) reject();
|
|
7333
|
+
}, (error) => {
|
|
7334
|
+
isPending.value = false;
|
|
7335
|
+
logger.warn("createOtp: onComplete rejected", error);
|
|
7336
|
+
reject();
|
|
7337
|
+
});
|
|
7338
|
+
return;
|
|
7339
|
+
}
|
|
7340
|
+
if (result === false) reject();
|
|
7341
|
+
});
|
|
7342
|
+
return {
|
|
7343
|
+
value,
|
|
7344
|
+
length: lengthRef,
|
|
7345
|
+
input: {
|
|
7346
|
+
...input,
|
|
7347
|
+
reset() {
|
|
7348
|
+
clearRejection();
|
|
7349
|
+
lastCompleted = "";
|
|
7350
|
+
input.reset();
|
|
7351
|
+
}
|
|
7352
|
+
},
|
|
7353
|
+
isComplete,
|
|
7354
|
+
isValidating: isPending,
|
|
7355
|
+
write,
|
|
7356
|
+
distribute,
|
|
7357
|
+
clear,
|
|
7358
|
+
fill,
|
|
7359
|
+
accepts
|
|
7360
|
+
};
|
|
7361
|
+
}
|
|
7362
|
+
//#endregion
|
|
7090
7363
|
//#region src/composables/useHydration/index.ts
|
|
7091
7364
|
/**
|
|
7092
7365
|
* @module useHydration
|
|
@@ -7490,7 +7763,7 @@ function useElementSize(target) {
|
|
|
7490
7763
|
return {
|
|
7491
7764
|
width: shallowReadonly(width),
|
|
7492
7765
|
height: shallowReadonly(height),
|
|
7493
|
-
isActive,
|
|
7766
|
+
isActive: shallowReadonly(isActive),
|
|
7494
7767
|
isPaused: shallowReadonly(isPaused),
|
|
7495
7768
|
pause,
|
|
7496
7769
|
resume,
|
|
@@ -9107,6 +9380,124 @@ function useVirtual(namespace = "v0:virtual") {
|
|
|
9107
9380
|
return useContext(namespace);
|
|
9108
9381
|
}
|
|
9109
9382
|
//#endregion
|
|
9383
|
+
//#region src/composables/toHighlight/index.ts
|
|
9384
|
+
/**
|
|
9385
|
+
* @module toHighlight
|
|
9386
|
+
*
|
|
9387
|
+
* @see https://0.vuetifyjs.com/composables/transformers/to-highlight
|
|
9388
|
+
*
|
|
9389
|
+
* @remarks
|
|
9390
|
+
* Pure transformer — no DOM, no state, no registry, no reactivity. Splits text
|
|
9391
|
+
* into matched and unmatched chunks given a query string, an array of query
|
|
9392
|
+
* strings, or pre-computed `[start, end]` match ranges (e.g., from createFilter).
|
|
9393
|
+
* Returns a plain array; wrap the call in `computed()` for reactive recomputation.
|
|
9394
|
+
*
|
|
9395
|
+
* @example
|
|
9396
|
+
* ```ts
|
|
9397
|
+
* import { toHighlight } from '@vuetify/v0'
|
|
9398
|
+
*
|
|
9399
|
+
* const chunks = toHighlight('Hello World', 'World')
|
|
9400
|
+
* // [{ text: 'Hello ', match: false }, { text: 'World', match: true }]
|
|
9401
|
+
* ```
|
|
9402
|
+
*/
|
|
9403
|
+
function merge(ranges) {
|
|
9404
|
+
const sorted = ranges.filter((span) => span[0] < span[1]).toSorted((a, b) => a[0] - b[0]);
|
|
9405
|
+
const merged = [];
|
|
9406
|
+
for (const span of sorted) {
|
|
9407
|
+
const last = merged.at(-1);
|
|
9408
|
+
if (last && span[0] <= last[1]) last[1] = Math.max(last[1], span[1]);
|
|
9409
|
+
else merged.push([span[0], span[1]]);
|
|
9410
|
+
}
|
|
9411
|
+
return merged;
|
|
9412
|
+
}
|
|
9413
|
+
function chunk(text, ranges) {
|
|
9414
|
+
const chunks = [];
|
|
9415
|
+
let cursor = 0;
|
|
9416
|
+
for (const [start, end] of ranges) {
|
|
9417
|
+
if (cursor < start) chunks.push({
|
|
9418
|
+
text: text.slice(cursor, start),
|
|
9419
|
+
match: false
|
|
9420
|
+
});
|
|
9421
|
+
chunks.push({
|
|
9422
|
+
text: text.slice(start, end),
|
|
9423
|
+
match: true
|
|
9424
|
+
});
|
|
9425
|
+
cursor = end;
|
|
9426
|
+
}
|
|
9427
|
+
if (cursor < text.length) chunks.push({
|
|
9428
|
+
text: text.slice(cursor),
|
|
9429
|
+
match: false
|
|
9430
|
+
});
|
|
9431
|
+
return chunks;
|
|
9432
|
+
}
|
|
9433
|
+
function find(text, query, matchAll, ignoreCase) {
|
|
9434
|
+
const terms = (/* @__PURE__ */ toArray(query)).filter(Boolean);
|
|
9435
|
+
const haystack = ignoreCase ? text.toLocaleLowerCase() : text;
|
|
9436
|
+
const spans = [];
|
|
9437
|
+
for (const term of terms) {
|
|
9438
|
+
const needle = ignoreCase ? term.toLocaleLowerCase() : term;
|
|
9439
|
+
let index = haystack.indexOf(needle);
|
|
9440
|
+
if (index !== -1) {
|
|
9441
|
+
spans.push([index, index + term.length]);
|
|
9442
|
+
if (matchAll) {
|
|
9443
|
+
index = haystack.indexOf(needle, index + term.length);
|
|
9444
|
+
while (index !== -1) {
|
|
9445
|
+
spans.push([index, index + term.length]);
|
|
9446
|
+
index = haystack.indexOf(needle, index + term.length);
|
|
9447
|
+
}
|
|
9448
|
+
}
|
|
9449
|
+
}
|
|
9450
|
+
}
|
|
9451
|
+
return merge(spans);
|
|
9452
|
+
}
|
|
9453
|
+
/**
|
|
9454
|
+
* Splits text into matched and unmatched chunks.
|
|
9455
|
+
*
|
|
9456
|
+
* Pure transformer — returns a plain array. Wrap the call in `computed()` for
|
|
9457
|
+
* reactive recomputation.
|
|
9458
|
+
*
|
|
9459
|
+
* Priority: `options.matches` (when non-empty) → `query` → no-match fallback.
|
|
9460
|
+
*
|
|
9461
|
+
* @param text The source string to split.
|
|
9462
|
+
* @param query One or more search terms. Empty strings are ignored. Case sensitivity controlled by `options.ignoreCase`.
|
|
9463
|
+
* @param options Optional `matches`, `matchAll`, `ignoreCase`.
|
|
9464
|
+
* @returns A `HighlightChunk[]` array.
|
|
9465
|
+
*
|
|
9466
|
+
* @see https://0.vuetifyjs.com/composables/transformers/to-highlight
|
|
9467
|
+
*
|
|
9468
|
+
* @example
|
|
9469
|
+
* ```ts
|
|
9470
|
+
* import { computed, shallowRef } from 'vue'
|
|
9471
|
+
* import { toHighlight } from '@vuetify/v0'
|
|
9472
|
+
*
|
|
9473
|
+
* const query = shallowRef('World')
|
|
9474
|
+
* const chunks = computed(() => toHighlight('Hello World', query))
|
|
9475
|
+
*
|
|
9476
|
+
* console.log(chunks.value)
|
|
9477
|
+
* // [{ text: 'Hello ', match: false }, { text: 'World', match: true }]
|
|
9478
|
+
* ```
|
|
9479
|
+
*/
|
|
9480
|
+
/* @__NO_SIDE_EFFECTS__ */
|
|
9481
|
+
function toHighlight(text, query, options = {}) {
|
|
9482
|
+
const _text = toValue(text);
|
|
9483
|
+
const _query = toValue(query);
|
|
9484
|
+
const _matches = toValue(options.matches);
|
|
9485
|
+
const matchAll = toValue(options.matchAll) ?? false;
|
|
9486
|
+
const ignoreCase = toValue(options.ignoreCase) ?? false;
|
|
9487
|
+
if (_matches?.length) return chunk(_text, merge(_matches));
|
|
9488
|
+
if (_query) {
|
|
9489
|
+
const ranges = find(_text, _query, matchAll, ignoreCase);
|
|
9490
|
+
return ranges.length > 0 ? chunk(_text, ranges) : [{
|
|
9491
|
+
text: _text,
|
|
9492
|
+
match: false
|
|
9493
|
+
}];
|
|
9494
|
+
}
|
|
9495
|
+
return [{
|
|
9496
|
+
text: _text,
|
|
9497
|
+
match: false
|
|
9498
|
+
}];
|
|
9499
|
+
}
|
|
9500
|
+
//#endregion
|
|
9110
9501
|
//#region src/composables/toReactive/index.ts
|
|
9111
9502
|
/**
|
|
9112
9503
|
* @module toReactive
|
|
@@ -11976,7 +12367,7 @@ function createNotifications(options = {}) {
|
|
|
11976
12367
|
*
|
|
11977
12368
|
* notifications.readAll()
|
|
11978
12369
|
*
|
|
11979
|
-
* console.log(notifications.values().every(t => t.readAt
|
|
12370
|
+
* console.log(notifications.values().every(t => !isNull(t.readAt))) // true
|
|
11980
12371
|
* ```
|
|
11981
12372
|
*/
|
|
11982
12373
|
function readAll() {
|
|
@@ -12005,7 +12396,7 @@ function createNotifications(options = {}) {
|
|
|
12005
12396
|
*
|
|
12006
12397
|
* notifications.archiveAll()
|
|
12007
12398
|
*
|
|
12008
|
-
* console.log(notifications.values().every(t => t.archivedAt
|
|
12399
|
+
* console.log(notifications.values().every(t => !isNull(t.archivedAt))) // true
|
|
12009
12400
|
* ```
|
|
12010
12401
|
*/
|
|
12011
12402
|
function archiveAll() {
|
|
@@ -14526,7 +14917,7 @@ const _sfc_main$19 = /* @__PURE__ */ defineComponent({
|
|
|
14526
14917
|
const firstDividerWidth = shallowRef(0);
|
|
14527
14918
|
const overflow = createOverflow({
|
|
14528
14919
|
container: () => containerRef.value?.element,
|
|
14529
|
-
gap: __props.gap,
|
|
14920
|
+
gap: () => __props.gap,
|
|
14530
14921
|
reserved: () => {
|
|
14531
14922
|
let r = 0;
|
|
14532
14923
|
if (firstItemWidth.value > 0) r += firstItemWidth.value + __props.gap;
|
|
@@ -19278,11 +19669,11 @@ const _sfc_main$74 = /* @__PURE__ */ defineComponent({
|
|
|
19278
19669
|
name: __props.name,
|
|
19279
19670
|
form: __props.form,
|
|
19280
19671
|
required: __props.required,
|
|
19281
|
-
disabled: __props.disabled,
|
|
19282
|
-
readonly: __props.readonly,
|
|
19672
|
+
disabled: () => toValue(__props.disabled),
|
|
19673
|
+
readonly: () => toValue(__props.readonly),
|
|
19283
19674
|
rules: __props.rules,
|
|
19284
|
-
error: __props.error,
|
|
19285
|
-
errorMessages: __props.errorMessages
|
|
19675
|
+
error: () => toValue(__props.error),
|
|
19676
|
+
errorMessages: () => toValue(__props.errorMessages)
|
|
19286
19677
|
});
|
|
19287
19678
|
const parsed = toRef(() => parseValidateOn$1(__props.validateOn));
|
|
19288
19679
|
function shouldValidate(trigger) {
|
|
@@ -19756,8 +20147,8 @@ const _sfc_main$81 = /* @__PURE__ */ defineComponent({
|
|
|
19756
20147
|
locale: __props.locale,
|
|
19757
20148
|
format: __props.format,
|
|
19758
20149
|
clamp: __props.clamp,
|
|
19759
|
-
disabled: __props.disabled,
|
|
19760
|
-
readonly: __props.readonly,
|
|
20150
|
+
disabled: () => toValue(__props.disabled),
|
|
20151
|
+
readonly: () => toValue(__props.readonly),
|
|
19761
20152
|
min: __props.min,
|
|
19762
20153
|
max: __props.max,
|
|
19763
20154
|
step: __props.step,
|
|
@@ -24075,10 +24466,10 @@ const _sfc_main$127 = /* @__PURE__ */ defineComponent({
|
|
|
24075
24466
|
min: __props.min,
|
|
24076
24467
|
max: __props.max,
|
|
24077
24468
|
step: __props.step,
|
|
24078
|
-
disabled: __props.disabled,
|
|
24079
|
-
readonly: __props.readonly,
|
|
24080
|
-
orientation: __props.orientation,
|
|
24081
|
-
inverted: __props.inverted,
|
|
24469
|
+
disabled: () => toValue(__props.disabled),
|
|
24470
|
+
readonly: () => toValue(__props.readonly),
|
|
24471
|
+
orientation: () => toValue(__props.orientation),
|
|
24472
|
+
inverted: () => toValue(__props.inverted),
|
|
24082
24473
|
minStepsBetweenThumbs: __props.minStepsBetweenThumbs,
|
|
24083
24474
|
crossover: __props.crossover
|
|
24084
24475
|
});
|
|
@@ -27783,4 +28174,4 @@ const Treeview = {
|
|
|
27783
28174
|
SelectAll: _sfc_main$163
|
|
27784
28175
|
};
|
|
27785
28176
|
//#endregion
|
|
27786
|
-
export { AlertDialog, _sfc_main as AlertDialogAction, _sfc_main$1 as AlertDialogActivator, _sfc_main$2 as AlertDialogCancel, _sfc_main$3 as AlertDialogClose, _sfc_main$4 as AlertDialogContent, _sfc_main$5 as AlertDialogDescription, _sfc_main$6 as AlertDialogRoot, _sfc_main$7 as AlertDialogTitle, _sfc_main$8 as AspectRatio, _sfc_main$9 as Atom, Avatar, _sfc_main$10 as AvatarFallback, _sfc_main$11 as AvatarImage, _sfc_main$12 as AvatarRoot, Breadcrumbs, _sfc_main$13 as BreadcrumbsDivider, _sfc_main$14 as BreadcrumbsEllipsis, _sfc_main$15 as BreadcrumbsItem, _sfc_main$16 as BreadcrumbsLink, _sfc_main$17 as BreadcrumbsList, _sfc_main$18 as BreadcrumbsPage, _sfc_main$19 as BreadcrumbsRoot, Button, _sfc_main$20 as ButtonContent, _sfc_main$21 as ButtonGroup, _sfc_main$22 as ButtonHiddenInput, _sfc_main$23 as ButtonIcon, _sfc_main$24 as ButtonLoading, _sfc_main$25 as ButtonRoot, Carousel, _sfc_main$26 as CarouselIndicator, _sfc_main$27 as CarouselItem, _sfc_main$28 as CarouselLiveRegion, _sfc_main$29 as CarouselNext, _sfc_main$30 as CarouselPrevious, _sfc_main$31 as CarouselProgress, _sfc_main$32 as CarouselRoot, _sfc_main$33 as CarouselViewport, Checkbox, _sfc_main$34 as CheckboxGroup, _sfc_main$35 as CheckboxHiddenInput, _sfc_main$36 as CheckboxIndicator, _sfc_main$37 as CheckboxRoot, _sfc_main$38 as CheckboxSelectAll, ClientComboboxAdapter, ClientDataTableAdapter, Collapsible, _sfc_main$39 as CollapsibleActivator, _sfc_main$40 as CollapsibleContent, _sfc_main$41 as CollapsibleCue, _sfc_main$42 as CollapsibleRoot, Combobox, _sfc_main$43 as ComboboxActivator, ComboboxAdapter, _sfc_main$44 as ComboboxContent, _sfc_main$45 as ComboboxControl, _sfc_main$46 as ComboboxCue, _sfc_main$47 as ComboboxDescription, _sfc_main$48 as ComboboxEmpty, _sfc_main$49 as ComboboxError, _sfc_main$50 as ComboboxItem, _sfc_main$51 as ComboboxRoot, ConsolaLoggerAdapter, DataTableAdapter, Dialog, _sfc_main$52 as DialogActivator, _sfc_main$53 as DialogClose, _sfc_main$54 as DialogContent, _sfc_main$55 as DialogDescription, _sfc_main$56 as DialogRoot, _sfc_main$57 as DialogTitle, DragDropAdapter, ExpansionPanel, _sfc_main$58 as ExpansionPanelActivator, _sfc_main$59 as ExpansionPanelContent, _sfc_main$60 as ExpansionPanelCue, _sfc_main$61 as ExpansionPanelGroup, _sfc_main$62 as ExpansionPanelHeader, _sfc_main$63 as ExpansionPanelRoot, FeaturesAdapter, _sfc_main$64 as Form, Group, _sfc_main$65 as GroupItem, _sfc_main$66 as GroupRoot, IN_BROWSER, Image, _sfc_main$67 as ImageFallback, _sfc_main$68 as ImageImg, _sfc_main$69 as ImagePlaceholder, _sfc_main$70 as ImageRoot, Input, _sfc_main$71 as InputControl, _sfc_main$72 as InputDescription, _sfc_main$73 as InputError, _sfc_main$74 as InputRoot, KeyboardAdapter, _sfc_main$75 as Locale, LocaleAdapter, LoggerAdapter, MemoryStorageAdapter, NumberField, _sfc_main$76 as NumberFieldControl, _sfc_main$77 as NumberFieldDecrement, _sfc_main$78 as NumberFieldDescription, _sfc_main$79 as NumberFieldError, _sfc_main$80 as NumberFieldIncrement, _sfc_main$81 as NumberFieldRoot, _sfc_main$82 as NumberFieldScrub, Overflow, _sfc_main$83 as OverflowIndicator, _sfc_main$84 as OverflowItem, _sfc_main$85 as OverflowRoot, Pagination, _sfc_main$86 as PaginationEllipsis, _sfc_main$87 as PaginationFirst, _sfc_main$88 as PaginationItem, _sfc_main$89 as PaginationLast, _sfc_main$90 as PaginationNext, _sfc_main$91 as PaginationPrev, _sfc_main$92 as PaginationRoot, _sfc_main$93 as PaginationStatus, PermissionsAdapter, PinoLoggerAdapter, PointerAdapter, Popover, _sfc_main$94 as PopoverActivator, _sfc_main$95 as PopoverContent, _sfc_main$96 as PopoverRoot, _sfc_main$97 as Portal, _sfc_main$98 as Presence, Progress, _sfc_main$99 as ProgressBuffer, _sfc_main$100 as ProgressFill, _sfc_main$101 as ProgressHiddenInput, _sfc_main$102 as ProgressLabel, _sfc_main$103 as ProgressRoot, _sfc_main$104 as ProgressTrack, _sfc_main$105 as ProgressValue, Radio, _sfc_main$106 as RadioGroup, _sfc_main$107 as RadioHiddenInput, _sfc_main$108 as RadioIndicator, _sfc_main$109 as RadioRoot, Rating, _sfc_main$110 as RatingHiddenInput, _sfc_main$111 as RatingItem, _sfc_main$112 as RatingRoot, SELF_CLOSING_TAGS, SUPPORTS_INTERSECTION_OBSERVER, SUPPORTS_MATCH_MEDIA, SUPPORTS_MUTATION_OBSERVER, SUPPORTS_OBSERVER, SUPPORTS_TOUCH, _sfc_main$113 as Scrim, Select, _sfc_main$114 as SelectActivator, _sfc_main$115 as SelectContent, _sfc_main$116 as SelectCue, _sfc_main$117 as SelectItem, _sfc_main$118 as SelectPlaceholder, _sfc_main$119 as SelectRoot, _sfc_main$120 as SelectValue, Selection, _sfc_main$121 as SelectionItem, _sfc_main$122 as SelectionRoot, ServerComboboxAdapter, ServerDataTableAdapter, Single, _sfc_main$123 as SingleItem, _sfc_main$124 as SingleRoot, Slider, _sfc_main$125 as SliderHiddenInput, _sfc_main$126 as SliderRange, _sfc_main$127 as SliderRoot, _sfc_main$128 as SliderThumb, _sfc_main$129 as SliderTrack, Snackbar, _sfc_main$130 as SnackbarClose, _sfc_main$131 as SnackbarContent, _sfc_main$132 as SnackbarPortal, _sfc_main$133 as SnackbarQueue, _sfc_main$134 as SnackbarRoot, Splitter, _sfc_main$135 as SplitterHandle, _sfc_main$136 as SplitterPanel, _sfc_main$137 as SplitterRoot, Step, _sfc_main$138 as StepItem, _sfc_main$139 as StepRoot, StorageAdapter, Switch, _sfc_main$140 as SwitchGroup, _sfc_main$141 as SwitchHiddenInput, _sfc_main$142 as SwitchRoot, _sfc_main$143 as SwitchSelectAll, _sfc_main$144 as SwitchThumb, _sfc_main$145 as SwitchTrack, Tabs, _sfc_main$146 as TabsItem, _sfc_main$147 as TabsList, _sfc_main$148 as TabsPanel, _sfc_main$149 as TabsRoot, _sfc_main$150 as Theme, Toggle, _sfc_main$151 as ToggleGroup, _sfc_main$152 as ToggleIndicator, _sfc_main$153 as ToggleRoot, Treeview, _sfc_main$154 as TreeviewActivator, _sfc_main$155 as TreeviewCheckbox, _sfc_main$156 as TreeviewContent, _sfc_main$157 as TreeviewCue, _sfc_main$158 as TreeviewGroup, _sfc_main$159 as TreeviewIndicator, _sfc_main$160 as TreeviewItem, _sfc_main$161 as TreeviewList, _sfc_main$162 as TreeviewRoot, _sfc_main$163 as TreeviewSelectAll, V0LocaleAdapter, V0LoggerAdapter, V0RtlAdapter, V0StyleSheetThemeAdapter, V0UnheadThemeAdapter, VirtualDataTableAdapter, __LOGGER_ENABLED__, apca, clamp, computeDepth, createBreadcrumbs, createBreadcrumbsContext, createBreakpoints, createBreakpointsContext, createBreakpointsPlugin, createCombobox, createComboboxContext, createContext, createDataTable, createDataTableContext, createDate, createDateContext, createDatePlugin, createFallbackHydration, createFeatures, createFeaturesContext, createFeaturesPlugin, createFilter, createFilterContext, createForm, createFormContext, createGroup, createGroupContext, createHydration, createHydrationContext, createHydrationPlugin, createInput, createKanban, createLocale, createLocaleContext, createLocaleFallback, createLocalePlugin, createLogger, createLoggerContext, createLoggerPlugin, createModel, createNested, createNestedContext, createNotifications, createNotificationsContext, createNotificationsPlugin, createNumberField, createNumeric, createOverflow, createOverflowContext, createPagination, createPaginationContext, createPermissions, createPermissionsContext, createPermissionsPlugin, createPlugin, createPluginContext, createProgress, createProgressContext, createQueue, createQueueContext, createRating, createRatingContext, createRegistry, createRegistryContext, createRtl, createRtlContext, createRtlFallback, createRtlPlugin, createRules, createRulesContext, createRulesFallback, createRulesPlugin, createSelection, createSelectionContext, createSingle, createSingleContext, createSlider, createSortable, createStack, createStackContext, createStackPlugin, createStep, createStepContext, createStorage, createStorageContext, createStoragePlugin, createTheme, createThemeContext, createThemePlugin, createTimeline, createTimelineContext, createTokens, createTokensContext, createTrinity, createValidation, createVirtual, createVirtualContext, extractLeaves, flatten, foreground, hexToRgb, instanceExists, instanceName, isArray, isBoolean, isElement, isFunction, isNaN, isNull, isNullOrUndefined, isNumber, isObject, isPrimitive, isSelfClosingTag, isStandardSchema, isString, isSymbol, isThenable, isUndefined, mergeDeep, provideAlertDialogContext, provideAvatarRoot, provideBreadcrumbsRoot, provideButtonGroup, provideButtonRoot, provideCarouselRoot, provideCheckboxGroup, provideCheckboxRoot, provideCollapsible, provideComboboxContext, provideContext, provideDialogContext, provideExpansionPanelGroup, provideExpansionPanelRoot, provideGroupRoot, provideImageRoot, provideInputRoot, provideNumberFieldRoot, provideOverflowRoot, providePaginationControls, providePaginationItems, providePaginationRoot, providePopoverContext, provideProgressRoot, provideRadioGroup, provideRadioRoot, provideRatingRoot, provideSelectContext, provideSelectionRoot, provideSingleRoot, provideSliderRoot, provideSnackbarQueueContext, provideSnackbarRootContext, provideSplitterRoot, provideStepRoot, provideSwitchGroup, provideSwitchRoot, provideTabsRoot, provideToggleGroup, provideToggleRoot, provideTreeviewItem, provideTreeviewList, provideTreeviewRoot, range, resolveHeaders, resolveIds, resolveIndexes, rgbToHex, toArray, toElement, toReactive, useAlertDialogContext, useAvatarRoot, useBreadcrumbs, useBreadcrumbsRoot, useBreakpoints, useButtonGroup, useButtonRoot, useCarouselRoot, useCheckboxGroup, useCheckboxRoot, useClickOutside, useCollapsible, useCombobox, useComboboxContext, useContext, useDataTable, useDate, useDelay, useDialogContext, useDocumentEventListener, useDragDrop, useElementIntersection, useElementSize, useEventListener, useExpansionPanelGroup, useExpansionPanelRoot, useFeatures, useFilter, useForm, useGroup, useGroupRoot, useHotkey, useHydration, useId, useImage, useImageRoot, useInputRoot, useIntersectionObserver, useLazy, useLocale, useLogger, useMediaQuery, useMutationObserver, useNested, useNotifications, useNumberFieldRoot, useOverflow, useOverflowRoot, usePagination, usePaginationControls, usePaginationItems, usePaginationRoot, usePermissions, usePopover, usePopoverContext, usePrefersContrast, usePrefersDark, usePrefersReducedMotion, usePresence, useProgress, useProgressRoot, useProxyModel, useProxyRegistry, useQueue, useRadioGroup, useRadioRoot, useRaf, useRating, useRatingRoot, useRegistry, useResizeObserver, useRovingFocus, useRtl, useRules, useSelectContext, useSelection, useSelectionRoot, useSingle, useSingleRoot, useSliderRoot, useSnackbarQueueContext, useSnackbarRootContext, useSplitterRoot, useStack, useStep, useStepRoot, useStorage, useSwitchGroup, useSwitchRoot, useTabsRoot, useTheme, useTimeline, useTimer, useToggleGroup, useToggleRoot, useToggleScope, useTokens, useTreeviewItem, useTreeviewList, useTreeviewRoot, useVirtual, useVirtualFocus, useWindowEventListener, version };
|
|
28177
|
+
export { AlertDialog, _sfc_main as AlertDialogAction, _sfc_main$1 as AlertDialogActivator, _sfc_main$2 as AlertDialogCancel, _sfc_main$3 as AlertDialogClose, _sfc_main$4 as AlertDialogContent, _sfc_main$5 as AlertDialogDescription, _sfc_main$6 as AlertDialogRoot, _sfc_main$7 as AlertDialogTitle, _sfc_main$8 as AspectRatio, _sfc_main$9 as Atom, Avatar, _sfc_main$10 as AvatarFallback, _sfc_main$11 as AvatarImage, _sfc_main$12 as AvatarRoot, Breadcrumbs, _sfc_main$13 as BreadcrumbsDivider, _sfc_main$14 as BreadcrumbsEllipsis, _sfc_main$15 as BreadcrumbsItem, _sfc_main$16 as BreadcrumbsLink, _sfc_main$17 as BreadcrumbsList, _sfc_main$18 as BreadcrumbsPage, _sfc_main$19 as BreadcrumbsRoot, Button, _sfc_main$20 as ButtonContent, _sfc_main$21 as ButtonGroup, _sfc_main$22 as ButtonHiddenInput, _sfc_main$23 as ButtonIcon, _sfc_main$24 as ButtonLoading, _sfc_main$25 as ButtonRoot, Carousel, _sfc_main$26 as CarouselIndicator, _sfc_main$27 as CarouselItem, _sfc_main$28 as CarouselLiveRegion, _sfc_main$29 as CarouselNext, _sfc_main$30 as CarouselPrevious, _sfc_main$31 as CarouselProgress, _sfc_main$32 as CarouselRoot, _sfc_main$33 as CarouselViewport, Checkbox, _sfc_main$34 as CheckboxGroup, _sfc_main$35 as CheckboxHiddenInput, _sfc_main$36 as CheckboxIndicator, _sfc_main$37 as CheckboxRoot, _sfc_main$38 as CheckboxSelectAll, ClientComboboxAdapter, ClientDataTableAdapter, Collapsible, _sfc_main$39 as CollapsibleActivator, _sfc_main$40 as CollapsibleContent, _sfc_main$41 as CollapsibleCue, _sfc_main$42 as CollapsibleRoot, Combobox, _sfc_main$43 as ComboboxActivator, ComboboxAdapter, _sfc_main$44 as ComboboxContent, _sfc_main$45 as ComboboxControl, _sfc_main$46 as ComboboxCue, _sfc_main$47 as ComboboxDescription, _sfc_main$48 as ComboboxEmpty, _sfc_main$49 as ComboboxError, _sfc_main$50 as ComboboxItem, _sfc_main$51 as ComboboxRoot, ConsolaLoggerAdapter, DataTableAdapter, Dialog, _sfc_main$52 as DialogActivator, _sfc_main$53 as DialogClose, _sfc_main$54 as DialogContent, _sfc_main$55 as DialogDescription, _sfc_main$56 as DialogRoot, _sfc_main$57 as DialogTitle, DragDropAdapter, ExpansionPanel, _sfc_main$58 as ExpansionPanelActivator, _sfc_main$59 as ExpansionPanelContent, _sfc_main$60 as ExpansionPanelCue, _sfc_main$61 as ExpansionPanelGroup, _sfc_main$62 as ExpansionPanelHeader, _sfc_main$63 as ExpansionPanelRoot, FeaturesAdapter, _sfc_main$64 as Form, Group, _sfc_main$65 as GroupItem, _sfc_main$66 as GroupRoot, IN_BROWSER, Image, _sfc_main$67 as ImageFallback, _sfc_main$68 as ImageImg, _sfc_main$69 as ImagePlaceholder, _sfc_main$70 as ImageRoot, Input, _sfc_main$71 as InputControl, _sfc_main$72 as InputDescription, _sfc_main$73 as InputError, _sfc_main$74 as InputRoot, KeyboardAdapter, _sfc_main$75 as Locale, LocaleAdapter, LoggerAdapter, MemoryStorageAdapter, NumberField, _sfc_main$76 as NumberFieldControl, _sfc_main$77 as NumberFieldDecrement, _sfc_main$78 as NumberFieldDescription, _sfc_main$79 as NumberFieldError, _sfc_main$80 as NumberFieldIncrement, _sfc_main$81 as NumberFieldRoot, _sfc_main$82 as NumberFieldScrub, Overflow, _sfc_main$83 as OverflowIndicator, _sfc_main$84 as OverflowItem, _sfc_main$85 as OverflowRoot, Pagination, _sfc_main$86 as PaginationEllipsis, _sfc_main$87 as PaginationFirst, _sfc_main$88 as PaginationItem, _sfc_main$89 as PaginationLast, _sfc_main$90 as PaginationNext, _sfc_main$91 as PaginationPrev, _sfc_main$92 as PaginationRoot, _sfc_main$93 as PaginationStatus, PermissionsAdapter, PinoLoggerAdapter, PointerAdapter, Popover, _sfc_main$94 as PopoverActivator, _sfc_main$95 as PopoverContent, _sfc_main$96 as PopoverRoot, _sfc_main$97 as Portal, _sfc_main$98 as Presence, Progress, _sfc_main$99 as ProgressBuffer, _sfc_main$100 as ProgressFill, _sfc_main$101 as ProgressHiddenInput, _sfc_main$102 as ProgressLabel, _sfc_main$103 as ProgressRoot, _sfc_main$104 as ProgressTrack, _sfc_main$105 as ProgressValue, Radio, _sfc_main$106 as RadioGroup, _sfc_main$107 as RadioHiddenInput, _sfc_main$108 as RadioIndicator, _sfc_main$109 as RadioRoot, Rating, _sfc_main$110 as RatingHiddenInput, _sfc_main$111 as RatingItem, _sfc_main$112 as RatingRoot, SELF_CLOSING_TAGS, SUPPORTS_INTERSECTION_OBSERVER, SUPPORTS_MATCH_MEDIA, SUPPORTS_MUTATION_OBSERVER, SUPPORTS_OBSERVER, SUPPORTS_TOUCH, _sfc_main$113 as Scrim, Select, _sfc_main$114 as SelectActivator, _sfc_main$115 as SelectContent, _sfc_main$116 as SelectCue, _sfc_main$117 as SelectItem, _sfc_main$118 as SelectPlaceholder, _sfc_main$119 as SelectRoot, _sfc_main$120 as SelectValue, Selection, _sfc_main$121 as SelectionItem, _sfc_main$122 as SelectionRoot, ServerComboboxAdapter, ServerDataTableAdapter, Single, _sfc_main$123 as SingleItem, _sfc_main$124 as SingleRoot, Slider, _sfc_main$125 as SliderHiddenInput, _sfc_main$126 as SliderRange, _sfc_main$127 as SliderRoot, _sfc_main$128 as SliderThumb, _sfc_main$129 as SliderTrack, Snackbar, _sfc_main$130 as SnackbarClose, _sfc_main$131 as SnackbarContent, _sfc_main$132 as SnackbarPortal, _sfc_main$133 as SnackbarQueue, _sfc_main$134 as SnackbarRoot, Splitter, _sfc_main$135 as SplitterHandle, _sfc_main$136 as SplitterPanel, _sfc_main$137 as SplitterRoot, Step, _sfc_main$138 as StepItem, _sfc_main$139 as StepRoot, StorageAdapter, Switch, _sfc_main$140 as SwitchGroup, _sfc_main$141 as SwitchHiddenInput, _sfc_main$142 as SwitchRoot, _sfc_main$143 as SwitchSelectAll, _sfc_main$144 as SwitchThumb, _sfc_main$145 as SwitchTrack, Tabs, _sfc_main$146 as TabsItem, _sfc_main$147 as TabsList, _sfc_main$148 as TabsPanel, _sfc_main$149 as TabsRoot, _sfc_main$150 as Theme, Toggle, _sfc_main$151 as ToggleGroup, _sfc_main$152 as ToggleIndicator, _sfc_main$153 as ToggleRoot, Treeview, _sfc_main$154 as TreeviewActivator, _sfc_main$155 as TreeviewCheckbox, _sfc_main$156 as TreeviewContent, _sfc_main$157 as TreeviewCue, _sfc_main$158 as TreeviewGroup, _sfc_main$159 as TreeviewIndicator, _sfc_main$160 as TreeviewItem, _sfc_main$161 as TreeviewList, _sfc_main$162 as TreeviewRoot, _sfc_main$163 as TreeviewSelectAll, V0LocaleAdapter, V0LoggerAdapter, V0RtlAdapter, V0StyleSheetThemeAdapter, V0UnheadThemeAdapter, VirtualDataTableAdapter, __LOGGER_ENABLED__, apca, clamp, computeDepth, createBreadcrumbs, createBreadcrumbsContext, createBreakpoints, createBreakpointsContext, createBreakpointsPlugin, createCombobox, createComboboxContext, createContext, createDataTable, createDataTableContext, createDate, createDateContext, createDatePlugin, createFallbackHydration, createFeatures, createFeaturesContext, createFeaturesPlugin, createFilter, createFilterContext, createForm, createFormContext, createGroup, createGroupContext, createHydration, createHydrationContext, createHydrationPlugin, createInput, createKanban, createLocale, createLocaleContext, createLocaleFallback, createLocalePlugin, createLogger, createLoggerContext, createLoggerPlugin, createModel, createNested, createNestedContext, createNotifications, createNotificationsContext, createNotificationsPlugin, createNumberField, createNumeric, createOtp, createOverflow, createOverflowContext, createPagination, createPaginationContext, createPermissions, createPermissionsContext, createPermissionsPlugin, createPlugin, createPluginContext, createProgress, createProgressContext, createQueue, createQueueContext, createRating, createRatingContext, createRegistry, createRegistryContext, createRtl, createRtlContext, createRtlFallback, createRtlPlugin, createRules, createRulesContext, createRulesFallback, createRulesPlugin, createSelection, createSelectionContext, createSingle, createSingleContext, createSlider, createSortable, createStack, createStackContext, createStackPlugin, createStep, createStepContext, createStorage, createStorageContext, createStoragePlugin, createTheme, createThemeContext, createThemePlugin, createTimeline, createTimelineContext, createTokens, createTokensContext, createTrinity, createValidation, createVirtual, createVirtualContext, extractLeaves, flatten, foreground, hexToRgb, instanceExists, instanceName, isArray, isBoolean, isElement, isFunction, isNaN, isNull, isNullOrUndefined, isNumber, isObject, isPrimitive, isSelfClosingTag, isStandardSchema, isString, isSymbol, isThenable, isUndefined, mergeDeep, provideAlertDialogContext, provideAvatarRoot, provideBreadcrumbsRoot, provideButtonGroup, provideButtonRoot, provideCarouselRoot, provideCheckboxGroup, provideCheckboxRoot, provideCollapsible, provideComboboxContext, provideContext, provideDialogContext, provideExpansionPanelGroup, provideExpansionPanelRoot, provideGroupRoot, provideImageRoot, provideInputRoot, provideNumberFieldRoot, provideOverflowRoot, providePaginationControls, providePaginationItems, providePaginationRoot, providePopoverContext, provideProgressRoot, provideRadioGroup, provideRadioRoot, provideRatingRoot, provideSelectContext, provideSelectionRoot, provideSingleRoot, provideSliderRoot, provideSnackbarQueueContext, provideSnackbarRootContext, provideSplitterRoot, provideStepRoot, provideSwitchGroup, provideSwitchRoot, provideTabsRoot, provideToggleGroup, provideToggleRoot, provideTreeviewItem, provideTreeviewList, provideTreeviewRoot, range, resolveHeaders, resolveIds, resolveIndexes, rgbToHex, toArray, toElement, toHighlight, toReactive, useAlertDialogContext, useAvatarRoot, useBreadcrumbs, useBreadcrumbsRoot, useBreakpoints, useButtonGroup, useButtonRoot, useCarouselRoot, useCheckboxGroup, useCheckboxRoot, useClickOutside, useCollapsible, useCombobox, useComboboxContext, useContext, useDataTable, useDate, useDelay, useDialogContext, useDocumentEventListener, useDragDrop, useElementIntersection, useElementSize, useEventListener, useExpansionPanelGroup, useExpansionPanelRoot, useFeatures, useFilter, useForm, useGroup, useGroupRoot, useHotkey, useHydration, useId, useImage, useImageRoot, useInputRoot, useIntersectionObserver, useLazy, useLocale, useLogger, useMediaQuery, useMutationObserver, useNested, useNotifications, useNumberFieldRoot, useOverflow, useOverflowRoot, usePagination, usePaginationControls, usePaginationItems, usePaginationRoot, usePermissions, usePopover, usePopoverContext, usePrefersContrast, usePrefersDark, usePrefersReducedMotion, usePresence, useProgress, useProgressRoot, useProxyModel, useProxyRegistry, useQueue, useRadioGroup, useRadioRoot, useRaf, useRating, useRatingRoot, useRegistry, useResizeObserver, useRovingFocus, useRtl, useRules, useSelectContext, useSelection, useSelectionRoot, useSingle, useSingleRoot, useSliderRoot, useSnackbarQueueContext, useSnackbarRootContext, useSplitterRoot, useStack, useStep, useStepRoot, useStorage, useSwitchGroup, useSwitchRoot, useTabsRoot, useTheme, useTimeline, useTimer, useToggleGroup, useToggleRoot, useToggleScope, useTokens, useTreeviewItem, useTreeviewList, useTreeviewRoot, useVirtual, useVirtualFocus, useWindowEventListener, version };
|