@alkimi.org/ui-kit 0.13.2 → 0.13.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/dist/COMPONENTS.md +1 -1
  2. package/dist/chunk-24EJLBGD.js.map +1 -1
  3. package/dist/chunk-372VUZFE.js.map +1 -1
  4. package/dist/chunk-3BVMHDYA.js.map +1 -1
  5. package/dist/chunk-3DUPSGEY.js.map +1 -1
  6. package/dist/chunk-3N5K4X23.js.map +1 -1
  7. package/dist/chunk-3PEPOFYU.js.map +1 -1
  8. package/dist/chunk-5L5DM2X5.js.map +1 -1
  9. package/dist/chunk-5X26XR44.js.map +1 -1
  10. package/dist/chunk-73MWZSJI.js.map +1 -1
  11. package/dist/chunk-7SOZ6MOV.js.map +1 -1
  12. package/dist/chunk-ALSJLUSL.js.map +1 -1
  13. package/dist/chunk-C4GUY2JQ.js.map +1 -1
  14. package/dist/chunk-CT2CRYC2.js.map +1 -1
  15. package/dist/{chunk-QOEM7ZRV.mjs → chunk-CXU655N7.mjs} +2 -2
  16. package/dist/chunk-DEWWZMYC.js.map +1 -1
  17. package/dist/chunk-EBNJXPHG.js.map +1 -1
  18. package/dist/chunk-EIM5R7AJ.js.map +1 -1
  19. package/dist/chunk-ETE5IUMO.js.map +1 -1
  20. package/dist/chunk-FUYXCJOQ.js.map +1 -1
  21. package/dist/{chunk-4DRIPZWE.mjs → chunk-GI7CX63V.mjs} +2 -2
  22. package/dist/chunk-I5INE4KG.js.map +1 -1
  23. package/dist/chunk-IJRJBDSO.js.map +1 -1
  24. package/dist/chunk-IJVB2BVO.js.map +1 -1
  25. package/dist/{chunk-53P3PXF7.js → chunk-JFGDGMTA.js} +2 -2
  26. package/dist/chunk-JFGDGMTA.js.map +1 -0
  27. package/dist/chunk-JOEQLSHD.js.map +1 -1
  28. package/dist/chunk-NCBOTFZQ.js.map +1 -1
  29. package/dist/{chunk-RUEPYIWM.mjs → chunk-O5KQEJGL.mjs} +2 -2
  30. package/dist/{chunk-RUEPYIWM.mjs.map → chunk-O5KQEJGL.mjs.map} +1 -1
  31. package/dist/chunk-PLQY2UFN.mjs +3 -0
  32. package/dist/chunk-PLQY2UFN.mjs.map +1 -0
  33. package/dist/chunk-RJMIOBXZ.js.map +1 -1
  34. package/dist/chunk-RRAIGAHU.js.map +1 -1
  35. package/dist/{chunk-SPGHRCUD.js → chunk-S6HVCOPV.js} +2 -2
  36. package/dist/chunk-S6HVCOPV.js.map +1 -0
  37. package/dist/chunk-TDMRUCR6.js.map +1 -1
  38. package/dist/chunk-UJZP6L4S.js.map +1 -1
  39. package/dist/chunk-ULIOO55I.js.map +1 -1
  40. package/dist/chunk-UNR6ATUH.js.map +1 -1
  41. package/dist/chunk-WFD523CV.js.map +1 -1
  42. package/dist/chunk-WKRZIVSX.js.map +1 -1
  43. package/dist/chunk-WN6ZMWXU.js +3 -0
  44. package/dist/chunk-WN6ZMWXU.js.map +1 -0
  45. package/dist/chunk-WYRD4UAK.js.map +1 -1
  46. package/dist/chunk-XUVA7BXG.js.map +1 -1
  47. package/dist/chunk-XVF3OJWZ.js.map +1 -1
  48. package/dist/chunk-XYO4VLMF.js.map +1 -1
  49. package/dist/chunk-YE7OOLWB.js.map +1 -1
  50. package/dist/{chunk-UW73WIQU.js → chunk-Z56XUN4K.js} +2 -2
  51. package/dist/chunk-Z56XUN4K.js.map +1 -0
  52. package/dist/chunk-Z5V4P3EC.js.map +1 -1
  53. package/dist/components/GeometricFluidGrid.js.map +1 -1
  54. package/dist/components/GlitchLink.d.mts +2 -0
  55. package/dist/components/GlitchLink.d.ts +2 -0
  56. package/dist/components/GlitchLink.js +1 -1
  57. package/dist/components/GlitchLink.js.map +1 -1
  58. package/dist/components/GlitchLink.mjs +1 -1
  59. package/dist/components/PixelLoad.js.map +1 -1
  60. package/dist/components/TextDecoder.js.map +1 -1
  61. package/dist/components/accordion.js.map +1 -1
  62. package/dist/components/avatar.js.map +1 -1
  63. package/dist/components/breadcrumb.js.map +1 -1
  64. package/dist/components/button.d.mts +1 -1
  65. package/dist/components/button.d.ts +1 -1
  66. package/dist/components/button.js.map +1 -1
  67. package/dist/components/calendar.js.map +1 -1
  68. package/dist/components/card.js.map +1 -1
  69. package/dist/components/checkbox.js.map +1 -1
  70. package/dist/components/combobox.js +1 -1
  71. package/dist/components/combobox.js.map +1 -1
  72. package/dist/components/combobox.mjs +1 -1
  73. package/dist/components/command.js +1 -1
  74. package/dist/components/command.js.map +1 -1
  75. package/dist/components/command.mjs +1 -1
  76. package/dist/components/date-picker.js.map +1 -1
  77. package/dist/components/date-range-picker.js.map +1 -1
  78. package/dist/components/dialog.js +1 -1
  79. package/dist/components/dialog.js.map +1 -1
  80. package/dist/components/dialog.mjs +1 -1
  81. package/dist/components/drawer.js.map +1 -1
  82. package/dist/components/dropdown-menu.js.map +1 -1
  83. package/dist/components/field.js.map +1 -1
  84. package/dist/components/file-upload.js.map +1 -1
  85. package/dist/components/input.js.map +1 -1
  86. package/dist/components/label.js.map +1 -1
  87. package/dist/components/popover.js.map +1 -1
  88. package/dist/components/progress.js.map +1 -1
  89. package/dist/components/radio-group.js.map +1 -1
  90. package/dist/components/scroll-area.js.map +1 -1
  91. package/dist/components/separator.js.map +1 -1
  92. package/dist/components/sheet.js.map +1 -1
  93. package/dist/components/sidebar.js.map +1 -1
  94. package/dist/components/skeleton.js.map +1 -1
  95. package/dist/components/slider.js.map +1 -1
  96. package/dist/components/switch.js.map +1 -1
  97. package/dist/components/table.js.map +1 -1
  98. package/dist/components/tabs.js.map +1 -1
  99. package/dist/components/textarea.js.map +1 -1
  100. package/dist/components/toast.js.map +1 -1
  101. package/dist/components/tooltip.js.map +1 -1
  102. package/dist/components/tree-select.js.map +1 -1
  103. package/dist/index.css +1 -1
  104. package/dist/index.css.map +1 -1
  105. package/dist/index.js +1 -1
  106. package/dist/index.js.map +1 -1
  107. package/dist/index.mjs +1 -1
  108. package/dist/styles.css +1 -1
  109. package/dist/styles.css.map +1 -1
  110. package/package.json +1 -1
  111. package/dist/chunk-53P3PXF7.js.map +0 -1
  112. package/dist/chunk-AEZ5XKKG.mjs +0 -3
  113. package/dist/chunk-AEZ5XKKG.mjs.map +0 -1
  114. package/dist/chunk-EJTY2ABY.js +0 -3
  115. package/dist/chunk-EJTY2ABY.js.map +0 -1
  116. package/dist/chunk-SPGHRCUD.js.map +0 -1
  117. package/dist/chunk-UW73WIQU.js.map +0 -1
  118. /package/dist/{chunk-QOEM7ZRV.mjs.map → chunk-CXU655N7.mjs.map} +0 -0
  119. /package/dist/{chunk-4DRIPZWE.mjs.map → chunk-GI7CX63V.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/chunk-YE7OOLWB.js","../src/components/tree-select.tsx"],"names":["getAllDescendantValues","node","values","child","getCheckState","selectedSet","descendants","selectedCount","v","filterTree","nodes","searchTerm","term","result","labelMatches","filteredChildren","getValuesOfMatchingNodes","walk","nodeList","hasMatch","childHasMatch","findNodeByValue","value","found","collectAllBranchValues","renderHighlightedLabel","label","index","jsxs","Fragment","jsx","TreeNodeItem","depth","multiple","expandedValues","focusedValue","onToggleExpand","onSelect","onFocus","hasChildren","isExpanded","checkState","indentPx","cn"],"mappings":"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","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/chunk-YE7OOLWB.js","sourcesContent":[null,"\"use client\"\n\nimport * as React from \"react\"\nimport { Check, ChevronDown, ChevronRight, Search, X } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Checkbox } from \"@/components/checkbox\"\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/popover\"\n\n// --- Public types ---\n\nexport interface TreeSelectNode {\n value: string\n label: string\n children?: TreeSelectNode[]\n}\n\nexport interface TreeSelectProps {\n nodes: TreeSelectNode[]\n value?: string\n onValueChange?: (value: string) => void\n multiple?: boolean\n values?: string[]\n onValuesChange?: (values: string[]) => void\n placeholder?: string\n searchPlaceholder?: string\n emptyMessage?: string\n disabled?: boolean\n className?: string\n error?: boolean\n defaultExpandedValues?: string[]\n expandAll?: boolean\n}\n\n// --- Internal types ---\n\ntype CheckState = \"checked\" | \"indeterminate\" | \"unchecked\"\n\n// --- Utility functions ---\n\nfunction getAllDescendantValues(node: TreeSelectNode): string[] {\n const values: string[] = [node.value]\n if (node.children) {\n for (const child of node.children) {\n values.push(...getAllDescendantValues(child))\n }\n }\n return values\n}\n\nfunction getCheckState(\n node: TreeSelectNode,\n selectedSet: Set<string>\n): CheckState {\n if (!node.children || node.children.length === 0) {\n return selectedSet.has(node.value) ? \"checked\" : \"unchecked\"\n }\n\n const descendants = getAllDescendantValues(node)\n const selectedCount = descendants.filter((v) => selectedSet.has(v)).length\n\n if (selectedCount === 0) return \"unchecked\"\n if (selectedCount === descendants.length) return \"checked\"\n return \"indeterminate\"\n}\n\nfunction filterTree(\n nodes: TreeSelectNode[],\n searchTerm: string\n): TreeSelectNode[] | null {\n const term = searchTerm.toLowerCase().trim()\n if (!term) return nodes\n\n const result: TreeSelectNode[] = []\n\n for (const node of nodes) {\n const labelMatches = node.label.toLowerCase().includes(term)\n\n if (node.children && node.children.length > 0) {\n const filteredChildren = filterTree(node.children, searchTerm)\n\n if (labelMatches) {\n result.push(node)\n } else if (filteredChildren && filteredChildren.length > 0) {\n result.push({ ...node, children: filteredChildren })\n }\n } else if (labelMatches) {\n result.push(node)\n }\n }\n\n return result.length > 0 ? result : null\n}\n\nfunction getValuesOfMatchingNodes(\n nodes: TreeSelectNode[],\n searchTerm: string\n): Set<string> {\n const term = searchTerm.toLowerCase().trim()\n const result = new Set<string>()\n\n function walk(nodeList: TreeSelectNode[]): boolean {\n let hasMatch = false\n for (const node of nodeList) {\n const labelMatches = node.label.toLowerCase().includes(term)\n let childHasMatch = false\n\n if (node.children) {\n childHasMatch = walk(node.children)\n }\n\n if (labelMatches || childHasMatch) {\n result.add(node.value)\n hasMatch = true\n }\n }\n return hasMatch\n }\n\n walk(nodes)\n return result\n}\n\nfunction findNodeByValue(\n nodes: TreeSelectNode[],\n value: string\n): TreeSelectNode | undefined {\n for (const node of nodes) {\n if (node.value === value) return node\n if (node.children) {\n const found = findNodeByValue(node.children, value)\n if (found) return found\n }\n }\n return undefined\n}\n\nfunction collectAllBranchValues(nodes: TreeSelectNode[]): Set<string> {\n const result = new Set<string>()\n for (const node of nodes) {\n if (node.children && node.children.length > 0) {\n result.add(node.value)\n for (const v of collectAllBranchValues(node.children)) {\n result.add(v)\n }\n }\n }\n return result\n}\n\nfunction renderHighlightedLabel(\n label: string,\n searchTerm: string\n): React.ReactNode {\n if (!searchTerm) return label\n\n const term = searchTerm.toLowerCase().trim()\n if (!term) return label\n\n const index = label.toLowerCase().indexOf(term)\n if (index === -1) return label\n\n return (\n <>\n {label.slice(0, index)}\n <span className=\"font-semibold underline\">\n {label.slice(index, index + term.length)}\n </span>\n {label.slice(index + term.length)}\n </>\n )\n}\n\n// --- TreeNodeItem (internal) ---\n\ninterface TreeNodeItemProps {\n node: TreeSelectNode\n depth: number\n multiple: boolean\n selectedSet: Set<string>\n expandedValues: Set<string>\n focusedValue: string | null\n onToggleExpand: (value: string) => void\n onSelect: (node: TreeSelectNode) => void\n onFocus: (value: string) => void\n searchTerm: string\n}\n\nfunction TreeNodeItem({\n node,\n depth,\n multiple,\n selectedSet,\n expandedValues,\n focusedValue,\n onToggleExpand,\n onSelect,\n onFocus,\n searchTerm,\n}: TreeNodeItemProps) {\n const hasChildren = node.children && node.children.length > 0\n const isExpanded = expandedValues.has(node.value)\n const checkState = multiple\n ? getCheckState(node, selectedSet)\n : selectedSet.has(node.value)\n ? \"checked\"\n : \"unchecked\"\n\n const indentPx = depth * 20\n\n return (\n <div\n role=\"treeitem\"\n aria-expanded={hasChildren ? isExpanded : undefined}\n aria-selected={checkState === \"checked\"}\n >\n <div\n className={cn(\n \"relative flex items-center gap-2 rounded-sm px-2 py-1.5 my-0.5 text-sm cursor-pointer select-none outline-none active:opacity-50\",\n \"hover:bg-muted\",\n checkState === \"checked\" && !multiple && \"bg-muted\"\n // This adds a focus ring when the node is focused, but it's not needed for the tree-select component.\n // focusedValue === node.value && \"z-10 ring-2 ring-ring\"\n )}\n style={{ paddingLeft: `${8 + indentPx}px` }}\n onClick={() => onSelect(node)}\n onFocus={() => onFocus(node.value)}\n data-tree-value={node.value}\n tabIndex={focusedValue === node.value ? 0 : -1}\n >\n {hasChildren ? (\n <button\n type=\"button\"\n className=\"h-4 w-4 shrink-0 flex items-center justify-center rounded-sm hover:bg-secondary active:opacity-50\"\n onClick={(e) => {\n e.stopPropagation()\n onToggleExpand(node.value)\n }}\n aria-label={\n isExpanded ? `Collapse ${node.label}` : `Expand ${node.label}`\n }\n tabIndex={-1}\n >\n {isExpanded ? (\n <ChevronDown className=\"h-3.5 w-3.5\" />\n ) : (\n <ChevronRight className=\"h-3.5 w-3.5\" />\n )}\n </button>\n ) : (\n <span className=\"h-4 w-4 shrink-0\" />\n )}\n\n {multiple ? (\n <Checkbox\n checked={\n checkState === \"checked\"\n ? true\n : checkState === \"indeterminate\"\n ? \"indeterminate\"\n : false\n }\n onCheckedChange={() => onSelect(node)}\n onClick={(e) => e.stopPropagation()}\n className=\"shrink-0\"\n aria-label={node.label}\n />\n ) : (\n <Check\n className={cn(\n \"h-4 w-4 shrink-0\",\n checkState === \"checked\" ? \"opacity-100\" : \"opacity-0\"\n )}\n />\n )}\n\n <span className=\"truncate\">\n {renderHighlightedLabel(node.label, searchTerm)}\n </span>\n </div>\n\n {hasChildren && isExpanded && (\n <div role=\"group\">\n {node.children!.map((child) => (\n <TreeNodeItem\n key={child.value}\n node={child}\n depth={depth + 1}\n multiple={multiple}\n selectedSet={selectedSet}\n expandedValues={expandedValues}\n focusedValue={focusedValue}\n onToggleExpand={onToggleExpand}\n onSelect={onSelect}\n onFocus={onFocus}\n searchTerm={searchTerm}\n />\n ))}\n </div>\n )}\n </div>\n )\n}\n\n// --- TreeSelect (main component) ---\n\nexport function TreeSelect({\n nodes,\n value,\n onValueChange,\n multiple = false,\n values = [],\n onValuesChange,\n placeholder = \"Select...\",\n searchPlaceholder = \"Search...\",\n emptyMessage = \"No results found.\",\n disabled = false,\n className,\n error = false,\n defaultExpandedValues,\n expandAll = false,\n}: TreeSelectProps) {\n const [open, setOpen] = React.useState(false)\n const [searchTerm, setSearchTerm] = React.useState(\"\")\n const [focusedValue, setFocusedValue] = React.useState<string | null>(null)\n const [expandedValues, setExpandedValues] = React.useState<Set<string>>(\n () => {\n if (expandAll) return collectAllBranchValues(nodes)\n if (defaultExpandedValues) return new Set(defaultExpandedValues)\n return new Set<string>()\n }\n )\n\n const preSearchExpandedRef = React.useRef<Set<string> | null>(null)\n const treeRef = React.useRef<HTMLDivElement>(null)\n\n const selectedSet = React.useMemo(\n () => new Set(multiple ? values : value ? [value] : []),\n [multiple, values, value]\n )\n\n const filteredNodes = React.useMemo(\n () => (searchTerm ? filterTree(nodes, searchTerm) : nodes),\n [nodes, searchTerm]\n )\n\n // Auto-expand matching ancestors during search\n React.useEffect(() => {\n if (searchTerm) {\n if (!preSearchExpandedRef.current) {\n preSearchExpandedRef.current = new Set(expandedValues)\n }\n const matchingAncestors = getValuesOfMatchingNodes(nodes, searchTerm)\n setExpandedValues(matchingAncestors)\n } else if (preSearchExpandedRef.current) {\n setExpandedValues(preSearchExpandedRef.current)\n preSearchExpandedRef.current = null\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [searchTerm, nodes])\n\n const handleOpenChange = React.useCallback((isOpen: boolean) => {\n setOpen(isOpen)\n if (!isOpen) {\n setSearchTerm(\"\")\n setFocusedValue(null)\n }\n }, [])\n\n const handleToggleExpand = React.useCallback((nodeValue: string) => {\n setExpandedValues((prev) => {\n const next = new Set(prev)\n if (next.has(nodeValue)) {\n next.delete(nodeValue)\n } else {\n next.add(nodeValue)\n }\n return next\n })\n }, [])\n\n const handleSelect = React.useCallback(\n (node: TreeSelectNode) => {\n if (multiple) {\n const allDescendants = getAllDescendantValues(node)\n const currentState = getCheckState(node, selectedSet)\n\n let newValues: string[]\n if (currentState === \"checked\") {\n const toRemove = new Set(allDescendants)\n newValues = values.filter((v) => !toRemove.has(v))\n } else {\n const toAdd = allDescendants.filter((v) => !selectedSet.has(v))\n newValues = [...values, ...toAdd]\n }\n onValuesChange?.(newValues)\n } else {\n // Single-select: clicking a parent toggles expand instead of selecting\n const hasChildren = node.children && node.children.length > 0\n if (hasChildren) {\n handleToggleExpand(node.value)\n return\n }\n const newValue = node.value === value ? \"\" : node.value\n onValueChange?.(newValue)\n setOpen(false)\n }\n },\n [\n multiple,\n values,\n value,\n selectedSet,\n onValuesChange,\n onValueChange,\n handleToggleExpand,\n ]\n )\n\n const handleRemoveChip = React.useCallback(\n (chipValue: string, e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n const node = findNodeByValue(nodes, chipValue)\n if (node) {\n const toRemove = new Set(getAllDescendantValues(node))\n const newValues = values.filter((v) => !toRemove.has(v))\n onValuesChange?.(newValues)\n }\n },\n [nodes, values, onValuesChange]\n )\n\n // Smart chips: minimal set representing the selection\n const chipValues = React.useMemo(() => {\n if (!multiple) return []\n\n const chips: string[] = []\n\n function walk(nodeList: TreeSelectNode[]) {\n for (const node of nodeList) {\n const state = getCheckState(node, selectedSet)\n if (state === \"checked\") {\n chips.push(node.value)\n } else if (state === \"indeterminate\" && node.children) {\n walk(node.children)\n }\n }\n }\n\n walk(nodes)\n return chips\n }, [nodes, selectedSet, multiple])\n\n // Keyboard navigation\n const getVisibleNodes = React.useCallback((): HTMLElement[] => {\n if (!treeRef.current) return []\n return Array.from(treeRef.current.querySelectorAll(\"[data-tree-value]\"))\n }, [])\n\n const handleTreeKeyDown = React.useCallback(\n (e: React.KeyboardEvent) => {\n const visibleNodes = getVisibleNodes()\n const currentIndex = visibleNodes.findIndex(\n (el) => el.dataset.treeValue === focusedValue\n )\n\n switch (e.key) {\n case \"ArrowDown\": {\n e.preventDefault()\n const nextIndex = Math.min(currentIndex + 1, visibleNodes.length - 1)\n const nextValue = visibleNodes[nextIndex]?.dataset.treeValue\n if (nextValue) {\n setFocusedValue(nextValue)\n visibleNodes[nextIndex]?.focus()\n }\n break\n }\n case \"ArrowUp\": {\n e.preventDefault()\n const prevIndex = Math.max(currentIndex - 1, 0)\n const prevValue = visibleNodes[prevIndex]?.dataset.treeValue\n if (prevValue) {\n setFocusedValue(prevValue)\n visibleNodes[prevIndex]?.focus()\n }\n break\n }\n case \"ArrowRight\": {\n e.preventDefault()\n if (focusedValue) {\n const node = findNodeByValue(nodes, focusedValue)\n if (node?.children?.length) {\n if (!expandedValues.has(focusedValue)) {\n handleToggleExpand(focusedValue)\n } else {\n const firstChildValue = node.children[0].value\n setFocusedValue(firstChildValue)\n requestAnimationFrame(() => {\n const els = getVisibleNodes()\n const el = els.find(\n (n) => n.dataset.treeValue === firstChildValue\n )\n el?.focus()\n })\n }\n }\n }\n break\n }\n case \"ArrowLeft\": {\n e.preventDefault()\n if (focusedValue && expandedValues.has(focusedValue)) {\n handleToggleExpand(focusedValue)\n }\n break\n }\n case \"Enter\":\n case \" \": {\n e.preventDefault()\n if (focusedValue) {\n const node = findNodeByValue(nodes, focusedValue)\n if (node) handleSelect(node)\n }\n break\n }\n case \"Home\": {\n e.preventDefault()\n const firstValue = visibleNodes[0]?.dataset.treeValue\n if (firstValue) {\n setFocusedValue(firstValue)\n visibleNodes[0]?.focus()\n }\n break\n }\n case \"End\": {\n e.preventDefault()\n const lastValue =\n visibleNodes[visibleNodes.length - 1]?.dataset.treeValue\n if (lastValue) {\n setFocusedValue(lastValue)\n visibleNodes[visibleNodes.length - 1]?.focus()\n }\n break\n }\n }\n },\n [\n focusedValue,\n nodes,\n expandedValues,\n getVisibleNodes,\n handleToggleExpand,\n handleSelect,\n ]\n )\n\n const getDisplayText = () => {\n if (multiple) {\n if (values.length === 0) return placeholder\n if (values.length === 1) {\n const node = findNodeByValue(nodes, values[0])\n return node?.label ?? values[0]\n }\n return `${values.length} selected`\n }\n if (value) {\n const node = findNodeByValue(nodes, value)\n return node?.label ?? value\n }\n return placeholder\n }\n\n const renderSelectedChips = () => {\n if (!multiple || chipValues.length === 0) return null\n\n const chipNodes = chipValues\n .map((v) => findNodeByValue(nodes, v))\n .filter(Boolean) as TreeSelectNode[]\n\n return (\n <div className=\"max-h-[100px] overflow-y-auto px-2 py-1.5 border-b border-border\">\n <div className=\"flex flex-wrap gap-1\">\n {chipNodes.map((node) => (\n <div\n key={node.value}\n className=\"inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs\"\n >\n <span className=\"truncate max-w-[120px]\">{node.label}</span>\n <X\n className=\"h-3 w-3 cursor-pointer shrink-0\"\n onClick={(e) => handleRemoveChip(node.value, e)}\n aria-label={`Remove ${node.label}`}\n />\n </div>\n ))}\n </div>\n </div>\n )\n }\n\n return (\n <Popover open={open} onOpenChange={handleOpenChange}>\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n role=\"combobox\"\n aria-expanded={open}\n aria-haspopup=\"tree\"\n disabled={disabled}\n className={cn(\n \"cursor-pointer flex my-2 h-8 lg:h-9 w-full items-center justify-between rounded-3xl border border-border bg-background hover:bg-secondary px-4 py-2 text-sm text-primary-accent ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 active:opacity-50 disabled:cursor-not-allowed disabled:opacity-50\",\n !value && !values.length && \"text-secondary-text\",\n error &&\n \"border-destructive-foreground focus-visible:ring-destructive-foreground\",\n className\n )}\n >\n <span className=\"truncate\">{getDisplayText()}</span>\n <ChevronDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n </button>\n </PopoverTrigger>\n <PopoverContent\n className=\"p-0\"\n align=\"start\"\n style={{ width: \"var(--radix-popover-trigger-width)\" }}\n >\n <div className=\"flex items-center border-b px-3\">\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n <input\n value={searchTerm}\n onChange={(e) => setSearchTerm(e.target.value)}\n placeholder={searchPlaceholder}\n className=\"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\"\n aria-label=\"Search tree\"\n />\n </div>\n\n {renderSelectedChips()}\n\n <div className=\"max-h-[300px] overflow-y-auto\">\n {filteredNodes && filteredNodes.length > 0 ? (\n <div\n ref={treeRef}\n role=\"tree\"\n aria-label=\"Options\"\n className=\"p-1\"\n onKeyDown={handleTreeKeyDown}\n >\n {filteredNodes.map((node) => (\n <TreeNodeItem\n key={node.value}\n node={node}\n depth={0}\n multiple={multiple}\n selectedSet={selectedSet}\n expandedValues={expandedValues}\n focusedValue={focusedValue}\n onToggleExpand={handleToggleExpand}\n onSelect={handleSelect}\n onFocus={setFocusedValue}\n searchTerm={searchTerm}\n />\n ))}\n </div>\n ) : (\n <div className=\"py-6 text-center text-sm text-muted-foreground\">\n {emptyMessage}\n </div>\n )}\n </div>\n </PopoverContent>\n </Popover>\n )\n}\n"]}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/chunk-YE7OOLWB.js","../src/components/tree-select.tsx"],"names":["getAllDescendantValues","node","values","child","getCheckState","selectedSet","descendants","selectedCount","v","filterTree","nodes","searchTerm","term","result","labelMatches","filteredChildren","getValuesOfMatchingNodes","walk","nodeList","hasMatch","childHasMatch","findNodeByValue","value","found","collectAllBranchValues","renderHighlightedLabel","label","index","jsxs","Fragment","jsx","TreeNodeItem","depth","multiple","expandedValues","focusedValue","onToggleExpand","onSelect","onFocus","hasChildren","isExpanded","checkState","indentPx","cn"],"mappings":"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","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/chunk-YE7OOLWB.js","sourcesContent":[null,"\"use client\"\n\nimport * as React from \"react\"\nimport { Check, ChevronDown, ChevronRight, Search, X } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Checkbox } from \"@/components/checkbox\"\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/popover\"\n\n// --- Public types ---\n\nexport interface TreeSelectNode {\n value: string\n label: string\n children?: TreeSelectNode[]\n}\n\nexport interface TreeSelectProps {\n nodes: TreeSelectNode[]\n value?: string\n onValueChange?: (value: string) => void\n multiple?: boolean\n values?: string[]\n onValuesChange?: (values: string[]) => void\n placeholder?: string\n searchPlaceholder?: string\n emptyMessage?: string\n disabled?: boolean\n className?: string\n error?: boolean\n defaultExpandedValues?: string[]\n expandAll?: boolean\n}\n\n// --- Internal types ---\n\ntype CheckState = \"checked\" | \"indeterminate\" | \"unchecked\"\n\n// --- Utility functions ---\n\nfunction getAllDescendantValues(node: TreeSelectNode): string[] {\n const values: string[] = [node.value]\n if (node.children) {\n for (const child of node.children) {\n values.push(...getAllDescendantValues(child))\n }\n }\n return values\n}\n\nfunction getCheckState(\n node: TreeSelectNode,\n selectedSet: Set<string>\n): CheckState {\n if (!node.children || node.children.length === 0) {\n return selectedSet.has(node.value) ? \"checked\" : \"unchecked\"\n }\n\n const descendants = getAllDescendantValues(node)\n const selectedCount = descendants.filter((v) => selectedSet.has(v)).length\n\n if (selectedCount === 0) return \"unchecked\"\n if (selectedCount === descendants.length) return \"checked\"\n return \"indeterminate\"\n}\n\nfunction filterTree(\n nodes: TreeSelectNode[],\n searchTerm: string\n): TreeSelectNode[] | null {\n const term = searchTerm.toLowerCase().trim()\n if (!term) return nodes\n\n const result: TreeSelectNode[] = []\n\n for (const node of nodes) {\n const labelMatches = node.label.toLowerCase().includes(term)\n\n if (node.children && node.children.length > 0) {\n const filteredChildren = filterTree(node.children, searchTerm)\n\n if (labelMatches) {\n result.push(node)\n } else if (filteredChildren && filteredChildren.length > 0) {\n result.push({ ...node, children: filteredChildren })\n }\n } else if (labelMatches) {\n result.push(node)\n }\n }\n\n return result.length > 0 ? result : null\n}\n\nfunction getValuesOfMatchingNodes(\n nodes: TreeSelectNode[],\n searchTerm: string\n): Set<string> {\n const term = searchTerm.toLowerCase().trim()\n const result = new Set<string>()\n\n function walk(nodeList: TreeSelectNode[]): boolean {\n let hasMatch = false\n for (const node of nodeList) {\n const labelMatches = node.label.toLowerCase().includes(term)\n let childHasMatch = false\n\n if (node.children) {\n childHasMatch = walk(node.children)\n }\n\n if (labelMatches || childHasMatch) {\n result.add(node.value)\n hasMatch = true\n }\n }\n return hasMatch\n }\n\n walk(nodes)\n return result\n}\n\nfunction findNodeByValue(\n nodes: TreeSelectNode[],\n value: string\n): TreeSelectNode | undefined {\n for (const node of nodes) {\n if (node.value === value) return node\n if (node.children) {\n const found = findNodeByValue(node.children, value)\n if (found) return found\n }\n }\n return undefined\n}\n\nfunction collectAllBranchValues(nodes: TreeSelectNode[]): Set<string> {\n const result = new Set<string>()\n for (const node of nodes) {\n if (node.children && node.children.length > 0) {\n result.add(node.value)\n for (const v of collectAllBranchValues(node.children)) {\n result.add(v)\n }\n }\n }\n return result\n}\n\nfunction renderHighlightedLabel(\n label: string,\n searchTerm: string\n): React.ReactNode {\n if (!searchTerm) return label\n\n const term = searchTerm.toLowerCase().trim()\n if (!term) return label\n\n const index = label.toLowerCase().indexOf(term)\n if (index === -1) return label\n\n return (\n <>\n {label.slice(0, index)}\n <span className=\"font-semibold underline\">\n {label.slice(index, index + term.length)}\n </span>\n {label.slice(index + term.length)}\n </>\n )\n}\n\n// --- TreeNodeItem (internal) ---\n\ninterface TreeNodeItemProps {\n node: TreeSelectNode\n depth: number\n multiple: boolean\n selectedSet: Set<string>\n expandedValues: Set<string>\n focusedValue: string | null\n onToggleExpand: (value: string) => void\n onSelect: (node: TreeSelectNode) => void\n onFocus: (value: string) => void\n searchTerm: string\n}\n\nfunction TreeNodeItem({\n node,\n depth,\n multiple,\n selectedSet,\n expandedValues,\n focusedValue,\n onToggleExpand,\n onSelect,\n onFocus,\n searchTerm,\n}: TreeNodeItemProps) {\n const hasChildren = node.children && node.children.length > 0\n const isExpanded = expandedValues.has(node.value)\n const checkState = multiple\n ? getCheckState(node, selectedSet)\n : selectedSet.has(node.value)\n ? \"checked\"\n : \"unchecked\"\n\n const indentPx = depth * 20\n\n return (\n <div\n role=\"treeitem\"\n aria-expanded={hasChildren ? isExpanded : undefined}\n aria-selected={checkState === \"checked\"}\n >\n <div\n className={cn(\n \"relative flex items-center gap-2 rounded-sm px-2 py-1.5 my-0.5 text-sm cursor-pointer select-none outline-none active:opacity-50\",\n \"hover:bg-muted\",\n checkState === \"checked\" && !multiple && \"bg-muted\"\n // This adds a focus ring when the node is focused, but it's not needed for the tree-select component.\n // focusedValue === node.value && \"z-10 ring-2 ring-ring\"\n )}\n style={{ paddingLeft: `${8 + indentPx}px` }}\n onClick={() => onSelect(node)}\n onFocus={() => onFocus(node.value)}\n data-tree-value={node.value}\n tabIndex={focusedValue === node.value ? 0 : -1}\n >\n {hasChildren ? (\n <button\n type=\"button\"\n className=\"h-4 w-4 shrink-0 flex items-center justify-center rounded-sm hover:bg-secondary active:opacity-50\"\n onClick={(e) => {\n e.stopPropagation()\n onToggleExpand(node.value)\n }}\n aria-label={\n isExpanded ? `Collapse ${node.label}` : `Expand ${node.label}`\n }\n tabIndex={-1}\n >\n {isExpanded ? (\n <ChevronDown className=\"h-3.5 w-3.5\" />\n ) : (\n <ChevronRight className=\"h-3.5 w-3.5\" />\n )}\n </button>\n ) : (\n <span className=\"h-4 w-4 shrink-0\" />\n )}\n\n {multiple ? (\n <Checkbox\n checked={\n checkState === \"checked\"\n ? true\n : checkState === \"indeterminate\"\n ? \"indeterminate\"\n : false\n }\n onCheckedChange={() => onSelect(node)}\n onClick={(e) => e.stopPropagation()}\n className=\"shrink-0\"\n aria-label={node.label}\n />\n ) : (\n <Check\n className={cn(\n \"h-4 w-4 shrink-0\",\n checkState === \"checked\" ? \"opacity-100\" : \"opacity-0\"\n )}\n />\n )}\n\n <span className=\"truncate\">\n {renderHighlightedLabel(node.label, searchTerm)}\n </span>\n </div>\n\n {hasChildren && isExpanded && (\n <div role=\"group\">\n {node.children!.map((child) => (\n <TreeNodeItem\n key={child.value}\n node={child}\n depth={depth + 1}\n multiple={multiple}\n selectedSet={selectedSet}\n expandedValues={expandedValues}\n focusedValue={focusedValue}\n onToggleExpand={onToggleExpand}\n onSelect={onSelect}\n onFocus={onFocus}\n searchTerm={searchTerm}\n />\n ))}\n </div>\n )}\n </div>\n )\n}\n\n// --- TreeSelect (main component) ---\n\nexport function TreeSelect({\n nodes,\n value,\n onValueChange,\n multiple = false,\n values = [],\n onValuesChange,\n placeholder = \"Select...\",\n searchPlaceholder = \"Search...\",\n emptyMessage = \"No results found.\",\n disabled = false,\n className,\n error = false,\n defaultExpandedValues,\n expandAll = false,\n}: TreeSelectProps) {\n const [open, setOpen] = React.useState(false)\n const [searchTerm, setSearchTerm] = React.useState(\"\")\n const [focusedValue, setFocusedValue] = React.useState<string | null>(null)\n const [expandedValues, setExpandedValues] = React.useState<Set<string>>(\n () => {\n if (expandAll) return collectAllBranchValues(nodes)\n if (defaultExpandedValues) return new Set(defaultExpandedValues)\n return new Set<string>()\n }\n )\n\n const preSearchExpandedRef = React.useRef<Set<string> | null>(null)\n const treeRef = React.useRef<HTMLDivElement>(null)\n\n const selectedSet = React.useMemo(\n () => new Set(multiple ? values : value ? [value] : []),\n [multiple, values, value]\n )\n\n const filteredNodes = React.useMemo(\n () => (searchTerm ? filterTree(nodes, searchTerm) : nodes),\n [nodes, searchTerm]\n )\n\n // Auto-expand matching ancestors during search\n React.useEffect(() => {\n if (searchTerm) {\n if (!preSearchExpandedRef.current) {\n preSearchExpandedRef.current = new Set(expandedValues)\n }\n const matchingAncestors = getValuesOfMatchingNodes(nodes, searchTerm)\n setExpandedValues(matchingAncestors)\n } else if (preSearchExpandedRef.current) {\n setExpandedValues(preSearchExpandedRef.current)\n preSearchExpandedRef.current = null\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [searchTerm, nodes])\n\n const handleOpenChange = React.useCallback((isOpen: boolean) => {\n setOpen(isOpen)\n if (!isOpen) {\n setSearchTerm(\"\")\n setFocusedValue(null)\n }\n }, [])\n\n const handleToggleExpand = React.useCallback((nodeValue: string) => {\n setExpandedValues((prev) => {\n const next = new Set(prev)\n if (next.has(nodeValue)) {\n next.delete(nodeValue)\n } else {\n next.add(nodeValue)\n }\n return next\n })\n }, [])\n\n const handleSelect = React.useCallback(\n (node: TreeSelectNode) => {\n if (multiple) {\n const allDescendants = getAllDescendantValues(node)\n const currentState = getCheckState(node, selectedSet)\n\n let newValues: string[]\n if (currentState === \"checked\") {\n const toRemove = new Set(allDescendants)\n newValues = values.filter((v) => !toRemove.has(v))\n } else {\n const toAdd = allDescendants.filter((v) => !selectedSet.has(v))\n newValues = [...values, ...toAdd]\n }\n onValuesChange?.(newValues)\n } else {\n // Single-select: clicking a parent toggles expand instead of selecting\n const hasChildren = node.children && node.children.length > 0\n if (hasChildren) {\n handleToggleExpand(node.value)\n return\n }\n const newValue = node.value === value ? \"\" : node.value\n onValueChange?.(newValue)\n setOpen(false)\n }\n },\n [\n multiple,\n values,\n value,\n selectedSet,\n onValuesChange,\n onValueChange,\n handleToggleExpand,\n ]\n )\n\n const handleRemoveChip = React.useCallback(\n (chipValue: string, e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n const node = findNodeByValue(nodes, chipValue)\n if (node) {\n const toRemove = new Set(getAllDescendantValues(node))\n const newValues = values.filter((v) => !toRemove.has(v))\n onValuesChange?.(newValues)\n }\n },\n [nodes, values, onValuesChange]\n )\n\n // Smart chips: minimal set representing the selection\n const chipValues = React.useMemo(() => {\n if (!multiple) return []\n\n const chips: string[] = []\n\n function walk(nodeList: TreeSelectNode[]) {\n for (const node of nodeList) {\n const state = getCheckState(node, selectedSet)\n if (state === \"checked\") {\n chips.push(node.value)\n } else if (state === \"indeterminate\" && node.children) {\n walk(node.children)\n }\n }\n }\n\n walk(nodes)\n return chips\n }, [nodes, selectedSet, multiple])\n\n // Keyboard navigation\n const getVisibleNodes = React.useCallback((): HTMLElement[] => {\n if (!treeRef.current) return []\n return Array.from(treeRef.current.querySelectorAll(\"[data-tree-value]\"))\n }, [])\n\n const handleTreeKeyDown = React.useCallback(\n (e: React.KeyboardEvent) => {\n const visibleNodes = getVisibleNodes()\n const currentIndex = visibleNodes.findIndex(\n (el) => el.dataset.treeValue === focusedValue\n )\n\n switch (e.key) {\n case \"ArrowDown\": {\n e.preventDefault()\n const nextIndex = Math.min(currentIndex + 1, visibleNodes.length - 1)\n const nextValue = visibleNodes[nextIndex]?.dataset.treeValue\n if (nextValue) {\n setFocusedValue(nextValue)\n visibleNodes[nextIndex]?.focus()\n }\n break\n }\n case \"ArrowUp\": {\n e.preventDefault()\n const prevIndex = Math.max(currentIndex - 1, 0)\n const prevValue = visibleNodes[prevIndex]?.dataset.treeValue\n if (prevValue) {\n setFocusedValue(prevValue)\n visibleNodes[prevIndex]?.focus()\n }\n break\n }\n case \"ArrowRight\": {\n e.preventDefault()\n if (focusedValue) {\n const node = findNodeByValue(nodes, focusedValue)\n if (node?.children?.length) {\n if (!expandedValues.has(focusedValue)) {\n handleToggleExpand(focusedValue)\n } else {\n const firstChildValue = node.children[0].value\n setFocusedValue(firstChildValue)\n requestAnimationFrame(() => {\n const els = getVisibleNodes()\n const el = els.find(\n (n) => n.dataset.treeValue === firstChildValue\n )\n el?.focus()\n })\n }\n }\n }\n break\n }\n case \"ArrowLeft\": {\n e.preventDefault()\n if (focusedValue && expandedValues.has(focusedValue)) {\n handleToggleExpand(focusedValue)\n }\n break\n }\n case \"Enter\":\n case \" \": {\n e.preventDefault()\n if (focusedValue) {\n const node = findNodeByValue(nodes, focusedValue)\n if (node) handleSelect(node)\n }\n break\n }\n case \"Home\": {\n e.preventDefault()\n const firstValue = visibleNodes[0]?.dataset.treeValue\n if (firstValue) {\n setFocusedValue(firstValue)\n visibleNodes[0]?.focus()\n }\n break\n }\n case \"End\": {\n e.preventDefault()\n const lastValue =\n visibleNodes[visibleNodes.length - 1]?.dataset.treeValue\n if (lastValue) {\n setFocusedValue(lastValue)\n visibleNodes[visibleNodes.length - 1]?.focus()\n }\n break\n }\n }\n },\n [\n focusedValue,\n nodes,\n expandedValues,\n getVisibleNodes,\n handleToggleExpand,\n handleSelect,\n ]\n )\n\n const getDisplayText = () => {\n if (multiple) {\n if (values.length === 0) return placeholder\n if (values.length === 1) {\n const node = findNodeByValue(nodes, values[0])\n return node?.label ?? values[0]\n }\n return `${values.length} selected`\n }\n if (value) {\n const node = findNodeByValue(nodes, value)\n return node?.label ?? value\n }\n return placeholder\n }\n\n const renderSelectedChips = () => {\n if (!multiple || chipValues.length === 0) return null\n\n const chipNodes = chipValues\n .map((v) => findNodeByValue(nodes, v))\n .filter(Boolean) as TreeSelectNode[]\n\n return (\n <div className=\"max-h-[100px] overflow-y-auto px-2 py-1.5 border-b border-border\">\n <div className=\"flex flex-wrap gap-1\">\n {chipNodes.map((node) => (\n <div\n key={node.value}\n className=\"inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs\"\n >\n <span className=\"truncate max-w-[120px]\">{node.label}</span>\n <X\n className=\"h-3 w-3 cursor-pointer shrink-0\"\n onClick={(e) => handleRemoveChip(node.value, e)}\n aria-label={`Remove ${node.label}`}\n />\n </div>\n ))}\n </div>\n </div>\n )\n }\n\n return (\n <Popover open={open} onOpenChange={handleOpenChange}>\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n role=\"combobox\"\n aria-expanded={open}\n aria-haspopup=\"tree\"\n disabled={disabled}\n className={cn(\n \"cursor-pointer flex my-2 h-8 lg:h-9 w-full items-center justify-between rounded-3xl border border-border bg-background hover:bg-secondary px-4 py-2 text-sm text-primary-accent ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 active:opacity-50 disabled:cursor-not-allowed disabled:opacity-50\",\n !value && !values.length && \"text-secondary-text\",\n error &&\n \"border-destructive-foreground focus-visible:ring-destructive-foreground\",\n className\n )}\n >\n <span className=\"truncate\">{getDisplayText()}</span>\n <ChevronDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n </button>\n </PopoverTrigger>\n <PopoverContent\n className=\"p-0\"\n align=\"start\"\n style={{ width: \"var(--radix-popover-trigger-width)\" }}\n >\n <div className=\"flex items-center border-b px-3\">\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n <input\n value={searchTerm}\n onChange={(e) => setSearchTerm(e.target.value)}\n placeholder={searchPlaceholder}\n className=\"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\"\n aria-label=\"Search tree\"\n />\n </div>\n\n {renderSelectedChips()}\n\n <div className=\"max-h-[300px] overflow-y-auto\">\n {filteredNodes && filteredNodes.length > 0 ? (\n <div\n ref={treeRef}\n role=\"tree\"\n aria-label=\"Options\"\n className=\"p-1\"\n onKeyDown={handleTreeKeyDown}\n >\n {filteredNodes.map((node) => (\n <TreeNodeItem\n key={node.value}\n node={node}\n depth={0}\n multiple={multiple}\n selectedSet={selectedSet}\n expandedValues={expandedValues}\n focusedValue={focusedValue}\n onToggleExpand={handleToggleExpand}\n onSelect={handleSelect}\n onFocus={setFocusedValue}\n searchTerm={searchTerm}\n />\n ))}\n </div>\n ) : (\n <div className=\"py-6 text-center text-sm text-muted-foreground\">\n {emptyMessage}\n </div>\n )}\n </div>\n </PopoverContent>\n </Popover>\n )\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
