@thl-ui/vue 0.0.0-stage → 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nav.js","sources":["../../src/components/nav.ts"],"sourcesContent":["import { defineComponent, h, ref, watch, onMounted, onBeforeUnmount, type PropType } from 'vue';\nimport { bem, cx, createTabs, createCarousel, paginate, uid, type TabsItem, type BreadcrumbItem, type StepItem, type TimelineItem } from '@thl-ui/core';\nimport { useDefaults, usePrefix, useI18n, useStore } from '../context';\nimport { icon, str, any } from './util';\nimport { ThlBadge } from './basic';\n\nexport const ThlTabs = /*#__PURE__*/ defineComponent({\n name: 'ThlTabs',\n props: { items: { type: Array as PropType<TabsItem[]>, required: true }, modelValue: String, variant: String, justified: Boolean, keepMounted: Boolean },\n emits: ['update:modelValue', 'change'],\n setup(p, { slots, emit }) {\n const pre = usePrefix();\n const d = useDefaults('Tabs', p as any);\n const base = uid('tabs');\n const api = createTabs({\n items: p.items,\n active: p.modelValue,\n onChange: (k) => {\n emit('update:modelValue', k);\n emit('change', k);\n },\n });\n watch(\n () => p.items,\n (v) => api.setItems(v),\n );\n watch(\n () => p.modelValue,\n (v) => {\n if (v !== undefined && v !== api.active()) api.state.set(v);\n },\n );\n const current = useStore(api.state);\n const list = ref<HTMLElement>();\n return () => {\n const b = bem('tabs', pre.value);\n const v = d.value.variant as string | undefined;\n const vertical = v === 'vertical';\n return h('div', { class: b({ [v ?? 'default']: !!v && v !== 'default', justified: p.justified }) }, [\n h(\n 'div',\n {\n ref: list,\n role: 'tablist',\n 'aria-orientation': vertical ? 'vertical' : 'horizontal',\n class: b('list'),\n onKeydown: (e: KeyboardEvent) => {\n if (api.onKeyDown(e, vertical ? 'vertical' : 'horizontal'))\n requestAnimationFrame(() => list.value?.querySelector<HTMLElement>('[aria-selected=\"true\"]')?.focus());\n },\n },\n p.items.map((it) => {\n const ids = api.ids(base, it.key);\n const sel = it.key === current.value;\n return h(\n 'button',\n {\n key: it.key,\n id: ids.tab,\n role: 'tab',\n type: 'button',\n 'aria-selected': sel,\n 'aria-controls': ids.panel,\n tabindex: sel ? 0 : -1,\n disabled: it.disabled,\n class: cx(b('tab'), { 'is-active': sel }),\n onClick: () => api.select(it.key),\n },\n [\n icon(it.icon),\n slots[`tab-${it.key}`] ? slots[`tab-${it.key}`]!() : it.label,\n it.badge !== undefined ? h(ThlBadge, { color: 'danger' }, () => it.badge) : null,\n ],\n );\n }),\n ),\n ...p.items.map((it) => {\n const ids = api.ids(base, it.key);\n const sel = it.key === current.value;\n if (!sel && !p.keepMounted) return null;\n return h(\n 'div',\n { key: it.key, id: ids.panel, role: 'tabpanel', 'aria-labelledby': ids.tab, hidden: !sel, tabindex: 0, class: b('panel') },\n slots[it.key]?.() ?? slots.default?.({ key: it.key }),\n );\n }),\n ]);\n };\n },\n});\n\nexport const ThlBreadcrumb = /*#__PURE__*/ defineComponent({\n name: 'ThlBreadcrumb',\n props: { items: { type: Array as PropType<BreadcrumbItem[]>, required: true } },\n setup(p, { slots }) {\n const pre = usePrefix();\n return () => {\n const b = bem('breadcrumb', pre.value);\n return h(\n 'nav',\n { 'aria-label': 'breadcrumb' },\n h(\n 'ol',\n { class: b() },\n p.items.map((it, i) => {\n const last = i === p.items.length - 1;\n const inner = [icon(it.icon), it.label];\n return h(\n 'li',\n { key: i, class: cx(b('item'), { 'is-active': last }), 'aria-current': last ? 'page' : undefined },\n !last && it.href ? (slots.link ? slots.link({ item: it }) : h('a', { href: it.href }, inner)) : inner,\n );\n }),\n ),\n );\n };\n },\n});\n\nexport const ThlPagination = /*#__PURE__*/ defineComponent({\n name: 'ThlPagination',\n props: {\n page: { type: Number, required: true },\n total: { type: Number, required: true },\n pageSize: { type: Number, default: 10 },\n maxPages: Number,\n size: String,\n showTotal: { type: Boolean, default: undefined },\n showFirstLast: Boolean,\n split: Boolean,\n rounded: Boolean,\n pageSizes: Array as PropType<number[]>,\n ariaLabel: String,\n },\n emits: ['update:page', 'update:pageSize', 'change'],\n setup(p, { emit }) {\n const pre = usePrefix();\n const { t } = useI18n();\n const d = useDefaults('Pagination', p as any);\n const go = (n: number) => {\n emit('update:page', n);\n emit('change', n);\n };\n return () => {\n const m = paginate({ page: p.page, total: p.total, pageSize: p.pageSize, maxPages: d.value.maxPages as number });\n const b = bem('pagination', pre.value);\n const btn = (content: any, target: number, disabled: boolean, aria: string) =>\n h('li', h('button', { type: 'button', class: b('item'), disabled, onClick: () => go(target), 'aria-label': aria }, content));\n return h('nav', { 'aria-label': p.ariaLabel ?? t('pagination.goto'), class: `${pre.value}-flex` }, [\n d.value.showTotal ? h('span', { class: b('total') }, t('pagination.total', { count: p.total })) : null,\n h('ul', { class: b({ split: p.split, rounded: p.rounded, size: p.size && p.size !== 'md' ? p.size : undefined }) }, [\n p.showFirstLast ? btn(icon('chevrons-left'), 1, !m.hasPrev, t('pagination.first')) : null,\n btn(icon('chevron-left'), m.page - 1, !m.hasPrev, t('pagination.prev')),\n ...m.items.map((it) =>\n it.type === 'ellipsis'\n ? h('li', { key: it.key }, h('span', { class: b('item', { ellipsis: true }) }, '…'))\n : h(\n 'li',\n { key: it.page },\n h(\n 'button',\n {\n type: 'button',\n class: cx(b('item'), { 'is-active': it.active }),\n 'aria-current': it.active ? 'page' : undefined,\n onClick: () => go(it.page),\n 'aria-label': t('pagination.page', { page: it.page }),\n },\n it.page,\n ),\n ),\n ),\n btn(icon('chevron-right'), m.page + 1, !m.hasNext, t('pagination.next')),\n p.showFirstLast ? btn(icon('chevrons-right'), m.pageCount, !m.hasNext, t('pagination.last')) : null,\n ]),\n p.pageSizes\n ? h(\n 'select',\n {\n class: cx(`${pre.value}-input`, `${pre.value}-input--size-sm`, b('size')),\n style: { width: 'auto' },\n value: p.pageSize,\n 'aria-label': t('pagination.pageSize', { size: p.pageSize }),\n onChange: (e: Event) => emit('update:pageSize', Number((e.target as HTMLSelectElement).value)),\n },\n p.pageSizes.map((s) => h('option', { value: s }, t('pagination.pageSize', { size: s }))),\n )\n : null,\n ]);\n };\n },\n});\n\nexport const ThlSteps = /*#__PURE__*/ defineComponent({\n name: 'ThlSteps',\n props: {\n items: { type: Array as PropType<StepItem[]>, required: true },\n current: { type: Number, default: 0 },\n variant: str('default'),\n clickable: Boolean,\n vertical: Boolean,\n },\n emits: ['update:current'],\n setup(p, { emit }) {\n const pre = usePrefix();\n const { t } = useI18n();\n return () => {\n const b = bem('steps', pre.value);\n return h(\n 'ol',\n { class: b({ [p.variant]: p.variant !== 'default', vertical: p.vertical }) },\n p.items.map((it, i) => {\n const status = i < p.current ? 'done' : i === p.current ? 'active' : 'pending';\n return h(\n 'li',\n { key: i, style: { display: 'contents' } },\n h(\n p.clickable ? 'button' : 'div',\n {\n type: p.clickable ? 'button' : undefined,\n onClick: p.clickable ? () => emit('update:current', i) : undefined,\n 'aria-current': status === 'active' ? 'step' : undefined,\n class: cx(b('item'), `is-${status}`, { 'is-clickable': p.clickable }),\n },\n [\n h('span', { class: b('number') }, status === 'done' ? icon(it.icon ?? 'check') : it.icon ? icon(it.icon) : String(i + 1)),\n h('span', [\n h('span', { class: b('title'), style: { display: 'block' } }, it.title),\n it.description ? h('span', { class: b('desc') }, it.description) : null,\n h('span', { class: `${pre.value}-sr-only` }, status === 'done' ? t('steps.completed') : t('steps.step', { n: i + 1 })),\n ]),\n ],\n ),\n );\n }),\n );\n };\n },\n});\n\nexport const ThlTimeline = /*#__PURE__*/ defineComponent({\n name: 'ThlTimeline',\n props: {\n items: { type: Array as PropType<TimelineItem[]>, required: true },\n variant: str<'alternate' | 'left'>('alternate'),\n headingLevel: { type: Number as PropType<2 | 3 | 4 | 5 | 6>, default: 3 },\n },\n setup(p, { slots }) {\n const pre = usePrefix();\n return () => {\n const b = bem('timeline', pre.value);\n return h(\n 'ul',\n { class: b({ left: p.variant === 'left' }) },\n p.items.map((it, i) =>\n h('li', { key: i, class: b('item', { inverted: p.variant === 'alternate' && i % 2 === 1 }) }, [\n h('div', { class: b('badge', { [it.color ?? 'inverse']: true }) }, it.image ? h('img', { src: it.image, alt: '' }) : icon(it.icon)),\n h('div', { class: b('panel') }, [\n h(`h${p.headingLevel}`, { class: b('title') }, it.title),\n it.time ? h('small', { class: b('time') }, [icon('clock'), ' ', it.time]) : null,\n slots.item ? slots.item({ item: it, index: i }) : h('div', it.content),\n ]),\n ]),\n ),\n );\n };\n },\n});\nexport const ThlActivityFeed = /*#__PURE__*/ defineComponent({\n name: 'ThlActivityFeed',\n props: {\n items: {\n type: Array as PropType<Array<{ avatar?: string; icon?: string; title: string; time?: string; content?: string; color?: string }>>,\n required: true,\n },\n },\n setup(p) {\n const pre = usePrefix();\n return () => {\n const b = bem('activity-feed', pre.value);\n return h(\n 'div',\n { class: b() },\n p.items.map((it, i) =>\n h('div', { key: i, class: b('item') }, [\n h(\n 'div',\n { class: b('left'), style: it.color ? { background: `var(--${pre.value}-color-${it.color})` } : undefined },\n it.avatar ? h('img', { src: it.avatar, alt: '' }) : icon(it.icon),\n ),\n h('div', { class: b('right') }, [\n h('div', [h('strong', it.title), it.time ? h('span', { class: b('time') }, it.time) : null]),\n h('div', it.content),\n ]),\n ]),\n ),\n );\n };\n },\n});\nexport const ThlHorizontalTimeline = /*#__PURE__*/ defineComponent({\n name: 'ThlHorizontalTimeline',\n props: {\n items: { type: Array as PropType<Array<{ date: string; title: string; content?: string }>>, required: true },\n headingLevel: { type: Number as PropType<2 | 3 | 4 | 5 | 6>, default: 3 },\n },\n setup(p) {\n const pre = usePrefix();\n const { t } = useI18n();\n const i = ref(0);\n return () => {\n const b = bem('htimeline', pre.value);\n const cur = p.items[i.value];\n return h('div', { class: b() }, [\n h(\n 'div',\n { class: b('track'), role: 'tablist' },\n p.items.map((it, k) =>\n h(\n 'button',\n {\n key: k,\n type: 'button',\n role: 'tab',\n 'aria-selected': k === i.value,\n class: cx(b('dot'), { 'is-active': k === i.value, 'is-done': k < i.value }),\n onClick: () => (i.value = k),\n },\n it.date,\n ),\n ),\n ),\n h('div', { class: b('content'), role: 'tabpanel' }, [h(`h${p.headingLevel}`, cur?.title), h('div', cur?.content)]),\n h('div', { class: b('nav') }, [\n h(\n 'button',\n { type: 'button', class: `${pre.value}-btn ${pre.value}-btn--size-sm`, disabled: i.value === 0, onClick: () => i.value-- },\n t('common.previous'),\n ),\n h(\n 'button',\n { type: 'button', class: `${pre.value}-btn ${pre.value}-btn--size-sm`, disabled: i.value === p.items.length - 1, onClick: () => i.value++ },\n t('common.next'),\n ),\n ]),\n ]);\n };\n },\n});\n\nexport const ThlCarousel = /*#__PURE__*/ defineComponent({\n name: 'ThlCarousel',\n props: {\n slides: { type: Array as PropType<Array<{ image?: string; caption?: string; alt?: string }>>, required: true },\n interval: { type: Number, default: 5000 },\n fade: Boolean,\n arrows: { type: Boolean, default: true },\n dots: { type: Boolean, default: true },\n height: any<string | number>(),\n ariaLabel: String,\n },\n setup(p, { slots }) {\n const pre = usePrefix();\n const { t } = useI18n();\n const api = createCarousel({ count: p.slides.length, interval: p.interval, loop: true });\n watch(\n () => p.slides.length,\n (n) => api.setCount(n),\n );\n onMounted(api.play);\n onBeforeUnmount(api.destroy);\n const idx = useStore(api.state);\n return () => {\n const b = bem('carousel', pre.value);\n const ht = typeof p.height === 'number' ? `${p.height}px` : p.height;\n return h(\n 'div',\n {\n class: b({ fade: p.fade }),\n role: 'region',\n 'aria-roledescription': 'carousel',\n 'aria-label': p.ariaLabel ?? `${t('common.carousel')} (${p.slides.length})`,\n onMouseenter: api.pause,\n onMouseleave: api.play,\n onFocusin: api.pause,\n onFocusout: api.play,\n },\n [\n h(\n 'div',\n { class: b('track'), style: p.fade ? undefined : { transform: `translateX(-${idx.value * 100}%)` } },\n p.slides.map((s, i) =>\n h(\n 'div',\n {\n key: i,\n class: cx(b('slide'), { 'is-active': i === idx.value }),\n role: 'group',\n 'aria-roledescription': 'slide',\n 'aria-hidden': i !== idx.value,\n style: { height: ht },\n },\n [\n s.image ? h('img', { src: s.image, alt: s.alt ?? '', style: ht ? { height: '100%', objectFit: 'cover' } : undefined }) : null,\n slots.slide?.({ slide: s, index: i }),\n s.caption ? h('div', { class: b('caption') }, s.caption) : null,\n ],\n ),\n ),\n ),\n p.arrows && p.slides.length > 1\n ? [\n h('button', { type: 'button', class: b('arrow', { prev: true }), onClick: api.prev, 'aria-label': t('common.previous') }, icon('chevron-left')),\n h('button', { type: 'button', class: b('arrow', { next: true }), onClick: api.next, 'aria-label': t('common.next') }, icon('chevron-right')),\n ]\n : null,\n p.dots && p.slides.length > 1\n ? h(\n 'div',\n { class: b('dots') },\n p.slides.map((_, i) =>\n h('button', {\n key: i,\n type: 'button',\n class: cx({ 'is-active': i === idx.value }),\n onClick: () => api.goTo(i),\n 'aria-label': String(i + 1),\n 'aria-current': i === idx.value,\n }),\n ),\n )\n : null,\n ],\n );\n };\n },\n});\n"],"names":["ThlTabs","defineComponent","p","slots","emit","pre","usePrefix","d","useDefaults","base","uid","api","createTabs","k","watch","v","current","useStore","list","ref","b","bem","vertical","h","e","it","ids","sel","cx","icon","ThlBadge","ThlBreadcrumb","last","inner","ThlPagination","useI18n","go","n","m","paginate","btn","content","target","disabled","aria","s","ThlSteps","str","i","status","ThlTimeline","ThlActivityFeed","ThlHorizontalTimeline","t","cur","ThlCarousel","any","createCarousel","onMounted","onBeforeUnmount","idx","ht","_"],"mappings":";;;;;AAMO,MAAMA,IAAwB,gBAAAC,EAAgB;AAAA,EACnD,MAAM;AAAA,EACN,OAAO,EAAE,OAAO,EAAE,MAAM,OAA+B,UAAU,GAAA,GAAQ,YAAY,QAAQ,SAAS,QAAQ,WAAW,SAAS,aAAa,QAAA;AAAA,EAC/I,OAAO,CAAC,qBAAqB,QAAQ;AAAA,EACrC,MAAMC,GAAG,EAAE,OAAAC,GAAO,MAAAC,KAAQ;AACxB,UAAMC,IAAMC,EAAA,GACNC,IAAIC,EAAY,QAAQN,CAAQ,GAChCO,IAAOC,EAAI,MAAM,GACjBC,IAAMC,EAAW;AAAA,MACrB,OAAOV,EAAE;AAAA,MACT,QAAQA,EAAE;AAAA,MACV,UAAU,CAACW,MAAM;AACf,QAAAT,EAAK,qBAAqBS,CAAC,GAC3BT,EAAK,UAAUS,CAAC;AAAA,MAClB;AAAA,IAAA,CACD;AACD,IAAAC;AAAA,MACE,MAAMZ,EAAE;AAAA,MACR,CAACa,MAAMJ,EAAI,SAASI,CAAC;AAAA,IAAA,GAEvBD;AAAA,MACE,MAAMZ,EAAE;AAAA,MACR,CAACa,MAAM;AACL,QAAIA,MAAM,UAAaA,MAAMJ,EAAI,YAAUA,EAAI,MAAM,IAAII,CAAC;AAAA,MAC5D;AAAA,IAAA;AAEF,UAAMC,IAAUC,EAASN,EAAI,KAAK,GAC5BO,IAAOC,EAAA;AACb,WAAO,MAAM;AACX,YAAMC,IAAIC,EAAI,QAAQhB,EAAI,KAAK,GACzBU,IAAIR,EAAE,MAAM,SACZe,IAAWP,MAAM;AACvB,aAAOQ,EAAE,OAAO,EAAE,OAAOH,EAAE,EAAE,CAACL,KAAK,SAAS,GAAG,CAAC,CAACA,KAAKA,MAAM,WAAW,WAAWb,EAAE,UAAA,CAAW,KAAK;AAAA,QAClGqB;AAAA,UACE;AAAA,UACA;AAAA,YACE,KAAKL;AAAA,YACL,MAAM;AAAA,YACN,oBAAoBI,IAAW,aAAa;AAAA,YAC5C,OAAOF,EAAE,MAAM;AAAA,YACf,WAAW,CAACI,MAAqB;AAC/B,cAAIb,EAAI,UAAUa,GAAGF,IAAW,aAAa,YAAY,KACvD,sBAAsB,MAAMJ,EAAK,OAAO,cAA2B,wBAAwB,GAAG,OAAO;AAAA,YACzG;AAAA,UAAA;AAAA,UAEFhB,EAAE,MAAM,IAAI,CAACuB,MAAO;AAClB,kBAAMC,IAAMf,EAAI,IAAIF,GAAMgB,EAAG,GAAG,GAC1BE,IAAMF,EAAG,QAAQT,EAAQ;AAC/B,mBAAOO;AAAA,cACL;AAAA,cACA;AAAA,gBACE,KAAKE,EAAG;AAAA,gBACR,IAAIC,EAAI;AAAA,gBACR,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,iBAAiBC;AAAA,gBACjB,iBAAiBD,EAAI;AAAA,gBACrB,UAAUC,IAAM,IAAI;AAAA,gBACpB,UAAUF,EAAG;AAAA,gBACb,OAAOG,EAAGR,EAAE,KAAK,GAAG,EAAE,aAAaO,GAAK;AAAA,gBACxC,SAAS,MAAMhB,EAAI,OAAOc,EAAG,GAAG;AAAA,cAAA;AAAA,cAElC;AAAA,gBACEI,EAAKJ,EAAG,IAAI;AAAA,gBACZtB,EAAM,OAAOsB,EAAG,GAAG,EAAE,IAAItB,EAAM,OAAOsB,EAAG,GAAG,EAAE,EAAA,IAAOA,EAAG;AAAA,gBACxDA,EAAG,UAAU,SAAYF,EAAEO,GAAU,EAAE,OAAO,SAAA,GAAY,MAAML,EAAG,KAAK,IAAI;AAAA,cAAA;AAAA,YAC9E;AAAA,UAEJ,CAAC;AAAA,QAAA;AAAA,QAEH,GAAGvB,EAAE,MAAM,IAAI,CAACuB,MAAO;AACrB,gBAAMC,IAAMf,EAAI,IAAIF,GAAMgB,EAAG,GAAG,GAC1BE,IAAMF,EAAG,QAAQT,EAAQ;AAC/B,iBAAI,CAACW,KAAO,CAACzB,EAAE,cAAoB,OAC5BqB;AAAA,YACL;AAAA,YACA,EAAE,KAAKE,EAAG,KAAK,IAAIC,EAAI,OAAO,MAAM,YAAY,mBAAmBA,EAAI,KAAK,QAAQ,CAACC,GAAK,UAAU,GAAG,OAAOP,EAAE,OAAO,EAAA;AAAA,YACvHjB,EAAMsB,EAAG,GAAG,SAAStB,EAAM,UAAU,EAAE,KAAKsB,EAAG,IAAA,CAAK;AAAA,UAAA;AAAA,QAExD,CAAC;AAAA,MAAA,CACF;AAAA,IACH;AAAA,EACF;AACF,CAAC,GAEYM,IAA8B,gBAAA9B,EAAgB;AAAA,EACzD,MAAM;AAAA,EACN,OAAO,EAAE,OAAO,EAAE,MAAM,OAAqC,UAAU,KAAK;AAAA,EAC5E,MAAMC,GAAG,EAAE,OAAAC,KAAS;AAClB,UAAME,IAAMC,EAAA;AACZ,WAAO,MAAM;AACX,YAAMc,IAAIC,EAAI,cAAchB,EAAI,KAAK;AACrC,aAAOkB;AAAA,QACL;AAAA,QACA,EAAE,cAAc,aAAA;AAAA,QAChBA;AAAA,UACE;AAAA,UACA,EAAE,OAAOH,IAAE;AAAA,UACXlB,EAAE,MAAM,IAAI,CAACuB,GAAI,MAAM;AACrB,kBAAMO,IAAO,MAAM9B,EAAE,MAAM,SAAS,GAC9B+B,IAAQ,CAACJ,EAAKJ,EAAG,IAAI,GAAGA,EAAG,KAAK;AACtC,mBAAOF;AAAA,cACL;AAAA,cACA,EAAE,KAAK,GAAG,OAAOK,EAAGR,EAAE,MAAM,GAAG,EAAE,aAAaY,GAAM,GAAG,gBAAgBA,IAAO,SAAS,OAAA;AAAA,cACvF,CAACA,KAAQP,EAAG,OAAQtB,EAAM,OAAOA,EAAM,KAAK,EAAE,MAAMsB,GAAI,IAAIF,EAAE,KAAK,EAAE,MAAME,EAAG,KAAA,GAAQQ,CAAK,IAAKA;AAAA,YAAA;AAAA,UAEpG,CAAC;AAAA,QAAA;AAAA,MACH;AAAA,IAEJ;AAAA,EACF;AACF,CAAC,GAEYC,IAA8B,gBAAAjC,EAAgB;AAAA,EACzD,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM,EAAE,MAAM,QAAQ,UAAU,GAAA;AAAA,IAChC,OAAO,EAAE,MAAM,QAAQ,UAAU,GAAA;AAAA,IACjC,UAAU,EAAE,MAAM,QAAQ,SAAS,GAAA;AAAA,IACnC,UAAU;AAAA,IACV,MAAM;AAAA,IACN,WAAW,EAAE,MAAM,SAAS,SAAS,OAAA;AAAA,IACrC,eAAe;AAAA,IACf,OAAO;AAAA,IACP,SAAS;AAAA,IACT,WAAW;AAAA,IACX,WAAW;AAAA,EAAA;AAAA,EAEb,OAAO,CAAC,eAAe,mBAAmB,QAAQ;AAAA,EAClD,MAAMC,GAAG,EAAE,MAAAE,KAAQ;AACjB,UAAMC,IAAMC,EAAA,GACN,EAAE,EAAA,IAAM6B,EAAA,GACR5B,IAAIC,EAAY,cAAcN,CAAQ,GACtCkC,IAAK,CAACC,MAAc;AACxB,MAAAjC,EAAK,eAAeiC,CAAC,GACrBjC,EAAK,UAAUiC,CAAC;AAAA,IAClB;AACA,WAAO,MAAM;AACX,YAAMC,IAAIC,EAAS,EAAE,MAAMrC,EAAE,MAAM,OAAOA,EAAE,OAAO,UAAUA,EAAE,UAAU,UAAUK,EAAE,MAAM,UAAoB,GACzGa,IAAIC,EAAI,cAAchB,EAAI,KAAK,GAC/BmC,IAAM,CAACC,GAAcC,GAAgBC,GAAmBC,MAC5DrB,EAAE,MAAMA,EAAE,UAAU,EAAE,MAAM,UAAU,OAAOH,EAAE,MAAM,GAAG,UAAAuB,GAAU,SAAS,MAAMP,EAAGM,CAAM,GAAG,cAAcE,EAAA,GAAQH,CAAO,CAAC;AAC7H,aAAOlB,EAAE,OAAO,EAAE,cAAcrB,EAAE,aAAa,EAAE,iBAAiB,GAAG,OAAO,GAAGG,EAAI,KAAK,WAAW;AAAA,QACjGE,EAAE,MAAM,YAAYgB,EAAE,QAAQ,EAAE,OAAOH,EAAE,OAAO,KAAK,EAAE,oBAAoB,EAAE,OAAOlB,EAAE,MAAA,CAAO,CAAC,IAAI;AAAA,QAClGqB,EAAE,MAAM,EAAE,OAAOH,EAAE,EAAE,OAAOlB,EAAE,OAAO,SAASA,EAAE,SAAS,MAAMA,EAAE,QAAQA,EAAE,SAAS,OAAOA,EAAE,OAAO,OAAA,CAAW,KAAK;AAAA,UAClHA,EAAE,gBAAgBsC,EAAIX,EAAK,eAAe,GAAG,GAAG,CAACS,EAAE,SAAS,EAAE,kBAAkB,CAAC,IAAI;AAAA,UACrFE,EAAIX,EAAK,cAAc,GAAGS,EAAE,OAAO,GAAG,CAACA,EAAE,SAAS,EAAE,iBAAiB,CAAC;AAAA,UACtE,GAAGA,EAAE,MAAM;AAAA,YAAI,CAACb,MACdA,EAAG,SAAS,aACRF,EAAE,MAAM,EAAE,KAAKE,EAAG,OAAOF,EAAE,QAAQ,EAAE,OAAOH,EAAE,QAAQ,EAAE,UAAU,GAAA,CAAM,EAAA,GAAK,GAAG,CAAC,IACjFG;AAAA,cACE;AAAA,cACA,EAAE,KAAKE,EAAG,KAAA;AAAA,cACVF;AAAA,gBACE;AAAA,gBACA;AAAA,kBACE,MAAM;AAAA,kBACN,OAAOK,EAAGR,EAAE,MAAM,GAAG,EAAE,aAAaK,EAAG,QAAQ;AAAA,kBAC/C,gBAAgBA,EAAG,SAAS,SAAS;AAAA,kBACrC,SAAS,MAAMW,EAAGX,EAAG,IAAI;AAAA,kBACzB,cAAc,EAAE,mBAAmB,EAAE,MAAMA,EAAG,MAAM;AAAA,gBAAA;AAAA,gBAEtDA,EAAG;AAAA,cAAA;AAAA,YACL;AAAA,UACF;AAAA,UAENe,EAAIX,EAAK,eAAe,GAAGS,EAAE,OAAO,GAAG,CAACA,EAAE,SAAS,EAAE,iBAAiB,CAAC;AAAA,UACvEpC,EAAE,gBAAgBsC,EAAIX,EAAK,gBAAgB,GAAGS,EAAE,WAAW,CAACA,EAAE,SAAS,EAAE,iBAAiB,CAAC,IAAI;AAAA,QAAA,CAChG;AAAA,QACDpC,EAAE,YACEqB;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAOK,EAAG,GAAGvB,EAAI,KAAK,UAAU,GAAGA,EAAI,KAAK,mBAAmBe,EAAE,MAAM,CAAC;AAAA,YACxE,OAAO,EAAE,OAAO,OAAA;AAAA,YAChB,OAAOlB,EAAE;AAAA,YACT,cAAc,EAAE,uBAAuB,EAAE,MAAMA,EAAE,UAAU;AAAA,YAC3D,UAAU,CAACsB,MAAapB,EAAK,mBAAmB,OAAQoB,EAAE,OAA6B,KAAK,CAAC;AAAA,UAAA;AAAA,UAE/FtB,EAAE,UAAU,IAAI,CAAC2C,MAAMtB,EAAE,UAAU,EAAE,OAAOsB,EAAA,GAAK,EAAE,uBAAuB,EAAE,MAAMA,EAAA,CAAG,CAAC,CAAC;AAAA,QAAA,IAEzF;AAAA,MAAA,CACL;AAAA,IACH;AAAA,EACF;AACF,CAAC,GAEYC,IAAyB,gBAAA7C,EAAgB;AAAA,EACpD,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO,EAAE,MAAM,OAA+B,UAAU,GAAA;AAAA,IACxD,SAAS,EAAE,MAAM,QAAQ,SAAS,EAAA;AAAA,IAClC,SAAS8C,EAAI,SAAS;AAAA,IACtB,WAAW;AAAA,IACX,UAAU;AAAA,EAAA;AAAA,EAEZ,OAAO,CAAC,gBAAgB;AAAA,EACxB,MAAM7C,GAAG,EAAE,MAAAE,KAAQ;AACjB,UAAMC,IAAMC,EAAA,GACN,EAAE,EAAA,IAAM6B,EAAA;AACd,WAAO,MAAM;AACX,YAAMf,IAAIC,EAAI,SAAShB,EAAI,KAAK;AAChC,aAAOkB;AAAA,QACL;AAAA,QACA,EAAE,OAAOH,EAAE,EAAE,CAAClB,EAAE,OAAO,GAAGA,EAAE,YAAY,WAAW,UAAUA,EAAE,SAAA,CAAU,EAAA;AAAA,QACzEA,EAAE,MAAM,IAAI,CAACuB,GAAIuB,MAAM;AACrB,gBAAMC,IAASD,IAAI9C,EAAE,UAAU,SAAS8C,MAAM9C,EAAE,UAAU,WAAW;AACrE,iBAAOqB;AAAA,YACL;AAAA,YACA,EAAE,KAAKyB,GAAG,OAAO,EAAE,SAAS,aAAW;AAAA,YACvCzB;AAAA,cACErB,EAAE,YAAY,WAAW;AAAA,cACzB;AAAA,gBACE,MAAMA,EAAE,YAAY,WAAW;AAAA,gBAC/B,SAASA,EAAE,YAAY,MAAME,EAAK,kBAAkB4C,CAAC,IAAI;AAAA,gBACzD,gBAAgBC,MAAW,WAAW,SAAS;AAAA,gBAC/C,OAAOrB,EAAGR,EAAE,MAAM,GAAG,MAAM6B,CAAM,IAAI,EAAE,gBAAgB/C,EAAE,UAAA,CAAW;AAAA,cAAA;AAAA,cAEtE;AAAA,gBACEqB,EAAE,QAAQ,EAAE,OAAOH,EAAE,QAAQ,EAAA,GAAK6B,MAAW,SAASpB,EAAKJ,EAAG,QAAQ,OAAO,IAAIA,EAAG,OAAOI,EAAKJ,EAAG,IAAI,IAAI,OAAOuB,IAAI,CAAC,CAAC;AAAA,gBACxHzB,EAAE,QAAQ;AAAA,kBACRA,EAAE,QAAQ,EAAE,OAAOH,EAAE,OAAO,GAAG,OAAO,EAAE,SAAS,QAAA,KAAaK,EAAG,KAAK;AAAA,kBACtEA,EAAG,cAAcF,EAAE,QAAQ,EAAE,OAAOH,EAAE,MAAM,EAAA,GAAKK,EAAG,WAAW,IAAI;AAAA,kBACnEF,EAAE,QAAQ,EAAE,OAAO,GAAGlB,EAAI,KAAK,cAAc4C,MAAW,SAAS,EAAE,iBAAiB,IAAI,EAAE,cAAc,EAAE,GAAGD,IAAI,GAAG,CAAC;AAAA,gBAAA,CACtH;AAAA,cAAA;AAAA,YACH;AAAA,UACF;AAAA,QAEJ,CAAC;AAAA,MAAA;AAAA,IAEL;AAAA,EACF;AACF,CAAC,GAEYE,IAA4B,gBAAAjD,EAAgB;AAAA,EACvD,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO,EAAE,MAAM,OAAmC,UAAU,GAAA;AAAA,IAC5D,SAAS8C,EAA0B,WAAW;AAAA,IAC9C,cAAc,EAAE,MAAM,QAAuC,SAAS,EAAA;AAAA,EAAE;AAAA,EAE1E,MAAM7C,GAAG,EAAE,OAAAC,KAAS;AAClB,UAAME,IAAMC,EAAA;AACZ,WAAO,MAAM;AACX,YAAMc,IAAIC,EAAI,YAAYhB,EAAI,KAAK;AACnC,aAAOkB;AAAA,QACL;AAAA,QACA,EAAE,OAAOH,EAAE,EAAE,MAAMlB,EAAE,YAAY,OAAA,CAAQ,EAAA;AAAA,QACzCA,EAAE,MAAM;AAAA,UAAI,CAACuB,GAAI,MACfF,EAAE,MAAM,EAAE,KAAK,GAAG,OAAOH,EAAE,QAAQ,EAAE,UAAUlB,EAAE,YAAY,eAAe,IAAI,MAAM,EAAA,CAAG,KAAK;AAAA,YAC5FqB,EAAE,OAAO,EAAE,OAAOH,EAAE,SAAS,EAAE,CAACK,EAAG,SAAS,SAAS,GAAG,IAAM,EAAA,GAAKA,EAAG,QAAQF,EAAE,OAAO,EAAE,KAAKE,EAAG,OAAO,KAAK,GAAA,CAAI,IAAII,EAAKJ,EAAG,IAAI,CAAC;AAAA,YAClIF,EAAE,OAAO,EAAE,OAAOH,EAAE,OAAO,KAAK;AAAA,cAC9BG,EAAE,IAAIrB,EAAE,YAAY,IAAI,EAAE,OAAOkB,EAAE,OAAO,KAAKK,EAAG,KAAK;AAAA,cACvDA,EAAG,OAAOF,EAAE,SAAS,EAAE,OAAOH,EAAE,MAAM,EAAA,GAAK,CAACS,EAAK,OAAO,GAAG,KAAKJ,EAAG,IAAI,CAAC,IAAI;AAAA,cAC5EtB,EAAM,OAAOA,EAAM,KAAK,EAAE,MAAMsB,GAAI,OAAO,EAAA,CAAG,IAAIF,EAAE,OAAOE,EAAG,OAAO;AAAA,YAAA,CACtE;AAAA,UAAA,CACF;AAAA,QAAA;AAAA,MACH;AAAA,IAEJ;AAAA,EACF;AACF,CAAC,GACY0B,IAAgC,gBAAAlD,EAAgB;AAAA,EAC3D,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,EACZ;AAAA,EAEF,MAAMC,GAAG;AACP,UAAMG,IAAMC,EAAA;AACZ,WAAO,MAAM;AACX,YAAMc,IAAIC,EAAI,iBAAiBhB,EAAI,KAAK;AACxC,aAAOkB;AAAA,QACL;AAAA,QACA,EAAE,OAAOH,IAAE;AAAA,QACXlB,EAAE,MAAM;AAAA,UAAI,CAACuB,GAAIuB,MACfzB,EAAE,OAAO,EAAE,KAAKyB,GAAG,OAAO5B,EAAE,MAAM,EAAA,GAAK;AAAA,YACrCG;AAAA,cACE;AAAA,cACA,EAAE,OAAOH,EAAE,MAAM,GAAG,OAAOK,EAAG,QAAQ,EAAE,YAAY,SAASpB,EAAI,KAAK,UAAUoB,EAAG,KAAK,IAAA,IAAQ,OAAA;AAAA,cAChGA,EAAG,SAASF,EAAE,OAAO,EAAE,KAAKE,EAAG,QAAQ,KAAK,GAAA,CAAI,IAAII,EAAKJ,EAAG,IAAI;AAAA,YAAA;AAAA,YAElEF,EAAE,OAAO,EAAE,OAAOH,EAAE,OAAO,KAAK;AAAA,cAC9BG,EAAE,OAAO,CAACA,EAAE,UAAUE,EAAG,KAAK,GAAGA,EAAG,OAAOF,EAAE,QAAQ,EAAE,OAAOH,EAAE,MAAM,EAAA,GAAKK,EAAG,IAAI,IAAI,IAAI,CAAC;AAAA,cAC3FF,EAAE,OAAOE,EAAG,OAAO;AAAA,YAAA,CACpB;AAAA,UAAA,CACF;AAAA,QAAA;AAAA,MACH;AAAA,IAEJ;AAAA,EACF;AACF,CAAC,GACY2B,IAAsC,gBAAAnD,EAAgB;AAAA,EACjE,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO,EAAE,MAAM,OAA6E,UAAU,GAAA;AAAA,IACtG,cAAc,EAAE,MAAM,QAAuC,SAAS,EAAA;AAAA,EAAE;AAAA,EAE1E,MAAMC,GAAG;AACP,UAAMG,IAAMC,EAAA,GACN,EAAE,GAAA+C,EAAA,IAAMlB,EAAA,GACRa,IAAI7B,EAAI,CAAC;AACf,WAAO,MAAM;AACX,YAAMC,IAAIC,EAAI,aAAahB,EAAI,KAAK,GAC9BiD,IAAMpD,EAAE,MAAM8C,EAAE,KAAK;AAC3B,aAAOzB,EAAE,OAAO,EAAE,OAAOH,EAAA,KAAO;AAAA,QAC9BG;AAAA,UACE;AAAA,UACA,EAAE,OAAOH,EAAE,OAAO,GAAG,MAAM,UAAA;AAAA,UAC3BlB,EAAE,MAAM;AAAA,YAAI,CAACuB,GAAIZ,MACfU;AAAA,cACE;AAAA,cACA;AAAA,gBACE,KAAKV;AAAA,gBACL,MAAM;AAAA,gBACN,MAAM;AAAA,gBACN,iBAAiBA,MAAMmC,EAAE;AAAA,gBACzB,OAAOpB,EAAGR,EAAE,KAAK,GAAG,EAAE,aAAaP,MAAMmC,EAAE,OAAO,WAAWnC,IAAImC,EAAE,OAAO;AAAA,gBAC1E,SAAS,MAAOA,EAAE,QAAQnC;AAAA,cAAA;AAAA,cAE5BY,EAAG;AAAA,YAAA;AAAA,UACL;AAAA,QACF;AAAA,QAEFF,EAAE,OAAO,EAAE,OAAOH,EAAE,SAAS,GAAG,MAAM,cAAc,CAACG,EAAE,IAAIrB,EAAE,YAAY,IAAIoD,GAAK,KAAK,GAAG/B,EAAE,OAAO+B,GAAK,OAAO,CAAC,CAAC;AAAA,QACjH/B,EAAE,OAAO,EAAE,OAAOH,EAAE,KAAK,KAAK;AAAA,UAC5BG;AAAA,YACE;AAAA,YACA,EAAE,MAAM,UAAU,OAAO,GAAGlB,EAAI,KAAK,QAAQA,EAAI,KAAK,iBAAiB,UAAU2C,EAAE,UAAU,GAAG,SAAS,MAAMA,EAAE,QAAA;AAAA,YACjHK,EAAE,iBAAiB;AAAA,UAAA;AAAA,UAErB9B;AAAA,YACE;AAAA,YACA,EAAE,MAAM,UAAU,OAAO,GAAGlB,EAAI,KAAK,QAAQA,EAAI,KAAK,iBAAiB,UAAU2C,EAAE,UAAU9C,EAAE,MAAM,SAAS,GAAG,SAAS,MAAM8C,EAAE,QAAA;AAAA,YAClIK,EAAE,aAAa;AAAA,UAAA;AAAA,QACjB,CACD;AAAA,MAAA,CACF;AAAA,IACH;AAAA,EACF;AACF,CAAC,GAEYE,IAA4B,gBAAAtD,EAAgB;AAAA,EACvD,MAAM;AAAA,EACN,OAAO;AAAA,IACL,QAAQ,EAAE,MAAM,OAA8E,UAAU,GAAA;AAAA,IACxG,UAAU,EAAE,MAAM,QAAQ,SAAS,IAAA;AAAA,IACnC,MAAM;AAAA,IACN,QAAQ,EAAE,MAAM,SAAS,SAAS,GAAA;AAAA,IAClC,MAAM,EAAE,MAAM,SAAS,SAAS,GAAA;AAAA,IAChC,QAAQuD,EAAA;AAAA,IACR,WAAW;AAAA,EAAA;AAAA,EAEb,MAAMtD,GAAG,EAAE,OAAAC,KAAS;AAClB,UAAME,IAAMC,EAAA,GACN,EAAE,EAAA,IAAM6B,EAAA,GACRxB,IAAM8C,EAAe,EAAE,OAAOvD,EAAE,OAAO,QAAQ,UAAUA,EAAE,UAAU,MAAM,GAAA,CAAM;AACvF,IAAAY;AAAA,MACE,MAAMZ,EAAE,OAAO;AAAA,MACf,CAACmC,MAAM1B,EAAI,SAAS0B,CAAC;AAAA,IAAA,GAEvBqB,EAAU/C,EAAI,IAAI,GAClBgD,EAAgBhD,EAAI,OAAO;AAC3B,UAAMiD,IAAM3C,EAASN,EAAI,KAAK;AAC9B,WAAO,MAAM;AACX,YAAMS,IAAIC,EAAI,YAAYhB,EAAI,KAAK,GAC7BwD,IAAK,OAAO3D,EAAE,UAAW,WAAW,GAAGA,EAAE,MAAM,OAAOA,EAAE;AAC9D,aAAOqB;AAAA,QACL;AAAA,QACA;AAAA,UACE,OAAOH,EAAE,EAAE,MAAMlB,EAAE,MAAM;AAAA,UACzB,MAAM;AAAA,UACN,wBAAwB;AAAA,UACxB,cAAcA,EAAE,aAAa,GAAG,EAAE,iBAAiB,CAAC,KAAKA,EAAE,OAAO,MAAM;AAAA,UACxE,cAAcS,EAAI;AAAA,UAClB,cAAcA,EAAI;AAAA,UAClB,WAAWA,EAAI;AAAA,UACf,YAAYA,EAAI;AAAA,QAAA;AAAA,QAElB;AAAA,UACEY;AAAA,YACE;AAAA,YACA,EAAE,OAAOH,EAAE,OAAO,GAAG,OAAOlB,EAAE,OAAO,SAAY,EAAE,WAAW,eAAe0D,EAAI,QAAQ,GAAG,OAAK;AAAA,YACjG1D,EAAE,OAAO;AAAA,cAAI,CAAC2C,GAAGG,MACfzB;AAAA,gBACE;AAAA,gBACA;AAAA,kBACE,KAAKyB;AAAA,kBACL,OAAOpB,EAAGR,EAAE,OAAO,GAAG,EAAE,aAAa4B,MAAMY,EAAI,OAAO;AAAA,kBACtD,MAAM;AAAA,kBACN,wBAAwB;AAAA,kBACxB,eAAeZ,MAAMY,EAAI;AAAA,kBACzB,OAAO,EAAE,QAAQC,EAAA;AAAA,gBAAG;AAAA,gBAEtB;AAAA,kBACEhB,EAAE,QAAQtB,EAAE,OAAO,EAAE,KAAKsB,EAAE,OAAO,KAAKA,EAAE,OAAO,IAAI,OAAOgB,IAAK,EAAE,QAAQ,QAAQ,WAAW,QAAA,IAAY,OAAA,CAAW,IAAI;AAAA,kBACzH1D,EAAM,QAAQ,EAAE,OAAO0C,GAAG,OAAOG,GAAG;AAAA,kBACpCH,EAAE,UAAUtB,EAAE,OAAO,EAAE,OAAOH,EAAE,SAAS,EAAA,GAAKyB,EAAE,OAAO,IAAI;AAAA,gBAAA;AAAA,cAC7D;AAAA,YACF;AAAA,UACF;AAAA,UAEF3C,EAAE,UAAUA,EAAE,OAAO,SAAS,IAC1B;AAAA,YACEqB,EAAE,UAAU,EAAE,MAAM,UAAU,OAAOH,EAAE,SAAS,EAAE,MAAM,GAAA,CAAM,GAAG,SAAST,EAAI,MAAM,cAAc,EAAE,iBAAiB,EAAA,GAAKkB,EAAK,cAAc,CAAC;AAAA,YAC9IN,EAAE,UAAU,EAAE,MAAM,UAAU,OAAOH,EAAE,SAAS,EAAE,MAAM,GAAA,CAAM,GAAG,SAAST,EAAI,MAAM,cAAc,EAAE,aAAa,EAAA,GAAKkB,EAAK,eAAe,CAAC;AAAA,UAAA,IAE7I;AAAA,UACJ3B,EAAE,QAAQA,EAAE,OAAO,SAAS,IACxBqB;AAAA,YACE;AAAA,YACA,EAAE,OAAOH,EAAE,MAAM,EAAA;AAAA,YACjBlB,EAAE,OAAO;AAAA,cAAI,CAAC4D,GAAGd,MACfzB,EAAE,UAAU;AAAA,gBACV,KAAKyB;AAAA,gBACL,MAAM;AAAA,gBACN,OAAOpB,EAAG,EAAE,aAAaoB,MAAMY,EAAI,OAAO;AAAA,gBAC1C,SAAS,MAAMjD,EAAI,KAAKqC,CAAC;AAAA,gBACzB,cAAc,OAAOA,IAAI,CAAC;AAAA,gBAC1B,gBAAgBA,MAAMY,EAAI;AAAA,cAAA,CAC3B;AAAA,YAAA;AAAA,UACH,IAEF;AAAA,QAAA;AAAA,MACN;AAAA,IAEJ;AAAA,EACF;AACF,CAAC;"}
@@ -0,0 +1,303 @@
1
+ import { Placement, ThlSemanticColor } from '@thl-ui/core';
2
+ export declare const ThlModal: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
3
+ open: BooleanConstructor;
4
+ title: StringConstructor;
5
+ size: StringConstructor;
6
+ closeOnBackdrop: {
7
+ type: BooleanConstructor;
8
+ default: undefined;
9
+ };
10
+ closeOnEsc: {
11
+ type: BooleanConstructor;
12
+ default: undefined;
13
+ };
14
+ centered: {
15
+ type: BooleanConstructor;
16
+ default: undefined;
17
+ };
18
+ scrollable: BooleanConstructor;
19
+ hideClose: BooleanConstructor;
20
+ modalClass: StringConstructor;
21
+ }>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
22
+ [key: string]: any;
23
+ }> | null, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("close" | "update:open")[], "close" | "update:open", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
24
+ open: BooleanConstructor;
25
+ title: StringConstructor;
26
+ size: StringConstructor;
27
+ closeOnBackdrop: {
28
+ type: BooleanConstructor;
29
+ default: undefined;
30
+ };
31
+ closeOnEsc: {
32
+ type: BooleanConstructor;
33
+ default: undefined;
34
+ };
35
+ centered: {
36
+ type: BooleanConstructor;
37
+ default: undefined;
38
+ };
39
+ scrollable: BooleanConstructor;
40
+ hideClose: BooleanConstructor;
41
+ modalClass: StringConstructor;
42
+ }>> & Readonly<{
43
+ onClose?: ((...args: any[]) => any) | undefined;
44
+ "onUpdate:open"?: ((...args: any[]) => any) | undefined;
45
+ }>, {
46
+ open: boolean;
47
+ scrollable: boolean;
48
+ hideClose: boolean;
49
+ closeOnBackdrop: boolean;
50
+ closeOnEsc: boolean;
51
+ centered: boolean;
52
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
53
+ export interface ConfirmOptions {
54
+ title?: string;
55
+ text?: string;
56
+ icon?: 'warning' | 'danger' | 'success' | 'info' | 'question';
57
+ confirmText?: string;
58
+ cancelText?: string;
59
+ confirmVariant?: ThlSemanticColor;
60
+ showCancel?: boolean;
61
+ }
62
+ export declare function confirm(opts?: ConfirmOptions): Promise<boolean>;
63
+ export declare const ThlConfirmHost: import('vue').DefineComponent<{}, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
64
+ [key: string]: any;
65
+ }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
66
+ export declare const ThlDrawer: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
67
+ open: BooleanConstructor;
68
+ title: StringConstructor;
69
+ side: {
70
+ type: import('vue').PropType<"start" | "end">;
71
+ default: "start" | "end";
72
+ };
73
+ wide: BooleanConstructor;
74
+ }>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
75
+ [key: string]: any;
76
+ }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("close" | "update:open")[], "close" | "update:open", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
77
+ open: BooleanConstructor;
78
+ title: StringConstructor;
79
+ side: {
80
+ type: import('vue').PropType<"start" | "end">;
81
+ default: "start" | "end";
82
+ };
83
+ wide: BooleanConstructor;
84
+ }>> & Readonly<{
85
+ onClose?: ((...args: any[]) => any) | undefined;
86
+ "onUpdate:open"?: ((...args: any[]) => any) | undefined;
87
+ }>, {
88
+ open: boolean;
89
+ wide: boolean;
90
+ side: "start" | "end";
91
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
92
+ export declare const ThlTooltip: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
93
+ content: StringConstructor;
94
+ placement: {
95
+ type: import('vue').PropType<Placement>;
96
+ default: Placement;
97
+ };
98
+ color: StringConstructor;
99
+ delay: NumberConstructor;
100
+ }>, () => (import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
101
+ [key: string]: any;
102
+ }> | null)[], {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
103
+ content: StringConstructor;
104
+ placement: {
105
+ type: import('vue').PropType<Placement>;
106
+ default: Placement;
107
+ };
108
+ color: StringConstructor;
109
+ delay: NumberConstructor;
110
+ }>> & Readonly<{}>, {
111
+ placement: Placement;
112
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
113
+ export declare const ThlPopover: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
114
+ title: StringConstructor;
115
+ content: StringConstructor;
116
+ placement: {
117
+ type: import('vue').PropType<Placement>;
118
+ default: Placement;
119
+ };
120
+ color: StringConstructor;
121
+ trigger: {
122
+ type: import('vue').PropType<"click" | "hover">;
123
+ default: "click" | "hover";
124
+ };
125
+ }>, () => (import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
126
+ [key: string]: any;
127
+ }> | null)[], {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
128
+ title: StringConstructor;
129
+ content: StringConstructor;
130
+ placement: {
131
+ type: import('vue').PropType<Placement>;
132
+ default: Placement;
133
+ };
134
+ color: StringConstructor;
135
+ trigger: {
136
+ type: import('vue').PropType<"click" | "hover">;
137
+ default: "click" | "hover";
138
+ };
139
+ }>> & Readonly<{}>, {
140
+ placement: Placement;
141
+ trigger: "click" | "hover";
142
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
143
+ export interface DropdownItem {
144
+ key: string;
145
+ label?: string;
146
+ icon?: string;
147
+ href?: string;
148
+ disabled?: boolean;
149
+ danger?: boolean;
150
+ divider?: boolean;
151
+ header?: boolean;
152
+ }
153
+ export declare const ThlDropdown: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
154
+ items: {
155
+ type: import('vue').PropType<DropdownItem[]>;
156
+ required: false;
157
+ };
158
+ align: {
159
+ type: import('vue').PropType<"start" | "end">;
160
+ default: "start" | "end";
161
+ };
162
+ placement: {
163
+ type: import('vue').PropType<"top" | "bottom">;
164
+ default: "top" | "bottom";
165
+ };
166
+ menuClass: StringConstructor;
167
+ animation: StringConstructor;
168
+ }>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
169
+ [key: string]: any;
170
+ }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, "select"[], "select", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
171
+ items: {
172
+ type: import('vue').PropType<DropdownItem[]>;
173
+ required: false;
174
+ };
175
+ align: {
176
+ type: import('vue').PropType<"start" | "end">;
177
+ default: "start" | "end";
178
+ };
179
+ placement: {
180
+ type: import('vue').PropType<"top" | "bottom">;
181
+ default: "top" | "bottom";
182
+ };
183
+ menuClass: StringConstructor;
184
+ animation: StringConstructor;
185
+ }>> & Readonly<{
186
+ onSelect?: ((...args: any[]) => any) | undefined;
187
+ }>, {
188
+ placement: "top" | "bottom";
189
+ align: "start" | "end";
190
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
191
+ export declare const ThlToaster: import('vue').DefineComponent<{}, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
192
+ [key: string]: any;
193
+ }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
194
+ export declare const ThlProgress: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
195
+ value: {
196
+ type: NumberConstructor;
197
+ required: true;
198
+ };
199
+ max: {
200
+ type: NumberConstructor;
201
+ default: number;
202
+ };
203
+ color: StringConstructor;
204
+ size: StringConstructor;
205
+ striped: {
206
+ type: BooleanConstructor;
207
+ default: undefined;
208
+ };
209
+ animated: {
210
+ type: BooleanConstructor;
211
+ default: undefined;
212
+ };
213
+ vertical: BooleanConstructor;
214
+ label: {
215
+ type: import('vue').PropType<string | boolean>;
216
+ required: false;
217
+ };
218
+ }>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
219
+ [key: string]: any;
220
+ }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
221
+ value: {
222
+ type: NumberConstructor;
223
+ required: true;
224
+ };
225
+ max: {
226
+ type: NumberConstructor;
227
+ default: number;
228
+ };
229
+ color: StringConstructor;
230
+ size: StringConstructor;
231
+ striped: {
232
+ type: BooleanConstructor;
233
+ default: undefined;
234
+ };
235
+ animated: {
236
+ type: BooleanConstructor;
237
+ default: undefined;
238
+ };
239
+ vertical: BooleanConstructor;
240
+ label: {
241
+ type: import('vue').PropType<string | boolean>;
242
+ required: false;
243
+ };
244
+ }>> & Readonly<{}>, {
245
+ max: number;
246
+ vertical: boolean;
247
+ striped: boolean;
248
+ animated: boolean;
249
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
250
+ export declare const ThlProgressCircle: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
251
+ value: {
252
+ type: NumberConstructor;
253
+ required: true;
254
+ };
255
+ max: {
256
+ type: NumberConstructor;
257
+ default: number;
258
+ };
259
+ size: {
260
+ type: NumberConstructor;
261
+ default: number;
262
+ };
263
+ stroke: {
264
+ type: NumberConstructor;
265
+ default: number;
266
+ };
267
+ color: {
268
+ type: import('vue').PropType<string>;
269
+ default: string;
270
+ };
271
+ label: StringConstructor;
272
+ ariaLabel: StringConstructor;
273
+ }>, () => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
274
+ [key: string]: any;
275
+ }>, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
276
+ value: {
277
+ type: NumberConstructor;
278
+ required: true;
279
+ };
280
+ max: {
281
+ type: NumberConstructor;
282
+ default: number;
283
+ };
284
+ size: {
285
+ type: NumberConstructor;
286
+ default: number;
287
+ };
288
+ stroke: {
289
+ type: NumberConstructor;
290
+ default: number;
291
+ };
292
+ color: {
293
+ type: import('vue').PropType<string>;
294
+ default: string;
295
+ };
296
+ label: StringConstructor;
297
+ ariaLabel: StringConstructor;
298
+ }>> & Readonly<{}>, {
299
+ size: number;
300
+ max: number;
301
+ stroke: number;
302
+ color: string;
303
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;