@fiscozen/dropdown 0.1.27-beta.1 → 1.0.0-next.0

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/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@fiscozen/dropdown",
3
- "version": "0.1.27-beta.1",
3
+ "version": "1.0.0-next.0",
4
4
  "description": "Design System Dropdown component",
5
5
  "main": "src/index.ts",
6
6
  "type": "module",
7
7
  "keywords": [],
8
8
  "author": "Alen Ajam",
9
9
  "dependencies": {
10
- "@fiscozen/button": "^0.1.13",
11
- "@fiscozen/actionlist": "^0.1.9",
12
- "@fiscozen/composables": "^0.1.36"
10
+ "@fiscozen/action": "^1.1.0-next.0",
11
+ "@fiscozen/button": "^1.0.1-next.1",
12
+ "@fiscozen/composables": "^0.1.39-next.0"
13
13
  },
14
14
  "peerDependencies": {
15
15
  "tailwindcss": "^3.4.1",
@@ -31,9 +31,9 @@
31
31
  "vite": "^5.0.10",
32
32
  "vitest": "^1.2.0",
33
33
  "vue-tsc": "^1.8.25",
34
- "@fiscozen/eslint-config": "^0.1.0",
34
+ "@fiscozen/tsconfig": "^0.1.0",
35
35
  "@fiscozen/prettier-config": "^0.1.0",
36
- "@fiscozen/tsconfig": "^0.1.0"
36
+ "@fiscozen/eslint-config": "^0.1.0"
37
37
  },
38
38
  "license": "MIT",
39
39
  "scripts": {
@@ -4,8 +4,8 @@
4
4
  :position="floatingPosition"
5
5
  ref="container"
6
6
  overrideContentClass
7
+ contentClass="mt-4"
7
8
  :teleport="teleport"
8
- :contentClass="['fixed pt-4 z-70', props.floatingClass || '']"
9
9
  >
10
10
  <template #opener>
11
11
  <slot name="opener" :isOpen="isOpen" :open :close>
@@ -13,43 +13,60 @@
13
13
  icon-position="after"
14
14
  :icon-name="buttonIconName"
15
15
  @click="isOpen = !isOpen"
16
- :size
17
- :variant
18
- :disabled="openerDisabled"
19
- :class="openerClass"
16
+ :environment="mappedSizeToEnvironment"
17
+ :variant="buttonVariant"
18
+ :disabled="disabled"
20
19
  >
21
20
  <slot :isOpen="isOpen"></slot>
22
21
  </FzButton>
23
22
  </slot>
24
23
  </template>
25
- <FzActionlist :items="actions" :label="actionsLabel" :listClass="props.listClass" @fzaction:click="handleActionClick">
26
- <template v-for="(action, index) in actions" :key="index" #[`fzaction-item-${index}`]>
27
- <slot :name="`fzaction-item-${index}`" :item="action" :open :close></slot>
28
- </template>
29
- </FzActionlist>
24
+ <slot name="actionList">
25
+ <FzActionList :listClass="props.listClass">
26
+ <FzActionSection
27
+ v-for="(section, index) in groupedActions"
28
+ :key="index"
29
+ :label="index !== '__default__' ? index : undefined"
30
+ :environment="environment"
31
+ >
32
+ <FzAction
33
+ v-for="(action, actionIndex) in section"
34
+ :key="actionIndex"
35
+ v-bind="action"
36
+ @click="handleActionClick(action)"
37
+ :environment="environment"
38
+ />
39
+ </FzActionSection>
40
+ </FzActionList>
41
+ </slot>
30
42
  </FzFloating>
31
43
  </template>
32
44
 
33
45
  <script setup lang="ts">
34
46
  import { ComponentPublicInstance, computed, ref } from 'vue'
35
47
  import { FzButton } from '@fiscozen/button'
36
- import { FzActionlist, ActionlistItem } from '@fiscozen/actionlist'
48
+ import { FzAction, FzActionList, FzActionProps, FzActionSection } from '@fiscozen/action'
37
49
  import { FzFloating, useClickOutside, useKeyDown } from '@fiscozen/composables'
38
50
  import { FzDropdownProps, FzDropdownSlots } from './types'
51
+ import { sizeToEnvironmentMapping } from '@fiscozen/button/src/utils'
39
52
 
40
53
  const props = withDefaults(defineProps<FzDropdownProps>(), {
41
- size: 'md',
54
+ environment: 'frontoffice',
42
55
  actions: () => [],
43
- closeOnActionClick: true
56
+ closeOnActionClick: true,
57
+ teleport: true
44
58
  })
45
59
 
60
+ const mappedSizeToEnvironment = computed<'backoffice' | 'frontoffice'>(() => {
61
+ return props.size ? sizeToEnvironmentMapping[props.size] : props.environment
62
+ })
46
63
  const emit = defineEmits<{
47
- 'fzaction:click': [index: number, action: ActionlistItem]
64
+ 'fzaction:click': [actionIndex: number, action: FzActionProps]
48
65
  }>()
49
66
 
50
67
  defineSlots<FzDropdownSlots>()
51
68
 
52
- const isOpen = ref(false)
69
+ const isOpen = defineModel<boolean>('isOpen', { default: false })
53
70
  const container = ref<ComponentPublicInstance>()
54
71
  const containerDom = computed(() => container.value?.$el)
55
72
  const buttonIconName = computed(() => (isOpen.value ? 'angle-up' : 'angle-down'))
@@ -64,6 +81,24 @@ const floatingPosition = computed(() => {
64
81
  }
65
82
  })