- var _chunkULIOO55Ijs = require('./chunk-ULIOO55I.js');var _chunkSPGHRCUDjs = require('./chunk-SPGHRCUD.js');var _chunkFUYXCJOQjs = require('./chunk-FUYXCJOQ.js');var _react = require('react'); var v = _interopRequireWildcard(_react);var _lucidereact = require('lucide-react');var _jsxruntime = require('react/jsx-runtime');function ne({selectedOptions:m,onRemove:s,showRemoveIcon:p=!0,disabled:b=!1,className:d,chipClassName:x}){if(m.length===0)return null;let h=(t,c)=>{c.preventDefault(),c.stopPropagation(),_optionalChain([s, 'optionalCall', _2 => _2(t)])};return _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:m.map(t=>_jsxruntime.jsxs.call(void 0, "div",{className:_chunkFUYXCJOQjs.a.call(void 0, "inline-flex items-center gap-2 rounded-3xl border bg-transparent px-2 lg:px-3 py-1.5 text-sm",b&&"opacity-50 cursor-not-allowed pointer-events-none",d,x),style:{borderColor:t.color||"var(--border)"},children:[_jsxruntime.jsx.call(void 0, "span",{className:"truncate text-xs font-medium",style:{color:t.color},children:t.label}),p&&!b&&s&&_jsxruntime.jsx.call(void 0, "button",{type:"button",onClick:c=>h(t.value,c),children:_jsxruntime.jsx.call(void 0, _lucidereact.X,{className:"size-3.5 cursor-pointer opacity-70 hover:opacity-100",style:{color:t.color}})})]},t.value))})}function ie({options:m=[],groups:s,value:p,onValueChange:b,placeholder:d="Select option...",searchPlaceholder:x="Search...",emptyMessage:h="No option found.",disabled:t=!1,disableLabelControls:c=!1,className:W,error:X=!1,multiple:$=!1,values:l=[],onValuesChange:C,variant:j="default",searchable:q=!0,onTriggerClick:w,showChipRemoveIcon:F=!0,triggerProps:J,externalChipsOnly:K=!1}){let[N,P]=v.useState(!1),n=j==="metrics",f=n?!0:$,R=v.useMemo(()=>s?s.flatMap(e=>e.options):m,[s,m]),k=R.find(e=>e.value===p),i=R.filter(e=>l.includes(e.value)),Q=e=>{if(f){let r=l.includes(e)?l.filter(u=>u!==e):[...l,e];_optionalChain([C, 'optionalCall', _3 => _3(r)])}else _optionalChain([b, 'optionalCall', _4 => _4(e===p?"":e)]),P(!1)},U=(e,r)=>{r.preventDefault(),r.stopPropagation();let u=l.filter(_=>_!==e);_optionalChain([C, 'optionalCall', _5 => _5(u)])},V=()=>n?d:f?i.length===0?d:i.length===1?i[0].label:`${i.length} selected`:k?k.label:d,O=e=>{let r=f?l.includes(e.value):p===e.value;return _jsxruntime.jsxs.call(void 0, _chunkSPGHRCUDjs.h,{value:e.value,onSelect:Q,className:"rounded-[12px]",children:[_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:e.label}),_jsxruntime.jsx.call(void 0, _lucidereact.Check,{className:_chunkFUYXCJOQjs.a.call(void 0, "ml-auto h-4 w-4 shrink-0",r?"opacity-100":"opacity-0")})]},e.value)},M=()=>n||!f||i.length===0?null:_jsxruntime.jsx.call(void 0, "div",{className:"px-2 py-1.5",children:_jsxruntime.jsx.call(void 0, "div",{className:"flex flex-wrap gap-1",children:i.map(e=>_jsxruntime.jsxs.call(void 0, "div",{className:"inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs",children:[_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:e.label}),_jsxruntime.jsx.call(void 0, _lucidereact.X,{className:"h-3 w-3 cursor-pointer",onClick:r=>U(e.value,r)})]},e.value))})}),Y=()=>{if(!n||K||i.length===0)return null;let e=F&&!t&&!c;return _jsxruntime.jsx.call(void 0, ne,{selectedOptions:i,onRemove:e?Z:void 0,showRemoveIcon:e,disabled:t||c})},Z=e=>{let r=l.filter(u=>u!==e);_optionalChain([C, 'optionalCall', _6 => _6(r)])},S=_jsxruntime.jsxs.call(void 0, _chunkULIOO55Ijs.a,{open:N,onOpenChange:P,children:[_jsxruntime.jsx.call(void 0, _chunkULIOO55Ijs.b,{asChild:!0,children:_jsxruntime.jsxs.call(void 0, "button",{type:"button",role:"combobox","aria-expanded":N,disabled:t,...J,onClick:w?e=>{e.preventDefault(),w()}:void 0,className:_chunkFUYXCJOQjs.a.call(void 0, "cursor-pointer flex h-8 lg:h-9 items-center justify-between rounded-3xl border border-border bg-background hover:bg-secondary px-2 lg:px-4 py-2 text-sm text-primary-accent ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 active:opacity-50 disabled:cursor-not-allowed disabled:opacity-50",!n&&"my-2 w-full",n&&"w-auto gap-2",!p&&!l.length&&"text-secondary-text",X&&"border-destructive-foreground focus-visible:ring-destructive-foreground",n&&"bg-muted text-primary-accent hover:bg-muted/20 border-muted text-xs font-medium",W),children:[n&&_jsxruntime.jsx.call(void 0, _lucidereact.Plus,{className:"h-4 w-4 shrink-0"}),_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:V()}),!n&&_jsxruntime.jsx.call(void 0, _lucidereact.ChevronDown,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),_jsxruntime.jsx.call(void 0, _chunkULIOO55Ijs.c,{className:"overflow-hidden rounded-xl p-0",align:"start",style:n?{minWidth:200}:{width:"var(--radix-popover-trigger-width)"},children:_jsxruntime.jsxs.call(void 0, _chunkSPGHRCUDjs.a,{children:[q&&_jsxruntime.jsx.call(void 0, _chunkSPGHRCUDjs.c,{placeholder:x}),_jsxruntime.jsxs.call(void 0, _chunkSPGHRCUDjs.d,{children:[_jsxruntime.jsx.call(void 0, _chunkSPGHRCUDjs.e,{children:h}),s?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[M(),s.map(e=>_jsxruntime.jsx.call(void 0, _chunkSPGHRCUDjs.f,{heading:e.label,children:e.options.map(O)},e.label))]}):_jsxruntime.jsxs.call(void 0, _chunkSPGHRCUDjs.f,{children:[M(),m.map(O)]})]})]})})]});return n?_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-wrap items-center gap-2",children:[S,Y()]}):S}exports.a = ne; exports.b = ie;
3
- //# sourceMappingURL=chunk-UW73WIQU.js.map
2
+ var _chunkULIOO55Ijs = require('./chunk-ULIOO55I.js');var _chunkS6HVCOPVjs = require('./chunk-S6HVCOPV.js');var _chunkFUYXCJOQjs = require('./chunk-FUYXCJOQ.js');var _react = require('react'); var v = _interopRequireWildcard(_react);var _lucidereact = require('lucide-react');var _jsxruntime = require('react/jsx-runtime');function ne({selectedOptions:m,onRemove:s,showRemoveIcon:p=!0,disabled:b=!1,className:d,chipClassName:x}){if(m.length===0)return null;let h=(t,c)=>{c.preventDefault(),c.stopPropagation(),_optionalChain([s, 'optionalCall', _2 => _2(t)])};return _jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:m.map(t=>_jsxruntime.jsxs.call(void 0, "div",{className:_chunkFUYXCJOQjs.a.call(void 0, "inline-flex items-center gap-2 rounded-3xl border bg-transparent px-2 lg:px-3 py-1.5 text-sm",b&&"opacity-50 cursor-not-allowed pointer-events-none",d,x),style:{borderColor:t.color||"var(--border)"},children:[_jsxruntime.jsx.call(void 0, "span",{className:"truncate text-xs font-medium",style:{color:t.color},children:t.label}),p&&!b&&s&&_jsxruntime.jsx.call(void 0, "button",{type:"button",onClick:c=>h(t.value,c),children:_jsxruntime.jsx.call(void 0, _lucidereact.X,{className:"size-3.5 cursor-pointer opacity-70 hover:opacity-100",style:{color:t.color}})})]},t.value))})}function ie({options:m=[],groups:s,value:p,onValueChange:b,placeholder:d="Select option...",searchPlaceholder:x="Search...",emptyMessage:h="No option found.",disabled:t=!1,disableLabelControls:c=!1,className:W,error:X=!1,multiple:$=!1,values:l=[],onValuesChange:C,variant:j="default",searchable:q=!0,onTriggerClick:w,showChipRemoveIcon:F=!0,triggerProps:J,externalChipsOnly:K=!1}){let[N,P]=v.useState(!1),n=j==="metrics",f=n?!0:$,R=v.useMemo(()=>s?s.flatMap(e=>e.options):m,[s,m]),k=R.find(e=>e.value===p),i=R.filter(e=>l.includes(e.value)),Q=e=>{if(f){let r=l.includes(e)?l.filter(u=>u!==e):[...l,e];_optionalChain([C, 'optionalCall', _3 => _3(r)])}else _optionalChain([b, 'optionalCall', _4 => _4(e===p?"":e)]),P(!1)},U=(e,r)=>{r.preventDefault(),r.stopPropagation();let u=l.filter(_=>_!==e);_optionalChain([C, 'optionalCall', _5 => _5(u)])},V=()=>n?d:f?i.length===0?d:i.length===1?i[0].label:`${i.length} selected`:k?k.label:d,O=e=>{let r=f?l.includes(e.value):p===e.value;return _jsxruntime.jsxs.call(void 0, _chunkS6HVCOPVjs.h,{value:e.value,onSelect:Q,className:"rounded-[12px]",children:[_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:e.label}),_jsxruntime.jsx.call(void 0, _lucidereact.Check,{className:_chunkFUYXCJOQjs.a.call(void 0, "ml-auto h-4 w-4 shrink-0",r?"opacity-100":"opacity-0")})]},e.value)},M=()=>n||!f||i.length===0?null:_jsxruntime.jsx.call(void 0, "div",{className:"px-2 py-1.5",children:_jsxruntime.jsx.call(void 0, "div",{className:"flex flex-wrap gap-1",children:i.map(e=>_jsxruntime.jsxs.call(void 0, "div",{className:"inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs",children:[_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:e.label}),_jsxruntime.jsx.call(void 0, _lucidereact.X,{className:"h-3 w-3 cursor-pointer",onClick:r=>U(e.value,r)})]},e.value))})}),Y=()=>{if(!n||K||i.length===0)return null;let e=F&&!t&&!c;return _jsxruntime.jsx.call(void 0, ne,{selectedOptions:i,onRemove:e?Z:void 0,showRemoveIcon:e,disabled:t||c})},Z=e=>{let r=l.filter(u=>u!==e);_optionalChain([C, 'optionalCall', _6 => _6(r)])},S=_jsxruntime.jsxs.call(void 0, _chunkULIOO55Ijs.a,{open:N,onOpenChange:P,children:[_jsxruntime.jsx.call(void 0, _chunkULIOO55Ijs.b,{asChild:!0,children:_jsxruntime.jsxs.call(void 0, "button",{type:"button",role:"combobox","aria-expanded":N,disabled:t,...J,onClick:w?e=>{e.preventDefault(),w()}:void 0,className:_chunkFUYXCJOQjs.a.call(void 0, "cursor-pointer flex h-8 lg:h-9 items-center justify-between rounded-3xl border border-border bg-background hover:bg-secondary px-2 lg:px-4 py-2 text-sm text-primary-accent ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 active:opacity-50 disabled:cursor-not-allowed disabled:opacity-50",!n&&"my-2 w-full",n&&"w-auto gap-2",!p&&!l.length&&"text-secondary-text",X&&"border-destructive-foreground focus-visible:ring-destructive-foreground",n&&"bg-muted text-primary-accent hover:bg-muted/20 border-muted text-xs font-medium",W),children:[n&&_jsxruntime.jsx.call(void 0, _lucidereact.Plus,{className:"h-4 w-4 shrink-0"}),_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:V()}),!n&&_jsxruntime.jsx.call(void 0, _lucidereact.ChevronDown,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),_jsxruntime.jsx.call(void 0, _chunkULIOO55Ijs.c,{className:"overflow-hidden rounded-xl p-0",align:"start",style:n?{minWidth:200}:{width:"var(--radix-popover-trigger-width)"},children:_jsxruntime.jsxs.call(void 0, _chunkS6HVCOPVjs.a,{children:[q&&_jsxruntime.jsx.call(void 0, _chunkS6HVCOPVjs.c,{placeholder:x}),_jsxruntime.jsxs.call(void 0, _chunkS6HVCOPVjs.d,{children:[_jsxruntime.jsx.call(void 0, _chunkS6HVCOPVjs.e,{children:h}),s?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[M(),s.map(e=>_jsxruntime.jsx.call(void 0, _chunkS6HVCOPVjs.f,{heading:e.label,children:e.options.map(O)},e.label))]}):_jsxruntime.jsxs.call(void 0, _chunkS6HVCOPVjs.f,{children:[M(),m.map(O)]})]})]})})]});return n?_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-wrap items-center gap-2",children:[S,Y()]}):S}exports.a = ne; exports.b = ie;
3
+ //# sourceMappingURL=chunk-Z56XUN4K.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/chunk-Z56XUN4K.js","../src/components/combobox.tsx"],"names":["ComboboxChips","selectedOptions","onRemove","showRemoveIcon","disabled","className","chipClassName","handleRemove","value","e","jsx","Fragment","option","jsxs","cn","X","Combobox","options","groups","onValueChange","placeholder","searchPlaceholder","emptyMessage","disableLabelControls","error","multiple","values","onValuesChange","variant","searchable","onTriggerClick","showChipRemoveIcon","triggerProps","externalChipsOnly","open","setOpen","isMetrics","effectiveMultiple","allOptions","g","selectedOption","handleSelect","currentValue","newValues","v","handleRemoveValue","valueToRemove","getDisplayText"],"mappings":"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","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/chunk-Z56XUN4K.js","sourcesContent":[null,"import * as React from \"react\"\nimport { Check, ChevronDown, Plus, X } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"@/components/command\"\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/popover\"\n\nexport interface ComboboxOption {\n value: string\n label: string\n color?: string\n}\n\nexport interface ComboboxGroup {\n label: string\n options: ComboboxOption[]\n}\n\nexport interface ComboboxProps {\n options?: ComboboxOption[]\n groups?: ComboboxGroup[]\n value?: string\n onValueChange?: (value: string) => void\n placeholder?: string\n searchPlaceholder?: string\n emptyMessage?: string\n disabled?: boolean\n disableLabelControls?: boolean\n className?: string\n error?: boolean\n multiple?: boolean\n values?: string[]\n onValuesChange?: (values: string[]) => void\n variant?: \"default\" | \"metrics\"\n searchable?: boolean\n onTriggerClick?: () => void\n showChipRemoveIcon?: boolean\n triggerProps?: React.ButtonHTMLAttributes<HTMLButtonElement>\n /** When true, external chips are not rendered inside the Combobox. Use ComboboxChips to render them externally. */\n externalChipsOnly?: boolean\n}\n\nexport interface ComboboxChipsProps {\n /** The selected options to display as chips */\n selectedOptions: ComboboxOption[]\n /** Callback when a chip is removed */\n onRemove?: (value: string) => void\n /** Whether to show the remove icon on chips */\n showRemoveIcon?: boolean\n /** Whether the chips are disabled */\n disabled?: boolean\n /** Additional class name for the chip container */\n className?: string\n /** Additional class name for individual chips */\n chipClassName?: string\n}\n\nexport function ComboboxChips({\n selectedOptions,\n onRemove,\n showRemoveIcon = true,\n disabled = false,\n className,\n chipClassName,\n}: ComboboxChipsProps) {\n if (selectedOptions.length === 0) return null\n\n const handleRemove = (value: string, e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n onRemove?.(value)\n }\n\n return (\n <>\n {selectedOptions.map((option) => (\n <div\n key={option.value}\n className={cn(\n \"inline-flex items-center gap-2 rounded-3xl border bg-transparent px-2 lg:px-3 py-1.5 text-sm\",\n disabled && \"opacity-50 cursor-not-allowed pointer-events-none\",\n className,\n chipClassName\n )}\n style={{ borderColor: option.color || \"var(--border)\" }}\n >\n <span\n className=\"truncate text-xs font-medium\"\n style={{ color: option.color }}\n >\n {option.label}\n </span>\n {showRemoveIcon && !disabled && onRemove && (\n <button\n type=\"button\"\n onClick={(e) => handleRemove(option.value, e)}\n >\n <X\n className=\"size-3.5 cursor-pointer opacity-70 hover:opacity-100\"\n style={{ color: option.color }}\n />\n </button>\n )}\n </div>\n ))}\n </>\n )\n}\n\nexport function Combobox({\n options = [],\n groups,\n value,\n onValueChange,\n placeholder = \"Select option...\",\n searchPlaceholder = \"Search...\",\n emptyMessage = \"No option found.\",\n disabled = false,\n disableLabelControls = false,\n className,\n error = false,\n multiple = false,\n values = [],\n onValuesChange,\n variant = \"default\",\n searchable = true,\n onTriggerClick,\n showChipRemoveIcon = true,\n triggerProps,\n externalChipsOnly = false,\n}: ComboboxProps) {\n const [open, setOpen] = React.useState(false)\n const isMetrics = variant === \"metrics\"\n const effectiveMultiple = isMetrics ? true : multiple\n\n const allOptions = React.useMemo(() => {\n if (groups) return groups.flatMap((g) => g.options)\n return options\n }, [groups, options])\n\n const selectedOption = allOptions.find((option) => option.value === value)\n const selectedOptions = allOptions.filter((option) =>\n values.includes(option.value)\n )\n\n const handleSelect = (currentValue: string) => {\n if (effectiveMultiple) {\n const newValues = values.includes(currentValue)\n ? values.filter((v) => v !== currentValue)\n : [...values, currentValue]\n onValuesChange?.(newValues)\n } else {\n onValueChange?.(currentValue === value ? \"\" : currentValue)\n setOpen(false)\n }\n }\n\n const handleRemoveValue = (valueToRemove: string, e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n const newValues = values.filter((v) => v !== valueToRemove)\n onValuesChange?.(newValues)\n }\n\n const getDisplayText = () => {\n if (isMetrics) return placeholder\n if (effectiveMultiple) {\n if (selectedOptions.length === 0) return placeholder\n if (selectedOptions.length === 1) return selectedOptions[0].label\n return `${selectedOptions.length} selected`\n }\n return selectedOption ? selectedOption.label : placeholder\n }\n\n const renderOption = (option: ComboboxOption) => {\n const isSelected = effectiveMultiple\n ? values.includes(option.value)\n : value === option.value\n\n return (\n <CommandItem\n key={option.value}\n value={option.value}\n onSelect={handleSelect}\n className=\"rounded-[12px]\"\n >\n <span className=\"truncate\">{option.label}</span>\n <Check\n className={cn(\n \"ml-auto h-4 w-4 shrink-0\",\n isSelected ? \"opacity-100\" : \"opacity-0\"\n )}\n />\n </CommandItem>\n )\n }\n\n const renderSelectedChips = () => {\n if (isMetrics || !effectiveMultiple || selectedOptions.length === 0)\n return null\n\n return (\n <div className=\"px-2 py-1.5\">\n <div className=\"flex flex-wrap gap-1\">\n {selectedOptions.map((option) => (\n <div\n key={option.value}\n className=\"inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs\"\n >\n <span className=\"truncate\">{option.label}</span>\n <X\n className=\"h-3 w-3 cursor-pointer\"\n onClick={(e) => handleRemoveValue(option.value, e)}\n />\n </div>\n ))}\n </div>\n </div>\n )\n }\n\n const renderExternalChips = () => {\n if (!isMetrics || externalChipsOnly || selectedOptions.length === 0)\n return null\n\n const canRemove = showChipRemoveIcon && !disabled && !disableLabelControls\n\n return (\n <ComboboxChips\n selectedOptions={selectedOptions}\n onRemove={canRemove ? handleRemoveChip : undefined}\n showRemoveIcon={canRemove}\n disabled={disabled || disableLabelControls}\n />\n )\n }\n\n const handleRemoveChip = (valueToRemove: string) => {\n const newValues = values.filter((v) => v !== valueToRemove)\n onValuesChange?.(newValues)\n }\n\n const popover = (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n role=\"combobox\"\n aria-expanded={open}\n disabled={disabled}\n {...triggerProps}\n onClick={\n onTriggerClick\n ? (e) => {\n e.preventDefault()\n onTriggerClick()\n }\n : undefined\n }\n className={cn(\n \"cursor-pointer flex h-8 lg:h-9 items-center justify-between rounded-3xl border border-border bg-background hover:bg-secondary px-2 lg:px-4 py-2 text-sm text-primary-accent ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 active:opacity-50 disabled:cursor-not-allowed disabled:opacity-50\",\n !isMetrics && \"my-2 w-full\",\n isMetrics && \"w-auto gap-2\",\n !value && !values.length && \"text-secondary-text\",\n error &&\n \"border-destructive-foreground focus-visible:ring-destructive-foreground\",\n isMetrics &&\n \"bg-muted text-primary-accent hover:bg-muted/20 border-muted text-xs font-medium\",\n className\n )}\n >\n {isMetrics && <Plus className=\"h-4 w-4 shrink-0\" />}\n <span className=\"truncate\">{getDisplayText()}</span>\n {!isMetrics && (\n <ChevronDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n )}\n </button>\n </PopoverTrigger>\n <PopoverContent\n className=\"overflow-hidden rounded-xl p-0\"\n align=\"start\"\n style={\n isMetrics\n ? { minWidth: 200 }\n : { width: \"var(--radix-popover-trigger-width)\" }\n }\n >\n <Command>\n {searchable && <CommandInput placeholder={searchPlaceholder} />}\n <CommandList>\n <CommandEmpty>{emptyMessage}</CommandEmpty>\n {groups ? (\n <>\n {renderSelectedChips()}\n {groups.map((group) => (\n <CommandGroup key={group.label} heading={group.label}>\n {group.options.map(renderOption)}\n </CommandGroup>\n ))}\n </>\n ) : (\n <CommandGroup>\n {renderSelectedChips()}\n {options.map(renderOption)}\n </CommandGroup>\n )}\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n )\n\n if (isMetrics) {\n return (\n <div className=\"flex flex-wrap items-center gap-2\">\n {popover}\n {renderExternalChips()}\n </div>\n )\n }\n\n return popover\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/chunk-Z5V4P3EC.js","../src/components/radio-group.tsx"],"names":["RadioGroup","className","props","ref","jsx","cn","RadioGroupItem","Circle"],"mappings":"AAAA,uWAAY;AACZ,sDAAkC,uECCX,iHACc,2CACd,+CASnB,IALEA,CAAAA,CAAmB,CAAA,CAAA,UAAA,CAGvB,CAAC,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAGC,CAAAA,CAAAA,EAExBC,6BAAAA,CAAqB,CAAA,IAAA,CAApB,CACC,SAAA,CAAWC,gCAAAA,YAAG,CAAcJ,CAAS,CAAA,CACpC,GAAGC,CAAAA,CACJ,GAAA,CAAKC,CAAAA,CACP,CAEH,CAAA,CACDH,CAAAA,CAAW,WAAA,CAAkC,CAAA,CAAA,IAAA,CAAK,WAAA,CAElD,IAAMM,CAAAA,CAAuB,CAAA,CAAA,UAAA,CAG3B,CAAC,CAAE,SAAA,CAAAL,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAGC,CAAAA,CAAAA,EAExBC,6BAAAA,CAAqB,CAAA,IAAA,CAApB,CACC,GAAA,CAAKD,CAAAA,CACL,SAAA,CAAWE,gCAAAA,sUACT,CACAJ,CACF,CAAA,CACC,GAAGC,CAAAA,CAEJ,QAAA,CAAAE,6BAAAA,CAAqB,CAAA,SAAA,CAApB,CAA8B,SAAA,CAAU,kCAAA,CACvC,QAAA,CAAAA,6BAAAA,mBAACG,CAAA,CAAO,SAAA,CAAU,uCAAA,CAAwC,CAAA,CAC5D,CAAA,CACF,CAEH,CAAA,CACDD,CAAAA,CAAe,WAAA,CAAkC,CAAA,CAAA,IAAA,CAAK,WAAA,CAAA,6BAAA","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/chunk-Z5V4P3EC.js","sourcesContent":[null,"\"use client\"\n\nimport * as React from \"react\"\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\"\nimport { Circle } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst RadioGroup = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Root\n className={cn(\"grid gap-2\", className)}\n {...props}\n ref={ref}\n />\n )\n})\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName\n\nconst RadioGroupItem = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n \"aspect-square h-4 w-4 rounded-full border border-accent-muted bg-background ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 active:opacity-50 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-accent data-[state=checked]:text-accent\",\n className\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className=\"flex items-center justify-center\">\n <Circle className=\"h-2.5 w-2.5 fill-current text-current\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n})\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName\n\nexport { RadioGroup, RadioGroupItem }\n"]}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/chunk-Z5V4P3EC.js","../src/components/radio-group.tsx"],"names":["RadioGroup","className","props","ref","jsx","cn","RadioGroupItem","Circle"],"mappings":"AAAA,uWAAY;AACZ,sDAAkC,uECCX,iHACc,2CACd,+CASnB,IALEA,CAAAA,CAAmB,CAAA,CAAA,UAAA,CAGvB,CAAC,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAGC,CAAAA,CAAAA,EAExBC,6BAAAA,CAAqB,CAAA,IAAA,CAApB,CACC,SAAA,CAAWC,gCAAAA,YAAG,CAAcJ,CAAS,CAAA,CACpC,GAAGC,CAAAA,CACJ,GAAA,CAAKC,CAAAA,CACP,CAEH,CAAA,CACDH,CAAAA,CAAW,WAAA,CAAkC,CAAA,CAAA,IAAA,CAAK,WAAA,CAElD,IAAMM,CAAAA,CAAuB,CAAA,CAAA,UAAA,CAG3B,CAAC,CAAE,SAAA,CAAAL,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAGC,CAAAA,CAAAA,EAExBC,6BAAAA,CAAqB,CAAA,IAAA,CAApB,CACC,GAAA,CAAKD,CAAAA,CACL,SAAA,CAAWE,gCAAAA,sUACT,CACAJ,CACF,CAAA,CACC,GAAGC,CAAAA,CAEJ,QAAA,CAAAE,6BAAAA,CAAqB,CAAA,SAAA,CAApB,CAA8B,SAAA,CAAU,kCAAA,CACvC,QAAA,CAAAA,6BAAAA,mBAACG,CAAA,CAAO,SAAA,CAAU,uCAAA,CAAwC,CAAA,CAC5D,CAAA,CACF,CAEH,CAAA,CACDD,CAAAA,CAAe,WAAA,CAAkC,CAAA,CAAA,IAAA,CAAK,WAAA,CAAA,6BAAA","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/chunk-Z5V4P3EC.js","sourcesContent":[null,"\"use client\"\n\nimport * as React from \"react\"\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\"\nimport { Circle } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst RadioGroup = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Root\n className={cn(\"grid gap-2\", className)}\n {...props}\n ref={ref}\n />\n )\n})\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName\n\nconst RadioGroupItem = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n \"aspect-square h-4 w-4 rounded-full border border-accent-muted bg-background ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 active:opacity-50 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-accent data-[state=checked]:text-accent\",\n className\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className=\"flex items-center justify-center\">\n <Circle className=\"h-2.5 w-2.5 fill-current text-current\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n})\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName\n\nexport { RadioGroup, RadioGroupItem }\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/GeometricFluidGrid.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,qCAAqB","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/GeometricFluidGrid.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/GeometricFluidGrid.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,qCAAqB","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/GeometricFluidGrid.js"}
@@ -9,6 +9,8 @@ type GlitchLinkProps = {
9
9
  className?: string;
10
10
  asChild?: boolean;
11
11
  duration?: number;
12
+ target?: string;
13
+ rel?: string;
12
14
  };
13
15
  declare const GlitchLink: ({ href, children, symbols, className, asChild, duration, ...props }: GlitchLinkProps) => react_jsx_runtime.JSX.Element;
14
16
 
@@ -9,6 +9,8 @@ type GlitchLinkProps = {
9
9
  className?: string;
10
10
  asChild?: boolean;
11
11
  duration?: number;
12
+ target?: string;
13
+ rel?: string;
12
14
  };
13
15
  declare const GlitchLink: ({ href, children, symbols, className, asChild, duration, ...props }: GlitchLinkProps) => react_jsx_runtime.JSX.Element;
14
16
 
@@ -1,3 +1,3 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
- "use client";var _chunkEJTY2ABYjs = require('../chunk-EJTY2ABY.js');require('../chunk-FUYXCJOQ.js');require('../chunk-XYO4VLMF.js');exports.DEFAULT_SYMBOLS = _chunkEJTY2ABYjs.a; exports.default = _chunkEJTY2ABYjs.b;
2
+ "use client";var _chunkWN6ZMWXUjs = require('../chunk-WN6ZMWXU.js');require('../chunk-FUYXCJOQ.js');require('../chunk-XYO4VLMF.js');exports.DEFAULT_SYMBOLS = _chunkWN6ZMWXUjs.a; exports.default = _chunkWN6ZMWXUjs.b;
3
3
  //# sourceMappingURL=GlitchLink.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/GlitchLink.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAqC,gCAA6B,gCAA6B,mFAA0C","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/GlitchLink.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/GlitchLink.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAqC,gCAA6B,gCAA6B,mFAA0C","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/GlitchLink.js"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- "use client";import{a,b}from"../chunk-AEZ5XKKG.mjs";import"../chunk-S5TKCF6T.mjs";import"../chunk-KPAOPUY2.mjs";export{a as DEFAULT_SYMBOLS,b as default};
2
+ "use client";import{a,b}from"../chunk-PLQY2UFN.mjs";import"../chunk-S5TKCF6T.mjs";import"../chunk-KPAOPUY2.mjs";export{a as DEFAULT_SYMBOLS,b as default};
3
3
  //# sourceMappingURL=GlitchLink.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/PixelLoad.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,uCAAuB","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/PixelLoad.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/PixelLoad.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,uCAAuB","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/PixelLoad.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/TextDecoder.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,qCAAqB","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/TextDecoder.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/TextDecoder.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,qCAAqB","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/TextDecoder.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/accordion.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAyC,gCAA6B,gCAA6B,iLAAsF","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/accordion.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/accordion.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAyC,gCAA6B,gCAA6B,iLAAsF","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/accordion.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/avatar.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAA2C,gCAA6B,gCAA6B,yNAAqG","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/avatar.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/avatar.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAA2C,gCAA6B,gCAA6B,yNAAqG","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/avatar.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/breadcrumb.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAA+C,gCAA6B,gCAA6B,+TAAyJ","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/breadcrumb.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/breadcrumb.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAA+C,gCAA6B,gCAA6B,+TAAyJ","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/breadcrumb.js"}
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import { VariantProps } from 'class-variance-authority';
4
4
 
5
5
  declare const buttonVariants: (props?: ({
6
- variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
6
+ variant?: "default" | "link" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
7
7
  size?: "default" | "sm" | "lg" | "icon" | "none" | null | undefined;
8
8
  } & class_variance_authority_types.ClassProp) | undefined) => string;
9
9
  interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import { VariantProps } from 'class-variance-authority';
4
4
 
5
5
  declare const buttonVariants: (props?: ({
6
- variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
6
+ variant?: "default" | "link" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
7
7
  size?: "default" | "sm" | "lg" | "icon" | "none" | null | undefined;
8
8
  } & class_variance_authority_types.ClassProp) | undefined) => string;
9
9
  interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/button.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAAqC,gCAA6B,gCAA6B,iFAAwC","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/button.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/button.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAAqC,gCAA6B,gCAA6B,iFAAwC","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/button.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/calendar.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAqC,gCAA6B,gCAA6B,gCAA6B,sFAA6C","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/calendar.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/calendar.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAqC,gCAA6B,gCAA6B,gCAA6B,sFAA6C","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/calendar.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/card.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAA6C,gCAA6B,gCAA6B,oPAAuG","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/card.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/card.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAA6C,gCAA6B,gCAA6B,oPAAuG","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/card.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/checkbox.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,sCAAsB","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/checkbox.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/checkbox.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,sCAAsB","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/checkbox.js"}
@@ -1,3 +1,3 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
- var _chunkUW73WIQUjs = require('../chunk-UW73WIQU.js');require('../chunk-ULIOO55I.js');require('../chunk-SPGHRCUD.js');require('../chunk-53P3PXF7.js');require('../chunk-3BVMHDYA.js');require('../chunk-IJVB2BVO.js');require('../chunk-FUYXCJOQ.js');require('../chunk-XYO4VLMF.js');exports.Combobox = _chunkUW73WIQUjs.b; exports.ComboboxChips = _chunkUW73WIQUjs.a;
2
+ var _chunkZ56XUN4Kjs = require('../chunk-Z56XUN4K.js');require('../chunk-ULIOO55I.js');require('../chunk-S6HVCOPV.js');require('../chunk-JFGDGMTA.js');require('../chunk-3BVMHDYA.js');require('../chunk-IJVB2BVO.js');require('../chunk-FUYXCJOQ.js');require('../chunk-XYO4VLMF.js');exports.Combobox = _chunkZ56XUN4Kjs.b; exports.ComboboxChips = _chunkZ56XUN4Kjs.a;
3
3
  //# sourceMappingURL=combobox.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/combobox.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAAqC,gCAA6B,gCAA6B,gCAA6B,gCAA6B,gCAA6B,gCAA6B,gCAA6B,kFAAyC","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/combobox.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/combobox.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAAqC,gCAA6B,gCAA6B,gCAA6B,gCAA6B,gCAA6B,gCAA6B,gCAA6B,kFAAyC","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/combobox.js"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a,b}from"../chunk-QOEM7ZRV.mjs";import"../chunk-FZ3NXOFK.mjs";import"../chunk-4DRIPZWE.mjs";import"../chunk-RUEPYIWM.mjs";import"../chunk-4LR7SOCY.mjs";import"../chunk-QZKQORLQ.mjs";import"../chunk-S5TKCF6T.mjs";import"../chunk-KPAOPUY2.mjs";export{b as Combobox,a as ComboboxChips};
2
+ import{a,b}from"../chunk-CXU655N7.mjs";import"../chunk-FZ3NXOFK.mjs";import"../chunk-GI7CX63V.mjs";import"../chunk-O5KQEJGL.mjs";import"../chunk-4LR7SOCY.mjs";import"../chunk-QZKQORLQ.mjs";import"../chunk-S5TKCF6T.mjs";import"../chunk-KPAOPUY2.mjs";export{b as Combobox,a as ComboboxChips};
3
3
  //# sourceMappingURL=combobox.mjs.map
@@ -1,3 +1,3 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
- var _chunkSPGHRCUDjs = require('../chunk-SPGHRCUD.js');require('../chunk-53P3PXF7.js');require('../chunk-3BVMHDYA.js');require('../chunk-IJVB2BVO.js');require('../chunk-FUYXCJOQ.js');require('../chunk-XYO4VLMF.js');exports.Command = _chunkSPGHRCUDjs.a; exports.CommandDialog = _chunkSPGHRCUDjs.b; exports.CommandEmpty = _chunkSPGHRCUDjs.e; exports.CommandGroup = _chunkSPGHRCUDjs.f; exports.CommandInput = _chunkSPGHRCUDjs.c; exports.CommandItem = _chunkSPGHRCUDjs.h; exports.CommandList = _chunkSPGHRCUDjs.d; exports.CommandSeparator = _chunkSPGHRCUDjs.g; exports.CommandShortcut = _chunkSPGHRCUDjs.i;
2
+ var _chunkS6HVCOPVjs = require('../chunk-S6HVCOPV.js');require('../chunk-JFGDGMTA.js');require('../chunk-3BVMHDYA.js');require('../chunk-IJVB2BVO.js');require('../chunk-FUYXCJOQ.js');require('../chunk-XYO4VLMF.js');exports.Command = _chunkS6HVCOPVjs.a; exports.CommandDialog = _chunkS6HVCOPVjs.b; exports.CommandEmpty = _chunkS6HVCOPVjs.e; exports.CommandGroup = _chunkS6HVCOPVjs.f; exports.CommandInput = _chunkS6HVCOPVjs.c; exports.CommandItem = _chunkS6HVCOPVjs.h; exports.CommandList = _chunkS6HVCOPVjs.d; exports.CommandSeparator = _chunkS6HVCOPVjs.g; exports.CommandShortcut = _chunkS6HVCOPVjs.i;
3
3
  //# sourceMappingURL=command.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/command.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAAmD,gCAA6B,gCAA6B,gCAA6B,gCAA6B,gCAA6B,mYAA2K","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/command.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/command.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAAmD,gCAA6B,gCAA6B,gCAA6B,gCAA6B,gCAA6B,mYAA2K","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/command.js"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a,b,c,d,e,f,g,h,i}from"../chunk-4DRIPZWE.mjs";import"../chunk-RUEPYIWM.mjs";import"../chunk-4LR7SOCY.mjs";import"../chunk-QZKQORLQ.mjs";import"../chunk-S5TKCF6T.mjs";import"../chunk-KPAOPUY2.mjs";export{a as Command,b as CommandDialog,e as CommandEmpty,f as CommandGroup,c as CommandInput,h as CommandItem,d as CommandList,g as CommandSeparator,i as CommandShortcut};
2
+ import{a,b,c,d,e,f,g,h,i}from"../chunk-GI7CX63V.mjs";import"../chunk-O5KQEJGL.mjs";import"../chunk-4LR7SOCY.mjs";import"../chunk-QZKQORLQ.mjs";import"../chunk-S5TKCF6T.mjs";import"../chunk-KPAOPUY2.mjs";export{a as Command,b as CommandDialog,e as CommandEmpty,f as CommandGroup,c as CommandInput,h as CommandItem,d as CommandList,g as CommandSeparator,i as CommandShortcut};
3
3
  //# sourceMappingURL=command.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/date-picker.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,gCAA6B,gCAA6B,wCAAwB","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/date-picker.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/date-picker.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,gCAA6B,gCAA6B,wCAAwB","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/date-picker.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/date-range-picker.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,gCAA6B,gCAA6B,6CAA6B","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/date-range-picker.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/date-range-picker.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,gCAA6B,gCAA6B,6CAA6B","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/date-range-picker.js"}
@@ -1,3 +1,3 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
- "use client";var _chunk53P3PXF7js = require('../chunk-53P3PXF7.js');require('../chunk-3BVMHDYA.js');require('../chunk-IJVB2BVO.js');require('../chunk-FUYXCJOQ.js');require('../chunk-XYO4VLMF.js');exports.Dialog = _chunk53P3PXF7js.a; exports.DialogClose = _chunk53P3PXF7js.d; exports.DialogContent = _chunk53P3PXF7js.f; exports.DialogDescription = _chunk53P3PXF7js.j; exports.DialogFooter = _chunk53P3PXF7js.h; exports.DialogHeader = _chunk53P3PXF7js.g; exports.DialogOverlay = _chunk53P3PXF7js.e; exports.DialogPortal = _chunk53P3PXF7js.c; exports.DialogTitle = _chunk53P3PXF7js.i; exports.DialogTrigger = _chunk53P3PXF7js.b;
2
+ "use client";var _chunkJFGDGMTAjs = require('../chunk-JFGDGMTA.js');require('../chunk-3BVMHDYA.js');require('../chunk-IJVB2BVO.js');require('../chunk-FUYXCJOQ.js');require('../chunk-XYO4VLMF.js');exports.Dialog = _chunkJFGDGMTAjs.a; exports.DialogClose = _chunkJFGDGMTAjs.d; exports.DialogContent = _chunkJFGDGMTAjs.f; exports.DialogDescription = _chunkJFGDGMTAjs.j; exports.DialogFooter = _chunkJFGDGMTAjs.h; exports.DialogHeader = _chunkJFGDGMTAjs.g; exports.DialogOverlay = _chunkJFGDGMTAjs.e; exports.DialogPortal = _chunkJFGDGMTAjs.c; exports.DialogTitle = _chunkJFGDGMTAjs.i; exports.DialogTrigger = _chunkJFGDGMTAjs.b;
3
3
  //# sourceMappingURL=dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/dialog.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAqD,gCAA6B,gCAA6B,gCAA6B,gCAA6B,6aAA4L","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/dialog.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/dialog.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAqD,gCAA6B,gCAA6B,gCAA6B,gCAA6B,6aAA4L","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/dialog.js"}
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- "use client";import{a,b,c,d,e,f,g,h,i,j}from"../chunk-RUEPYIWM.mjs";import"../chunk-4LR7SOCY.mjs";import"../chunk-QZKQORLQ.mjs";import"../chunk-S5TKCF6T.mjs";import"../chunk-KPAOPUY2.mjs";export{a as Dialog,d as DialogClose,f as DialogContent,j as DialogDescription,h as DialogFooter,g as DialogHeader,e as DialogOverlay,c as DialogPortal,i as DialogTitle,b as DialogTrigger};
2
+ "use client";import{a,b,c,d,e,f,g,h,i,j}from"../chunk-O5KQEJGL.mjs";import"../chunk-4LR7SOCY.mjs";import"../chunk-QZKQORLQ.mjs";import"../chunk-S5TKCF6T.mjs";import"../chunk-KPAOPUY2.mjs";export{a as Dialog,d as DialogClose,f as DialogContent,j as DialogDescription,h as DialogFooter,g as DialogHeader,e as DialogOverlay,c as DialogPortal,i as DialogTitle,b as DialogTrigger};
3
3
  //# sourceMappingURL=dialog.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/drawer.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAA6C,gCAA6B,gCAA6B,gCAA6B,gCAA6B,gCAA6B,qPAAwG","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/drawer.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/drawer.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAA6C,gCAA6B,gCAA6B,gCAA6B,gCAA6B,gCAA6B,qPAAwG","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/drawer.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/dropdown-menu.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAA+D,gCAA6B,gCAA6B,6uBAA+X","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/dropdown-menu.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/dropdown-menu.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAA+D,gCAA6B,gCAA6B,6uBAA+X","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/dropdown-menu.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/field.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAuC,gCAA6B,gCAA6B,2HAAyD","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/field.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/field.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAuC,gCAA6B,gCAA6B,2HAAyD","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/field.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/file-upload.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAAmC,gCAA6B,gCAA6B,gCAA6B,wCAAwB","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/file-upload.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/file-upload.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAAmC,gCAA6B,gCAA6B,gCAA6B,wCAAwB","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/file-upload.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/input.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAAmC,gCAA6B,gCAA6B,mCAAmB","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/input.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/input.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAAmC,gCAA6B,gCAA6B,mCAAmB","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/input.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/label.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,mCAAmB","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/label.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/label.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,mCAAmB","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/label.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/popover.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAAuC,gCAA6B,gCAA6B,+HAA6D","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/popover.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/popover.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAAuC,gCAA6B,gCAA6B,+HAA6D","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/popover.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/progress.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,sCAAsB","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/progress.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/progress.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,sCAAsB","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/progress.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/radio-group.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAqC,gCAA6B,gCAA6B,qFAA4C","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/radio-group.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/radio-group.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAqC,gCAA6B,gCAA6B,qFAA4C","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/radio-group.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/scroll-area.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAqC,gCAA6B,gCAA6B,gFAAuC","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/scroll-area.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/scroll-area.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAqC,gCAA6B,gCAA6B,gFAAuC","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/scroll-area.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/separator.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,uCAAuB","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/separator.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/separator.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,uCAAuB","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/separator.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/sheet.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAqD,gCAA6B,gCAA6B,maAAkL","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/sheet.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/sheet.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAqD,gCAA6B,gCAA6B,maAAkL","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/sheet.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/sidebar.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmF,gCAA6B,gCAA6B,gCAA6B,gCAA6B,gCAA6B,gCAA6B,gCAA6B,gCAA6B,inCAAygB","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/sidebar.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/sidebar.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmF,gCAA6B,gCAA6B,gCAA6B,gCAA6B,gCAA6B,gCAA6B,gCAA6B,gCAA6B,inCAAygB","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/sidebar.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/skeleton.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAAmC,gCAA6B,gCAA6B,sCAAsB","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/skeleton.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/skeleton.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAAmC,gCAA6B,gCAA6B,sCAAsB","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/skeleton.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/slider.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,oCAAoB","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/slider.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/slider.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,oCAAoB","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/slider.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/switch.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,oCAAoB","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/switch.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/switch.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,oCAAoB","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/switch.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/table.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmD,gCAA6B,gCAA6B,+WAAuJ","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/table.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/table.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmD,gCAA6B,gCAA6B,+WAAuJ","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/table.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/tabs.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAAyC,gCAA6B,gCAA6B,6JAAkE","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/tabs.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/tabs.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAAyC,gCAA6B,gCAA6B,6JAAkE","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/tabs.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/textarea.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAAmC,gCAA6B,gCAA6B,sCAAsB","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/textarea.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/textarea.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,uDAAmC,gCAA6B,gCAA6B,sCAAsB","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/textarea.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/toast.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAqC,gCAA6B,yEAAgC","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/toast.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/toast.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAqC,gCAA6B,yEAAgC","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/toast.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/tooltip.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAyC,gCAA6B,gCAA6B,6KAAkF","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/tooltip.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/tooltip.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAyC,gCAA6B,gCAA6B,6KAAkF","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/tooltip.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/tree-select.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,gCAA6B,gCAA6B,wCAAwB","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/components/tree-select.js"}
1
+ {"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/tree-select.js"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY,CAAC,uDAAmC,gCAA6B,gCAA6B,gCAA6B,gCAA6B,wCAAwB","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/components/tree-select.js"}