vuetify 3.2.1 → 3.2.2

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 (64) hide show
  1. package/dist/json/attributes.json +775 -639
  2. package/dist/json/importMap.json +16 -16
  3. package/dist/json/tags.json +35 -1
  4. package/dist/json/web-types.json +1657 -1327
  5. package/dist/vuetify-labs.css +131 -125
  6. package/dist/vuetify-labs.d.ts +419 -86
  7. package/dist/vuetify-labs.esm.js +100 -95
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +100 -95
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +53 -47
  12. package/dist/vuetify.d.ts +524 -191
  13. package/dist/vuetify.esm.js +95 -95
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +95 -95
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +46 -48
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VAppBar/VAppBar.mjs +7 -11
  21. package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
  22. package/lib/components/VAppBar/VAppBarNavIcon.mjs +10 -16
  23. package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
  24. package/lib/components/VAppBar/index.d.ts +394 -28
  25. package/lib/components/VAutocomplete/VAutocomplete.css +1 -1
  26. package/lib/components/VAutocomplete/VAutocomplete.mjs +10 -2
  27. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  28. package/lib/components/VAutocomplete/VAutocomplete.sass +1 -1
  29. package/lib/components/VBtn/VBtn.mjs +7 -6
  30. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  31. package/lib/components/VCheckbox/VCheckboxBtn.mjs +0 -1
  32. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  33. package/lib/components/VCombobox/VCombobox.mjs +9 -2
  34. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  35. package/lib/components/VFileInput/VFileInput.mjs +2 -1
  36. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  37. package/lib/components/VIcon/VIcon.mjs +28 -29
  38. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  39. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +1 -8
  40. package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
  41. package/lib/components/VSelect/VSelect.mjs +9 -2
  42. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  43. package/lib/components/VSheet/VSheet.css +6 -0
  44. package/lib/components/VSheet/_variables.scss +1 -1
  45. package/lib/components/VTextField/VTextField.mjs +1 -1
  46. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  47. package/lib/components/VTextarea/VTextarea.mjs +1 -1
  48. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  49. package/lib/components/VTreeview/_mixins.sass +0 -0
  50. package/lib/components/VTreeview/util/filterTreeItems.mjs +0 -0
  51. package/lib/components/index.d.ts +386 -53
  52. package/lib/composables/icons.mjs +2 -2
  53. package/lib/composables/icons.mjs.map +1 -1
  54. package/lib/composables/scroll.mjs +16 -17
  55. package/lib/composables/scroll.mjs.map +1 -1
  56. package/lib/entry-bundler.mjs +1 -1
  57. package/lib/framework.mjs +1 -1
  58. package/lib/framework.mjs.map +1 -1
  59. package/lib/index.d.ts +5 -5
  60. package/lib/labs/VDataTable/composables/paginate.mjs +6 -1
  61. package/lib/labs/VDataTable/composables/paginate.mjs.map +1 -1
  62. package/lib/locale/el.mjs +0 -0
  63. package/lib/locale/index.mjs +0 -0
  64. package/package.json +2 -2
@@ -63,15 +63,14 @@ export const VAppBar = genericComponent()({
63
63
  });
64
64
  const {
65
65
  currentScroll,
66
- currentThreshold,
67
- computedScrollThreshold,
68
- isScrollingUp
66
+ scrollThreshold,
67
+ isScrollingUp,
68
+ scrollRatio
69
69
  } = useScroll(props, {
70
70
  canScroll
71
71
  });
72
- const isCollapsed = computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ? currentScroll.value < 1 : currentScroll.value > 0));
73
- const isFlat = computed(() => props.flat || scrollBehavior.value.elevate && currentScroll.value === (scrollBehavior.value.inverted ? 1 : 0));
74
- const scrollRatio = computed(() => Math.min((currentThreshold.value - currentScroll.value) / currentThreshold.value || 1, 1));
72
+ const isCollapsed = computed(() => props.collapse || scrollBehavior.value.collapse && (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0));
73
+ const isFlat = computed(() => props.flat || scrollBehavior.value.elevate && (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0));
75
74
  const opacity = computed(() => scrollBehavior.value.fadeImage ? scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value : undefined);
