@vuetify/nightly 3.7.2-master.2024-10-15 → 3.7.3-dev.2024-10-17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/json/attributes.json +99 -99
  2. package/dist/json/importMap-labs.json +12 -12
  3. package/dist/json/importMap.json +112 -112
  4. package/dist/json/web-types.json +193 -193
  5. package/dist/vuetify-labs.css +3258 -3258
  6. package/dist/vuetify-labs.esm.js +34 -31
  7. package/dist/vuetify-labs.esm.js.map +1 -1
  8. package/dist/vuetify-labs.js +34 -31
  9. package/dist/vuetify-labs.min.css +2 -2
  10. package/dist/vuetify.css +3265 -3265
  11. package/dist/vuetify.d.ts +39 -39
  12. package/dist/vuetify.esm.js +6 -4
  13. package/dist/vuetify.esm.js.map +1 -1
  14. package/dist/vuetify.js +6 -4
  15. package/dist/vuetify.js.map +1 -1
  16. package/dist/vuetify.min.css +2 -2
  17. package/dist/vuetify.min.js +4 -4
  18. package/dist/vuetify.min.js.map +1 -1
  19. package/lib/components/VBottomSheet/VBottomSheet.sass +2 -1
  20. package/lib/components/VDataTable/composables/paginate.mjs +4 -2
  21. package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
  22. package/lib/components/VField/_variables.scss +2 -1
  23. package/lib/components/VOverflowBtn/VOverflowBtn.sass +6 -5
  24. package/lib/components/VProgressLinear/_variables.scss +2 -1
  25. package/lib/components/VTable/_mixins.scss +2 -2
  26. package/lib/components/VTabs/VTabs.sass +1 -1
  27. package/lib/entry-bundler.mjs +1 -1
  28. package/lib/entry-bundler.mjs.map +1 -1
  29. package/lib/framework.mjs +1 -1
  30. package/lib/framework.mjs.map +1 -1
  31. package/lib/index.d.mts +39 -39
  32. package/lib/labs/VTreeview/VTreeviewChildren.mjs +29 -28
  33. package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
  34. package/lib/styles/settings/_colors.scss +257 -256
  35. package/lib/styles/utilities/_display.sass +2 -1
  36. package/lib/styles/utilities/_elevation.scss +2 -1
  37. package/lib/styles/utilities/_screenreaders.sass +2 -1
  38. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ @use 'sass:map'
1
2
  @use '../../styles/settings'
2
3
  @use '../../styles/tools'
3
4
  @use './variables' as *
@@ -36,5 +37,5 @@
36
37
  &.v-bottom-sheet--inset
37
38
  max-width: none
38
39
 
39
- @media #{map-get(settings.$display-breakpoints, 'sm-and-up')}
40
+ @media #{map.get(settings.$display-breakpoints, 'sm-and-up')}
40
41
  max-width: $bottom-sheet-inset-width
@@ -1,6 +1,6 @@
1
1
  // Composables
2
2
  import { useProxiedModel } from "../../../composables/proxiedModel.mjs"; // Utilities
3
- import { computed, inject, provide, watch, watchEffect } from 'vue';
3
+ import { computed, inject, provide, watch } from 'vue';
4
4
  import { clamp, getCurrentInstance, propsFactory } from "../../../util/index.mjs"; // Types
