@vuetify/v0 0.1.5 → 0.1.6
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/dist/{adapter-Cmeg49W9.mjs → adapter-Bjs_Nx_J.mjs} +8 -10
- package/dist/{adapter-D2JoR-4d.d.mts → adapter-CLs-OrSN.d.mts} +4 -4
- package/dist/browser/index.js +1645 -273
- package/dist/components/index.d.mts +8 -8
- package/dist/components/index.mjs +28 -28
- package/dist/{components-BbbGkTcN.mjs → components-GiQh_RfQ.mjs} +1101 -110
- package/dist/composables/index.d.mts +7 -7
- package/dist/composables/index.mjs +27 -27
- package/dist/constants/index.mjs +1 -1
- package/dist/{createDataTable-cNf6DdHz.mjs → createDataTable-lSofI5rU.mjs} +5 -5
- package/dist/{createGroup-BrZPZudL.mjs → createGroup-CCb7Zfyw.mjs} +6 -5
- package/dist/{createPagination-Wc_vRGNQ.mjs → createPagination-lagznd8i.mjs} +2 -2
- package/dist/{createSelection-BURpoE3p.mjs → createSelection-Zo4RQpYe.mjs} +217 -61
- package/dist/{createSingle-BE1vHaZy.mjs → createSingle-BH9wNDrS.mjs} +2 -2
- package/dist/{createTokens-jwf8-iGn.mjs → createTokens-Cu1efg9Z.mjs} +21 -3
- package/dist/{createTrinity-DkwPrPRS.mjs → createTrinity-Cii8-B2r.mjs} +1 -1
- package/dist/data-table/adapters/client/index.d.mts +2 -2
- package/dist/data-table/adapters/client/index.mjs +7 -7
- package/dist/data-table/adapters/index.d.mts +4 -4
- package/dist/data-table/adapters/index.mjs +9 -9
- package/dist/data-table/adapters/server/index.d.mts +2 -2
- package/dist/data-table/adapters/server/index.mjs +5 -5
- package/dist/data-table/adapters/virtual/index.d.mts +2 -2
- package/dist/data-table/adapters/virtual/index.mjs +7 -7
- package/dist/data-table/index.d.mts +5 -5
- package/dist/data-table/index.mjs +19 -19
- package/dist/date/index.mjs +2 -2
- package/dist/features/adapters/posthog/index.mjs +2 -2
- package/dist/features/index.d.mts +6 -6
- package/dist/features/index.mjs +12 -12
- package/dist/{globals-vN-O052q.mjs → globals-D6FBsWDI.mjs} +1 -1
- package/dist/{index-DdWxDPX3.d.mts → index-DIK84tM4.d.mts} +1 -1
- package/dist/{index-BTMzRHep.d.mts → index-De0SQt1w.d.mts} +801 -50
- package/dist/{index-DRax9EgT.d.mts → index-DlUIZN-F.d.mts} +1125 -373
- package/dist/index.d.mts +8 -8
- package/dist/index.mjs +28 -28
- package/dist/json/attributes.json +196 -12
- package/dist/json/importMap.json +40 -0
- package/dist/json/tags.json +86 -0
- package/dist/json/web-types.json +605 -13
- package/dist/locale/adapters/index.mjs +3 -3
- package/dist/locale/adapters/v0/index.mjs +3 -3
- package/dist/locale/index.d.mts +6 -6
- package/dist/locale/index.mjs +12 -12
- package/dist/logger/adapters/index.mjs +4 -4
- package/dist/logger/adapters/pino/index.mjs +3 -3
- package/dist/logger/adapters/v0/index.mjs +3 -3
- package/dist/logger/index.d.mts +6 -6
- package/dist/logger/index.mjs +6 -6
- package/dist/permissions/adapters/index.d.mts +7 -7
- package/dist/permissions/adapters/index.mjs +3 -3
- package/dist/permissions/adapters/v0/index.d.mts +7 -7
- package/dist/permissions/adapters/v0/index.mjs +3 -3
- package/dist/permissions/index.d.mts +6 -6
- package/dist/permissions/index.mjs +10 -10
- package/dist/{pino-DFxkZLiu.mjs → pino-BD5PCzAF.mjs} +1 -1
- package/dist/{posthog-BOUoZTTf.mjs → posthog-BxaG8sYi.mjs} +1 -1
- package/dist/{server-B-HWxaTQ.d.mts → server-CGAeOGPC.d.mts} +1 -1
- package/dist/{server-C2R2POGE.mjs → server-DgOdFYMU.mjs} +1 -1
- package/dist/storage/index.d.mts +6 -6
- package/dist/storage/index.mjs +26 -26
- package/dist/theme/adapters/index.d.mts +6 -6
- package/dist/theme/adapters/index.mjs +3 -3
- package/dist/theme/adapters/v0/index.d.mts +6 -6
- package/dist/theme/adapters/v0/index.mjs +3 -3
- package/dist/theme/index.d.mts +6 -6
- package/dist/theme/index.mjs +11 -11
- package/dist/{toArray-VIn8vYt3.mjs → toArray-BBZH-G2X.mjs} +1 -1
- package/dist/{useClickOutside-DIi0kjN5.mjs → useClickOutside-Bm_3mbcT.mjs} +306 -98
- package/dist/{useFeatures-6O7EPJUS.mjs → useFeatures-BS4mit8z.mjs} +4 -4
- package/dist/{useLocale-DHjbekzS.mjs → useLocale-DJJmg-wv.mjs} +6 -6
- package/dist/{useLogger-BXqiUvt2.mjs → useLogger-C8G5jgNk.mjs} +4 -4
- package/dist/{usePermissions-DFacFVqO.mjs → usePermissions-C5Mkotol.mjs} +4 -4
- package/dist/{useTheme-D0_1mjTw.mjs → useTheme-BBnASLr3.mjs} +4 -4
- package/dist/utilities/index.mjs +2 -2
- package/dist/{utilities-Dx8wzGa5.mjs → utilities-CcJtp9Gx.mjs} +1 -1
- package/dist/{v0-CfSj99gF.mjs → v0-BWBSVkew.mjs} +2 -2
- package/dist/{v0-BNXo1ecc.d.mts → v0-Bh8d1j_p.d.mts} +1 -1
- package/dist/{v0-BPzPP8C5.d.mts → v0-CVr15VcY.d.mts} +1 -1
- package/dist/{v0-Dc5mcpQs.mjs → v0-CWUF_HqP.mjs} +2 -2
- package/dist/{v0-BYqmw3qM.mjs → v0-DtO_ICXr.mjs} +1 -1
- package/dist/{v0-Dwufx8ae.mjs → v0-DzvhDU1W.mjs} +2 -2
- package/dist/{v0-C8DBv9mh.mjs → v0-lua6ffdk.mjs} +2 -2
- package/dist/{virtual-BoTGK6HT.mjs → virtual-BEOqkQvm.mjs} +2 -2
- package/dist/{virtual-A4e1yrdn.d.mts → virtual-CVb9hRUU.d.mts} +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as Extensible, o as ID, s as MaybeArray } from "./index-BFBN5Zl3.mjs";
|
|
2
|
-
import { E as ContextTrinity } from "./adapter-
|
|
2
|
+
import { E as ContextTrinity } from "./adapter-CLs-OrSN.mjs";
|
|
3
3
|
import { t as DateAdapter } from "./adapter-DcwxFryd.mjs";
|
|
4
4
|
import { n as FeaturesAdapterFlags, r as FeaturesAdapterInterface } from "./index-BuOz3Rgm.mjs";
|
|
5
5
|
import { n as LocaleAdapter } from "./v0-DHMoZ7dS.mjs";
|
|
@@ -352,6 +352,36 @@ interface RegistryContext<Z extends RegistryTicketInput = RegistryTicketInput, E
|
|
|
352
352
|
* const cherry = registry.seek('first', 1, ticket => (ticket.value as string).startsWith('c'))
|
|
353
353
|
* ```
|
|
354
354
|
*/
|
|
355
|
+
/**
|
|
356
|
+
* Move a ticket to a new index position
|
|
357
|
+
*
|
|
358
|
+
* @param id The ID of the ticket to move.
|
|
359
|
+
* @param toIndex The target index position. Clamped to valid range.
|
|
360
|
+
* @returns The moved ticket, or undefined if the ticket was not found.
|
|
361
|
+
*
|
|
362
|
+
* @remarks Rebuilds the internal collection order by removing and reinserting the entry at the target position. Triggers a full reindex after the move. This operation invalidates cached results from `keys()`, `values()`, and `entries()`.
|
|
363
|
+
*
|
|
364
|
+
* @see https://0.vuetifyjs.com/composables/registration/create-registry#move
|
|
365
|
+
*
|
|
366
|
+
* @example
|
|
367
|
+
* ```ts
|
|
368
|
+
* import { createRegistry } from '@vuetify/v0'
|
|
369
|
+
*
|
|
370
|
+
* const registry = createRegistry()
|
|
371
|
+
*
|
|
372
|
+
* registry.onboard([
|
|
373
|
+
* { id: 'a', value: 'alpha' },
|
|
374
|
+
* { id: 'b', value: 'beta' },
|
|
375
|
+
* { id: 'c', value: 'gamma' },
|
|
376
|
+
* ])
|
|
377
|
+
*
|
|
378
|
+
* // Move 'a' from index 0 to index 2
|
|
379
|
+
* registry.move('a', 2)
|
|
380
|
+
*
|
|
381
|
+
* console.log(registry.keys()) // ['b', 'c', 'a']
|
|
382
|
+
* ```
|
|
383
|
+
*/
|
|
384
|
+
move: (id: ID, toIndex: number) => E | undefined;
|
|
355
385
|
seek: (direction?: 'first' | 'last', from?: number, predicate?: (ticket: E) => boolean) => E | undefined;
|
|
356
386
|
/**
|
|
357
387
|
* Listen for registry events
|
|
@@ -672,6 +702,323 @@ declare function createRegistryContext<Z extends RegistryTicketInput = RegistryT
|
|
|
672
702
|
*/
|
|
673
703
|
declare function useRegistry<Z extends RegistryTicketInput = RegistryTicketInput, E extends RegistryTicket & Z = RegistryTicket & Z>(namespace?: string): RegistryContext<Z, E>;
|
|
674
704
|
//#endregion
|
|
705
|
+
//#region src/composables/createModel/index.d.ts
|
|
706
|
+
/**
|
|
707
|
+
* Input type for model tickets - what users provide to register().
|
|
708
|
+
*
|
|
709
|
+
* @template V The type of the ticket value.
|
|
710
|
+
*/
|
|
711
|
+
interface ModelTicketInput<V = unknown> extends RegistryTicketInput<V> {
|
|
712
|
+
/** Disabled state of the ticket (optional on input, defaults to false) */
|
|
713
|
+
disabled?: MaybeRefOrGetter<boolean>;
|
|
714
|
+
}
|
|
715
|
+
/**
|
|
716
|
+
* Output type for model tickets - what users receive from get().
|
|
717
|
+
*
|
|
718
|
+
* @template Z The input ticket type that extends ModelTicketInput.
|
|
719
|
+
*/
|
|
720
|
+
type ModelTicket<Z extends ModelTicketInput = ModelTicketInput> = RegistryTicket & Z & {
|
|
721
|
+
/** Disabled state of the ticket (guaranteed to exist on output) */
|
|
722
|
+
disabled: MaybeRefOrGetter<boolean>;
|
|
723
|
+
/** Whether the ticket is currently selected */
|
|
724
|
+
isSelected: Readonly<Ref<boolean, boolean>>;
|
|
725
|
+
};
|
|
726
|
+
/**
|
|
727
|
+
* Context returned by createModel.
|
|
728
|
+
*
|
|
729
|
+
* @template Z The input ticket type (what users provide to register).
|
|
730
|
+
* @template E The output ticket type (what users receive from get). Defaults to ModelTicket<Z>.
|
|
731
|
+
*/
|
|
732
|
+
interface ModelContext<Z extends ModelTicketInput = ModelTicketInput, E extends ModelTicket<Z> = ModelTicket<Z>> extends Omit<RegistryContext<Z, E>, 'register'> {
|
|
733
|
+
/**
|
|
734
|
+
* Set of currently selected ticket IDs
|
|
735
|
+
*
|
|
736
|
+
* @remarks Reactive via `shallowReactive(new Set())`. Mutating this Set directly is supported —
|
|
737
|
+
* `selectedItems` and `selectedValues` will update accordingly. Ghost IDs (IDs not in the registry)
|
|
738
|
+
* are silently filtered out by the computed properties.
|
|
739
|
+
*
|
|
740
|
+
* @example
|
|
741
|
+
* ```ts
|
|
742
|
+
* const model = createModel()
|
|
743
|
+
* model.register({ id: 'a', value: 'Apple' })
|
|
744
|
+
* console.log(model.selectedIds.has('a')) // true (enrolled on register)
|
|
745
|
+
* ```
|
|
746
|
+
*/
|
|
747
|
+
selectedIds: Reactive<Set<ID>>;
|
|
748
|
+
/**
|
|
749
|
+
* Computed Set of selected ticket instances
|
|
750
|
+
*
|
|
751
|
+
* @remarks Derived from `selectedIds`. Maps each ID to its ticket via `registry.get()` and
|
|
752
|
+
* filters out any IDs that no longer exist in the registry.
|
|
753
|
+
*
|
|
754
|
+
* @example
|
|
755
|
+
* ```ts
|
|
756
|
+
* const model = createModel()
|
|
757
|
+
* model.register({ id: 'a', value: 'Apple' })
|
|
758
|
+
* model.select('a')
|
|
759
|
+
* const items = Array.from(model.selectedItems.value)
|
|
760
|
+
* console.log(items[0].id) // 'a'
|
|
761
|
+
* ```
|
|
762
|
+
*/
|
|
763
|
+
selectedItems: ComputedRef<Set<E>>;
|
|
764
|
+
/**
|
|
765
|
+
* Computed Set of selected ticket values
|
|
766
|
+
*
|
|
767
|
+
* @remarks Derived from `selectedItems`. Unwraps ref values via `toValue()` — if a ticket's
|
|
768
|
+
* value is `ref('Apple')`, the Set contains `'Apple'`, not the Ref wrapper.
|
|
769
|
+
*
|
|
770
|
+
* @example
|
|
771
|
+
* ```ts
|
|
772
|
+
* import { shallowRef } from 'vue'
|
|
773
|
+
* import { createModel } from '@vuetify/v0'
|
|
774
|
+
*
|
|
775
|
+
* const model = createModel()
|
|
776
|
+
* model.register({ id: 'a', value: shallowRef('Apple') })
|
|
777
|
+
* model.select('a')
|
|
778
|
+
* console.log([...model.selectedValues.value]) // ['Apple']
|
|
779
|
+
* ```
|
|
780
|
+
*/
|
|
781
|
+
selectedValues: ComputedRef<Set<E['value'] extends Ref<infer U> ? U : E['value']>>;
|
|
782
|
+
/**
|
|
783
|
+
* Disabled state for the entire model instance
|
|
784
|
+
*
|
|
785
|
+
* @remarks When truthy, all selection operations (`select`, `unselect`, `toggle`) are silently
|
|
786
|
+
* skipped. Accepts a static boolean, a ref, or a getter for reactive disabled state.
|
|
787
|
+
*
|
|
788
|
+
* @see https://0.vuetifyjs.com/composables/selection/create-model
|
|
789
|
+
*/
|
|
790
|
+
disabled: MaybeRefOrGetter<boolean>;
|
|
791
|
+
/**
|
|
792
|
+
* Reset selection state without destroying the registry
|
|
793
|
+
*
|
|
794
|
+
* @remarks Clears `selectedIds` only — registered tickets are preserved.
|
|
795
|
+
* Use `clear()` to destroy both selection state and the registry.
|
|
796
|
+
*
|
|
797
|
+
* @example
|
|
798
|
+
* ```ts
|
|
799
|
+
* const model = createModel()
|
|
800
|
+
* model.register({ id: 'a', value: 'Apple' })
|
|
801
|
+
* model.select('a')
|
|
802
|
+
* model.reset()
|
|
803
|
+
* console.log(model.size) // 1 (tickets preserved)
|
|
804
|
+
* console.log(model.selectedIds.size) // 0
|
|
805
|
+
* ```
|
|
806
|
+
*/
|
|
807
|
+
reset: () => void;
|
|
808
|
+
/**
|
|
809
|
+
* Select a ticket by ID
|
|
810
|
+
*
|
|
811
|
+
* @param id The ID of the ticket to select.
|
|
812
|
+
* @remarks When `multiple` is `false` (default), clears `selectedIds` before adding the new ID.
|
|
813
|
+
* When `multiple` is `true`, accumulates without clearing.
|
|
814
|
+
* No-op if the model instance is disabled, the ticket doesn't exist, or the ticket is disabled.
|
|
815
|
+
*
|
|
816
|
+
* @see https://0.vuetifyjs.com/composables/selection/create-model
|
|
817
|
+
*
|
|
818
|
+
* @example
|
|
819
|
+
* ```ts
|
|
820
|
+
* const model = createModel()
|
|
821
|
+
* model.register({ id: 'a', value: 'Apple' })
|
|
822
|
+
* model.register({ id: 'b', value: 'Banana' })
|
|
823
|
+
* model.select('a')
|
|
824
|
+
* model.select('b') // clears 'a', selects 'b'
|
|
825
|
+
* console.log(model.selectedIds.size) // 1
|
|
826
|
+
* ```
|
|
827
|
+
*/
|
|
828
|
+
select: (id: ID) => void;
|
|
829
|
+
/**
|
|
830
|
+
* Unselect a ticket by ID
|
|
831
|
+
*
|
|
832
|
+
* @param id The ID of the ticket to unselect.
|
|
833
|
+
* @remarks Removes the ID from `selectedIds`. No-op if the model instance is disabled.
|
|
834
|
+
*
|
|
835
|
+
* @example
|
|
836
|
+
* ```ts
|
|
837
|
+
* model.select('a')
|
|
838
|
+
* model.unselect('a')
|
|
839
|
+
* console.log(model.selectedIds.size) // 0
|
|
840
|
+
* ```
|
|
841
|
+
*/
|
|
842
|
+
unselect: (id: ID) => void;
|
|
843
|
+
/**
|
|
844
|
+
* Toggle a ticket's selection state
|
|
845
|
+
*
|
|
846
|
+
* @param id The ID of the ticket to toggle.
|
|
847
|
+
* @remarks Calls `select(id)` if not selected, `unselect(id)` if already selected.
|
|
848
|
+
* No-op if the model instance is disabled.
|
|
849
|
+
*
|
|
850
|
+
* @example
|
|
851
|
+
* ```ts
|
|
852
|
+
* model.toggle('a') // selects
|
|
853
|
+
* model.toggle('a') // unselects
|
|
854
|
+
* ```
|
|
855
|
+
*/
|
|
856
|
+
toggle: (id: ID) => void;
|
|
857
|
+
/**
|
|
858
|
+
* Check if a ticket is currently selected
|
|
859
|
+
*
|
|
860
|
+
* @param id The ID of the ticket to check.
|
|
861
|
+
* @returns `true` if the ID is in `selectedIds`.
|
|
862
|
+
*
|
|
863
|
+
* @example
|
|
864
|
+
* ```ts
|
|
865
|
+
* model.select('a')
|
|
866
|
+
* console.log(model.selected('a')) // true
|
|
867
|
+
* console.log(model.selected('b')) // false
|
|
868
|
+
* ```
|
|
869
|
+
*/
|
|
870
|
+
selected: (id: ID) => boolean;
|
|
871
|
+
/**
|
|
872
|
+
* Apply external values to the model
|
|
873
|
+
*
|
|
874
|
+
* @param values Array of values to apply. Only `values[0]` is used (single-value store).
|
|
875
|
+
* @param options Options for API compatibility with createSelection. The `multiple` field is accepted but ignored.
|
|
876
|
+
* @remarks Used internally by `useProxyModel` to sync a ref with the model. Executes two steps sequentially:
|
|
877
|
+
* 1. **Ref write**: Writes `values[0]` to any selected ticket whose value is a ref.
|
|
878
|
+
* 2. **Browse resolution**: Clears `selectedIds`, resolves `values[0]` via `registry.browse()`, and selects the match.
|
|
879
|
+
*
|
|
880
|
+
* For ref-valued tickets, browse typically finds no match (the catalog indexes by the ref object,
|
|
881
|
+
* not the unwrapped value), so `selectedIds` will be empty after apply.
|
|
882
|
+
*
|
|
883
|
+
* @see https://0.vuetifyjs.com/composables/selection/create-model
|
|
884
|
+
*
|
|
885
|
+
* @example
|
|
886
|
+
* ```ts
|
|
887
|
+
* import { shallowRef } from 'vue'
|
|
888
|
+
* import { createModel } from '@vuetify/v0'
|
|
889
|
+
*
|
|
890
|
+
* const value = shallowRef('Apple')
|
|
891
|
+
* const model = createModel()
|
|
892
|
+
* model.register({ id: 'fruit', value }) // enrolled automatically
|
|
893
|
+
*
|
|
894
|
+
* model.apply(['Banana']) // value.value is now 'Banana'
|
|
895
|
+
* ```
|
|
896
|
+
*/
|
|
897
|
+
apply: (values: unknown[], options?: {
|
|
898
|
+
multiple?: boolean;
|
|
899
|
+
}) => void;
|
|
900
|
+
/**
|
|
901
|
+
* Register a new ticket
|
|
902
|
+
*
|
|
903
|
+
* @param ticket Partial ticket data. ID is auto-generated if not provided. Disabled defaults to `false`.
|
|
904
|
+
* @returns The registered ticket with `isSelected` computed ref attached.
|
|
905
|
+
* @remarks Delegates to `registry.register()` after adding model-specific fields (`disabled`, `isSelected`).
|
|
906
|
+
*
|
|
907
|
+
* @see https://0.vuetifyjs.com/composables/selection/create-model
|
|
908
|
+
*
|
|
909
|
+
* @example
|
|
910
|
+
* ```ts
|
|
911
|
+
* import { shallowRef } from 'vue'
|
|
912
|
+
* import { createModel } from '@vuetify/v0'
|
|
913
|
+
*
|
|
914
|
+
* const model = createModel()
|
|
915
|
+
* const ticket = model.register({ id: 'fruit', value: shallowRef('Apple') })
|
|
916
|
+
*
|
|
917
|
+
* console.log(ticket.id) // 'fruit'
|
|
918
|
+
* console.log(ticket.isSelected.value) // true (enrolled by default)
|
|
919
|
+
* console.log(ticket.disabled) // false
|
|
920
|
+
* ```
|
|
921
|
+
*/
|
|
922
|
+
register: (registration?: Partial<Z>) => E;
|
|
923
|
+
/**
|
|
924
|
+
* Onboard multiple tickets at once
|
|
925
|
+
*
|
|
926
|
+
* @param registrations An array of partial ticket data to register.
|
|
927
|
+
* @returns The registered tickets with model-specific fields attached.
|
|
928
|
+
* @remarks Delegates to the model's `register` (not the registry's) so each ticket
|
|
929
|
+
* receives `disabled` and `isSelected`. Runs inside `registry.batch()` for performance.
|
|
930
|
+
*/
|
|
931
|
+
onboard: (registrations: Partial<Z>[]) => E[];
|
|
932
|
+
}
|
|
933
|
+
interface ModelOptions extends RegistryOptions {
|
|
934
|
+
/**
|
|
935
|
+
* Disabled state for the entire model instance
|
|
936
|
+
*
|
|
937
|
+
* @default false
|
|
938
|
+
* @remarks When truthy, all selection operations are silently skipped. Accepts a static
|
|
939
|
+
* boolean, a ref, or a getter for reactive disabled state.
|
|
940
|
+
*
|
|
941
|
+
* @example
|
|
942
|
+
* ```ts
|
|
943
|
+
* import { createModel } from '@vuetify/v0'
|
|
944
|
+
*
|
|
945
|
+
* // Static
|
|
946
|
+
* const model = createModel({ disabled: true })
|
|
947
|
+
*
|
|
948
|
+
* // Reactive
|
|
949
|
+
* const disabled = ref(false)
|
|
950
|
+
* const model = createModel({ disabled })
|
|
951
|
+
* ```
|
|
952
|
+
*/
|
|
953
|
+
disabled?: MaybeRefOrGetter<boolean>;
|
|
954
|
+
/**
|
|
955
|
+
* Auto-select tickets on registration
|
|
956
|
+
*
|
|
957
|
+
* @default true
|
|
958
|
+
* @remarks When truthy, newly registered tickets are automatically selected via `select()`,
|
|
959
|
+
* subject to disabled guards (both instance-level and ticket-level). With single-value
|
|
960
|
+
* semantics, only the most recently registered ticket remains active.
|
|
961
|
+
*
|
|
962
|
+
* `createSelection` overrides this to `false` and handles enrollment with its own
|
|
963
|
+
* `multiple`-aware logic.
|
|
964
|
+
*/
|
|
965
|
+
enroll?: MaybeRefOrGetter<boolean>;
|
|
966
|
+
/**
|
|
967
|
+
* Allow multiple tickets to be selected simultaneously
|
|
968
|
+
*
|
|
969
|
+
* @default false
|
|
970
|
+
* @remarks When `true`, `select()` accumulates IDs instead of clearing before adding.
|
|
971
|
+
* Used by createSlider where all thumbs must stay selected.
|
|
972
|
+
*/
|
|
973
|
+
multiple?: MaybeRefOrGetter<boolean>;
|
|
974
|
+
}
|
|
975
|
+
/**
|
|
976
|
+
* Creates a new model instance for storing a single value.
|
|
977
|
+
*
|
|
978
|
+
* @param options The options for the model instance.
|
|
979
|
+
* @template Z The input ticket type. Extend {@link ModelTicketInput} to add custom properties.
|
|
980
|
+
* @template E The output ticket type. Automatically includes `disabled` and `isSelected`.
|
|
981
|
+
* @template R The context type. Defaults to {@link ModelContext}<Z, E>.
|
|
982
|
+
* @returns A new model instance with selection tracking and disabled guards.
|
|
983
|
+
*
|
|
984
|
+
* @remarks
|
|
985
|
+
* Extends createRegistry with value tracking via a reactive Set of selected IDs.
|
|
986
|
+
* Provides the shared model-value concept used by both Selection and Slider.
|
|
987
|
+
*
|
|
988
|
+
* **Enrollment**: Tickets are auto-selected on registration by default (`enroll: true`).
|
|
989
|
+
* With single-value semantics, only the most recently registered ticket is active.
|
|
990
|
+
* Pass `enroll: false` to opt out. `createSelection` overrides this to `false`.
|
|
991
|
+
*
|
|
992
|
+
* **Apply bridge**: `useProxyModel` calls `apply()` to sync a ref with the model.
|
|
993
|
+
* When the active ticket's value is a ref, `apply` writes to it directly. Otherwise,
|
|
994
|
+
* it resolves via `registry.browse()`.
|
|
995
|
+
*
|
|
996
|
+
* @see https://0.vuetifyjs.com/composables/selection/create-model
|
|
997
|
+
*
|
|
998
|
+
* @example
|
|
999
|
+
* ```ts
|
|
1000
|
+
* import { shallowRef } from 'vue'
|
|
1001
|
+
* import { createModel, useProxyModel } from '@vuetify/v0'
|
|
1002
|
+
*
|
|
1003
|
+
* const value = shallowRef('Apple')
|
|
1004
|
+
* const model = createModel({ events: true })
|
|
1005
|
+
*
|
|
1006
|
+
* model.register({ id: 'fruit', value })
|
|
1007
|
+
* useProxyModel(model, value)
|
|
1008
|
+
*
|
|
1009
|
+
* // value and model stay in sync bidirectionally
|
|
1010
|
+
* ```
|
|
1011
|
+
*
|
|
1012
|
+
* @example
|
|
1013
|
+
* ```ts
|
|
1014
|
+
* // Disabled model — all selection operations are no-ops
|
|
1015
|
+
* const model = createModel({ disabled: true })
|
|
1016
|
+
* model.register({ id: 'a', value: shallowRef('Apple') })
|
|
1017
|
+
* model.select('a') // no-op
|
|
1018
|
+
* ```
|
|
1019
|
+
*/
|
|
1020
|
+
declare function createModel<Z extends ModelTicketInput = ModelTicketInput, E extends ModelTicket<Z> = ModelTicket<Z>, R extends ModelContext<Z, E> = ModelContext<Z, E>>(_options?: ModelOptions): R;
|
|
1021
|
+
//#endregion
|
|
675
1022
|
//#region src/composables/createSelection/index.d.ts
|
|
676
1023
|
/**
|
|
677
1024
|
* Input type for selection tickets - what users provide to register().
|
|
@@ -691,10 +1038,7 @@ declare function useRegistry<Z extends RegistryTicketInput = RegistryTicketInput
|
|
|
691
1038
|
* selection.register({ label: 'Item 1' })
|
|
692
1039
|
* ```
|
|
693
1040
|
*/
|
|
694
|
-
interface SelectionTicketInput<V = unknown> extends
|
|
695
|
-
/** Disabled state of the ticket (optional on input, defaults to false) */
|
|
696
|
-
disabled?: MaybeRef<boolean>;
|
|
697
|
-
}
|
|
1041
|
+
interface SelectionTicketInput<V = unknown> extends ModelTicketInput<V> {}
|
|
698
1042
|
/**
|
|
699
1043
|
* Output type for selection tickets - what users receive from get().
|
|
700
1044
|
* Includes registry-added methods for self-selection.
|
|
@@ -709,11 +1053,7 @@ interface SelectionTicketInput<V = unknown> extends RegistryTicketInput<V> {
|
|
|
709
1053
|
* - `unselect()` - Method to unselect this ticket
|
|
710
1054
|
* - `toggle()` - Method to toggle selection state
|
|
711
1055
|
*/
|
|
712
|
-
type SelectionTicket<Z extends SelectionTicketInput = SelectionTicketInput> =
|
|
713
|
-
/** Disabled state of the ticket (guaranteed to exist on output) */
|
|
714
|
-
disabled: MaybeRef<boolean>;
|
|
715
|
-
/** Whether the ticket is currently selected */
|
|
716
|
-
isSelected: Readonly<Ref<boolean, boolean>>;
|
|
1056
|
+
type SelectionTicket<Z extends SelectionTicketInput = SelectionTicketInput> = ModelTicket<Z> & {
|
|
717
1057
|
/** Select self */
|
|
718
1058
|
select: () => void;
|
|
719
1059
|
/** Unselect self */
|
|
@@ -727,49 +1067,36 @@ type SelectionTicket<Z extends SelectionTicketInput = SelectionTicketInput> = Re
|
|
|
727
1067
|
* @template Z The input ticket type (what users provide to register).
|
|
728
1068
|
* @template E The output ticket type (what users receive from get). Defaults to SelectionTicket<Z>.
|
|
729
1069
|
*/
|
|
730
|
-
interface SelectionContext<Z extends SelectionTicketInput = SelectionTicketInput, E extends SelectionTicket<Z> = SelectionTicket<Z>> extends Omit<
|
|
731
|
-
/**
|
|
732
|
-
|
|
733
|
-
/** Set of selected ticket instances */
|
|
734
|
-
selectedItems: ComputedRef<Set<E>>;
|
|
735
|
-
/** Set of selected ticket values */
|
|
736
|
-
selectedValues: ComputedRef<Set<unknown>>;
|
|
737
|
-
/** Disable state for the entire selection instance */
|
|
738
|
-
disabled: MaybeRef<boolean>;
|
|
739
|
-
/** Clear all selected IDs and reindexes */
|
|
740
|
-
reset: () => void;
|
|
741
|
-
/** Select a ticket by ID (Toggle ON) */
|
|
742
|
-
select: (id: ID) => void;
|
|
743
|
-
/** Unselect a ticket by ID (Toggle OFF) */
|
|
744
|
-
unselect: (id: ID) => void;
|
|
745
|
-
/** Toggles a ticket ON and OFF by ID */
|
|
746
|
-
toggle: (id: ID) => void;
|
|
747
|
-
/** Check if a ticket is selected by ID */
|
|
748
|
-
selected: (id: ID) => boolean;
|
|
749
|
-
/** Mandates selected ID based on "mandatory" Option */
|
|
750
|
-
mandate: () => void;
|
|
1070
|
+
interface SelectionContext<Z extends SelectionTicketInput = SelectionTicketInput, E extends SelectionTicket<Z> = SelectionTicket<Z>> extends Omit<ModelContext<Z, E>, 'register'> {
|
|
1071
|
+
/** Whether the selection allows multiple selections */
|
|
1072
|
+
multiple: MaybeRefOrGetter<boolean>;
|
|
751
1073
|
/** Register a new ticket (accepts input type, returns output type) */
|
|
752
1074
|
register: (ticket?: Partial<Z>) => E;
|
|
753
1075
|
/** Onboard multiple tickets at once */
|
|
754
1076
|
onboard: (registrations: Partial<Z>[]) => E[];
|
|
1077
|
+
/** Mandate selected ID based on "mandatory" option */
|
|
1078
|
+
mandate: () => void;
|
|
1079
|
+
/** Seek for the first/last non-disabled ticket */
|
|
1080
|
+
seek: (direction?: 'first' | 'last', from?: number) => E | undefined;
|
|
755
1081
|
}
|
|
756
|
-
interface SelectionOptions extends
|
|
757
|
-
/** When true, the entire selection instance is disabled. */
|
|
758
|
-
disabled?: MaybeRefOrGetter<boolean>;
|
|
759
|
-
/**
|
|
760
|
-
* When true, newly registered items are automatically selected if not disabled.
|
|
761
|
-
* Useful for pre-selecting items in multi-select scenarios.
|
|
762
|
-
*/
|
|
763
|
-
enroll?: MaybeRefOrGetter<boolean>;
|
|
1082
|
+
interface SelectionOptions extends ModelOptions {
|
|
764
1083
|
/**
|
|
765
1084
|
* Controls mandatory selection behavior:
|
|
766
1085
|
* - `false` (default): No mandatory selection enforcement
|
|
767
|
-
* - `true`: Prevents deselecting the last selected item
|
|
1086
|
+
* - `true`: Prevents deselecting the last selected item
|
|
768
1087
|
* - `'force'`: Automatically selects the first non-disabled item on registration
|
|
769
1088
|
*/
|
|
770
1089
|
mandatory?: MaybeRefOrGetter<boolean | 'force'>;
|
|
771
1090
|
/** When true, treats the selection as an array */
|
|
772
1091
|
multiple?: MaybeRefOrGetter<boolean>;
|
|
1092
|
+
/**
|
|
1093
|
+
* Auto-select tickets on registration
|
|
1094
|
+
*
|
|
1095
|
+
* @default false
|
|
1096
|
+
* @remarks Overrides createModel's default of `true`. When truthy, newly registered
|
|
1097
|
+
* items are automatically selected if not disabled. Respects `multiple` mode.
|
|
1098
|
+
*/
|
|
1099
|
+
enroll?: MaybeRefOrGetter<boolean>;
|
|
773
1100
|
}
|
|
774
1101
|
interface SelectionContextOptions extends SelectionOptions {
|
|
775
1102
|
namespace?: string;
|
|
@@ -777,7 +1104,8 @@ interface SelectionContextOptions extends SelectionOptions {
|
|
|
777
1104
|
/**
|
|
778
1105
|
* Creates a new selection instance for managing multiple selected items.
|
|
779
1106
|
*
|
|
780
|
-
* Extends `
|
|
1107
|
+
* Extends `createModel` with multi-select, mandatory enforcement,
|
|
1108
|
+
* auto-enrollment, and ticket self-methods.
|
|
781
1109
|
* Supports disabled items, mandatory selection enforcement, and auto-enrollment.
|
|
782
1110
|
*
|
|
783
1111
|
* @param options The options for the selection instance.
|
|
@@ -798,7 +1126,7 @@ interface SelectionContextOptions extends SelectionOptions {
|
|
|
798
1126
|
* - Enroll option auto-selects all non-disabled items on registration
|
|
799
1127
|
*
|
|
800
1128
|
* **Inheritance Chain:**
|
|
801
|
-
* `
|
|
1129
|
+
* `createRegistry` → `createModel` → `createSelection` → `createSingle`/`createGroup` → `createStep`
|
|
802
1130
|
*
|
|
803
1131
|
* @see https://0.vuetifyjs.com/composables/selection/use-selection
|
|
804
1132
|
*
|
|
@@ -1165,7 +1493,7 @@ declare function useBreadcrumbs<Z extends BreadcrumbTicketInput = BreadcrumbTick
|
|
|
1165
1493
|
*/
|
|
1166
1494
|
interface GroupTicketInput<V = unknown> extends SelectionTicketInput<V> {
|
|
1167
1495
|
/** Whether the ticket should start in mixed/indeterminate state */
|
|
1168
|
-
indeterminate?:
|
|
1496
|
+
indeterminate?: MaybeRefOrGetter<boolean>;
|
|
1169
1497
|
}
|
|
1170
1498
|
/**
|
|
1171
1499
|
* Output type for group tickets.
|
|
@@ -1782,12 +2110,17 @@ interface BreakpointsContext {
|
|
|
1782
2110
|
lgAndDown: Readonly<ShallowRef<boolean>>;
|
|
1783
2111
|
xlAndDown: Readonly<ShallowRef<boolean>>;
|
|
1784
2112
|
xxlAndDown: Readonly<ShallowRef<boolean>>;
|
|
2113
|
+
ssr: boolean;
|
|
1785
2114
|
update: () => void;
|
|
1786
2115
|
}
|
|
1787
2116
|
interface BreakpointsOptions {
|
|
1788
2117
|
namespace?: string;
|
|
1789
2118
|
mobileBreakpoint?: BreakpointName | number;
|
|
1790
2119
|
breakpoints?: Partial<Record<BreakpointName, number>>;
|
|
2120
|
+
ssr?: {
|
|
2121
|
+
clientWidth: number;
|
|
2122
|
+
clientHeight?: number;
|
|
2123
|
+
};
|
|
1791
2124
|
}
|
|
1792
2125
|
interface BreakpointsPluginOptions extends BreakpointsOptions {}
|
|
1793
2126
|
interface BreakpointsContextOptions extends BreakpointsOptions {}
|
|
@@ -3607,12 +3940,27 @@ interface ProxyModelOptions {
|
|
|
3607
3940
|
transformOut?: (val: unknown) => unknown;
|
|
3608
3941
|
}
|
|
3609
3942
|
/**
|
|
3610
|
-
*
|
|
3943
|
+
* Minimal interface for useProxyModel's context parameter.
|
|
3944
|
+
* Both ModelContext (Set-based) and SliderContext (Array-based) satisfy this.
|
|
3945
|
+
*/
|
|
3946
|
+
interface ProxyModelTarget {
|
|
3947
|
+
selectedValues: {
|
|
3948
|
+
readonly value: Iterable<unknown>;
|
|
3949
|
+
};
|
|
3950
|
+
apply: (values: unknown[], options?: {
|
|
3951
|
+
multiple?: boolean;
|
|
3952
|
+
}) => void;
|
|
3953
|
+
select?: (id: string | number) => void;
|
|
3954
|
+
multiple?: MaybeRefOrGetter<boolean>;
|
|
3955
|
+
on?: (event: string, cb: (data: unknown) => void) => void;
|
|
3956
|
+
off?: (event: string, cb: (data: unknown) => void) => void;
|
|
3957
|
+
}
|
|
3958
|
+
/**
|
|
3959
|
+
* Syncs a ref with a model context bidirectionally.
|
|
3611
3960
|
*
|
|
3612
|
-
* @param
|
|
3961
|
+
* @param context The model context to bind to.
|
|
3613
3962
|
* @param model The ref to sync.
|
|
3614
3963
|
* @param options The options for the proxy model.
|
|
3615
|
-
* @template Z The type of the selection ticket.
|
|
3616
3964
|
* @returns A function to stop the sync.
|
|
3617
3965
|
*
|
|
3618
3966
|
* @see https://0.vuetifyjs.com/composables/forms/use-proxy-model
|
|
@@ -3631,7 +3979,7 @@ interface ProxyModelOptions {
|
|
|
3631
3979
|
* const stop = useProxyModel(registry, model)
|
|
3632
3980
|
* ```
|
|
3633
3981
|
*/
|
|
3634
|
-
declare function useProxyModel
|
|
3982
|
+
declare function useProxyModel(context: ProxyModelTarget, model: Ref<unknown>, options?: ProxyModelOptions): () => void;
|
|
3635
3983
|
//#endregion
|
|
3636
3984
|
//#region src/composables/useProxyRegistry/index.d.ts
|
|
3637
3985
|
interface ProxyRegistryOptions {
|
|
@@ -3648,7 +3996,8 @@ interface ProxyRegistryContext<Z extends RegistryTicket = RegistryTicket> {
|
|
|
3648
3996
|
*
|
|
3649
3997
|
* @param registry The registry instance to proxy.
|
|
3650
3998
|
* @param options The options for the proxy registry.
|
|
3651
|
-
* @template Z The type
|
|
3999
|
+
* @template Z The input ticket type (what users provide to register).
|
|
4000
|
+
* @template E The output ticket type (what users receive from get/values).
|
|
3652
4001
|
* @returns A proxy registry with reactive objects.
|
|
3653
4002
|
*
|
|
3654
4003
|
* @see https://0.vuetifyjs.com/composables/registration/use-proxy-registry
|
|
@@ -3664,7 +4013,7 @@ interface ProxyRegistryContext<Z extends RegistryTicket = RegistryTicket> {
|
|
|
3664
4013
|
* console.log(proxy.size) // 1
|
|
3665
4014
|
* ```
|
|
3666
4015
|
*/
|
|
3667
|
-
declare function useProxyRegistry<Z extends RegistryTicket = RegistryTicket>(registry: RegistryContext<Z>, options?: ProxyRegistryOptions): ProxyRegistryContext<
|
|
4016
|
+
declare function useProxyRegistry<Z extends RegistryTicketInput = RegistryTicketInput, E extends RegistryTicket & Z = RegistryTicket & Z>(registry: RegistryContext<Z, E>, options?: ProxyRegistryOptions): ProxyRegistryContext<E>;
|
|
3668
4017
|
//#endregion
|
|
3669
4018
|
//#region src/composables/createQueue/index.d.ts
|
|
3670
4019
|
/**
|
|
@@ -4065,6 +4414,406 @@ interface UseElementSizeReturn extends UseResizeObserverReturn {
|
|
|
4065
4414
|
*/
|
|
4066
4415
|
declare function useElementSize(target: MaybeElementRef): UseElementSizeReturn;
|
|
4067
4416
|
//#endregion
|
|
4417
|
+
//#region src/composables/createSlider/index.d.ts
|
|
4418
|
+
interface SliderTicketInput extends ModelTicketInput<ShallowRef<number>> {
|
|
4419
|
+
value: ShallowRef<number>;
|
|
4420
|
+
}
|
|
4421
|
+
/**
|
|
4422
|
+
* Configuration options for createSlider.
|
|
4423
|
+
*
|
|
4424
|
+
* @see https://0.vuetifyjs.com/composables/forms/create-slider
|
|
4425
|
+
*/
|
|
4426
|
+
interface SliderOptions {
|
|
4427
|
+
/**
|
|
4428
|
+
* Minimum value.
|
|
4429
|
+
* @default 0
|
|
4430
|
+
*/
|
|
4431
|
+
min?: number;
|
|
4432
|
+
/**
|
|
4433
|
+
* Maximum value.
|
|
4434
|
+
* @default 100
|
|
4435
|
+
*/
|
|
4436
|
+
max?: number;
|
|
4437
|
+
/**
|
|
4438
|
+
* Step increment. Values are snapped to the nearest multiple of `step` above `min`.
|
|
4439
|
+
*
|
|
4440
|
+
* @remarks Use decimal steps for fine-grained control (e.g., `0.1` for a media scrubber).
|
|
4441
|
+
* A step of `0` disables snapping — values are only clamped to min/max.
|
|
4442
|
+
*
|
|
4443
|
+
* @default 1
|
|
4444
|
+
*/
|
|
4445
|
+
step?: number;
|
|
4446
|
+
/**
|
|
4447
|
+
* Whether the slider is disabled.
|
|
4448
|
+
*
|
|
4449
|
+
* @remarks Accepts a reactive getter or ref. When disabled, all thumb operations (`set`, `up`, `down`) are no-ops.
|
|
4450
|
+
*/
|
|
4451
|
+
disabled?: MaybeRefOrGetter<boolean>;
|
|
4452
|
+
/**
|
|
4453
|
+
* Whether the slider is readonly (focusable but not editable).
|
|
4454
|
+
*
|
|
4455
|
+
* @remarks Thumbs can receive focus for accessibility, but `set`, `up`, `down`, `floor`, and `ceil` are no-ops.
|
|
4456
|
+
*/
|
|
4457
|
+
readonly?: MaybeRefOrGetter<boolean>;
|
|
4458
|
+
/**
|
|
4459
|
+
* Slider orientation.
|
|
4460
|
+
*
|
|
4461
|
+
* @remarks Affects `fromValue` and `fromPercent` axis mapping in Slider components.
|
|
4462
|
+
* When using createSlider standalone, orientation is informational only.
|
|
4463
|
+
*/
|
|
4464
|
+
orientation?: MaybeRefOrGetter<'horizontal' | 'vertical'>;
|
|
4465
|
+
/**
|
|
4466
|
+
* Flip the percent axis.
|
|
4467
|
+
*
|
|
4468
|
+
* @remarks When `true`, `fromValue(min)` returns `100` and `fromValue(max)` returns `0`.
|
|
4469
|
+
* Useful for vertical sliders where the visual bottom is the minimum.
|
|
4470
|
+
*/
|
|
4471
|
+
inverted?: MaybeRefOrGetter<boolean>;
|
|
4472
|
+
/**
|
|
4473
|
+
* Minimum steps required between adjacent thumbs.
|
|
4474
|
+
*
|
|
4475
|
+
* @remarks Enforced by `set` and `apply`. The gap in value units is `minStepsBetweenThumbs * step`.
|
|
4476
|
+
*
|
|
4477
|
+
* @default 0
|
|
4478
|
+
*
|
|
4479
|
+
* @example
|
|
4480
|
+
* ```ts
|
|
4481
|
+
* const slider = createSlider({ step: 5, minStepsBetweenThumbs: 2 })
|
|
4482
|
+
* // Thumbs must be at least 10 units apart (2 × 5)
|
|
4483
|
+
* ```
|
|
4484
|
+
*/
|
|
4485
|
+
minStepsBetweenThumbs?: number;
|
|
4486
|
+
/**
|
|
4487
|
+
* Allow thumbs to pass through each other.
|
|
4488
|
+
*
|
|
4489
|
+
* @remarks When `false` (default), `set` constrains values so thumbs maintain their order.
|
|
4490
|
+
* When `true`, thumbs can freely overlap and swap positions.
|
|
4491
|
+
*
|
|
4492
|
+
* @default false
|
|
4493
|
+
*/
|
|
4494
|
+
crossover?: boolean;
|
|
4495
|
+
/**
|
|
4496
|
+
* Range mode — expects two thumbs.
|
|
4497
|
+
*
|
|
4498
|
+
* @remarks Informational flag used by Slider components to adjust track/range rendering.
|
|
4499
|
+
* Does not enforce the number of registered thumbs.
|
|
4500
|
+
*
|
|
4501
|
+
* @default false
|
|
4502
|
+
*/
|
|
4503
|
+
range?: boolean;
|
|
4504
|
+
}
|
|
4505
|
+
/**
|
|
4506
|
+
* Context returned by {@link createSlider}.
|
|
4507
|
+
*
|
|
4508
|
+
* @remarks
|
|
4509
|
+
* Extends `createModel` with slider-specific math and thumb operations.
|
|
4510
|
+
*
|
|
4511
|
+
* **Inheritance chain:**
|
|
4512
|
+
* `createRegistry` → `createModel` → `createSlider`
|
|
4513
|
+
*
|
|
4514
|
+
* **Ticket-per-thumb model:**
|
|
4515
|
+
* Each thumb is a model ticket whose value is a `shallowRef<number>`.
|
|
4516
|
+
* `values` is derived from the ordered tickets, not a standalone ref.
|
|
4517
|
+
* Register/unregister thumbs to add/remove values dynamically.
|
|
4518
|
+
*
|
|
4519
|
+
* @see https://0.vuetifyjs.com/composables/forms/create-slider
|
|
4520
|
+
* @see {@link createModel} for the base model API (collection, selectedIds, etc.)
|
|
4521
|
+
*/
|
|
4522
|
+
interface SliderContext extends Omit<ModelContext<SliderTicketInput, ModelTicket<SliderTicketInput>>, 'values' | 'selectedValues' | 'apply' | 'disabled' | 'register'> {
|
|
4523
|
+
/**
|
|
4524
|
+
* Ordered thumb values derived from model tickets.
|
|
4525
|
+
*
|
|
4526
|
+
* @remarks Reactive — updates when any thumb's `shallowRef<number>` changes.
|
|
4527
|
+
* Order matches ticket registration order (sorted by index).
|
|
4528
|
+
*
|
|
4529
|
+
* @example
|
|
4530
|
+
* ```ts
|
|
4531
|
+
* const slider = createSlider()
|
|
4532
|
+
* slider.register({ value: 25 })
|
|
4533
|
+
* slider.register({ value: 75 })
|
|
4534
|
+
* console.log(slider.values.value) // [25, 75]
|
|
4535
|
+
* ```
|
|
4536
|
+
*/
|
|
4537
|
+
values: ComputedRef<number[]>;
|
|
4538
|
+
/**
|
|
4539
|
+
* Alias for `values` — provides useProxyModel compatibility.
|
|
4540
|
+
*
|
|
4541
|
+
* @remarks Returns an array (not a Set) to preserve duplicate values across thumbs.
|
|
4542
|
+
*
|
|
4543
|
+
* @see {@link values}
|
|
4544
|
+
*/
|
|
4545
|
+
selectedValues: ComputedRef<number[]>;
|
|
4546
|
+
/**
|
|
4547
|
+
* Apply external values — snaps, constrains, and writes to ticket refs.
|
|
4548
|
+
*
|
|
4549
|
+
* @param values Array of raw values (coerced to numbers).
|
|
4550
|
+
* @param options Options object (reserved for useProxyModel compatibility).
|
|
4551
|
+
*
|
|
4552
|
+
* @remarks
|
|
4553
|
+
* If no thumbs are registered yet, values are stored as pending and
|
|
4554
|
+
* consumed as thumbs register. Each value is snapped to step and
|
|
4555
|
+
* constrained by `minStepsBetweenThumbs`.
|
|
4556
|
+
*
|
|
4557
|
+
* @example
|
|
4558
|
+
* ```ts
|
|
4559
|
+
* const slider = createSlider({ step: 10 })
|
|
4560
|
+
* slider.register({ value: 0 })
|
|
4561
|
+
* slider.register({ value: 0 })
|
|
4562
|
+
* slider.apply([33, 67]) // values: [30, 70]
|
|
4563
|
+
* ```
|
|
4564
|
+
*/
|
|
4565
|
+
apply: (values: unknown[], options?: {
|
|
4566
|
+
multiple?: boolean;
|
|
4567
|
+
}) => void;
|
|
4568
|
+
/** Whether disabled. Reactive ref derived from the `disabled` option. */
|
|
4569
|
+
disabled: Readonly<Ref<boolean>>;
|
|
4570
|
+
/** Whether readonly. Reactive ref derived from the `readonly` option. */
|
|
4571
|
+
readonly: Readonly<Ref<boolean>>;
|
|
4572
|
+
/** Slider orientation. Reactive ref derived from the `orientation` option. */
|
|
4573
|
+
orientation: Readonly<Ref<'horizontal' | 'vertical'>>;
|
|
4574
|
+
/** Whether inverted. Reactive ref derived from the `inverted` option. */
|
|
4575
|
+
inverted: Readonly<Ref<boolean>>;
|
|
4576
|
+
/** Minimum value. */
|
|
4577
|
+
readonly min: number;
|
|
4578
|
+
/** Maximum value. */
|
|
4579
|
+
readonly max: number;
|
|
4580
|
+
/** Step increment. */
|
|
4581
|
+
readonly step: number;
|
|
4582
|
+
/** Minimum steps required between adjacent thumbs. */
|
|
4583
|
+
readonly minStepsBetweenThumbs: number;
|
|
4584
|
+
/** Whether thumbs can cross each other. */
|
|
4585
|
+
readonly crossover: boolean;
|
|
4586
|
+
/** Whether this is a range slider. */
|
|
4587
|
+
readonly range: boolean;
|
|
4588
|
+
/**
|
|
4589
|
+
* Register a new thumb and return its ticket.
|
|
4590
|
+
*
|
|
4591
|
+
* @param input Starting value as a number or `{ value }` object. Defaults to `min`.
|
|
4592
|
+
*
|
|
4593
|
+
* @remarks
|
|
4594
|
+
* The thumb is automatically selected in the model (all thumbs stay selected).
|
|
4595
|
+
* If `apply` was called before any thumbs registered, the pending value at this
|
|
4596
|
+
* thumb's index is used instead of the provided value.
|
|
4597
|
+
*
|
|
4598
|
+
* @see {@link unregister}
|
|
4599
|
+
*
|
|
4600
|
+
* @example
|
|
4601
|
+
* ```ts
|
|
4602
|
+
* const slider = createSlider({ min: 0, max: 100 })
|
|
4603
|
+
* const thumb = slider.register({ value: 50 })
|
|
4604
|
+
* console.log(thumb.index) // 0
|
|
4605
|
+
* console.log(slider.values.value) // [50]
|
|
4606
|
+
* ```
|
|
4607
|
+
*/
|
|
4608
|
+
register: (input?: number | {
|
|
4609
|
+
value: number;
|
|
4610
|
+
}) => ModelTicket<SliderTicketInput>;
|
|
4611
|
+
/**
|
|
4612
|
+
* Unregister a thumb by ticket ID.
|
|
4613
|
+
*
|
|
4614
|
+
* @param id The ticket ID returned from `register()`.
|
|
4615
|
+
*
|
|
4616
|
+
* @see {@link register}
|
|
4617
|
+
*
|
|
4618
|
+
* @example
|
|
4619
|
+
* ```ts
|
|
4620
|
+
* const slider = createSlider()
|
|
4621
|
+
* const thumb = slider.register({ value: 50 })
|
|
4622
|
+
* slider.unregister(thumb.id) // values: []
|
|
4623
|
+
* ```
|
|
4624
|
+
*/
|
|
4625
|
+
unregister: (id: ID) => void;
|
|
4626
|
+
/**
|
|
4627
|
+
* Round a value to the nearest step, clamped to min/max.
|
|
4628
|
+
*
|
|
4629
|
+
* @param value Raw value to snap.
|
|
4630
|
+
* @returns Snapped value.
|
|
4631
|
+
*
|
|
4632
|
+
* @remarks Pure function — does not modify slider state.
|
|
4633
|
+
* When `step` is `0`, only clamps without snapping.
|
|
4634
|
+
*
|
|
4635
|
+
* @example
|
|
4636
|
+
* ```ts
|
|
4637
|
+
* const slider = createSlider({ min: 0, max: 100, step: 5 })
|
|
4638
|
+
* slider.snap(47) // 45
|
|
4639
|
+
* slider.snap(48) // 50
|
|
4640
|
+
* slider.snap(-5) // 0 (clamped)
|
|
4641
|
+
* ```
|
|
4642
|
+
*/
|
|
4643
|
+
snap: (value: number) => number;
|
|
4644
|
+
/**
|
|
4645
|
+
* Convert a value to a 0–100 percentage.
|
|
4646
|
+
*
|
|
4647
|
+
* @param value The slider value to convert.
|
|
4648
|
+
* @returns Percentage between 0 and 100.
|
|
4649
|
+
*
|
|
4650
|
+
* @remarks Pure function. Respects `inverted` — when inverted,
|
|
4651
|
+
* `fromValue(min)` returns `100` and `fromValue(max)` returns `0`.
|
|
4652
|
+
*
|
|
4653
|
+
* @see {@link fromPercent} for the inverse operation.
|
|
4654
|
+
*
|
|
4655
|
+
* @example
|
|
4656
|
+
* ```ts
|
|
4657
|
+
* const slider = createSlider({ min: 0, max: 200 })
|
|
4658
|
+
* slider.fromValue(100) // 50
|
|
4659
|
+
* slider.fromValue(0) // 0
|
|
4660
|
+
* slider.fromValue(200) // 100
|
|
4661
|
+
* ```
|
|
4662
|
+
*/
|
|
4663
|
+
fromValue: (value: number) => number;
|
|
4664
|
+
/**
|
|
4665
|
+
* Convert a 0–100 percentage to a snapped value.
|
|
4666
|
+
*
|
|
4667
|
+
* @param percent Percentage between 0 and 100.
|
|
4668
|
+
* @returns Snapped slider value.
|
|
4669
|
+
*
|
|
4670
|
+
* @remarks Pure function. Respects `inverted`. The returned value
|
|
4671
|
+
* is snapped to the nearest step and clamped to min/max.
|
|
4672
|
+
*
|
|
4673
|
+
* @see {@link fromValue} for the inverse operation.
|
|
4674
|
+
*
|
|
4675
|
+
* @example
|
|
4676
|
+
* ```ts
|
|
4677
|
+
* const slider = createSlider({ min: 0, max: 100, step: 10 })
|
|
4678
|
+
* slider.fromPercent(33) // 30
|
|
4679
|
+
* slider.fromPercent(50) // 50
|
|
4680
|
+
* ```
|
|
4681
|
+
*/
|
|
4682
|
+
fromPercent: (percent: number) => number;
|
|
4683
|
+
/**
|
|
4684
|
+
* Set the value at a thumb index with step snapping and neighbor constraints.
|
|
4685
|
+
*
|
|
4686
|
+
* @param index Zero-based thumb index.
|
|
4687
|
+
* @param value Raw value to set.
|
|
4688
|
+
*
|
|
4689
|
+
* @remarks
|
|
4690
|
+
* No-op when `readonly` is `true`. The value is snapped to step, clamped to min/max,
|
|
4691
|
+
* and constrained by adjacent thumbs when `crossover` is `false`.
|
|
4692
|
+
*
|
|
4693
|
+
* @see {@link up} and {@link down} for relative adjustments.
|
|
4694
|
+
*
|
|
4695
|
+
* @example
|
|
4696
|
+
* ```ts
|
|
4697
|
+
* const slider = createSlider({ min: 0, max: 100, step: 5 })
|
|
4698
|
+
* slider.register({ value: 50 })
|
|
4699
|
+
* slider.set(0, 73) // values: [75] (snapped)
|
|
4700
|
+
* ```
|
|
4701
|
+
*/
|
|
4702
|
+
set: (index: number, value: number) => void;
|
|
4703
|
+
/**
|
|
4704
|
+
* Increment a thumb's value by `step × multiplier`.
|
|
4705
|
+
*
|
|
4706
|
+
* @param index Zero-based thumb index.
|
|
4707
|
+
* @param multiplier Number of steps to increment. Defaults to `1`.
|
|
4708
|
+
*
|
|
4709
|
+
* @see {@link down} for the inverse. {@link set} for absolute positioning.
|
|
4710
|
+
*
|
|
4711
|
+
* @example
|
|
4712
|
+
* ```ts
|
|
4713
|
+
* const slider = createSlider({ min: 0, max: 100, step: 5 })
|
|
4714
|
+
* slider.register({ value: 50 })
|
|
4715
|
+
* slider.up(0) // values: [55]
|
|
4716
|
+
* slider.up(0, 3) // values: [70]
|
|
4717
|
+
* ```
|
|
4718
|
+
*/
|
|
4719
|
+
up: (index: number, multiplier?: number) => void;
|
|
4720
|
+
/**
|
|
4721
|
+
* Decrement a thumb's value by `step × multiplier`.
|
|
4722
|
+
*
|
|
4723
|
+
* @param index Zero-based thumb index.
|
|
4724
|
+
* @param multiplier Number of steps to decrement. Defaults to `1`.
|
|
4725
|
+
*
|
|
4726
|
+
* @see {@link up} for the inverse. {@link set} for absolute positioning.
|
|
4727
|
+
*
|
|
4728
|
+
* @example
|
|
4729
|
+
* ```ts
|
|
4730
|
+
* const slider = createSlider({ min: 0, max: 100, step: 5 })
|
|
4731
|
+
* slider.register({ value: 50 })
|
|
4732
|
+
* slider.down(0) // values: [45]
|
|
4733
|
+
* slider.down(0, 3) // values: [30]
|
|
4734
|
+
* ```
|
|
4735
|
+
*/
|
|
4736
|
+
down: (index: number, multiplier?: number) => void;
|
|
4737
|
+
/**
|
|
4738
|
+
* Set a thumb to the minimum value.
|
|
4739
|
+
*
|
|
4740
|
+
* @param index Zero-based thumb index.
|
|
4741
|
+
*
|
|
4742
|
+
* @see {@link ceil} for the inverse.
|
|
4743
|
+
*
|
|
4744
|
+
* @example
|
|
4745
|
+
* ```ts
|
|
4746
|
+
* const slider = createSlider({ min: 10, max: 90 })
|
|
4747
|
+
* slider.register({ value: 50 })
|
|
4748
|
+
* slider.floor(0) // values: [10]
|
|
4749
|
+
* ```
|
|
4750
|
+
*/
|
|
4751
|
+
floor: (index: number) => void;
|
|
4752
|
+
/**
|
|
4753
|
+
* Set a thumb to the maximum value.
|
|
4754
|
+
*
|
|
4755
|
+
* @param index Zero-based thumb index.
|
|
4756
|
+
*
|
|
4757
|
+
* @see {@link floor} for the inverse.
|
|
4758
|
+
*
|
|
4759
|
+
* @example
|
|
4760
|
+
* ```ts
|
|
4761
|
+
* const slider = createSlider({ min: 10, max: 90 })
|
|
4762
|
+
* slider.register({ value: 50 })
|
|
4763
|
+
* slider.ceil(0) // values: [90]
|
|
4764
|
+
* ```
|
|
4765
|
+
*/
|
|
4766
|
+
ceil: (index: number) => void;
|
|
4767
|
+
}
|
|
4768
|
+
/**
|
|
4769
|
+
* Creates slider state with value math, step snapping, and multi-thumb support.
|
|
4770
|
+
*
|
|
4771
|
+
* Extends createModel for useProxyModel compatibility. Each thumb is a model
|
|
4772
|
+
* ticket with a shallowRef<number> value. Values are derived from the ordered
|
|
4773
|
+
* tickets, enabling proper registration/unregistration lifecycle.
|
|
4774
|
+
*
|
|
4775
|
+
* @param options Slider configuration.
|
|
4776
|
+
* @returns Slider context with values, math functions, and thumb operations.
|
|
4777
|
+
*
|
|
4778
|
+
* @see https://0.vuetifyjs.com/composables/forms/create-slider
|
|
4779
|
+
* @see {@link createModel} for the base model composable.
|
|
4780
|
+
*
|
|
4781
|
+
* @example Single thumb
|
|
4782
|
+
* ```ts
|
|
4783
|
+
* import { createSlider } from '@vuetify/v0'
|
|
4784
|
+
*
|
|
4785
|
+
* const slider = createSlider({ min: 0, max: 100, step: 5 })
|
|
4786
|
+
* const ticket = slider.register({ value: 50 })
|
|
4787
|
+
* slider.up(0) // values: [55]
|
|
4788
|
+
* slider.fromValue(50) // 50
|
|
4789
|
+
* ```
|
|
4790
|
+
*
|
|
4791
|
+
* @example Range slider
|
|
4792
|
+
* ```ts
|
|
4793
|
+
* import { createSlider } from '@vuetify/v0'
|
|
4794
|
+
*
|
|
4795
|
+
* const slider = createSlider({ min: 0, max: 100, step: 1, range: true })
|
|
4796
|
+
* slider.register({ value: 25 })
|
|
4797
|
+
* slider.register({ value: 75 })
|
|
4798
|
+
* slider.set(0, 30) // values: [30, 75]
|
|
4799
|
+
* slider.set(1, 60) // values: [30, 60]
|
|
4800
|
+
* ```
|
|
4801
|
+
*
|
|
4802
|
+
* @example Custom pointer interaction (media scrubber)
|
|
4803
|
+
* ```ts
|
|
4804
|
+
* import { createSlider } from '@vuetify/v0'
|
|
4805
|
+
*
|
|
4806
|
+
* const slider = createSlider({ min: 0, max: 217, step: 0.1 })
|
|
4807
|
+
* slider.register({ value: 0 })
|
|
4808
|
+
*
|
|
4809
|
+
* // pointer → fromPercent → set → fromValue → UI
|
|
4810
|
+
* const percent = (clientX - rect.left) / rect.width * 100
|
|
4811
|
+
* slider.set(0, slider.fromPercent(percent))
|
|
4812
|
+
* const position = slider.fromValue(slider.values.value[0])
|
|
4813
|
+
* ```
|
|
4814
|
+
*/
|
|
4815
|
+
declare function createSlider(options?: SliderOptions): SliderContext;
|
|
4816
|
+
//#endregion
|
|
4068
4817
|
//#region src/composables/useStack/index.d.ts
|
|
4069
4818
|
/**
|
|
4070
4819
|
* Input type for stack tickets - what users provide to register().
|
|
@@ -4493,6 +5242,8 @@ interface StorageOptions {
|
|
|
4493
5242
|
read: (value: string) => unknown;
|
|
4494
5243
|
write: (value: unknown) => string;
|
|
4495
5244
|
};
|
|
5245
|
+
/** Time-to-live in milliseconds. When set, expired entries return the default value on `get()` and `set()` automatically timestamps entries. */
|
|
5246
|
+
ttl?: number;
|
|
4496
5247
|
}
|
|
4497
5248
|
interface StorageContextOptions extends StorageOptions {
|
|
4498
5249
|
/** The namespace for the storage context. Defaults to `v0:storage` */
|
|
@@ -5320,4 +6071,4 @@ declare function createVirtualContext<T = unknown>(items: Ref<readonly T[]>, _op
|
|
|
5320
6071
|
*/
|
|
5321
6072
|
declare function useVirtual<T = unknown>(namespace?: string): VirtualContext<T>;
|
|
5322
6073
|
//#endregion
|
|
5323
|
-
export { useStep as $,
|
|
6074
|
+
export { useStep as $, SingleTicketInput as $i, createHydrationContext as $n, ClickOutsideIgnoreTarget as $r, NestedOpenMode as $t, createTheme as A, createOverflow as Ai, LocaleRecord as An, TokenContext as Ar, useProxyRegistry as At, StorageOptions as B, useGroup as Bi, useLazy as Bn, EventHandler as Br, createPermissionsContext as Bt, ThemeContext as C, RegistryTicketInput as Ca, CreateContextOptions as Ci, createLoggerPlugin as Cn, createFeatures as Cr, QueueTicket as Ct, ThemeRecord as D, OverflowContext as Di, LocaleContextOptions as Dn, FlatTokenCollection as Dr, useQueue as Dt, ThemePluginOptions as E, useRegistry as Ea, useContext as Ei, LocaleContext as En, useFeatures as Er, createQueueContext as Et, Vuetify0ThemeOptions as F, GroupOptions as Fi, createLocaleFallback as Fn, TokenValue as Fr, PermissionContextOptions as Ft, useStorage as G, BreadcrumbsOptions as Gi, useElementIntersection as Gn, DateContextOptions as Gr, createNested as Gt, createStorage as H, BreadcrumbTicketInput as Hi, IntersectionObserverOptions as Hn, useEventListener as Hr, usePermissions as Ht, ThemeAdapter as I, GroupTicket as Ii, createLocalePlugin as In, createTokens as Ir, PermissionOptions as It, StepOptions as J, useBreadcrumbs as Ji, HydrationContextOptions as Jn, createDate as Jr, multipleOpenStrategy as Jt, StepContext as K, createBreadcrumbs as Ki, useIntersectionObserver as Kn, DateOptions as Kr, createNestedContext as Kt, ThemeAdapterInterface as L, GroupTicketInput as Li, useLocale as Ln, createTokensContext as Lr, PermissionPluginOptions as Lt, createThemePlugin as M, useOverflow as Mi, LocaleTicketInput as Mn, TokenOptions as Mr, ProxyModelTarget as Mt, useTheme as N, GroupContext as Ni, createLocale as Nn, TokenPrimitive as Nr, useProxyModel as Nt, ThemeTicket as O, OverflowContextOptions as Oi, LocaleOptions as On, TokenAlias as Or, ProxyRegistryContext as Ot, Vuetify0ThemeAdapter as P, GroupContextOptions as Pi, createLocaleContext as Pn, TokenTicket as Pr, PermissionContext as Pt, createStepContext as Q, SingleTicket as Qi, createHydration as Qn, ClickOutsideElement as Qr, NestedContextOptions as Qt, StorageContext as R, createGroup as Ri, LazyContext as Rn, useTokens as Rr, PermissionTicket as Rt, ThemeColors as S, RegistryTicket as Sa, ContextKey as Si, createLoggerContext as Sn, FeatureTicketInput as Sr, QueueOptions as St, ThemeOptions as T, createRegistryContext as Ta, provideContext as Ti, LogLevel as Tn, createFeaturesPlugin as Tr, createQueue as Tt, createStorageContext as U, BreadcrumbsContext as Ui, UseElementIntersectionReturn as Un, useWindowEventListener as Ur, PermissionAdapter as Ut, StoragePluginOptions as V, BreadcrumbTicket as Vi, IntersectionObserverEntry as Vn, useDocumentEventListener as Vr, createPermissionsPlugin as Vt, createStoragePlugin as W, BreadcrumbsContextOptions as Wi, UseIntersectionObserverReturn as Wn, DateContext as Wr, PermissionAdapterInterface as Wt, StepTicketInput as X, SingleContextOptions as Xi, HydrationPluginOptions as Xn, createDatePlugin as Xr, NestedActiveMode as Xt, StepTicket as Y, SingleContext as Yi, HydrationOptions as Yn, createDateContext as Yr, singleOpenStrategy as Yt, createStep as Z, SingleOptions as Zi, createFallbackHydration as Zn, useDate as Zr, NestedContext as Zt, TimelineTicket as _, RegistryContextOptions as _a, Plugin as _i, LoggerContext as _n, FeatureContext as _r, UseResizeObserverReturn as _t, VirtualDirection as a, SelectionOptions as aa, BreakpointsContext as ai, OpenStrategy as an, useHotkey as ar, StackTicketInput as at, useTimeline as b, RegistryEventName as ba, createPlugin as bi, LoggerPluginOptions as bn, FeaturePluginOptions as br, QueueContext as bt, VirtualState as c, createSelection as ca, BreakpointsPluginOptions as ci, ObservableNodeList as cn, FormOptions as cr, createStackPlugin as ct, useVirtual as d, ModelContext as da, createBreakpointsPlugin as di, useMutationObserver as dn, FormValidationResult as dr, SliderOptions as dt, createSingle as ea, ClickOutsideTarget as ei, NestedOptions as en, createHydrationPlugin as er, StackContext as et, ToggleScopeControls as f, ModelOptions as fa, useBreakpoints as fi, MediaQueryContext as fn, FormValidationRule as fr, SliderTicketInput as ft, TimelineOptions as g, RegistryContext as ga, toArray as gi, usePrefersReducedMotion as gn, useForm as gr, UseElementSizeReturn as gt, TimelineContextOptions as h, createModel as ha, toElement as hi, usePrefersDark as hn, createFormContext as hr, ResizeObserverOptions as ht, VirtualContextOptions as i, SelectionContextOptions as ia, BreakpointName as ii, NestedTicketInput as in, UseHotkeyReturn as ir, StackTicket as it, createThemeContext as j, createOverflowContext as ji, LocaleTicket as jn, TokenContextOptions as jr, ProxyModelOptions as jt, ThemeTicketInput as k, OverflowOptions as ki, LocalePluginOptions as kn, TokenCollection as kr, ProxyRegistryOptions as kt, createVirtual as l, createSelectionContext as la, createBreakpoints as li, UseMutationObserverOptions as ln, FormTicket as lr, useStack as lt, TimelineContext as m, ModelTicketInput as ma, MaybeElementRef as mi, usePrefersContrast as mn, createForm as mr, ResizeObserverEntry as mt, VirtualAnchor as n, useSingle as na, UseClickOutsideReturn as ni, NestedSelectionMode as nn, PlatformContext as nr, StackOptions as nt, VirtualItem as o, SelectionTicket as oa, BreakpointsContextOptions as oi, OpenStrategyContext as on, FormContext as or, createStack as ot, useToggleScope as p, ModelTicket as pa, toReactive as pi, useMediaQuery as pn, FormValue as pr, createSlider as pt, StepContextOptions as q, createBreadcrumbsContext as qi, HydrationContext as qn, DatePluginOptions as qr, useNested as qt, VirtualContext as r, SelectionContext as ra, useClickOutside as ri, NestedTicket as rn, UseHotkeyOptions as rr, StackPluginOptions as rt, VirtualOptions as s, SelectionTicketInput as sa, BreakpointsOptions as si, MutationObserverRecord as sn, FormContextOptions as sr, createStackContext as st, ScrollToOptions as t, createSingleContext as ta, UseClickOutsideOptions as ti, NestedRegistration as tn, useHydration as tr, StackContextOptions as tt, createVirtualContext as u, useSelection as ua, createBreakpointsContext as ui, UseMutationObserverReturn as un, FormTicketInput as ur, SliderContext as ut, createTimeline as v, RegistryEventCallback as va, PluginContextConfig as vi, LoggerContextOptions as vn, FeatureContextOptions as vr, useElementSize as vt, ThemeContextOptions as w, createRegistry as wa, createContext as wi, useLogger as wn, createFeaturesContext as wr, QueueTicketInput as wt, Colors as x, RegistryOptions as xa, createPluginContext as xi, createLogger as xn, FeatureTicket as xr, QueueContextOptions as xt, createTimelineContext as y, RegistryEventMap as ya, PluginOptions as yi, LoggerOptions as yn, FeatureOptions as yr, useResizeObserver as yt, StorageContextOptions as z, createGroupContext as zi, LazyOptions as zn, CleanupFunction as zr, createPermissions as zt };
|