@thl-ui/vue 0.1.0 → 0.1.1

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.
@@ -89,7 +89,7 @@ const fe = /* @__PURE__ */ p({
89
89
  }, u = (c) => c.hideBelow && `${t.value}-col-hidden-${c.hideBelow >= 1170 ? "lg" : c.hideBelow >= 1024 ? "md" : "sm"}`;
90
90
  return () => {
91
91
  s.value;
92
- const c = s.value, y = l.view(), m = f("table", t.value), C = l.allSelected(), b = a.manual ? a.total ?? a.data.length : y.total, $ = b === 0 ? 0 : (c.page - 1) * c.pageSize + 1, U = Math.min(b, c.page * c.pageSize), V = a.columns.length + (a.selectable ? 1 : 0);
92
+ const c = s.value, y = l.view(), m = f("table", t.value), C = l.allSelected(), b = a.manual ? a.total ?? a.data.length : y.total, $ = b === 0 ? 0 : (c.page - 1) * c.pageSize + 1, U = Math.min(b, c.page * c.pageSize), _ = a.columns.length + (a.selectable ? 1 : 0);
93
93
  return e("div", { "aria-busy": a.loading || void 0 }, [
94
94
  e("div", { class: `${t.value}-table-toolbar` }, [
95
95
  a.paginate ? e("label", [
@@ -169,8 +169,8 @@ const fe = /* @__PURE__ */ p({
169
169
  ),
170
170
  e(
171
171
  "tbody",
172
- y.rows.length === 0 ? [e("tr", { class: m("empty") }, e("td", { colspan: V }, a.loading ? n("common.loading") : a.emptyText ?? n("table.empty")))] : y.rows.map(
173
- ({ row: h, key: k }, _) => e("tr", { key: k, class: M({ "is-selected": l.isSelected(k) }) }, [
172
+ y.rows.length === 0 ? [e("tr", { class: m("empty") }, e("td", { colspan: _ }, a.loading ? n("common.loading") : a.emptyText ?? n("table.empty")))] : y.rows.map(
173
+ ({ row: h, key: k }, V) => e("tr", { key: k, class: M({ "is-selected": l.isSelected(k) }) }, [
174
174
  a.selectable ? e(
175
175
  "td",
176
176
  { class: m("check") },
@@ -181,7 +181,7 @@ const fe = /* @__PURE__ */ p({
181
181
  })
182
182
  ) : null,
183
183
  ...a.columns.map((w) => {
184
- const q = l.value(w, h), G = v.value && v.value.row === k && v.value.key === w.key, E = i[`cell-${w.key}`] ? i[`cell-${w.key}`]({ row: h, value: q, index: _ }) : String(q ?? "");
184
+ const q = l.value(w, h), G = v.value && v.value.row === k && v.value.key === w.key, E = i[`cell-${w.key}`] ? i[`cell-${w.key}`]({ row: h, value: q, index: V }) : String(q ?? "");
185
185
  return e(
186
186
  "td",
187
187
  { key: w.key, "data-label": w.title ?? w.key, style: { textAlign: w.align }, class: u(w) },
@@ -382,30 +382,38 @@ const fe = /* @__PURE__ */ p({
382
382
  const n = f("pricing-plan", r.value);
383
383
  return e(
384
384
  "div",
385
- { class: `${r.value}-pricing` },
386
- a.plans.map(
387
- (o, l) => e("div", { key: l, class: n({ featured: o.featured }) }, [
388
- o.tag ? e("div", { class: n("tag") }, o.tag) : null,
389
- e("div", { class: n("header") }, [
390
- e("h2", o.name),
391
- e("div", { class: n("price") }, [e("sup", o.currency ?? "$"), o.price]),
392
- e("p", { class: n("period") }, o.period ?? t("pages.pricing.perMonth"))
393
- ]),
394
- e(
395
- "ul",
396
- { class: n("features") },
397
- o.features.map((s, v) => e("li", { key: v, class: n("feature") }, [x(s.icon), s.text]))
398
- ),
399
- e(
400
- "div",
401
- { class: n("action") },
385
+ { class: `${r.value}-pricing-wrap` },
386
+ e(
387
+ "div",
388
+ { class: `${r.value}-pricing`, style: { "--_n": a.plans.length } },
389
+ a.plans.map(
390
+ (o, l) => e("div", { key: l, class: n({ featured: o.featured }) }, [
391
+ o.tag ? e("div", { class: n("tag") }, o.tag) : null,
392
+ e("div", { class: n("header") }, [
393
+ e("h2", o.name),
394
+ e("div", { class: n("price") }, [e("sup", o.currency ?? "$"), o.price]),
395
+ e("p", { class: n("period") }, o.period ?? t("pages.pricing.perMonth"))
396
+ ]),
402
397
  e(
403
- B,
404
- { variant: o.ctaVariant ?? (o.featured ? "danger" : "success"), size: o.featured ? "lg" : void 0, onClick: () => i("select", o, l) },
405
- () => o.cta ?? t("pages.pricing.signUp")
398
+ "ul",
399
+ { class: n("features") },
400
+ o.features.map((s, v) => e("li", { key: v, class: n("feature") }, [x(s.icon), s.text]))
401
+ ),
402
+ e(
403
+ "div",
404
+ { class: n("action") },
405
+ e(
406
+ B,
407
+ {
408
+ variant: o.ctaVariant ?? (o.featured ? "danger" : "success"),
409
+ size: o.featured ? "lg" : void 0,
410
+ onClick: () => i("select", o, l)
411
+ },
412
+ () => o.cta ?? t("pages.pricing.signUp")
413
+ )
406
414
  )
407
- )
408
- ])
415
+ ])
416
+ )
409
417
  )
410
418
  );
411
419
  };
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sources":["../../src/components/data.ts"],"sourcesContent":["import { defineComponent, h, ref, watch, computed, onMounted, onBeforeUnmount, type PropType } from 'vue';\nimport { bem, cx, createTable, monthGrid, weekdayNames, addMonths, toISODate, type ColumnDef, type ThlSemanticColor } from '@thl-ui/core';\nimport { pageSizeOptions } from '@thl-ui/core';\nimport { lineChart, barChart, pieChart, sparkline, formatTick, colorAt, type Series } from '@thl-ui/charts';\nimport { useDefaults, usePrefix, useI18n, useStore, useThlContext } from '../context';\nimport { icon, str, any } from './util';\nimport { ThlCheckbox } from './form';\nimport { ThlPagination } from './nav';\nimport { ThlButton, ThlLabel } from './basic';\nimport { ThlProgress } from './overlay';\n\n/* ---------------- SimpleTable ---------------- */\nexport const ThlTable = /*#__PURE__*/ defineComponent({\n name: 'ThlTable',\n props: { striped: Boolean, hover: Boolean, bordered: any<boolean | string>(), compact: Boolean, color: String, full: String },\n setup(p, { slots }) {\n const pre = usePrefix();\n return () =>\n h(\n 'div',\n { class: `${pre.value}-table-wrap` },\n h(\n 'table',\n {\n class: bem(\n 'table',\n pre.value,\n )({\n striped: p.striped,\n hover: p.hover,\n bordered: p.bordered === true || p.bordered === '',\n compact: p.compact,\n [`color-${p.color}`]: !!p.color,\n [`full-${p.full}`]: !!p.full,\n [`bordered-${p.bordered}`]: typeof p.bordered === 'string' && p.bordered !== '',\n }),\n },\n slots.default?.(),\n ),\n );\n },\n});\n\n/* ---------------- DataTable ---------------- */\nexport interface DataColumn<T = any> extends ColumnDef<T> {\n title?: string;\n}\nexport const ThlDataTable = /*#__PURE__*/ defineComponent({\n name: 'ThlDataTable',\n props: {\n data: { type: Array as PropType<any[]>, required: true },\n columns: { type: Array as PropType<DataColumn[]>, required: true },\n rowKey: any<string | ((r: any) => string | number)>(),\n pageSize: Number,\n paginate: { type: Boolean, default: true },\n searchable: { type: Boolean, default: true },\n selectable: Boolean,\n striped: { type: Boolean, default: undefined },\n hover: { type: Boolean, default: undefined },\n bordered: { type: Boolean, default: undefined },\n color: String,\n stack: Boolean,\n compact: Boolean,\n emptyText: String,\n manual: Boolean,\n total: Number,\n loading: Boolean,\n },\n emits: ['selection-change', 'cell-edit', 'query-change'],\n setup(p, { slots, emit }) {\n const pre = usePrefix();\n const { t } = useI18n();\n const d = useDefaults('Table', p as any);\n const api = createTable<any>({\n data: p.data,\n columns: p.columns,\n rowKey: p.rowKey as any,\n pageSize: (d.value.pageSize as number) ?? 10,\n paginate: p.paginate,\n manual: p.manual,\n total: p.total,\n });\n watch(\n () => p.data,\n (v) => api.setData(v),\n );\n watch(\n () => p.columns,\n (v) => api.setColumns(v),\n );\n const s = useStore(api.state);\n watch(\n () => s.value.selected,\n () => emit('selection-change', api.selectedRows()),\n );\n watch(\n () => [s.value.page, s.value.pageSize, s.value.sort, s.value.search],\n () => emit('query-change', { page: s.value.page, pageSize: s.value.pageSize, sort: s.value.sort, search: s.value.search }),\n );\n const editing = ref<{ row: string | number; key: string; value: string } | null>(null);\n const commit = () => {\n if (!editing.value) return;\n const e = editing.value;\n const next = api.updateCell(e.row, e.key, e.value);\n emit('cell-edit', { rowKey: e.row, key: e.key, value: e.value, data: next });\n editing.value = null;\n };\n const hideCls = (c: DataColumn) => c.hideBelow && `${pre.value}-col-hidden-${c.hideBelow >= 1170 ? 'lg' : c.hideBelow >= 1024 ? 'md' : 'sm'}`;\n return () => {\n void s.value; // track\n const st = s.value;\n const view = api.view();\n const b = bem('table', pre.value);\n const all = api.allSelected();\n const total = p.manual ? (p.total ?? p.data.length) : view.total;\n const from = total === 0 ? 0 : (st.page - 1) * st.pageSize + 1,\n to = Math.min(total, st.page * st.pageSize);\n const cols = p.columns.length + (p.selectable ? 1 : 0);\n return h('div', { 'aria-busy': p.loading || undefined }, [\n h('div', { class: `${pre.value}-table-toolbar` }, [\n p.paginate\n ? h('label', [\n t('table.show', { n: '\\u0000' }).split('\\u0000')[0],\n h(\n 'select',\n {\n class: `${pre.value}-input ${pre.value}-input--size-sm`,\n value: st.pageSize,\n 'aria-label': t('pagination.pageSize', { size: st.pageSize }),\n onChange: (e: Event) => api.setPageSize(Number((e.target as HTMLSelectElement).value)),\n },\n pageSizeOptions(d.value.pageSizes as number[] | undefined, st.pageSize).map((n) => h('option', { value: n, selected: n === st.pageSize }, n)),\n ),\n t('table.show', { n: '\\u0000' }).split('\\u0000')[1],\n ])\n : h('span'),\n h('div', { class: `${pre.value}-flex` }, [\n slots.toolbar?.(),\n p.searchable\n ? h('label', [\n t('table.search'),\n h('input', {\n type: 'search',\n class: `${pre.value}-input ${pre.value}-input--size-sm`,\n value: st.search,\n 'aria-label': t('common.search'),\n onInput: (e: Event) => api.setSearch((e.target as HTMLInputElement).value),\n }),\n ])\n : null,\n ]),\n ]),\n h(\n 'div',\n { class: `${pre.value}-table-wrap` },\n h(\n 'table',\n {\n class: b({\n striped: d.value.striped,\n hover: d.value.hover,\n bordered: d.value.bordered,\n compact: p.compact,\n stack: p.stack,\n [`color-${p.color}`]: !!p.color,\n }),\n },\n [\n h(\n 'thead',\n h('tr', [\n p.selectable\n ? h(\n 'th',\n { class: b('check') },\n h(ThlCheckbox, {\n modelValue: all === true,\n indeterminate: all === 'indeterminate',\n 'aria-label': t('common.selectAll'),\n onChange: () => api.toggleAll(),\n }),\n )\n : null,\n ...p.columns.map((c) => {\n const dir = api.sortDir(c.key);\n return h(\n 'th',\n {\n key: c.key,\n style: { width: typeof c.width === 'number' ? `${c.width}px` : c.width, textAlign: c.align },\n 'aria-sort': dir ? (dir === 'asc' ? 'ascending' : 'descending') : undefined,\n class: hideCls(c),\n },\n c.sortable\n ? h('button', { type: 'button', class: cx(b('sort'), dir && `is-${dir}`), onClick: () => api.toggleSort(c.key) }, [\n c.title ?? c.key,\n h('span', { class: b('sort-icon'), 'aria-hidden': 'true' }, [h('span', '▲'), h('span', '▼')]),\n ])\n : (c.title ?? c.key),\n );\n }),\n ]),\n ),\n h(\n 'tbody',\n view.rows.length === 0\n ? [h('tr', { class: b('empty') }, h('td', { colspan: cols }, p.loading ? t('common.loading') : (p.emptyText ?? t('table.empty'))))]\n : view.rows.map(({ row, key }, i) =>\n h('tr', { key, class: cx({ 'is-selected': api.isSelected(key) }) }, [\n p.selectable\n ? h(\n 'td',\n { class: b('check') },\n h(ThlCheckbox, {\n modelValue: api.isSelected(key),\n 'aria-label': t('common.selectRow', { n: String(key) }),\n onChange: () => api.toggleRow(key),\n }),\n )\n : null,\n ...p.columns.map((c) => {\n const raw = api.value(c, row);\n const isEd = editing.value && editing.value.row === key && editing.value.key === c.key;\n const content = slots[`cell-${c.key}`] ? slots[`cell-${c.key}`]!({ row, value: raw, index: i }) : String(raw ?? '');\n return h(\n 'td',\n { key: c.key, 'data-label': c.title ?? c.key, style: { textAlign: c.align }, class: hideCls(c) },\n isEd\n ? h('input', {\n class: `${pre.value}-input ${pre.value}-input--size-sm ${b('edit-input')}`,\n value: editing.value!.value,\n onVnodeMounted: (v: any) => v.el.focus(),\n onInput: (e: Event) => (editing.value!.value = (e.target as HTMLInputElement).value),\n onBlur: commit,\n onKeydown: (e: KeyboardEvent) => {\n if (e.key === 'Enter') commit();\n if (e.key === 'Escape') editing.value = null;\n },\n })\n : c.editable\n ? h(\n 'span',\n {\n role: 'button',\n tabindex: 0,\n class: b('editable'),\n onClick: () => (editing.value = { row: key, key: c.key, value: String(raw ?? '') }),\n onKeydown: (e: KeyboardEvent) =>\n e.key === 'Enter' && (editing.value = { row: key, key: c.key, value: String(raw ?? '') }),\n },\n content,\n )\n : content,\n );\n }),\n ]),\n ),\n ),\n ],\n ),\n ),\n p.paginate\n ? h('div', { class: `${pre.value}-table-footer` }, [\n h('span', [t('pagination.showing', { from, to, total }), st.selected.size ? ` · ${t('table.selected', { count: st.selected.size })}` : '']),\n h(ThlPagination, { page: st.page, total, pageSize: st.pageSize, size: 'sm', 'onUpdate:page': api.setPage }),\n ])\n : null,\n ]);\n };\n },\n});\n\n/* ---------------- List / Gallery ---------------- */\nexport const ThlList = /*#__PURE__*/ defineComponent({\n name: 'ThlList',\n props: {\n items: {\n type: Array as PropType<\n Array<{ key?: string | number; avatar?: string; icon?: string; iconColor?: string; title: string; description?: string; meta?: string }>\n >,\n required: true,\n },\n hover: Boolean,\n },\n emits: ['item-click'],\n setup(p, { emit, slots }) {\n const pre = usePrefix();\n return () => {\n const b = bem('list', pre.value);\n return h(\n 'ul',\n { class: b({ hover: p.hover }) },\n p.items.map((it, i) =>\n h(\n 'li',\n {\n key: it.key ?? i,\n class: b('item'),\n tabindex: p.hover ? 0 : undefined,\n onClick: () => emit('item-click', it),\n onKeydown: (e: KeyboardEvent) => e.key === 'Enter' && emit('item-click', it),\n },\n [\n it.avatar ? h('span', { class: `${pre.value}-avatar` }, h('img', { src: it.avatar, alt: '' })) : null,\n it.icon ? h('span', { class: b('icon', { [it.iconColor ?? 'primary']: true }) }, icon(it.icon)) : null,\n h('div', { class: b('body') }, [h('p', { class: b('title') }, it.title), it.description ? h('p', { class: b('desc') }, it.description) : null]),\n slots.meta ? slots.meta({ item: it }) : it.meta ? h('span', { class: b('meta') }, it.meta) : null,\n ],\n ),\n ),\n );\n };\n },\n});\nexport const ThlGallery = /*#__PURE__*/ defineComponent({\n name: 'ThlGallery',\n props: { images: { type: Array as PropType<Array<{ src: string; thumb?: string; alt?: string; caption?: string }>>, required: true } },\n setup(p) {\n const pre = usePrefix();\n const { t } = useI18n();\n const idx = ref<number | null>(null);\n const onKey = (e: KeyboardEvent) => {\n const cur = idx.value;\n if (cur === null) return;\n const n = p.images.length;\n if (e.key === 'Escape') idx.value = null;\n if (e.key === 'ArrowRight') idx.value = (cur + 1) % n;\n if (e.key === 'ArrowLeft') idx.value = (cur - 1 + n) % n;\n };\n onMounted(() => document.addEventListener('keydown', onKey));\n onBeforeUnmount(() => document.removeEventListener('keydown', onKey));\n return () => {\n const b = bem('gallery', pre.value),\n l = bem('lightbox', pre.value);\n const n = p.images.length;\n return [\n h(\n 'div',\n { class: b() },\n p.images.map((im, i) =>\n h(\n 'button',\n { key: i, type: 'button', class: b('item'), onClick: () => (idx.value = i) },\n h('img', { src: im.thumb ?? im.src, alt: im.alt ?? '', loading: 'lazy' }),\n ),\n ),\n ),\n idx.value !== null\n ? h('div', { class: l(), role: 'dialog', 'aria-modal': 'true', onClick: (e: MouseEvent) => e.target === e.currentTarget && (idx.value = null) }, [\n h('img', { src: p.images[idx.value].src, alt: p.images[idx.value].alt ?? '' }),\n h('button', { type: 'button', class: l('close'), onClick: () => (idx.value = null), 'aria-label': t('common.close') }, '×'),\n h(\n 'button',\n { type: 'button', class: l('nav', { prev: true }), onClick: () => (idx.value = (idx.value! - 1 + n) % n), 'aria-label': t('common.previous') },\n icon('chevron-left'),\n ),\n h(\n 'button',\n { type: 'button', class: l('nav', { next: true }), onClick: () => (idx.value = (idx.value! + 1) % n), 'aria-label': t('common.next') },\n icon('chevron-right'),\n ),\n p.images[idx.value].caption ? h('div', { class: l('caption') }, p.images[idx.value].caption) : null,\n ])\n : null,\n ];\n };\n },\n});\n\n/* ---------------- Widgets ---------------- */\nexport const ThlInfoBox = /*#__PURE__*/ defineComponent({\n name: 'ThlInfoBox',\n props: { icon: String, value: any<string | number>(), title: String, color: str('primary'), filled: Boolean, soft: Boolean },\n setup(p, { slots }) {\n const pre = usePrefix();\n return () => {\n const b = bem('info-box', pre.value);\n return h('div', { class: b({ [p.color]: true, filled: p.filled, soft: p.soft }) }, [\n p.icon ? h('span', { class: b('icon') }, icon(p.icon)) : null,\n h('div', { class: b('body') }, [\n h('div', { class: b('value') }, p.value),\n h('p', { class: b('title') }, p.title),\n slots.footer ? [h('span', { class: b('line') }), h('div', { class: b('foot') }, slots.footer())] : null,\n ]),\n ]);\n };\n },\n});\nexport const ThlStatBox = /*#__PURE__*/ defineComponent({\n name: 'ThlStatBox',\n props: {\n title: String,\n value: any<string | number>(),\n icon: String,\n color: str<ThlSemanticColor>('primary'),\n trend: String,\n delta: String,\n progress: Number,\n },\n setup(p, { slots }) {\n const pre = usePrefix();\n return () => {\n const b = bem('stat', pre.value);\n return h('div', { class: b({ [p.color]: true }) }, [\n h('div', { class: b('head') }, [h('h2', { class: b('title') }, p.title), p.icon ? h('span', { class: b('icon') }, icon(p.icon)) : null]),\n h('div', { class: b('value') }, [\n p.value,\n p.delta\n ? h('span', { class: b('delta', { [p.trend ?? 'up']: true }) }, [icon(p.trend === 'down' ? 'trending-down' : 'trending-up'), ' ', p.delta])\n : null,\n ]),\n p.progress !== undefined ? h(ThlProgress, { value: p.progress, color: p.color, size: 'sm' }) : null,\n slots.default?.(),\n ]);\n };\n },\n});\nexport const ThlColorBox = /*#__PURE__*/ defineComponent({\n name: 'ThlColorBox',\n props: { color: str('primary'), icon: String, label: String, value: any<string | number>() },\n setup(p, { slots }) {\n const pre = usePrefix();\n return () => {\n const b = bem('color-box', pre.value);\n return h('div', { class: b({ [p.color]: true }) }, [\n p.label ? h('div', { class: b('label') }, p.label) : null,\n p.value !== undefined ? h('div', { class: b('value') }, p.value) : null,\n slots.default?.(),\n p.icon ? h('span', { class: b('icon') }, icon(p.icon)) : null,\n ]);\n };\n },\n});\nexport const ThlStatsRow = /*#__PURE__*/ defineComponent({\n name: 'ThlStatsRow',\n props: { items: { type: Array as PropType<Array<{ label: string; value: string | number }>>, required: true } },\n setup(p) {\n const pre = usePrefix();\n return () => {\n const b = bem('stats-row', pre.value);\n return h(\n 'div',\n { class: b() },\n p.items.map((it, i) => h('div', { key: i, class: b('item') }, [h('div', { class: b('label') }, it.label), h('b', it.value)])),\n );\n };\n },\n});\nexport interface PricingPlanData {\n name: string;\n price: string | number;\n currency?: string;\n period?: string;\n features: Array<{ icon?: string; text: string }>;\n featured?: boolean;\n tag?: string;\n cta?: string;\n ctaVariant?: string;\n}\nexport const ThlPricingTable = /*#__PURE__*/ defineComponent({\n name: 'ThlPricingTable',\n props: { plans: { type: Array as PropType<PricingPlanData[]>, required: true } },\n emits: ['select'],\n setup(p, { emit }) {\n const pre = usePrefix();\n const { t } = useI18n();\n return () => {\n const b = bem('pricing-plan', pre.value);\n return h(\n 'div',\n { class: `${pre.value}-pricing` },\n p.plans.map((pl, i) =>\n h('div', { key: i, class: b({ featured: pl.featured }) }, [\n pl.tag ? h('div', { class: b('tag') }, pl.tag) : null,\n h('div', { class: b('header') }, [\n h('h2', pl.name),\n h('div', { class: b('price') }, [h('sup', pl.currency ?? '$'), pl.price]),\n h('p', { class: b('period') }, pl.period ?? t('pages.pricing.perMonth')),\n ]),\n h(\n 'ul',\n { class: b('features') },\n pl.features.map((f, k) => h('li', { key: k, class: b('feature') }, [icon(f.icon), f.text])),\n ),\n h(\n 'div',\n { class: b('action') },\n h(\n ThlButton,\n { variant: pl.ctaVariant ?? (pl.featured ? 'danger' : 'success'), size: pl.featured ? 'lg' : undefined, onClick: () => emit('select', pl, i) },\n () => pl.cta ?? t('pages.pricing.signUp'),\n ),\n ),\n ]),\n ),\n );\n };\n },\n});\nexport const ThlUserCard = /*#__PURE__*/ defineComponent({\n name: 'ThlUserCard',\n props: { image: { type: String, required: true }, name: String, subtitle: String },\n setup(p, { slots }) {\n const pre = usePrefix();\n return () => {\n const b = bem('user-card', pre.value);\n return h('div', { class: b() }, [\n h('div', { class: b('media'), tabindex: slots.actions ? 0 : undefined }, [\n h('img', { src: p.image, alt: '' }),\n slots.actions ? h('div', { class: b('overlay') }, slots.actions()) : null,\n ]),\n h('div', { class: b('content') }, [h('h2', p.name), p.subtitle ? h('small', p.subtitle) : null]),\n ]);\n };\n },\n});\nexport const ThlProfileCard = /*#__PURE__*/ defineComponent({\n name: 'ThlProfileCard',\n props: { cover: String, avatar: String, name: String, email: String, stats: Array as PropType<Array<{ label: string; value: string | number }>> },\n setup(p, { slots }) {\n const pre = usePrefix();\n return () => {\n const b = bem('profile-card', pre.value);\n return h('div', { class: b() }, [\n h('div', { class: b('cover') }, [\n p.cover ? h('img', { src: p.cover, alt: '' }) : null,\n h('div', { class: b('overlay') }, [\n p.avatar\n ? h('img', {\n src: p.avatar,\n alt: '',\n style: { width: '80px', height: '80px', borderRadius: '50%', border: '3px solid #fff', objectFit: 'cover' },\n })\n : null,\n h('h2', p.name),\n p.email ? h('div', p.email) : null,\n ]),\n ]),\n p.stats\n ? h(\n 'div',\n { class: b('stats') },\n p.stats.map((s, i) => h('div', { key: i }, [h('b', s.value), h('small', s.label)])),\n )\n : null,\n slots.default ? h('div', { class: b('body') }, slots.default()) : null,\n ]);\n };\n },\n});\nexport const ThlChat = /*#__PURE__*/ defineComponent({\n name: 'ThlChat',\n props: {\n messages: {\n type: Array as PropType<Array<{ id: string | number; from: string; avatar?: string; text: string; time?: string; me?: boolean }>>,\n required: true,\n },\n composer: Boolean,\n },\n emits: ['send'],\n setup(p, { emit }) {\n const pre = usePrefix();\n const { t } = useI18n();\n const text = ref('');\n return () => {\n const b = bem('chat', pre.value);\n return h('div', [\n h(\n 'ul',\n { class: b(), 'aria-live': 'polite' },\n p.messages.map((m) =>\n h('li', { key: m.id, class: b('msg', { me: m.me }) }, [\n m.avatar ? h('img', { src: m.avatar, alt: '', style: { width: '36px', height: '36px', borderRadius: '50%', objectFit: 'cover' } }) : null,\n h('div', [\n !m.me ? h('div', { class: b('name') }, m.from) : null,\n h('div', { class: b('bubble') }, m.text),\n m.time ? h('div', { class: b('time') }, m.time) : null,\n ]),\n ]),\n ),\n ),\n p.composer\n ? h(\n 'form',\n {\n class: b('composer'),\n onSubmit: (e: Event) => {\n e.preventDefault();\n if (text.value.trim()) {\n emit('send', text.value.trim());\n text.value = '';\n }\n },\n },\n [\n h('input', {\n class: `${pre.value}-input`,\n value: text.value,\n onInput: (e: Event) => (text.value = (e.target as HTMLInputElement).value),\n placeholder: `${t('layout.messages')}...`,\n 'aria-label': t('layout.messages'),\n }),\n h(ThlButton, { type: 'submit', variant: 'primary', circle: true, 'aria-label': t('pages.inbox.send') }, () => icon('send')),\n ],\n )\n : null,\n ]);\n };\n },\n});\nexport const ThlTodoList = /*#__PURE__*/ defineComponent({\n name: 'ThlTodoList',\n props: {\n items: { type: Array as PropType<Array<{ id: string | number; text: string; done?: boolean; badge?: { text: string; color?: string } }>>, required: true },\n addable: Boolean,\n },\n emits: ['toggle', 'remove', 'add'],\n setup(p, { emit }) {\n const pre = usePrefix();\n const { t } = useI18n();\n const text = ref('');\n return () => {\n const b = bem('todo', pre.value);\n return h('div', [\n h(\n 'ul',\n { class: b() },\n p.items.map((it) =>\n h('li', { key: it.id, class: cx(b('item'), { 'is-done': it.done }) }, [\n h('label', { class: `${pre.value}-check`, style: { margin: 0 } }, [\n h('input', {\n type: 'checkbox',\n class: `${pre.value}-check__input`,\n checked: !!it.done,\n 'aria-label': `${t('common.toggleDone')}: ${it.text}`,\n onChange: () => emit('toggle', it.id),\n }),\n h('span', { class: `${pre.value}-check__box` }),\n ]),\n h('span', { class: b('text') }, it.text),\n it.badge ? h(ThlLabel, { color: it.badge.color ?? 'info', rounded: true }, () => it.badge!.text) : null,\n h('button', { type: 'button', class: b('remove'), onClick: () => emit('remove', it.id), 'aria-label': t('common.delete') }, icon('trash-2')),\n ]),\n ),\n ),\n p.addable\n ? h(\n 'form',\n {\n class: `${pre.value}-flex ${pre.value}-mt-3`,\n style: { flexWrap: 'nowrap' },\n onSubmit: (e: Event) => {\n e.preventDefault();\n if (text.value.trim()) {\n emit('add', text.value.trim());\n text.value = '';\n }\n },\n },\n [\n h('input', {\n class: `${pre.value}-input`,\n value: text.value,\n onInput: (e: Event) => (text.value = (e.target as HTMLInputElement).value),\n placeholder: `${t('common.add')}...`,\n 'aria-label': t('common.add'),\n }),\n h(ThlButton, { type: 'submit', variant: 'success' }, () => t('common.add')),\n ],\n )\n : null,\n ]);\n };\n },\n});\nexport const ThlWeather = /*#__PURE__*/ defineComponent({\n name: 'ThlWeather',\n props: {\n city: String,\n temp: Number,\n condition: String,\n icon: str('cloud-sun'),\n days: Array as PropType<Array<{ day: string; temp: number; icon?: string }>>,\n },\n setup(p) {\n const pre = usePrefix();\n return () => {\n const b = bem('weather', pre.value);\n return h('div', { class: b() }, [\n h('div', { class: `${pre.value}-flex-between` }, [\n h('div', [\n h('div', { class: b('temp') }, [p.temp, h('sup', '°')]),\n h('div', p.condition),\n h('small', { style: { opacity: 0.85 } }, [icon('map-pin'), ' ', p.city]),\n ]),\n h('span', { class: b('icon') }, icon(p.icon, { strokeWidth: 1.5 })),\n ]),\n p.days\n ? h(\n 'div',\n { class: b('days') },\n p.days.map((d, i) => h('div', { key: i }, [h('div', d.day), icon(d.icon), h('b', `${d.temp}°`)])),\n )\n : null,\n ]);\n };\n },\n});\n\n/* ---------------- Charts ---------------- */\nfunction useWidth() {\n const el = ref<HTMLElement>();\n const w = ref(600);\n let ro: ResizeObserver | null = null;\n onMounted(() => {\n if (el.value && typeof ResizeObserver !== 'undefined') {\n ro = new ResizeObserver(([e]) => (w.value = Math.max(200, Math.round(e.contentRect.width))));\n ro.observe(el.value);\n }\n });\n onBeforeUnmount(() => ro?.disconnect());\n return { el, w };\n}\nconst legend = (pre: string, items: Array<{ name: string; color: string }>) =>\n h(\n 'ul',\n { class: `${pre}-chart-legend` },\n items.map((it, i) => h('li', { key: i }, [h('i', { style: { background: it.color } }), it.name])),\n );\nconst axisText = (x: number, y: number, s: string, anchor = 'middle') =>\n h('text', { x, y, 'text-anchor': anchor, 'font-size': 11, fill: 'var(--thl-text)' }, s);\n\nexport const ThlLineChart = /*#__PURE__*/ defineComponent({\n name: 'ThlLineChart',\n props: {\n series: { type: Array as PropType<Series[]>, required: true },\n labels: { type: Array as PropType<string[]>, required: true },\n height: { type: Number, default: 280 },\n area: Boolean,\n smooth: { type: Boolean, default: true },\n legend: { type: Boolean, default: true },\n },\n setup(p) {\n const pre = usePrefix();\n const { intlLocale } = useI18n();\n const { el, w } = useWidth();\n const hover = ref<number | null>(null);\n const c = computed(() => lineChart(p.series, p.labels, { width: w.value, height: p.height }, { smooth: p.smooth }));\n return () => {\n const ch = c.value;\n const loc = intlLocale();\n const n = Math.max(1, p.labels.length - 1);\n return h('div', { ref: el, class: `${pre.value}-chart` }, [\n p.legend\n ? legend(\n pre.value,\n ch.series.map((s) => ({ name: s.name, color: s.color })),\n )\n : null,\n h(\n 'svg',\n { width: w.value, height: p.height, role: 'img', 'aria-label': p.series.map((s) => s.name).join(', '), onMouseleave: () => (hover.value = null) },\n [\n ...ch.yTicks.map((tk) =>\n h('g', { key: tk.value }, [\n h('line', { x1: ch.plot.x, x2: ch.plot.x + ch.plot.width, y1: tk.y, y2: tk.y, stroke: 'var(--thl-border-color)' }),\n axisText(ch.plot.x - 8, tk.y + 4, formatTick(tk.value, loc), 'end'),\n ]),\n ),\n ...ch.xLabels.map((l, i) => h('g', { key: `x${i}` }, axisText(l.x, p.height - 8, l.label))),\n ...ch.series.map((s, si) =>\n h('g', { key: si }, [\n p.area ? h('path', { d: s.area, fill: s.color, opacity: 0.15 }) : null,\n h('path', { d: s.line, fill: 'none', stroke: s.color, 'stroke-width': 2.5, 'stroke-linejoin': 'round', 'stroke-linecap': 'round' }),\n ...s.points.map((pt, i) =>\n h('circle', { key: i, cx: pt.x, cy: pt.y, r: hover.value === i ? 5 : 3, fill: 'var(--thl-surface)', stroke: s.color, 'stroke-width': 2 }),\n ),\n ]),\n ),\n ...ch.xLabels.map((l, i) =>\n h('rect', {\n key: `h${i}`,\n x: l.x - ch.plot.width / n / 2,\n y: ch.plot.y,\n width: ch.plot.width / n,\n height: ch.plot.height,\n fill: 'transparent',\n onMouseenter: () => (hover.value = i),\n }),\n ),\n ],\n ),\n hover.value !== null\n ? h(\n 'div',\n {\n class: `${pre.value}-chart-tooltip`,\n style: {\n left: `${ch.xLabels[hover.value].x}px`,\n top: `${Math.min(...ch.series.map((s) => s.points[hover.value!]?.y ?? p.height)) + (p.legend ? 30 : 0)}px`,\n },\n },\n [\n h('b', p.labels[hover.value]),\n ...ch.series.map((s) => h('div', { key: s.name }, `${s.name}: ${formatTick(s.points[hover.value!]?.value ?? 0, loc)}`)),\n ],\n )\n : null,\n ]);\n };\n },\n});\nexport const ThlBarChart = /*#__PURE__*/ defineComponent({\n name: 'ThlBarChart',\n props: {\n series: { type: Array as PropType<Series[]>, required: true },\n labels: { type: Array as PropType<string[]>, required: true },\n height: { type: Number, default: 280 },\n stacked: Boolean,\n legend: { type: Boolean, default: true },\n },\n setup(p) {\n const pre = usePrefix();\n const { intlLocale, n } = useI18n();\n const { el, w } = useWidth();\n const c = computed(() => barChart(p.series, p.labels, { width: w.value, height: p.height }, { stacked: p.stacked }));\n return () => {\n const ch = c.value;\n const loc = intlLocale();\n return h('div', { ref: el, class: `${pre.value}-chart` }, [\n p.legend\n ? legend(\n pre.value,\n p.series.map((s, i) => ({ name: s.name, color: colorAt(i, s) })),\n )\n : null,\n h('svg', { width: w.value, height: p.height, role: 'img', 'aria-label': p.series.map((s) => s.name).join(', ') }, [\n ...ch.yTicks.map((tk) =>\n h('g', { key: tk.value }, [\n h('line', { x1: ch.plot.x, x2: ch.plot.x + ch.plot.width, y1: tk.y, y2: tk.y, stroke: 'var(--thl-border-color)' }),\n axisText(ch.plot.x - 8, tk.y + 4, formatTick(tk.value, loc), 'end'),\n ]),\n ),\n ...ch.xLabels.map((l, i) => h('g', { key: `x${i}` }, axisText(l.x, p.height - 8, l.label))),\n ...ch.bars.map((b, i) =>\n h(\n 'rect',\n { key: i, x: b.x, y: b.y, width: b.width, height: b.height, fill: b.color, rx: 2 },\n h('title', `${b.series} · ${b.label}: ${n(b.value)}`),\n ),\n ),\n ]),\n ]);\n };\n },\n});\nexport const ThlPieChart = /*#__PURE__*/ defineComponent({\n name: 'ThlPieChart',\n props: {\n data: { type: Array as PropType<Array<{ label: string; value: number; color?: string }>>, required: true },\n size: { type: Number, default: 220 },\n donut: { type: Number, default: 0.6 },\n legend: { type: Boolean, default: true },\n },\n setup(p, { slots }) {\n const pre = usePrefix();\n const { n } = useI18n();\n const hover = ref<number | null>(null);\n const slices = computed(() => pieChart(p.data, p.size, { donut: p.donut }));\n return () =>\n h('div', { class: `${pre.value}-chart`, style: { display: 'flex', flexDirection: 'column', alignItems: 'center' } }, [\n h('div', { style: { position: 'relative', width: `${p.size}px`, height: `${p.size}px` } }, [\n h(\n 'svg',\n { width: p.size, height: p.size, role: 'img', 'aria-label': p.data.map((d) => `${d.label} ${d.value}`).join(', ') },\n slices.value.map((s, i) =>\n h(\n 'path',\n {\n key: i,\n d: s.path,\n fill: s.color,\n stroke: 'var(--thl-surface)',\n 'stroke-width': 2,\n opacity: hover.value === null || hover.value === i ? 1 : 0.55,\n onMouseenter: () => (hover.value = i),\n onMouseleave: () => (hover.value = null),\n },\n h('title', `${s.label}: ${n(s.value)} (${s.percent.toFixed(1)}%)`),\n ),\n ),\n ),\n h(\n 'div',\n {\n style: {\n position: 'absolute',\n inset: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'column',\n pointerEvents: 'none',\n textAlign: 'center',\n },\n },\n hover.value !== null\n ? [\n h('b', { style: { fontSize: '22px', color: 'var(--thl-heading)' } }, `${slices.value[hover.value].percent.toFixed(0)}%`),\n h('small', slices.value[hover.value].label),\n ]\n : slots.center?.(),\n ),\n ]),\n p.legend\n ? h(\n 'div',\n { class: `${pre.value}-mt-3` },\n legend(\n pre.value,\n slices.value.map((s) => ({ name: s.label, color: s.color })),\n ),\n )\n : null,\n ]);\n },\n});\nexport const ThlSparkline = /*#__PURE__*/ defineComponent({\n name: 'ThlSparkline',\n props: {\n data: { type: Array as PropType<number[]>, required: true },\n width: { type: Number, default: 120 },\n height: { type: Number, default: 36 },\n type: str<'line' | 'bar' | 'area'>('line'),\n color: str('primary'),\n },\n setup(p) {\n const pre = usePrefix();\n return () => {\n const s = sparkline(p.data, p.width, p.height, p.type === 'bar' ? 'bar' : 'line');\n const c = `var(--${pre.value}-color-${p.color})`;\n return h(\n 'svg',\n {\n width: p.width,\n height: p.height,\n viewBox: `0 0 ${p.width} ${p.height}`,\n role: 'img',\n 'aria-label': p.data.join(', '),\n style: { overflow: 'visible', maxWidth: '100%', height: 'auto' },\n },\n p.type === 'bar'\n ? s.bars.map((b, i) => h('rect', { key: i, x: b.x, y: b.y, width: b.width, height: b.height, fill: c, rx: 1 }))\n : [\n p.type === 'area' ? h('path', { d: s.area, fill: c, opacity: 0.2 }) : null,\n h('path', { d: s.line, fill: 'none', stroke: c, 'stroke-width': 2, 'stroke-linejoin': 'round' }),\n s.last ? h('circle', { cx: s.last[0], cy: s.last[1], r: 3, fill: c }) : null,\n ],\n );\n };\n },\n});\n\n/* ---------------- Calendar ---------------- */\nexport interface CalendarEvent {\n id: string | number;\n title: string;\n date: string;\n color?: string;\n}\nexport const ThlCalendar = /*#__PURE__*/ defineComponent({\n name: 'ThlCalendar',\n props: { events: { type: Array as PropType<CalendarEvent[]>, required: true } },\n emits: ['event-move', 'date-click', 'event-click'],\n setup(p, { emit }) {\n const pre = usePrefix();\n const { t, d, intlLocale } = useI18n();\n const ctx = useThlContext();\n const month = ref(new Date(new Date().getFullYear(), new Date().getMonth(), 1));\n const drop = ref<string | null>(null);\n const byDate = computed(() => {\n const m: Record<string, CalendarEvent[]> = {};\n p.events.forEach((e) => (m[e.date] ??= []).push(e));\n return m;\n });\n return () => {\n const ws = ((ctx.config.value.components.DatePicker?.weekStartsOn as number) ?? 1) as 0 | 1;\n const loc = intlLocale();\n const b = bem('calendar', pre.value);\n return h('div', { class: b() }, [\n h('div', { class: b('toolbar') }, [\n h('div', { class: `${pre.value}-btn-group` }, [\n h(ThlButton, { size: 'sm', 'aria-label': t('common.previous'), onClick: () => (month.value = addMonths(month.value, -1)) }, () =>\n icon('chevron-left'),\n ),\n h(ThlButton, { size: 'sm', 'aria-label': t('common.next'), onClick: () => (month.value = addMonths(month.value, 1)) }, () => icon('chevron-right')),\n ]),\n h('h2', { 'aria-live': 'polite' }, new Intl.DateTimeFormat(loc, { month: 'long', year: 'numeric' }).format(month.value)),\n h(\n ThlButton,\n {\n size: 'sm',\n variant: 'primary',\n onClick: () => {\n const d = new Date();\n month.value = new Date(d.getFullYear(), d.getMonth(), 1);\n },\n },\n () => t('datepicker.today'),\n ),\n ]),\n h('div', { class: b('grid') }, [\n ...weekdayNames(loc, ws, 'short').map((n) => h('div', { key: n, class: b('dow'), 'aria-hidden': 'true' }, n)),\n ...monthGrid(month.value.getFullYear(), month.value.getMonth(), ws)\n .flat()\n .map((c) => {\n const iso = toISODate(c.date);\n return h(\n 'div',\n {\n key: c.key,\n role: 'group',\n 'aria-label': d(c.date, { dateStyle: 'full' }),\n class: cx(b('cell'), { 'is-outside': !c.inMonth, 'is-today': c.today, 'is-drop': drop.value === iso }),\n onClick: () => emit('date-click', iso),\n onDragover: (e: DragEvent) => {\n e.preventDefault();\n drop.value = iso;\n },\n onDragleave: () => (drop.value = null),\n onDrop: (e: DragEvent) => {\n e.preventDefault();\n drop.value = null;\n const id = e.dataTransfer?.getData('text/thl-event');\n if (id) emit('event-move', isNaN(Number(id)) ? id : Number(id), iso);\n },\n },\n [\n h('span', { class: b('date'), 'aria-hidden': 'true' }, c.date.getDate()),\n ...(byDate.value[iso] ?? []).map((ev) =>\n h(\n 'button',\n {\n key: ev.id,\n type: 'button',\n draggable: true,\n class: b('event', { [ev.color ?? 'primary']: true }),\n title: ev.title,\n onDragstart: (e: DragEvent) => e.dataTransfer?.setData('text/thl-event', String(ev.id)),\n onClick: (e: Event) => {\n e.stopPropagation();\n emit('event-click', ev);\n },\n },\n ev.title,\n ),\n ),\n ],\n );\n }),\n ]),\n ]);\n };\n },\n});\n"],"names":["ThlTable","defineComponent","any","p","slots","pre","usePrefix","h","bem","ThlDataTable","emit","t","useI18n","d","useDefaults","api","createTable","watch","v","useStore","editing","ref","commit","e","next","hideCls","st","view","b","all","total","from","to","cols","pageSizeOptions","n","ThlCheckbox","c","dir","cx","row","key","i","raw","isEd","content","ThlPagination","ThlList","it","icon","ThlGallery","idx","onKey","cur","onMounted","onBeforeUnmount","im","ThlInfoBox","str","ThlStatBox","ThlProgress","ThlColorBox","ThlStatsRow","ThlPricingTable","pl","f","k","ThlButton","ThlUserCard","ThlProfileCard","s","ThlChat","text","m","ThlTodoList","ThlLabel","ThlWeather","useWidth","el","w","ro","legend","items","axisText","x","y","anchor","ThlLineChart","intlLocale","hover","computed","lineChart","ch","loc","tk","formatTick","l","si","pt","ThlBarChart","barChart","colorAt","ThlPieChart","slices","pieChart","ThlSparkline","sparkline","ThlCalendar","ctx","useThlContext","month","drop","byDate","ws","addMonths","weekdayNames","monthGrid","iso","toISODate","id","ev"],"mappings":";;;;;;;;;AAYO,MAAMA,KAAyB,gBAAAC,EAAgB;AAAA,EACpD,MAAM;AAAA,EACN,OAAO,EAAE,SAAS,SAAS,OAAO,SAAS,UAAUC,EAAA,GAAyB,SAAS,SAAS,OAAO,QAAQ,MAAM,OAAA;AAAA,EACrH,MAAMC,GAAG,EAAE,OAAAC,KAAS;AAClB,UAAMC,IAAMC,EAAA;AACZ,WAAO,MACLC;AAAA,MACE;AAAA,MACA,EAAE,OAAO,GAAGF,EAAI,KAAK,cAAA;AAAA,MACrBE;AAAA,QACE;AAAA,QACA;AAAA,UACE,OAAOC;AAAA,YACL;AAAA,YACAH,EAAI;AAAA,UAAA,EACJ;AAAA,YACA,SAASF,EAAE;AAAA,YACX,OAAOA,EAAE;AAAA,YACT,UAAUA,EAAE,aAAa,MAAQA,EAAE,aAAa;AAAA,YAChD,SAASA,EAAE;AAAA,YACX,CAAC,SAASA,EAAE,KAAK,EAAE,GAAG,CAAC,CAACA,EAAE;AAAA,YAC1B,CAAC,QAAQA,EAAE,IAAI,EAAE,GAAG,CAAC,CAACA,EAAE;AAAA,YACxB,CAAC,YAAYA,EAAE,QAAQ,EAAE,GAAG,OAAOA,EAAE,YAAa,YAAYA,EAAE,aAAa;AAAA,UAAA,CAC9E;AAAA,QAAA;AAAA,QAEHC,EAAM,UAAA;AAAA,MAAU;AAAA,IAClB;AAAA,EAEN;AACF,CAAC,GAMYK,KAA6B,gBAAAR,EAAgB;AAAA,EACxD,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM,EAAE,MAAM,OAA0B,UAAU,GAAA;AAAA,IAClD,SAAS,EAAE,MAAM,OAAiC,UAAU,GAAA;AAAA,IAC5D,QAAQC,EAAA;AAAA,IACR,UAAU;AAAA,IACV,UAAU,EAAE,MAAM,SAAS,SAAS,GAAA;AAAA,IACpC,YAAY,EAAE,MAAM,SAAS,SAAS,GAAA;AAAA,IACtC,YAAY;AAAA,IACZ,SAAS,EAAE,MAAM,SAAS,SAAS,OAAA;AAAA,IACnC,OAAO,EAAE,MAAM,SAAS,SAAS,OAAA;AAAA,IACjC,UAAU,EAAE,MAAM,SAAS,SAAS,OAAA;AAAA,IACpC,OAAO;AAAA,IACP,OAAO;AAAA,IACP,SAAS;AAAA,IACT,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,SAAS;AAAA,EAAA;AAAA,EAEX,OAAO,CAAC,oBAAoB,aAAa,cAAc;AAAA,EACvD,MAAMC,GAAG,EAAE,OAAAC,GAAO,MAAAM,KAAQ;AACxB,UAAML,IAAMC,EAAA,GACN,EAAE,GAAAK,EAAA,IAAMC,EAAA,GACRC,IAAIC,GAAY,SAASX,CAAQ,GACjCY,IAAMC,EAAiB;AAAA,MAC3B,MAAMb,EAAE;AAAA,MACR,SAASA,EAAE;AAAA,MACX,QAAQA,EAAE;AAAA,MACV,UAAWU,EAAE,MAAM,YAAuB;AAAA,MAC1C,UAAUV,EAAE;AAAA,MACZ,QAAQA,EAAE;AAAA,MACV,OAAOA,EAAE;AAAA,IAAA,CACV;AACD,IAAAc;AAAA,MACE,MAAMd,EAAE;AAAA,MACR,CAACe,MAAMH,EAAI,QAAQG,CAAC;AAAA,IAAA,GAEtBD;AAAA,MACE,MAAMd,EAAE;AAAA,MACR,CAACe,MAAMH,EAAI,WAAWG,CAAC;AAAA,IAAA;AAEzB,UAAM,IAAIC,GAASJ,EAAI,KAAK;AAC5B,IAAAE;AAAA,MACE,MAAM,EAAE,MAAM;AAAA,MACd,MAAMP,EAAK,oBAAoBK,EAAI,cAAc;AAAA,IAAA,GAEnDE;AAAA,MACE,MAAM,CAAC,EAAE,MAAM,MAAM,EAAE,MAAM,UAAU,EAAE,MAAM,MAAM,EAAE,MAAM,MAAM;AAAA,MACnE,MAAMP,EAAK,gBAAgB,EAAE,MAAM,EAAE,MAAM,MAAM,UAAU,EAAE,MAAM,UAAU,MAAM,EAAE,MAAM,MAAM,QAAQ,EAAE,MAAM,QAAQ;AAAA,IAAA;AAE3H,UAAMU,IAAUC,EAAiE,IAAI,GAC/EC,IAAS,MAAM;AACnB,UAAI,CAACF,EAAQ,MAAO;AACpB,YAAMG,IAAIH,EAAQ,OACZI,IAAOT,EAAI,WAAWQ,EAAE,KAAKA,EAAE,KAAKA,EAAE,KAAK;AACjD,MAAAb,EAAK,aAAa,EAAE,QAAQa,EAAE,KAAK,KAAKA,EAAE,KAAK,OAAOA,EAAE,OAAO,MAAMC,GAAM,GAC3EJ,EAAQ,QAAQ;AAAA,IAClB,GACMK,IAAU,CAAC,MAAkB,EAAE,aAAa,GAAGpB,EAAI,KAAK,eAAe,EAAE,aAAa,OAAO,OAAO,EAAE,aAAa,OAAO,OAAO,IAAI;AAC3I,WAAO,MAAM;AACX,MAAK,EAAE;AACP,YAAMqB,IAAK,EAAE,OACPC,IAAOZ,EAAI,KAAA,GACXa,IAAIpB,EAAI,SAASH,EAAI,KAAK,GAC1BwB,IAAMd,EAAI,YAAA,GACVe,IAAQ3B,EAAE,SAAUA,EAAE,SAASA,EAAE,KAAK,SAAUwB,EAAK,OACrDI,IAAOD,MAAU,IAAI,KAAKJ,EAAG,OAAO,KAAKA,EAAG,WAAW,GAC3DM,IAAK,KAAK,IAAIF,GAAOJ,EAAG,OAAOA,EAAG,QAAQ,GACtCO,IAAO9B,EAAE,QAAQ,UAAUA,EAAE,aAAa,IAAI;AACpD,aAAOI,EAAE,OAAO,EAAE,aAAaJ,EAAE,WAAW,UAAa;AAAA,QACvDI,EAAE,OAAO,EAAE,OAAO,GAAGF,EAAI,KAAK,oBAAoB;AAAA,UAChDF,EAAE,WACEI,EAAE,SAAS;AAAA,YACTI,EAAE,cAAc,EAAE,GAAG,KAAA,CAAU,EAAE,MAAM,IAAQ,EAAE,CAAC;AAAA,YAClDJ;AAAA,cACE;AAAA,cACA;AAAA,gBACE,OAAO,GAAGF,EAAI,KAAK,UAAUA,EAAI,KAAK;AAAA,gBACtC,OAAOqB,EAAG;AAAA,gBACV,cAAcf,EAAE,uBAAuB,EAAE,MAAMe,EAAG,UAAU;AAAA,gBAC5D,UAAU,CAACH,MAAaR,EAAI,YAAY,OAAQQ,EAAE,OAA6B,KAAK,CAAC;AAAA,cAAA;AAAA,cAEvFW,EAAgBrB,EAAE,MAAM,WAAmCa,EAAG,QAAQ,EAAE,IAAI,CAACS,MAAM5B,EAAE,UAAU,EAAE,OAAO4B,GAAG,UAAUA,MAAMT,EAAG,SAAA,GAAYS,CAAC,CAAC;AAAA,YAAA;AAAA,YAE9IxB,EAAE,cAAc,EAAE,GAAG,KAAA,CAAU,EAAE,MAAM,IAAQ,EAAE,CAAC;AAAA,UAAA,CACnD,IACDJ,EAAE,MAAM;AAAA,UACZA,EAAE,OAAO,EAAE,OAAO,GAAGF,EAAI,KAAK,WAAW;AAAA,YACvCD,EAAM,UAAA;AAAA,YACND,EAAE,aACEI,EAAE,SAAS;AAAA,cACTI,EAAE,cAAc;AAAA,cAChBJ,EAAE,SAAS;AAAA,gBACT,MAAM;AAAA,gBACN,OAAO,GAAGF,EAAI,KAAK,UAAUA,EAAI,KAAK;AAAA,gBACtC,OAAOqB,EAAG;AAAA,gBACV,cAAcf,EAAE,eAAe;AAAA,gBAC/B,SAAS,CAACY,MAAaR,EAAI,UAAWQ,EAAE,OAA4B,KAAK;AAAA,cAAA,CAC1E;AAAA,YAAA,CACF,IACD;AAAA,UAAA,CACL;AAAA,QAAA,CACF;AAAA,QACDhB;AAAA,UACE;AAAA,UACA,EAAE,OAAO,GAAGF,EAAI,KAAK,cAAA;AAAA,UACrBE;AAAA,YACE;AAAA,YACA;AAAA,cACE,OAAOqB,EAAE;AAAA,gBACP,SAASf,EAAE,MAAM;AAAA,gBACjB,OAAOA,EAAE,MAAM;AAAA,gBACf,UAAUA,EAAE,MAAM;AAAA,gBAClB,SAASV,EAAE;AAAA,gBACX,OAAOA,EAAE;AAAA,gBACT,CAAC,SAASA,EAAE,KAAK,EAAE,GAAG,CAAC,CAACA,EAAE;AAAA,cAAA,CAC3B;AAAA,YAAA;AAAA,YAEH;AAAA,cACEI;AAAA,gBACE;AAAA,gBACAA,EAAE,MAAM;AAAA,kBACNJ,EAAE,aACEI;AAAA,oBACE;AAAA,oBACA,EAAE,OAAOqB,EAAE,OAAO,EAAA;AAAA,oBAClBrB,EAAE6B,GAAa;AAAA,sBACb,YAAYP,MAAQ;AAAA,sBACpB,eAAeA,MAAQ;AAAA,sBACvB,cAAclB,EAAE,kBAAkB;AAAA,sBAClC,UAAU,MAAMI,EAAI,UAAA;AAAA,oBAAU,CAC/B;AAAA,kBAAA,IAEH;AAAA,kBACJ,GAAGZ,EAAE,QAAQ,IAAI,CAACkC,MAAM;AACtB,0BAAMC,IAAMvB,EAAI,QAAQsB,EAAE,GAAG;AAC7B,2BAAO9B;AAAA,sBACL;AAAA,sBACA;AAAA,wBACE,KAAK8B,EAAE;AAAA,wBACP,OAAO,EAAE,OAAO,OAAOA,EAAE,SAAU,WAAW,GAAGA,EAAE,KAAK,OAAOA,EAAE,OAAO,WAAWA,EAAE,MAAA;AAAA,wBACrF,aAAaC,IAAOA,MAAQ,QAAQ,cAAc,eAAgB;AAAA,wBAClE,OAAOb,EAAQY,CAAC;AAAA,sBAAA;AAAA,sBAElBA,EAAE,WACE9B,EAAE,UAAU,EAAE,MAAM,UAAU,OAAOgC,EAAGX,EAAE,MAAM,GAAGU,KAAO,MAAMA,CAAG,EAAE,GAAG,SAAS,MAAMvB,EAAI,WAAWsB,EAAE,GAAG,KAAK;AAAA,wBAC9GA,EAAE,SAASA,EAAE;AAAA,wBACb9B,EAAE,QAAQ,EAAE,OAAOqB,EAAE,WAAW,GAAG,eAAe,OAAA,GAAU,CAACrB,EAAE,QAAQ,GAAG,GAAGA,EAAE,QAAQ,GAAG,CAAC,CAAC;AAAA,sBAAA,CAC7F,IACA8B,EAAE,SAASA,EAAE;AAAA,oBAAA;AAAA,kBAEtB,CAAC;AAAA,gBAAA,CACF;AAAA,cAAA;AAAA,cAEH9B;AAAA,gBACE;AAAA,gBACAoB,EAAK,KAAK,WAAW,IACjB,CAACpB,EAAE,MAAM,EAAE,OAAOqB,EAAE,OAAO,EAAA,GAAKrB,EAAE,MAAM,EAAE,SAAS0B,EAAA,GAAQ9B,EAAE,UAAUQ,EAAE,gBAAgB,IAAKR,EAAE,aAAaQ,EAAE,aAAa,CAAE,CAAC,CAAC,IAChIgB,EAAK,KAAK;AAAA,kBAAI,CAAC,EAAE,KAAAa,GAAK,KAAAC,EAAA,GAAOC,MAC3BnC,EAAE,MAAM,EAAE,KAAAkC,GAAK,OAAOF,EAAG,EAAE,eAAexB,EAAI,WAAW0B,CAAG,EAAA,CAAG,KAAK;AAAA,oBAClEtC,EAAE,aACEI;AAAA,sBACE;AAAA,sBACA,EAAE,OAAOqB,EAAE,OAAO,EAAA;AAAA,sBAClBrB,EAAE6B,GAAa;AAAA,wBACb,YAAYrB,EAAI,WAAW0B,CAAG;AAAA,wBAC9B,cAAc9B,EAAE,oBAAoB,EAAE,GAAG,OAAO8B,CAAG,GAAG;AAAA,wBACtD,UAAU,MAAM1B,EAAI,UAAU0B,CAAG;AAAA,sBAAA,CAClC;AAAA,oBAAA,IAEH;AAAA,oBACJ,GAAGtC,EAAE,QAAQ,IAAI,CAACkC,MAAM;AACtB,4BAAMM,IAAM5B,EAAI,MAAMsB,GAAGG,CAAG,GACtBI,IAAOxB,EAAQ,SAASA,EAAQ,MAAM,QAAQqB,KAAOrB,EAAQ,MAAM,QAAQiB,EAAE,KAC7EQ,IAAUzC,EAAM,QAAQiC,EAAE,GAAG,EAAE,IAAIjC,EAAM,QAAQiC,EAAE,GAAG,EAAE,EAAG,EAAE,KAAAG,GAAK,OAAOG,GAAK,OAAOD,GAAG,IAAI,OAAOC,KAAO,EAAE;AAClH,6BAAOpC;AAAA,wBACL;AAAA,wBACA,EAAE,KAAK8B,EAAE,KAAK,cAAcA,EAAE,SAASA,EAAE,KAAK,OAAO,EAAE,WAAWA,EAAE,MAAA,GAAS,OAAOZ,EAAQY,CAAC,EAAA;AAAA,wBAC7FO,IACIrC,EAAE,SAAS;AAAA,0BACT,OAAO,GAAGF,EAAI,KAAK,UAAUA,EAAI,KAAK,mBAAmBuB,EAAE,YAAY,CAAC;AAAA,0BACxE,OAAOR,EAAQ,MAAO;AAAA,0BACtB,gBAAgB,CAACF,MAAWA,EAAE,GAAG,MAAA;AAAA,0BACjC,SAAS,CAACK,MAAcH,EAAQ,MAAO,QAASG,EAAE,OAA4B;AAAA,0BAC9E,QAAQD;AAAA,0BACR,WAAW,CAACC,MAAqB;AAC/B,4BAAIA,EAAE,QAAQ,WAASD,EAAA,GACnBC,EAAE,QAAQ,aAAUH,EAAQ,QAAQ;AAAA,0BAC1C;AAAA,wBAAA,CACD,IACDiB,EAAE,WACA9B;AAAA,0BACE;AAAA,0BACA;AAAA,4BACE,MAAM;AAAA,4BACN,UAAU;AAAA,4BACV,OAAOqB,EAAE,UAAU;AAAA,4BACnB,SAAS,MAAOR,EAAQ,QAAQ,EAAE,KAAKqB,GAAK,KAAKJ,EAAE,KAAK,OAAO,OAAOM,KAAO,EAAE,EAAA;AAAA,4BAC/E,WAAW,CAACpB,MACVA,EAAE,QAAQ,YAAYH,EAAQ,QAAQ,EAAE,KAAKqB,GAAK,KAAKJ,EAAE,KAAK,OAAO,OAAOM,KAAO,EAAE,EAAA;AAAA,0BAAE;AAAA,0BAE3FE;AAAA,wBAAA,IAEFA;AAAA,sBAAA;AAAA,oBAEV,CAAC;AAAA,kBAAA,CACF;AAAA,gBAAA;AAAA,cACH;AAAA,YACN;AAAA,UACF;AAAA,QACF;AAAA,QAEF1C,EAAE,WACEI,EAAE,OAAO,EAAE,OAAO,GAAGF,EAAI,KAAK,mBAAmB;AAAA,UAC/CE,EAAE,QAAQ,CAACI,EAAE,sBAAsB,EAAE,MAAAoB,GAAM,IAAAC,GAAI,OAAAF,EAAA,CAAO,GAAGJ,EAAG,SAAS,OAAO,MAAMf,EAAE,kBAAkB,EAAE,OAAOe,EAAG,SAAS,KAAA,CAAM,CAAC,KAAK,EAAE,CAAC;AAAA,UAC1InB,EAAEuC,IAAe,EAAE,MAAMpB,EAAG,MAAM,OAAAI,GAAO,UAAUJ,EAAG,UAAU,MAAM,MAAM,iBAAiBX,EAAI,SAAS;AAAA,QAAA,CAC3G,IACD;AAAA,MAAA,CACL;AAAA,IACH;AAAA,EACF;AACF,CAAC,GAGYgC,KAAwB,gBAAA9C,EAAgB;AAAA,EACnD,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,MACL,MAAM;AAAA,MAGN,UAAU;AAAA,IAAA;AAAA,IAEZ,OAAO;AAAA,EAAA;AAAA,EAET,OAAO,CAAC,YAAY;AAAA,EACpB,MAAME,GAAG,EAAE,MAAAO,GAAM,OAAAN,KAAS;AACxB,UAAMC,IAAMC,EAAA;AACZ,WAAO,MAAM;AACX,YAAMsB,IAAIpB,EAAI,QAAQH,EAAI,KAAK;AAC/B,aAAOE;AAAA,QACL;AAAA,QACA,EAAE,OAAOqB,EAAE,EAAE,OAAOzB,EAAE,MAAA,CAAO,EAAA;AAAA,QAC7BA,EAAE,MAAM;AAAA,UAAI,CAAC6C,GAAIN,MACfnC;AAAA,YACE;AAAA,YACA;AAAA,cACE,KAAKyC,EAAG,OAAON;AAAA,cACf,OAAOd,EAAE,MAAM;AAAA,cACf,UAAUzB,EAAE,QAAQ,IAAI;AAAA,cACxB,SAAS,MAAMO,EAAK,cAAcsC,CAAE;AAAA,cACpC,WAAW,CAACzB,MAAqBA,EAAE,QAAQ,WAAWb,EAAK,cAAcsC,CAAE;AAAA,YAAA;AAAA,YAE7E;AAAA,cACEA,EAAG,SAASzC,EAAE,QAAQ,EAAE,OAAO,GAAGF,EAAI,KAAK,UAAA,GAAaE,EAAE,OAAO,EAAE,KAAKyC,EAAG,QAAQ,KAAK,IAAI,CAAC,IAAI;AAAA,cACjGA,EAAG,OAAOzC,EAAE,QAAQ,EAAE,OAAOqB,EAAE,QAAQ,EAAE,CAACoB,EAAG,aAAa,SAAS,GAAG,IAAM,EAAA,GAAKC,EAAKD,EAAG,IAAI,CAAC,IAAI;AAAA,cAClGzC,EAAE,OAAO,EAAE,OAAOqB,EAAE,MAAM,EAAA,GAAK,CAACrB,EAAE,KAAK,EAAE,OAAOqB,EAAE,OAAO,EAAA,GAAKoB,EAAG,KAAK,GAAGA,EAAG,cAAczC,EAAE,KAAK,EAAE,OAAOqB,EAAE,MAAM,KAAKoB,EAAG,WAAW,IAAI,IAAI,CAAC;AAAA,cAC9I5C,EAAM,OAAOA,EAAM,KAAK,EAAE,MAAM4C,EAAA,CAAI,IAAIA,EAAG,OAAOzC,EAAE,QAAQ,EAAE,OAAOqB,EAAE,MAAM,KAAKoB,EAAG,IAAI,IAAI;AAAA,YAAA;AAAA,UAC/F;AAAA,QACF;AAAA,MACF;AAAA,IAEJ;AAAA,EACF;AACF,CAAC,GACYE,KAA2B,gBAAAjD,EAAgB;AAAA,EACtD,MAAM;AAAA,EACN,OAAO,EAAE,QAAQ,EAAE,MAAM,OAA2F,UAAU,KAAK;AAAA,EACnI,MAAME,GAAG;AACP,UAAME,IAAMC,EAAA,GACN,EAAE,GAAAK,EAAA,IAAMC,EAAA,GACRuC,IAAM9B,EAAmB,IAAI,GAC7B+B,IAAQ,CAAC7B,MAAqB;AAClC,YAAM8B,IAAMF,EAAI;AAChB,UAAIE,MAAQ,KAAM;AAClB,YAAMlB,IAAIhC,EAAE,OAAO;AACnB,MAAIoB,EAAE,QAAQ,aAAU4B,EAAI,QAAQ,OAChC5B,EAAE,QAAQ,iBAAc4B,EAAI,SAASE,IAAM,KAAKlB,IAChDZ,EAAE,QAAQ,kBAAiB,SAAS8B,IAAM,IAAIlB,KAAKA;AAAA,IACzD;AACA,WAAAmB,EAAU,MAAM,SAAS,iBAAiB,WAAWF,CAAK,CAAC,GAC3DG,EAAgB,MAAM,SAAS,oBAAoB,WAAWH,CAAK,CAAC,GAC7D,MAAM;AACX,YAAMxB,IAAIpB,EAAI,WAAWH,EAAI,KAAK,GAChC,IAAIG,EAAI,YAAYH,EAAI,KAAK,GACzB8B,IAAIhC,EAAE,OAAO;AACnB,aAAO;AAAA,QACLI;AAAA,UACE;AAAA,UACA,EAAE,OAAOqB,IAAE;AAAA,UACXzB,EAAE,OAAO;AAAA,YAAI,CAACqD,GAAId,MAChBnC;AAAA,cACE;AAAA,cACA,EAAE,KAAKmC,GAAG,MAAM,UAAU,OAAOd,EAAE,MAAM,GAAG,SAAS,MAAOuB,EAAI,QAAQT,EAAA;AAAA,cACxEnC,EAAE,OAAO,EAAE,KAAKiD,EAAG,SAASA,EAAG,KAAK,KAAKA,EAAG,OAAO,IAAI,SAAS,QAAQ;AAAA,YAAA;AAAA,UAC1E;AAAA,QACF;AAAA,QAEFL,EAAI,UAAU,OACV5C,EAAE,OAAO,EAAE,OAAO,EAAA,GAAK,MAAM,UAAU,cAAc,QAAQ,SAAS,CAACgB,MAAkBA,EAAE,WAAWA,EAAE,kBAAkB4B,EAAI,QAAQ,SAAS;AAAA,UAC7I5C,EAAE,OAAO,EAAE,KAAKJ,EAAE,OAAOgD,EAAI,KAAK,EAAE,KAAK,KAAKhD,EAAE,OAAOgD,EAAI,KAAK,EAAE,OAAO,IAAI;AAAA,UAC7E5C,EAAE,UAAU,EAAE,MAAM,UAAU,OAAO,EAAE,OAAO,GAAG,SAAS,MAAO4C,EAAI,QAAQ,MAAO,cAAcxC,EAAE,cAAc,EAAA,GAAK,GAAG;AAAA,UAC1HJ;AAAA,YACE;AAAA,YACA,EAAE,MAAM,UAAU,OAAO,EAAE,OAAO,EAAE,MAAM,IAAM,GAAG,SAAS,MAAO4C,EAAI,SAASA,EAAI,QAAS,IAAIhB,KAAKA,GAAI,cAAcxB,EAAE,iBAAiB,EAAA;AAAA,YAC3IsC,EAAK,cAAc;AAAA,UAAA;AAAA,UAErB1C;AAAA,YACE;AAAA,YACA,EAAE,MAAM,UAAU,OAAO,EAAE,OAAO,EAAE,MAAM,GAAA,CAAM,GAAG,SAAS,MAAO4C,EAAI,SAASA,EAAI,QAAS,KAAKhB,GAAI,cAAcxB,EAAE,aAAa,EAAA;AAAA,YACnIsC,EAAK,eAAe;AAAA,UAAA;AAAA,UAEtB9C,EAAE,OAAOgD,EAAI,KAAK,EAAE,UAAU5C,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAA,GAAKJ,EAAE,OAAOgD,EAAI,KAAK,EAAE,OAAO,IAAI;AAAA,QAAA,CAChG,IACD;AAAA,MAAA;AAAA,IAER;AAAA,EACF;AACF,CAAC,GAGYM,KAA2B,gBAAAxD,EAAgB;AAAA,EACtD,MAAM;AAAA,EACN,OAAO,EAAE,MAAM,QAAQ,OAAOC,KAAwB,OAAO,QAAQ,OAAOwD,EAAI,SAAS,GAAG,QAAQ,SAAS,MAAM,QAAA;AAAA,EACnH,MAAMvD,GAAG,EAAE,OAAAC,KAAS;AAClB,UAAMC,IAAMC,EAAA;AACZ,WAAO,MAAM;AACX,YAAMsB,IAAIpB,EAAI,YAAYH,EAAI,KAAK;AACnC,aAAOE,EAAE,OAAO,EAAE,OAAOqB,EAAE,EAAE,CAACzB,EAAE,KAAK,GAAG,IAAM,QAAQA,EAAE,QAAQ,MAAMA,EAAE,KAAA,CAAM,KAAK;AAAA,QACjFA,EAAE,OAAOI,EAAE,QAAQ,EAAE,OAAOqB,EAAE,MAAM,EAAA,GAAKqB,EAAK9C,EAAE,IAAI,CAAC,IAAI;AAAA,QACzDI,EAAE,OAAO,EAAE,OAAOqB,EAAE,MAAM,KAAK;AAAA,UAC7BrB,EAAE,OAAO,EAAE,OAAOqB,EAAE,OAAO,EAAA,GAAKzB,EAAE,KAAK;AAAA,UACvCI,EAAE,KAAK,EAAE,OAAOqB,EAAE,OAAO,EAAA,GAAKzB,EAAE,KAAK;AAAA,UACrCC,EAAM,SAAS,CAACG,EAAE,QAAQ,EAAE,OAAOqB,EAAE,MAAM,GAAG,GAAGrB,EAAE,OAAO,EAAE,OAAOqB,EAAE,MAAM,EAAA,GAAKxB,EAAM,OAAA,CAAQ,CAAC,IAAI;AAAA,QAAA,CACpG;AAAA,MAAA,CACF;AAAA,IACH;AAAA,EACF;AACF,CAAC,GACYuD,KAA2B,gBAAA1D,EAAgB;AAAA,EACtD,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO;AAAA,IACP,OAAOC,EAAA;AAAA,IACP,MAAM;AAAA,IACN,OAAOwD,EAAsB,SAAS;AAAA,IACtC,OAAO;AAAA,IACP,OAAO;AAAA,IACP,UAAU;AAAA,EAAA;AAAA,EAEZ,MAAMvD,GAAG,EAAE,OAAAC,KAAS;AAClB,UAAMC,IAAMC,EAAA;AACZ,WAAO,MAAM;AACX,YAAMsB,IAAIpB,EAAI,QAAQH,EAAI,KAAK;AAC/B,aAAOE,EAAE,OAAO,EAAE,OAAOqB,EAAE,EAAE,CAACzB,EAAE,KAAK,GAAG,GAAA,CAAM,KAAK;AAAA,QACjDI,EAAE,OAAO,EAAE,OAAOqB,EAAE,MAAM,EAAA,GAAK,CAACrB,EAAE,MAAM,EAAE,OAAOqB,EAAE,OAAO,KAAKzB,EAAE,KAAK,GAAGA,EAAE,OAAOI,EAAE,QAAQ,EAAE,OAAOqB,EAAE,MAAM,EAAA,GAAKqB,EAAK9C,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;AAAA,QACvII,EAAE,OAAO,EAAE,OAAOqB,EAAE,OAAO,KAAK;AAAA,UAC9BzB,EAAE;AAAA,UACFA,EAAE,QACEI,EAAE,QAAQ,EAAE,OAAOqB,EAAE,SAAS,EAAE,CAACzB,EAAE,SAAS,IAAI,GAAG,IAAM,EAAA,GAAK,CAAC8C,EAAK9C,EAAE,UAAU,SAAS,kBAAkB,aAAa,GAAG,KAAKA,EAAE,KAAK,CAAC,IACxI;AAAA,QAAA,CACL;AAAA,QACDA,EAAE,aAAa,SAAYI,EAAEqD,IAAa,EAAE,OAAOzD,EAAE,UAAU,OAAOA,EAAE,OAAO,MAAM,KAAA,CAAM,IAAI;AAAA,QAC/FC,EAAM,UAAA;AAAA,MAAU,CACjB;AAAA,IACH;AAAA,EACF;AACF,CAAC,GACYyD,KAA4B,gBAAA5D,EAAgB;AAAA,EACvD,MAAM;AAAA,EACN,OAAO,EAAE,OAAOyD,EAAI,SAAS,GAAG,MAAM,QAAQ,OAAO,QAAQ,OAAOxD,EAAA,EAAqB;AAAA,EACzF,MAAMC,GAAG,EAAE,OAAAC,KAAS;AAClB,UAAMC,IAAMC,EAAA;AACZ,WAAO,MAAM;AACX,YAAMsB,IAAIpB,EAAI,aAAaH,EAAI,KAAK;AACpC,aAAOE,EAAE,OAAO,EAAE,OAAOqB,EAAE,EAAE,CAACzB,EAAE,KAAK,GAAG,GAAA,CAAM,KAAK;AAAA,QACjDA,EAAE,QAAQI,EAAE,OAAO,EAAE,OAAOqB,EAAE,OAAO,EAAA,GAAKzB,EAAE,KAAK,IAAI;AAAA,QACrDA,EAAE,UAAU,SAAYI,EAAE,OAAO,EAAE,OAAOqB,EAAE,OAAO,EAAA,GAAKzB,EAAE,KAAK,IAAI;AAAA,QACnEC,EAAM,UAAA;AAAA,QACND,EAAE,OAAOI,EAAE,QAAQ,EAAE,OAAOqB,EAAE,MAAM,EAAA,GAAKqB,EAAK9C,EAAE,IAAI,CAAC,IAAI;AAAA,MAAA,CAC1D;AAAA,IACH;AAAA,EACF;AACF,CAAC,GACY2D,KAA4B,gBAAA7D,EAAgB;AAAA,EACvD,MAAM;AAAA,EACN,OAAO,EAAE,OAAO,EAAE,MAAM,OAAqE,UAAU,KAAK;AAAA,EAC5G,MAAME,GAAG;AACP,UAAME,IAAMC,EAAA;AACZ,WAAO,MAAM;AACX,YAAMsB,IAAIpB,EAAI,aAAaH,EAAI,KAAK;AACpC,aAAOE;AAAA,QACL;AAAA,QACA,EAAE,OAAOqB,IAAE;AAAA,QACXzB,EAAE,MAAM,IAAI,CAAC6C,GAAIN,MAAMnC,EAAE,OAAO,EAAE,KAAKmC,GAAG,OAAOd,EAAE,MAAM,KAAK,CAACrB,EAAE,OAAO,EAAE,OAAOqB,EAAE,OAAO,KAAKoB,EAAG,KAAK,GAAGzC,EAAE,KAAKyC,EAAG,KAAK,CAAC,CAAC,CAAC;AAAA,MAAA;AAAA,IAEhI;AAAA,EACF;AACF,CAAC,GAYYe,KAAgC,gBAAA9D,EAAgB;AAAA,EAC3D,MAAM;AAAA,EACN,OAAO,EAAE,OAAO,EAAE,MAAM,OAAsC,UAAU,KAAK;AAAA,EAC7E,OAAO,CAAC,QAAQ;AAAA,EAChB,MAAME,GAAG,EAAE,MAAAO,KAAQ;AACjB,UAAML,IAAMC,EAAA,GACN,EAAE,EAAA,IAAMM,EAAA;AACd,WAAO,MAAM;AACX,YAAMgB,IAAIpB,EAAI,gBAAgBH,EAAI,KAAK;AACvC,aAAOE;AAAA,QACL;AAAA,QACA,EAAE,OAAO,GAAGF,EAAI,KAAK,WAAA;AAAA,QACrBF,EAAE,MAAM;AAAA,UAAI,CAAC6D,GAAItB,MACfnC,EAAE,OAAO,EAAE,KAAKmC,GAAG,OAAOd,EAAE,EAAE,UAAUoC,EAAG,SAAA,CAAU,KAAK;AAAA,YACxDA,EAAG,MAAMzD,EAAE,OAAO,EAAE,OAAOqB,EAAE,KAAK,EAAA,GAAKoC,EAAG,GAAG,IAAI;AAAA,YACjDzD,EAAE,OAAO,EAAE,OAAOqB,EAAE,QAAQ,KAAK;AAAA,cAC/BrB,EAAE,MAAMyD,EAAG,IAAI;AAAA,cACfzD,EAAE,OAAO,EAAE,OAAOqB,EAAE,OAAO,EAAA,GAAK,CAACrB,EAAE,OAAOyD,EAAG,YAAY,GAAG,GAAGA,EAAG,KAAK,CAAC;AAAA,cACxEzD,EAAE,KAAK,EAAE,OAAOqB,EAAE,QAAQ,EAAA,GAAKoC,EAAG,UAAU,EAAE,wBAAwB,CAAC;AAAA,YAAA,CACxE;AAAA,YACDzD;AAAA,cACE;AAAA,cACA,EAAE,OAAOqB,EAAE,UAAU,EAAA;AAAA,cACrBoC,EAAG,SAAS,IAAI,CAACC,GAAGC,MAAM3D,EAAE,MAAM,EAAE,KAAK2D,GAAG,OAAOtC,EAAE,SAAS,EAAA,GAAK,CAACqB,EAAKgB,EAAE,IAAI,GAAGA,EAAE,IAAI,CAAC,CAAC;AAAA,YAAA;AAAA,YAE5F1D;AAAA,cACE;AAAA,cACA,EAAE,OAAOqB,EAAE,QAAQ,EAAA;AAAA,cACnBrB;AAAA,gBACE4D;AAAA,gBACA,EAAE,SAASH,EAAG,eAAeA,EAAG,WAAW,WAAW,YAAY,MAAMA,EAAG,WAAW,OAAO,QAAW,SAAS,MAAMtD,EAAK,UAAUsD,GAAItB,CAAC,EAAA;AAAA,gBAC3I,MAAMsB,EAAG,OAAO,EAAE,sBAAsB;AAAA,cAAA;AAAA,YAC1C;AAAA,UACF,CACD;AAAA,QAAA;AAAA,MACH;AAAA,IAEJ;AAAA,EACF;AACF,CAAC,GACYI,KAA4B,gBAAAnE,EAAgB;AAAA,EACvD,MAAM;AAAA,EACN,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,UAAU,GAAA,GAAQ,MAAM,QAAQ,UAAU,OAAA;AAAA,EAC1E,MAAME,GAAG,EAAE,OAAAC,KAAS;AAClB,UAAMC,IAAMC,EAAA;AACZ,WAAO,MAAM;AACX,YAAMsB,IAAIpB,EAAI,aAAaH,EAAI,KAAK;AACpC,aAAOE,EAAE,OAAO,EAAE,OAAOqB,EAAA,KAAO;AAAA,QAC9BrB,EAAE,OAAO,EAAE,OAAOqB,EAAE,OAAO,GAAG,UAAUxB,EAAM,UAAU,IAAI,OAAA,GAAa;AAAA,UACvEG,EAAE,OAAO,EAAE,KAAKJ,EAAE,OAAO,KAAK,IAAI;AAAA,UAClCC,EAAM,UAAUG,EAAE,OAAO,EAAE,OAAOqB,EAAE,SAAS,EAAA,GAAKxB,EAAM,QAAA,CAAS,IAAI;AAAA,QAAA,CACtE;AAAA,QACDG,EAAE,OAAO,EAAE,OAAOqB,EAAE,SAAS,EAAA,GAAK,CAACrB,EAAE,MAAMJ,EAAE,IAAI,GAAGA,EAAE,WAAWI,EAAE,SAASJ,EAAE,QAAQ,IAAI,IAAI,CAAC;AAAA,MAAA,CAChG;AAAA,IACH;AAAA,EACF;AACF,CAAC,GACYkE,KAA+B,gBAAApE,EAAgB;AAAA,EAC1D,MAAM;AAAA,EACN,OAAO,EAAE,OAAO,QAAQ,QAAQ,QAAQ,MAAM,QAAQ,OAAO,QAAQ,OAAO,MAAA;AAAA,EAC5E,MAAME,GAAG,EAAE,OAAAC,KAAS;AAClB,UAAMC,IAAMC,EAAA;AACZ,WAAO,MAAM;AACX,YAAMsB,IAAIpB,EAAI,gBAAgBH,EAAI,KAAK;AACvC,aAAOE,EAAE,OAAO,EAAE,OAAOqB,EAAA,KAAO;AAAA,QAC9BrB,EAAE,OAAO,EAAE,OAAOqB,EAAE,OAAO,KAAK;AAAA,UAC9BzB,EAAE,QAAQI,EAAE,OAAO,EAAE,KAAKJ,EAAE,OAAO,KAAK,GAAA,CAAI,IAAI;AAAA,UAChDI,EAAE,OAAO,EAAE,OAAOqB,EAAE,SAAS,KAAK;AAAA,YAChCzB,EAAE,SACEI,EAAE,OAAO;AAAA,cACP,KAAKJ,EAAE;AAAA,cACP,KAAK;AAAA,cACL,OAAO,EAAE,OAAO,QAAQ,QAAQ,QAAQ,cAAc,OAAO,QAAQ,kBAAkB,WAAW,QAAA;AAAA,YAAQ,CAC3G,IACD;AAAA,YACJI,EAAE,MAAMJ,EAAE,IAAI;AAAA,YACdA,EAAE,QAAQI,EAAE,OAAOJ,EAAE,KAAK,IAAI;AAAA,UAAA,CAC/B;AAAA,QAAA,CACF;AAAA,QACDA,EAAE,QACEI;AAAA,UACE;AAAA,UACA,EAAE,OAAOqB,EAAE,OAAO,EAAA;AAAA,UAClBzB,EAAE,MAAM,IAAI,CAACmE,GAAG5B,MAAMnC,EAAE,OAAO,EAAE,KAAKmC,EAAA,GAAK,CAACnC,EAAE,KAAK+D,EAAE,KAAK,GAAG/D,EAAE,SAAS+D,EAAE,KAAK,CAAC,CAAC,CAAC;AAAA,QAAA,IAEpF;AAAA,QACJlE,EAAM,UAAUG,EAAE,OAAO,EAAE,OAAOqB,EAAE,MAAM,EAAA,GAAKxB,EAAM,QAAA,CAAS,IAAI;AAAA,MAAA,CACnE;AAAA,IACH;AAAA,EACF;AACF,CAAC,GACYmE,KAAwB,gBAAAtE,EAAgB;AAAA,EACnD,MAAM;AAAA,EACN,OAAO;AAAA,IACL,UAAU;AAAA,MACR,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,IAEZ,UAAU;AAAA,EAAA;AAAA,EAEZ,OAAO,CAAC,MAAM;AAAA,EACd,MAAME,GAAG,EAAE,MAAAO,KAAQ;AACjB,UAAML,IAAMC,EAAA,GACN,EAAE,EAAA,IAAMM,EAAA,GACR4D,IAAOnD,EAAI,EAAE;AACnB,WAAO,MAAM;AACX,YAAMO,IAAIpB,EAAI,QAAQH,EAAI,KAAK;AAC/B,aAAOE,EAAE,OAAO;AAAA,QACdA;AAAA,UACE;AAAA,UACA,EAAE,OAAOqB,KAAK,aAAa,SAAA;AAAA,UAC3BzB,EAAE,SAAS;AAAA,YAAI,CAACsE,MACdlE,EAAE,MAAM,EAAE,KAAKkE,EAAE,IAAI,OAAO7C,EAAE,OAAO,EAAE,IAAI6C,EAAE,GAAA,CAAI,KAAK;AAAA,cACpDA,EAAE,SAASlE,EAAE,OAAO,EAAE,KAAKkE,EAAE,QAAQ,KAAK,IAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,QAAQ,cAAc,OAAO,WAAW,UAAQ,CAAG,IAAI;AAAA,cACrIlE,EAAE,OAAO;AAAA,gBACNkE,EAAE,KAA8C,OAAzClE,EAAE,OAAO,EAAE,OAAOqB,EAAE,MAAM,EAAA,GAAK6C,EAAE,IAAI;AAAA,gBAC7ClE,EAAE,OAAO,EAAE,OAAOqB,EAAE,QAAQ,EAAA,GAAK6C,EAAE,IAAI;AAAA,gBACvCA,EAAE,OAAOlE,EAAE,OAAO,EAAE,OAAOqB,EAAE,MAAM,EAAA,GAAK6C,EAAE,IAAI,IAAI;AAAA,cAAA,CACnD;AAAA,YAAA,CACF;AAAA,UAAA;AAAA,QACH;AAAA,QAEFtE,EAAE,WACEI;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAOqB,EAAE,UAAU;AAAA,YACnB,UAAU,CAACL,MAAa;AACtB,cAAAA,EAAE,eAAA,GACEiD,EAAK,MAAM,WACb9D,EAAK,QAAQ8D,EAAK,MAAM,KAAA,CAAM,GAC9BA,EAAK,QAAQ;AAAA,YAEjB;AAAA,UAAA;AAAA,UAEF;AAAA,YACEjE,EAAE,SAAS;AAAA,cACT,OAAO,GAAGF,EAAI,KAAK;AAAA,cACnB,OAAOmE,EAAK;AAAA,cACZ,SAAS,CAACjD,MAAciD,EAAK,QAASjD,EAAE,OAA4B;AAAA,cACpE,aAAa,GAAG,EAAE,iBAAiB,CAAC;AAAA,cACpC,cAAc,EAAE,iBAAiB;AAAA,YAAA,CAClC;AAAA,YACDhB,EAAE4D,GAAW,EAAE,MAAM,UAAU,SAAS,WAAW,QAAQ,IAAM,cAAc,EAAE,kBAAkB,EAAA,GAAK,MAAMlB,EAAK,MAAM,CAAC;AAAA,UAAA;AAAA,QAC5H,IAEF;AAAA,MAAA,CACL;AAAA,IACH;AAAA,EACF;AACF,CAAC,GACYyB,KAA4B,gBAAAzE,EAAgB;AAAA,EACvD,MAAM;AAAA,EACN,OAAO;AAAA,IACL,OAAO,EAAE,MAAM,OAA2H,UAAU,GAAA;AAAA,IACpJ,SAAS;AAAA,EAAA;AAAA,EAEX,OAAO,CAAC,UAAU,UAAU,KAAK;AAAA,EACjC,MAAME,GAAG,EAAE,MAAAO,KAAQ;AACjB,UAAML,IAAMC,EAAA,GACN,EAAE,EAAA,IAAMM,EAAA,GACR4D,IAAOnD,EAAI,EAAE;AACnB,WAAO,MAAM;AACX,YAAMO,IAAIpB,EAAI,QAAQH,EAAI,KAAK;AAC/B,aAAOE,EAAE,OAAO;AAAA,QACdA;AAAA,UACE;AAAA,UACA,EAAE,OAAOqB,IAAE;AAAA,UACXzB,EAAE,MAAM;AAAA,YAAI,CAAC6C,MACXzC,EAAE,MAAM,EAAE,KAAKyC,EAAG,IAAI,OAAOT,EAAGX,EAAE,MAAM,GAAG,EAAE,WAAWoB,EAAG,KAAA,CAAM,KAAK;AAAA,cACpEzC,EAAE,SAAS,EAAE,OAAO,GAAGF,EAAI,KAAK,UAAU,OAAO,EAAE,QAAQ,EAAA,KAAO;AAAA,gBAChEE,EAAE,SAAS;AAAA,kBACT,MAAM;AAAA,kBACN,OAAO,GAAGF,EAAI,KAAK;AAAA,kBACnB,SAAS,CAAC,CAAC2C,EAAG;AAAA,kBACd,cAAc,GAAG,EAAE,mBAAmB,CAAC,KAAKA,EAAG,IAAI;AAAA,kBACnD,UAAU,MAAMtC,EAAK,UAAUsC,EAAG,EAAE;AAAA,gBAAA,CACrC;AAAA,gBACDzC,EAAE,QAAQ,EAAE,OAAO,GAAGF,EAAI,KAAK,eAAe;AAAA,cAAA,CAC/C;AAAA,cACDE,EAAE,QAAQ,EAAE,OAAOqB,EAAE,MAAM,EAAA,GAAKoB,EAAG,IAAI;AAAA,cACvCA,EAAG,QAAQzC,EAAEoE,IAAU,EAAE,OAAO3B,EAAG,MAAM,SAAS,QAAQ,SAAS,MAAQ,MAAMA,EAAG,MAAO,IAAI,IAAI;AAAA,cACnGzC,EAAE,UAAU,EAAE,MAAM,UAAU,OAAOqB,EAAE,QAAQ,GAAG,SAAS,MAAMlB,EAAK,UAAUsC,EAAG,EAAE,GAAG,cAAc,EAAE,eAAe,EAAA,GAAKC,EAAK,SAAS,CAAC;AAAA,YAAA,CAC5I;AAAA,UAAA;AAAA,QACH;AAAA,QAEF9C,EAAE,UACEI;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAO,GAAGF,EAAI,KAAK,SAASA,EAAI,KAAK;AAAA,YACrC,OAAO,EAAE,UAAU,SAAA;AAAA,YACnB,UAAU,CAACkB,MAAa;AACtB,cAAAA,EAAE,eAAA,GACEiD,EAAK,MAAM,WACb9D,EAAK,OAAO8D,EAAK,MAAM,KAAA,CAAM,GAC7BA,EAAK,QAAQ;AAAA,YAEjB;AAAA,UAAA;AAAA,UAEF;AAAA,YACEjE,EAAE,SAAS;AAAA,cACT,OAAO,GAAGF,EAAI,KAAK;AAAA,cACnB,OAAOmE,EAAK;AAAA,cACZ,SAAS,CAACjD,MAAciD,EAAK,QAASjD,EAAE,OAA4B;AAAA,cACpE,aAAa,GAAG,EAAE,YAAY,CAAC;AAAA,cAC/B,cAAc,EAAE,YAAY;AAAA,YAAA,CAC7B;AAAA,YACDhB,EAAE4D,GAAW,EAAE,MAAM,UAAU,SAAS,UAAA,GAAa,MAAM,EAAE,YAAY,CAAC;AAAA,UAAA;AAAA,QAC5E,IAEF;AAAA,MAAA,CACL;AAAA,IACH;AAAA,EACF;AACF,CAAC,GACYS,KAA2B,gBAAA3E,EAAgB;AAAA,EACtD,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW;AAAA,IACX,MAAMyD,EAAI,WAAW;AAAA,IACrB,MAAM;AAAA,EAAA;AAAA,EAER,MAAMvD,GAAG;AACP,UAAME,IAAMC,EAAA;AACZ,WAAO,MAAM;AACX,YAAMsB,IAAIpB,EAAI,WAAWH,EAAI,KAAK;AAClC,aAAOE,EAAE,OAAO,EAAE,OAAOqB,EAAA,KAAO;AAAA,QAC9BrB,EAAE,OAAO,EAAE,OAAO,GAAGF,EAAI,KAAK,mBAAmB;AAAA,UAC/CE,EAAE,OAAO;AAAA,YACPA,EAAE,OAAO,EAAE,OAAOqB,EAAE,MAAM,EAAA,GAAK,CAACzB,EAAE,MAAMI,EAAE,OAAO,GAAG,CAAC,CAAC;AAAA,YACtDA,EAAE,OAAOJ,EAAE,SAAS;AAAA,YACpBI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,KAAA,KAAU,CAAC0C,EAAK,SAAS,GAAG,KAAK9C,EAAE,IAAI,CAAC;AAAA,UAAA,CACxE;AAAA,UACDI,EAAE,QAAQ,EAAE,OAAOqB,EAAE,MAAM,EAAA,GAAKqB,EAAK9C,EAAE,MAAM,EAAE,aAAa,IAAA,CAAK,CAAC;AAAA,QAAA,CACnE;AAAA,QACDA,EAAE,OACEI;AAAA,UACE;AAAA,UACA,EAAE,OAAOqB,EAAE,MAAM,EAAA;AAAA,UACjBzB,EAAE,KAAK,IAAI,CAACU,GAAG6B,MAAMnC,EAAE,OAAO,EAAE,KAAKmC,KAAK,CAACnC,EAAE,OAAOM,EAAE,GAAG,GAAGoC,EAAKpC,EAAE,IAAI,GAAGN,EAAE,KAAK,GAAGM,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC;AAAA,QAAA,IAElG;AAAA,MAAA,CACL;AAAA,IACH;AAAA,EACF;AACF,CAAC;AAGD,SAASgE,IAAW;AAClB,QAAMC,IAAKzD,EAAA,GACL0D,IAAI1D,EAAI,GAAG;AACjB,MAAI2D,IAA4B;AAChC,SAAA1B,EAAU,MAAM;AACd,IAAIwB,EAAG,SAAS,OAAO,iBAAmB,QACxCE,IAAK,IAAI,eAAe,CAAC,CAACzD,CAAC,MAAOwD,EAAE,QAAQ,KAAK,IAAI,KAAK,KAAK,MAAMxD,EAAE,YAAY,KAAK,CAAC,CAAE,GAC3FyD,EAAG,QAAQF,EAAG,KAAK;AAAA,EAEvB,CAAC,GACDvB,EAAgB,MAAMyB,GAAI,YAAY,GAC/B,EAAE,IAAAF,GAAI,GAAAC,EAAA;AACf;AACA,MAAME,IAAS,CAAC5E,GAAa6E,MAC3B3E;AAAA,EACE;AAAA,EACA,EAAE,OAAO,GAAGF,CAAG,gBAAA;AAAA,EACf6E,EAAM,IAAI,CAAClC,GAAIN,MAAMnC,EAAE,MAAM,EAAE,KAAKmC,KAAK,CAACnC,EAAE,KAAK,EAAE,OAAO,EAAE,YAAYyC,EAAG,MAAA,GAAS,GAAGA,EAAG,IAAI,CAAC,CAAC;AAClG,GACImC,IAAW,CAACC,GAAWC,GAAWf,GAAWgB,IAAS,aAC1D/E,EAAE,QAAQ,EAAE,GAAA6E,GAAG,GAAAC,GAAG,eAAeC,GAAQ,aAAa,IAAI,MAAM,kBAAA,GAAqBhB,CAAC,GAE3EiB,KAA6B,gBAAAtF,EAAgB;AAAA,EACxD,MAAM;AAAA,EACN,OAAO;AAAA,IACL,QAAQ,EAAE,MAAM,OAA6B,UAAU,GAAA;AAAA,IACvD,QAAQ,EAAE,MAAM,OAA6B,UAAU,GAAA;AAAA,IACvD,QAAQ,EAAE,MAAM,QAAQ,SAAS,IAAA;AAAA,IACjC,MAAM;AAAA,IACN,QAAQ,EAAE,MAAM,SAAS,SAAS,GAAA;AAAA,IAClC,QAAQ,EAAE,MAAM,SAAS,SAAS,GAAA;AAAA,EAAK;AAAA,EAEzC,MAAME,GAAG;AACP,UAAME,IAAMC,EAAA,GACN,EAAE,YAAAkF,EAAA,IAAe5E,EAAA,GACjB,EAAE,IAAAkE,GAAI,GAAAC,EAAA,IAAMF,EAAA,GACZY,IAAQpE,EAAmB,IAAI,GAC/BgB,IAAIqD,EAAS,MAAMC,GAAUxF,EAAE,QAAQA,EAAE,QAAQ,EAAE,OAAO4E,EAAE,OAAO,QAAQ5E,EAAE,OAAA,GAAU,EAAE,QAAQA,EAAE,OAAA,CAAQ,CAAC;AAClH,WAAO,MAAM;AACX,YAAMyF,IAAKvD,EAAE,OACPwD,IAAML,EAAA,GACNrD,IAAI,KAAK,IAAI,GAAGhC,EAAE,OAAO,SAAS,CAAC;AACzC,aAAOI,EAAE,OAAO,EAAE,KAAKuE,GAAI,OAAO,GAAGzE,EAAI,KAAK,SAAA,GAAY;AAAA,QACxDF,EAAE,SACE8E;AAAA,UACE5E,EAAI;AAAA,UACJuF,EAAG,OAAO,IAAI,CAACtB,OAAO,EAAE,MAAMA,EAAE,MAAM,OAAOA,EAAE,MAAA,EAAQ;AAAA,QAAA,IAEzD;AAAA,QACJ/D;AAAA,UACE;AAAA,UACA,EAAE,OAAOwE,EAAE,OAAO,QAAQ5E,EAAE,QAAQ,MAAM,OAAO,cAAcA,EAAE,OAAO,IAAI,CAACmE,MAAMA,EAAE,IAAI,EAAE,KAAK,IAAI,GAAG,cAAc,MAAOmB,EAAM,QAAQ,KAAA;AAAA,UAC1I;AAAA,YACE,GAAGG,EAAG,OAAO;AAAA,cAAI,CAACE,MAChBvF,EAAE,KAAK,EAAE,KAAKuF,EAAG,SAAS;AAAA,gBACxBvF,EAAE,QAAQ,EAAE,IAAIqF,EAAG,KAAK,GAAG,IAAIA,EAAG,KAAK,IAAIA,EAAG,KAAK,OAAO,IAAIE,EAAG,GAAG,IAAIA,EAAG,GAAG,QAAQ,2BAA2B;AAAA,gBACjHX,EAASS,EAAG,KAAK,IAAI,GAAGE,EAAG,IAAI,GAAGC,EAAWD,EAAG,OAAOD,CAAG,GAAG,KAAK;AAAA,cAAA,CACnE;AAAA,YAAA;AAAA,YAEH,GAAGD,EAAG,QAAQ,IAAI,CAACI,GAAGtD,MAAMnC,EAAE,KAAK,EAAE,KAAK,IAAImC,CAAC,MAAMyC,EAASa,EAAE,GAAG7F,EAAE,SAAS,GAAG6F,EAAE,KAAK,CAAC,CAAC;AAAA,YAC1F,GAAGJ,EAAG,OAAO;AAAA,cAAI,CAACtB,GAAG2B,MACnB1F,EAAE,KAAK,EAAE,KAAK0F,KAAM;AAAA,gBAClB9F,EAAE,OAAOI,EAAE,QAAQ,EAAE,GAAG+D,EAAE,MAAM,MAAMA,EAAE,OAAO,SAAS,KAAA,CAAM,IAAI;AAAA,gBAClE/D,EAAE,QAAQ,EAAE,GAAG+D,EAAE,MAAM,MAAM,QAAQ,QAAQA,EAAE,OAAO,gBAAgB,KAAK,mBAAmB,SAAS,kBAAkB,SAAS;AAAA,gBAClI,GAAGA,EAAE,OAAO;AAAA,kBAAI,CAAC4B,GAAIxD,MACnBnC,EAAE,UAAU,EAAE,KAAKmC,GAAG,IAAIwD,EAAG,GAAG,IAAIA,EAAG,GAAG,GAAGT,EAAM,UAAU/C,IAAI,IAAI,GAAG,MAAM,sBAAsB,QAAQ4B,EAAE,OAAO,gBAAgB,EAAA,CAAG;AAAA,gBAAA;AAAA,cAC1I,CACD;AAAA,YAAA;AAAA,YAEH,GAAGsB,EAAG,QAAQ;AAAA,cAAI,CAACI,GAAGtD,MACpBnC,EAAE,QAAQ;AAAA,gBACR,KAAK,IAAImC,CAAC;AAAA,gBACV,GAAGsD,EAAE,IAAIJ,EAAG,KAAK,QAAQzD,IAAI;AAAA,gBAC7B,GAAGyD,EAAG,KAAK;AAAA,gBACX,OAAOA,EAAG,KAAK,QAAQzD;AAAA,gBACvB,QAAQyD,EAAG,KAAK;AAAA,gBAChB,MAAM;AAAA,gBACN,cAAc,MAAOH,EAAM,QAAQ/C;AAAA,cAAA,CACpC;AAAA,YAAA;AAAA,UACH;AAAA,QACF;AAAA,QAEF+C,EAAM,UAAU,OACZlF;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAO,GAAGF,EAAI,KAAK;AAAA,YACnB,OAAO;AAAA,cACL,MAAM,GAAGuF,EAAG,QAAQH,EAAM,KAAK,EAAE,CAAC;AAAA,cAClC,KAAK,GAAG,KAAK,IAAI,GAAGG,EAAG,OAAO,IAAI,CAACtB,MAAMA,EAAE,OAAOmB,EAAM,KAAM,GAAG,KAAKtF,EAAE,MAAM,CAAC,KAAKA,EAAE,SAAS,KAAK,EAAE;AAAA,YAAA;AAAA,UACxG;AAAA,UAEF;AAAA,YACEI,EAAE,KAAKJ,EAAE,OAAOsF,EAAM,KAAK,CAAC;AAAA,YAC5B,GAAGG,EAAG,OAAO,IAAI,CAACtB,MAAM/D,EAAE,OAAO,EAAE,KAAK+D,EAAE,KAAA,GAAQ,GAAGA,EAAE,IAAI,KAAKyB,EAAWzB,EAAE,OAAOmB,EAAM,KAAM,GAAG,SAAS,GAAGI,CAAG,CAAC,EAAE,CAAC;AAAA,UAAA;AAAA,QACxH,IAEF;AAAA,MAAA,CACL;AAAA,IACH;AAAA,EACF;AACF,CAAC,GACYM,KAA4B,gBAAAlG,EAAgB;AAAA,EACvD,MAAM;AAAA,EACN,OAAO;AAAA,IACL,QAAQ,EAAE,MAAM,OAA6B,UAAU,GAAA;AAAA,IACvD,QAAQ,EAAE,MAAM,OAA6B,UAAU,GAAA;AAAA,IACvD,QAAQ,EAAE,MAAM,QAAQ,SAAS,IAAA;AAAA,IACjC,SAAS;AAAA,IACT,QAAQ,EAAE,MAAM,SAAS,SAAS,GAAA;AAAA,EAAK;AAAA,EAEzC,MAAME,GAAG;AACP,UAAME,IAAMC,EAAA,GACN,EAAE,YAAAkF,GAAY,GAAArD,EAAA,IAAMvB,EAAA,GACpB,EAAE,IAAAkE,GAAI,GAAAC,EAAA,IAAMF,EAAA,GACZxC,IAAIqD,EAAS,MAAMU,EAASjG,EAAE,QAAQA,EAAE,QAAQ,EAAE,OAAO4E,EAAE,OAAO,QAAQ5E,EAAE,OAAA,GAAU,EAAE,SAASA,EAAE,QAAA,CAAS,CAAC;AACnH,WAAO,MAAM;AACX,YAAMyF,IAAKvD,EAAE,OACPwD,IAAML,EAAA;AACZ,aAAOjF,EAAE,OAAO,EAAE,KAAKuE,GAAI,OAAO,GAAGzE,EAAI,KAAK,SAAA,GAAY;AAAA,QACxDF,EAAE,SACE8E;AAAA,UACE5E,EAAI;AAAA,UACJF,EAAE,OAAO,IAAI,CAACmE,GAAG5B,OAAO,EAAE,MAAM4B,EAAE,MAAM,OAAO+B,GAAQ3D,GAAG4B,CAAC,IAAI;AAAA,QAAA,IAEjE;AAAA,QACJ/D,EAAE,OAAO,EAAE,OAAOwE,EAAE,OAAO,QAAQ5E,EAAE,QAAQ,MAAM,OAAO,cAAcA,EAAE,OAAO,IAAI,CAACmE,MAAMA,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK;AAAA,UAChH,GAAGsB,EAAG,OAAO;AAAA,YAAI,CAACE,MAChBvF,EAAE,KAAK,EAAE,KAAKuF,EAAG,SAAS;AAAA,cACxBvF,EAAE,QAAQ,EAAE,IAAIqF,EAAG,KAAK,GAAG,IAAIA,EAAG,KAAK,IAAIA,EAAG,KAAK,OAAO,IAAIE,EAAG,GAAG,IAAIA,EAAG,GAAG,QAAQ,2BAA2B;AAAA,cACjHX,EAASS,EAAG,KAAK,IAAI,GAAGE,EAAG,IAAI,GAAGC,EAAWD,EAAG,OAAOD,CAAG,GAAG,KAAK;AAAA,YAAA,CACnE;AAAA,UAAA;AAAA,UAEH,GAAGD,EAAG,QAAQ,IAAI,CAACI,GAAGtD,MAAMnC,EAAE,KAAK,EAAE,KAAK,IAAImC,CAAC,MAAMyC,EAASa,EAAE,GAAG7F,EAAE,SAAS,GAAG6F,EAAE,KAAK,CAAC,CAAC;AAAA,UAC1F,GAAGJ,EAAG,KAAK;AAAA,YAAI,CAAChE,GAAGc,MACjBnC;AAAA,cACE;AAAA,cACA,EAAE,KAAKmC,GAAG,GAAGd,EAAE,GAAG,GAAGA,EAAE,GAAG,OAAOA,EAAE,OAAO,QAAQA,EAAE,QAAQ,MAAMA,EAAE,OAAO,IAAI,EAAA;AAAA,cAC/ErB,EAAE,SAAS,GAAGqB,EAAE,MAAM,MAAMA,EAAE,KAAK,KAAKO,EAAEP,EAAE,KAAK,CAAC,EAAE;AAAA,YAAA;AAAA,UACtD;AAAA,QACF,CACD;AAAA,MAAA,CACF;AAAA,IACH;AAAA,EACF;AACF,CAAC,GACY0E,KAA4B,gBAAArG,EAAgB;AAAA,EACvD,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM,EAAE,MAAM,OAA4E,UAAU,GAAA;AAAA,IACpG,MAAM,EAAE,MAAM,QAAQ,SAAS,IAAA;AAAA,IAC/B,OAAO,EAAE,MAAM,QAAQ,SAAS,IAAA;AAAA,IAChC,QAAQ,EAAE,MAAM,SAAS,SAAS,GAAA;AAAA,EAAK;AAAA,EAEzC,MAAME,GAAG,EAAE,OAAAC,KAAS;AAClB,UAAMC,IAAMC,EAAA,GACN,EAAE,GAAA6B,EAAA,IAAMvB,EAAA,GACR6E,IAAQpE,EAAmB,IAAI,GAC/BkF,IAASb,EAAS,MAAMc,GAASrG,EAAE,MAAMA,EAAE,MAAM,EAAE,OAAOA,EAAE,MAAA,CAAO,CAAC;AAC1E,WAAO,MACLI,EAAE,OAAO,EAAE,OAAO,GAAGF,EAAI,KAAK,UAAU,OAAO,EAAE,SAAS,QAAQ,eAAe,UAAU,YAAY,SAAA,KAAc;AAAA,MACnHE,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,YAAY,OAAO,GAAGJ,EAAE,IAAI,MAAM,QAAQ,GAAGA,EAAE,IAAI,KAAA,KAAU;AAAA,QACzFI;AAAA,UACE;AAAA,UACA,EAAE,OAAOJ,EAAE,MAAM,QAAQA,EAAE,MAAM,MAAM,OAAO,cAAcA,EAAE,KAAK,IAAI,CAACU,MAAM,GAAGA,EAAE,KAAK,IAAIA,EAAE,KAAK,EAAE,EAAE,KAAK,IAAI,EAAA;AAAA,UAChH0F,EAAO,MAAM;AAAA,YAAI,CAACjC,GAAG5B,MACnBnC;AAAA,cACE;AAAA,cACA;AAAA,gBACE,KAAKmC;AAAA,gBACL,GAAG4B,EAAE;AAAA,gBACL,MAAMA,EAAE;AAAA,gBACR,QAAQ;AAAA,gBACR,gBAAgB;AAAA,gBAChB,SAASmB,EAAM,UAAU,QAAQA,EAAM,UAAU/C,IAAI,IAAI;AAAA,gBACzD,cAAc,MAAO+C,EAAM,QAAQ/C;AAAA,gBACnC,cAAc,MAAO+C,EAAM,QAAQ;AAAA,cAAA;AAAA,cAErClF,EAAE,SAAS,GAAG+D,EAAE,KAAK,KAAKnC,EAAEmC,EAAE,KAAK,CAAC,KAAKA,EAAE,QAAQ,QAAQ,CAAC,CAAC,IAAI;AAAA,YAAA;AAAA,UACnE;AAAA,QACF;AAAA,QAEF/D;AAAA,UACE;AAAA,UACA;AAAA,YACE,OAAO;AAAA,cACL,UAAU;AAAA,cACV,OAAO;AAAA,cACP,SAAS;AAAA,cACT,YAAY;AAAA,cACZ,gBAAgB;AAAA,cAChB,eAAe;AAAA,cACf,eAAe;AAAA,cACf,WAAW;AAAA,YAAA;AAAA,UACb;AAAA,UAEFkF,EAAM,UAAU,OACZ;AAAA,YACElF,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,QAAQ,OAAO,qBAAA,KAA0B,GAAGgG,EAAO,MAAMd,EAAM,KAAK,EAAE,QAAQ,QAAQ,CAAC,CAAC,GAAG;AAAA,YACvHlF,EAAE,SAASgG,EAAO,MAAMd,EAAM,KAAK,EAAE,KAAK;AAAA,UAAA,IAE5CrF,EAAM,SAAA;AAAA,QAAS;AAAA,MACrB,CACD;AAAA,MACDD,EAAE,SACEI;AAAA,QACE;AAAA,QACA,EAAE,OAAO,GAAGF,EAAI,KAAK,QAAA;AAAA,QACrB4E;AAAA,UACE5E,EAAI;AAAA,UACJkG,EAAO,MAAM,IAAI,CAACjC,OAAO,EAAE,MAAMA,EAAE,OAAO,OAAOA,EAAE,MAAA,EAAQ;AAAA,QAAA;AAAA,MAC7D,IAEF;AAAA,IAAA,CACL;AAAA,EACL;AACF,CAAC,GACYmC,KAA6B,gBAAAxG,EAAgB;AAAA,EACxD,MAAM;AAAA,EACN,OAAO;AAAA,IACL,MAAM,EAAE,MAAM,OAA6B,UAAU,GAAA;AAAA,IACrD,OAAO,EAAE,MAAM,QAAQ,SAAS,IAAA;AAAA,IAChC,QAAQ,EAAE,MAAM,QAAQ,SAAS,GAAA;AAAA,IACjC,MAAMyD,EAA6B,MAAM;AAAA,IACzC,OAAOA,EAAI,SAAS;AAAA,EAAA;AAAA,EAEtB,MAAMvD,GAAG;AACP,UAAME,IAAMC,EAAA;AACZ,WAAO,MAAM;AACX,YAAMgE,IAAIoC,GAAUvG,EAAE,MAAMA,EAAE,OAAOA,EAAE,QAAQA,EAAE,SAAS,QAAQ,QAAQ,MAAM,GAC1EkC,IAAI,SAAShC,EAAI,KAAK,UAAUF,EAAE,KAAK;AAC7C,aAAOI;AAAA,QACL;AAAA,QACA;AAAA,UACE,OAAOJ,EAAE;AAAA,UACT,QAAQA,EAAE;AAAA,UACV,SAAS,OAAOA,EAAE,KAAK,IAAIA,EAAE,MAAM;AAAA,UACnC,MAAM;AAAA,UACN,cAAcA,EAAE,KAAK,KAAK,IAAI;AAAA,UAC9B,OAAO,EAAE,UAAU,WAAW,UAAU,QAAQ,QAAQ,OAAA;AAAA,QAAO;AAAA,QAEjEA,EAAE,SAAS,QACPmE,EAAE,KAAK,IAAI,CAAC1C,GAAGc,MAAMnC,EAAE,QAAQ,EAAE,KAAKmC,GAAG,GAAGd,EAAE,GAAG,GAAGA,EAAE,GAAG,OAAOA,EAAE,OAAO,QAAQA,EAAE,QAAQ,MAAMS,GAAG,IAAI,EAAA,CAAG,CAAC,IAC5G;AAAA,UACElC,EAAE,SAAS,SAASI,EAAE,QAAQ,EAAE,GAAG+D,EAAE,MAAM,MAAMjC,GAAG,SAAS,IAAA,CAAK,IAAI;AAAA,UACtE9B,EAAE,QAAQ,EAAE,GAAG+D,EAAE,MAAM,MAAM,QAAQ,QAAQjC,GAAG,gBAAgB,GAAG,mBAAmB,SAAS;AAAA,UAC/FiC,EAAE,OAAO/D,EAAE,UAAU,EAAE,IAAI+D,EAAE,KAAK,CAAC,GAAG,IAAIA,EAAE,KAAK,CAAC,GAAG,GAAG,GAAG,MAAMjC,EAAA,CAAG,IAAI;AAAA,QAAA;AAAA,MAC1E;AAAA,IAER;AAAA,EACF;AACF,CAAC,GASYsE,KAA4B,gBAAA1G,EAAgB;AAAA,EACvD,MAAM;AAAA,EACN,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAoC,UAAU,KAAK;AAAA,EAC5E,OAAO,CAAC,cAAc,cAAc,aAAa;AAAA,EACjD,MAAME,GAAG,EAAE,MAAAO,KAAQ;AACjB,UAAML,IAAMC,EAAA,GACN,EAAE,GAAG,GAAAO,GAAG,YAAA2E,EAAA,IAAe5E,EAAA,GACvBgG,IAAMC,GAAA,GACNC,IAAQzF,EAAI,IAAI,0BAAS,KAAA,GAAO,YAAA,wBAAmB,KAAA,GAAO,SAAA,GAAY,CAAC,CAAC,GACxE0F,IAAO1F,EAAmB,IAAI,GAC9B2F,IAAStB,EAAS,MAAM;AAC5B,YAAMjB,IAAqC,CAAA;AAC3C,aAAAtE,EAAE,OAAO,QAAQ,CAACoB,OAAOkD,EAAElD,EAAE,IAAI,MAAM,CAAA,GAAI,KAAKA,CAAC,CAAC,GAC3CkD;AAAA,IACT,CAAC;AACD,WAAO,MAAM;AACX,YAAMwC,IAAOL,EAAI,OAAO,MAAM,WAAW,YAAY,gBAA2B,GAC1Ef,IAAML,EAAA,GACN5D,IAAIpB,EAAI,YAAYH,EAAI,KAAK;AACnC,aAAOE,EAAE,OAAO,EAAE,OAAOqB,EAAA,KAAO;AAAA,QAC9BrB,EAAE,OAAO,EAAE,OAAOqB,EAAE,SAAS,KAAK;AAAA,UAChCrB,EAAE,OAAO,EAAE,OAAO,GAAGF,EAAI,KAAK,gBAAgB;AAAA,YAC5CE;AAAA,cAAE4D;AAAA,cAAW,EAAE,MAAM,MAAM,cAAc,EAAE,iBAAiB,GAAG,SAAS,MAAO2C,EAAM,QAAQI,EAAUJ,EAAM,OAAO,EAAE,EAAA;AAAA,cAAM,MAC1H7D,EAAK,cAAc;AAAA,YAAA;AAAA,YAErB1C,EAAE4D,GAAW,EAAE,MAAM,MAAM,cAAc,EAAE,aAAa,GAAG,SAAS,MAAO2C,EAAM,QAAQI,EAAUJ,EAAM,OAAO,CAAC,KAAM,MAAM7D,EAAK,eAAe,CAAC;AAAA,UAAA,CACnJ;AAAA,UACD1C,EAAE,MAAM,EAAE,aAAa,YAAY,IAAI,KAAK,eAAesF,GAAK,EAAE,OAAO,QAAQ,MAAM,UAAA,CAAW,EAAE,OAAOiB,EAAM,KAAK,CAAC;AAAA,UACvHvG;AAAA,YACE4D;AAAA,YACA;AAAA,cACE,MAAM;AAAA,cACN,SAAS;AAAA,cACT,SAAS,MAAM;AACb,sBAAMtD,wBAAQ,KAAA;AACd,gBAAAiG,EAAM,QAAQ,IAAI,KAAKjG,EAAE,eAAeA,EAAE,SAAA,GAAY,CAAC;AAAA,cACzD;AAAA,YAAA;AAAA,YAEF,MAAM,EAAE,kBAAkB;AAAA,UAAA;AAAA,QAC5B,CACD;AAAA,QACDN,EAAE,OAAO,EAAE,OAAOqB,EAAE,MAAM,KAAK;AAAA,UAC7B,GAAGuF,EAAatB,GAAKoB,GAAI,OAAO,EAAE,IAAI,CAAC9E,MAAM5B,EAAE,OAAO,EAAE,KAAK4B,GAAG,OAAOP,EAAE,KAAK,GAAG,eAAe,UAAUO,CAAC,CAAC;AAAA,UAC5G,GAAGiF,EAAUN,EAAM,MAAM,YAAA,GAAeA,EAAM,MAAM,SAAA,GAAYG,CAAE,EAC/D,KAAA,EACA,IAAI,CAAC5E,MAAM;AACV,kBAAMgF,IAAMC,EAAUjF,EAAE,IAAI;AAC5B,mBAAO9B;AAAA,cACL;AAAA,cACA;AAAA,gBACE,KAAK8B,EAAE;AAAA,gBACP,MAAM;AAAA,gBACN,cAAcxB,EAAEwB,EAAE,MAAM,EAAE,WAAW,QAAQ;AAAA,gBAC7C,OAAOE,EAAGX,EAAE,MAAM,GAAG,EAAE,cAAc,CAACS,EAAE,SAAS,YAAYA,EAAE,OAAO,WAAW0E,EAAK,UAAUM,GAAK;AAAA,gBACrG,SAAS,MAAM3G,EAAK,cAAc2G,CAAG;AAAA,gBACrC,YAAY,CAAC9F,MAAiB;AAC5B,kBAAAA,EAAE,eAAA,GACFwF,EAAK,QAAQM;AAAA,gBACf;AAAA,gBACA,aAAa,MAAON,EAAK,QAAQ;AAAA,gBACjC,QAAQ,CAACxF,MAAiB;AACxB,kBAAAA,EAAE,eAAA,GACFwF,EAAK,QAAQ;AACb,wBAAMQ,IAAKhG,EAAE,cAAc,QAAQ,gBAAgB;AACnD,kBAAIgG,KAAI7G,EAAK,cAAc,MAAM,OAAO6G,CAAE,CAAC,IAAIA,IAAK,OAAOA,CAAE,GAAGF,CAAG;AAAA,gBACrE;AAAA,cAAA;AAAA,cAEF;AAAA,gBACE9G,EAAE,QAAQ,EAAE,OAAOqB,EAAE,MAAM,GAAG,eAAe,OAAA,GAAUS,EAAE,KAAK,SAAS;AAAA,gBACvE,IAAI2E,EAAO,MAAMK,CAAG,KAAK,CAAA,GAAI;AAAA,kBAAI,CAACG,MAChCjH;AAAA,oBACE;AAAA,oBACA;AAAA,sBACE,KAAKiH,EAAG;AAAA,sBACR,MAAM;AAAA,sBACN,WAAW;AAAA,sBACX,OAAO5F,EAAE,SAAS,EAAE,CAAC4F,EAAG,SAAS,SAAS,GAAG,IAAM;AAAA,sBACnD,OAAOA,EAAG;AAAA,sBACV,aAAa,CAACjG,MAAiBA,EAAE,cAAc,QAAQ,kBAAkB,OAAOiG,EAAG,EAAE,CAAC;AAAA,sBACtF,SAAS,CAACjG,MAAa;AACrB,wBAAAA,EAAE,gBAAA,GACFb,EAAK,eAAe8G,CAAE;AAAA,sBACxB;AAAA,oBAAA;AAAA,oBAEFA,EAAG;AAAA,kBAAA;AAAA,gBACL;AAAA,cACF;AAAA,YACF;AAAA,UAEJ,CAAC;AAAA,QAAA,CACJ;AAAA,MAAA,CACF;AAAA,IACH;AAAA,EACF;AACF,CAAC;"}
1
+ {"version":3,"file":"data.js","sources":["../../src/components/data.ts"],"sourcesContent":["import { defineComponent, h, ref, watch, computed, onMounted, onBeforeUnmount, type PropType } from 'vue';\nimport { bem, cx, createTable, monthGrid, weekdayNames, addMonths, toISODate, type ColumnDef, type ThlSemanticColor } from '@thl-ui/core';\nimport { pageSizeOptions } from '@thl-ui/core';\nimport { lineChart, barChart, pieChart, sparkline, formatTick, colorAt, type Series } from '@thl-ui/charts';\nimport { useDefaults, usePrefix, useI18n, useStore, useThlContext } from '../context';\nimport { icon, str, any } from './util';\nimport { ThlCheckbox } from './form';\nimport { ThlPagination } from './nav';\nimport { ThlButton, ThlLabel } from './basic';\nimport { ThlProgress } from './overlay';\n\n/* ---------------- SimpleTable ---------------- */\nexport const ThlTable = /*#__PURE__*/ defineComponent({\n name: 'ThlTable',\n props: { striped: Boolean, hover: Boolean, bordered: any<boolean | string>(), compact: Boolean, color: String, full: String },\n setup(p, { slots }) {\n const pre = usePrefix();\n return () =>\n h(\n 'div',\n { class: `${pre.value}-table-wrap` },\n h(\n 'table',\n {\n class: bem(\n 'table',\n pre.value,\n )({\n striped: p.striped,\n hover: p.hover,\n bordered: p.bordered === true || p.bordered === '',\n compact: p.compact,\n [`color-${p.color}`]: !!p.color,\n [`full-${p.full}`]: !!p.full,\n [`bordered-${p.bordered}`]: typeof p.bordered === 'string' && p.bordered !== '',\n }),\n },\n slots.default?.(),\n ),\n );\n },\n});\n\n/* ---------------- DataTable ---------------- */\nexport interface DataColumn<T = any> extends ColumnDef<T> {\n title?: string;\n}\nexport const ThlDataTable = /*#__PURE__*/ defineComponent({\n name: 'ThlDataTable',\n props: {\n data: { type: Array as PropType<any[]>, required: true },\n columns: { type: Array as PropType<DataColumn[]>, required: true },\n rowKey: any<string | ((r: any) => string | number)>(),\n pageSize: Number,\n paginate: { type: Boolean, default: true },\n searchable: { type: Boolean, default: true },\n selectable: Boolean,\n striped: { type: Boolean, default: undefined },\n hover: { type: Boolean, default: undefined },\n bordered: { type: Boolean, default: undefined },\n color: String,\n stack: Boolean,\n compact: Boolean,\n emptyText: String,\n manual: Boolean,\n total: Number,\n loading: Boolean,\n },\n emits: ['selection-change', 'cell-edit', 'query-change'],\n setup(p, { slots, emit }) {\n const pre = usePrefix();\n const { t } = useI18n();\n const d = useDefaults('Table', p as any);\n const api = createTable<any>({\n data: p.data,\n columns: p.columns,\n rowKey: p.rowKey as any,\n pageSize: (d.value.pageSize as number) ?? 10,\n paginate: p.paginate,\n manual: p.manual,\n total: p.total,\n });\n watch(\n () => p.data,\n (v) => api.setData(v),\n );\n watch(\n () => p.columns,\n (v) => api.setColumns(v),\n );\n const s = useStore(api.state);\n watch(\n () => s.value.selected,\n () => emit('selection-change', api.selectedRows()),\n );\n watch(\n () => [s.value.page, s.value.pageSize, s.value.sort, s.value.search],\n () => emit('query-change', { page: s.value.page, pageSize: s.value.pageSize, sort: s.value.sort, search: s.value.search }),\n );\n const editing = ref<{ row: string | number; key: string; value: string } | null>(null);\n const commit = () => {\n if (!editing.value) return;\n const e = editing.value;\n const next = api.updateCell(e.row, e.key, e.value);\n emit('cell-edit', { rowKey: e.row, key: e.key, value: e.value, data: next });\n editing.value = null;\n };\n const hideCls = (c: DataColumn) => c.hideBelow && `${pre.value}-col-hidden-${c.hideBelow >= 1170 ? 'lg' : c.hideBelow >= 1024 ? 'md' : 'sm'}`;\n return () => {\n void s.value; // track\n const st = s.value;\n const view = api.view();\n const b = bem('table', pre.value);\n const all = api.allSelected();\n const total = p.manual ? (p.total ?? p.data.length) : view.total;\n const from = total === 0 ? 0 : (st.page - 1) * st.pageSize + 1,\n to = Math.min(total, st.page * st.pageSize);\n const cols = p.columns.length + (p.selectable ? 1 : 0);\n return h('div', { 'aria-busy': p.loading || undefined }, [\n h('div', { class: `${pre.value}-table-toolbar` }, [\n p.paginate\n ? h('label', [\n t('table.show', { n: '\\u0000' }).split('\\u0000')[0],\n h(\n 'select',\n {\n class: `${pre.value}-input ${pre.value}-input--size-sm`,\n value: st.pageSize,\n 'aria-label': t('pagination.pageSize', { size: st.pageSize }),\n onChange: (e: Event) => api.setPageSize(Number((e.target as HTMLSelectElement).value)),\n },\n pageSizeOptions(d.value.pageSizes as number[] | undefined, st.pageSize).map((n) => h('option', { value: n, selected: n === st.pageSize }, n)),\n ),\n t('table.show', { n: '\\u0000' }).split('\\u0000')[1],\n ])\n : h('span'),\n h('div', { class: `${pre.value}-flex` }, [\n slots.toolbar?.(),\n p.searchable\n ? h('label', [\n t('table.search'),\n h('input', {\n type: 'search',\n class: `${pre.value}-input ${pre.value}-input--size-sm`,\n value: st.search,\n 'aria-label': t('common.search'),\n onInput: (e: Event) => api.setSearch((e.target as HTMLInputElement).value),\n }),\n ])\n : null,\n ]),\n ]),\n h(\n 'div',\n { class: `${pre.value}-table-wrap` },\n h(\n 'table',\n {\n class: b({\n striped: d.value.striped,\n hover: d.value.hover,\n bordered: d.value.bordered,\n compact: p.compact,\n stack: p.stack,\n [`color-${p.color}`]: !!p.color,\n }),\n },\n [\n h(\n 'thead',\n h('tr', [\n p.selectable\n ? h(\n 'th',\n { class: b('check') },\n h(ThlCheckbox, {\n modelValue: all === true,\n indeterminate: all === 'indeterminate',\n 'aria-label': t('common.selectAll'),\n onChange: () => api.toggleAll(),\n }),\n )\n : null,\n ...p.columns.map((c) => {\n const dir = api.sortDir(c.key);\n return h(\n 'th',\n {\n key: c.key,\n style: { width: typeof c.width === 'number' ? `${c.width}px` : c.width, textAlign: c.align },\n 'aria-sort': dir ? (dir === 'asc' ? 'ascending' : 'descending') : undefined,\n class: hideCls(c),\n },\n c.sortable\n ? h('button', { type: 'button', class: cx(b('sort'), dir && `is-${dir}`), onClick: () => api.toggleSort(c.key) }, [\n c.title ?? c.key,\n h('span', { class: b('sort-icon'), 'aria-hidden': 'true' }, [h('span', '▲'), h('span', '▼')]),\n ])\n : (c.title ?? c.key),\n );\n }),\n ]),\n ),\n h(\n 'tbody',\n view.rows.length === 0\n ? [h('tr', { class: b('empty') }, h('td', { colspan: cols }, p.loading ? t('common.loading') : (p.emptyText ?? t('table.empty'))))]\n : view.rows.map(({ row, key }, i) =>\n h('tr', { key, class: cx({ 'is-selected': api.isSelected(key) }) }, [\n p.selectable\n ? h(\n 'td',\n { class: b('check') },\n h(ThlCheckbox, {\n modelValue: api.isSelected(key),\n 'aria-label': t('common.selectRow', { n: String(key) }),\n onChange: () => api.toggleRow(key),\n }),\n )\n : null,\n ...p.columns.map((c) => {\n const raw = api.value(c, row);\n const isEd = editing.value && editing.value.row === key && editing.value.key === c.key;\n const content = slots[`cell-${c.key}`] ? slots[`cell-${c.key}`]!({ row, value: raw, index: i }) : String(raw ?? '');\n return h(\n 'td',\n { key: c.key, 'data-label': c.title ?? c.key, style: { textAlign: c.align }, class: hideCls(c) },\n isEd\n ? h('input', {\n class: `${pre.value}-input ${pre.value}-input--size-sm ${b('edit-input')}`,\n value: editing.value!.value,\n onVnodeMounted: (v: any) => v.el.focus(),\n onInput: (e: Event) => (editing.value!.value = (e.target as HTMLInputElement).value),\n onBlur: commit,\n onKeydown: (e: KeyboardEvent) => {\n if (e.key === 'Enter') commit();\n if (e.key === 'Escape') editing.value = null;\n },\n })\n : c.editable\n ? h(\n 'span',\n {\n role: 'button',\n tabindex: 0,\n class: b('editable'),\n onClick: () => (editing.value = { row: key, key: c.key, value: String(raw ?? '') }),\n onKeydown: (e: KeyboardEvent) =>\n e.key === 'Enter' && (editing.value = { row: key, key: c.key, value: String(raw ?? '') }),\n },\n content,\n )\n : content,\n );\n }),\n ]),\n ),\n ),\n ],\n ),\n ),\n p.paginate\n ? h('div', { class: `${pre.value}-table-footer` }, [\n h('span', [t('pagination.showing', { from, to, total }), st.selected.size ? ` · ${t('table.selected', { count: st.selected.size })}` : '']),\n h(ThlPagination, { page: st.page, total, pageSize: st.pageSize, size: 'sm', 'onUpdate:page': api.setPage }),\n ])\n : null,\n ]);\n };\n },\n});\n\n/* ---------------- List / Gallery ---------------- */\nexport const ThlList = /*#__PURE__*/ defineComponent({\n name: 'ThlList',\n props: {\n items: {\n type: Array as PropType<\n Array<{ key?: string | number; avatar?: string; icon?: string; iconColor?: string; title: string; description?: string; meta?: string }>\n >,\n required: true,\n },\n hover: Boolean,\n },\n emits: ['item-click'],\n setup(p, { emit, slots }) {\n const pre = usePrefix();\n return () => {\n const b = bem('list', pre.value);\n return h(\n 'ul',\n { class: b({ hover: p.hover }) },\n p.items.map((it, i) =>\n h(\n 'li',\n {\n key: it.key ?? i,\n class: b('item'),\n tabindex: p.hover ? 0 : undefined,\n onClick: () => emit('item-click', it),\n onKeydown: (e: KeyboardEvent) => e.key === 'Enter' && emit('item-click', it),\n },\n [\n it.avatar ? h('span', { class: `${pre.value}-avatar` }, h('img', { src: it.avatar, alt: '' })) : null,\n it.icon ? h('span', { class: b('icon', { [it.iconColor ?? 'primary']: true }) }, icon(it.icon)) : null,\n h('div', { class: b('body') }, [h('p', { class: b('title') }, it.title), it.description ? h('p', { class: b('desc') }, it.description) : null]),\n slots.meta ? slots.meta({ item: it }) : it.meta ? h('span', { class: b('meta') }, it.meta) : null,\n ],\n ),\n ),\n );\n };\n },\n});\nexport const ThlGallery = /*#__PURE__*/ defineComponent({\n name: 'ThlGallery',\n props: { images: { type: Array as PropType<Array<{ src: string; thumb?: string; alt?: string; caption?: string }>>, required: true } },\n setup(p) {\n const pre = usePrefix();\n const { t } = useI18n();\n const idx = ref<number | null>(null);\n const onKey = (e: KeyboardEvent) => {\n const cur = idx.value;\n if (cur === null) return;\n const n = p.images.length;\n if (e.key === 'Escape') idx.value = null;\n if (e.key === 'ArrowRight') idx.value = (cur + 1) % n;\n if (e.key === 'ArrowLeft') idx.value = (cur - 1 + n) % n;\n };\n onMounted(() => document.addEventListener('keydown', onKey));\n onBeforeUnmount(() => document.removeEventListener('keydown', onKey));\n return () => {\n const b = bem('gallery', pre.value),\n l = bem('lightbox', pre.value);\n const n = p.images.length;\n return [\n h(\n 'div',\n { class: b() },\n p.images.map((im, i) =>\n h(\n 'button',\n { key: i, type: 'button', class: b('item'), onClick: () => (idx.value = i) },\n h('img', { src: im.thumb ?? im.src, alt: im.alt ?? '', loading: 'lazy' }),\n ),\n ),\n ),\n idx.value !== null\n ? h('div', { class: l(), role: 'dialog', 'aria-modal': 'true', onClick: (e: MouseEvent) => e.target === e.currentTarget && (idx.value = null) }, [\n h('img', { src: p.images[idx.value].src, alt: p.images[idx.value].alt ?? '' }),\n h('button', { type: 'button', class: l('close'), onClick: () => (idx.value = null), 'aria-label': t('common.close') }, '×'),\n h(\n 'button',\n { type: 'button', class: l('nav', { prev: true }), onClick: () => (idx.value = (idx.value! - 1 + n) % n), 'aria-label': t('common.previous') },\n icon('chevron-left'),\n ),\n h(\n 'button',\n { type: 'button', class: l('nav', { next: true }), onClick: () => (idx.value = (idx.value! + 1) % n), 'aria-label': t('common.next') },\n icon('chevron-right'),\n ),\n p.images[idx.value].caption ? h('div', { class: l('caption') }, p.images[idx.value].caption) : null,\n ])\n : null,\n ];\n };\n },\n});\n\n/* ---------------- Widgets ---------------- */\nexport const ThlInfoBox = /*#__PURE__*/ defineComponent({\n name: 'ThlInfoBox',\n props: { icon: String, value: any<string | number>(), title: String, color: str('primary'), filled: Boolean, soft: Boolean },\n setup(p, { slots }) {\n const pre = usePrefix();\n return () => {\n const b = bem('info-box', pre.value);\n return h('div', { class: b({ [p.color]: true, filled: p.filled, soft: p.soft }) }, [\n p.icon ? h('span', { class: b('icon') }, icon(p.icon)) : null,\n h('div', { class: b('body') }, [\n h('div', { class: b('value') }, p.value),\n h('p', { class: b('title') }, p.title),\n slots.footer ? [h('span', { class: b('line') }), h('div', { class: b('foot') }, slots.footer())] : null,\n ]),\n ]);\n };\n },\n});\nexport const ThlStatBox = /*#__PURE__*/ defineComponent({\n name: 'ThlStatBox',\n props: {\n title: String,\n value: any<string | number>(),\n icon: String,\n color: str<ThlSemanticColor>('primary'),\n trend: String,\n delta: String,\n progress: Number,\n },\n setup(p, { slots }) {\n const pre = usePrefix();\n return () => {\n const b = bem('stat', pre.value);\n return h('div', { class: b({ [p.color]: true }) }, [\n h('div', { class: b('head') }, [h('h2', { class: b('title') }, p.title), p.icon ? h('span', { class: b('icon') }, icon(p.icon)) : null]),\n h('div', { class: b('value') }, [\n p.value,\n p.delta\n ? h('span', { class: b('delta', { [p.trend ?? 'up']: true }) }, [icon(p.trend === 'down' ? 'trending-down' : 'trending-up'), ' ', p.delta])\n : null,\n ]),\n p.progress !== undefined ? h(ThlProgress, { value: p.progress, color: p.color, size: 'sm' }) : null,\n slots.default?.(),\n ]);\n };\n },\n});\nexport const ThlColorBox = /*#__PURE__*/ defineComponent({\n name: 'ThlColorBox',\n props: { color: str('primary'), icon: String, label: String, value: any<string | number>() },\n setup(p, { slots }) {\n const pre = usePrefix();\n return () => {\n const b = bem('color-box', pre.value);\n return h('div', { class: b({ [p.color]: true }) }, [\n p.label ? h('div', { class: b('label') }, p.label) : null,\n p.value !== undefined ? h('div', { class: b('value') }, p.value) : null,\n slots.default?.(),\n p.icon ? h('span', { class: b('icon') }, icon(p.icon)) : null,\n ]);\n };\n },\n});\nexport const ThlStatsRow = /*#__PURE__*/ defineComponent({\n name: 'ThlStatsRow',\n props: { items: { type: Array as PropType<Array<{ label: string; value: string | number }>>, required: true } },\n setup(p) {\n const pre = usePrefix();\n return () => {\n const b = bem('stats-row', pre.value);\n return h(\n 'div',\n { class: b() },\n p.items.map((it, i) => h('div', { key: i, class: b('item') }, [h('div', { class: b('label') }, it.label), h('b', it.value)])),\n );\n };\n },\n});\nexport interface PricingPlanData {\n name: string;\n price: string | number;\n currency?: string;\n period?: string;\n features: Array<{ icon?: string; text: string }>;\n featured?: boolean;\n tag?: string;\n cta?: string;\n ctaVariant?: string;\n}\nexport const ThlPricingTable = /*#__PURE__*/ defineComponent({\n name: 'ThlPricingTable',\n props: { plans: { type: Array as PropType<PricingPlanData[]>, required: true } },\n emits: ['select'],\n setup(p, { emit }) {\n const pre = usePrefix();\n const { t } = useI18n();\n return () => {\n const b = bem('pricing-plan', pre.value);\n return h(\n 'div',\n { class: `${pre.value}-pricing-wrap` },\n h(\n 'div',\n { class: `${pre.value}-pricing`, style: { '--_n': p.plans.length } },\n p.plans.map((pl, i) =>\n h('div', { key: i, class: b({ featured: pl.featured }) }, [\n pl.tag ? h('div', { class: b('tag') }, pl.tag) : null,\n h('div', { class: b('header') }, [\n h('h2', pl.name),\n h('div', { class: b('price') }, [h('sup', pl.currency ?? '$'), pl.price]),\n h('p', { class: b('period') }, pl.period ?? t('pages.pricing.perMonth')),\n ]),\n h(\n 'ul',\n { class: b('features') },\n pl.features.map((f, k) => h('li', { key: k, class: b('feature') }, [icon(f.icon), f.text])),\n ),\n h(\n 'div',\n { class: b('action') },\n h(\n ThlButton,\n {\n variant: pl.ctaVariant ?? (pl.featured ? 'danger' : 'success'),\n size: pl.featured ? 'lg' : undefined,\n onClick: () => emit('select', pl, i),\n },\n () => pl.cta ?? t('pages.pricing.signUp'),\n ),\n ),\n ]),\n ),\n ),\n );\n };\n },\n});\nexport const ThlUserCard = /*#__PURE__*/ defineComponent({\n name: 'ThlUserCard',\n props: { image: { type: String, required: true }, name: String, subtitle: String },\n setup(p, { slots }) {\n const pre = usePrefix();\n return () => {\n const b = bem('user-card', pre.value);\n return h('div', { class: b() }, [\n h('div', { class: b('media'), tabindex: slots.actions ? 0 : undefined }, [\n h('img', { src: p.image, alt: '' }),\n slots.actions ? h('div', { class: b('overlay') }, slots.actions()) : null,\n ]),\n h('div', { class: b('content') }, [h('h2', p.name), p.subtitle ? h('small', p.subtitle) : null]),\n ]);\n };\n },\n});\nexport const ThlProfileCard = /*#__PURE__*/ defineComponent({\n name: 'ThlProfileCard',\n props: { cover: String, avatar: String, name: String, email: String, stats: Array as PropType<Array<{ label: string; value: string | number }>> },\n setup(p, { slots }) {\n const pre = usePrefix();\n return () => {\n const b = bem('profile-card', pre.value);\n return h('div', { class: b() }, [\n h('div', { class: b('cover') }, [\n p.cover ? h('img', { src: p.cover, alt: '' }) : null,\n h('div', { class: b('overlay') }, [\n p.avatar\n ? h('img', {\n src: p.avatar,\n alt: '',\n style: { width: '80px', height: '80px', borderRadius: '50%', border: '3px solid #fff', objectFit: 'cover' },\n })\n : null,\n h('h2', p.name),\n p.email ? h('div', p.email) : null,\n ]),\n ]),\n p.stats\n ? h(\n 'div',\n { class: b('stats') },\n p.stats.map((s, i) => h('div', { key: i }, [h('b', s.value), h('small', s.label)])),\n )\n : null,\n slots.default ? h('div', { class: b('body') }, slots.default()) : null,\n ]);\n };\n },\n});\nexport const ThlChat = /*#__PURE__*/ defineComponent({\n name: 'ThlChat',\n props: {\n messages: {\n type: Array as PropType<Array<{ id: string | number; from: string; avatar?: string; text: string; time?: string; me?: boolean }>>,\n required: true,\n },\n composer: Boolean,\n },\n emits: ['send'],\n setup(p, { emit }) {\n const pre = usePrefix();\n const { t } = useI18n();\n const text = ref('');\n return () => {\n const b = bem('chat', pre.value);\n return h('div', [\n h(\n 'ul',\n { class: b(), 'aria-live': 'polite' },\n p.messages.map((m) =>\n h('li', { key: m.id, class: b('msg', { me: m.me }) }, [\n m.avatar ? h('img', { src: m.avatar, alt: '', style: { width: '36px', height: '36px', borderRadius: '50%', objectFit: 'cover' } }) : null,\n h('div', [\n !m.me ? h('div', { class: b('name') }, m.from) : null,\n h('div', { class: b('bubble') }, m.text),\n m.time ? h('div', { class: b('time') }, m.time) : null,\n ]),\n ]),\n ),\n ),\n p.composer\n ? h(\n 'form',\n {\n class: b('composer'),\n onSubmit: (e: Event) => {\n e.preventDefault();\n if (text.value.trim()) {\n emit('send', text.value.trim());\n text.value = '';\n }\n },\n },\n [\n h('input', {\n class: `${pre.value}-input`,\n value: text.value,\n onInput: (e: Event) => (text.value = (e.target as HTMLInputElement).value),\n placeholder: `${t('layout.messages')}...`,\n 'aria-label': t('layout.messages'),\n }),\n h(ThlButton, { type: 'submit', variant: 'primary', circle: true, 'aria-label': t('pages.inbox.send') }, () => icon('send')),\n ],\n )\n : null,\n ]);\n };\n },\n});\nexport const ThlTodoList = /*#__PURE__*/ defineComponent({\n name: 'ThlTodoList',\n props: {\n items: { type: Array as PropType<Array<{ id: string | number; text: string; done?: boolean; badge?: { text: string; color?: string } }>>, required: true },\n addable: Boolean,\n },\n emits: ['toggle', 'remove', 'add'],\n setup(p, { emit }) {\n const pre = usePrefix();\n const { t } = useI18n();\n const text = ref('');\n return () => {\n const b = bem('todo', pre.value);\n return h('div', [\n h(\n 'ul',\n { class: b() },\n p.items.map((it) =>\n h('li', { key: it.id, class: cx(b('item'), { 'is-done': it.done }) }, [\n h('label', { class: `${pre.value}-check`, style: { margin: 0 } }, [\n h('input', {\n type: 'checkbox',\n class: `${pre.value}-check__input`,\n checked: !!it.done,\n 'aria-label': `${t('common.toggleDone')}: ${it.text}`,\n onChange: () => emit('toggle', it.id),\n }),\n h('span', { class: `${pre.value}-check__box` }),\n ]),\n h('span', { class: b('text') }, it.text),\n it.badge ? h(ThlLabel, { color: it.badge.color ?? 'info', rounded: true }, () => it.badge!.text) : null,\n h('button', { type: 'button', class: b('remove'), onClick: () => emit('remove', it.id), 'aria-label': t('common.delete') }, icon('trash-2')),\n ]),\n ),\n ),\n p.addable\n ? h(\n 'form',\n {\n class: `${pre.value}-flex ${pre.value}-mt-3`,\n style: { flexWrap: 'nowrap' },\n onSubmit: (e: Event) => {\n e.preventDefault();\n if (text.value.trim()) {\n emit('add', text.value.trim());\n text.value = '';\n }\n },\n },\n [\n h('input', {\n class: `${pre.value}-input`,\n value: text.value,\n onInput: (e: Event) => (text.value = (e.target as HTMLInputElement).value),\n placeholder: `${t('common.add')}...`,\n 'aria-label': t('common.add'),\n }),\n h(ThlButton, { type: 'submit', variant: 'success' }, () => t('common.add')),\n ],\n )\n : null,\n ]);\n };\n },\n});\nexport const ThlWeather = /*#__PURE__*/ defineComponent({\n name: 'ThlWeather',\n props: {\n city: String,\n temp: Number,\n condition: String,\n icon: str('cloud-sun'),\n days: Array as PropType<Array<{ day: string; temp: number; icon?: string }>>,\n },\n setup(p) {\n const pre = usePrefix();\n return () => {\n const b = bem('weather', pre.value);\n return h('div', { class: b() }, [\n h('div', { class: `${pre.value}-flex-between` }, [\n h('div', [\n h('div', { class: b('temp') }, [p.temp, h('sup', '°')]),\n h('div', p.condition),\n h('small', { style: { opacity: 0.85 } }, [icon('map-pin'), ' ', p.city]),\n ]),\n h('span', { class: b('icon') }, icon(p.icon, { strokeWidth: 1.5 })),\n ]),\n p.days\n ? h(\n 'div',\n { class: b('days') },\n p.days.map((d, i) => h('div', { key: i }, [h('div', d.day), icon(d.icon), h('b', `${d.temp}°`)])),\n )\n : null,\n ]);\n };\n },\n});\n\n/* ---------------- Charts ---------------- */\nfunction useWidth() {\n const el = ref<HTMLElement>();\n const w = ref(600);\n let ro: ResizeObserver | null = null;\n onMounted(() => {\n if (el.value && typeof ResizeObserver !== 'undefined') {\n ro = new ResizeObserver(([e]) => (w.value = Math.max(200, Math.round(e.contentRect.width))));\n ro.observe(el.value);\n }\n });\n onBeforeUnmount(() => ro?.disconnect());\n return { el, w };\n}\nconst legend = (pre: string, items: Array<{ name: string; color: string }>) =>\n h(\n 'ul',\n { class: `${pre}-chart-legend` },\n items.map((it, i) => h('li', { key: i }, [h('i', { style: { background: it.color } }), it.name])),\n );\nconst axisText = (x: number, y: number, s: string, anchor = 'middle') =>\n h('text', { x, y, 'text-anchor': anchor, 'font-size': 11, fill: 'var(--thl-text)' }, s);\n\nexport const ThlLineChart = /*#__PURE__*/ defineComponent({\n name: 'ThlLineChart',\n props: {\n series: { type: Array as PropType<Series[]>, required: true },\n labels: { type: Array as PropType<string[]>, required: true },\n height: { type: Number, default: 280 },\n area: Boolean,\n smooth: { type: Boolean, default: true },\n legend: { type: Boolean, default: true },\n },\n setup(p) {\n const pre = usePrefix();\n const { intlLocale } = useI18n();\n const { el, w } = useWidth();\n const hover = ref<number | null>(null);\n const c = computed(() => lineChart(p.series, p.labels, { width: w.value, height: p.height }, { smooth: p.smooth }));\n return () => {\n const ch = c.value;\n const loc = intlLocale();\n const n = Math.max(1, p.labels.length - 1);\n return h('div', { ref: el, class: `${pre.value}-chart` }, [\n p.legend\n ? legend(\n pre.value,\n ch.series.map((s) => ({ name: s.name, color: s.color })),\n )\n : null,\n h(\n 'svg',\n { width: w.value, height: p.height, role: 'img', 'aria-label': p.series.map((s) => s.name).join(', '), onMouseleave: () => (hover.value = null) },\n [\n ...ch.yTicks.map((tk) =>\n h('g', { key: tk.value }, [\n h('line', { x1: ch.plot.x, x2: ch.plot.x + ch.plot.width, y1: tk.y, y2: tk.y, stroke: 'var(--thl-border-color)' }),\n axisText(ch.plot.x - 8, tk.y + 4, formatTick(tk.value, loc), 'end'),\n ]),\n ),\n ...ch.xLabels.map((l, i) => h('g', { key: `x${i}` }, axisText(l.x, p.height - 8, l.label))),\n ...ch.series.map((s, si) =>\n h('g', { key: si }, [\n p.area ? h('path', { d: s.area, fill: s.color, opacity: 0.15 }) : null,\n h('path', { d: s.line, fill: 'none', stroke: s.color, 'stroke-width': 2.5, 'stroke-linejoin': 'round', 'stroke-linecap': 'round' }),\n ...s.points.map((pt, i) =>\n h('circle', { key: i, cx: pt.x, cy: pt.y, r: hover.value === i ? 5 : 3, fill: 'var(--thl-surface)', stroke: s.color, 'stroke-width': 2 }),\n ),\n ]),\n ),\n ...ch.xLabels.map((l, i) =>\n h('rect', {\n key: `h${i}`,\n x: l.x - ch.plot.width / n / 2,\n y: ch.plot.y,\n width: ch.plot.width / n,\n height: ch.plot.height,\n fill: 'transparent',\n onMouseenter: () => (hover.value = i),\n }),\n ),\n ],\n ),\n hover.value !== null\n ? h(\n 'div',\n {\n class: `${pre.value}-chart-tooltip`,\n style: {\n left: `${ch.xLabels[hover.value].x}px`,\n top: `${Math.min(...ch.series.map((s) => s.points[hover.value!]?.y ?? p.height)) + (p.legend ? 30 : 0)}px`,\n },\n },\n [\n h('b', p.labels[hover.value]),\n ...ch.series.map((s) => h('div', { key: s.name }, `${s.name}: ${formatTick(s.points[hover.value!]?.value ?? 0, loc)}`)),\n ],\n )\n : null,\n ]);\n };\n },\n});\nexport const ThlBarChart = /*#__PURE__*/ defineComponent({\n name: 'ThlBarChart',\n props: {\n series: { type: Array as PropType<Series[]>, required: true },\n labels: { type: Array as PropType<string[]>, required: true },\n height: { type: Number, default: 280 },\n stacked: Boolean,\n legend: { type: Boolean, default: true },\n },\n setup(p) {\n const pre = usePrefix();\n const { intlLocale, n } = useI18n();\n const { el, w } = useWidth();\n const c = computed(() => barChart(p.series, p.labels, { width: w.value, height: p.height }, { stacked: p.stacked }));\n return () => {\n const ch = c.value;\n const loc = intlLocale();\n return h('div', { ref: el, class: `${pre.value}-chart` }, [\n p.legend\n ? legend(\n pre.value,\n p.series.map((s, i) => ({ name: s.name, color: colorAt(i, s) })),\n )\n : null,\n h('svg', { width: w.value, height: p.height, role: 'img', 'aria-label': p.series.map((s) => s.name).join(', ') }, [\n ...ch.yTicks.map((tk) =>\n h('g', { key: tk.value }, [\n h('line', { x1: ch.plot.x, x2: ch.plot.x + ch.plot.width, y1: tk.y, y2: tk.y, stroke: 'var(--thl-border-color)' }),\n axisText(ch.plot.x - 8, tk.y + 4, formatTick(tk.value, loc), 'end'),\n ]),\n ),\n ...ch.xLabels.map((l, i) => h('g', { key: `x${i}` }, axisText(l.x, p.height - 8, l.label))),\n ...ch.bars.map((b, i) =>\n h(\n 'rect',\n { key: i, x: b.x, y: b.y, width: b.width, height: b.height, fill: b.color, rx: 2 },\n h('title', `${b.series} · ${b.label}: ${n(b.value)}`),\n ),\n ),\n ]),\n ]);\n };\n },\n});\nexport const ThlPieChart = /*#__PURE__*/ defineComponent({\n name: 'ThlPieChart',\n props: {\n data: { type: Array as PropType<Array<{ label: string; value: number; color?: string }>>, required: true },\n size: { type: Number, default: 220 },\n donut: { type: Number, default: 0.6 },\n legend: { type: Boolean, default: true },\n },\n setup(p, { slots }) {\n const pre = usePrefix();\n const { n } = useI18n();\n const hover = ref<number | null>(null);\n const slices = computed(() => pieChart(p.data, p.size, { donut: p.donut }));\n return () =>\n h('div', { class: `${pre.value}-chart`, style: { display: 'flex', flexDirection: 'column', alignItems: 'center' } }, [\n h('div', { style: { position: 'relative', width: `${p.size}px`, height: `${p.size}px` } }, [\n h(\n 'svg',\n { width: p.size, height: p.size, role: 'img', 'aria-label': p.data.map((d) => `${d.label} ${d.value}`).join(', ') },\n slices.value.map((s, i) =>\n h(\n 'path',\n {\n key: i,\n d: s.path,\n fill: s.color,\n stroke: 'var(--thl-surface)',\n 'stroke-width': 2,\n opacity: hover.value === null || hover.value === i ? 1 : 0.55,\n onMouseenter: () => (hover.value = i),\n onMouseleave: () => (hover.value = null),\n },\n h('title', `${s.label}: ${n(s.value)} (${s.percent.toFixed(1)}%)`),\n ),\n ),\n ),\n h(\n 'div',\n {\n style: {\n position: 'absolute',\n inset: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexDirection: 'column',\n pointerEvents: 'none',\n textAlign: 'center',\n },\n },\n hover.value !== null\n ? [\n h('b', { style: { fontSize: '22px', color: 'var(--thl-heading)' } }, `${slices.value[hover.value].percent.toFixed(0)}%`),\n h('small', slices.value[hover.value].label),\n ]\n : slots.center?.(),\n ),\n ]),\n p.legend\n ? h(\n 'div',\n { class: `${pre.value}-mt-3` },\n legend(\n pre.value,\n slices.value.map((s) => ({ name: s.label, color: s.color })),\n ),\n )\n : null,\n ]);\n },\n});\nexport const ThlSparkline = /*#__PURE__*/ defineComponent({\n name: 'ThlSparkline',\n props: {\n data: { type: Array as PropType<number[]>, required: true },\n width: { type: Number, default: 120 },\n height: { type: Number, default: 36 },\n type: str<'line' | 'bar' | 'area'>('line'),\n color: str('primary'),\n },\n setup(p) {\n const pre = usePrefix();\n return () => {\n const s = sparkline(p.data, p.width, p.height, p.type === 'bar' ? 'bar' : 'line');\n const c = `var(--${pre.value}-color-${p.color})`;\n return h(\n 'svg',\n {\n width: p.width,\n height: p.height,\n viewBox: `0 0 ${p.width} ${p.height}`,\n role: 'img',\n 'aria-label': p.data.join(', '),\n style: { overflow: 'visible', maxWidth: '100%', height: 'auto' },\n },\n p.type === 'bar'\n ? s.bars.map((b, i) => h('rect', { key: i, x: b.x, y: b.y, width: b.width, height: b.height, fill: c, rx: 1 }))\n : [\n p.type === 'area' ? h('path', { d: s.area, fill: c, opacity: 0.2 }) : null,\n h('path', { d: s.line, fill: 'none', stroke: c, 'stroke-width': 2, 'stroke-linejoin': 'round' }),\n s.last ? h('circle', { cx: s.last[0], cy: s.last[1], r: 3, fill: c }) : null,\n ],\n );\n };\n },\n});\n\n/* ---------------- Calendar ---------------- */\nexport interface CalendarEvent {\n id: string | number;\n title: string;\n date: string;\n color?: string;\n}\nexport const ThlCalendar = /*#__PURE__*/ defineComponent({\n name: 'ThlCalendar',\n props: { events: { type: Array as PropType<CalendarEvent[]>, required: true } },\n emits: ['event-move', 'date-click', 'event-click'],\n setup(p, { emit }) {\n const pre = usePrefix();\n const { t, d, intlLocale } = useI18n();\n const ctx = useThlContext();\n const month = ref(new Date(new Date().getFullYear(), new Date().getMonth(), 1));\n const drop = ref<string | null>(null);\n const byDate = computed(() => {\n const m: Record<string, CalendarEvent[]> = {};\n p.events.forEach((e) => (m[e.date] ??= []).push(e));\n return m;\n });\n return () => {\n const ws = ((ctx.config.value.components.DatePicker?.weekStartsOn as number) ?? 1) as 0 | 1;\n const loc = intlLocale();\n const b = bem('calendar', pre.value);\n return h('div', { class: b() }, [\n h('div', { class: b('toolbar') }, [\n h('div', { class: `${pre.value}-btn-group` }, [\n h(ThlButton, { size: 'sm', 'aria-label': t('common.previous'), onClick: () => (month.value = addMonths(month.value, -1)) }, () =>\n icon('chevron-left'),\n ),\n h(ThlButton, { size: 'sm', 'aria-label': t('common.next'), onClick: () => (month.value = addMonths(month.value, 1)) }, () => icon('chevron-right')),\n ]),\n h('h2', { 'aria-live': 'polite' }, new Intl.DateTimeFormat(loc, { month: 'long', year: 'numeric' }).format(month.value)),\n h(\n ThlButton,\n {\n size: 'sm',\n variant: 'primary',\n onClick: () => {\n const d = new Date();\n month.value = new Date(d.getFullYear(), d.getMonth(), 1);\n },\n },\n () => t('datepicker.today'),\n ),\n ]),\n h('div', { class: b('grid') }, [\n ...weekdayNames(loc, ws, 'short').map((n) => h('div', { key: n, class: b('dow'), 'aria-hidden': 'true' }, n)),\n ...monthGrid(month.value.getFullYear(), month.value.getMonth(), ws)\n .flat()\n .map((c) => {\n const iso = toISODate(c.date);\n return h(\n 'div',\n {\n key: c.key,\n role: 'group',\n 'aria-label': d(c.date, { dateStyle: 'full' }),\n class: cx(b('cell'), { 'is-outside': !c.inMonth, 'is-today': c.today, 'is-drop': drop.value === iso }),\n onClick: () => emit('date-click', iso),\n onDragover: (e: DragEvent) => {\n e.preventDefault();\n drop.value = iso;\n },\n onDragleave: () => (drop.value = null),\n onDrop: (e: DragEvent) => {\n e.preventDefault();\n drop.value = null;\n const id = e.dataTransfer?.getData('text/thl-event');\n if (id) emit('event-move', isNaN(Number(id)) ? id : Number(id), iso);\n },\n },\n [\n h('span', { class: b('date'), 'aria-hidden': 'true' }, c.date.getDate()),\n ...(byDate.value[iso] ?? []).map((ev) =>\n h(\n 'button',\n {\n key: ev.id,\n type: 'button',\n draggable: true,\n class: b('event', { [ev.color ?? 'primary']: true }),\n title: ev.title,\n onDragstart: (e: DragEvent) => e.dataTransfer?.setData('text/thl-event', String(ev.id)),\n onClick: (e: Event) => {\n e.stopPropagation();\n emit('event-click', ev);\n },\n },\n ev.title,\n ),\n ),\n ],\n );\n }),\n ]),\n ]);\n };\n },\n});\n"],"names":["ThlTable","defineComponent","any","p","slots","pre","usePrefix","h","bem","ThlDataTable","emit","t","useI18n","d","useDefaults","api","createTable","watch","v","useStore","editing","ref","commit","e","next","hideCls","st","view","b","all","total","from","to","cols","pageSizeOptions","n","ThlCheckbox","c","dir","cx","row","key","i","raw","isEd","content","ThlPagination","ThlList","it","icon","ThlGallery","idx","onKey","cur","onMounted","onBeforeUnmount","im","ThlInfoBox","str","ThlStatBox","ThlProgress","ThlColorBox","ThlStatsRow","ThlPricingTable","pl","f","k","ThlButton","ThlUserCard","ThlProfileCard","s","ThlChat","text","m","ThlTodoList","ThlLabel","ThlWeather","useWidth","el","w","ro","legend","items","axisText","x","y","anchor","ThlLineChart","intlLocale","hover","computed","lineChart","ch","loc","tk","formatTick","l","si","pt","ThlBarChart","barChart","colorAt","ThlPieChart","slices","pieChart","ThlSparkline","sparkline","ThlCalendar","ctx","useThlContext","month","drop","byDate","ws","addMonths","weekdayNames","monthGrid","iso","toISODate","id","ev"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thl-ui/vue",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "thl-ui for Vue 3: admin UI components with global config, 12 skins, dark mode and i18n.",
5
5
  "keywords": [
6
6
  "thl-ui",
@@ -43,11 +43,11 @@
43
43
  "vue": ">=3.5.2"
44
44
  },
45
45
  "dependencies": {
46
- "@thl-ui/core": "0.1.0",
47
- "@thl-ui/icons": "0.1.0",
48
- "@thl-ui/charts": "0.1.0",
49
- "@thl-ui/locales": "0.1.0",
50
- "@thl-ui/tokens": "0.1.0"
46
+ "@thl-ui/core": "0.1.1",
47
+ "@thl-ui/icons": "0.1.1",
48
+ "@thl-ui/charts": "0.1.1",
49
+ "@thl-ui/locales": "0.1.1",
50
+ "@thl-ui/tokens": "0.1.1"
51
51
  },
52
52
  "devDependencies": {
53
53
  "vue": "^3.5.22",