5
5
  export const makeDataTablePaginateProps = propsFactory({
6
6
  page: {
@@ -39,7 +39,9 @@ export function providePagination(options) {
39
39
  if (itemsPerPage.value === -1 || itemsLength.value === 0) return 1;
40
40
  return Math.ceil(itemsLength.value / itemsPerPage.value);
41
41
  });
42
- watchEffect(() => {
42
+
43
+ // Don't run immediately, items may not have been loaded yet: #17966
44
+ watch([page, pageCount], () => {
43
45
  if (page.value > pageCount.value) {
44
46
  page.value = pageCount.value;
45
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"paginate.mjs","names":["useProxiedModel","computed","inject","provide","watch","watchEffect","clamp","getCurrentInstance","propsFactory","makeDataTablePaginateProps","page","type","Number","String","default","itemsPerPage","VDataTablePaginationSymbol","Symbol","for","createPagination","props","undefined","value","providePagination","options","itemsLength","startIndex","stopIndex","Math","min","pageCount","ceil","setItemsPerPage","nextPage","prevPage","setPage","data","usePagination","Error","usePaginatedItems","vm","items","paginatedItems","slice","val","emit"],"sources":["../../../../src/components/VDataTable/composables/paginate.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, watch, watchEffect } from 'vue'\nimport { clamp, getCurrentInstance, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\nimport type { Group } from './group'\nimport type { EventProp } from '@/util'\n\nexport const makeDataTablePaginateProps = propsFactory({\n page: {\n type: [Number, String],\n default: 1,\n },\n itemsPerPage: {\n type: [Number, String],\n default: 10,\n },\n}, 'DataTable-paginate')\n\nconst VDataTablePaginationSymbol: InjectionKey<{\n page: Ref<number>\n itemsPerPage: Ref<number>\n startIndex: Ref<number>\n stopIndex: Ref<number>\n pageCount: Ref<number>\n itemsLength: Ref<number>\n prevPage: () => void\n nextPage: () => void\n setPage: (value: number) => void\n setItemsPerPage: (value: number) => void\n}> = Symbol.for('vuetify:data-table-pagination')\n\ntype PaginationProps = {\n page: number | string\n 'onUpdate:page': EventProp | undefined\n itemsPerPage: number | string\n 'onUpdate:itemsPerPage': EventProp | undefined\n itemsLength?: number | string\n}\n\nexport function createPagination (props: PaginationProps) {\n const page = useProxiedModel(props, 'page', undefined, value => +(value ?? 1))\n const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value => +(value ?? 10))\n\n return { page, itemsPerPage }\n}\n\nexport function providePagination (options: {\n page: Ref<number>\n itemsPerPage: Ref<number>\n itemsLength: Ref<number>\n}) {\n const { page, itemsPerPage, itemsLength } = options\n\n const startIndex = computed(() => {\n if (itemsPerPage.value === -1) return 0\n\n return itemsPerPage.value * (page.value - 1)\n })\n const stopIndex = computed(() => {\n if (itemsPerPage.value === -1) return itemsLength.value\n\n return Math.min(itemsLength.value, startIndex.value + itemsPerPage.value)\n })\n\n const pageCount = computed(() => {\n if (itemsPerPage.value === -1 || itemsLength.value === 0) return 1\n\n return Math.ceil(itemsLength.value / itemsPerPage.value)\n })\n\n watchEffect(() => {\n if (page.value > pageCount.value) {\n page.value = pageCount.value\n }\n })\n\n function setItemsPerPage (value: number) {\n itemsPerPage.value = value\n page.value = 1\n }\n\n function nextPage () {\n page.value = clamp(page.value + 1, 1, pageCount.value)\n }\n\n function prevPage () {\n page.value = clamp(page.value - 1, 1, pageCount.value)\n }\n\n function setPage (value: number) {\n page.value = clamp(value, 1, pageCount.value)\n }\n\n const data = { page, itemsPerPage, startIndex, stopIndex, pageCount, itemsLength, nextPage, prevPage, setPage, setItemsPerPage }\n\n provide(VDataTablePaginationSymbol, data)\n\n return data\n}\n\nexport function usePagination () {\n const data = inject(VDataTablePaginationSymbol)\n\n if (!data) throw new Error('Missing pagination!')\n\n return data\n}\n\nexport function usePaginatedItems <T> (options: {\n items: Ref<readonly (T | Group<T>)[]>\n startIndex: Ref<number>\n stopIndex: Ref<number>\n itemsPerPage: Ref<number>\n}) {\n const vm = getCurrentInstance('usePaginatedItems')\n\n const { items, startIndex, stopIndex, itemsPerPage } = options\n const paginatedItems = computed(() => {\n if (itemsPerPage.value <= 0) return items.value\n\n return items.value.slice(startIndex.value, stopIndex.value)\n })\n\n watch(paginatedItems, val => {\n vm.emit('update:currentItems', val)\n })\n\n return { paginatedItems }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"paginate.mjs","names":["useProxiedModel","computed","inject","provide","watch","clamp","getCurrentInstance","propsFactory","makeDataTablePaginateProps","page","type","Number","String","default","itemsPerPage","VDataTablePaginationSymbol","Symbol","for","createPagination","props","undefined","value","providePagination","options","itemsLength","startIndex","stopIndex","Math","min","pageCount","ceil","setItemsPerPage","nextPage","prevPage","setPage","data","usePagination","Error","usePaginatedItems","vm","items","paginatedItems","slice","val","emit"],"sources":["../../../../src/components/VDataTable/composables/paginate.ts"],"sourcesContent":["// Composables\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, inject, provide, watch } from 'vue'\nimport { clamp, getCurrentInstance, propsFactory } from '@/util'\n\n// Types\nimport type { InjectionKey, Ref } from 'vue'\nimport type { Group } from './group'\nimport type { EventProp } from '@/util'\n\nexport const makeDataTablePaginateProps = propsFactory({\n page: {\n type: [Number, String],\n default: 1,\n },\n itemsPerPage: {\n type: [Number, String],\n default: 10,\n },\n}, 'DataTable-paginate')\n\nconst VDataTablePaginationSymbol: InjectionKey<{\n page: Ref<number>\n itemsPerPage: Ref<number>\n startIndex: Ref<number>\n stopIndex: Ref<number>\n pageCount: Ref<number>\n itemsLength: Ref<number>\n prevPage: () => void\n nextPage: () => void\n setPage: (value: number) => void\n setItemsPerPage: (value: number) => void\n}> = Symbol.for('vuetify:data-table-pagination')\n\ntype PaginationProps = {\n page: number | string\n 'onUpdate:page': EventProp | undefined\n itemsPerPage: number | string\n 'onUpdate:itemsPerPage': EventProp | undefined\n itemsLength?: number | string\n}\n\nexport function createPagination (props: PaginationProps) {\n const page = useProxiedModel(props, 'page', undefined, value => +(value ?? 1))\n const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value => +(value ?? 10))\n\n return { page, itemsPerPage }\n}\n\nexport function providePagination (options: {\n page: Ref<number>\n itemsPerPage: Ref<number>\n itemsLength: Ref<number>\n}) {\n const { page, itemsPerPage, itemsLength } = options\n\n const startIndex = computed(() => {\n if (itemsPerPage.value === -1) return 0\n\n return itemsPerPage.value * (page.value - 1)\n })\n const stopIndex = computed(() => {\n if (itemsPerPage.value === -1) return itemsLength.value\n\n return Math.min(itemsLength.value, startIndex.value + itemsPerPage.value)\n })\n\n const pageCount = computed(() => {\n if (itemsPerPage.value === -1 || itemsLength.value === 0) return 1\n\n return Math.ceil(itemsLength.value / itemsPerPage.value)\n })\n\n // Don't run immediately, items may not have been loaded yet: #17966\n watch([page, pageCount], () => {\n if (page.value > pageCount.value) {\n page.value = pageCount.value\n }\n })\n\n function setItemsPerPage (value: number) {\n itemsPerPage.value = value\n page.value = 1\n }\n\n function nextPage () {\n page.value = clamp(page.value + 1, 1, pageCount.value)\n }\n\n function prevPage () {\n page.value = clamp(page.value - 1, 1, pageCount.value)\n }\n\n function setPage (value: number) {\n page.value = clamp(value, 1, pageCount.value)\n }\n\n const data = { page, itemsPerPage, startIndex, stopIndex, pageCount, itemsLength, nextPage, prevPage, setPage, setItemsPerPage }\n\n provide(VDataTablePaginationSymbol, data)\n\n return data\n}\n\nexport function usePagination () {\n const data = inject(VDataTablePaginationSymbol)\n\n if (!data) throw new Error('Missing pagination!')\n\n return data\n}\n\nexport function usePaginatedItems <T> (options: {\n items: Ref<readonly (T | Group<T>)[]>\n startIndex: Ref<number>\n stopIndex: Ref<number>\n itemsPerPage: Ref<number>\n}) {\n const vm = getCurrentInstance('usePaginatedItems')\n\n const { items, startIndex, stopIndex, itemsPerPage } = options\n const paginatedItems = computed(() => {\n if (itemsPerPage.value <= 0) return items.value\n\n return items.value.slice(startIndex.value, stopIndex.value)\n })\n\n watch(paginatedItems, val => {\n vm.emit('update:currentItems', val)\n })\n\n return { paginatedItems }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,10 +1,11 @@
1
1
  @forward '../VInput/variables';
2
+ @use 'sass:map';
2
3
  @use '../../styles/settings';
3
4
  @use '../VInput/variables' as *;
4
5
 
5
6
  // INPUT
6
7
  $field-border-radius: settings.$border-radius-root !default;
7
- $field-rounded-border-radius: map-get(settings.$rounded, 'xl') !default;
8
+ $field-rounded-border-radius: map.get(settings.$rounded, 'xl') !default;
8
9
  $field-color: rgba(var(--v-theme-on-surface), var(--v-medium-emphasis-opacity)) !default;
9
10
  $field-disabled-color: rgba(var(--v-theme-on-surface), var(--v-disabled-opacity)) !default;
10
11
  $field-error-color: rgb(var(--v-theme-error)) !default;
@@ -1,17 +1,18 @@
1
- @import './_variables.scss'
1
+ @use 'sass:map'
2
+ @use './variables' as *
2
3
 
3
4
  // Theme
4
5
  @include theme(v-overflow-btn) using ($material)
5
6
  &#{&} > .v-input__control > .v-input__slot
6
- border-color: map-get($material, 'dividers')
7
+ border-color: map.get($material, 'dividers')
7
8
 
8
9
  &:not(.v-input--is-focused):not(.v-input--has-state)
9
10
  > .v-input__control > .v-input__slot:hover
10
- background: map-get($material, 'cards')
11
+ background: map.get($material, 'cards')
11
12
 
12
13
  &.v-overflow-btn--segmented
13
14
  .v-input__append-inner
14
- border-left: thin solid map-get($material, 'dividers')
15
+ border-left: thin solid map.get($material, 'dividers')
15
16
 
16
17
 
17
18
  .v-autocomplete__content.v-menu__content
@@ -49,7 +50,7 @@
49
50
  margin-inline-start: $overflow-selection-comma-margin-x
50
51
 
51
52
  .v-input__slot
52
- transition: .3s map-get($transition, 'swing')
53
+ transition: .3s map.get($transition, 'swing')
53
54
 
54
55
  &::before,
55
56
  &::after
@@ -1,10 +1,11 @@
1
+ @use 'sass:map';
1
2
  @use '../../styles/settings';
2
3
 
3
4
  // VProgressLinear
4
5
  $progress-linear-background: currentColor !default;
5
6
  $progress-linear-background-background: $progress-linear-background !default;
6
7
  $progress-linear-background-opacity: var(--v-border-opacity) !default;
7
- $progress-linear-border-radius: map-get(settings.$rounded, 'pill') !default;
8
+ $progress-linear-border-radius: map.get(settings.$rounded, 'pill') !default;
8
9
  $progress-linear-stream-opacity: 0.3 !default;
9
10
  $progress-linear-stripe-background-size: 40px 40px !default;
10
11
  $progress-linear-stream-border-width: 4px !default;
@@ -11,10 +11,10 @@
11
11
  > tfoot {
12
12
  > tr {
13
13
  > th {
14
- height: map-get($properties, header)
14
+ height: map.get($properties, header)
15
15
  }
16
16
  > td {
17
- height: map-get($properties, row)
17
+ height: map.get($properties, row)
18
18
  }
19
19
  }
20
20
  }
@@ -47,7 +47,7 @@
47
47
  .v-tab:last-child
48
48
  margin-inline-end: 0
49
49
 
50
- @media #{map-get(settings.$display-breakpoints, 'md-and-down')}
50
+ @media #{map.get(settings.$display-breakpoints, 'md-and-down')}
51
51
  .v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes)
52
52
  .v-tab:first-child
53
53
  margin-inline-start: 52px
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.7.2-master.2024-10-15";
19
+ export const version = "3.7.3-dev.2024-10-17";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.mjs";
@@ -1 +1 @@
1
- {"version":3,"file":"entry-bundler.mjs","names":["blueprints","components","directives","createVuetify","_createVuetify","options","arguments","length","undefined","version"],"sources":["../src/entry-bundler.ts"],"sourcesContent":["/* eslint-disable local-rules/sort-imports */\n\n// Styles\nimport './styles/main.sass'\n\n// Components\nimport * as blueprints from './blueprints'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\n\n// Types\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\nexport {\n blueprints,\n components,\n directives,\n}\nexport * from './composables'\n"],"mappings":"AAAA;;AAEA;AACA;;AAEA;AAAA,OACO,KAAKA,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,SACbC,aAAa,IAAIC,cAAc,2BAExC;AAGA,OAAO,MAAMD,aAAa,GAAG,SAAAA,CAAA,EAAkC;EAAA,IAAjCE,OAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxD,OAAOF,cAAc,CAAC;IAAEH,UAAU;IAAEC,UAAU;IAAE,GAAGG;EAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,OAAO,MAAMI,OAAO,4BAAsB;AAC1CN,aAAa,CAACM,OAAO,GAAGA,OAAO;AAE/B,SACET,UAAU,EACVC,UAAU,EACVC,UAAU;AACX","ignoreList":[]}
1
+ {"version":3,"file":"entry-bundler.mjs","names":["blueprints","components","directives","createVuetify","_createVuetify","options","arguments","length","undefined","version"],"sources":["../src/entry-bundler.ts"],"sourcesContent":["/* eslint-disable local-rules/sort-imports */\n\n// Styles\nimport './styles/main.sass'\n\n// Components\nimport * as blueprints from './blueprints'\nimport * as components from './components'\nimport * as directives from './directives'\nimport { createVuetify as _createVuetify } from './framework'\n\n// Types\nimport type { VuetifyOptions } from './framework'\n\nexport const createVuetify = (options: VuetifyOptions = {}) => {\n return _createVuetify({ components, directives, ...options })\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\nexport {\n blueprints,\n components,\n directives,\n}\nexport * from './composables'\n"],"mappings":"AAAA;;AAEA;AACA;;AAEA;AAAA,OACO,KAAKA,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,OACf,KAAKC,UAAU;AAAA,SACbC,aAAa,IAAIC,cAAc,2BAExC;AAGA,OAAO,MAAMD,aAAa,GAAG,SAAAA,CAAA,EAAkC;EAAA,IAAjCE,OAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EACxD,OAAOF,cAAc,CAAC;IAAEH,UAAU;IAAEC,UAAU;IAAE,GAAGG;EAAQ,CAAC,CAAC;AAC/D,CAAC;AAED,OAAO,MAAMI,OAAO,yBAAsB;AAC1CN,aAAa,CAACM,OAAO,GAAGA,OAAO;AAE/B,SACET,UAAU,EACVC,UAAU,EACVC,UAAU;AACX","ignoreList":[]}
package/lib/framework.mjs CHANGED
@@ -97,7 +97,7 @@ export function createVuetify() {
97
97
  goTo
98
98
  };
99
99
  }
100
- export const version = "3.7.2-master.2024-10-15";
100
+ export const version = "3.7.3-dev.2024-10-17";
101
101
  createVuetify.version = version;
102
102
 
103
103
  // Vue's inject() can only be used in setup
@@ -1 +1 @@
1
- {"version":3,"file":"framework.mjs","names":["createDate","DateAdapterSymbol","DateOptionsSymbol","createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createGoTo","GoToSymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","nextTick","reactive","defineComponent","getUid","IN_BROWSER","mergeDeep","createVuetify","vuetify","arguments","length","undefined","blueprint","rest","options","aliases","components","directives","defaults","display","ssr","theme","icons","locale","date","goTo","install","app","key","directive","component","name","aliasName","provide","instance","$nuxt","hook","update","mount","vm","reset","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDate, DateAdapterSymbol, DateOptionsSymbol } from '@/composables/date/date'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createGoTo, GoToSymbol } from '@/composables/goto'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { nextTick, reactive } from 'vue'\nimport { defineComponent, getUid, IN_BROWSER, mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DateOptions } from '@/composables/date'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions, SSROptions } from '@/composables/display'\nimport type { GoToOptions } from '@/composables/goto'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\nexport * from './composables'\nexport type { DateOptions, DateInstance, DateModule } from '@/composables/date'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n date?: DateOptions\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n goTo?: GoToOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: SSROptions\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options: VuetifyOptions = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n const date = createDate(options.date, locale)\n const goTo = createGoTo(options.goTo, locale)\n\n const install = (app: App) => {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n theme.install(app)\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n app.provide(DateOptionsSymbol, date.options)\n app.provide(DateAdapterSymbol, date.instance)\n app.provide(GoToSymbol, goTo)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n getUid.reset()\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n date: inject.call(this, DateAdapterSymbol),\n })\n },\n },\n })\n }\n }\n\n return {\n install,\n defaults,\n display,\n theme,\n icons,\n locale,\n date,\n goTo,\n }\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"framework.mjs","names":["createDate","DateAdapterSymbol","DateOptionsSymbol","createDefaults","DefaultsSymbol","createDisplay","DisplaySymbol","createGoTo","GoToSymbol","createIcons","IconSymbol","createLocale","LocaleSymbol","createTheme","ThemeSymbol","nextTick","reactive","defineComponent","getUid","IN_BROWSER","mergeDeep","createVuetify","vuetify","arguments","length","undefined","blueprint","rest","options","aliases","components","directives","defaults","display","ssr","theme","icons","locale","date","goTo","install","app","key","directive","component","name","aliasName","provide","instance","$nuxt","hook","update","mount","vm","reset","__VUE_OPTIONS_API__","mixin","computed","$vuetify","inject","call","version","$","provides","parent","vnode","appContext"],"sources":["../src/framework.ts"],"sourcesContent":["// Composables\nimport { createDate, DateAdapterSymbol, DateOptionsSymbol } from '@/composables/date/date'\nimport { createDefaults, DefaultsSymbol } from '@/composables/defaults'\nimport { createDisplay, DisplaySymbol } from '@/composables/display'\nimport { createGoTo, GoToSymbol } from '@/composables/goto'\nimport { createIcons, IconSymbol } from '@/composables/icons'\nimport { createLocale, LocaleSymbol } from '@/composables/locale'\nimport { createTheme, ThemeSymbol } from '@/composables/theme'\n\n// Utilities\nimport { nextTick, reactive } from 'vue'\nimport { defineComponent, getUid, IN_BROWSER, mergeDeep } from '@/util'\n\n// Types\nimport type { App, ComponentPublicInstance, InjectionKey } from 'vue'\nimport type { DateOptions } from '@/composables/date'\nimport type { DefaultsOptions } from '@/composables/defaults'\nimport type { DisplayOptions, SSROptions } from '@/composables/display'\nimport type { GoToOptions } from '@/composables/goto'\nimport type { IconOptions } from '@/composables/icons'\nimport type { LocaleOptions, RtlOptions } from '@/composables/locale'\nimport type { ThemeOptions } from '@/composables/theme'\nexport * from './composables'\nexport type { DateOptions, DateInstance, DateModule } from '@/composables/date'\n\nexport interface VuetifyOptions {\n aliases?: Record<string, any>\n blueprint?: Blueprint\n components?: Record<string, any>\n date?: DateOptions\n directives?: Record<string, any>\n defaults?: DefaultsOptions\n display?: DisplayOptions\n goTo?: GoToOptions\n theme?: ThemeOptions\n icons?: IconOptions\n locale?: LocaleOptions & RtlOptions\n ssr?: SSROptions\n}\n\nexport interface Blueprint extends Omit<VuetifyOptions, 'blueprint'> {}\n\nexport function createVuetify (vuetify: VuetifyOptions = {}) {\n const { blueprint, ...rest } = vuetify\n const options: VuetifyOptions = mergeDeep(blueprint, rest)\n const {\n aliases = {},\n components = {},\n directives = {},\n } = options\n\n const defaults = createDefaults(options.defaults)\n const display = createDisplay(options.display, options.ssr)\n const theme = createTheme(options.theme)\n const icons = createIcons(options.icons)\n const locale = createLocale(options.locale)\n const date = createDate(options.date, locale)\n const goTo = createGoTo(options.goTo, locale)\n\n const install = (app: App) => {\n for (const key in directives) {\n app.directive(key, directives[key])\n }\n\n for (const key in components) {\n app.component(key, components[key])\n }\n\n for (const key in aliases) {\n app.component(key, defineComponent({\n ...aliases[key],\n name: key,\n aliasName: aliases[key].name,\n }))\n }\n\n theme.install(app)\n\n app.provide(DefaultsSymbol, defaults)\n app.provide(DisplaySymbol, display)\n app.provide(ThemeSymbol, theme)\n app.provide(IconSymbol, icons)\n app.provide(LocaleSymbol, locale)\n app.provide(DateOptionsSymbol, date.options)\n app.provide(DateAdapterSymbol, date.instance)\n app.provide(GoToSymbol, goTo)\n\n if (IN_BROWSER && options.ssr) {\n if (app.$nuxt) {\n app.$nuxt.hook('app:suspense:resolve', () => {\n display.update()\n })\n } else {\n const { mount } = app\n app.mount = (...args) => {\n const vm = mount(...args)\n nextTick(() => display.update())\n app.mount = mount\n return vm\n }\n }\n }\n\n getUid.reset()\n\n if (typeof __VUE_OPTIONS_API__ !== 'boolean' || __VUE_OPTIONS_API__) {\n app.mixin({\n computed: {\n $vuetify () {\n return reactive({\n defaults: inject.call(this, DefaultsSymbol),\n display: inject.call(this, DisplaySymbol),\n theme: inject.call(this, ThemeSymbol),\n icons: inject.call(this, IconSymbol),\n locale: inject.call(this, LocaleSymbol),\n date: inject.call(this, DateAdapterSymbol),\n })\n },\n },\n })\n }\n }\n\n return {\n install,\n defaults,\n display,\n theme,\n icons,\n locale,\n date,\n goTo,\n }\n}\n\nexport const version = __VUETIFY_VERSION__\ncreateVuetify.version = version\n\n// Vue's inject() can only be used in setup\nfunction inject (this: ComponentPublicInstance, key: InjectionKey<any> | string) {\n const vm = this.$\n\n const provides = vm.parent?.provides ?? vm.vnode.appContext?.provides\n\n if (provides && (key as any) in provides) {\n return provides[(key as string)]\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/lib/index.d.mts CHANGED
@@ -487,46 +487,48 @@ declare module 'vue' {
487
487
  }
488
488
  export interface GlobalComponents {
489
489
  VApp: typeof import('vuetify/components')['VApp']
490
+ VAlert: typeof import('vuetify/components')['VAlert']
491
+ VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
490
492
  VAppBar: typeof import('vuetify/components')['VAppBar']
491
493
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
492
494
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
493
- VAlert: typeof import('vuetify/components')['VAlert']
494
- VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
495
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
496
495
  VAvatar: typeof import('vuetify/components')['VAvatar']
496
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
497
497
  VBadge: typeof import('vuetify/components')['VBadge']
498
498
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
499
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
500
499
  VBanner: typeof import('vuetify/components')['VBanner']
501
500
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
502
501
  VBannerText: typeof import('vuetify/components')['VBannerText']
503
502
  VBtn: typeof import('vuetify/components')['VBtn']
503
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
504
504
  VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
505
505
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
506
506
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
507
507
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
508
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
508
509
  VCard: typeof import('vuetify/components')['VCard']
509
510
  VCardActions: typeof import('vuetify/components')['VCardActions']
510
511
  VCardItem: typeof import('vuetify/components')['VCardItem']
511
512
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
512
513
  VCardText: typeof import('vuetify/components')['VCardText']
513
514
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
514
- VCarousel: typeof import('vuetify/components')['VCarousel']
515
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
516
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
517
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
518
- VChip: typeof import('vuetify/components')['VChip']
519
- VCode: typeof import('vuetify/components')['VCode']
520
515
  VCheckbox: typeof import('vuetify/components')['VCheckbox']
521
516
  VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
517
+ VChip: typeof import('vuetify/components')['VChip']
518
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
519
+ VCode: typeof import('vuetify/components')['VCode']
522
520
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
521
+ VCarousel: typeof import('vuetify/components')['VCarousel']
522
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
523
523
  VCombobox: typeof import('vuetify/components')['VCombobox']
524
+ VDialog: typeof import('vuetify/components')['VDialog']
524
525
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
525
526
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
526
527
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
527
528
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
528
529
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
529
530
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
531
+ VCounter: typeof import('vuetify/components')['VCounter']
530
532
  VDataTable: typeof import('vuetify/components')['VDataTable']
531
533
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
532
534
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -535,31 +537,28 @@ declare module 'vue' {
535
537
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
536
538
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
537
539
  VDivider: typeof import('vuetify/components')['VDivider']
538
- VCounter: typeof import('vuetify/components')['VCounter']
539
- VDialog: typeof import('vuetify/components')['VDialog']
540
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
541
540
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
542
541
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
543
542
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
544
543
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
545
- VFileInput: typeof import('vuetify/components')['VFileInput']
546
- VFab: typeof import('vuetify/components')['VFab']
547
- VImg: typeof import('vuetify/components')['VImg']
548
544
  VField: typeof import('vuetify/components')['VField']
549
545
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
550
- VInput: typeof import('vuetify/components')['VInput']
546
+ VFab: typeof import('vuetify/components')['VFab']
547
+ VFileInput: typeof import('vuetify/components')['VFileInput']
548
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
549
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
550
+ VFooter: typeof import('vuetify/components')['VFooter']
551
551
  VIcon: typeof import('vuetify/components')['VIcon']
552
552
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
553
553
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
554
554
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
555
555
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
556
+ VImg: typeof import('vuetify/components')['VImg']
556
557
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
557
558
  VItem: typeof import('vuetify/components')['VItem']
558
- VFooter: typeof import('vuetify/components')['VFooter']
559
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
560
- VLabel: typeof import('vuetify/components')['VLabel']
559
+ VInput: typeof import('vuetify/components')['VInput']
561
560
  VKbd: typeof import('vuetify/components')['VKbd']
562
- VMessages: typeof import('vuetify/components')['VMessages']
561
+ VLabel: typeof import('vuetify/components')['VLabel']
563
562
  VList: typeof import('vuetify/components')['VList']
564
563
  VListGroup: typeof import('vuetify/components')['VListGroup']
565
564
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -570,49 +569,49 @@ declare module 'vue' {
570
569
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
571
570
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
572
571
  VMain: typeof import('vuetify/components')['VMain']
573
- VMenu: typeof import('vuetify/components')['VMenu']
574
- VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
575
- VOverlay: typeof import('vuetify/components')['VOverlay']
572
+ VMessages: typeof import('vuetify/components')['VMessages']
573
+ VOtpInput: typeof import('vuetify/components')['VOtpInput']
576
574
  VPagination: typeof import('vuetify/components')['VPagination']
575
+ VOverlay: typeof import('vuetify/components')['VOverlay']
576
+ VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
577
+ VMenu: typeof import('vuetify/components')['VMenu']
577
578
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
578
- VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
579
- VOtpInput: typeof import('vuetify/components')['VOtpInput']
580
579
  VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
581
580
  VSelect: typeof import('vuetify/components')['VSelect']
582
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
583
581
  VRating: typeof import('vuetify/components')['VRating']
584
- VSheet: typeof import('vuetify/components')['VSheet']
585
582
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
583
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
584
+ VSheet: typeof import('vuetify/components')['VSheet']
585
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
586
586
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
587
587
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
588
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
589
588
  VSlider: typeof import('vuetify/components')['VSlider']
590
589
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
590
+ VSwitch: typeof import('vuetify/components')['VSwitch']
591
591
  VStepper: typeof import('vuetify/components')['VStepper']
592
592
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
593
593
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
594
594
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
595
595
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
596
596
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
597
- VSwitch: typeof import('vuetify/components')['VSwitch']
598
597
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
599
598
  VTab: typeof import('vuetify/components')['VTab']
600
599
  VTabs: typeof import('vuetify/components')['VTabs']
601
600
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
602
601
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
603
602
  VTextarea: typeof import('vuetify/components')['VTextarea']
604
- VTable: typeof import('vuetify/components')['VTable']
605
603
  VTimeline: typeof import('vuetify/components')['VTimeline']
606
604
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
607
605
  VTextField: typeof import('vuetify/components')['VTextField']
608
- VWindow: typeof import('vuetify/components')['VWindow']
609
- VWindowItem: typeof import('vuetify/components')['VWindowItem']
610
606
  VToolbar: typeof import('vuetify/components')['VToolbar']
611
607
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
612
608
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
613
609
  VTooltip: typeof import('vuetify/components')['VTooltip']
610
+ VWindow: typeof import('vuetify/components')['VWindow']
611
+ VWindowItem: typeof import('vuetify/components')['VWindowItem']
612
+ VTable: typeof import('vuetify/components')['VTable']
614
613
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
615
- VDataIterator: typeof import('vuetify/components')['VDataIterator']
614
+ VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
616
615
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
617
616
  VForm: typeof import('vuetify/components')['VForm']
618
617
  VContainer: typeof import('vuetify/components')['VContainer']
@@ -620,12 +619,13 @@ declare module 'vue' {
620
619
  VRow: typeof import('vuetify/components')['VRow']
621
620
  VSpacer: typeof import('vuetify/components')['VSpacer']
622
621
  VHover: typeof import('vuetify/components')['VHover']
623
- VLazy: typeof import('vuetify/components')['VLazy']
624
622
  VLayout: typeof import('vuetify/components')['VLayout']
625
623
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
624
+ VLazy: typeof import('vuetify/components')['VLazy']
626
625
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
627
- VParallax: typeof import('vuetify/components')['VParallax']
626
+ VDataIterator: typeof import('vuetify/components')['VDataIterator']
628
627
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
628
+ VParallax: typeof import('vuetify/components')['VParallax']
629
629
  VRadio: typeof import('vuetify/components')['VRadio']
630
630
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
631
631
  VResponsive: typeof import('vuetify/components')['VResponsive']
@@ -662,12 +662,12 @@ declare module 'vue' {
662
662
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
663
663
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
664
664
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
665
- VTreeview: typeof import('vuetify/labs/components')['VTreeview']
666
- VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
667
- VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
668
665
  VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
669
666
  VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
670
667
  VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
668
+ VTreeview: typeof import('vuetify/labs/components')['VTreeview']
669
+ VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
670
+ VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
671
671
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
672
672
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
673
673
  VSnackbarQueue: typeof import('vuetify/labs/components')['VSnackbarQueue']
@@ -4,7 +4,7 @@ import { VTreeviewGroup } from "./VTreeviewGroup.mjs";
4
4
  import { VTreeviewItem } from "./VTreeviewItem.mjs";
5
5
  import { VCheckboxBtn } from "../../components/VCheckbox/index.mjs"; // Composables
6
6
  import { IconValue } from "../../composables/icons.mjs"; // Utilities
7
- import { computed, shallowRef, toRaw, withModifiers } from 'vue';
7
+ import { computed, reactive, toRaw, withModifiers } from 'vue';
8
8
  import { genericComponent, propsFactory } from "../../util/index.mjs"; // Types
9
9
  export const makeVTreeviewChildrenProps = propsFactory({
10
10
  loadChildren: Function,
@@ -33,36 +33,32 @@ export const VTreeviewChildren = genericComponent()({
33
33
  props: makeVTreeviewChildrenProps(),
34
34
  setup(props, _ref) {
35
35
  let {
36
- emit,
37
36
  slots
38
37
  } = _ref;
39
- const isLoading = shallowRef(null);
38
+ const isLoading = reactive(new Set());
40
39
  const isClickOnOpen = computed(() => props.openOnClick != null ? props.openOnClick : props.selectable);
41
- function checkChildren(item) {
42
- return new Promise(resolve => {
43
- if (!props.items?.length || !props.loadChildren) return resolve();
40
+ async function checkChildren(item) {
41
+ try {
42
+ if (!props.items?.length || !props.loadChildren) return;
44
43
  if (item?.children?.length === 0) {
45
- isLoading.value = item.value;
46
- props.loadChildren(item).then(resolve);
47
- return;
44
+ isLoading.add(item.value);
45
+ await props.loadChildren(item.raw);
48
46
  }
49
- resolve();
50
- }).finally(() => {
51
- isLoading.value = null;
52
- });
47
+ } finally {
48
+ isLoading.delete(item.value);
49
+ }
53
50
  }
54
51
  function selectItem(select, isSelected) {
55
52
  if (props.selectable) {
56
53
  select(!isSelected);
57
54
  }
58
55
  }
59
- return () => slots.default?.() ?? props.items?.map(_ref2 => {
60
- let {
56
+ return () => slots.default?.() ?? props.items?.map(item => {
57
+ const {
61
58
  children,
62
- props: itemProps,
63
- raw: item
64
- } = _ref2;
65
- const loading = isLoading.value === item.value;
59
+ props: itemProps
60
+ } = item;
61
+ const loading = isLoading.has(item.value);
66
62
  const slotsWithItem = {
67
63
  prepend: slotProps => _createVNode(_Fragment, null, [props.selectable && (!children || children && !['leaf', 'single-leaf'].includes(props.selectStrategy)) && _createVNode("div", null, [_createVNode(VCheckboxBtn, {
68
64
  "key": item.value,
@@ -81,26 +77,29 @@ export const VTreeviewChildren = genericComponent()({
81
77
  }
82
78
  }, null)]), slots.prepend?.({
83
79
  ...slotProps,
84
- item
80
+ item: item.raw,
81
+ internalItem: item
85
82
  })]),
86
83
  append: slots.append ? slotProps => slots.append?.({
87
84
  ...slotProps,
88
- item
85
+ item: item.raw,
86
+ internalItem: item
89
87
  }) : undefined,
90
88
  title: slots.title ? slotProps => slots.title?.({
91
89
  ...slotProps,
92
- item
90
+ item: item.raw,
91
+ internalItem: item
93
92
  }) : undefined
94
93
  };
95
94
  const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps);
96
95
  const treeviewChildrenProps = VTreeviewChildren.filterProps(props);
97
96
  return children ? _createVNode(VTreeviewGroup, _mergeProps(treeviewGroupProps, {
98
- "value": props.returnObject ? item : treeviewGroupProps?.value
97
+ "value": props.returnObject ? item.raw : treeviewGroupProps?.value
99
98
  }), {
100
- activator: _ref3 => {
99
+ activator: _ref2 => {
101
100
  let {
102
101
  props: activatorProps
103
- } = _ref3;
102
+ } = _ref2;
104
103
  const listItemProps = {
105
104
  ...itemProps,
106
105
  ...activatorProps,
@@ -109,7 +108,7 @@ export const VTreeviewChildren = genericComponent()({
109
108
  onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : undefined
110
109
  };
111
110
  return _createVNode(VTreeviewItem, _mergeProps(listItemProps, {
112
- "value": props.returnObject ? toRaw(item) : itemProps.value,
111
+ "value": props.returnObject ? toRaw(item.raw) : itemProps.value,
113
112
  "loading": loading
114
113
  }), slotsWithItem);
115
114
  },
@@ -118,9 +117,11 @@ export const VTreeviewChildren = genericComponent()({
118
117
  "returnObject": props.returnObject
119
118
  }), slots)
120
119
  }) : slots.item?.({
121
- props: itemProps
120
+ props: itemProps,
121
+ item: item.raw,
122
+ internalItem: item
122
123
  }) ?? _createVNode(VTreeviewItem, _mergeProps(itemProps, {
123
- "value": props.returnObject ? toRaw(item) : itemProps.value
124
+ "value": props.returnObject ? toRaw(item.raw) : itemProps.value
124
125
  }), slotsWithItem);
125
126
  });
126
127
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VTreeviewChildren.mjs","names":["VTreeviewGroup","VTreeviewItem","VCheckboxBtn","IconValue","computed","shallowRef","toRaw","withModifiers","genericComponent","propsFactory","makeVTreeviewChildrenProps","loadChildren","Function","loadingIcon","type","String","default","items","Array","openOnClick","Boolean","undefined","indeterminateIcon","falseIcon","trueIcon","returnObject","selectable","selectedColor","selectStrategy","Object","VTreeviewChildren","name","props","setup","_ref","emit","slots","isLoading","isClickOnOpen","checkChildren","item","Promise","resolve","length","children","value","then","finally","selectItem","select","isSelected","map","_ref2","itemProps","raw","loading","slotsWithItem","prepend","slotProps","_createVNode","_Fragment","includes","isIndeterminate","e","key","stopPropagation","append","title","treeviewGroupProps","filterProps","treeviewChildrenProps","_mergeProps","activator","_ref3","activatorProps","listItemProps","onToggleExpand","onClick"],"sources":["../../../src/labs/VTreeview/VTreeviewChildren.tsx"],"sourcesContent":["// Components\nimport { VTreeviewGroup } from './VTreeviewGroup'\nimport { VTreeviewItem } from './VTreeviewItem'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, shallowRef, toRaw, withModifiers } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { VListItemSlots } from '@/components/VList/VListItem'\nimport type { SelectStrategyProp } from '@/composables/nested/nested'\nimport type { GenericProps } from '@/util'\n\nexport type VTreeviewChildrenSlots<T> = {\n [K in keyof Omit<VListItemSlots, 'default'>]: VListItemSlots[K] & { item: T }\n} & {\n default: never\n item: { props: InternalListItem['props'] }\n}\n\nexport const makeVTreeviewChildrenProps = propsFactory({\n loadChildren: Function as PropType<(item: unknown) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n items: Array as PropType<readonly InternalListItem[]>,\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n indeterminateIcon: {\n type: IconValue,\n default: '$checkboxIndeterminate',\n },\n falseIcon: IconValue,\n trueIcon: IconValue,\n returnObject: Boolean,\n selectable: Boolean,\n selectedColor: String,\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n}, 'VTreeviewChildren')\n\nexport const VTreeviewChildren = genericComponent<new <T extends InternalListItem>(\n props: {\n items?: readonly T[]\n },\n slots: VTreeviewChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeviewChildren',\n\n props: makeVTreeviewChildrenProps(),\n\n setup (props, { emit, slots }) {\n const isLoading = shallowRef(null)\n\n const isClickOnOpen = computed(() => props.openOnClick != null ? props.openOnClick : props.selectable)\n\n function checkChildren (item: any) {\n return new Promise<void>(resolve => {\n if (!props.items?.length || !props.loadChildren) return resolve()\n\n if (item?.children?.length === 0) {\n isLoading.value = item.value\n props.loadChildren(item).then(resolve)\n\n return\n }\n\n resolve()\n }).finally(() => {\n isLoading.value = null\n })\n }\n\n function selectItem (select: (value: boolean) => void, isSelected: boolean) {\n if (props.selectable) {\n select(!isSelected)\n }\n }\n\n return () => slots.default?.() ?? props.items?.map(({ children, props: itemProps, raw: item }) => {\n const loading = isLoading.value === item.value\n const slotsWithItem = {\n prepend: slotProps => (\n <>\n { props.selectable && (!children || (children && !['leaf', 'single-leaf'].includes(props.selectStrategy as string))) && (\n <div>\n <VCheckboxBtn\n key={ item.value }\n modelValue={ slotProps.isSelected }\n loading={ loading }\n color={ props.selectedColor }\n indeterminate={ slotProps.isIndeterminate }\n indeterminateIcon={ props.indeterminateIcon }\n falseIcon={ props.falseIcon }\n trueIcon={ props.trueIcon }\n onClick={ withModifiers(() => selectItem(slotProps.select, slotProps.isSelected), ['stop']) }\n onKeydown={ (e: KeyboardEvent) => {\n if (!['Enter', 'Space'].includes(e.key)) return\n e.stopPropagation()\n selectItem(slotProps.select, slotProps.isSelected)\n }}\n />\n </div>\n )}\n\n { slots.prepend?.({ ...slotProps, item }) }\n </>\n ),\n append: slots.append ? slotProps => slots.append?.({ ...slotProps, item }) : undefined,\n title: slots.title ? slotProps => slots.title?.({ ...slotProps, item }) : undefined,\n } satisfies VTreeviewItem['$props']['$children']\n\n const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps)\n const treeviewChildrenProps = VTreeviewChildren.filterProps(props)\n\n return children ? (\n <VTreeviewGroup\n { ...treeviewGroupProps }\n value={ props.returnObject ? item : treeviewGroupProps?.value }\n >\n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: itemProps?.value,\n onToggleExpand: [() => checkChildren(item), activatorProps.onClick] as any,\n onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] as any : undefined,\n }\n\n return (\n <VTreeviewItem\n { ...listItemProps }\n value={ props.returnObject ? toRaw(item) : itemProps.value }\n loading={ loading }\n v-slots={ slotsWithItem }\n />\n )\n },\n default: () => (\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n items={ children }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n ),\n }}\n </VTreeviewGroup>\n ) : (\n slots.item?.({ props: itemProps }) ?? (\n <VTreeviewItem\n { ...itemProps }\n value={ props.returnObject ? toRaw(item) : itemProps.value }\n v-slots={ slotsWithItem }\n />\n ))\n })\n },\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VTreeviewChildren.mjs","names":["VTreeviewGroup","VTreeviewItem","VCheckboxBtn","IconValue","computed","reactive","toRaw","withModifiers","genericComponent","propsFactory","makeVTreeviewChildrenProps","loadChildren","Function","loadingIcon","type","String","default","items","Array","openOnClick","Boolean","undefined","indeterminateIcon","falseIcon","trueIcon","returnObject","selectable","selectedColor","selectStrategy","Object","VTreeviewChildren","name","props","setup","_ref","slots","isLoading","Set","isClickOnOpen","checkChildren","item","length","children","add","value","raw","delete","selectItem","select","isSelected","map","itemProps","loading","has","slotsWithItem","prepend","slotProps","_createVNode","_Fragment","includes","isIndeterminate","e","key","stopPropagation","internalItem","append","title","treeviewGroupProps","filterProps","treeviewChildrenProps","_mergeProps","activator","_ref2","activatorProps","listItemProps","onToggleExpand","onClick"],"sources":["../../../src/labs/VTreeview/VTreeviewChildren.tsx"],"sourcesContent":["// Components\nimport { VTreeviewGroup } from './VTreeviewGroup'\nimport { VTreeviewItem } from './VTreeviewItem'\nimport { VCheckboxBtn } from '@/components/VCheckbox'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed, reactive, toRaw, withModifiers } from 'vue'\nimport { genericComponent, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { InternalListItem } from '@/components/VList/VList'\nimport type { VListItemSlots } from '@/components/VList/VListItem'\nimport type { SelectStrategyProp } from '@/composables/nested/nested'\nimport type { GenericProps } from '@/util'\n\nexport type VTreeviewChildrenSlots<T> = {\n [K in keyof Omit<VListItemSlots, 'default'>]: VListItemSlots[K] & {\n item: T\n internalItem: InternalListItem<T>\n }\n} & {\n default: never\n item: {\n props: InternalListItem['props']\n item: T\n internalItem: InternalListItem<T>\n }\n}\n\nexport const makeVTreeviewChildrenProps = propsFactory({\n loadChildren: Function as PropType<(item: unknown) => Promise<void>>,\n loadingIcon: {\n type: String,\n default: '$loading',\n },\n items: Array as PropType<readonly InternalListItem[]>,\n openOnClick: {\n type: Boolean,\n default: undefined,\n },\n indeterminateIcon: {\n type: IconValue,\n default: '$checkboxIndeterminate',\n },\n falseIcon: IconValue,\n trueIcon: IconValue,\n returnObject: Boolean,\n selectable: Boolean,\n selectedColor: String,\n selectStrategy: [String, Function, Object] as PropType<SelectStrategyProp>,\n}, 'VTreeviewChildren')\n\nexport const VTreeviewChildren = genericComponent<new <T extends InternalListItem>(\n props: {\n items?: readonly T[]\n },\n slots: VTreeviewChildrenSlots<T>\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VTreeviewChildren',\n\n props: makeVTreeviewChildrenProps(),\n\n setup (props, { slots }) {\n const isLoading = reactive(new Set<unknown>())\n\n const isClickOnOpen = computed(() => props.openOnClick != null ? props.openOnClick : props.selectable)\n\n async function checkChildren (item: InternalListItem) {\n try {\n if (!props.items?.length || !props.loadChildren) return\n\n if (item?.children?.length === 0) {\n isLoading.add(item.value)\n await props.loadChildren(item.raw)\n }\n } finally {\n isLoading.delete(item.value)\n }\n }\n\n function selectItem (select: (value: boolean) => void, isSelected: boolean) {\n if (props.selectable) {\n select(!isSelected)\n }\n }\n\n return () => slots.default?.() ?? props.items?.map(item => {\n const { children, props: itemProps } = item\n const loading = isLoading.has(item.value)\n const slotsWithItem = {\n prepend: slotProps => (\n <>\n { props.selectable && (!children || (children && !['leaf', 'single-leaf'].includes(props.selectStrategy as string))) && (\n <div>\n <VCheckboxBtn\n key={ item.value }\n modelValue={ slotProps.isSelected }\n loading={ loading }\n color={ props.selectedColor }\n indeterminate={ slotProps.isIndeterminate }\n indeterminateIcon={ props.indeterminateIcon }\n falseIcon={ props.falseIcon }\n trueIcon={ props.trueIcon }\n onClick={ withModifiers(() => selectItem(slotProps.select, slotProps.isSelected), ['stop']) }\n onKeydown={ (e: KeyboardEvent) => {\n if (!['Enter', 'Space'].includes(e.key)) return\n e.stopPropagation()\n selectItem(slotProps.select, slotProps.isSelected)\n }}\n />\n </div>\n )}\n\n { slots.prepend?.({ ...slotProps, item: item.raw, internalItem: item }) }\n </>\n ),\n append: slots.append ? slotProps => slots.append?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n title: slots.title ? slotProps => slots.title?.({ ...slotProps, item: item.raw, internalItem: item }) : undefined,\n } satisfies VTreeviewItem['$props']['$children']\n\n const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps)\n const treeviewChildrenProps = VTreeviewChildren.filterProps(props)\n\n return children ? (\n <VTreeviewGroup\n { ...treeviewGroupProps }\n value={ props.returnObject ? item.raw : treeviewGroupProps?.value }\n >\n {{\n activator: ({ props: activatorProps }) => {\n const listItemProps = {\n ...itemProps,\n ...activatorProps,\n value: itemProps?.value,\n onToggleExpand: [() => checkChildren(item), activatorProps.onClick] as any,\n onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] as any : undefined,\n }\n\n return (\n <VTreeviewItem\n { ...listItemProps }\n value={ props.returnObject ? toRaw(item.raw) : itemProps.value }\n loading={ loading }\n v-slots={ slotsWithItem }\n />\n )\n },\n default: () => (\n <VTreeviewChildren\n { ...treeviewChildrenProps }\n items={ children }\n returnObject={ props.returnObject }\n v-slots={ slots }\n />\n ),\n }}\n </VTreeviewGroup>\n ) : (\n slots.item?.({ props: itemProps, item: item.raw, internalItem: item }) ?? (\n <VTreeviewItem\n { ...itemProps }\n value={ props.returnObject ? toRaw(item.raw) : itemProps.value }\n v-slots={ slotsWithItem }\n />\n ))\n })\n },\n})\n"],"mappings":";AAAA;AAAA,SACSA,cAAc;AAAA,SACdC,aAAa;AAAA,SACbC,YAAY,gDAErB;AAAA,SACSC,SAAS,uCAElB;AACA,SAASC,QAAQ,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,aAAa,QAAQ,KAAK;AAAA,SACrDC,gBAAgB,EAAEC,YAAY,gCAEvC;AAqBA,OAAO,MAAMC,0BAA0B,GAAGD,YAAY,CAAC;EACrDE,YAAY,EAAEC,QAAsD;EACpEC,WAAW,EAAE;IACXC,IAAI,EAAEC,MAAM;IACZC,OAAO,EAAE;EACX,CAAC;EACDC,KAAK,EAAEC,KAA8C;EACrDC,WAAW,EAAE;IACXL,IAAI,EAAEM,OAAO;IACbJ,OAAO,EAAEK;EACX,CAAC;EACDC,iBAAiB,EAAE;IACjBR,IAAI,EAAEX,SAAS;IACfa,OAAO,EAAE;EACX,CAAC;EACDO,SAAS,EAAEpB,SAAS;EACpBqB,QAAQ,EAAErB,SAAS;EACnBsB,YAAY,EAAEL,OAAO;EACrBM,UAAU,EAAEN,OAAO;EACnBO,aAAa,EAAEZ,MAAM;EACrBa,cAAc,EAAE,CAACb,MAAM,EAAEH,QAAQ,EAAEiB,MAAM;AAC3C,CAAC,EAAE,mBAAmB,CAAC;AAEvB,OAAO,MAAMC,iBAAiB,GAAGtB,gBAAgB,CAKF,CAAC,CAAC;EAC/CuB,IAAI,EAAE,mBAAmB;EAEzBC,KAAK,EAAEtB,0BAA0B,CAAC,CAAC;EAEnCuB,KAAKA,CAAED,KAAK,EAAAE,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrB,MAAME,SAAS,GAAG/B,QAAQ,CAAC,IAAIgC,GAAG,CAAU,CAAC,CAAC;IAE9C,MAAMC,aAAa,GAAGlC,QAAQ,CAAC,MAAM4B,KAAK,CAACb,WAAW,IAAI,IAAI,GAAGa,KAAK,CAACb,WAAW,GAAGa,KAAK,CAACN,UAAU,CAAC;IAEtG,eAAea,aAAaA,CAAEC,IAAsB,EAAE;MACpD,IAAI;QACF,IAAI,CAACR,KAAK,CAACf,KAAK,EAAEwB,MAAM,IAAI,CAACT,KAAK,CAACrB,YAAY,EAAE;QAEjD,IAAI6B,IAAI,EAAEE,QAAQ,EAAED,MAAM,KAAK,CAAC,EAAE;UAChCL,SAAS,CAACO,GAAG,CAACH,IAAI,CAACI,KAAK,CAAC;UACzB,MAAMZ,KAAK,CAACrB,YAAY,CAAC6B,IAAI,CAACK,GAAG,CAAC;QACpC;MACF,CAAC,SAAS;QACRT,SAAS,CAACU,MAAM,CAACN,IAAI,CAACI,KAAK,CAAC;MAC9B;IACF;IAEA,SAASG,UAAUA,CAAEC,MAAgC,EAAEC,UAAmB,EAAE;MAC1E,IAAIjB,KAAK,CAACN,UAAU,EAAE;QACpBsB,MAAM,CAAC,CAACC,UAAU,CAAC;MACrB;IACF;IAEA,OAAO,MAAMd,KAAK,CAACnB,OAAO,GAAG,CAAC,IAAIgB,KAAK,CAACf,KAAK,EAAEiC,GAAG,CAACV,IAAI,IAAI;MACzD,MAAM;QAAEE,QAAQ;QAAEV,KAAK,EAAEmB;MAAU,CAAC,GAAGX,IAAI;MAC3C,MAAMY,OAAO,GAAGhB,SAAS,CAACiB,GAAG,CAACb,IAAI,CAACI,KAAK,CAAC;MACzC,MAAMU,aAAa,GAAG;QACpBC,OAAO,EAAEC,SAAS,IAAAC,YAAA,CAAAC,SAAA,SAEZ1B,KAAK,CAACN,UAAU,KAAK,CAACgB,QAAQ,IAAKA,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAACiB,QAAQ,CAAC3B,KAAK,CAACJ,cAAwB,CAAE,CAAC,IAAA6B,YAAA,eAAAA,YAAA,CAAAvD,YAAA;UAAA,OAGxGsC,IAAI,CAACI,KAAK;UAAA,cACHY,SAAS,CAACP,UAAU;UAAA,WACvBG,OAAO;UAAA,SACTpB,KAAK,CAACL,aAAa;UAAA,iBACX6B,SAAS,CAACI,eAAe;UAAA,qBACrB5B,KAAK,CAACV,iBAAiB;UAAA,aAC/BU,KAAK,CAACT,SAAS;UAAA,YAChBS,KAAK,CAACR,QAAQ;UAAA,WACfjB,aAAa,CAAC,MAAMwC,UAAU,CAACS,SAAS,CAACR,MAAM,EAAEQ,SAAS,CAACP,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;UAAA,aAC9EY,CAAgB,IAAK;YAChC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAACF,QAAQ,CAACE,CAAC,CAACC,GAAG,CAAC,EAAE;YACzCD,CAAC,CAACE,eAAe,CAAC,CAAC;YACnBhB,UAAU,CAACS,SAAS,CAACR,MAAM,EAAEQ,SAAS,CAACP,UAAU,CAAC;UACpD;QAAC,UAGN,EAECd,KAAK,CAACoB,OAAO,GAAG;UAAE,GAAGC,SAAS;UAAEhB,IAAI,EAAEA,IAAI,CAACK,GAAG;UAAEmB,YAAY,EAAExB;QAAK,CAAC,CAAC,EAE1E;QACDyB,MAAM,EAAE9B,KAAK,CAAC8B,MAAM,GAAGT,SAAS,IAAIrB,KAAK,CAAC8B,MAAM,GAAG;UAAE,GAAGT,SAAS;UAAEhB,IAAI,EAAEA,IAAI,CAACK,GAAG;UAAEmB,YAAY,EAAExB;QAAK,CAAC,CAAC,GAAGnB,SAAS;QACpH6C,KAAK,EAAE/B,KAAK,CAAC+B,KAAK,GAAGV,SAAS,IAAIrB,KAAK,CAAC+B,KAAK,GAAG;UAAE,GAAGV,SAAS;UAAEhB,IAAI,EAAEA,IAAI,CAACK,GAAG;UAAEmB,YAAY,EAAExB;QAAK,CAAC,CAAC,GAAGnB;MAC1G,CAAgD;MAEhD,MAAM8C,kBAAkB,GAAGnE,cAAc,CAACoE,WAAW,CAACjB,SAAS,CAAC;MAChE,MAAMkB,qBAAqB,GAAGvC,iBAAiB,CAACsC,WAAW,CAACpC,KAAK,CAAC;MAElE,OAAOU,QAAQ,GAAAe,YAAA,CAAAzD,cAAA,EAAAsE,WAAA,CAENH,kBAAkB;QAAA,SACfnC,KAAK,CAACP,YAAY,GAAGe,IAAI,CAACK,GAAG,GAAGsB,kBAAkB,EAAEvB;MAAK;QAG/D2B,SAAS,EAAEC,KAAA,IAA+B;UAAA,IAA9B;YAAExC,KAAK,EAAEyC;UAAe,CAAC,GAAAD,KAAA;UACnC,MAAME,aAAa,GAAG;YACpB,GAAGvB,SAAS;YACZ,GAAGsB,cAAc;YACjB7B,KAAK,EAAEO,SAAS,EAAEP,KAAK;YACvB+B,cAAc,EAAE,CAAC,MAAMpC,aAAa,CAACC,IAAI,CAAC,EAAEiC,cAAc,CAACG,OAAO,CAAQ;YAC1EA,OAAO,EAAEtC,aAAa,CAACM,KAAK,GAAG,CAAC,MAAML,aAAa,CAACC,IAAI,CAAC,EAAEiC,cAAc,CAACG,OAAO,CAAC,GAAUvD;UAC9F,CAAC;UAED,OAAAoC,YAAA,CAAAxD,aAAA,EAAAqE,WAAA,CAESI,aAAa;YAAA,SACV1C,KAAK,CAACP,YAAY,GAAGnB,KAAK,CAACkC,IAAI,CAACK,GAAG,CAAC,GAAGM,SAAS,CAACP,KAAK;YAAA,WACpDQ;UAAO,IACPE,aAAa;QAG7B,CAAC;QACDtC,OAAO,EAAEA,CAAA,KAAAyC,YAAA,CAAA3B,iBAAA,EAAAwC,WAAA,CAEAD,qBAAqB;UAAA,SAClB3B,QAAQ;UAAA,gBACDV,KAAK,CAACP;QAAY,IACvBU,KAAK;MAElB,KAILA,KAAK,CAACK,IAAI,GAAG;QAAER,KAAK,EAAEmB,SAAS;QAAEX,IAAI,EAAEA,IAAI,CAACK,GAAG;QAAEmB,YAAY,EAAExB;MAAK,CAAC,CAAC,IAAAiB,YAAA,CAAAxD,aAAA,EAAAqE,WAAA,CAE7DnB,SAAS;QAAA,SACNnB,KAAK,CAACP,YAAY,GAAGnB,KAAK,CAACkC,IAAI,CAACK,GAAG,CAAC,GAAGM,SAAS,CAACP;MAAK,IACpDU,aAAa,CAEzB;IACN,CAAC,CAAC;EACJ;AACF,CAAC,CAAC","ignoreList":[]}