76
75
  const height = computed(() => {
77
76
  if (scrollBehavior.value.hide && scrollBehavior.value.inverted) return 0;
@@ -80,15 +79,12 @@ export const VAppBar = genericComponent()({
80
79
  return height + extensionHeight;
81
80
  });
82
81
  function setActive() {
83
- const val = currentScroll.value;
84
82
  if (scrollBehavior.value.hide) {
85
83
  if (scrollBehavior.value.inverted) {
86
- isActive.value = val > computedScrollThreshold.value;
84
+ isActive.value = currentScroll.value > scrollThreshold.value;
87
85
  } else {
88
- isActive.value = isScrollingUp.value || val < computedScrollThreshold.value;
86
+ isActive.value = isScrollingUp.value || currentScroll.value < scrollThreshold.value;
89
87
  }
90
- } else if (scrollBehavior.value.inverted) {
91
- isActive.value = currentScroll.value === 0;
92
88
  } else {
93
89
  isActive.value = true;
94
90
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VAppBar.mjs","names":["makeVToolbarProps","VToolbar","makeLayoutItemProps","useLayoutItem","makeScrollProps","useScroll","useProxiedModel","useSsrBoot","computed","ref","toRef","watch","genericComponent","useRender","VAppBar","name","props","scrollBehavior","String","modelValue","type","Boolean","default","location","validator","value","includes","height","Number","emits","setup","_ref","slots","vToolbarRef","isActive","behavior","Set","split","hide","has","inverted","collapse","elevate","fadeImage","canScroll","currentScroll","currentThreshold","computedScrollThreshold","isScrollingUp","isCollapsed","isFlat","flat","scrollRatio","Math","min","opacity","undefined","contentHeight","extensionHeight","setActive","val","immediate","ssrBootStyles","layoutItemStyles","id","order","parseInt","position","layoutSize","elementSize","active","absolute","toolbarProps","filterProps","_createVNode","_mergeProps","class","style"],"sources":["../../../src/components/VAppBar/VAppBar.tsx"],"sourcesContent":["// Styles\nimport './VAppBar.sass'\n\n// Components\nimport { makeVToolbarProps, VToolbar } from '@/components/VToolbar/VToolbar'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeScrollProps, useScroll } from '@/composables/scroll'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useSsrBoot } from '@/composables/ssrBoot'\n\n// Utilities\nimport { computed, ref, toRef, watch } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VToolbarSlots } from '@/components/VToolbar/VToolbar'\n\nexport const VAppBar = genericComponent<VToolbarSlots>()({\n name: 'VAppBar',\n\n props: {\n scrollBehavior: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n location: {\n type: String as PropType<'top' | 'bottom'>,\n default: 'top',\n validator: (value: any) => ['top', 'bottom'].includes(value),\n },\n\n ...makeVToolbarProps(),\n ...makeLayoutItemProps(),\n ...makeScrollProps(),\n\n height: {\n type: [Number, String],\n default: 64,\n },\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const vToolbarRef = ref<VToolbar>()\n const isActive = useProxiedModel(props, 'modelValue')\n const scrollBehavior = computed(() => {\n const behavior = new Set(props.scrollBehavior?.split(' ') ?? [])\n return {\n hide: behavior.has('hide'),\n // fullyHide: behavior.has('fully-hide'),\n inverted: behavior.has('inverted'),\n collapse: behavior.has('collapse'),\n elevate: behavior.has('elevate'),\n fadeImage: behavior.has('fade-image'),\n // shrink: behavior.has('shrink'),\n }\n })\n const canScroll = computed(() => {\n const behavior = scrollBehavior.value\n return (\n behavior.hide ||\n // behavior.fullyHide ||\n behavior.inverted ||\n behavior.collapse ||\n behavior.elevate ||\n behavior.fadeImage ||\n // behavior.shrink ||\n !isActive.value\n )\n })\n const {\n currentScroll,\n currentThreshold,\n computedScrollThreshold,\n isScrollingUp,\n } = useScroll(props, { canScroll })\n\n const isCollapsed = computed(() => props.collapse || (\n scrollBehavior.value.collapse &&\n (scrollBehavior.value.inverted ? currentScroll.value < 1 : currentScroll.value > 0)\n ))\n const isFlat = computed(() => props.flat || (\n scrollBehavior.value.elevate &&\n currentScroll.value === (scrollBehavior.value.inverted ? 1 : 0)\n ))\n const scrollRatio = computed(() => Math.min(\n ((currentThreshold.value - currentScroll.value) / currentThreshold.value) || 1,\n 1\n ))\n const opacity = computed(() => (\n scrollBehavior.value.fadeImage\n ? (scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value)\n : undefined\n ))\n const height = computed(() => {\n if (scrollBehavior.value.hide && scrollBehavior.value.inverted) return 0\n\n const height = vToolbarRef.value?.contentHeight ?? 0\n const extensionHeight = vToolbarRef.value?.extensionHeight ?? 0\n\n return (height + extensionHeight)\n })\n function setActive () {\n const val = currentScroll.value\n if (scrollBehavior.value.hide) {\n if (scrollBehavior.value.inverted) {\n isActive.value = val > computedScrollThreshold.value\n } else {\n isActive.value = isScrollingUp.value || (val < computedScrollThreshold.value)\n }\n } else if (scrollBehavior.value.inverted) {\n isActive.value = currentScroll.value === 0\n } else {\n isActive.value = true\n }\n }\n\n watch(currentScroll, setActive, { immediate: true })\n watch(scrollBehavior, setActive)\n\n const { ssrBootStyles } = useSsrBoot()\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(props, 'location'),\n layoutSize: height,\n elementSize: ref(undefined),\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n useRender(() => {\n const [toolbarProps] = VToolbar.filterProps(props)\n\n return (\n <VToolbar\n ref={ vToolbarRef }\n class={[\n 'v-app-bar',\n {\n 'v-app-bar--bottom': props.location === 'bottom',\n },\n props.class,\n ]}\n style={[\n {\n ...layoutItemStyles.value,\n '--v-toolbar-image-opacity': opacity.value,\n height: undefined,\n ...ssrBootStyles.value,\n },\n props.style,\n ]}\n { ...toolbarProps }\n collapse={ isCollapsed.value }\n flat={ isFlat.value }\n v-slots={ slots }\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VAppBar = InstanceType<typeof VAppBar>\n"],"mappings":"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"}
1
+ {"version":3,"file":"VAppBar.mjs","names":["makeVToolbarProps","VToolbar","makeLayoutItemProps","useLayoutItem","makeScrollProps","useScroll","useProxiedModel","useSsrBoot","computed","ref","toRef","watch","genericComponent","useRender","VAppBar","name","props","scrollBehavior","String","modelValue","type","Boolean","default","location","validator","value","includes","height","Number","emits","setup","_ref","slots","vToolbarRef","isActive","behavior","Set","split","hide","has","inverted","collapse","elevate","fadeImage","canScroll","currentScroll","scrollThreshold","isScrollingUp","scrollRatio","isCollapsed","isFlat","flat","opacity","undefined","contentHeight","extensionHeight","setActive","immediate","ssrBootStyles","layoutItemStyles","id","order","parseInt","position","layoutSize","elementSize","active","absolute","toolbarProps","filterProps","_createVNode","_mergeProps","class","style"],"sources":["../../../src/components/VAppBar/VAppBar.tsx"],"sourcesContent":["// Styles\nimport './VAppBar.sass'\n\n// Components\nimport { makeVToolbarProps, VToolbar } from '@/components/VToolbar/VToolbar'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeScrollProps, useScroll } from '@/composables/scroll'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useSsrBoot } from '@/composables/ssrBoot'\n\n// Utilities\nimport { computed, ref, toRef, watch } from 'vue'\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { VToolbarSlots } from '@/components/VToolbar/VToolbar'\n\nexport const VAppBar = genericComponent<VToolbarSlots>()({\n name: 'VAppBar',\n\n props: {\n scrollBehavior: String,\n modelValue: {\n type: Boolean,\n default: true,\n },\n location: {\n type: String as PropType<'top' | 'bottom'>,\n default: 'top',\n validator: (value: any) => ['top', 'bottom'].includes(value),\n },\n\n ...makeVToolbarProps(),\n ...makeLayoutItemProps(),\n ...makeScrollProps(),\n\n height: {\n type: [Number, String],\n default: 64,\n },\n },\n\n emits: {\n 'update:modelValue': (value: boolean) => true,\n },\n\n setup (props, { slots }) {\n const vToolbarRef = ref<VToolbar>()\n const isActive = useProxiedModel(props, 'modelValue')\n const scrollBehavior = computed(() => {\n const behavior = new Set(props.scrollBehavior?.split(' ') ?? [])\n return {\n hide: behavior.has('hide'),\n // fullyHide: behavior.has('fully-hide'),\n inverted: behavior.has('inverted'),\n collapse: behavior.has('collapse'),\n elevate: behavior.has('elevate'),\n fadeImage: behavior.has('fade-image'),\n // shrink: behavior.has('shrink'),\n }\n })\n const canScroll = computed(() => {\n const behavior = scrollBehavior.value\n return (\n behavior.hide ||\n // behavior.fullyHide ||\n behavior.inverted ||\n behavior.collapse ||\n behavior.elevate ||\n behavior.fadeImage ||\n // behavior.shrink ||\n !isActive.value\n )\n })\n const {\n currentScroll,\n scrollThreshold,\n isScrollingUp,\n scrollRatio,\n } = useScroll(props, { canScroll })\n\n const isCollapsed = computed(() => props.collapse || (\n scrollBehavior.value.collapse &&\n (scrollBehavior.value.inverted ? scrollRatio.value > 0 : scrollRatio.value === 0)\n ))\n const isFlat = computed(() => props.flat || (\n scrollBehavior.value.elevate &&\n (scrollBehavior.value.inverted ? currentScroll.value > 0 : currentScroll.value === 0)\n ))\n const opacity = computed(() => (\n scrollBehavior.value.fadeImage\n ? (scrollBehavior.value.inverted ? 1 - scrollRatio.value : scrollRatio.value)\n : undefined\n ))\n const height = computed(() => {\n if (scrollBehavior.value.hide && scrollBehavior.value.inverted) return 0\n\n const height = vToolbarRef.value?.contentHeight ?? 0\n const extensionHeight = vToolbarRef.value?.extensionHeight ?? 0\n\n return (height + extensionHeight)\n })\n function setActive () {\n if (scrollBehavior.value.hide) {\n if (scrollBehavior.value.inverted) {\n isActive.value = currentScroll.value > scrollThreshold.value\n } else {\n isActive.value = isScrollingUp.value || (currentScroll.value < scrollThreshold.value)\n }\n } else {\n isActive.value = true\n }\n }\n\n watch(currentScroll, setActive, { immediate: true })\n watch(scrollBehavior, setActive)\n\n const { ssrBootStyles } = useSsrBoot()\n const { layoutItemStyles } = useLayoutItem({\n id: props.name,\n order: computed(() => parseInt(props.order, 10)),\n position: toRef(props, 'location'),\n layoutSize: height,\n elementSize: ref(undefined),\n active: isActive,\n absolute: toRef(props, 'absolute'),\n })\n\n useRender(() => {\n const [toolbarProps] = VToolbar.filterProps(props)\n\n return (\n <VToolbar\n ref={ vToolbarRef }\n class={[\n 'v-app-bar',\n {\n 'v-app-bar--bottom': props.location === 'bottom',\n },\n props.class,\n ]}\n style={[\n {\n ...layoutItemStyles.value,\n '--v-toolbar-image-opacity': opacity.value,\n height: undefined,\n ...ssrBootStyles.value,\n },\n props.style,\n ]}\n { ...toolbarProps }\n collapse={ isCollapsed.value }\n flat={ isFlat.value }\n v-slots={ slots }\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VAppBar = InstanceType<typeof VAppBar>\n"],"mappings":"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"}
@@ -1,27 +1,21 @@
1
- import { createVNode as _createVNode, resolveDirective as _resolveDirective } from "vue";
1
+ import { createVNode as _createVNode, mergeProps as _mergeProps, resolveDirective as _resolveDirective } from "vue";
2
2
  // Components
3
- import { VBtn } from "../VBtn/index.mjs"; // Composables
4
- import { IconValue } from "../../composables/icons.mjs";
5
- import { makeComponentProps } from "../../composables/component.mjs"; // Utilities
3
+ import { VBtn } from "../VBtn/index.mjs";
4
+ import { makeVBtnProps } from "../VBtn/VBtn.mjs"; // Utilities
6
5
  import { genericComponent, useRender } from "../../util/index.mjs"; // Types
7
6
  export const VAppBarNavIcon = genericComponent()({
8
7
  name: 'VAppBarNavIcon',
9
- props: {
10
- icon: {
11
- type: IconValue,
12
- default: '$menu'
13
- },
14
- ...makeComponentProps()
15
- },
8
+ props: makeVBtnProps({
9
+ icon: '$menu',
10
+ variant: 'text'
11
+ }),
16
12
  setup(props, _ref) {
17
13
  let {
18
14
  slots
19
15
  } = _ref;
20
- useRender(() => _createVNode(VBtn, {
21
- "class": ['v-app-bar-nav-icon', props.class],
22
- "icon": props.icon,
23
- "style": props.style
24
- }, slots));
16
+ useRender(() => _createVNode(VBtn, _mergeProps(props, {
17
+ "class": ['v-app-bar-nav-icon']
18
+ }), slots));
25
19
  return {};
26
20
  }
27
21
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VAppBarNavIcon.mjs","names":["VBtn","IconValue","makeComponentProps","genericComponent","useRender","VAppBarNavIcon","name","props","icon","type","default","setup","_ref","slots","_createVNode","class","style"],"sources":["../../../src/components/VAppBar/VAppBarNavIcon.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\nimport { makeComponentProps } from '@/composables/component'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { VBtnSlots } from '@/components/VBtn/VBtn'\n\nexport const VAppBarNavIcon = genericComponent<VBtnSlots>()({\n name: 'VAppBarNavIcon',\n\n props: {\n icon: {\n type: IconValue,\n default: '$menu',\n },\n\n ...makeComponentProps(),\n },\n\n setup (props, { slots }) {\n useRender(() => (\n <VBtn\n class={[\n 'v-app-bar-nav-icon',\n props.class,\n ]}\n icon={ props.icon }\n style={ props.style }\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VAppBarNavIcon = InstanceType<typeof VAppBarNavIcon>\n"],"mappings":";AAAA;AAAA,SACSA,IAAI,6BAEb;AAAA,SACSC,SAAS;AAAA,SACTC,kBAAkB,2CAE3B;AAAA,SACSC,gBAAgB,EAAEC,SAAS,gCAEpC;AAGA,OAAO,MAAMC,cAAc,GAAGF,gBAAgB,EAAa,CAAC;EAC1DG,IAAI,EAAE,gBAAgB;EAEtBC,KAAK,EAAE;IACLC,IAAI,EAAE;MACJC,IAAI,EAAER,SAAS;MACfS,OAAO,EAAE;IACX,CAAC;IAED,GAAGR,kBAAkB;EACvB,CAAC;EAEDS,KAAKA,CAAEJ,KAAK,EAAAK,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrBR,SAAS,CAAC,MAAAU,YAAA,CAAAd,IAAA;MAAA,SAEC,CACL,oBAAoB,EACpBO,KAAK,CAACQ,KAAK,CACZ;MAAA,QACMR,KAAK,CAACC,IAAI;MAAA,SACTD,KAAK,CAACS;IAAK,GACTH,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"VAppBarNavIcon.mjs","names":["VBtn","makeVBtnProps","genericComponent","useRender","VAppBarNavIcon","name","props","icon","variant","setup","_ref","slots","_createVNode","_mergeProps"],"sources":["../../../src/components/VAppBar/VAppBarNavIcon.tsx"],"sourcesContent":["// Components\nimport { VBtn } from '@/components/VBtn'\n\nimport { makeVBtnProps } from '@/components/VBtn/VBtn'\n\n// Utilities\nimport { genericComponent, useRender } from '@/util'\n\n// Types\nimport type { VBtnSlots } from '@/components/VBtn/VBtn'\n\nexport const VAppBarNavIcon = genericComponent<VBtnSlots>()({\n name: 'VAppBarNavIcon',\n\n props: makeVBtnProps({\n icon: '$menu',\n variant: 'text' as const,\n }),\n\n setup (props, { slots }) {\n useRender(() => (\n <VBtn\n { ...props }\n class={[\n 'v-app-bar-nav-icon',\n ]}\n v-slots={ slots }\n />\n ))\n\n return {}\n },\n})\n\nexport type VAppBarNavIcon = InstanceType<typeof VAppBarNavIcon>\n"],"mappings":";AAAA;AAAA,SACSA,IAAI;AAAA,SAEJC,aAAa,4BAEtB;AAAA,SACSC,gBAAgB,EAAEC,SAAS,gCAEpC;AAGA,OAAO,MAAMC,cAAc,GAAGF,gBAAgB,EAAa,CAAC;EAC1DG,IAAI,EAAE,gBAAgB;EAEtBC,KAAK,EAAEL,aAAa,CAAC;IACnBM,IAAI,EAAE,OAAO;IACbC,OAAO,EAAE;EACX,CAAC,CAAC;EAEFC,KAAKA,CAAEH,KAAK,EAAAI,IAAA,EAAa;IAAA,IAAX;MAAEC;IAAM,CAAC,GAAAD,IAAA;IACrBP,SAAS,CAAC,MAAAS,YAAA,CAAAZ,IAAA,EAAAa,WAAA,CAEDP,KAAK;MAAA,SACH,CACL,oBAAoB;IACrB,IACSK,KAAK,CAElB,CAAC;IAEF,OAAO,CAAC,CAAC;EACX;AACF,CAAC,CAAC"}