66
83
 
84
+ const groupedActions = computed(() => {
85
+ const sections: Record<string, FzActionProps[]> = {}
86
+
87
+ let section = '__default__'
88
+ props.actions.forEach((action) => {
89
+ if (action.type === 'section') {
90
+ section = action.label || '__default__'
91
+ return
92
+ }
93
+
94
+ if (!sections[section]) {
95
+ sections[section] = []
96
+ }
97
+ sections[section].push(action)
98
+ })
99
+ return sections
100
+ })
101
+
67
102
  useClickOutside(containerDom, () => {
68
103
  isOpen.value = false
69
104
  })
@@ -73,16 +108,25 @@ useKeyDown(containerDom, (event) => {
73
108
  isOpen.value = false
74
109
  })
75
110
 
76
- function handleActionClick(index: number, action: ActionlistItem) {
111
+ function handleActionClick(action: FzActionProps) {
112
+ const stringifiedAction = JSON.stringify(action)
113
+ const index = props.actions.findIndex((compareAction) => JSON.stringify(compareAction) == stringifiedAction)
77
114
  emit('fzaction:click', index, action)
78
115
  if (props.closeOnActionClick) {
79
116
  isOpen.value = false
80
117
  }
81
118
  }
82
119
 
120
+ /**
121
+ * @deprecated Use the isOpen model instead
122
+ */
83
123
  function open() {
84
124
  isOpen.value = true
85
125
  }
126
+
127
+ /**
128
+ * @deprecated Use the isOpen model instead
129
+ */
86
130
  function close() {
87
131
  isOpen.value = false
88
132
  }
@@ -1,26 +1,52 @@
1
1
  <template>
2
- <FzDropdown v-bind="props" ref="dropdown" @fzaction:click="(...args) => emit('fzaction:click', ...args)">
2
+ <FzDropdown
3
+ v-bind="props"
4
+ ref="dropdown"
5
+ @fzaction:click="(...args) => emit('fzaction:click', ...args)"
6
+ :environment="mappedSizeToEnvironment"
7
+ >
3
8
  <template #opener="{ open }">
4
- <FzIconButton :iconName="iconName" @click.stop="open()" :variant="buttonVariant" :disabled="openerDisabled" :size />
9
+ <FzIconButton
10
+ :iconName="iconName"
11
+ @click.stop="open()"
12
+ :variant="buttonVariant"
13
+ :disabled="disabled"
14
+ :environment="mappedSizeToEnvironment"
15
+ :aria-label="label"
16
+ :hasNotification="hasNotification"
17
+ />
18
+ </template>
19
+ <template #actionList>
20
+ <slot name="actionList"></slot>
5
21
  </template>
6
22
  </FzDropdown>
7
23
  </template>
8
24
 
9
25
  <script setup lang="ts">
26
+ import { computed } from 'vue'
10
27
  import FzDropdown from './FzDropdown.vue'
11
- import { type FzIconDropdownProps } from './types'
28
+ import { type FzIconDropdownProps, type FzIconDropdownSlots } from './types'
12
29
  import { FzIconButton } from '@fiscozen/button'
13
- import { ActionlistItem } from '@fiscozen/actionlist'
30
+ import { FzActionProps } from '@fiscozen/action'
31
+ import { sizeToEnvironmentMapping } from '@fiscozen/button/src/utils'
14
32
 
15
33
  const props = withDefaults(defineProps<FzIconDropdownProps>(), {
16
34
  iconName: 'bars',
17
35
  closeOnActionClick: true,
18
36
  align: 'center',
19
37
  teleport: true,
20
- buttonVariant: 'secondary'
38
+ environment: 'frontoffice',
39
+ buttonVariant: 'secondary',
40
+ label: 'Open dropdown'
41
+ })
42
+
43
+ const mappedSizeToEnvironment = computed<'backoffice' | 'frontoffice'>(() => {
44
+ return props.size ? sizeToEnvironmentMapping[props.size] : props.environment
21
45
  })
22
46
 
47
+ defineSlots<FzIconDropdownSlots>()
48
+
23
49
  const emit = defineEmits<{
24
- 'fzaction:click': [index: number, action: ActionlistItem]
50
+ 'fzaction:click': [index: number, action: FzActionProps]
25
51
  }>()
26
52
  </script>
package/src/types.ts CHANGED
@@ -1,23 +1,28 @@
1
- import { ButtonSize } from '@fiscozen/button'
2
- import { FzActionlistProps } from '@fiscozen/actionlist'
3
- import { IconButtonVariant, ButtonVariant } from '@fiscozen/button'
1
+ import { ButtonSize, IconButtonVariant } from '@fiscozen/button'
2
+ import { FzActionProps, FzActionSectionProps } from '@fiscozen/action'
3
+ import { ButtonVariant } from '@fiscozen/button'
4
4
  import { VNode } from 'vue'
5
5
 
6
6
  type FzDropdownProps = {
7
7
  /**
8
+ * @deprecated Use the environment prop instead
8
9
  * Size of the dropdown trigger
9
10
  */
10
11
  size?: ButtonSize
12
+
11
13
  /**
12
- * Label of the action list
14
+ * Environment of the dropdown trigger
15
+ * @default 'frontoffice'
13
16
  */
14
- actionsLabel?: string
17
+ environment?: 'frontoffice' | 'backoffice'
15
18
  /**
19
+ * @deprecated Declare your actions list inside the actionsList slot instead
16
20
  * List of actions
17
21
  */
18
- actions: FzActionlistProps['items']
22
+ actions: (FzActionProps | (FzActionSectionProps & { type: 'section' }))[]
19
23
  /**
20
24
  * Whether to align to the left or right
25
+ * @default 'center'
21
26
  */
22
27
  align?: 'left' | 'right' | 'center'
23
28
  /**
@@ -25,29 +30,23 @@ type FzDropdownProps = {
25
30
  */
26
31
  closeOnActionClick?: boolean
27
32
  /**
28
- * Whether opener is disabled
29
- */
30
- openerDisabled?: boolean
31
- /**
32
- * Class binded to opener
33
- */
34
- openerClass?: string
35
- /**
36
- * teleport floating to body
33
+ * Class to apply to the actions list
37
34
  */
38
- teleport?: boolean
35
+ listClass?: string
39
36
  /**
40
- * Class binded to the action list
37
+ * Whether opener is disabled
41
38
  */
42
- listClass?: string
39
+ disabled?: boolean
43
40
  /**
44
- * Class binded to the floating element
41
+ * Button variant
42
+ * @default 'primary'
45
43
  */
46
- floatingClass?: string
44
+ buttonVariant?: ButtonVariant
47
45
  /**
48
- * variant of the button
46
+ * Teleport floating to body
47
+ * @default true
49
48
  */
50
- variant?: ButtonVariant
49
+ teleport?: boolean
51
50
  }
52
51
 
53
52
  type FzDropdownSlots = {
@@ -56,22 +55,40 @@ type FzDropdownSlots = {
56
55
  * Label of the standard button opener
57
56
  */
58
57
  default(props: { isOpen: boolean }): VNode | VNode[]
58
+ /**
59
+ * Actions list slot
60
+ */
61
+ actionList(): VNode | VNode[]
59
62
  /**
60
63
  *
61
64
  * Use this to replace the button opener entirely
62
65
  */
63
- opener(props: { isOpen: boolean, open: () => void, close: () => void }): VNode | VNode[]
66
+ opener(props: { isOpen: boolean; open: () => void; close: () => void }): VNode | VNode[]
64
67
  }
65
68
 
66
- interface FzIconDropdownProps extends FzDropdownProps {
69
+ export type FzIconDropdownProps = Omit<FzDropdownProps, 'buttonVariant'> & {
67
70
  /**
68
71
  * icon name
69
72
  */
70
73
  iconName: string
74
+ hasNotification?: boolean
75
+ /**
76
+ * A11y label for the button opener
77
+ * @default 'Open dropdown'
78
+ */
79
+ label?: string
71
80
  /**
72
- * button variant
81
+ * Button variant (limited to IconButton variants)
82
+ * @default 'secondary'
73
83
  */
74
84
  buttonVariant?: IconButtonVariant
75
85
  }
76
86
 
77
- export type { FzDropdownProps, FzDropdownSlots, FzIconDropdownProps }
87
+ export type FzIconDropdownSlots = {
88
+ /**
89
+ * Actions list slot
90
+ */
91
+ actionList(): VNode | VNode[]
92
+ }
93
+
94
+ export type { FzDropdownProps, FzDropdownSlots }
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/.pnpm/typescript@5.3.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/.pnpm/@vue+shared@3.5.13/node_modules/@vue/shared/dist/shared.d.ts","../../node_modules/.pnpm/@vue+reactivity@3.5.13/node_modules/@vue/reactivity/dist/reactivity.d.ts","../../node_modules/.pnpm/@vue+runtime-core@3.5.13/node_modules/@vue/runtime-core/dist/runtime-core.d.ts","../../node_modules/.pnpm/csstype@3.1.3/node_modules/csstype/index.d.ts","../../node_modules/.pnpm/@vue+runtime-dom@3.5.13/node_modules/@vue/runtime-dom/dist/runtime-dom.d.ts","../../node_modules/.pnpm/vue@3.5.13_typescript@5.3.3/node_modules/vue/jsx-runtime/index.d.ts","../../node_modules/.pnpm/@babel+types@7.26.9/node_modules/@babel/types/lib/index.d.ts","../../node_modules/.pnpm/@babel+parser@7.26.9/node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/.pnpm/@vue+compiler-core@3.5.13/node_modules/@vue/compiler-core/dist/compiler-core.d.ts","../../node_modules/.pnpm/@vue+compiler-dom@3.5.13/node_modules/@vue/compiler-dom/dist/compiler-dom.d.ts","../../node_modules/.pnpm/vue@3.5.13_typescript@5.3.3/node_modules/vue/dist/vue.d.mts","../../node_modules/.pnpm/vue@3.5.13_typescript@5.9.3/node_modules/vue/jsx-runtime/index.d.ts","../../node_modules/.pnpm/vue@3.5.13_typescript@5.9.3/node_modules/vue/dist/vue.d.mts","../../node_modules/.pnpm/@fortawesome+fontawesome-common-types@6.7.2/node_modules/@fortawesome/fontawesome-common-types/index.d.ts","../../node_modules/.pnpm/@fortawesome+fontawesome-svg-core@6.7.2/node_modules/@fortawesome/fontawesome-svg-core/index.d.ts","../../node_modules/.pnpm/@awesome.me+kit-8137893ad3@1.0.394/node_modules/@awesome.me/kit-8137893ad3/icons/modules/icon-types.ts","../../node_modules/.pnpm/@awesome.me+kit-8137893ad3@1.0.394/node_modules/@awesome.me/kit-8137893ad3/icons/modules/index.d.ts","../../node_modules/.pnpm/@fortawesome+vue-fontawesome@3.1.1_@fortawesome+fontawesome-svg-core@6.7.2_vue@3.5.13_typescript@5.9.3_/node_modules/@fortawesome/vue-fontawesome/index.d.ts","../icons/src/types.ts","../icons/src/fzicon.vue.ts","../icons/src/index.ts","../button/src/types.ts","../button/src/utils.ts","../button/src/fzbutton.vue.ts","../button/src/fziconbutton.vue.ts","../composables/src/types.ts","../composables/src/utils/number/index.ts","../composables/src/utils/position/index.ts","../composables/src/utils/index.ts","../composables/src/composables/usefloating.ts","../composables/src/composables/usemediaquery.ts","../composables/src/composables/usebreakpoints.ts","../composables/src/composables/useclickoutside.ts","../composables/src/composables/usekeydown.ts","../composables/src/composables/usekeyup.ts","../composables/src/composables/usecurrency.ts","../composables/src/composables/index.ts","../style/tokens.json","../style/safe-colors.json","../style/safe-semantic-colors.json","../style/src/custom-directives.ts","../style/src/constants.ts","../style/src/index.ts","../composables/src/fzfloating.vue.ts","../composables/src/index.ts","../container/src/types.ts","../container/src/fzcontainer.vue.ts","../container/src/index.ts","../button/src/fzbuttongroup.vue.ts","../button/src/index.ts","../../node_modules/.pnpm/vue-router@4.5.0_vue@3.5.13_typescript@5.3.3_/node_modules/vue-router/dist/vue-router.d.ts","../navlink/src/types.ts","../navlink/src/classutils.ts","../navlink/src/fznavlink.vue.ts","../navlink/src/fzrouternavlink.vue.ts","../navlink/src/index.ts","../actionlist/src/types.ts","../actionlist/src/fzactionlist.vue.ts","../actionlist/src/index.ts","./src/types.ts","./src/fzdropdown.vue.ts","./src/fzicondropdown.vue.ts","./__vls_types.d.ts","./src/index.ts"],"fileInfos":[{"version":"0","affectsGlobalScope":true},"0","0","0","0","0","0",{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},{"version":"0","affectsGlobalScope":true},"0","0",{"version":"0","affectsGlobalScope":true},"0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0",{"version":"0","affectsGlobalScope":true},"0"],"root":[[105,109]],"options":{"composite":true,"esModuleInterop":true,"jsx":1,"jsxImportSource":"vue","module":99,"noImplicitThis":true,"skipLibCheck":true,"strict":true,"target":99,"useDefineForClassFields":true},"fileIdsList":[[51,59],[61],[52],[59],[56,60,96],[46,52,53],[54],[46],[46,47,48,50],[47,48,49,50],[56,96],[50,55],[50],[51,56,96,101,102],[51,102,103],[51,101],[51,56,66,67,68,96],[51,56,67,68,88,90,93,96],[51,56,67,68,69,96],[51,67,69,70,94],[51,66],[51,56,67,69,96],[51,75,76,77,78,79,80,81],[51,76],[51,56,96],[51,56,71,74,96],[51,56,71,82,88,96],[51,71,74,82,89],[51,72,73],[51,71],[51,56,91,96],[51,91,92],[51],[51,56,90,95,96,104,105],[51,56,95,96,104,105,106],[51,105,106,107],[51,56,95,96,104],[51,56,62,63,64,96],[51,56,60,62,64,65,96],[51,56,66,96,97,98],[51,97,99,100],[51,64,96],[51,83],[51,56,83,84,85,96],[51,56,86,87,96]],"referencedMap":[[61,1],[62,2],[53,3],[60,4],[63,5],[54,6],[55,7],[47,8],[48,9],[50,10],[96,11],[56,12],[51,13],[58,12],[57,13],[103,14],[104,15],[102,16],[69,17],[94,18],[70,19],[95,20],[67,21],[68,22],[82,23],[77,24],[78,25],[81,26],[75,26],[79,25],[80,25],[76,25],[89,27],[90,28],[71,25],[74,29],[72,30],[73,30],[92,31],[93,32],[91,33],[108,25],[106,34],[107,35],[109,36],[105,37],[65,38],[66,39],[64,33],[98,33],[99,40],[100,40],[101,41],[97,42],[87,43],[86,44],[88,45]],"exportedModulesMap":[[61,1],[62,2],[53,3],[60,4],[63,5],[54,6],[55,7],[47,8],[48,9],[50,10],[96,11],[56,12],[51,13],[58,12],[57,13],[103,14],[104,15],[102,16],[69,17],[94,18],[70,19],[95,20],[67,21],[68,22],[82,23],[77,24],[78,25],[81,26],[75,26],[79,25],[80,25],[76,25],[89,27],[90,28],[71,25],[74,29],[72,30],[73,30],[92,31],[93,32],[91,33],[108,25],[106,34],[107,35],[109,36],[105,37],[65,38],[66,39],[64,33],[98,33],[99,40],[100,40],[101,41],[97,42],[87,43],[86,44],[88,45]],"semanticDiagnosticsPerFile":[61,62,53,52,59,60,63,54,55,47,48,50,46,49,44,45,8,9,11,10,2,12,13,14,15,16,17,18,19,3,4,20,24,21,22,23,25,26,27,5,28,29,30,31,6,35,32,33,34,36,7,37,42,43,38,39,40,41,1,96,56,51,58,57,103,104,102,69,94,70,95,67,68,82,77,78,81,75,79,80,76,89,90,71,74,72,73,92,93,91,108,[106,[{"file":"./src/fzdropdown.vue","start":843,"length":74,"code":7053,"category":1,"messageText":"Element implicitly has an 'any' type because expression of type '`fzaction-item-${number}`' can't be used to index type 'Readonly<FzDropdownSlots> & FzDropdownSlots'."}]],107,109,105,65,66,64,98,99,100,101,97,84,85,87,86,88,83],"affectedFilesPendingEmit":[106,107,109,105],"emitSignatures":[105,106,107,109]},"version":"5.3.3"}