@customafk/lunas-ui 0.2.79 → 0.2.81
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{analysis-panel-Bg0lCfWv.cjs → analysis-panel-DYF2CmAH.cjs} +2 -2
- package/dist/{analysis-panel-Bg0lCfWv.cjs.map → analysis-panel-DYF2CmAH.cjs.map} +1 -1
- package/dist/{analysis-panel-Cop-l4lx.mjs → analysis-panel-_s1fgcZC.mjs} +2 -2
- package/dist/{analysis-panel-Cop-l4lx.mjs.map → analysis-panel-_s1fgcZC.mjs.map} +1 -1
- package/dist/{badge-BPiU1Ss2.d.cts → badge-C_KLKwiS.d.cts} +2 -2
- package/dist/{badge-BPiU1Ss2.d.mts → badge-C_KLKwiS.d.mts} +2 -2
- package/dist/{badge-display-B0BKsU9T.mjs → badge-display-D6d7wTEE.mjs} +2 -2
- package/dist/{badge-display-B0BKsU9T.mjs.map → badge-display-D6d7wTEE.mjs.map} +1 -1
- package/dist/{badge-display-Dv2UTvzp.cjs → badge-display-DWzSl3rs.cjs} +2 -2
- package/dist/{badge-display-Dv2UTvzp.cjs.map → badge-display-DWzSl3rs.cjs.map} +1 -1
- package/dist/{boolean-display-CPX7H39m.cjs → boolean-display-C5GIuWnc.cjs} +2 -2
- package/dist/{boolean-display-CPX7H39m.cjs.map → boolean-display-C5GIuWnc.cjs.map} +1 -1
- package/dist/{boolean-display-CMX5AupA.mjs → boolean-display-Wko_5Jd5.mjs} +2 -2
- package/dist/{boolean-display-CMX5AupA.mjs.map → boolean-display-Wko_5Jd5.mjs.map} +1 -1
- package/dist/{button-DQLIL8K2.d.cts → button-CnKmz4qM.d.cts} +4 -4
- package/dist/{button-DQLIL8K2.d.mts → button-CnKmz4qM.d.mts} +4 -4
- package/dist/{calendar-5VVBPn4F.d.mts → calendar-BT6-Fo3T.d.mts} +2 -2
- package/dist/{calendar-DHcoDDIc.d.cts → calendar-D_QmR9VE.d.cts} +2 -2
- package/dist/{carousel-D0jTbSoW.d.cts → carousel-BBI4xPdK.d.mts} +2 -2
- package/dist/{carousel-qH6YsFKK.d.mts → carousel-B_IXlBdH.d.cts} +2 -2
- package/dist/{currency-display-CanjOswc.mjs → currency-display-BGkpGtN_.mjs} +2 -2
- package/dist/{currency-display-CanjOswc.mjs.map → currency-display-BGkpGtN_.mjs.map} +1 -1
- package/dist/{currency-display-xxK62yo4.cjs → currency-display-Bbh5InhV.cjs} +2 -2
- package/dist/{currency-display-xxK62yo4.cjs.map → currency-display-Bbh5InhV.cjs.map} +1 -1
- package/dist/{date-display-DMPhFq8v.cjs → date-display-D38qvsh2.cjs} +2 -2
- package/dist/{date-display-DMPhFq8v.cjs.map → date-display-D38qvsh2.cjs.map} +1 -1
- package/dist/{date-display-YE8NIIrl.mjs → date-display-DXyb-Ai2.mjs} +2 -2
- package/dist/{date-display-YE8NIIrl.mjs.map → date-display-DXyb-Ai2.mjs.map} +1 -1
- package/dist/{description-display-B4KoH6ql.mjs → description-display-BwBMrRAi.mjs} +2 -2
- package/dist/{description-display-B4KoH6ql.mjs.map → description-display-BwBMrRAi.mjs.map} +1 -1
- package/dist/{description-display-jmAaeMBD.cjs → description-display-DIeHy7ll.cjs} +2 -2
- package/dist/{description-display-jmAaeMBD.cjs.map → description-display-DIeHy7ll.cjs.map} +1 -1
- package/dist/detail-dialog-BCM0iEXQ.cjs +2 -0
- package/dist/detail-dialog-BCM0iEXQ.cjs.map +1 -0
- package/dist/detail-dialog-DwfTi9Fl.mjs +2 -0
- package/dist/detail-dialog-DwfTi9Fl.mjs.map +1 -0
- package/dist/dialogs/detail-dialog/components/sidebar.d.cts +2 -2
- package/dist/dialogs/detail-dialog/components/sidebar.d.mts +2 -2
- package/dist/dialogs/detail-dialog/index.cjs +1 -1
- package/dist/dialogs/detail-dialog/index.d.cts +1 -1
- package/dist/dialogs/detail-dialog/index.d.mts +1 -1
- package/dist/dialogs/detail-dialog/index.mjs +1 -1
- package/dist/{email-display-D_k7AUmp.mjs → email-display-Be3b-kDL.mjs} +2 -2
- package/dist/{email-display-D_k7AUmp.mjs.map → email-display-Be3b-kDL.mjs.map} +1 -1
- package/dist/{email-display-CzvqQMhG.cjs → email-display-_FRE2qcO.cjs} +2 -2
- package/dist/{email-display-CzvqQMhG.cjs.map → email-display-_FRE2qcO.cjs.map} +1 -1
- package/dist/features/descriptions/index.d.cts +1 -1
- package/dist/features/descriptions/index.d.mts +1 -1
- package/dist/features/file-icons/index.cjs +2 -0
- package/dist/features/file-icons/index.cjs.map +1 -0
- package/dist/features/file-icons/index.d.cts +34 -0
- package/dist/features/file-icons/index.d.mts +34 -0
- package/dist/features/file-icons/index.mjs +2 -0
- package/dist/features/file-icons/index.mjs.map +1 -0
- package/dist/features/tables/index.cjs +1 -1
- package/dist/features/tables/index.d.cts +1 -1
- package/dist/features/tables/index.d.mts +1 -1
- package/dist/features/tables/index.mjs +1 -1
- package/dist/filter-C2wE49q7.mjs +2 -0
- package/dist/{filter-BCNjqiBx.mjs.map → filter-C2wE49q7.mjs.map} +1 -1
- package/dist/filter-z7p4lRp8.cjs +2 -0
- package/dist/{filter-B5EnnL9I.cjs.map → filter-z7p4lRp8.cjs.map} +1 -1
- package/dist/{flex-CWo0w9K1.d.cts → flex-CIzZIICK.d.cts} +2 -2
- package/dist/{flex-CWo0w9K1.d.mts → flex-CIzZIICK.d.mts} +2 -2
- package/dist/{index-CLx89ATZ.d.cts → index-BSj8azta.d.cts} +2 -2
- package/dist/{index-BOifmu0V.d.cts → index-BXqx1kOJ.d.cts} +4 -2
- package/dist/{index-BOifmu0V.d.mts → index-BXqx1kOJ.d.mts} +4 -2
- package/dist/{index-BMuVmm7f.d.mts → index-CEmVk1zP.d.mts} +2 -2
- package/dist/{index-CFgFCg9H.d.mts → index-CjiDR-94.d.mts} +16 -15
- package/dist/{index-BapooVnN.d.cts → index-DqAbPipJ.d.cts} +16 -15
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +14 -14
- package/dist/index.d.mts +14 -14
- package/dist/index.mjs +1 -1
- package/dist/{item-CtLZgUB6.d.cts → item-BxUBO7Hd.d.cts} +2 -2
- package/dist/{item-Brbp9t6f.d.mts → item-ChW41yKF.d.mts} +2 -2
- package/dist/layouts/flex.d.cts +1 -1
- package/dist/layouts/flex.d.mts +1 -1
- package/dist/{list-display-DPxZ_Jbf.cjs → list-display-BvKGl7uq.cjs} +2 -2
- package/dist/{list-display-DPxZ_Jbf.cjs.map → list-display-BvKGl7uq.cjs.map} +1 -1
- package/dist/{list-display-M43N3kle.mjs → list-display-CWQvIMUj.mjs} +2 -2
- package/dist/{list-display-M43N3kle.mjs.map → list-display-CWQvIMUj.mjs.map} +1 -1
- package/dist/{name-display-pWhLLS05.mjs → name-display-CnTRVqX4.mjs} +2 -2
- package/dist/{name-display-pWhLLS05.mjs.map → name-display-CnTRVqX4.mjs.map} +1 -1
- package/dist/{name-display-BJ1wPUnS.cjs → name-display-DfOtYp7d.cjs} +2 -2
- package/dist/{name-display-BJ1wPUnS.cjs.map → name-display-DfOtYp7d.cjs.map} +1 -1
- package/dist/{pagination-BVA_yrBO.d.mts → pagination-AxRzmAtZ.d.cts} +2 -2
- package/dist/{pagination-DqJlXNY0.d.cts → pagination-D12pR8_5.d.mts} +2 -2
- package/dist/{paragraph-CRo5eC7H.d.mts → paragraph-C5HE9u0Q.d.mts} +2 -2
- package/dist/{paragraph-CkCNIsvz.d.cts → paragraph-DJlHIDmk.d.cts} +2 -2
- package/dist/{permalink-CMcI__V4.cjs → permalink-29QzG9Xe.cjs} +2 -2
- package/dist/{permalink-CMcI__V4.cjs.map → permalink-29QzG9Xe.cjs.map} +1 -1
- package/dist/{permalink-BaMvnKIz.mjs → permalink-DhqOATLQ.mjs} +2 -2
- package/dist/{permalink-BaMvnKIz.mjs.map → permalink-DhqOATLQ.mjs.map} +1 -1
- package/dist/{phone-number-F9I9sNLK.cjs → phone-number-C2k8llhf.cjs} +2 -2
- package/dist/{phone-number-F9I9sNLK.cjs.map → phone-number-C2k8llhf.cjs.map} +1 -1
- package/dist/{phone-number-ao2oCmrO.mjs → phone-number-CQXrATQO.mjs} +2 -2
- package/dist/{phone-number-ao2oCmrO.mjs.map → phone-number-CQXrATQO.mjs.map} +1 -1
- package/dist/{progress-display-F8xXJ3T1.cjs → progress-display-B4WVzdJw.cjs} +2 -2
- package/dist/{progress-display-F8xXJ3T1.cjs.map → progress-display-B4WVzdJw.cjs.map} +1 -1
- package/dist/{progress-display-atwRFD6e.mjs → progress-display-DZb1qjfY.mjs} +2 -2
- package/dist/{progress-display-atwRFD6e.mjs.map → progress-display-DZb1qjfY.mjs.map} +1 -1
- package/dist/{resizable-B61Fbl57.d.cts → resizable-D61lvcIL.d.cts} +2 -2
- package/dist/{resizable-B61Fbl57.d.mts → resizable-D61lvcIL.d.mts} +2 -2
- package/dist/{statistic-CJVc9sNs.mjs → statistic-DoNUSe3e.mjs} +2 -2
- package/dist/{statistic-CJVc9sNs.mjs.map → statistic-DoNUSe3e.mjs.map} +1 -1
- package/dist/{statistic-B9OqfhOl.cjs → statistic-wnnjHsKj.cjs} +2 -2
- package/dist/{statistic-B9OqfhOl.cjs.map → statistic-wnnjHsKj.cjs.map} +1 -1
- package/dist/{status-display-DInGGgiP.mjs → status-display-CcihiYsH.mjs} +2 -2
- package/dist/{status-display-DInGGgiP.mjs.map → status-display-CcihiYsH.mjs.map} +1 -1
- package/dist/{status-display-DpKsYvZJ.cjs → status-display-DJ8fFqyX.cjs} +2 -2
- package/dist/{status-display-DpKsYvZJ.cjs.map → status-display-DJ8fFqyX.cjs.map} +1 -1
- package/dist/{summary-bar-DX_sOiuL.mjs → summary-bar-C4loKj1L.mjs} +2 -2
- package/dist/{summary-bar-DX_sOiuL.mjs.map → summary-bar-C4loKj1L.mjs.map} +1 -1
- package/dist/{summary-bar-DKZh-VSB.cjs → summary-bar-DK8glsr4.cjs} +2 -2
- package/dist/{summary-bar-DKZh-VSB.cjs.map → summary-bar-DK8glsr4.cjs.map} +1 -1
- package/dist/{tables-7_KgoyS-.mjs → tables-BTBtN1di.mjs} +2 -2
- package/dist/{tables-7_KgoyS-.mjs.map → tables-BTBtN1di.mjs.map} +1 -1
- package/dist/{tables-CS3NhgTc.cjs → tables-BzP8Cnvh.cjs} +2 -2
- package/dist/{tables-CS3NhgTc.cjs.map → tables-BzP8Cnvh.cjs.map} +1 -1
- package/dist/{toggle-v1PgAvdG.d.cts → toggle-CqTmiPDi.d.cts} +2 -2
- package/dist/{toggle-v1PgAvdG.d.mts → toggle-CqTmiPDi.d.mts} +2 -2
- package/dist/{toggle-group-DM5tS0Kt.d.cts → toggle-group--bJylFDV.d.cts} +2 -2
- package/dist/{toggle-group-_PBz44Im.d.mts → toggle-group-l_Mi7NRg.d.mts} +2 -2
- package/dist/tooltip-BKcU3bMc.mjs +4 -0
- package/dist/tooltip-BKcU3bMc.mjs.map +1 -0
- package/dist/tooltip-CLjCwnTD.cjs +4 -0
- package/dist/tooltip-CLjCwnTD.cjs.map +1 -0
- package/dist/typography/paragraph.d.cts +1 -1
- package/dist/typography/paragraph.d.mts +1 -1
- package/dist/ui/badge.d.cts +1 -1
- package/dist/ui/badge.d.mts +1 -1
- package/dist/ui/button.d.cts +1 -1
- package/dist/ui/button.d.mts +1 -1
- package/dist/ui/calendar.d.cts +1 -1
- package/dist/ui/calendar.d.mts +1 -1
- package/dist/ui/carousel.d.cts +1 -1
- package/dist/ui/carousel.d.mts +1 -1
- package/dist/ui/file-uploader.cjs +2 -2
- package/dist/ui/file-uploader.cjs.map +1 -1
- package/dist/ui/file-uploader.mjs +2 -2
- package/dist/ui/file-uploader.mjs.map +1 -1
- package/dist/ui/item.d.cts +1 -1
- package/dist/ui/item.d.mts +1 -1
- package/dist/ui/pagination.d.cts +1 -1
- package/dist/ui/pagination.d.mts +1 -1
- package/dist/ui/resizable.d.cts +1 -1
- package/dist/ui/resizable.d.mts +1 -1
- package/dist/ui/status.d.cts +1 -1
- package/dist/ui/status.d.mts +1 -1
- package/dist/ui/toggle-group.d.cts +1 -1
- package/dist/ui/toggle-group.d.mts +1 -1
- package/dist/ui/toggle.d.cts +1 -1
- package/dist/ui/toggle.d.mts +1 -1
- package/package.json +5 -1
- package/dist/detail-dialog-Ct0vAjFe.mjs +0 -2
- package/dist/detail-dialog-Ct0vAjFe.mjs.map +0 -1
- package/dist/detail-dialog-uN5mrCa7.cjs +0 -2
- package/dist/detail-dialog-uN5mrCa7.cjs.map +0 -1
- package/dist/filter-B5EnnL9I.cjs +0 -2
- package/dist/filter-BCNjqiBx.mjs +0 -2
- package/dist/tooltip-BcQG6Zw9.cjs +0 -4
- package/dist/tooltip-BcQG6Zw9.cjs.map +0 -1
- package/dist/tooltip-C6flMQgc.mjs +0 -4
- package/dist/tooltip-C6flMQgc.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-B5EnnL9I.cjs","names":["TagIcon","CalendarIcon","HashIcon","TypeIcon","ToggleLeftIcon","Label","Checkbox","Input","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","Button","Popover","PopoverTrigger","PopoverContent","Trash2Icon","useUITableFilterContext","ResizablePanel","Activity","DropdownMenu","DropdownMenuTrigger","ListFilterPlus","DropdownMenuContent","DropdownMenuItem","Separator","ListFilterIcon"],"sources":["../packages/components/features/tables/components/table/filter.tsx"],"sourcesContent":["/**\n * @file filter.tsx\n * Collapsible side-panel with column-visibility toggles and a dynamic filter builder.\n *\n * - \"Columns\" tab: toggle individual column visibility.\n * - \"Filters\" tab: \"Add Filter\" dropdown → active filter chips → per-filter Popover editor.\n */\nimport { Activity, useState } from 'react';\n\nimport { CalendarIcon, HashIcon, ListFilterIcon, ListFilterPlus, TagIcon, ToggleLeftIcon, Trash2Icon, TypeIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { Checkbox } from '@/components/ui/checkbox';\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu';\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\nimport { ResizablePanel } from '@/components/ui/resizable';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select';\nimport { Separator } from '@/components/ui/separator';\n\nimport { useUITableFilterContext } from '../../hooks/use-context';\nimport type {\n ActiveFilter,\n BooleanFilterValue,\n DateRangeFilterValue,\n FilterDefinition,\n FilterType,\n FilterValue,\n NumberFilterValue,\n SingleTagFilterValue,\n TagFilterValue,\n TextFilterValue,\n} from '../../types';\n\n// ── icons per filter type ──────────────────────────────────────────────────────\n\nconst TYPE_ICONS: Record<FilterType, React.ReactNode> = {\n tag: <TagIcon size={14} />,\n 'single-tag': <TagIcon size={14} />,\n 'date-range': <CalendarIcon size={14} />,\n number: <HashIcon size={14} />,\n text: <TypeIcon size={14} />,\n boolean: <ToggleLeftIcon size={14} />,\n};\n\n// ── operator options ───────────────────────────────────────────────────────────\n\nconst NUMBER_OPERATORS: { value: NumberFilterValue['operator']; label: string }[] = [\n { value: 'eq', label: 'Bằng (=)' },\n { value: 'ne', label: 'Không bằng (≠)' },\n { value: 'gt', label: 'Lớn hơn (>)' },\n { value: 'gte', label: 'Ít nhất (≥)' },\n { value: 'lt', label: 'Nhỏ hơn (<)' },\n { value: 'lte', label: 'Nhiều nhất (≤)' },\n { value: 'between', label: 'Trong khoảng' },\n];\n\nconst TEXT_OPERATORS: { value: TextFilterValue['operator']; label: string }[] = [\n { value: 'contains', label: 'Chứa' },\n { value: 'equals', label: 'Bằng' },\n { value: 'starts-with', label: 'Bắt đầu bằng' },\n { value: 'ends-with', label: 'Kết thúc bằng' },\n];\n\n// ── summary label ──────────────────────────────────────────────────────────────\n\nfunction formatFilterValue(value: FilterValue, def: FilterDefinition): string {\n switch (value.type) {\n case 'single-tag': {\n if (!value.value) return 'Chưa đặt';\n return def.options?.find(o => o.value === value.value)?.label ?? value.value;\n }\n case 'tag': {\n if (!value.values.length) return 'Chưa đặt';\n return value.values.map(v => def.options?.find(o => o.value === v)?.label ?? v).join(', ');\n }\n case 'date-range': {\n if (!value.from && !value.to) return 'Ngày không xác định';\n if (value.from && value.to) return `${value.from} → ${value.to}`;\n if (value.from) return `từ ${value.from}`;\n return `đến ${value.to}`;\n }\n case 'number': {\n const op = { eq: '=', ne: '≠', gt: '>', gte: '≥', lt: '<', lte: '≤', between: 'trong khoảng' }[value.operator];\n if (value.value === undefined) return op;\n if (value.operator === 'between') return `${op} ${value.value} – ${value.valueTo ?? '?'}`;\n return `${op} ${value.value}`;\n }\n case 'text': {\n const op = {\n contains: 'chứa',\n equals: 'là',\n 'starts-with': 'bắt đầu bằng',\n 'ends-with': 'kết thúc bằng',\n }[value.operator];\n return value.value ? `${op} \"${value.value}\"` : op;\n }\n case 'boolean':\n if (value.value === null) return 'Không xác định';\n return value.value ? 'Có' : 'Không';\n }\n}\n\n// ── filter editors ─────────────────────────────────────────────────────────────\n\nconst TagFilterEditor: React.FC<{\n value: TagFilterValue;\n definition: FilterDefinition;\n onChange: (v: TagFilterValue) => void;\n}> = ({ value, definition, onChange }) => (\n <div className=\"flex flex-col gap-1 p-3\">\n {(definition.options ?? []).length === 0 ? (\n <p className=\"text-xs text-text-positive-muted\">Không có tùy chọn</p>\n ) : (\n definition.options!.map(option => (\n <Label\n key={option.value}\n className={cn(\n 'flex items-center gap-2 bg-secondary-bg-subtle hover:bg-secondary-muted px-4 py-2 rounded transition-colors',\n value.values.includes(option.value) && 'bg-primary-muted hover:bg-primary-subtle'\n )}\n >\n <Checkbox\n checked={value.values.includes(option.value)}\n onCheckedChange={checked => {\n const next = checked ? [...value.values, option.value] : value.values.filter(v => v !== option.value);\n onChange({ type: 'tag', values: next });\n }}\n />\n <span className=\"text-sm\">{option.label}</span>\n </Label>\n ))\n )}\n </div>\n);\n\nconst SingleTagFilterEditor: React.FC<{\n value: SingleTagFilterValue;\n definition: FilterDefinition;\n onChange: (v: SingleTagFilterValue) => void;\n}> = ({ value, definition, onChange }) => (\n <div className=\"flex flex-col gap-1 p-3\">\n {(definition.options ?? []).length === 0 ? (\n <p className=\"text-xs text-text-positive-muted\">Không có tùy chọn</p>\n ) : (\n definition.options!.map(option => (\n <Label\n key={option.value}\n className={cn(\n 'flex items-center gap-2 bg-secondary-bg-subtle hover:bg-secondary-muted px-4 py-2 rounded transition-colors',\n value.value === option.value && 'bg-primary-muted hover:bg-primary-subtle'\n )}\n >\n <Checkbox\n checked={value.value === option.value}\n onCheckedChange={checked => {\n onChange({ type: 'single-tag', value: checked ? option.value : null });\n }}\n />\n <span className=\"text-sm\">{option.label}</span>\n </Label>\n ))\n )}\n </div>\n);\n\nconst DateRangeFilterEditor: React.FC<{\n value: DateRangeFilterValue;\n onChange: (v: DateRangeFilterValue) => void;\n}> = ({ value, onChange }) => (\n <div className=\"flex flex-col gap-3 p-3\">\n <div className=\"flex flex-col gap-1\">\n <span className=\"text-text-positive-muted text-xs\">Từ ngày</span>\n <Input type=\"date\" size=\"md\" value={value.from ?? ''} onValueChange={v => onChange({ ...value, from: v || undefined })} />\n </div>\n <div className=\"flex flex-col gap-1\">\n <span className=\"text-text-positive-muted text-xs\">Đến ngày</span>\n <Input type=\"date\" size=\"md\" value={value.to ?? ''} onValueChange={v => onChange({ ...value, to: v || undefined })} />\n </div>\n </div>\n);\n\nconst NumberFilterEditor: React.FC<{\n value: NumberFilterValue;\n onChange: (v: NumberFilterValue) => void;\n}> = ({ value, onChange }) => (\n <div className=\"flex flex-col gap-3 p-3\">\n <Select value={value.operator} onValueChange={op => onChange({ ...value, operator: op as NumberFilterValue['operator'] })}>\n <SelectTrigger size=\"sm\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {NUMBER_OPERATORS.map(op => (\n <SelectItem key={op.value} value={op.value}>\n {op.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n <Input\n type=\"number\"\n size=\"md\"\n placeholder=\"Giá trị\"\n value={value.value ?? ''}\n onValueChange={v => onChange({ ...value, value: v ? Number(v) : undefined })}\n />\n {value.operator === 'between' && (\n <Input\n type=\"number\"\n size=\"md\"\n placeholder=\"Đến giá trị\"\n value={value.valueTo ?? ''}\n onValueChange={v => onChange({ ...value, valueTo: v ? Number(v) : undefined })}\n />\n )}\n </div>\n);\n\nconst TextFilterEditor: React.FC<{\n value: TextFilterValue;\n onChange: (v: TextFilterValue) => void;\n}> = ({ value, onChange }) => (\n <div className=\"flex flex-col gap-3 p-3\">\n <Select value={value.operator} onValueChange={op => onChange({ ...value, operator: op as TextFilterValue['operator'] })}>\n <SelectTrigger size=\"sm\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {TEXT_OPERATORS.map(op => (\n <SelectItem key={op.value} value={op.value}>\n {op.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n <Input type=\"text\" size=\"md\" placeholder=\"Nhập văn bản...\" value={value.value} onValueChange={v => onChange({ ...value, value: v })} />\n </div>\n);\n\nconst BOOLEAN_OPTIONS = [\n { label: 'Có', value: true as boolean | null },\n { label: 'Không', value: false as boolean | null },\n { label: 'Không xác định', value: null as boolean | null },\n];\n\nconst BooleanFilterEditor: React.FC<{\n value: BooleanFilterValue;\n onChange: (v: BooleanFilterValue) => void;\n}> = ({ value, onChange }) => (\n <div className=\"flex flex-col gap-1 p-3\">\n {BOOLEAN_OPTIONS.map(({ label, value: v }) => (\n <Button\n key={label}\n type=\"button\"\n tabIndex={-1}\n variant=\"outline\"\n className={cn(\n 'rounded px-3 py-1.5 text-left text-sm transition-colors',\n value.value === v ? 'bg-primary-muted font-medium' : 'hover:bg-muted-bg-subtle'\n )}\n onClick={() => onChange({ type: 'boolean', value: v })}\n >\n {label}\n </Button>\n ))}\n </div>\n);\n\nfunction FilterEditor({ value, definition, onChange }: { value: FilterValue; definition: FilterDefinition; onChange: (v: FilterValue) => void }) {\n switch (value.type) {\n case 'tag':\n return <TagFilterEditor value={value} definition={definition} onChange={onChange} />;\n case 'single-tag':\n return <SingleTagFilterEditor value={value} definition={definition} onChange={onChange} />;\n case 'date-range':\n return <DateRangeFilterEditor value={value} onChange={onChange} />;\n case 'number':\n return <NumberFilterEditor value={value} onChange={onChange} />;\n case 'text':\n return <TextFilterEditor value={value} onChange={onChange} />;\n case 'boolean':\n return <BooleanFilterEditor value={value} onChange={onChange} />;\n }\n}\n\n// ── filter item chip ───────────────────────────────────────────────────────────\n\nconst FilterItem: React.FC<{\n filter: ActiveFilter;\n definition: FilterDefinition;\n onRemove: () => void;\n onUpdate: (value: FilterValue) => void;\n}> = ({ filter, definition, onRemove, onUpdate }) => (\n <div className=\"flex items-center gap-1\">\n <Popover>\n <PopoverTrigger asChild>\n <Button\n type=\"button\"\n variant=\"outline\"\n color=\"muted\"\n className=\"flex-1 bg-white max-w-[calc(100%-32px)] justify-start\"\n innerClassName=\"flex truncate gap-1.5\"\n >\n <span className=\"shrink-0 text-text-positive font-medium\">{definition.label}</span>\n <span className=\"truncate text-xs text-text-positive-weak\">{formatFilterValue(filter.value, definition)}</span>\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-64 p-0\" align=\"start\" side=\"bottom\">\n <div className=\"border-b border-border px-3 py-2\">\n <div className=\"flex items-center gap-1.5\">\n <span className=\"text-text-positive-muted\">{TYPE_ICONS[definition.type]}</span>\n <p className=\"font-medium\">{definition.label}</p>\n </div>\n </div>\n <FilterEditor value={filter.value} definition={definition} onChange={onUpdate} />\n </PopoverContent>\n </Popover>\n <Button type=\"button\" size=\"icon\" variant=\"soft\" color=\"danger\" className=\"shrink\" onClick={onRemove}>\n <Trash2Icon size={13} />\n </Button>\n </div>\n);\n\n// ── column visibility row ──────────────────────────────────────────────────────\n\n// const ColumnVisibility: React.FC<{\n// checked: boolean;\n// title: string;\n// onCheckedChange?: (checked: boolean) => void;\n// }> = ({ checked, title, onCheckedChange }) => (\n// <Label>\n// <Checkbox checked={checked} onCheckedChange={onCheckedChange} />\n// <p className=\"text-sm\">{title}</p>\n// </Label>\n// );\n\n// ── main component ─────────────────────────────────────────────────────────────\n\n/**\n * Collapsible side-panel that lets users toggle column visibility and build\n * row filters without leaving the table view.\n *\n * The panel collapses to a narrow icon strip when no tab is active and expands\n * to at least 64 units when the \"Columns\" or \"Filters\" tab is selected.\n *\n * Wire filter capability by passing `filterDefinitions` and `onFilterChange` to\n * the parent `UITableProvider`.\n *\n * @example\n * ```tsx\n * <UITableProvider\n * filterDefinitions={[\n * { id: 'status', label: 'Status', type: 'tag', options: [{ label: 'Active', value: 'active' }] },\n * { id: 'created', label: 'Created At', type: 'date-range' },\n * { id: 'amount', label: 'Amount', type: 'number' },\n * ]}\n * onFilterChange={filters => console.log(filters)}\n * >\n * <ResizablePanelGroup direction=\"horizontal\">\n * <ResizablePanel><UITable /></ResizablePanel>\n * <ResizableHandle />\n * <UITableFilter />\n * </ResizablePanelGroup>\n * </UITableProvider>\n * ```\n */\nexport const UITableFilter = () => {\n // const { table } = useUITableContext();\n const { filterDefinitions, activeFilters, addFilter, removeFilter, updateFilter } = useUITableFilterContext();\n\n const [tab, setTab] = useState<'columns' | 'filters' | null>(null);\n\n const availableDefinitions = filterDefinitions.filter(def => !activeFilters.some(f => f.definitionId === def.id));\n\n return (\n <ResizablePanel defaultSize={25} className={cn('bg-card', tab === null ? 'max-w-8!' : 'min-w-64')}>\n <div className=\"relative z-20 flex size-full bg-muted-bg-subtle\">\n <div className=\"min-w-0 flex-1 overflow-hidden\">\n {/* Columns tab */}\n {/*<Activity mode={tab === 'columns' ? 'visible' : 'hidden'}>\n <div className=\"flex size-full flex-col gap-2 p-4\">\n <p className=\"px-2 font-medium\">Columns Visibility</p>\n <Separator />\n <div className=\"flex flex-col gap-4 pt-4\">\n {table.getAllColumns().map(column => {\n if (['select', 'actions'].includes(column.id)) return null;\n return (\n <ColumnVisibility\n key={column.id}\n checked={column.getIsVisible()}\n title={String(column.columnDef.header)}\n onCheckedChange={value => column.toggleVisibility(!!value)}\n />\n );\n })}\n </div>\n </div>\n </Activity>*/}\n\n {/* Filters tab */}\n <Activity mode={tab === 'filters' ? 'visible' : 'hidden'}>\n <div className=\"flex size-full flex-col gap-2 p-4\">\n <div className=\"flex items-center justify-between gap-2\">\n <p className=\"font-medium\">Bộ lọc</p>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"outline\" color=\"muted\" disabled={availableDefinitions.length === 0}>\n <ListFilterPlus size={13} />\n Thêm bộ lọc\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n {availableDefinitions.map(def => (\n <DropdownMenuItem key={def.id} className=\"flex items-center gap-2\" onClick={() => addFilter(def.id)}>\n {TYPE_ICONS[def.type]}\n {def.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n <Separator />\n {activeFilters.length === 0 ? (\n <p className=\"py-6 text-center text-xs text-text-positive-muted\">Không có bộ lọc nào</p>\n ) : (\n <div className=\"flex flex-col gap-2 pt-1\">\n {activeFilters.map(filter => {\n const def = filterDefinitions.find(d => d.id === filter.definitionId);\n if (!def) return null;\n return (\n <FilterItem\n key={filter.id}\n filter={filter}\n definition={def}\n onRemove={() => removeFilter(filter.id)}\n onUpdate={value => updateFilter(filter.id, value)}\n />\n );\n })}\n </div>\n )}\n </div>\n </Activity>\n </div>\n\n {/* Vertical tab strip */}\n <div className=\"flex h-full flex-col border-l border-border bg-muted-bg-subtle text-sm\">\n {/*<button\n type=\"button\"\n className={cn('flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4', tab === 'columns' && 'bg-card')}\n onClick={() => setTab(tab === 'columns' ? null : 'columns')}\n >\n <Columns4Icon size={18} />\n <span className=\"text-nowrap [writing-mode:vertical-lr]\">Columns</span>\n </button>\n <Separator />*/}\n <button\n type=\"button\"\n className={cn('relative flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4', tab === 'filters' && 'bg-card')}\n onClick={() => setTab(tab === 'filters' ? null : 'filters')}\n >\n <ListFilterIcon size={18} />\n {activeFilters.length > 0 && (\n <span className=\"absolute top-2 right-1.5 flex h-4 w-4 items-center justify-center rounded-full bg-primary text-[10px] leading-none text-primary-foreground\">\n {activeFilters.length}\n </span>\n )}\n <span className=\"text-nowrap [writing-mode:vertical-lr]\">Bộ lọc</span>\n </button>\n <Separator />\n </div>\n </div>\n </ResizablePanel>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"filter-z7p4lRp8.cjs","names":["TagIcon","CalendarIcon","HashIcon","TypeIcon","ToggleLeftIcon","Label","Checkbox","Input","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","Button","Popover","PopoverTrigger","PopoverContent","Trash2Icon","useUITableFilterContext","ResizablePanel","Activity","DropdownMenu","DropdownMenuTrigger","ListFilterPlus","DropdownMenuContent","DropdownMenuItem","Separator","ListFilterIcon"],"sources":["../packages/components/features/tables/components/table/filter.tsx"],"sourcesContent":["/**\n * @file filter.tsx\n * Collapsible side-panel with column-visibility toggles and a dynamic filter builder.\n *\n * - \"Columns\" tab: toggle individual column visibility.\n * - \"Filters\" tab: \"Add Filter\" dropdown → active filter chips → per-filter Popover editor.\n */\nimport { Activity, useState } from 'react';\n\nimport { CalendarIcon, HashIcon, ListFilterIcon, ListFilterPlus, TagIcon, ToggleLeftIcon, Trash2Icon, TypeIcon } from 'lucide-react';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { Checkbox } from '@/components/ui/checkbox';\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger } from '@/components/ui/dropdown-menu';\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover';\nimport { ResizablePanel } from '@/components/ui/resizable';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select';\nimport { Separator } from '@/components/ui/separator';\n\nimport { useUITableFilterContext } from '../../hooks/use-context';\nimport type {\n ActiveFilter,\n BooleanFilterValue,\n DateRangeFilterValue,\n FilterDefinition,\n FilterType,\n FilterValue,\n NumberFilterValue,\n SingleTagFilterValue,\n TagFilterValue,\n TextFilterValue,\n} from '../../types';\n\n// ── icons per filter type ──────────────────────────────────────────────────────\n\nconst TYPE_ICONS: Record<FilterType, React.ReactNode> = {\n tag: <TagIcon size={14} />,\n 'single-tag': <TagIcon size={14} />,\n 'date-range': <CalendarIcon size={14} />,\n number: <HashIcon size={14} />,\n text: <TypeIcon size={14} />,\n boolean: <ToggleLeftIcon size={14} />,\n};\n\n// ── operator options ───────────────────────────────────────────────────────────\n\nconst NUMBER_OPERATORS: { value: NumberFilterValue['operator']; label: string }[] = [\n { value: 'eq', label: 'Bằng (=)' },\n { value: 'ne', label: 'Không bằng (≠)' },\n { value: 'gt', label: 'Lớn hơn (>)' },\n { value: 'gte', label: 'Ít nhất (≥)' },\n { value: 'lt', label: 'Nhỏ hơn (<)' },\n { value: 'lte', label: 'Nhiều nhất (≤)' },\n { value: 'between', label: 'Trong khoảng' },\n];\n\nconst TEXT_OPERATORS: { value: TextFilterValue['operator']; label: string }[] = [\n { value: 'contains', label: 'Chứa' },\n { value: 'equals', label: 'Bằng' },\n { value: 'starts-with', label: 'Bắt đầu bằng' },\n { value: 'ends-with', label: 'Kết thúc bằng' },\n];\n\n// ── summary label ──────────────────────────────────────────────────────────────\n\nfunction formatFilterValue(value: FilterValue, def: FilterDefinition): string {\n switch (value.type) {\n case 'single-tag': {\n if (!value.value) return 'Chưa đặt';\n return def.options?.find(o => o.value === value.value)?.label ?? value.value;\n }\n case 'tag': {\n if (!value.values.length) return 'Chưa đặt';\n return value.values.map(v => def.options?.find(o => o.value === v)?.label ?? v).join(', ');\n }\n case 'date-range': {\n if (!value.from && !value.to) return 'Ngày không xác định';\n if (value.from && value.to) return `${value.from} → ${value.to}`;\n if (value.from) return `từ ${value.from}`;\n return `đến ${value.to}`;\n }\n case 'number': {\n const op = { eq: '=', ne: '≠', gt: '>', gte: '≥', lt: '<', lte: '≤', between: 'trong khoảng' }[value.operator];\n if (value.value === undefined) return op;\n if (value.operator === 'between') return `${op} ${value.value} – ${value.valueTo ?? '?'}`;\n return `${op} ${value.value}`;\n }\n case 'text': {\n const op = {\n contains: 'chứa',\n equals: 'là',\n 'starts-with': 'bắt đầu bằng',\n 'ends-with': 'kết thúc bằng',\n }[value.operator];\n return value.value ? `${op} \"${value.value}\"` : op;\n }\n case 'boolean':\n if (value.value === null) return 'Không xác định';\n return value.value ? 'Có' : 'Không';\n }\n}\n\n// ── filter editors ─────────────────────────────────────────────────────────────\n\nconst TagFilterEditor: React.FC<{\n value: TagFilterValue;\n definition: FilterDefinition;\n onChange: (v: TagFilterValue) => void;\n}> = ({ value, definition, onChange }) => (\n <div className=\"flex flex-col gap-1 p-3\">\n {(definition.options ?? []).length === 0 ? (\n <p className=\"text-xs text-text-positive-muted\">Không có tùy chọn</p>\n ) : (\n definition.options!.map(option => (\n <Label\n key={option.value}\n className={cn(\n 'flex items-center gap-2 bg-secondary-bg-subtle hover:bg-secondary-muted px-4 py-2 rounded transition-colors',\n value.values.includes(option.value) && 'bg-primary-muted hover:bg-primary-subtle'\n )}\n >\n <Checkbox\n checked={value.values.includes(option.value)}\n onCheckedChange={checked => {\n const next = checked ? [...value.values, option.value] : value.values.filter(v => v !== option.value);\n onChange({ type: 'tag', values: next });\n }}\n />\n <span className=\"text-sm\">{option.label}</span>\n </Label>\n ))\n )}\n </div>\n);\n\nconst SingleTagFilterEditor: React.FC<{\n value: SingleTagFilterValue;\n definition: FilterDefinition;\n onChange: (v: SingleTagFilterValue) => void;\n}> = ({ value, definition, onChange }) => (\n <div className=\"flex flex-col gap-1 p-3\">\n {(definition.options ?? []).length === 0 ? (\n <p className=\"text-text-positive-muted text-xs\">Không có tùy chọn</p>\n ) : (\n definition.options?.map(option => (\n <Label\n key={option.value}\n className={cn(\n 'flex items-center gap-2 rounded bg-secondary-bg-subtle px-4 py-2 transition-colors hover:bg-secondary-muted',\n value.value === option.value && 'bg-primary-muted hover:bg-primary-subtle'\n )}\n >\n <Checkbox\n checked={value.value === option.value}\n onCheckedChange={checked => {\n onChange({ type: 'single-tag', value: checked ? option.value : null });\n }}\n />\n <span className=\"text-sm\">{option.label}</span>\n </Label>\n ))\n )}\n </div>\n);\n\nconst DateRangeFilterEditor: React.FC<{\n value: DateRangeFilterValue;\n onChange: (v: DateRangeFilterValue) => void;\n}> = ({ value, onChange }) => (\n <div className=\"flex flex-col gap-3 p-3\">\n <div className=\"flex flex-col gap-1\">\n <span className=\"text-text-positive-muted text-xs\">Từ ngày</span>\n <Input type=\"date\" size=\"md\" value={value.from ?? ''} onValueChange={v => onChange({ ...value, from: v || undefined })} />\n </div>\n <div className=\"flex flex-col gap-1\">\n <span className=\"text-text-positive-muted text-xs\">Đến ngày</span>\n <Input type=\"date\" size=\"md\" value={value.to ?? ''} onValueChange={v => onChange({ ...value, to: v || undefined })} />\n </div>\n </div>\n);\n\nconst NumberFilterEditor: React.FC<{\n value: NumberFilterValue;\n onChange: (v: NumberFilterValue) => void;\n}> = ({ value, onChange }) => (\n <div className=\"flex flex-col gap-3 p-3\">\n <Select value={value.operator} onValueChange={op => onChange({ ...value, operator: op as NumberFilterValue['operator'] })}>\n <SelectTrigger size=\"sm\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {NUMBER_OPERATORS.map(op => (\n <SelectItem key={op.value} value={op.value}>\n {op.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n <Input\n type=\"number\"\n size=\"md\"\n placeholder=\"Giá trị\"\n value={value.value ?? ''}\n onValueChange={v => onChange({ ...value, value: v ? Number(v) : undefined })}\n />\n {value.operator === 'between' && (\n <Input\n type=\"number\"\n size=\"md\"\n placeholder=\"Đến giá trị\"\n value={value.valueTo ?? ''}\n onValueChange={v => onChange({ ...value, valueTo: v ? Number(v) : undefined })}\n />\n )}\n </div>\n);\n\nconst TextFilterEditor: React.FC<{\n value: TextFilterValue;\n onChange: (v: TextFilterValue) => void;\n}> = ({ value, onChange }) => (\n <div className=\"flex flex-col gap-3 p-3\">\n <Select value={value.operator} onValueChange={op => onChange({ ...value, operator: op as TextFilterValue['operator'] })}>\n <SelectTrigger size=\"sm\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {TEXT_OPERATORS.map(op => (\n <SelectItem key={op.value} value={op.value}>\n {op.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n <Input type=\"text\" size=\"md\" placeholder=\"Nhập văn bản...\" value={value.value} onValueChange={v => onChange({ ...value, value: v })} />\n </div>\n);\n\nconst BOOLEAN_OPTIONS = [\n { label: 'Có', value: true as boolean | null },\n { label: 'Không', value: false as boolean | null },\n { label: 'Không xác định', value: null as boolean | null },\n];\n\nconst BooleanFilterEditor: React.FC<{\n value: BooleanFilterValue;\n onChange: (v: BooleanFilterValue) => void;\n}> = ({ value, onChange }) => (\n <div className=\"flex flex-col gap-1 p-3\">\n {BOOLEAN_OPTIONS.map(({ label, value: v }) => (\n <Button\n key={label}\n type=\"button\"\n tabIndex={-1}\n variant=\"outline\"\n className={cn(\n 'rounded px-3 py-1.5 text-left text-sm transition-colors',\n value.value === v ? 'bg-primary-muted font-medium' : 'hover:bg-muted-bg-subtle'\n )}\n onClick={() => onChange({ type: 'boolean', value: v })}\n >\n {label}\n </Button>\n ))}\n </div>\n);\n\nfunction FilterEditor({ value, definition, onChange }: { value: FilterValue; definition: FilterDefinition; onChange: (v: FilterValue) => void }) {\n switch (value.type) {\n case 'tag':\n return <TagFilterEditor value={value} definition={definition} onChange={onChange} />;\n case 'single-tag':\n return <SingleTagFilterEditor value={value} definition={definition} onChange={onChange} />;\n case 'date-range':\n return <DateRangeFilterEditor value={value} onChange={onChange} />;\n case 'number':\n return <NumberFilterEditor value={value} onChange={onChange} />;\n case 'text':\n return <TextFilterEditor value={value} onChange={onChange} />;\n case 'boolean':\n return <BooleanFilterEditor value={value} onChange={onChange} />;\n }\n}\n\n// ── filter item chip ───────────────────────────────────────────────────────────\n\nconst FilterItem: React.FC<{\n filter: ActiveFilter;\n definition: FilterDefinition;\n onRemove: () => void;\n onUpdate: (value: FilterValue) => void;\n}> = ({ filter, definition, onRemove, onUpdate }) => (\n <div className=\"flex items-center gap-1\">\n <Popover>\n <PopoverTrigger asChild>\n <Button\n type=\"button\"\n variant=\"outline\"\n color=\"muted\"\n className=\"max-w-[calc(100%-32px)] flex-1 justify-start bg-white\"\n innerClassName=\"flex truncate gap-1.5\"\n >\n <span className=\"shrink-0 font-medium text-text-positive\">{definition.label}</span>\n <span className=\"truncate text-text-positive-weak text-xs\">{formatFilterValue(filter.value, definition)}</span>\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-64 p-0\" align=\"start\" side=\"bottom\">\n <div className=\"border-border border-b px-3 py-2\">\n <div className=\"flex items-center gap-1.5\">\n <span className=\"text-text-positive-muted\">{TYPE_ICONS[definition.type]}</span>\n <p className=\"font-medium\">{definition.label}</p>\n </div>\n </div>\n <FilterEditor value={filter.value} definition={definition} onChange={onUpdate} />\n </PopoverContent>\n </Popover>\n <Button type=\"button\" size=\"icon\" variant=\"soft\" color=\"danger\" className=\"shrink\" onClick={onRemove}>\n <Trash2Icon size={13} />\n </Button>\n </div>\n);\n\n// ── column visibility row ──────────────────────────────────────────────────────\n\n// const ColumnVisibility: React.FC<{\n// checked: boolean;\n// title: string;\n// onCheckedChange?: (checked: boolean) => void;\n// }> = ({ checked, title, onCheckedChange }) => (\n// <Label>\n// <Checkbox checked={checked} onCheckedChange={onCheckedChange} />\n// <p className=\"text-sm\">{title}</p>\n// </Label>\n// );\n\n// ── main component ─────────────────────────────────────────────────────────────\n\n/**\n * Collapsible side-panel that lets users toggle column visibility and build\n * row filters without leaving the table view.\n *\n * The panel collapses to a narrow icon strip when no tab is active and expands\n * to at least 64 units when the \"Columns\" or \"Filters\" tab is selected.\n *\n * Wire filter capability by passing `filterDefinitions` and `onFilterChange` to\n * the parent `UITableProvider`.\n *\n * @example\n * ```tsx\n * <UITableProvider\n * filterDefinitions={[\n * { id: 'status', label: 'Status', type: 'tag', options: [{ label: 'Active', value: 'active' }] },\n * { id: 'created', label: 'Created At', type: 'date-range' },\n * { id: 'amount', label: 'Amount', type: 'number' },\n * ]}\n * onFilterChange={filters => console.log(filters)}\n * >\n * <ResizablePanelGroup direction=\"horizontal\">\n * <ResizablePanel><UITable /></ResizablePanel>\n * <ResizableHandle />\n * <UITableFilter />\n * </ResizablePanelGroup>\n * </UITableProvider>\n * ```\n */\nexport const UITableFilter = () => {\n // const { table } = useUITableContext();\n const { filterDefinitions, activeFilters, addFilter, removeFilter, updateFilter } = useUITableFilterContext();\n\n const [tab, setTab] = useState<'columns' | 'filters' | null>(null);\n\n const availableDefinitions = filterDefinitions.filter(def => !activeFilters.some(f => f.definitionId === def.id));\n\n return (\n <ResizablePanel defaultSize={25} className={cn('bg-card', tab === null ? 'max-w-8!' : 'min-w-64')}>\n <div className=\"relative z-20 flex size-full bg-muted-bg-subtle\">\n <div className=\"min-w-0 flex-1 overflow-hidden\">\n {/* Columns tab */}\n {/*<Activity mode={tab === 'columns' ? 'visible' : 'hidden'}>\n <div className=\"flex size-full flex-col gap-2 p-4\">\n <p className=\"px-2 font-medium\">Columns Visibility</p>\n <Separator />\n <div className=\"flex flex-col gap-4 pt-4\">\n {table.getAllColumns().map(column => {\n if (['select', 'actions'].includes(column.id)) return null;\n return (\n <ColumnVisibility\n key={column.id}\n checked={column.getIsVisible()}\n title={String(column.columnDef.header)}\n onCheckedChange={value => column.toggleVisibility(!!value)}\n />\n );\n })}\n </div>\n </div>\n </Activity>*/}\n\n {/* Filters tab */}\n <Activity mode={tab === 'filters' ? 'visible' : 'hidden'}>\n <div className=\"flex size-full flex-col gap-2 p-4\">\n <div className=\"flex items-center justify-between gap-2\">\n <p className=\"font-medium\">Bộ lọc</p>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button variant=\"outline\" color=\"muted\" disabled={availableDefinitions.length === 0}>\n <ListFilterPlus size={13} />\n Thêm bộ lọc\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n {availableDefinitions.map(def => (\n <DropdownMenuItem key={def.id} className=\"flex items-center gap-2\" onClick={() => addFilter(def.id)}>\n {TYPE_ICONS[def.type]}\n {def.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n </div>\n <Separator />\n {activeFilters.length === 0 ? (\n <p className=\"py-6 text-center text-text-positive-muted text-xs\">Không có bộ lọc nào</p>\n ) : (\n <div className=\"flex flex-col gap-2 pt-1\">\n {activeFilters.map(filter => {\n const def = filterDefinitions.find(d => d.id === filter.definitionId);\n if (!def) return null;\n return (\n <FilterItem\n key={filter.id}\n filter={filter}\n definition={def}\n onRemove={() => removeFilter(filter.id)}\n onUpdate={value => updateFilter(filter.id, value)}\n />\n );\n })}\n </div>\n )}\n </div>\n </Activity>\n </div>\n\n {/* Vertical tab strip */}\n <div className=\"flex h-full flex-col border-border border-l bg-muted-bg-subtle text-sm\">\n {/*<button\n type=\"button\"\n className={cn('flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4', tab === 'columns' && 'bg-card')}\n onClick={() => setTab(tab === 'columns' ? null : 'columns')}\n >\n <Columns4Icon size={18} />\n <span className=\"text-nowrap [writing-mode:vertical-lr]\">Columns</span>\n </button>\n <Separator />*/}\n <button\n type=\"button\"\n className={cn('relative flex h-32 cursor-pointer flex-col items-center gap-y-2 p-2 py-4', tab === 'filters' && 'bg-card')}\n onClick={() => setTab(tab === 'filters' ? null : 'filters')}\n >\n <ListFilterIcon size={18} />\n {activeFilters.length > 0 && (\n <span className=\"absolute top-2 right-1.5 flex h-4 w-4 items-center justify-center rounded-full bg-primary text-[10px] text-primary-foreground leading-none\">\n {activeFilters.length}\n </span>\n )}\n <span className=\"text-nowrap [writing-mode:vertical-lr]\">Bộ lọc</span>\n </button>\n <Separator />\n </div>\n </div>\n </ResizablePanel>\n );\n};\n"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { VariantProps } from "class-variance-authority";
|
|
|
2
2
|
//#region packages/components/layouts/flex.d.ts
|
|
3
3
|
declare const flexVariants: (props?: ({
|
|
4
4
|
vertical?: boolean | null | undefined;
|
|
5
|
-
width?: "
|
|
5
|
+
width?: "auto" | "max" | "min" | "full" | "fit" | "screen" | "null" | null | undefined;
|
|
6
6
|
wrap?: boolean | null | undefined;
|
|
7
7
|
margin?: "sm" | "md" | "lg" | "xl" | "none" | null | undefined;
|
|
8
8
|
padding?: "sm" | "md" | "lg" | "xl" | "none" | null | undefined;
|
|
@@ -100,4 +100,4 @@ type Props = {
|
|
|
100
100
|
declare const Flex: import("react").MemoExoticComponent<({ vertical, wrap, width, margin, padding, gap, justify, align, className, children }: React.PropsWithChildren<Props>) => import("react").JSX.Element>;
|
|
101
101
|
//#endregion
|
|
102
102
|
export { Flex as t };
|
|
103
|
-
//# sourceMappingURL=flex-
|
|
103
|
+
//# sourceMappingURL=flex-CIzZIICK.d.cts.map
|
|
@@ -2,7 +2,7 @@ import { VariantProps } from "class-variance-authority";
|
|
|
2
2
|
//#region packages/components/layouts/flex.d.ts
|
|
3
3
|
declare const flexVariants: (props?: ({
|
|
4
4
|
vertical?: boolean | null | undefined;
|
|
5
|
-
width?: "
|
|
5
|
+
width?: "auto" | "max" | "min" | "full" | "fit" | "screen" | "null" | null | undefined;
|
|
6
6
|
wrap?: boolean | null | undefined;
|
|
7
7
|
margin?: "sm" | "md" | "lg" | "xl" | "none" | null | undefined;
|
|
8
8
|
padding?: "sm" | "md" | "lg" | "xl" | "none" | null | undefined;
|
|
@@ -100,4 +100,4 @@ type Props = {
|
|
|
100
100
|
declare const Flex: import("react").MemoExoticComponent<({ vertical, wrap, width, margin, padding, gap, justify, align, className, children }: React.PropsWithChildren<Props>) => import("react").JSX.Element>;
|
|
101
101
|
//#endregion
|
|
102
102
|
export { Flex as t };
|
|
103
|
-
//# sourceMappingURL=flex-
|
|
103
|
+
//# sourceMappingURL=flex-CIzZIICK.d.mts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as BadgeProps } from "./badge-
|
|
1
|
+
import { n as BadgeProps } from "./badge-C_KLKwiS.cjs";
|
|
2
2
|
import { VariantProps } from "class-variance-authority";
|
|
3
3
|
//#region packages/components/features/descriptions/components/badge.d.ts
|
|
4
4
|
type DescriptionBadgeProps = {
|
|
@@ -233,4 +233,4 @@ declare const DescriptionGroup: React.FC<React.PropsWithChildren<{
|
|
|
233
233
|
}>>;
|
|
234
234
|
//#endregion
|
|
235
235
|
export { DescriptionDate as _, DescriptionSection as a, DescriptionBadge as b, DescriptionStatus as c, DescriptionNumberPhone as d, DescriptionName as f, DescriptionEmpty as g, DescriptionImages as h, DescriptionItem as i, DescriptionStatistic as l, DescriptionLink as m, DescriptionGroup as n, DescriptionUser as o, DescriptionLongText as p, DescriptionHeader as r, DescriptionTagList as s, Description as t, DescriptionStatisticProps as u, DescriptionCopy as v, DescriptionBoolean as y };
|
|
236
|
-
//# sourceMappingURL=index-
|
|
236
|
+
//# sourceMappingURL=index-BSj8azta.d.cts.map
|
|
@@ -8,6 +8,8 @@ type DetailDialogSidebarPanelProps = {
|
|
|
8
8
|
content?: React.ReactNode;
|
|
9
9
|
/** Arbitrary content rendered at the bottom of the sidebar footer. */
|
|
10
10
|
footer?: React.ReactNode;
|
|
11
|
+
/** Width of the sidebar when expanded. Accepts any valid CSS width (e.g. `'18rem'`, `'320px'`). Defaults to `18rem`. */
|
|
12
|
+
width?: string;
|
|
11
13
|
};
|
|
12
14
|
//#endregion
|
|
13
15
|
//#region packages/components/dialogs/detail-dialog/index.d.ts
|
|
@@ -38,7 +40,7 @@ type DetailDialogProps = {
|
|
|
38
40
|
* open={open}
|
|
39
41
|
* title="Order #1234"
|
|
40
42
|
* createdAt="2024-01-15T09:00:00Z"
|
|
41
|
-
* sidebar={{ title: 'Navigation', content: <nav>...</nav
|
|
43
|
+
* sidebar={{ title: 'Navigation', content: <nav>...</nav>, width: '22rem' }}
|
|
42
44
|
* onOpenChange={setOpen}
|
|
43
45
|
* >
|
|
44
46
|
* <p>Detail content goes here.</p>
|
|
@@ -48,4 +50,4 @@ type DetailDialogProps = {
|
|
|
48
50
|
declare const DetailDialog: React.FC<React.PropsWithChildren<DetailDialogProps>>;
|
|
49
51
|
//#endregion
|
|
50
52
|
export { DetailDialogProps as n, DetailDialog as t };
|
|
51
|
-
//# sourceMappingURL=index-
|
|
53
|
+
//# sourceMappingURL=index-BXqx1kOJ.d.cts.map
|
|
@@ -8,6 +8,8 @@ type DetailDialogSidebarPanelProps = {
|
|
|
8
8
|
content?: React.ReactNode;
|
|
9
9
|
/** Arbitrary content rendered at the bottom of the sidebar footer. */
|
|
10
10
|
footer?: React.ReactNode;
|
|
11
|
+
/** Width of the sidebar when expanded. Accepts any valid CSS width (e.g. `'18rem'`, `'320px'`). Defaults to `18rem`. */
|
|
12
|
+
width?: string;
|
|
11
13
|
};
|
|
12
14
|
//#endregion
|
|
13
15
|
//#region packages/components/dialogs/detail-dialog/index.d.ts
|
|
@@ -38,7 +40,7 @@ type DetailDialogProps = {
|
|
|
38
40
|
* open={open}
|
|
39
41
|
* title="Order #1234"
|
|
40
42
|
* createdAt="2024-01-15T09:00:00Z"
|
|
41
|
-
* sidebar={{ title: 'Navigation', content: <nav>...</nav
|
|
43
|
+
* sidebar={{ title: 'Navigation', content: <nav>...</nav>, width: '22rem' }}
|
|
42
44
|
* onOpenChange={setOpen}
|
|
43
45
|
* >
|
|
44
46
|
* <p>Detail content goes here.</p>
|
|
@@ -48,4 +50,4 @@ type DetailDialogProps = {
|
|
|
48
50
|
declare const DetailDialog: React.FC<React.PropsWithChildren<DetailDialogProps>>;
|
|
49
51
|
//#endregion
|
|
50
52
|
export { DetailDialogProps as n, DetailDialog as t };
|
|
51
|
-
//# sourceMappingURL=index-
|
|
53
|
+
//# sourceMappingURL=index-BXqx1kOJ.d.mts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as BadgeProps } from "./badge-
|
|
1
|
+
import { n as BadgeProps } from "./badge-C_KLKwiS.mjs";
|
|
2
2
|
import { VariantProps } from "class-variance-authority";
|
|
3
3
|
//#region packages/components/features/descriptions/components/badge.d.ts
|
|
4
4
|
type DescriptionBadgeProps = {
|
|
@@ -233,4 +233,4 @@ declare const DescriptionGroup: React.FC<React.PropsWithChildren<{
|
|
|
233
233
|
}>>;
|
|
234
234
|
//#endregion
|
|
235
235
|
export { DescriptionDate as _, DescriptionSection as a, DescriptionBadge as b, DescriptionStatus as c, DescriptionNumberPhone as d, DescriptionName as f, DescriptionEmpty as g, DescriptionImages as h, DescriptionItem as i, DescriptionStatistic as l, DescriptionLink as m, DescriptionGroup as n, DescriptionUser as o, DescriptionLongText as p, DescriptionHeader as r, DescriptionTagList as s, Description as t, DescriptionStatisticProps as u, DescriptionCopy as v, DescriptionBoolean as y };
|
|
236
|
-
//# sourceMappingURL=index-
|
|
236
|
+
//# sourceMappingURL=index-CEmVk1zP.d.mts.map
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { t as AnyEntity } from "./types-cKvPPVBe.mjs";
|
|
2
2
|
import "./statistic-Bpif8p8R.mjs";
|
|
3
|
-
import "./button-
|
|
3
|
+
import "./button-CnKmz4qM.mjs";
|
|
4
4
|
import "./tooltip-BVYKhsC2.mjs";
|
|
5
5
|
import "./separator-Cvxkpzrj.mjs";
|
|
6
6
|
import "./index-DJKJt7oV.mjs";
|
|
7
|
-
import "./badge-
|
|
8
|
-
import "./index-
|
|
7
|
+
import "./badge-C_KLKwiS.mjs";
|
|
8
|
+
import "./index-CEmVk1zP.mjs";
|
|
9
9
|
import "./index-DvC1inRy.mjs";
|
|
10
10
|
import "./index-DRAyYm8g.mjs";
|
|
11
|
-
import "./flex-
|
|
11
|
+
import "./flex-CIzZIICK.mjs";
|
|
12
12
|
import "./google-vajkoOiC.mjs";
|
|
13
|
-
import "./paragraph-
|
|
13
|
+
import "./paragraph-C5HE9u0Q.mjs";
|
|
14
14
|
import "./title-D8BSkLsi.mjs";
|
|
15
15
|
import "./upload-image-DM-tkZuR.mjs";
|
|
16
16
|
import { n as InputVariantProps } from "./input-DxNK7Wo6.mjs";
|
|
@@ -20,8 +20,8 @@ import "./alert-dialog-8aDimwPK.mjs";
|
|
|
20
20
|
import "./aspect-ratio-DqXWkGJQ.mjs";
|
|
21
21
|
import "./avatar-yN3dNBsZ.mjs";
|
|
22
22
|
import "./button-group-Br7Cye6b.mjs";
|
|
23
|
-
import "./calendar-
|
|
24
|
-
import "./carousel-
|
|
23
|
+
import "./calendar-BT6-Fo3T.mjs";
|
|
24
|
+
import "./carousel-BBI4xPdK.mjs";
|
|
25
25
|
import "./chart-D8tNf0_6.mjs";
|
|
26
26
|
import "./checkbox-Cuc-_UcF.mjs";
|
|
27
27
|
import "./collapsible-D3MS6pMC.mjs";
|
|
@@ -36,16 +36,16 @@ import "./file-uploader-DyHOMFK3.mjs";
|
|
|
36
36
|
import "./form-D0M_qGX_.mjs";
|
|
37
37
|
import "./hover-card-JeShfV9g.mjs";
|
|
38
38
|
import "./input-otp-DGf28Nq2.mjs";
|
|
39
|
-
import "./item-
|
|
39
|
+
import "./item-ChW41yKF.mjs";
|
|
40
40
|
import "./label-CKywNz0h.mjs";
|
|
41
41
|
import "./menubar-PDJeDtHh.mjs";
|
|
42
42
|
import "./multi-select-C4ae_jaX.mjs";
|
|
43
43
|
import "./navigation-menu-BCjjeblq.mjs";
|
|
44
|
-
import "./pagination-
|
|
44
|
+
import "./pagination-D12pR8_5.mjs";
|
|
45
45
|
import "./popover-qfF3o0zL.mjs";
|
|
46
46
|
import "./progress-BpWaSlPG.mjs";
|
|
47
47
|
import "./radio-group-D_ssq0Q2.mjs";
|
|
48
|
-
import "./resizable-
|
|
48
|
+
import "./resizable-D61lvcIL.mjs";
|
|
49
49
|
import "./scroll-area-BpSwutyr.mjs";
|
|
50
50
|
import "./select-UNtSe_Fs.mjs";
|
|
51
51
|
import "./sheet-BBvQsKM_.mjs";
|
|
@@ -53,8 +53,8 @@ import "./slider-KvzhtIbT.mjs";
|
|
|
53
53
|
import "./sonner-C-sM3xU2.mjs";
|
|
54
54
|
import "./switch-Ce5Pre2e.mjs";
|
|
55
55
|
import "./tabs-DLEtBGOr.mjs";
|
|
56
|
-
import "./toggle-
|
|
57
|
-
import "./toggle-group-
|
|
56
|
+
import "./toggle-CqTmiPDi.mjs";
|
|
57
|
+
import "./toggle-group-l_Mi7NRg.mjs";
|
|
58
58
|
import { ComponentType } from "react";
|
|
59
59
|
import { AccessorKeyColumnDef, CellContext, Column, ColumnPinningPosition, ColumnPinningState, Header, HeaderGroup, Row, RowSelectionState, Table } from "@tanstack/react-table";
|
|
60
60
|
//#region packages/components/features/tables/components/atoms/empty.d.ts
|
|
@@ -701,8 +701,8 @@ declare const UITableStatisticDisplay: ComponentType<{
|
|
|
701
701
|
}>;
|
|
702
702
|
declare const UITableStatusDisplay: ComponentType<{
|
|
703
703
|
value: string | null | undefined;
|
|
704
|
-
colorMap?: Record<string, "
|
|
705
|
-
defaultColor?: "
|
|
704
|
+
colorMap?: Record<string, "muted" | "primary" | "secondary" | "accent" | "info" | "success" | "warning" | "danger">;
|
|
705
|
+
defaultColor?: "muted" | "primary" | "secondary" | "accent" | "info" | "success" | "warning" | "danger";
|
|
706
706
|
variant?: "solid" | "soft" | "outline";
|
|
707
707
|
}>;
|
|
708
708
|
declare const UITableToggleButton: ComponentType<{
|
|
@@ -732,9 +732,10 @@ declare const UITableTooltipFilter: ComponentType<Omit<Omit<import("react").Deta
|
|
|
732
732
|
}>;
|
|
733
733
|
declare const UITableTooltipActions: ComponentType<{
|
|
734
734
|
onCreate?: () => void;
|
|
735
|
+
onCreateMultiple?: () => void;
|
|
735
736
|
onRefresh?: () => void;
|
|
736
737
|
onDownload?: () => void;
|
|
737
738
|
}>;
|
|
738
739
|
//#endregion
|
|
739
740
|
export { FilterType as $, UITableLoadMore as A, TUITableWrapper as At, UITableEmptyDisplay as B, UITableTooltipActions as C, TUITableHeadCellOption as Ct, UITableContainer as D, TUITableInnerWrapper as Dt, UITableProvider as E, TUITableInnerTable as Et, UITableHeadCellOption as F, ActiveFilter as G, UITableCellActions as H, UITableHeadCell as I, ColumnAggregationType as J, BooleanFilterValue as K, UITableHead as L, UITableInnerTable as M, TagFilterValue as Mt, UITableHeadRow as N, TextFilterValue as Nt, UITableWrapper as O, TUITableLoadMore as Ot, UITableHeadCellSelect as P, UITableEmpty as Pt, FilterOption as Q, UITableFooterRow as R, UITableTooltip as S, TUITableHeadCell as St, UITableUserDataDisplay as T, TUITableHeadRow as Tt, UITableCell as U, UITableCellSelect as V, UITableBody as W, DateRangeFilterValue as X, CsvCell as Y, FilterDefinition as Z, UITableRemoveButton as _, TUITableCellSelect as _t, UITableCurrencyDisplay as a, TTableAnalysisContext as at, UITableSummaryBar as b, TUITableFooter as bt, UITableEditButton as c, TTableFilterContext as ct, UITableListDisplay as d, TTableInnerWrapperContext as dt, FilterValue as et, UITableMoreButton as f, TTableRowContext as ft, UITableProgressDisplay as g, TUITableCellActions as gt, UITablePhoneNumberDisplay as h, TUITableCell as ht, UITableBooleanDisplay as i, SummaryItem as it, UITableInnerWrapper as j, TableProviderProps as jt, UITableRow as k, TUITableRow as kt, UITableEmailDisplay as l, TTableHeadRowContext as lt, UITablePermalink as m, TUITableBody as mt, UITableAvatarNameDisplay as n, RowData as nt, UITableDateDisplay as o, TTableBodyContext as ot, UITableNameDisplay as p, TTableSummaryContext as pt, ColumnAggregation as q, UITableBadgeDisplay as r, SingleTagFilterValue as rt, UITableDescriptionDisplay as s, TTableContext as st, UITableAnalysisPanel as t, NumberFilterValue as tt, UITableFilter as u, TTableInnerTableContext as ut, UITableStatisticDisplay as v, TUITableColumn as vt, UITableTooltipFilter as w, TUITableHeadCellSelect as wt, UITableToggleButton as x, TUITableHead as xt, UITableStatusDisplay as y, TUITableEmptyDisplay as yt, UITableFooter as z };
|
|
740
|
-
//# sourceMappingURL=index-
|
|
741
|
+
//# sourceMappingURL=index-CjiDR-94.d.mts.map
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { t as AnyEntity } from "./types-cKvPPVBe.cjs";
|
|
2
2
|
import "./statistic-Bpif8p8R.cjs";
|
|
3
|
-
import "./button-
|
|
3
|
+
import "./button-CnKmz4qM.cjs";
|
|
4
4
|
import "./tooltip-BVYKhsC2.cjs";
|
|
5
5
|
import "./separator-Cvxkpzrj.cjs";
|
|
6
6
|
import "./index-DJKJt7oV.cjs";
|
|
7
|
-
import "./badge-
|
|
8
|
-
import "./index-
|
|
7
|
+
import "./badge-C_KLKwiS.cjs";
|
|
8
|
+
import "./index-BSj8azta.cjs";
|
|
9
9
|
import "./index-DvC1inRy.cjs";
|
|
10
10
|
import "./index-DRAyYm8g.cjs";
|
|
11
|
-
import "./flex-
|
|
11
|
+
import "./flex-CIzZIICK.cjs";
|
|
12
12
|
import "./google-vajkoOiC.cjs";
|
|
13
|
-
import "./paragraph-
|
|
13
|
+
import "./paragraph-DJlHIDmk.cjs";
|
|
14
14
|
import "./title-D8BSkLsi.cjs";
|
|
15
15
|
import "./upload-image-DM-tkZuR.cjs";
|
|
16
16
|
import { n as InputVariantProps } from "./input-DxNK7Wo6.cjs";
|
|
@@ -20,8 +20,8 @@ import "./alert-dialog-8aDimwPK.cjs";
|
|
|
20
20
|
import "./aspect-ratio-DqXWkGJQ.cjs";
|
|
21
21
|
import "./avatar-yN3dNBsZ.cjs";
|
|
22
22
|
import "./button-group-CP48qR0o.cjs";
|
|
23
|
-
import "./calendar-
|
|
24
|
-
import "./carousel-
|
|
23
|
+
import "./calendar-D_QmR9VE.cjs";
|
|
24
|
+
import "./carousel-B_IXlBdH.cjs";
|
|
25
25
|
import "./chart-D8tNf0_6.cjs";
|
|
26
26
|
import "./checkbox-Cuc-_UcF.cjs";
|
|
27
27
|
import "./collapsible-D3MS6pMC.cjs";
|
|
@@ -36,16 +36,16 @@ import "./file-uploader-DyHOMFK3.cjs";
|
|
|
36
36
|
import "./form-D0M_qGX_.cjs";
|
|
37
37
|
import "./hover-card-JeShfV9g.cjs";
|
|
38
38
|
import "./input-otp-DGf28Nq2.cjs";
|
|
39
|
-
import "./item-
|
|
39
|
+
import "./item-BxUBO7Hd.cjs";
|
|
40
40
|
import "./label-CKywNz0h.cjs";
|
|
41
41
|
import "./menubar-PDJeDtHh.cjs";
|
|
42
42
|
import "./multi-select-V3chK_bJ.cjs";
|
|
43
43
|
import "./navigation-menu-BCjjeblq.cjs";
|
|
44
|
-
import "./pagination-
|
|
44
|
+
import "./pagination-AxRzmAtZ.cjs";
|
|
45
45
|
import "./popover-qfF3o0zL.cjs";
|
|
46
46
|
import "./progress-BpWaSlPG.cjs";
|
|
47
47
|
import "./radio-group-D_ssq0Q2.cjs";
|
|
48
|
-
import "./resizable-
|
|
48
|
+
import "./resizable-D61lvcIL.cjs";
|
|
49
49
|
import "./scroll-area-BpSwutyr.cjs";
|
|
50
50
|
import "./select-UNtSe_Fs.cjs";
|
|
51
51
|
import "./sheet-BBvQsKM_.cjs";
|
|
@@ -53,8 +53,8 @@ import "./slider-KvzhtIbT.cjs";
|
|
|
53
53
|
import "./sonner-D-rrTnjn.cjs";
|
|
54
54
|
import "./switch-Ce5Pre2e.cjs";
|
|
55
55
|
import "./tabs-DLEtBGOr.cjs";
|
|
56
|
-
import "./toggle-
|
|
57
|
-
import "./toggle-group
|
|
56
|
+
import "./toggle-CqTmiPDi.cjs";
|
|
57
|
+
import "./toggle-group--bJylFDV.cjs";
|
|
58
58
|
import { ComponentType } from "react";
|
|
59
59
|
import { AccessorKeyColumnDef, CellContext, Column, ColumnPinningPosition, ColumnPinningState, Header, HeaderGroup, Row, RowSelectionState, Table } from "@tanstack/react-table";
|
|
60
60
|
//#region packages/components/features/tables/components/atoms/empty.d.ts
|
|
@@ -701,8 +701,8 @@ declare const UITableStatisticDisplay: ComponentType<{
|
|
|
701
701
|
}>;
|
|
702
702
|
declare const UITableStatusDisplay: ComponentType<{
|
|
703
703
|
value: string | null | undefined;
|
|
704
|
-
colorMap?: Record<string, "
|
|
705
|
-
defaultColor?: "
|
|
704
|
+
colorMap?: Record<string, "muted" | "primary" | "secondary" | "accent" | "info" | "success" | "warning" | "danger">;
|
|
705
|
+
defaultColor?: "muted" | "primary" | "secondary" | "accent" | "info" | "success" | "warning" | "danger";
|
|
706
706
|
variant?: "solid" | "soft" | "outline";
|
|
707
707
|
}>;
|
|
708
708
|
declare const UITableToggleButton: ComponentType<{
|
|
@@ -732,9 +732,10 @@ declare const UITableTooltipFilter: ComponentType<Omit<Omit<import("react").Deta
|
|
|
732
732
|
}>;
|
|
733
733
|
declare const UITableTooltipActions: ComponentType<{
|
|
734
734
|
onCreate?: () => void;
|
|
735
|
+
onCreateMultiple?: () => void;
|
|
735
736
|
onRefresh?: () => void;
|
|
736
737
|
onDownload?: () => void;
|
|
737
738
|
}>;
|
|
738
739
|
//#endregion
|
|
739
740
|
export { FilterType as $, UITableLoadMore as A, TUITableWrapper as At, UITableEmptyDisplay as B, UITableTooltipActions as C, TUITableHeadCellOption as Ct, UITableContainer as D, TUITableInnerWrapper as Dt, UITableProvider as E, TUITableInnerTable as Et, UITableHeadCellOption as F, ActiveFilter as G, UITableCellActions as H, UITableHeadCell as I, ColumnAggregationType as J, BooleanFilterValue as K, UITableHead as L, UITableInnerTable as M, TagFilterValue as Mt, UITableHeadRow as N, TextFilterValue as Nt, UITableWrapper as O, TUITableLoadMore as Ot, UITableHeadCellSelect as P, UITableEmpty as Pt, FilterOption as Q, UITableFooterRow as R, UITableTooltip as S, TUITableHeadCell as St, UITableUserDataDisplay as T, TUITableHeadRow as Tt, UITableCell as U, UITableCellSelect as V, UITableBody as W, DateRangeFilterValue as X, CsvCell as Y, FilterDefinition as Z, UITableRemoveButton as _, TUITableCellSelect as _t, UITableCurrencyDisplay as a, TTableAnalysisContext as at, UITableSummaryBar as b, TUITableFooter as bt, UITableEditButton as c, TTableFilterContext as ct, UITableListDisplay as d, TTableInnerWrapperContext as dt, FilterValue as et, UITableMoreButton as f, TTableRowContext as ft, UITableProgressDisplay as g, TUITableCellActions as gt, UITablePhoneNumberDisplay as h, TUITableCell as ht, UITableBooleanDisplay as i, SummaryItem as it, UITableInnerWrapper as j, TableProviderProps as jt, UITableRow as k, TUITableRow as kt, UITableEmailDisplay as l, TTableHeadRowContext as lt, UITablePermalink as m, TUITableBody as mt, UITableAvatarNameDisplay as n, RowData as nt, UITableDateDisplay as o, TTableBodyContext as ot, UITableNameDisplay as p, TTableSummaryContext as pt, ColumnAggregation as q, UITableBadgeDisplay as r, SingleTagFilterValue as rt, UITableDescriptionDisplay as s, TTableContext as st, UITableAnalysisPanel as t, NumberFilterValue as tt, UITableFilter as u, TTableInnerTableContext as ut, UITableStatisticDisplay as v, TUITableColumn as vt, UITableTooltipFilter as w, TUITableHeadCellSelect as wt, UITableToggleButton as x, TUITableHead as xt, UITableStatusDisplay as y, TUITableEmptyDisplay as yt, UITableFooter as z };
|
|
740
|
-
//# sourceMappingURL=index-
|
|
741
|
+
//# sourceMappingURL=index-DqAbPipJ.d.cts.map
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./ui/button.cjs"),t=require("./typography/paragraph.cjs"),n=require("./ui/card.cjs"),ee=require("./ui/skeleton.cjs"),te=require("./ui/image.cjs"),ne=require("./cards/grid-product-card.cjs"),re=require("./cards/product-card.cjs"),ie=require("./cards/simple-card.cjs"),ae=require("./layouts/flex.cjs"),oe=require("./data-display/country.cjs"),r=require("./data-display/data-list.cjs"),se=require("./date-B3cozmfV.cjs"),i=require("./ui/badge.cjs"),a=require("./ui/tooltip.cjs"),ce=require("./data-display/date-tooltip.cjs"),le=require("./data-display/empty.cjs"),ue=require("./data-display/name.cjs"),de=require("./data-display/phone-number.cjs"),fe=require("./data-display/role-badge.cjs"),o=require("./data-display/statistic.cjs"),s=require("./ui/avatar.cjs"),pe=require("./data-display/user.cjs"),c=require("./ui/alert-dialog.cjs"),me=require("./dialogs/confirm-dialog.cjs"),he=require("./detail-dialog-uN5mrCa7.cjs"),ge=require("./typography/title.cjs"),_e=require("./dialogs/error-dialog.cjs"),l=require("./ui/dialog.cjs"),ve=require("./dialogs/loading-dialog.cjs"),u=require("./features/charts/index.cjs"),d=require("./features/descriptions/index.cjs"),f=require("./ui/command.cjs"),ye=require("./search-modal-CMhsIxae.cjs"),p=require("./tables-CS3NhgTc.cjs"),be=require("./ui/checkbox.cjs"),m=require("./ui/dropdown-menu.cjs"),xe=require("./ui/spinner.cjs"),h=require("./ui/resizable.cjs"),g=require("./tanstack-form-BxqS40rB.cjs"),_=require("./ui/popover.cjs"),v=require("./text-editor-BtfyZSgR.cjs"),Se=require("./ui/input.cjs"),Ce=require("./ui/separator.cjs"),we=require("./cms-layout-DCJhB-GY.cjs"),y=require("./ui/sheet.cjs"),b=require("./payment-layout-DDcLanA0.cjs"),x=require("./layouts/grid.cjs"),S=require("./pages/FeatureDeveloping.cjs"),C=require("./pages/FeatureFixing.cjs"),w=require("./pages/NotAuthorized.cjs"),T=require("./pages/NotFound.cjs"),E=require("./alert-D31c6DLq.cjs"),D=require("./ui/label.cjs"),O=require("./pages/LoginPage.cjs"),k=require("./pages/RegisterPage.cjs"),A=require("./ui/input-otp.cjs"),Te=require("./pages/VerifyEmailPage.cjs"),Ee=require("./systems/google.cjs"),De=require("./ui/buttons/add-new.cjs"),Oe=require("./ui/buttons/edit.cjs"),ke=require("./ui/buttons/refresh.cjs"),Ae=require("./ui/buttons/trash.cjs"),je=require("./ui/buttons/upload-image.cjs"),Me=require("./ui/inputs/search-input.cjs"),Ne=require("./ui/aspect-ratio.cjs"),j=require("./ui/breadcrumb.cjs"),M=require("./ui/button-group.cjs"),N=require("./ui/calendar.cjs"),P=require("./ui/carousel.cjs"),F=require("./ui/chart.cjs"),I=require("./ui/collapsible.cjs"),Pe=require("./combobox-kp_kPY8o.cjs"),L=require("./ui/context-menu.cjs"),R=require("./ui/drawer.cjs"),z=require("./ui/empty.cjs"),Fe=require("./ui/progress.cjs"),Ie=require("./ui/file-uploader.cjs"),B=require("./ui/form.cjs"),V=require("./ui/hover-card.cjs"),H=require("./ui/item.cjs"),U=require("./ui/menubar.cjs"),W=require("./ui/multi-select.cjs"),G=require("./ui/navigation-menu.cjs"),K=require("./ui/pagination.cjs"),q=require("./ui/radio-group.cjs"),J=require("./ui/scroll-area.cjs"),Y=require("./ui/select.cjs"),Le=require("./ui/slider.cjs"),Re=require("./ui/sonner.cjs"),ze=require("./ui/switch.cjs"),X=require("./ui/table.cjs"),Z=require("./ui/tabs.cjs"),Be=require("./ui/textarea.cjs"),Q=require("./ui/toggle.cjs"),$=require("./ui/toggle-group.cjs");let Ve=require("sonner");exports.ActivityHeatmapChart=u.ActivityHeatmapChart,exports.AddNewBtn=De.AddNewBtn,exports.Alert=E.t,exports.AlertDescription=E.n,exports.AlertDialog=c.AlertDialog,exports.AlertDialogAction=c.AlertDialogAction,exports.AlertDialogCancel=c.AlertDialogCancel,exports.AlertDialogContent=c.AlertDialogContent,exports.AlertDialogDescription=c.AlertDialogDescription,exports.AlertDialogFooter=c.AlertDialogFooter,exports.AlertDialogHeader=c.AlertDialogHeader,exports.AlertDialogOverlay=c.AlertDialogOverlay,exports.AlertDialogPortal=c.AlertDialogPortal,exports.AlertDialogTitle=c.AlertDialogTitle,exports.AlertDialogTrigger=c.AlertDialogTrigger,exports.AlertTitle=E.r,exports.ArrayCol=g.t,exports.ArrayHeaderRow=g.n,exports.AspectRatio=Ne.AspectRatio,exports.Avatar=s.Avatar,exports.AvatarFallback=s.AvatarFallback,exports.AvatarImage=s.AvatarImage,exports.Badge=i.Badge,exports.Breadcrumb=j.Breadcrumb,exports.BreadcrumbEllipsis=j.BreadcrumbEllipsis,exports.BreadcrumbItem=j.BreadcrumbItem,exports.BreadcrumbLink=j.BreadcrumbLink,exports.BreadcrumbList=j.BreadcrumbList,exports.BreadcrumbPage=j.BreadcrumbPage,exports.BreadcrumbSeparator=j.BreadcrumbSeparator,exports.Button=e.Button,exports.ButtonGroup=M.ButtonGroup,exports.ButtonGroupSeparator=M.ButtonGroupSeparator,exports.ButtonGroupText=M.ButtonGroupText,exports.CMSLayout=we.t,exports.Calendar=N.Calendar,exports.CalendarDayButton=N.CalendarDayButton,exports.CandlestickChart=u.CandlestickChart,exports.Card=n.Card,exports.CardAction=n.CardAction,exports.CardContent=n.CardContent,exports.CardDescription=n.CardDescription,exports.CardFooter=n.CardFooter,exports.CardHeader=n.CardHeader,exports.CardTitle=n.CardTitle,exports.Carousel=P.Carousel,exports.CarouselContent=P.CarouselContent,exports.CarouselItem=P.CarouselItem,exports.CarouselNext=P.CarouselNext,exports.CarouselPrevious=P.CarouselPrevious,exports.ChartContainer=F.ChartContainer,exports.ChartLegend=F.ChartLegend,exports.ChartLegendContent=F.ChartLegendContent,exports.ChartStyle=F.ChartStyle,exports.ChartTooltip=F.ChartTooltip,exports.ChartTooltipContent=F.ChartTooltipContent,exports.Checkbox=be.Checkbox,exports.CheckboxField=g.r,exports.Collapsible=I.Collapsible,exports.CollapsibleContent=I.CollapsibleContent,exports.CollapsibleTrigger=I.CollapsibleTrigger,exports.Combobox=Pe.t,exports.ComboboxField=g.i,exports.Command=f.Command,exports.CommandDialog=f.CommandDialog,exports.CommandEmpty=f.CommandEmpty,exports.CommandGroup=f.CommandGroup,exports.CommandInput=f.CommandInput,exports.CommandItem=f.CommandItem,exports.CommandList=f.CommandList,exports.CommandSeparator=f.CommandSeparator,exports.CommandShortcut=f.CommandShortcut,exports.ConfirmDialog=me.ConfirmDialog,exports.ContextMenu=L.ContextMenu,exports.ContextMenuCheckboxItem=L.ContextMenuCheckboxItem,exports.ContextMenuContent=L.ContextMenuContent,exports.ContextMenuGroup=L.ContextMenuGroup,exports.ContextMenuItem=L.ContextMenuItem,exports.ContextMenuLabel=L.ContextMenuLabel,exports.ContextMenuPortal=L.ContextMenuPortal,exports.ContextMenuRadioGroup=L.ContextMenuRadioGroup,exports.ContextMenuRadioItem=L.ContextMenuRadioItem,exports.ContextMenuSeparator=L.ContextMenuSeparator,exports.ContextMenuShortcut=L.ContextMenuShortcut,exports.ContextMenuSub=L.ContextMenuSub,exports.ContextMenuSubContent=L.ContextMenuSubContent,exports.ContextMenuSubTrigger=L.ContextMenuSubTrigger,exports.ContextMenuTrigger=L.ContextMenuTrigger,exports.ConversionFunnelChart=u.ConversionFunnelChart,exports.CorrelationScatterChart=u.CorrelationScatterChart,exports.CountryDisplay=oe.CountryDisplay,exports.DataList=r.DataList,exports.DataListItem=r.DataListItem,exports.DateDisplay=se.t,exports.DateField=g.a,exports.DateTooltip=ce.DateTooltip,exports.Description=d.Description,exports.DescriptionBadge=d.DescriptionBadge,exports.DescriptionBoolean=d.DescriptionBoolean,exports.DescriptionCopy=d.DescriptionCopy,exports.DescriptionDate=d.DescriptionDate,exports.DescriptionEmpty=d.DescriptionEmpty,exports.DescriptionHeader=d.DescriptionHeader,exports.DescriptionImages=d.DescriptionImages,exports.DescriptionItem=d.DescriptionItem,exports.DescriptionLink=d.DescriptionLink,exports.DescriptionLongText=d.DescriptionLongText,exports.DescriptionName=d.DescriptionName,exports.DescriptionNumberPhone=d.DescriptionNumberPhone,exports.DescriptionSection=d.DescriptionSection,exports.DescriptionStatistic=d.DescriptionStatistic,exports.DescriptionStatus=d.DescriptionStatus,exports.DescriptionTagList=d.DescriptionTagList,exports.DescriptionUser=d.DescriptionUser,exports.DetailDialog=he.t,exports.Dialog=l.Dialog,exports.DialogClose=l.DialogClose,exports.DialogContent=l.DialogContent,exports.DialogDescription=l.DialogDescription,exports.DialogFooter=l.DialogFooter,exports.DialogHeader=l.DialogHeader,exports.DialogOverlay=l.DialogOverlay,exports.DialogPortal=l.DialogPortal,exports.DialogTitle=l.DialogTitle,exports.DialogTrigger=l.DialogTrigger,exports.DonutChart=u.DonutChart,exports.Drawer=R.Drawer,exports.DrawerClose=R.DrawerClose,exports.DrawerContent=R.DrawerContent,exports.DrawerDescription=R.DrawerDescription,exports.DrawerFooter=R.DrawerFooter,exports.DrawerHeader=R.DrawerHeader,exports.DrawerOverlay=R.DrawerOverlay,exports.DrawerPortal=R.DrawerPortal,exports.DrawerTitle=R.DrawerTitle,exports.DrawerTrigger=R.DrawerTrigger,exports.DropdownMenu=m.DropdownMenu,exports.DropdownMenuCheckboxItem=m.DropdownMenuCheckboxItem,exports.DropdownMenuContent=m.DropdownMenuContent,exports.DropdownMenuGroup=m.DropdownMenuGroup,exports.DropdownMenuItem=m.DropdownMenuItem,exports.DropdownMenuLabel=m.DropdownMenuLabel,exports.DropdownMenuPortal=m.DropdownMenuPortal,exports.DropdownMenuRadioGroup=m.DropdownMenuRadioGroup,exports.DropdownMenuRadioItem=m.DropdownMenuRadioItem,exports.DropdownMenuSeparator=m.DropdownMenuSeparator,exports.DropdownMenuShortcut=m.DropdownMenuShortcut,exports.DropdownMenuSub=m.DropdownMenuSub,exports.DropdownMenuSubContent=m.DropdownMenuSubContent,exports.DropdownMenuSubTrigger=m.DropdownMenuSubTrigger,exports.DropdownMenuTrigger=m.DropdownMenuTrigger,exports.EditBtn=Oe.EditBtn,exports.EmailField=g.o,exports.Empty=z.Empty,exports.EmptyContent=z.EmptyContent,exports.EmptyDescription=z.EmptyDescription,exports.EmptyDisplay=le.EmptyDisplay,exports.EmptyHeader=z.EmptyHeader,exports.EmptyMedia=z.EmptyMedia,exports.EmptyTitle=z.EmptyTitle,exports.ErrorDialog=_e.ErrorDialog,exports.FeatureDeveloping=S.FeatureDeveloping,exports.FeatureFixing=C.FeatureFixing,exports.Field=g.s,exports.FieldContent=g.c,exports.FieldContentMain=g.l,exports.FieldError=g.u,exports.FieldGroup=g.d,exports.FieldLabel=g.f,exports.FieldSeparator=g.p,exports.FileUploader=Ie.FileUploader,exports.Flex=ae.Flex,exports.Form=B.Form,exports.FormControl=B.FormControl,exports.FormDescription=B.FormDescription,exports.FormField=B.FormField,exports.FormItem=B.FormItem,exports.FormLabel=B.FormLabel,exports.FormMessage=B.FormMessage,exports.GainLossBarChart=u.GainLossBarChart,exports.Google=Ee.Google,exports.Grid=x.Grid,exports.GridProductCard=ne.GridProductCard,exports.HoverCard=V.HoverCard,exports.HoverCardContent=V.HoverCardContent,exports.HoverCardTrigger=V.HoverCardTrigger,exports.Image=te.Image,exports.IndexedPerformanceLineChart=u.IndexedPerformanceLineChart,exports.Input=Se.Input,exports.InputOTP=A.InputOTP,exports.InputOTPGroup=A.InputOTPGroup,exports.InputOTPSeparator=A.InputOTPSeparator,exports.InputOTPSlot=A.InputOTPSlot,exports.Item=H.Item,exports.ItemActions=H.ItemActions,exports.ItemContent=H.ItemContent,exports.ItemDescription=H.ItemDescription,exports.ItemFooter=H.ItemFooter,exports.ItemGroup=H.ItemGroup,exports.ItemHeader=H.ItemHeader,exports.ItemMedia=H.ItemMedia,exports.ItemSeparator=H.ItemSeparator,exports.ItemTitle=H.ItemTitle,exports.Label=D.Label,exports.LoadingDialog=ve.LoadingDialog,exports.LoginPage=O.LoginPage,exports.Menubar=U.Menubar,exports.MenubarCheckboxItem=U.MenubarCheckboxItem,exports.MenubarContent=U.MenubarContent,exports.MenubarGroup=U.MenubarGroup,exports.MenubarItem=U.MenubarItem,exports.MenubarLabel=U.MenubarLabel,exports.MenubarMenu=U.MenubarMenu,exports.MenubarPortal=U.MenubarPortal,exports.MenubarRadioGroup=U.MenubarRadioGroup,exports.MenubarRadioItem=U.MenubarRadioItem,exports.MenubarSeparator=U.MenubarSeparator,exports.MenubarShortcut=U.MenubarShortcut,exports.MenubarSub=U.MenubarSub,exports.MenubarSubContent=U.MenubarSubContent,exports.MenubarSubTrigger=U.MenubarSubTrigger,exports.MenubarTrigger=U.MenubarTrigger,exports.MetricRadarChart=u.MetricRadarChart,exports.MirroredBarChart=u.MirroredBarChart,exports.MultipleSelector=W.MultipleSelector,exports.NameDisplay=ue.NameDisplay,exports.NavigationMenu=G.NavigationMenu,exports.NavigationMenuContent=G.NavigationMenuContent,exports.NavigationMenuIndicator=G.NavigationMenuIndicator,exports.NavigationMenuItem=G.NavigationMenuItem,exports.NavigationMenuLink=G.NavigationMenuLink,exports.NavigationMenuList=G.NavigationMenuList,exports.NavigationMenuTrigger=G.NavigationMenuTrigger,exports.NavigationMenuViewport=G.NavigationMenuViewport,exports.NotAuthorized=w.NotAuthorized,exports.NotFound=T.NotFound,exports.NumberField=g.m,exports.OrdersBarChart=u.OrdersBarChart,exports.Pagination=K.Pagination,exports.PaginationContent=K.PaginationContent,exports.PaginationEllipsis=K.PaginationEllipsis,exports.PaginationItem=K.PaginationItem,exports.PaginationLink=K.PaginationLink,exports.PaginationNext=K.PaginationNext,exports.PaginationPrevious=K.PaginationPrevious,exports.Paragraph=t.Paragraph,exports.PasswordField=g.h,exports.PaymentLayout=b.t,exports.PhoneNumberDisplay=de.PhoneNumberDisplay,exports.Popover=_.Popover,exports.PopoverAnchor=_.PopoverAnchor,exports.PopoverClose=_.PopoverClose,exports.PopoverContent=_.PopoverContent,exports.PopoverTrigger=_.PopoverTrigger,exports.PortfolioAllocationTreemap=u.PortfolioAllocationTreemap,exports.PriceRangeAreaChart=u.PriceRangeAreaChart,exports.ProductCard=re.ProductCard,exports.Progress=Fe.Progress,exports.RadioGroup=q.RadioGroup,exports.RadioGroupField=g.g,exports.RadioGroupItem=q.RadioGroupItem,exports.RefreshBtn=ke.RefreshBtn,exports.RegisterPage=k.RegisterPage,exports.ResizableHandle=h.ResizableHandle,exports.ResizablePanel=h.ResizablePanel,exports.ResizablePanelGroup=h.ResizablePanelGroup,exports.RevenueAreaChart=u.RevenueAreaChart,exports.RevenueOrdersComposedChart=u.RevenueOrdersComposedChart,exports.RoleBadge=fe.RoleBadge,exports.SalesTargetRadialChart=u.SalesTargetRadialChart,exports.SankeyFlowChart=u.SankeyFlowChart,exports.ScrollArea=J.ScrollArea,exports.ScrollBar=J.ScrollBar,exports.SearchInput=Me.SearchInput,exports.SearchModal=ye.t,exports.Select=Y.Select,exports.SelectContent=Y.SelectContent,exports.SelectField=g._,exports.SelectGroup=Y.SelectGroup,exports.SelectItem=Y.SelectItem,exports.SelectLabel=Y.SelectLabel,exports.SelectSeparator=Y.SelectSeparator,exports.SelectTrigger=Y.SelectTrigger,exports.SelectValue=Y.SelectValue,exports.Separator=Ce.Separator,exports.Sheet=y.Sheet,exports.SheetClose=y.SheetClose,exports.SheetContent=y.SheetContent,exports.SheetDescription=y.SheetDescription,exports.SheetFooter=y.SheetFooter,exports.SheetHeader=y.SheetHeader,exports.SheetTitle=y.SheetTitle,exports.SheetTrigger=y.SheetTrigger,exports.SimpleArrayField=g.v,exports.SimpleBooleanField=g.y,exports.SimpleCard=ie.SimpleCard,exports.SimpleComboboxField=g.b,exports.SimpleDateField=g.x,exports.SimpleEmailField=g.S,exports.SimpleNumberField=g.C,exports.SimplePasswordField=g.w,exports.SimpleRadioGroupField=g.T,exports.SimpleSelectField=g.E,exports.SimpleTextField=g.D,exports.SimpleTextareaField=g.O,exports.Skeleton=ee.Skeleton,exports.Slider=Le.Slider,exports.SparklineChart=u.SparklineChart,exports.Spinner=xe.Spinner,exports.StackedAreaChart=u.StackedAreaChart,exports.Statistic=o.Statistic,exports.Switch=ze.Switch,exports.SwitchField=g.k,exports.Table=X.Table,exports.TableBody=X.TableBody,exports.TableCaption=X.TableCaption,exports.TableCell=X.TableCell,exports.TableFooter=X.TableFooter,exports.TableHead=X.TableHead,exports.TableHeader=X.TableHeader,exports.TableRow=X.TableRow,exports.Tabs=Z.Tabs,exports.TabsContent=Z.TabsContent,exports.TabsList=Z.TabsList,exports.TabsTrigger=Z.TabsTrigger,exports.TanStackActionSubmit=g.A,exports.TanStackActionsForm=g.j,exports.TanStackCardForm=g.M,exports.TanStackContainerForm=g.N,exports.TanStackDialogForm=g.P,exports.TanStackFieldGroup=g.F,exports.TanStackPopoverForm=g.I,exports.TanStackSectionForm=g.L,exports.TanStackTitleField=g.R,exports.TextEditor=v.t,exports.TextEditorField=g.z,exports.TextEditorToolbar=v.n,exports.TextField=g.B,exports.Textarea=Be.Textarea,exports.TextareaField=g.V,exports.Title=ge.Title,exports.Toaster=Re.Toaster,exports.Toggle=Q.Toggle,exports.ToggleGroup=$.ToggleGroup,exports.ToggleGroupItem=$.ToggleGroupItem,exports.Tooltip=a.Tooltip,exports.TooltipContent=a.TooltipContent,exports.TooltipProvider=a.TooltipProvider,exports.TooltipTrigger=a.TooltipTrigger,exports.TopProductsBarChart=u.TopProductsBarChart,exports.TrashBtn=Ae.TrashBtn,exports.UITableAnalysisPanel=p.t,exports.UITableAvatarNameDisplay=p.n,exports.UITableBadgeDisplay=p.r,exports.UITableBody=p.K,exports.UITableBooleanDisplay=p.i,exports.UITableCell=p.G,exports.UITableCellActions=p.W,exports.UITableCellSelect=p.U,exports.UITableContainer=p.D,exports.UITableCurrencyDisplay=p.a,exports.UITableDateDisplay=p.o,exports.UITableDescriptionDisplay=p.s,exports.UITableEditButton=p.c,exports.UITableEmailDisplay=p.l,exports.UITableEmpty=p.Q,exports.UITableEmptyDisplay=p.H,exports.UITableFilter=p.u,exports.UITableFooter=p.V,exports.UITableFooterRow=p.R,exports.UITableHead=p.L,exports.UITableHeadCell=p.F,exports.UITableHeadCellOption=p.I,exports.UITableHeadCellSelect=p.P,exports.UITableHeadRow=p.N,exports.UITableInnerTable=p.M,exports.UITableInnerWrapper=p.j,exports.UITableListDisplay=p.d,exports.UITableLoadMore=p.A,exports.UITableMoreButton=p.f,exports.UITableNameDisplay=p.p,exports.UITablePermalink=p.m,exports.UITablePhoneNumberDisplay=p.h,exports.UITableProgressDisplay=p.g,exports.UITableProvider=p.E,exports.UITableRemoveButton=p._,exports.UITableRow=p.k,exports.UITableStatisticDisplay=p.v,exports.UITableStatusDisplay=p.y,exports.UITableSummaryBar=p.b,exports.UITableToggleButton=p.x,exports.UITableTooltip=p.S,exports.UITableTooltipActions=p.C,exports.UITableTooltipFilter=p.w,exports.UITableUserDataDisplay=p.T,exports.UITableWrapper=p.O,exports.UploadImageBtn=je.UploadImageBtn,exports.UserDataDisplay=pe.UserDataDisplay,exports.VerifyEmailPage=Te.VerifyEmailPage,exports.VolumeBarChart=u.VolumeBarChart,exports.WaterfallChart=u.WaterfallChart,exports.badgeVariants=i.badgeVariants,exports.buttonGroupVariants=M.buttonGroupVariants,exports.computeIndexedSeries=u.computeIndexedSeries,exports.formatCompactNumber=u.formatCompactNumber,exports.formatCurrency=u.formatCurrency,exports.formatPercent=u.formatPercent,exports.formatSignedPercent=u.formatSignedPercent,exports.getChartColor=u.getChartColor,exports.getDirectionColor=u.getDirectionColor,exports.navigationMenuTriggerStyle=G.navigationMenuTriggerStyle,exports.paragraphVariants=t.paragraphVariants,exports.toDateLabel=u.toDateLabel,exports.toast=Ve.toast,exports.toggleVariants=Q.toggleVariants,exports.useChart=F.useChart,exports.useDebounce=W.useDebounce,exports.useFormField=B.useFormField,exports.useTanStackFieldContext=g.G,exports.useTanStackForm=g.H,exports.useTanStackFormContext=g.K,exports.withTanStackFieldGroup=g.U,exports.withTanStackForm=g.W;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./ui/button.cjs"),t=require("./typography/paragraph.cjs"),n=require("./ui/card.cjs"),ee=require("./ui/skeleton.cjs"),te=require("./ui/image.cjs"),ne=require("./cards/grid-product-card.cjs"),re=require("./cards/product-card.cjs"),ie=require("./cards/simple-card.cjs"),ae=require("./layouts/flex.cjs"),oe=require("./data-display/country.cjs"),r=require("./data-display/data-list.cjs"),se=require("./date-B3cozmfV.cjs"),i=require("./ui/badge.cjs"),a=require("./ui/tooltip.cjs"),ce=require("./data-display/date-tooltip.cjs"),le=require("./data-display/empty.cjs"),ue=require("./data-display/name.cjs"),de=require("./data-display/phone-number.cjs"),fe=require("./data-display/role-badge.cjs"),o=require("./data-display/statistic.cjs"),s=require("./ui/avatar.cjs"),pe=require("./data-display/user.cjs"),c=require("./ui/alert-dialog.cjs"),me=require("./dialogs/confirm-dialog.cjs"),he=require("./detail-dialog-BCM0iEXQ.cjs"),ge=require("./typography/title.cjs"),_e=require("./dialogs/error-dialog.cjs"),l=require("./ui/dialog.cjs"),ve=require("./dialogs/loading-dialog.cjs"),u=require("./features/charts/index.cjs"),d=require("./features/descriptions/index.cjs"),f=require("./ui/command.cjs"),ye=require("./search-modal-CMhsIxae.cjs"),p=require("./tables-BzP8Cnvh.cjs"),be=require("./ui/checkbox.cjs"),m=require("./ui/dropdown-menu.cjs"),xe=require("./ui/spinner.cjs"),h=require("./ui/resizable.cjs"),g=require("./tanstack-form-BxqS40rB.cjs"),_=require("./ui/popover.cjs"),v=require("./text-editor-BtfyZSgR.cjs"),Se=require("./ui/input.cjs"),Ce=require("./ui/separator.cjs"),we=require("./cms-layout-DCJhB-GY.cjs"),y=require("./ui/sheet.cjs"),b=require("./payment-layout-DDcLanA0.cjs"),x=require("./layouts/grid.cjs"),S=require("./pages/FeatureDeveloping.cjs"),C=require("./pages/FeatureFixing.cjs"),w=require("./pages/NotAuthorized.cjs"),T=require("./pages/NotFound.cjs"),E=require("./alert-D31c6DLq.cjs"),D=require("./ui/label.cjs"),O=require("./pages/LoginPage.cjs"),k=require("./pages/RegisterPage.cjs"),A=require("./ui/input-otp.cjs"),Te=require("./pages/VerifyEmailPage.cjs"),Ee=require("./systems/google.cjs"),De=require("./ui/buttons/add-new.cjs"),Oe=require("./ui/buttons/edit.cjs"),ke=require("./ui/buttons/refresh.cjs"),Ae=require("./ui/buttons/trash.cjs"),je=require("./ui/buttons/upload-image.cjs"),Me=require("./ui/inputs/search-input.cjs"),Ne=require("./ui/aspect-ratio.cjs"),j=require("./ui/breadcrumb.cjs"),M=require("./ui/button-group.cjs"),N=require("./ui/calendar.cjs"),P=require("./ui/carousel.cjs"),F=require("./ui/chart.cjs"),I=require("./ui/collapsible.cjs"),Pe=require("./combobox-kp_kPY8o.cjs"),L=require("./ui/context-menu.cjs"),R=require("./ui/drawer.cjs"),z=require("./ui/empty.cjs"),Fe=require("./ui/progress.cjs"),Ie=require("./ui/file-uploader.cjs"),B=require("./ui/form.cjs"),V=require("./ui/hover-card.cjs"),H=require("./ui/item.cjs"),U=require("./ui/menubar.cjs"),W=require("./ui/multi-select.cjs"),G=require("./ui/navigation-menu.cjs"),K=require("./ui/pagination.cjs"),q=require("./ui/radio-group.cjs"),J=require("./ui/scroll-area.cjs"),Y=require("./ui/select.cjs"),Le=require("./ui/slider.cjs"),Re=require("./ui/sonner.cjs"),ze=require("./ui/switch.cjs"),X=require("./ui/table.cjs"),Z=require("./ui/tabs.cjs"),Be=require("./ui/textarea.cjs"),Q=require("./ui/toggle.cjs"),$=require("./ui/toggle-group.cjs");let Ve=require("sonner");exports.ActivityHeatmapChart=u.ActivityHeatmapChart,exports.AddNewBtn=De.AddNewBtn,exports.Alert=E.t,exports.AlertDescription=E.n,exports.AlertDialog=c.AlertDialog,exports.AlertDialogAction=c.AlertDialogAction,exports.AlertDialogCancel=c.AlertDialogCancel,exports.AlertDialogContent=c.AlertDialogContent,exports.AlertDialogDescription=c.AlertDialogDescription,exports.AlertDialogFooter=c.AlertDialogFooter,exports.AlertDialogHeader=c.AlertDialogHeader,exports.AlertDialogOverlay=c.AlertDialogOverlay,exports.AlertDialogPortal=c.AlertDialogPortal,exports.AlertDialogTitle=c.AlertDialogTitle,exports.AlertDialogTrigger=c.AlertDialogTrigger,exports.AlertTitle=E.r,exports.ArrayCol=g.t,exports.ArrayHeaderRow=g.n,exports.AspectRatio=Ne.AspectRatio,exports.Avatar=s.Avatar,exports.AvatarFallback=s.AvatarFallback,exports.AvatarImage=s.AvatarImage,exports.Badge=i.Badge,exports.Breadcrumb=j.Breadcrumb,exports.BreadcrumbEllipsis=j.BreadcrumbEllipsis,exports.BreadcrumbItem=j.BreadcrumbItem,exports.BreadcrumbLink=j.BreadcrumbLink,exports.BreadcrumbList=j.BreadcrumbList,exports.BreadcrumbPage=j.BreadcrumbPage,exports.BreadcrumbSeparator=j.BreadcrumbSeparator,exports.Button=e.Button,exports.ButtonGroup=M.ButtonGroup,exports.ButtonGroupSeparator=M.ButtonGroupSeparator,exports.ButtonGroupText=M.ButtonGroupText,exports.CMSLayout=we.t,exports.Calendar=N.Calendar,exports.CalendarDayButton=N.CalendarDayButton,exports.CandlestickChart=u.CandlestickChart,exports.Card=n.Card,exports.CardAction=n.CardAction,exports.CardContent=n.CardContent,exports.CardDescription=n.CardDescription,exports.CardFooter=n.CardFooter,exports.CardHeader=n.CardHeader,exports.CardTitle=n.CardTitle,exports.Carousel=P.Carousel,exports.CarouselContent=P.CarouselContent,exports.CarouselItem=P.CarouselItem,exports.CarouselNext=P.CarouselNext,exports.CarouselPrevious=P.CarouselPrevious,exports.ChartContainer=F.ChartContainer,exports.ChartLegend=F.ChartLegend,exports.ChartLegendContent=F.ChartLegendContent,exports.ChartStyle=F.ChartStyle,exports.ChartTooltip=F.ChartTooltip,exports.ChartTooltipContent=F.ChartTooltipContent,exports.Checkbox=be.Checkbox,exports.CheckboxField=g.r,exports.Collapsible=I.Collapsible,exports.CollapsibleContent=I.CollapsibleContent,exports.CollapsibleTrigger=I.CollapsibleTrigger,exports.Combobox=Pe.t,exports.ComboboxField=g.i,exports.Command=f.Command,exports.CommandDialog=f.CommandDialog,exports.CommandEmpty=f.CommandEmpty,exports.CommandGroup=f.CommandGroup,exports.CommandInput=f.CommandInput,exports.CommandItem=f.CommandItem,exports.CommandList=f.CommandList,exports.CommandSeparator=f.CommandSeparator,exports.CommandShortcut=f.CommandShortcut,exports.ConfirmDialog=me.ConfirmDialog,exports.ContextMenu=L.ContextMenu,exports.ContextMenuCheckboxItem=L.ContextMenuCheckboxItem,exports.ContextMenuContent=L.ContextMenuContent,exports.ContextMenuGroup=L.ContextMenuGroup,exports.ContextMenuItem=L.ContextMenuItem,exports.ContextMenuLabel=L.ContextMenuLabel,exports.ContextMenuPortal=L.ContextMenuPortal,exports.ContextMenuRadioGroup=L.ContextMenuRadioGroup,exports.ContextMenuRadioItem=L.ContextMenuRadioItem,exports.ContextMenuSeparator=L.ContextMenuSeparator,exports.ContextMenuShortcut=L.ContextMenuShortcut,exports.ContextMenuSub=L.ContextMenuSub,exports.ContextMenuSubContent=L.ContextMenuSubContent,exports.ContextMenuSubTrigger=L.ContextMenuSubTrigger,exports.ContextMenuTrigger=L.ContextMenuTrigger,exports.ConversionFunnelChart=u.ConversionFunnelChart,exports.CorrelationScatterChart=u.CorrelationScatterChart,exports.CountryDisplay=oe.CountryDisplay,exports.DataList=r.DataList,exports.DataListItem=r.DataListItem,exports.DateDisplay=se.t,exports.DateField=g.a,exports.DateTooltip=ce.DateTooltip,exports.Description=d.Description,exports.DescriptionBadge=d.DescriptionBadge,exports.DescriptionBoolean=d.DescriptionBoolean,exports.DescriptionCopy=d.DescriptionCopy,exports.DescriptionDate=d.DescriptionDate,exports.DescriptionEmpty=d.DescriptionEmpty,exports.DescriptionHeader=d.DescriptionHeader,exports.DescriptionImages=d.DescriptionImages,exports.DescriptionItem=d.DescriptionItem,exports.DescriptionLink=d.DescriptionLink,exports.DescriptionLongText=d.DescriptionLongText,exports.DescriptionName=d.DescriptionName,exports.DescriptionNumberPhone=d.DescriptionNumberPhone,exports.DescriptionSection=d.DescriptionSection,exports.DescriptionStatistic=d.DescriptionStatistic,exports.DescriptionStatus=d.DescriptionStatus,exports.DescriptionTagList=d.DescriptionTagList,exports.DescriptionUser=d.DescriptionUser,exports.DetailDialog=he.t,exports.Dialog=l.Dialog,exports.DialogClose=l.DialogClose,exports.DialogContent=l.DialogContent,exports.DialogDescription=l.DialogDescription,exports.DialogFooter=l.DialogFooter,exports.DialogHeader=l.DialogHeader,exports.DialogOverlay=l.DialogOverlay,exports.DialogPortal=l.DialogPortal,exports.DialogTitle=l.DialogTitle,exports.DialogTrigger=l.DialogTrigger,exports.DonutChart=u.DonutChart,exports.Drawer=R.Drawer,exports.DrawerClose=R.DrawerClose,exports.DrawerContent=R.DrawerContent,exports.DrawerDescription=R.DrawerDescription,exports.DrawerFooter=R.DrawerFooter,exports.DrawerHeader=R.DrawerHeader,exports.DrawerOverlay=R.DrawerOverlay,exports.DrawerPortal=R.DrawerPortal,exports.DrawerTitle=R.DrawerTitle,exports.DrawerTrigger=R.DrawerTrigger,exports.DropdownMenu=m.DropdownMenu,exports.DropdownMenuCheckboxItem=m.DropdownMenuCheckboxItem,exports.DropdownMenuContent=m.DropdownMenuContent,exports.DropdownMenuGroup=m.DropdownMenuGroup,exports.DropdownMenuItem=m.DropdownMenuItem,exports.DropdownMenuLabel=m.DropdownMenuLabel,exports.DropdownMenuPortal=m.DropdownMenuPortal,exports.DropdownMenuRadioGroup=m.DropdownMenuRadioGroup,exports.DropdownMenuRadioItem=m.DropdownMenuRadioItem,exports.DropdownMenuSeparator=m.DropdownMenuSeparator,exports.DropdownMenuShortcut=m.DropdownMenuShortcut,exports.DropdownMenuSub=m.DropdownMenuSub,exports.DropdownMenuSubContent=m.DropdownMenuSubContent,exports.DropdownMenuSubTrigger=m.DropdownMenuSubTrigger,exports.DropdownMenuTrigger=m.DropdownMenuTrigger,exports.EditBtn=Oe.EditBtn,exports.EmailField=g.o,exports.Empty=z.Empty,exports.EmptyContent=z.EmptyContent,exports.EmptyDescription=z.EmptyDescription,exports.EmptyDisplay=le.EmptyDisplay,exports.EmptyHeader=z.EmptyHeader,exports.EmptyMedia=z.EmptyMedia,exports.EmptyTitle=z.EmptyTitle,exports.ErrorDialog=_e.ErrorDialog,exports.FeatureDeveloping=S.FeatureDeveloping,exports.FeatureFixing=C.FeatureFixing,exports.Field=g.s,exports.FieldContent=g.c,exports.FieldContentMain=g.l,exports.FieldError=g.u,exports.FieldGroup=g.d,exports.FieldLabel=g.f,exports.FieldSeparator=g.p,exports.FileUploader=Ie.FileUploader,exports.Flex=ae.Flex,exports.Form=B.Form,exports.FormControl=B.FormControl,exports.FormDescription=B.FormDescription,exports.FormField=B.FormField,exports.FormItem=B.FormItem,exports.FormLabel=B.FormLabel,exports.FormMessage=B.FormMessage,exports.GainLossBarChart=u.GainLossBarChart,exports.Google=Ee.Google,exports.Grid=x.Grid,exports.GridProductCard=ne.GridProductCard,exports.HoverCard=V.HoverCard,exports.HoverCardContent=V.HoverCardContent,exports.HoverCardTrigger=V.HoverCardTrigger,exports.Image=te.Image,exports.IndexedPerformanceLineChart=u.IndexedPerformanceLineChart,exports.Input=Se.Input,exports.InputOTP=A.InputOTP,exports.InputOTPGroup=A.InputOTPGroup,exports.InputOTPSeparator=A.InputOTPSeparator,exports.InputOTPSlot=A.InputOTPSlot,exports.Item=H.Item,exports.ItemActions=H.ItemActions,exports.ItemContent=H.ItemContent,exports.ItemDescription=H.ItemDescription,exports.ItemFooter=H.ItemFooter,exports.ItemGroup=H.ItemGroup,exports.ItemHeader=H.ItemHeader,exports.ItemMedia=H.ItemMedia,exports.ItemSeparator=H.ItemSeparator,exports.ItemTitle=H.ItemTitle,exports.Label=D.Label,exports.LoadingDialog=ve.LoadingDialog,exports.LoginPage=O.LoginPage,exports.Menubar=U.Menubar,exports.MenubarCheckboxItem=U.MenubarCheckboxItem,exports.MenubarContent=U.MenubarContent,exports.MenubarGroup=U.MenubarGroup,exports.MenubarItem=U.MenubarItem,exports.MenubarLabel=U.MenubarLabel,exports.MenubarMenu=U.MenubarMenu,exports.MenubarPortal=U.MenubarPortal,exports.MenubarRadioGroup=U.MenubarRadioGroup,exports.MenubarRadioItem=U.MenubarRadioItem,exports.MenubarSeparator=U.MenubarSeparator,exports.MenubarShortcut=U.MenubarShortcut,exports.MenubarSub=U.MenubarSub,exports.MenubarSubContent=U.MenubarSubContent,exports.MenubarSubTrigger=U.MenubarSubTrigger,exports.MenubarTrigger=U.MenubarTrigger,exports.MetricRadarChart=u.MetricRadarChart,exports.MirroredBarChart=u.MirroredBarChart,exports.MultipleSelector=W.MultipleSelector,exports.NameDisplay=ue.NameDisplay,exports.NavigationMenu=G.NavigationMenu,exports.NavigationMenuContent=G.NavigationMenuContent,exports.NavigationMenuIndicator=G.NavigationMenuIndicator,exports.NavigationMenuItem=G.NavigationMenuItem,exports.NavigationMenuLink=G.NavigationMenuLink,exports.NavigationMenuList=G.NavigationMenuList,exports.NavigationMenuTrigger=G.NavigationMenuTrigger,exports.NavigationMenuViewport=G.NavigationMenuViewport,exports.NotAuthorized=w.NotAuthorized,exports.NotFound=T.NotFound,exports.NumberField=g.m,exports.OrdersBarChart=u.OrdersBarChart,exports.Pagination=K.Pagination,exports.PaginationContent=K.PaginationContent,exports.PaginationEllipsis=K.PaginationEllipsis,exports.PaginationItem=K.PaginationItem,exports.PaginationLink=K.PaginationLink,exports.PaginationNext=K.PaginationNext,exports.PaginationPrevious=K.PaginationPrevious,exports.Paragraph=t.Paragraph,exports.PasswordField=g.h,exports.PaymentLayout=b.t,exports.PhoneNumberDisplay=de.PhoneNumberDisplay,exports.Popover=_.Popover,exports.PopoverAnchor=_.PopoverAnchor,exports.PopoverClose=_.PopoverClose,exports.PopoverContent=_.PopoverContent,exports.PopoverTrigger=_.PopoverTrigger,exports.PortfolioAllocationTreemap=u.PortfolioAllocationTreemap,exports.PriceRangeAreaChart=u.PriceRangeAreaChart,exports.ProductCard=re.ProductCard,exports.Progress=Fe.Progress,exports.RadioGroup=q.RadioGroup,exports.RadioGroupField=g.g,exports.RadioGroupItem=q.RadioGroupItem,exports.RefreshBtn=ke.RefreshBtn,exports.RegisterPage=k.RegisterPage,exports.ResizableHandle=h.ResizableHandle,exports.ResizablePanel=h.ResizablePanel,exports.ResizablePanelGroup=h.ResizablePanelGroup,exports.RevenueAreaChart=u.RevenueAreaChart,exports.RevenueOrdersComposedChart=u.RevenueOrdersComposedChart,exports.RoleBadge=fe.RoleBadge,exports.SalesTargetRadialChart=u.SalesTargetRadialChart,exports.SankeyFlowChart=u.SankeyFlowChart,exports.ScrollArea=J.ScrollArea,exports.ScrollBar=J.ScrollBar,exports.SearchInput=Me.SearchInput,exports.SearchModal=ye.t,exports.Select=Y.Select,exports.SelectContent=Y.SelectContent,exports.SelectField=g._,exports.SelectGroup=Y.SelectGroup,exports.SelectItem=Y.SelectItem,exports.SelectLabel=Y.SelectLabel,exports.SelectSeparator=Y.SelectSeparator,exports.SelectTrigger=Y.SelectTrigger,exports.SelectValue=Y.SelectValue,exports.Separator=Ce.Separator,exports.Sheet=y.Sheet,exports.SheetClose=y.SheetClose,exports.SheetContent=y.SheetContent,exports.SheetDescription=y.SheetDescription,exports.SheetFooter=y.SheetFooter,exports.SheetHeader=y.SheetHeader,exports.SheetTitle=y.SheetTitle,exports.SheetTrigger=y.SheetTrigger,exports.SimpleArrayField=g.v,exports.SimpleBooleanField=g.y,exports.SimpleCard=ie.SimpleCard,exports.SimpleComboboxField=g.b,exports.SimpleDateField=g.x,exports.SimpleEmailField=g.S,exports.SimpleNumberField=g.C,exports.SimplePasswordField=g.w,exports.SimpleRadioGroupField=g.T,exports.SimpleSelectField=g.E,exports.SimpleTextField=g.D,exports.SimpleTextareaField=g.O,exports.Skeleton=ee.Skeleton,exports.Slider=Le.Slider,exports.SparklineChart=u.SparklineChart,exports.Spinner=xe.Spinner,exports.StackedAreaChart=u.StackedAreaChart,exports.Statistic=o.Statistic,exports.Switch=ze.Switch,exports.SwitchField=g.k,exports.Table=X.Table,exports.TableBody=X.TableBody,exports.TableCaption=X.TableCaption,exports.TableCell=X.TableCell,exports.TableFooter=X.TableFooter,exports.TableHead=X.TableHead,exports.TableHeader=X.TableHeader,exports.TableRow=X.TableRow,exports.Tabs=Z.Tabs,exports.TabsContent=Z.TabsContent,exports.TabsList=Z.TabsList,exports.TabsTrigger=Z.TabsTrigger,exports.TanStackActionSubmit=g.A,exports.TanStackActionsForm=g.j,exports.TanStackCardForm=g.M,exports.TanStackContainerForm=g.N,exports.TanStackDialogForm=g.P,exports.TanStackFieldGroup=g.F,exports.TanStackPopoverForm=g.I,exports.TanStackSectionForm=g.L,exports.TanStackTitleField=g.R,exports.TextEditor=v.t,exports.TextEditorField=g.z,exports.TextEditorToolbar=v.n,exports.TextField=g.B,exports.Textarea=Be.Textarea,exports.TextareaField=g.V,exports.Title=ge.Title,exports.Toaster=Re.Toaster,exports.Toggle=Q.Toggle,exports.ToggleGroup=$.ToggleGroup,exports.ToggleGroupItem=$.ToggleGroupItem,exports.Tooltip=a.Tooltip,exports.TooltipContent=a.TooltipContent,exports.TooltipProvider=a.TooltipProvider,exports.TooltipTrigger=a.TooltipTrigger,exports.TopProductsBarChart=u.TopProductsBarChart,exports.TrashBtn=Ae.TrashBtn,exports.UITableAnalysisPanel=p.t,exports.UITableAvatarNameDisplay=p.n,exports.UITableBadgeDisplay=p.r,exports.UITableBody=p.K,exports.UITableBooleanDisplay=p.i,exports.UITableCell=p.G,exports.UITableCellActions=p.W,exports.UITableCellSelect=p.U,exports.UITableContainer=p.D,exports.UITableCurrencyDisplay=p.a,exports.UITableDateDisplay=p.o,exports.UITableDescriptionDisplay=p.s,exports.UITableEditButton=p.c,exports.UITableEmailDisplay=p.l,exports.UITableEmpty=p.Q,exports.UITableEmptyDisplay=p.H,exports.UITableFilter=p.u,exports.UITableFooter=p.V,exports.UITableFooterRow=p.R,exports.UITableHead=p.L,exports.UITableHeadCell=p.F,exports.UITableHeadCellOption=p.I,exports.UITableHeadCellSelect=p.P,exports.UITableHeadRow=p.N,exports.UITableInnerTable=p.M,exports.UITableInnerWrapper=p.j,exports.UITableListDisplay=p.d,exports.UITableLoadMore=p.A,exports.UITableMoreButton=p.f,exports.UITableNameDisplay=p.p,exports.UITablePermalink=p.m,exports.UITablePhoneNumberDisplay=p.h,exports.UITableProgressDisplay=p.g,exports.UITableProvider=p.E,exports.UITableRemoveButton=p._,exports.UITableRow=p.k,exports.UITableStatisticDisplay=p.v,exports.UITableStatusDisplay=p.y,exports.UITableSummaryBar=p.b,exports.UITableToggleButton=p.x,exports.UITableTooltip=p.S,exports.UITableTooltipActions=p.C,exports.UITableTooltipFilter=p.w,exports.UITableUserDataDisplay=p.T,exports.UITableWrapper=p.O,exports.UploadImageBtn=je.UploadImageBtn,exports.UserDataDisplay=pe.UserDataDisplay,exports.VerifyEmailPage=Te.VerifyEmailPage,exports.VolumeBarChart=u.VolumeBarChart,exports.WaterfallChart=u.WaterfallChart,exports.badgeVariants=i.badgeVariants,exports.buttonGroupVariants=M.buttonGroupVariants,exports.computeIndexedSeries=u.computeIndexedSeries,exports.formatCompactNumber=u.formatCompactNumber,exports.formatCurrency=u.formatCurrency,exports.formatPercent=u.formatPercent,exports.formatSignedPercent=u.formatSignedPercent,exports.getChartColor=u.getChartColor,exports.getDirectionColor=u.getDirectionColor,exports.navigationMenuTriggerStyle=G.navigationMenuTriggerStyle,exports.paragraphVariants=t.paragraphVariants,exports.toDateLabel=u.toDateLabel,exports.toast=Ve.toast,exports.toggleVariants=Q.toggleVariants,exports.useChart=F.useChart,exports.useDebounce=W.useDebounce,exports.useFormField=B.useFormField,exports.useTanStackFieldContext=g.G,exports.useTanStackForm=g.H,exports.useTanStackFormContext=g.K,exports.withTanStackFieldGroup=g.U,exports.withTanStackForm=g.W;
|