ivt 0.0.5 → 0.0.6

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 (128) hide show
  1. package/dist/accordion/index.mjs +1 -1
  2. package/dist/badge/index.mjs +1 -1
  3. package/dist/base/index.d.ts +13 -1
  4. package/dist/base/index.mjs +1 -1
  5. package/dist/base/index.mjs.map +1 -1
  6. package/dist/button/index.d.ts +1 -1
  7. package/dist/button/index.mjs +1 -1
  8. package/dist/calendar/index.mjs +1 -1
  9. package/dist/calendar/index.mjs.map +1 -1
  10. package/dist/card/index.mjs +1 -1
  11. package/dist/checkbox/index.mjs +1 -1
  12. package/dist/chunks/Combination-w1gWj54H.mjs +2 -0
  13. package/dist/chunks/Combination-w1gWj54H.mjs.map +1 -0
  14. package/dist/chunks/{TextWrap-apUajb0q.mjs → TextWrap-CjH4DiRJ.mjs} +2 -2
  15. package/dist/chunks/{TextWrap-apUajb0q.mjs.map → TextWrap-CjH4DiRJ.mjs.map} +1 -1
  16. package/dist/chunks/{accordion-CQGSj-IW.mjs → accordion-B9KfEWUD.mjs} +2 -2
  17. package/dist/chunks/{accordion-CQGSj-IW.mjs.map → accordion-B9KfEWUD.mjs.map} +1 -1
  18. package/dist/chunks/{bundle-mjs-CtG6Smj_.mjs → bundle-mjs-WLX8GCHw.mjs} +1 -1
  19. package/dist/chunks/{bundle-mjs-CtG6Smj_.mjs.map → bundle-mjs-WLX8GCHw.mjs.map} +1 -1
  20. package/dist/chunks/{button-D_c_ntEX.mjs → button-C25JgpF1.mjs} +2 -2
  21. package/dist/chunks/{button-D_c_ntEX.mjs.map → button-C25JgpF1.mjs.map} +1 -1
  22. package/dist/chunks/calendar-Bg8q2q0f.mjs +2 -0
  23. package/dist/chunks/calendar-Bg8q2q0f.mjs.map +1 -0
  24. package/dist/chunks/check-B7qxEGdi.mjs +2 -0
  25. package/dist/chunks/{check-DjRtCxG6.mjs.map → check-B7qxEGdi.mjs.map} +1 -1
  26. package/dist/chunks/chevron-down-C5QWUB1b.mjs +2 -0
  27. package/dist/chunks/{chevron-down-BCzo9yB2.mjs.map → chevron-down-C5QWUB1b.mjs.map} +1 -1
  28. package/dist/chunks/chevron-left-yZO8_iYx.mjs +2 -0
  29. package/dist/chunks/{chevron-left-DUJqO1vN.mjs.map → chevron-left-yZO8_iYx.mjs.map} +1 -1
  30. package/dist/chunks/chevron-right-DX1OAykB.mjs +2 -0
  31. package/dist/chunks/{chevron-right-CoNJE7ZW.mjs.map → chevron-right-DX1OAykB.mjs.map} +1 -1
  32. package/dist/chunks/{command-eoEJKrZQ.mjs → command-BdZ-rcJh.mjs} +2 -2
  33. package/dist/chunks/{command-eoEJKrZQ.mjs.map → command-BdZ-rcJh.mjs.map} +1 -1
  34. package/dist/chunks/{createLucideIcon-CIn9dHnW.mjs → createLucideIcon-CRElQpLA.mjs} +1 -1
  35. package/dist/chunks/{createLucideIcon-CIn9dHnW.mjs.map → createLucideIcon-CRElQpLA.mjs.map} +1 -1
  36. package/dist/chunks/{dialog-TKsk0Iu2.mjs → dialog-BEfPREgp.mjs} +2 -2
  37. package/dist/chunks/{dialog-TKsk0Iu2.mjs.map → dialog-BEfPREgp.mjs.map} +1 -1
  38. package/dist/chunks/{index-D-s-TbR3.mjs → index-46Dn4Q--.mjs} +2 -2
  39. package/dist/chunks/{index-D-s-TbR3.mjs.map → index-46Dn4Q--.mjs.map} +1 -1
  40. package/dist/chunks/{index-B98y16WE.mjs → index-BFX-PqV0.mjs} +2 -2
  41. package/dist/chunks/{index-B98y16WE.mjs.map → index-BFX-PqV0.mjs.map} +1 -1
  42. package/dist/chunks/{index-DOx7g1Qo.mjs → index-CIU1Xq1J.mjs} +2 -2
  43. package/dist/chunks/{index-DOx7g1Qo.mjs.map → index-CIU1Xq1J.mjs.map} +1 -1
  44. package/dist/chunks/{index-DxtdpBCb.mjs → index-CN1SA0_I.mjs} +1 -1
  45. package/dist/chunks/{index-DxtdpBCb.mjs.map → index-CN1SA0_I.mjs.map} +1 -1
  46. package/dist/chunks/{index-CXrD_SvM.mjs → index-COE6uEyP.mjs} +2 -2
  47. package/dist/chunks/{index-CXrD_SvM.mjs.map → index-COE6uEyP.mjs.map} +1 -1
  48. package/dist/chunks/{index-C598HM8V.mjs → index-CYJu5yO5.mjs} +2 -2
  49. package/dist/chunks/{index-C598HM8V.mjs.map → index-CYJu5yO5.mjs.map} +1 -1
  50. package/dist/chunks/{index-CX5r7IKM.mjs → index-ClSqYyO3.mjs} +1 -1
  51. package/dist/chunks/{index-CX5r7IKM.mjs.map → index-ClSqYyO3.mjs.map} +1 -1
  52. package/dist/chunks/{index-CCYyT_rk.mjs → index-D1rtromL.mjs} +1 -1
  53. package/dist/chunks/{index-CCYyT_rk.mjs.map → index-D1rtromL.mjs.map} +1 -1
  54. package/dist/chunks/{index-DzMQps4Q.mjs → index-DM6C2fpF.mjs} +2 -2
  55. package/dist/chunks/{index-DzMQps4Q.mjs.map → index-DM6C2fpF.mjs.map} +1 -1
  56. package/dist/chunks/index-DP22y5yX.mjs +2 -0
  57. package/dist/chunks/{index-CluuXDB_.mjs.map → index-DP22y5yX.mjs.map} +1 -1
  58. package/dist/chunks/{index-Db2NO0t8.mjs → index-DyAmMjEH.mjs} +2 -2
  59. package/dist/chunks/{index-Db2NO0t8.mjs.map → index-DyAmMjEH.mjs.map} +1 -1
  60. package/dist/chunks/{index-BpJwNLRW.mjs → index-oT2uIdb1.mjs} +1 -1
  61. package/dist/chunks/{index-BpJwNLRW.mjs.map → index-oT2uIdb1.mjs.map} +1 -1
  62. package/dist/chunks/{input-BxTp3Q5l.mjs → input-D7H1CxUv.mjs} +2 -2
  63. package/dist/chunks/{input-BxTp3Q5l.mjs.map → input-D7H1CxUv.mjs.map} +1 -1
  64. package/dist/chunks/{label-BhQUf4a7.mjs → label-Cue4yhAm.mjs} +2 -2
  65. package/dist/chunks/{label-BhQUf4a7.mjs.map → label-Cue4yhAm.mjs.map} +1 -1
  66. package/dist/chunks/{pagination-qTGmkoRO.mjs → pagination-BYLwRYiM.mjs} +2 -2
  67. package/dist/chunks/{pagination-qTGmkoRO.mjs.map → pagination-BYLwRYiM.mjs.map} +1 -1
  68. package/dist/chunks/popover-fxWu9ghI.mjs +2 -0
  69. package/dist/chunks/{popover-DDPhp0Sa.mjs.map → popover-fxWu9ghI.mjs.map} +1 -1
  70. package/dist/chunks/{progress-C_yWLgAi.mjs → progress-CKxTxjba.mjs} +2 -2
  71. package/dist/chunks/{progress-C_yWLgAi.mjs.map → progress-CKxTxjba.mjs.map} +1 -1
  72. package/dist/chunks/{scroll-area-CuX49k8h.mjs → scroll-area-DSDAk121.mjs} +2 -2
  73. package/dist/chunks/{scroll-area-CuX49k8h.mjs.map → scroll-area-DSDAk121.mjs.map} +1 -1
  74. package/dist/chunks/{select-BydKi4E_.mjs → select-BtEQWkQs.mjs} +2 -2
  75. package/dist/chunks/{select-BydKi4E_.mjs.map → select-BtEQWkQs.mjs.map} +1 -1
  76. package/dist/chunks/{skeleton-BFnps3wE.mjs → skeleton-DsvXPbHg.mjs} +2 -2
  77. package/dist/chunks/{skeleton-BFnps3wE.mjs.map → skeleton-DsvXPbHg.mjs.map} +1 -1
  78. package/dist/chunks/{sortable-7DK1K35h.mjs → sortable-D4tl3H9D.mjs} +2 -2
  79. package/dist/chunks/{sortable-7DK1K35h.mjs.map → sortable-D4tl3H9D.mjs.map} +1 -1
  80. package/dist/chunks/{table-DRvqJktC.mjs → table-Cql47amq.mjs} +2 -2
  81. package/dist/chunks/{table-DRvqJktC.mjs.map → table-Cql47amq.mjs.map} +1 -1
  82. package/dist/chunks/{tslib.es6-Cx3xzITX.mjs → tslib.es6-C59-pKsO.mjs} +1 -1
  83. package/dist/chunks/{tslib.es6-Cx3xzITX.mjs.map → tslib.es6-C59-pKsO.mjs.map} +1 -1
  84. package/dist/chunks/{utils-jIFl11as.mjs → utils-Dd3mX7Lt.mjs} +2 -2
  85. package/dist/chunks/{utils-jIFl11as.mjs.map → utils-Dd3mX7Lt.mjs.map} +1 -1
  86. package/dist/chunks/x-CYyikW5M.mjs +2 -0
  87. package/dist/chunks/{x-xnz0lTd-.mjs.map → x-CYyikW5M.mjs.map} +1 -1
  88. package/dist/command/index.mjs +1 -1
  89. package/dist/data-table/index.d.ts +4 -2
  90. package/dist/data-table/index.mjs +1 -1
  91. package/dist/data-table/index.mjs.map +1 -1
  92. package/dist/dialog/index.mjs +1 -1
  93. package/dist/dropdown-menu/index.mjs +1 -1
  94. package/dist/dropdown-menu/index.mjs.map +1 -1
  95. package/dist/dropzone/index.d.ts +4 -3
  96. package/dist/dropzone/index.mjs +2 -2
  97. package/dist/dropzone/index.mjs.map +1 -1
  98. package/dist/form/index.mjs +1 -1
  99. package/dist/icon/index.mjs +1 -1
  100. package/dist/index.css +1 -1
  101. package/dist/input/index.mjs +1 -1
  102. package/dist/label/index.mjs +1 -1
  103. package/dist/pagination/index.mjs +1 -1
  104. package/dist/popover/index.mjs +1 -1
  105. package/dist/progress/index.mjs +1 -1
  106. package/dist/scroll-area/index.mjs +1 -1
  107. package/dist/select/index.mjs +1 -1
  108. package/dist/separator/index.mjs +1 -1
  109. package/dist/sheet/index.mjs +1 -1
  110. package/dist/sheet/index.mjs.map +1 -1
  111. package/dist/skeleton/index.mjs +1 -1
  112. package/dist/sortable/index.mjs +1 -1
  113. package/dist/table/index.mjs +1 -1
  114. package/dist/tabs/index.mjs +1 -1
  115. package/dist/toast/index.d.ts +10 -10
  116. package/dist/toast/index.mjs +1 -1
  117. package/dist/toast/index.mjs.map +1 -1
  118. package/dist/tooltip/index.mjs +1 -1
  119. package/package.json +3 -3
  120. package/dist/chunks/check-DjRtCxG6.mjs +0 -2
  121. package/dist/chunks/chevron-down-BCzo9yB2.mjs +0 -2
  122. package/dist/chunks/chevron-left-DUJqO1vN.mjs +0 -2
  123. package/dist/chunks/chevron-right-CoNJE7ZW.mjs +0 -2
  124. package/dist/chunks/index-ChLuxn93.mjs +0 -2
  125. package/dist/chunks/index-ChLuxn93.mjs.map +0 -1
  126. package/dist/chunks/index-CluuXDB_.mjs +0 -2
  127. package/dist/chunks/popover-DDPhp0Sa.mjs +0 -2
  128. package/dist/chunks/x-xnz0lTd-.mjs +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../node_modules/lucide-react/dist/esm/icons/arrow-down.js","../../node_modules/lucide-react/dist/esm/icons/arrow-up.js","../../src/components/default/data-table/DataTableViewOptions.tsx","../../src/components/default/data-table/DataTableSearch.tsx","../../node_modules/@tanstack/react-table/build/lib/index.mjs","../../src/components/default/data-table/DataTableRowSkeleton.tsx","../../src/components/default/data-table/DataTablePaginationSkeleton.tsx","../../src/components/default/data-table/DataTablePagination.tsx","../../src/components/default/data-table/DataTableMainFrame.tsx","../../src/components/default/data-table/DataTableSkeleton.tsx","../../src/components/default/data-table/DataTableStatus.tsx","../../src/components/default/data-table/DataTableMainFrameSortable.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.479.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }],\n [\"path\", { d: \"m19 12-7 7-7-7\", key: \"1idqje\" }]\n];\nconst ArrowDown = createLucideIcon(\"ArrowDown\", __iconNode);\n\nexport { __iconNode, ArrowDown as default };\n//# sourceMappingURL=arrow-down.js.map\n","/**\n * @license lucide-react v0.479.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"m5 12 7-7 7 7\", key: \"hav0vg\" }],\n [\"path\", { d: \"M12 19V5\", key: \"x0mq9r\" }]\n];\nconst ArrowUp = createLucideIcon(\"ArrowUp\", __iconNode);\n\nexport { __iconNode, ArrowUp as default };\n//# sourceMappingURL=arrow-up.js.map\n","import type { Table } from \"@tanstack/react-table\";\nimport { Check, ChevronDownIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"@/components/ui/command\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/components/ui/popover\";\nimport { cn } from \"@/lib/utils\";\n\ninterface DataTableViewOptionsProps<TData> {\n table: Table<TData>;\n transformColumnName?: (id: string) => string;\n}\n\nexport function DataTableViewOptions<TData>({\n table,\n transformColumnName,\n}: DataTableViewOptionsProps<TData>) {\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n\n return (\n <Popover modal>\n <PopoverTrigger asChild>\n <Button ref={triggerRef} aria-label=\"Toggle columns\" variant=\"outline\">\n Colunas\n <ChevronDownIcon className=\"h-4 w-4\" />\n </Button>\n </PopoverTrigger>\n <PopoverContent\n align=\"end\"\n className=\"w-44 p-0\"\n onCloseAutoFocus={() => triggerRef.current?.focus()}\n >\n <Command>\n <CommandInput placeholder=\"Pesquisar colunas...\" />\n <CommandList>\n <CommandEmpty>Nenhuma coluna encontrada.</CommandEmpty>\n <CommandGroup>\n {table\n .getAllColumns()\n .filter(\n (column) =>\n typeof column.accessorFn !== \"undefined\" &&\n column.getCanHide(),\n )\n .map((column) => {\n return (\n <CommandItem\n key={column.id}\n onSelect={() =>\n column.toggleVisibility(!column.getIsVisible())\n }\n >\n <span className=\"truncate\">\n {transformColumnName\n ? transformColumnName(column.id)\n : column.id}\n </span>\n <Check\n className={cn(\n \"ml-auto size-4 shrink-0\",\n column.getIsVisible() ? \"opacity-100\" : \"opacity-0\",\n )}\n />\n </CommandItem>\n );\n })}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n}\n","import { Input } from \"@/components/ui/input\";\nimport type { Table } from \"@tanstack/react-table\";\nimport { SearchIcon } from \"lucide-react\";\n\ninterface DataTableSearchProps<TData> {\n table: Table<TData>;\n keySearch: string;\n placeholder: string;\n}\n\nexport function DataTableSearch<TData>({\n table,\n keySearch,\n placeholder,\n}: DataTableSearchProps<TData>) {\n return (\n <div className=\"relative w-full max-w-sm\">\n <SearchIcon className=\"text-muted-foreground absolute top-3 left-3 h-4 w-4\" />\n <Input\n placeholder={placeholder}\n value={(table.getColumn(keySearch)?.getFilterValue() as string) ?? \"\"}\n onChange={(event) =>\n table.getColumn(keySearch)?.setFilterValue(event.target.value)\n }\n className=\"w-full pl-8 xl:w-80\"\n />\n </div>\n );\n}\n","/**\n * react-table\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport * as React from 'react';\nimport { createTable } from '@tanstack/table-core';\nexport * from '@tanstack/table-core';\n\n//\n\n/**\n * If rendering headers, cells, or footers with custom markup, use flexRender instead of `cell.getValue()` or `cell.renderValue()`.\n */\nfunction flexRender(Comp, props) {\n return !Comp ? null : isReactComponent(Comp) ? /*#__PURE__*/React.createElement(Comp, props) : Comp;\n}\nfunction isReactComponent(component) {\n return isClassComponent(component) || typeof component === 'function' || isExoticComponent(component);\n}\nfunction isClassComponent(component) {\n return typeof component === 'function' && (() => {\n const proto = Object.getPrototypeOf(component);\n return proto.prototype && proto.prototype.isReactComponent;\n })();\n}\nfunction isExoticComponent(component) {\n return typeof component === 'object' && typeof component.$$typeof === 'symbol' && ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description);\n}\nfunction useReactTable(options) {\n // Compose in the generic options to the user options\n const resolvedOptions = {\n state: {},\n // Dummy state\n onStateChange: () => {},\n // noop\n renderFallbackValue: null,\n ...options\n };\n\n // Create a new table and store it in state\n const [tableRef] = React.useState(() => ({\n current: createTable(resolvedOptions)\n }));\n\n // By default, manage table state here using the table's initial state\n const [state, setState] = React.useState(() => tableRef.current.initialState);\n\n // Compose the default state above with any user state. This will allow the user\n // to only control a subset of the state if desired.\n tableRef.current.setOptions(prev => ({\n ...prev,\n ...options,\n state: {\n ...state,\n ...options.state\n },\n // Similarly, we'll maintain both our internal state and any user-provided\n // state.\n onStateChange: updater => {\n setState(updater);\n options.onStateChange == null || options.onStateChange(updater);\n }\n }));\n return tableRef.current;\n}\n\nexport { flexRender, useReactTable };\n//# sourceMappingURL=index.mjs.map\n","import { Skeleton } from \"@/components/ui/skeleton\";\nimport { TableCell, TableRow } from \"@/components/ui/table\";\n\ninterface DataTableRowSkeletonProps\n extends React.HTMLAttributes<HTMLDivElement> {\n columnCount: number;\n rowCount?: number;\n cellWidths?: string[];\n shrinkZero?: boolean;\n}\n\nexport function DataTableRowSkeleton(props: DataTableRowSkeletonProps) {\n const {\n columnCount,\n rowCount = 8,\n cellWidths = [\"auto\"],\n shrinkZero = false,\n } = props;\n\n return (\n <>\n {Array.from({ length: rowCount }).map((_, i) => (\n <TableRow key={`row-${String(i)}`} className=\"hover:bg-transparent\">\n {Array.from({ length: columnCount }).map((_, j) => (\n <TableCell\n key={`cell-${String(i)}-${j}`}\n style={{\n width: cellWidths[j],\n minWidth: shrinkZero ? cellWidths[j] : \"auto\",\n }}\n >\n <Skeleton className=\"h-6 w-full\" />\n </TableCell>\n ))}\n </TableRow>\n ))}\n </>\n );\n}\n","import { Skeleton } from \"@/components/ui/skeleton\";\nimport { cn } from \"@/lib/utils\";\n\nexport function DataTablePaginationSkeleton({\n className,\n}: {\n className?: string;\n}) {\n return (\n <div className=\"mt-4 flex flex-wrap items-center justify-between gap-2\">\n <Skeleton className={cn(\"h-5 w-40\", className)} />\n <div className=\"flex flex-wrap items-center justify-between gap-2 gap-y-4\">\n <Skeleton className={cn(\"h-10 w-28\", className)} />\n <Skeleton className={cn(\"h-9 w-[16rem]\", className)} />\n </div>\n </div>\n );\n}\n","import type { Table } from \"@tanstack/react-table\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { PaginationEllipsis, PaginationItem } from \"@/components/ui/pagination\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\";\nimport { ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\";\nimport React from \"react\";\n\ninterface DataTablePaginationProps<TData> {\n table: Table<TData>;\n pageSizeOptions?: number[];\n dataLabel?: string;\n}\n\nexport function DataTablePagination<TData>({\n table,\n pageSizeOptions = [20, 30, 50, 100, 200],\n dataLabel = \"Fundos\",\n}: DataTablePaginationProps<TData>) {\n const pageSize = pageSizeOptions[0];\n const currentPage = table.getState().pagination.pageIndex + 1;\n const rowCount = table.getRowCount();\n const totalPageCount = Math.ceil(\n rowCount / table.getState().pagination.pageSize,\n );\n\n const renderPageNumbers = () => {\n const items: React.ReactNode[] = [];\n const maxVisiblePages = 3;\n\n if (totalPageCount <= maxVisiblePages) {\n for (let i = 1; i <= totalPageCount; i++) {\n items.push(\n <Button\n variant={currentPage === i ? \"outline\" : \"ghost\"}\n key={i}\n onClick={() => table.setPageIndex(i - 1)}\n className=\"size-9\"\n >\n {i}\n </Button>,\n );\n }\n } else {\n items.push(\n <Button\n variant={currentPage === 1 ? \"outline\" : \"ghost\"}\n key={1}\n onClick={() => table.setPageIndex(0)}\n className=\"size-9\"\n >\n 1\n </Button>,\n );\n\n const start = Math.max(\n 2,\n Math.min(currentPage, totalPageCount - (maxVisiblePages - 1)),\n );\n const end = Math.min(totalPageCount - 1, start + maxVisiblePages - 2);\n\n if (start > 2) {\n items.push(\n <PaginationItem key=\"ellipsis-start\" className=\"list-none\">\n <PaginationEllipsis />\n </PaginationItem>,\n );\n }\n\n for (let i = start; i <= end; i++) {\n items.push(\n <Button\n variant={currentPage === i ? \"outline\" : \"ghost\"}\n key={i}\n onClick={() => table.setPageIndex(i - 1)}\n className=\"size-9\"\n >\n {i}\n </Button>,\n );\n }\n\n if (end < totalPageCount - 1) {\n items.push(\n <PaginationItem key=\"ellipsis-end\" className=\"list-none\">\n <PaginationEllipsis />\n </PaginationItem>,\n );\n }\n\n items.push(\n <Button\n variant={currentPage === totalPageCount ? \"outline\" : \"ghost\"}\n key={totalPageCount}\n onClick={() => table.setPageIndex(totalPageCount - 1)}\n >\n {totalPageCount}\n </Button>,\n );\n }\n\n return items;\n };\n return (\n <div className=\"mt-4 flex flex-wrap items-center justify-between gap-2\">\n <div className=\"text-muted-foreground flex gap-1 text-sm\">\n <p className=\"ml-2\">\n Mostrando {table.getRowModel().rows.length.toLocaleString()} de{\" \"}\n {rowCount} {dataLabel}.\n </p>\n </div>\n\n <div className=\"flex flex-wrap items-center justify-between gap-2 gap-y-4\">\n <Select\n value={\n String(table.getState().pagination.pageSize) || String(pageSize)\n }\n onValueChange={(value) => table.setPageSize(Number(value))}\n >\n <SelectTrigger className=\"w-fit\">\n <SelectValue\n placeholder={`Mostrar ${table.getState().pagination.pageSize || pageSize}`}\n />\n </SelectTrigger>\n <SelectContent>\n {rowCount && (rowCount === 0 || rowCount < pageSize) ? (\n <SelectItem value={String(pageSize)}>\n Mostrar {pageSize}\n </SelectItem>\n ) : (\n <>\n {pageSizeOptions.map((pageSize) => (\n <SelectItem key={pageSize} value={String(pageSize)}>\n Mostrar {pageSize}\n </SelectItem>\n ))}\n </>\n )}\n </SelectContent>\n </Select>\n\n <div className=\"flex flex-wrap gap-2 gap-y-4\">\n <Button\n variant=\"ghost\"\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n aria-label=\"Ir para página anterior\"\n className=\"gap-1\"\n >\n <ChevronLeftIcon className=\"size-4\" />\n Anterior\n </Button>\n\n <div className=\"flex gap-2\">{renderPageNumbers()}</div>\n\n <Button\n variant=\"ghost\"\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n aria-label=\"Ir para próxima página\"\n className=\"gap-1\"\n >\n Próximo\n <ChevronRightIcon className=\"size-4\" />\n </Button>\n </div>\n </div>\n </div>\n );\n}\n","import { TextWrap } from \"@/components/default/base/TextWrap\";\nimport { ScrollArea, ScrollBar } from \"@/components/ui/scroll-area\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\";\nimport { CaretSortIcon } from \"@radix-ui/react-icons\";\nimport type { ColumnDef, Table as TableType } from \"@tanstack/react-table\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { ArrowDownIcon, ArrowUpIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { DataTableRowSkeleton } from \"./DataTableRowSkeleton\";\nimport { DataTablePaginationSkeleton } from \"./DataTablePaginationSkeleton\";\nimport { DataTablePagination } from \"./DataTablePagination\";\n\ninterface DataTableViewOptionsProps<TData, TValue> {\n table: TableType<TData>;\n columns: ColumnDef<TData, TValue>[];\n setQueryParams?: React.Dispatch<React.SetStateAction<any>>;\n isLoadingTable?: boolean;\n dataLabel: string;\n actionColumns?: string[];\n}\n\nexport const DataTableMainFrame = <TData, TValue>({\n table,\n columns,\n isLoadingTable,\n setQueryParams,\n dataLabel,\n actionColumns = [],\n}: DataTableViewOptionsProps<TData, TValue>) => {\n const currentPage = Number(table.getState().pagination.pageIndex).toString();\n const pageSize = Number(table.getState().pagination.pageSize).toString();\n const sorting = table.getState().sorting;\n React.useEffect(() => {\n if (!setQueryParams) return;\n const sortingParams = { sortingBy: \"\", order: \"\" };\n if (sorting.length > 0) {\n sortingParams.sortingBy = sorting[0].id;\n sortingParams.order = sorting[0].desc ? \"DESC\" : \"ASC\";\n }\n setQueryParams((prev: any) => ({\n ...prev,\n pageSize,\n page: currentPage,\n ...sortingParams,\n }));\n }, [currentPage, pageSize, setQueryParams, sorting]);\n return (\n <>\n <ScrollArea className=\"bg-background w-full rounded-md border whitespace-nowrap\">\n <Table>\n <TableHeader className=\"group rounded-md\">\n {table.getHeaderGroups().map((headerGroup) => {\n return (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => {\n const {\n column: { id },\n } = header;\n\n const isActionsColumn = [\n \"actions\",\n ...actionColumns,\n ].includes(id);\n return (\n <TableHead key={header.id}>\n {header.isPlaceholder ? null : (\n <>\n <div\n {...{\n className:\n !isActionsColumn && header.column.getCanSort()\n ? \"flex w-full items-center justify-start cursor-pointer gap-1 font-medium\"\n : \"\",\n onClick: !isActionsColumn\n ? header.column.getToggleSortingHandler()\n : undefined,\n }}\n >\n {flexRender(\n header.column.columnDef.header,\n header.getContext(),\n )}\n\n {(!isActionsColumn &&\n header.column.getCanSort() &&\n {\n asc: (\n <ArrowDownIcon className=\"h-3.5 w-3.5\" />\n ),\n desc: <ArrowUpIcon className=\"h-3.5 w-3.5\" />,\n false: <CaretSortIcon className=\"h-4 w-4\" />,\n }[header.column.getIsSorted() as string]) ?? (\n <ArrowDownIcon className=\"h-3.5 w-3.5\" />\n )}\n </div>\n </>\n )}\n </TableHead>\n );\n })}\n </TableRow>\n );\n })}\n </TableHeader>\n\n <TableBody>\n {!isLoadingTable && table.getRowModel().rows?.length ? (\n table.getRowModel().rows.map((row) => {\n return (\n <TableRow\n key={row.id}\n data-state={row.getIsSelected() && \"selected\"}\n className=\"even:bg-body/50\"\n >\n {row.getVisibleCells().map((cell) => {\n return (\n <TableCell key={cell.id} className=\"p-2\">\n <TextWrap>\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext(),\n )}\n </TextWrap>\n </TableCell>\n );\n })}\n </TableRow>\n );\n })\n ) : isLoadingTable ? (\n <DataTableRowSkeleton\n columnCount={table.getAllColumns().length}\n />\n ) : (\n <TableRow>\n <TableCell\n colSpan={columns.length}\n className=\"h-24 text-center\"\n >\n Sem resultados\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n {isLoadingTable ? (\n <DataTablePaginationSkeleton />\n ) : (\n <DataTablePagination table={table} dataLabel={dataLabel} />\n )}\n </>\n );\n};\n","import React from \"react\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\";\nimport { cn } from \"@/lib/utils\";\n\ninterface DataTableSkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * The number of columns in the table.\n * @type number\n */\n columnCount: number;\n\n /**\n * The number of rows in the table.\n * @default 10\n * @type number | undefined\n */\n rowCount?: number;\n\n /**\n * The number of searchable columns in the table.\n * @default 0\n * @type number | undefined\n */\n searchableColumnCount?: number;\n\n /**\n * The number of filterable columns in the table.\n * @default 0\n * @type number | undefined\n */\n filterableColumnCount?: number;\n\n /**\n * Flag to show the table view options.\n * @default undefined\n * @type boolean | undefined\n */\n showViewOptions?: boolean;\n\n /**\n * The width of each cell in the table.\n * The length of the array should be equal to the columnCount.\n * Any valid CSS width value is accepted.\n * @default [\"auto\"]\n * @type string[] | undefined\n */\n cellWidths?: string[];\n\n /**\n * Flag to show the pagination bar.\n * @default true\n * @type boolean | undefined\n */\n withPagination?: boolean;\n\n /**\n * Flag to prevent the table cells from shrinking.\n * @default false\n * @type boolean | undefined\n */\n shrinkZero?: boolean;\n}\n\nexport function DataTableSkeleton(props: DataTableSkeletonProps) {\n const {\n columnCount,\n rowCount = 10,\n searchableColumnCount = 0,\n filterableColumnCount = 0,\n showViewOptions = true,\n cellWidths = [\"auto\"],\n withPagination = true,\n shrinkZero = false,\n className,\n ...skeletonProps\n } = props;\n\n return (\n <div\n className={cn(\"w-full space-y-2.5 overflow-auto\", className)}\n {...skeletonProps}\n >\n <div className=\"flex w-full items-center justify-between space-x-2 overflow-auto p-1\">\n <div className=\"flex flex-1 items-center space-x-2\">\n {searchableColumnCount > 0\n ? Array.from({ length: searchableColumnCount }).map((_, i) => (\n <Skeleton key={`${String(i)}`} className=\"h-7 w-40 lg:w-60\" />\n ))\n : null}\n {filterableColumnCount > 0\n ? Array.from({ length: filterableColumnCount }).map((_, i) => (\n <Skeleton\n key={`${String(i)}`}\n className=\"h-7 w-[4.5rem] border-dashed\"\n />\n ))\n : null}\n </div>\n {showViewOptions ? (\n <Skeleton className=\"ml-auto hidden h-7 w-[4.5rem] lg:flex\" />\n ) : null}\n </div>\n <div className=\"rounded-md border\">\n <Table>\n <TableHeader>\n {Array.from({ length: 1 }).map((_, i) => (\n <TableRow key={`${String(i)}`} className=\"hover:bg-transparent\">\n {Array.from({ length: columnCount }).map((_, j) => (\n <TableHead\n key={`${String(j)}`}\n style={{\n width: cellWidths[j],\n minWidth: shrinkZero ? cellWidths[j] : \"auto\",\n }}\n >\n <Skeleton className=\"h-6 w-full\" />\n </TableHead>\n ))}\n </TableRow>\n ))}\n </TableHeader>\n <TableBody>\n {Array.from({ length: rowCount }).map((_, i) => (\n <TableRow key={`${String(i)}`} className=\"hover:bg-transparent\">\n {Array.from({ length: columnCount }).map((_, j) => (\n <TableCell\n key={`${String(j)}`}\n style={{\n width: cellWidths[j],\n minWidth: shrinkZero ? cellWidths[j] : \"auto\",\n }}\n >\n <Skeleton className=\"h-6 w-full\" />\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </div>\n {withPagination ? (\n <div className=\"flex w-full items-center justify-between gap-4 overflow-auto p-1 sm:gap-8\">\n <Skeleton className=\"h-7 w-40 shrink-0\" />\n <div className=\"flex items-center gap-4 sm:gap-6 lg:gap-8\">\n <div className=\"flex items-center space-x-2\">\n <Skeleton className=\"h-7 w-24\" />\n <Skeleton className=\"h-7 w-[4.5rem]\" />\n </div>\n <div className=\"flex items-center justify-center text-sm font-medium\">\n <Skeleton className=\"h-7 w-20\" />\n </div>\n <div className=\"flex items-center space-x-2\">\n <Skeleton className=\"hidden size-7 lg:block\" />\n <Skeleton className=\"size-7\" />\n <Skeleton className=\"size-7\" />\n <Skeleton className=\"hidden size-7 lg:block\" />\n </div>\n </div>\n </div>\n ) : null}\n </div>\n );\n}\n","import { Button } from \"@/components/ui/button\";\nimport {\n Command,\n CommandEmpty,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"@/components/ui/command\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/components/ui/popover\";\nimport { cn } from \"@/lib/utils\";\nimport type { Table } from \"@tanstack/react-table\";\nimport { ChevronDownIcon } from \"lucide-react\";\nimport { useRef } from \"react\";\n\ninterface DataTableStatusProps<TData, TEnum> {\n table: Table<TData>;\n uniqueStatusValues: TEnum[];\n renderStatusMessage(status: TEnum): string;\n className?: string;\n}\n\nexport function DataTableStatus<TData, TEnum>({\n table,\n uniqueStatusValues,\n renderStatusMessage,\n className,\n}: DataTableStatusProps<TData, TEnum>) {\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const currentFilter = table.getColumn(\"status\")?.getFilterValue() as\n | TEnum\n | undefined;\n\n return (\n <Popover modal>\n <PopoverTrigger asChild>\n <Button\n ref={triggerRef}\n aria-label=\"Filtre por status\"\n variant=\"outline\"\n className={cn(\n \"border-input text-muted-foreground ring-offset-background placeholder:text-muted-foreground hover:text-muted-foreground focus:ring-ring flex h-10 w-full max-w-60 items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm hover:bg-inherit focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n >\n {currentFilter\n ? renderStatusMessage(currentFilter)\n : \"Todos os status\"}\n <ChevronDownIcon className=\"h-4 w-4\" />\n </Button>\n </PopoverTrigger>\n <PopoverContent\n align=\"end\"\n className=\"w-44 p-0\"\n onCloseAutoFocus={() => triggerRef.current?.focus()}\n >\n <Command>\n <CommandInput placeholder=\"Pesquisar status...\" />\n <CommandList>\n <CommandEmpty>Nenhum status encontrado.</CommandEmpty>\n <CommandItem\n key=\"all\"\n onSelect={() =>\n table.getColumn(\"status\")?.setFilterValue(undefined)\n }\n >\n <span className=\"truncate\">Todos os status</span>\n </CommandItem>\n {uniqueStatusValues.map((item) => {\n if (!item) return null;\n\n const statusMessage = renderStatusMessage(item as TEnum);\n\n return (\n <CommandItem\n key={`${String(item)}`}\n onSelect={() =>\n table.getColumn(\"status\")?.setFilterValue(item)\n }\n >\n <span className=\"truncate\">{statusMessage}</span>\n </CommandItem>\n );\n })}\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n}\n","import { TextWrap } from \"@/components/default/base/TextWrap\";\nimport { ScrollArea, ScrollBar } from \"@/components/ui/scroll-area\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\";\nimport { CaretSortIcon } from \"@radix-ui/react-icons\";\nimport type { ColumnDef, Table as TableType } from \"@tanstack/react-table\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { ArrowDownIcon, ArrowUpIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { DataTableRowSkeleton } from \"./DataTableRowSkeleton\";\nimport { DataTablePaginationSkeleton } from \"./DataTablePaginationSkeleton\";\nimport { DataTablePagination } from \"./DataTablePagination\";\nimport { Sortable, SortableItem } from \"@/components/ui/sortable\";\n\ninterface DataTableViewOptionsProps<TData, TValue> {\n table: TableType<TData>;\n columns: ColumnDef<TData, TValue>[];\n setQueryParams?: React.Dispatch<React.SetStateAction<any>>;\n isLoadingTable?: boolean;\n dataLabel: string;\n actionColumns?: string[];\n data: TData[];\n onDataChange?: (newData: TData[]) => void;\n}\n\ntype RowData = {\n uuid?: string;\n fundId?: number;\n};\n\nexport const DataTableMainFrameSortable = <TData extends RowData, TValue>({\n table,\n columns,\n isLoadingTable,\n setQueryParams,\n dataLabel,\n actionColumns = [],\n data,\n onDataChange,\n}: DataTableViewOptionsProps<TData, TValue>) => {\n const [newData, setNewData] = React.useState<TData[]>(data);\n\n React.useEffect(() => {\n setNewData(data);\n }, [data]);\n\n const handleValueChange = (newItems: TData[]) => {\n setNewData(newItems);\n if (onDataChange) {\n onDataChange(newItems);\n }\n };\n\n const currentPage = Number(table.getState().pagination.pageIndex).toString();\n const pageSize = Number(table.getState().pagination.pageSize).toString();\n const sorting = table.getState().sorting;\n React.useEffect(() => {\n if (!setQueryParams) return;\n const sortingParams = { sortingBy: \"\", order: \"\" };\n if (sorting.length > 0) {\n sortingParams.sortingBy = sorting[0].id;\n sortingParams.order = sorting[0].desc ? \"DESC\" : \"ASC\";\n }\n setQueryParams((prev: any) => ({\n ...prev,\n pageSize,\n page: currentPage,\n ...sortingParams,\n }));\n }, [currentPage, pageSize, setQueryParams, sorting]);\n\n return (\n <>\n <ScrollArea className=\"bg-background w-full rounded-md border whitespace-nowrap\">\n <Table>\n <TableHeader className=\"group rounded-md\">\n {table.getHeaderGroups().map((headerGroup) => {\n return (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => {\n const {\n column: { id },\n } = header;\n\n const isActionsColumn = [\n \"actions\",\n ...actionColumns,\n ].includes(id);\n\n return (\n <TableHead key={header.id}>\n {header.isPlaceholder ? null : (\n <>\n <div\n {...{\n className:\n !isActionsColumn && header.column.getCanSort()\n ? \"flex w-full items-center justify-start cursor-pointer gap-1 font-medium\"\n : \"\",\n onClick: !isActionsColumn\n ? header.column.getToggleSortingHandler()\n : undefined,\n }}\n >\n {flexRender(\n header.column.columnDef.header,\n header.getContext(),\n )}\n\n {(!isActionsColumn &&\n header.column.getCanSort() &&\n {\n asc: (\n <ArrowDownIcon className=\"h-3.5 w-3.5\" />\n ),\n desc: <ArrowUpIcon className=\"h-3.5 w-3.5\" />,\n false: <CaretSortIcon className=\"h-4 w-4\" />,\n }[header.column.getIsSorted() as string]) ?? (\n <ArrowDownIcon className=\"h-3.5 w-3.5\" />\n )}\n </div>\n </>\n )}\n </TableHead>\n );\n })}\n </TableRow>\n );\n })}\n </TableHeader>\n\n <TableBody>\n <Sortable\n value={newData.map((item) => ({\n ...item,\n id: item.fundId || \"\",\n }))}\n onValueChange={handleValueChange}\n >\n {!isLoadingTable && table.getRowModel().rows?.length ? (\n table.getRowModel().rows.map((row) => {\n return (\n <SortableItem\n key={row.id}\n value={row.original.fundId || \"\"}\n asChild\n >\n <TableRow\n key={row.id}\n data-state={row.getIsSelected() && \"selected\"}\n className=\"even:bg-body/50\"\n >\n {row.getVisibleCells().map((cell) => {\n return (\n <TableCell key={cell.id} className=\"p-2\">\n <TextWrap>\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext(),\n )}\n </TextWrap>\n </TableCell>\n );\n })}\n </TableRow>\n </SortableItem>\n );\n })\n ) : isLoadingTable ? (\n <DataTableRowSkeleton\n columnCount={table.getAllColumns().length}\n />\n ) : (\n <TableRow>\n <TableCell\n colSpan={columns.length}\n className=\"h-24 text-center\"\n >\n Sem resultados\n </TableCell>\n </TableRow>\n )}\n </Sortable>\n </TableBody>\n </Table>\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n\n {isLoadingTable ? (\n <DataTablePaginationSkeleton />\n ) : (\n <DataTablePagination table={table} dataLabel={dataLabel} />\n )}\n </>\n );\n};\n"],"names":["ArrowDown","createLucideIcon","d","key","ArrowUp","DataTableViewOptions","table","transformColumnName","triggerRef","React","useRef","Popover","modal","PopoverTrigger","asChild","Button","ref","aria-label","variant","ChevronDownIcon","className","PopoverContent","align","onCloseAutoFocus","current","focus","createElement","Command","CommandInput","placeholder","CommandList","CommandEmpty","CommandGroup","getAllColumns","filter","column","accessorFn","getCanHide","map","CommandItem","id","onSelect","toggleVisibility","getIsVisible","span","Check","cn","DataTableSearch","keySearch","div","SearchIcon","Input","value","getColumn","getFilterValue","onChange","event","setFilterValue","target","flexRender","Comp","props","component","proto","Object","getPrototypeOf","prototype","isReactComponent","isClassComponent","$$typeof","includes","description","isExoticComponent","DataTableRowSkeleton","columnCount","rowCount","cellWidths","shrinkZero","Fragment","Array","from","length","_","i","TableRow","String","j","TableCell","style","width","minWidth","Skeleton","DataTablePaginationSkeleton","DataTablePagination","pageSizeOptions","dataLabel","pageSize","currentPage","getState","pagination","pageIndex","getRowCount","totalPageCount","Math","ceil","p","getRowModel","rows","toLocaleString","Select","onValueChange","setPageSize","Number","SelectTrigger","SelectValue","SelectContent","SelectItem","onClick","previousPage","disabled","getCanPreviousPage","ChevronLeftIcon","items","push","setPageIndex","start","max","min","end","PaginationItem","PaginationEllipsis","renderPageNumbers","nextPage","getCanNextPage","ChevronRightIcon","DataTableMainFrame","columns","isLoadingTable","setQueryParams","actionColumns","toString","sorting","useEffect","sortingParams","sortingBy","order","desc","prev","page","ScrollArea","Table","TableHeader","getHeaderGroups","headerGroup","headers","header","isActionsColumn","TableHead","isPlaceholder","getCanSort","undefined","getToggleSortingHandler","columnDef","getContext","asc","ArrowDownIcon","ArrowUpIcon","false","CaretSortIcon","getIsSorted","TableBody","row","data-state","getIsSelected","getVisibleCells","cell","TextWrap","colSpan","ScrollBar","orientation","DataTableSkeleton","searchableColumnCount","filterableColumnCount","showViewOptions","withPagination","skeletonProps","DataTableStatus","uniqueStatusValues","renderStatusMessage","currentFilter","item","statusMessage","DataTableMainFrameSortable","data","onDataChange","newData","setNewData","useState","Sortable","fundId","newItems","SortableItem","original"],"mappings":"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","x_google_ignoreList":[0,1,4]}
1
+ {"version":3,"file":"index.mjs","sources":["../../node_modules/lucide-react/dist/esm/icons/arrow-down.js","../../node_modules/lucide-react/dist/esm/icons/arrow-up.js","../../src/components/default/data-table/DataTableViewOptions.tsx","../../src/components/default/data-table/DataTableSearch.tsx","../../node_modules/@tanstack/react-table/build/lib/index.mjs","../../src/components/default/data-table/DataTableRowSkeleton.tsx","../../src/components/default/data-table/DataTablePaginationSkeleton.tsx","../../src/components/default/data-table/DataTablePagination.tsx","../../src/components/default/data-table/DataTableMainFrame.tsx","../../src/components/default/data-table/DataTableSkeleton.tsx","../../src/components/default/data-table/DataTableStatus.tsx","../../src/components/default/data-table/DataTableMainFrameSortable.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.479.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"M12 5v14\", key: \"s699le\" }],\n [\"path\", { d: \"m19 12-7 7-7-7\", key: \"1idqje\" }]\n];\nconst ArrowDown = createLucideIcon(\"ArrowDown\", __iconNode);\n\nexport { __iconNode, ArrowDown as default };\n//# sourceMappingURL=arrow-down.js.map\n","/**\n * @license lucide-react v0.479.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"m5 12 7-7 7 7\", key: \"hav0vg\" }],\n [\"path\", { d: \"M12 19V5\", key: \"x0mq9r\" }]\n];\nconst ArrowUp = createLucideIcon(\"ArrowUp\", __iconNode);\n\nexport { __iconNode, ArrowUp as default };\n//# sourceMappingURL=arrow-up.js.map\n","import type { Table } from \"@tanstack/react-table\";\nimport { Check, ChevronDownIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/components/ui/button\";\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"@/components/ui/command\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/components/ui/popover\";\nimport { cn } from \"@/lib/utils\";\n\ninterface DataTableViewOptionsProps<TData> {\n table: Table<TData>;\n transformColumnName?: (id: string) => string;\n}\n\nexport function DataTableViewOptions<TData>({\n table,\n transformColumnName,\n}: DataTableViewOptionsProps<TData>) {\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n\n return (\n <Popover modal>\n <PopoverTrigger asChild>\n <Button ref={triggerRef} aria-label=\"Toggle columns\" variant=\"outline\">\n Colunas\n <ChevronDownIcon className=\"h-4 w-4\" />\n </Button>\n </PopoverTrigger>\n <PopoverContent\n align=\"end\"\n className=\"w-44 p-0\"\n onCloseAutoFocus={() => triggerRef.current?.focus()}\n >\n <Command>\n <CommandInput placeholder=\"Pesquisar colunas...\" />\n <CommandList>\n <CommandEmpty>Nenhuma coluna encontrada.</CommandEmpty>\n <CommandGroup>\n {table\n .getAllColumns()\n .filter(\n (column) =>\n typeof column.accessorFn !== \"undefined\" &&\n column.getCanHide(),\n )\n .map((column) => {\n return (\n <CommandItem\n key={column.id}\n onSelect={() =>\n column.toggleVisibility(!column.getIsVisible())\n }\n >\n <span className=\"truncate\">\n {transformColumnName\n ? transformColumnName(column.id)\n : column.id}\n </span>\n <Check\n className={cn(\n \"ml-auto size-4 shrink-0\",\n column.getIsVisible() ? \"opacity-100\" : \"opacity-0\",\n )}\n />\n </CommandItem>\n );\n })}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n}\n","import { Input } from \"@/components/ui/input\";\nimport type { Table } from \"@tanstack/react-table\";\nimport { SearchIcon } from \"lucide-react\";\n\ninterface DataTableSearchProps<TData> {\n table: Table<TData>;\n keySearch: string;\n placeholder: string;\n}\n\nexport function DataTableSearch<TData>({\n table,\n keySearch,\n placeholder,\n}: DataTableSearchProps<TData>) {\n return (\n <div className=\"relative w-full max-w-sm\">\n <SearchIcon className=\"text-muted-foreground absolute top-3 left-3 h-4 w-4\" />\n <Input\n placeholder={placeholder}\n value={(table.getColumn(keySearch)?.getFilterValue() as string) ?? \"\"}\n onChange={(event) =>\n table.getColumn(keySearch)?.setFilterValue(event.target.value)\n }\n className=\"w-full pl-8 xl:w-80\"\n />\n </div>\n );\n}\n","/**\n * react-table\n *\n * Copyright (c) TanStack\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport * as React from 'react';\nimport { createTable } from '@tanstack/table-core';\nexport * from '@tanstack/table-core';\n\n//\n\n/**\n * If rendering headers, cells, or footers with custom markup, use flexRender instead of `cell.getValue()` or `cell.renderValue()`.\n */\nfunction flexRender(Comp, props) {\n return !Comp ? null : isReactComponent(Comp) ? /*#__PURE__*/React.createElement(Comp, props) : Comp;\n}\nfunction isReactComponent(component) {\n return isClassComponent(component) || typeof component === 'function' || isExoticComponent(component);\n}\nfunction isClassComponent(component) {\n return typeof component === 'function' && (() => {\n const proto = Object.getPrototypeOf(component);\n return proto.prototype && proto.prototype.isReactComponent;\n })();\n}\nfunction isExoticComponent(component) {\n return typeof component === 'object' && typeof component.$$typeof === 'symbol' && ['react.memo', 'react.forward_ref'].includes(component.$$typeof.description);\n}\nfunction useReactTable(options) {\n // Compose in the generic options to the user options\n const resolvedOptions = {\n state: {},\n // Dummy state\n onStateChange: () => {},\n // noop\n renderFallbackValue: null,\n ...options\n };\n\n // Create a new table and store it in state\n const [tableRef] = React.useState(() => ({\n current: createTable(resolvedOptions)\n }));\n\n // By default, manage table state here using the table's initial state\n const [state, setState] = React.useState(() => tableRef.current.initialState);\n\n // Compose the default state above with any user state. This will allow the user\n // to only control a subset of the state if desired.\n tableRef.current.setOptions(prev => ({\n ...prev,\n ...options,\n state: {\n ...state,\n ...options.state\n },\n // Similarly, we'll maintain both our internal state and any user-provided\n // state.\n onStateChange: updater => {\n setState(updater);\n options.onStateChange == null || options.onStateChange(updater);\n }\n }));\n return tableRef.current;\n}\n\nexport { flexRender, useReactTable };\n//# sourceMappingURL=index.mjs.map\n","import { Skeleton } from \"@/components/ui/skeleton\";\nimport { TableCell, TableRow } from \"@/components/ui/table\";\n\ninterface DataTableRowSkeletonProps\n extends React.HTMLAttributes<HTMLDivElement> {\n columnCount: number;\n rowCount?: number;\n cellWidths?: string[];\n shrinkZero?: boolean;\n}\n\nexport function DataTableRowSkeleton(props: DataTableRowSkeletonProps) {\n const {\n columnCount,\n rowCount = 8,\n cellWidths = [\"auto\"],\n shrinkZero = false,\n } = props;\n\n return (\n <>\n {Array.from({ length: rowCount }).map((_, i) => (\n <TableRow key={`row-${String(i)}`} className=\"hover:bg-transparent\">\n {Array.from({ length: columnCount }).map((_, j) => (\n <TableCell\n key={`cell-${String(i)}-${j}`}\n style={{\n width: cellWidths[j],\n minWidth: shrinkZero ? cellWidths[j] : \"auto\",\n }}\n >\n <Skeleton className=\"h-6 w-full\" />\n </TableCell>\n ))}\n </TableRow>\n ))}\n </>\n );\n}\n","import { Skeleton } from \"@/components/ui/skeleton\";\nimport { cn } from \"@/lib/utils\";\n\nexport function DataTablePaginationSkeleton({\n className,\n}: {\n className?: string;\n}) {\n return (\n <div className=\"mt-4 flex flex-wrap items-center justify-between gap-2\">\n <Skeleton className={cn(\"h-5 w-40\", className)} />\n <div className=\"flex flex-wrap items-center justify-between gap-2 gap-y-4\">\n <Skeleton className={cn(\"h-10 w-28\", className)} />\n <Skeleton className={cn(\"h-9 w-[16rem]\", className)} />\n </div>\n </div>\n );\n}\n","import type { Table } from \"@tanstack/react-table\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { PaginationEllipsis, PaginationItem } from \"@/components/ui/pagination\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\";\nimport { ChevronLeftIcon, ChevronRightIcon } from \"lucide-react\";\nimport React from \"react\";\n\ninterface DataTablePaginationProps<TData> {\n table: Table<TData>;\n pageSizeOptions?: number[];\n dataLabel?: string;\n}\n\nexport function DataTablePagination<TData>({\n table,\n pageSizeOptions = [20, 30, 50, 100, 200],\n dataLabel = \"Fundos\",\n}: DataTablePaginationProps<TData>) {\n const pageSize = pageSizeOptions[0];\n const currentPage = table.getState().pagination.pageIndex + 1;\n const rowCount = table.getRowCount();\n const totalPageCount = Math.ceil(\n rowCount / table.getState().pagination.pageSize,\n );\n\n const renderPageNumbers = () => {\n const items: React.ReactNode[] = [];\n const maxVisiblePages = 3;\n\n if (totalPageCount <= maxVisiblePages) {\n for (let i = 1; i <= totalPageCount; i++) {\n items.push(\n <Button\n variant={currentPage === i ? \"outline\" : \"ghost\"}\n key={i}\n onClick={() => table.setPageIndex(i - 1)}\n className=\"size-9\"\n >\n {i}\n </Button>,\n );\n }\n } else {\n items.push(\n <Button\n variant={currentPage === 1 ? \"outline\" : \"ghost\"}\n key={1}\n onClick={() => table.setPageIndex(0)}\n className=\"size-9\"\n >\n 1\n </Button>,\n );\n\n const start = Math.max(\n 2,\n Math.min(currentPage, totalPageCount - (maxVisiblePages - 1)),\n );\n const end = Math.min(totalPageCount - 1, start + maxVisiblePages - 2);\n\n if (start > 2) {\n items.push(\n <PaginationItem key=\"ellipsis-start\" className=\"list-none\">\n <PaginationEllipsis />\n </PaginationItem>,\n );\n }\n\n for (let i = start; i <= end; i++) {\n items.push(\n <Button\n variant={currentPage === i ? \"outline\" : \"ghost\"}\n key={i}\n onClick={() => table.setPageIndex(i - 1)}\n className=\"size-9\"\n >\n {i}\n </Button>,\n );\n }\n\n if (end < totalPageCount - 1) {\n items.push(\n <PaginationItem key=\"ellipsis-end\" className=\"list-none\">\n <PaginationEllipsis />\n </PaginationItem>,\n );\n }\n\n items.push(\n <Button\n variant={currentPage === totalPageCount ? \"outline\" : \"ghost\"}\n key={totalPageCount}\n onClick={() => table.setPageIndex(totalPageCount - 1)}\n >\n {totalPageCount}\n </Button>,\n );\n }\n\n return items;\n };\n return (\n <div className=\"mt-4 flex flex-wrap items-center justify-between gap-2\">\n <div className=\"text-muted-foreground flex gap-1 text-sm\">\n <p className=\"ml-2\">\n Mostrando {table.getRowModel().rows.length.toLocaleString()} de{\" \"}\n {rowCount} {dataLabel}.\n </p>\n </div>\n\n <div className=\"flex flex-wrap items-center justify-between gap-2 gap-y-4\">\n <Select\n value={\n String(table.getState().pagination.pageSize) || String(pageSize)\n }\n onValueChange={(value) => table.setPageSize(Number(value))}\n >\n <SelectTrigger className=\"w-fit\">\n <SelectValue\n placeholder={`Mostrar ${table.getState().pagination.pageSize || pageSize}`}\n />\n </SelectTrigger>\n <SelectContent>\n {rowCount && (rowCount === 0 || rowCount < pageSize) ? (\n <SelectItem value={String(pageSize)}>\n Mostrar {pageSize}\n </SelectItem>\n ) : (\n <>\n {pageSizeOptions.map((pageSize) => (\n <SelectItem key={pageSize} value={String(pageSize)}>\n Mostrar {pageSize}\n </SelectItem>\n ))}\n </>\n )}\n </SelectContent>\n </Select>\n\n <div className=\"flex flex-wrap gap-2 gap-y-4\">\n <Button\n variant=\"ghost\"\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n aria-label=\"Ir para página anterior\"\n className=\"gap-1\"\n >\n <ChevronLeftIcon className=\"size-4\" />\n Anterior\n </Button>\n\n <div className=\"flex gap-2\">{renderPageNumbers()}</div>\n\n <Button\n variant=\"ghost\"\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n aria-label=\"Ir para próxima página\"\n className=\"gap-1\"\n >\n Próximo\n <ChevronRightIcon className=\"size-4\" />\n </Button>\n </div>\n </div>\n </div>\n );\n}\n","import { TextWrap } from \"@/components/default/base/TextWrap\";\nimport { ScrollArea, ScrollBar } from \"@/components/ui/scroll-area\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\";\nimport { CaretSortIcon } from \"@radix-ui/react-icons\";\nimport type { ColumnDef, Table as TableType } from \"@tanstack/react-table\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { ArrowDownIcon, ArrowUpIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { DataTableRowSkeleton } from \"./DataTableRowSkeleton\";\nimport { DataTablePaginationSkeleton } from \"./DataTablePaginationSkeleton\";\nimport { DataTablePagination } from \"./DataTablePagination\";\n\ninterface DataTableViewOptionsProps<TData, TValue> {\n table: TableType<TData>;\n columns: ColumnDef<TData, TValue>[];\n setQueryParams?: React.Dispatch<React.SetStateAction<any>>;\n isLoadingTable?: boolean;\n dataLabel: string;\n actionColumns?: string[];\n messageEmpty?: React.ReactNode;\n}\n\nexport const DataTableMainFrame = <TData, TValue>({\n table,\n columns,\n isLoadingTable,\n setQueryParams,\n dataLabel,\n actionColumns = [],\n messageEmpty = <>Sem resultados</>,\n}: DataTableViewOptionsProps<TData, TValue>) => {\n const currentPage = Number(table.getState().pagination.pageIndex).toString();\n const pageSize = Number(table.getState().pagination.pageSize).toString();\n const sorting = table.getState().sorting;\n React.useEffect(() => {\n if (!setQueryParams) return;\n const sortingParams = { sortingBy: \"\", order: \"\" };\n if (sorting.length > 0) {\n sortingParams.sortingBy = sorting[0].id;\n sortingParams.order = sorting[0].desc ? \"DESC\" : \"ASC\";\n }\n setQueryParams((prev: any) => ({\n ...prev,\n pageSize,\n page: currentPage,\n ...sortingParams,\n }));\n }, [currentPage, pageSize, setQueryParams, sorting]);\n return (\n <>\n <ScrollArea className=\"bg-background w-full rounded-md border whitespace-nowrap\">\n <Table>\n <TableHeader className=\"group rounded-md\">\n {table.getHeaderGroups().map((headerGroup) => {\n return (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => {\n const {\n column: { id },\n } = header;\n\n const isActionsColumn = [\n \"actions\",\n ...actionColumns,\n ].includes(id);\n return (\n <TableHead key={header.id}>\n {header.isPlaceholder ? null : (\n <>\n <div\n {...{\n className:\n !isActionsColumn && header.column.getCanSort()\n ? \"flex w-full items-center justify-start cursor-pointer gap-1 font-medium\"\n : \"\",\n onClick: !isActionsColumn\n ? header.column.getToggleSortingHandler()\n : undefined,\n }}\n >\n {flexRender(\n header.column.columnDef.header,\n header.getContext(),\n )}\n\n {(!isActionsColumn &&\n header.column.getCanSort() &&\n {\n asc: (\n <ArrowDownIcon className=\"h-3.5 w-3.5\" />\n ),\n desc: <ArrowUpIcon className=\"h-3.5 w-3.5\" />,\n false: <CaretSortIcon className=\"h-4 w-4\" />,\n }[header.column.getIsSorted() as string]) ?? (\n <ArrowDownIcon className=\"h-3.5 w-3.5\" />\n )}\n </div>\n </>\n )}\n </TableHead>\n );\n })}\n </TableRow>\n );\n })}\n </TableHeader>\n\n <TableBody>\n {!isLoadingTable && table.getRowModel().rows?.length ? (\n table.getRowModel().rows.map((row) => {\n return (\n <TableRow\n key={row.id}\n data-state={row.getIsSelected() && \"selected\"}\n className=\"even:bg-body/50\"\n >\n {row.getVisibleCells().map((cell) => {\n return (\n <TableCell key={cell.id} className=\"p-2\">\n <TextWrap>\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext(),\n )}\n </TextWrap>\n </TableCell>\n );\n })}\n </TableRow>\n );\n })\n ) : isLoadingTable ? (\n <DataTableRowSkeleton\n columnCount={table.getAllColumns().length}\n />\n ) : (\n <TableRow>\n <TableCell\n colSpan={columns.length}\n className=\"h-24 text-center\"\n >\n <div className=\"mx-auto max-w-96 text-wrap\">\n {messageEmpty}\n </div>\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n {isLoadingTable ? (\n <DataTablePaginationSkeleton />\n ) : (\n <DataTablePagination table={table} dataLabel={dataLabel} />\n )}\n </>\n );\n};\n","import React from \"react\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\";\nimport { cn } from \"@/lib/utils\";\n\ninterface DataTableSkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * The number of columns in the table.\n * @type number\n */\n columnCount: number;\n\n /**\n * The number of rows in the table.\n * @default 10\n * @type number | undefined\n */\n rowCount?: number;\n\n /**\n * The number of searchable columns in the table.\n * @default 0\n * @type number | undefined\n */\n searchableColumnCount?: number;\n\n /**\n * The number of filterable columns in the table.\n * @default 0\n * @type number | undefined\n */\n filterableColumnCount?: number;\n\n /**\n * Flag to show the table view options.\n * @default undefined\n * @type boolean | undefined\n */\n showViewOptions?: boolean;\n\n /**\n * The width of each cell in the table.\n * The length of the array should be equal to the columnCount.\n * Any valid CSS width value is accepted.\n * @default [\"auto\"]\n * @type string[] | undefined\n */\n cellWidths?: string[];\n\n /**\n * Flag to show the pagination bar.\n * @default true\n * @type boolean | undefined\n */\n withPagination?: boolean;\n\n /**\n * Flag to prevent the table cells from shrinking.\n * @default false\n * @type boolean | undefined\n */\n shrinkZero?: boolean;\n}\n\nexport function DataTableSkeleton(props: DataTableSkeletonProps) {\n const {\n columnCount,\n rowCount = 10,\n searchableColumnCount = 0,\n filterableColumnCount = 0,\n showViewOptions = true,\n cellWidths = [\"auto\"],\n withPagination = true,\n shrinkZero = false,\n className,\n ...skeletonProps\n } = props;\n\n return (\n <div\n className={cn(\"w-full space-y-2.5 overflow-auto\", className)}\n {...skeletonProps}\n >\n <div className=\"flex w-full items-center justify-between space-x-2 overflow-auto p-1\">\n <div className=\"flex flex-1 items-center space-x-2\">\n {searchableColumnCount > 0\n ? Array.from({ length: searchableColumnCount }).map((_, i) => (\n <Skeleton key={`${String(i)}`} className=\"h-7 w-40 lg:w-60\" />\n ))\n : null}\n {filterableColumnCount > 0\n ? Array.from({ length: filterableColumnCount }).map((_, i) => (\n <Skeleton\n key={`${String(i)}`}\n className=\"h-7 w-[4.5rem] border-dashed\"\n />\n ))\n : null}\n </div>\n {showViewOptions ? (\n <Skeleton className=\"ml-auto hidden h-7 w-[4.5rem] lg:flex\" />\n ) : null}\n </div>\n <div className=\"rounded-md border\">\n <Table>\n <TableHeader>\n {Array.from({ length: 1 }).map((_, i) => (\n <TableRow key={`${String(i)}`} className=\"hover:bg-transparent\">\n {Array.from({ length: columnCount }).map((_, j) => (\n <TableHead\n key={`${String(j)}`}\n style={{\n width: cellWidths[j],\n minWidth: shrinkZero ? cellWidths[j] : \"auto\",\n }}\n >\n <Skeleton className=\"h-6 w-full\" />\n </TableHead>\n ))}\n </TableRow>\n ))}\n </TableHeader>\n <TableBody>\n {Array.from({ length: rowCount }).map((_, i) => (\n <TableRow key={`${String(i)}`} className=\"hover:bg-transparent\">\n {Array.from({ length: columnCount }).map((_, j) => (\n <TableCell\n key={`${String(j)}`}\n style={{\n width: cellWidths[j],\n minWidth: shrinkZero ? cellWidths[j] : \"auto\",\n }}\n >\n <Skeleton className=\"h-6 w-full\" />\n </TableCell>\n ))}\n </TableRow>\n ))}\n </TableBody>\n </Table>\n </div>\n {withPagination ? (\n <div className=\"flex w-full items-center justify-between gap-4 overflow-auto p-1 sm:gap-8\">\n <Skeleton className=\"h-7 w-40 shrink-0\" />\n <div className=\"flex items-center gap-4 sm:gap-6 lg:gap-8\">\n <div className=\"flex items-center space-x-2\">\n <Skeleton className=\"h-7 w-24\" />\n <Skeleton className=\"h-7 w-[4.5rem]\" />\n </div>\n <div className=\"flex items-center justify-center text-sm font-medium\">\n <Skeleton className=\"h-7 w-20\" />\n </div>\n <div className=\"flex items-center space-x-2\">\n <Skeleton className=\"hidden size-7 lg:block\" />\n <Skeleton className=\"size-7\" />\n <Skeleton className=\"size-7\" />\n <Skeleton className=\"hidden size-7 lg:block\" />\n </div>\n </div>\n </div>\n ) : null}\n </div>\n );\n}\n","import { Button } from \"@/components/ui/button\";\nimport {\n Command,\n CommandEmpty,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"@/components/ui/command\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/components/ui/popover\";\nimport { cn } from \"@/lib/utils\";\nimport type { Table } from \"@tanstack/react-table\";\nimport { ChevronDownIcon } from \"lucide-react\";\nimport { useRef } from \"react\";\n\ninterface DataTableStatusProps<TData, TEnum> {\n table: Table<TData>;\n uniqueStatusValues: TEnum[];\n renderStatusMessage(status: TEnum): string;\n className?: string;\n}\n\nexport function DataTableStatus<TData, TEnum>({\n table,\n uniqueStatusValues,\n renderStatusMessage,\n className,\n}: DataTableStatusProps<TData, TEnum>) {\n const triggerRef = useRef<HTMLButtonElement>(null);\n\n const currentFilter = table.getColumn(\"status\")?.getFilterValue() as\n | TEnum\n | undefined;\n\n return (\n <Popover modal>\n <PopoverTrigger asChild>\n <Button\n ref={triggerRef}\n aria-label=\"Filtre por status\"\n variant=\"outline\"\n className={cn(\n \"border-input text-muted-foreground ring-offset-background placeholder:text-muted-foreground hover:text-muted-foreground focus:ring-ring flex h-10 w-full max-w-60 items-center justify-between rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-sm hover:bg-inherit focus:ring-1 focus:outline-none disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n >\n {currentFilter\n ? renderStatusMessage(currentFilter)\n : \"Todos os status\"}\n <ChevronDownIcon className=\"h-4 w-4\" />\n </Button>\n </PopoverTrigger>\n <PopoverContent\n align=\"end\"\n className=\"w-44 p-0\"\n onCloseAutoFocus={() => triggerRef.current?.focus()}\n >\n <Command>\n <CommandInput placeholder=\"Pesquisar status...\" />\n <CommandList>\n <CommandEmpty>Nenhum status encontrado.</CommandEmpty>\n <CommandItem\n key=\"all\"\n onSelect={() =>\n table.getColumn(\"status\")?.setFilterValue(undefined)\n }\n >\n <span className=\"truncate\">Todos os status</span>\n </CommandItem>\n {uniqueStatusValues.map((item) => {\n if (!item) return null;\n\n const statusMessage = renderStatusMessage(item as TEnum);\n\n return (\n <CommandItem\n key={`${String(item)}`}\n onSelect={() =>\n table.getColumn(\"status\")?.setFilterValue(item)\n }\n >\n <span className=\"truncate\">{statusMessage}</span>\n </CommandItem>\n );\n })}\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n );\n}\n","import { TextWrap } from \"@/components/default/base/TextWrap\";\nimport { ScrollArea, ScrollBar } from \"@/components/ui/scroll-area\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"@/components/ui/table\";\nimport { CaretSortIcon } from \"@radix-ui/react-icons\";\nimport type { ColumnDef, Table as TableType } from \"@tanstack/react-table\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { ArrowDownIcon, ArrowUpIcon } from \"lucide-react\";\nimport React from \"react\";\nimport { DataTableRowSkeleton } from \"./DataTableRowSkeleton\";\nimport { DataTablePaginationSkeleton } from \"./DataTablePaginationSkeleton\";\nimport { DataTablePagination } from \"./DataTablePagination\";\nimport { Sortable, SortableItem } from \"@/components/ui/sortable\";\n\ninterface DataTableViewOptionsProps<TData, TValue> {\n table: TableType<TData>;\n columns: ColumnDef<TData, TValue>[];\n setQueryParams?: React.Dispatch<React.SetStateAction<any>>;\n isLoadingTable?: boolean;\n dataLabel: string;\n actionColumns?: string[];\n data: TData[];\n onDataChange?: (newData: TData[]) => void;\n messageEmpty?: React.ReactNode;\n}\n\ntype RowData = {\n uuid?: string;\n fundId?: number;\n};\n\nexport const DataTableMainFrameSortable = <TData extends RowData, TValue>({\n table,\n columns,\n isLoadingTable,\n setQueryParams,\n dataLabel,\n actionColumns = [],\n data,\n messageEmpty = <>Sem resultados</>,\n onDataChange,\n}: DataTableViewOptionsProps<TData, TValue>) => {\n const [newData, setNewData] = React.useState<TData[]>(data);\n\n React.useEffect(() => {\n setNewData(data);\n }, [data]);\n\n const handleValueChange = (newItems: TData[]) => {\n setNewData(newItems);\n if (onDataChange) {\n onDataChange(newItems);\n }\n };\n\n const currentPage = Number(table.getState().pagination.pageIndex).toString();\n const pageSize = Number(table.getState().pagination.pageSize).toString();\n const sorting = table.getState().sorting;\n React.useEffect(() => {\n if (!setQueryParams) return;\n const sortingParams = { sortingBy: \"\", order: \"\" };\n if (sorting.length > 0) {\n sortingParams.sortingBy = sorting[0].id;\n sortingParams.order = sorting[0].desc ? \"DESC\" : \"ASC\";\n }\n setQueryParams((prev: any) => ({\n ...prev,\n pageSize,\n page: currentPage,\n ...sortingParams,\n }));\n }, [currentPage, pageSize, setQueryParams, sorting]);\n\n return (\n <>\n <ScrollArea className=\"bg-background w-full rounded-md border whitespace-nowrap\">\n <Table>\n <TableHeader className=\"group rounded-md\">\n {table.getHeaderGroups().map((headerGroup) => {\n return (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => {\n const {\n column: { id },\n } = header;\n\n const isActionsColumn = [\n \"actions\",\n ...actionColumns,\n ].includes(id);\n\n return (\n <TableHead key={header.id}>\n {header.isPlaceholder ? null : (\n <>\n <div\n {...{\n className:\n !isActionsColumn && header.column.getCanSort()\n ? \"flex w-full items-center justify-start cursor-pointer gap-1 font-medium\"\n : \"\",\n onClick: !isActionsColumn\n ? header.column.getToggleSortingHandler()\n : undefined,\n }}\n >\n {flexRender(\n header.column.columnDef.header,\n header.getContext(),\n )}\n\n {(!isActionsColumn &&\n header.column.getCanSort() &&\n {\n asc: (\n <ArrowDownIcon className=\"h-3.5 w-3.5\" />\n ),\n desc: <ArrowUpIcon className=\"h-3.5 w-3.5\" />,\n false: <CaretSortIcon className=\"h-4 w-4\" />,\n }[header.column.getIsSorted() as string]) ?? (\n <ArrowDownIcon className=\"h-3.5 w-3.5\" />\n )}\n </div>\n </>\n )}\n </TableHead>\n );\n })}\n </TableRow>\n );\n })}\n </TableHeader>\n\n <TableBody>\n <Sortable\n value={newData.map((item) => ({\n ...item,\n id: item.fundId || \"\",\n }))}\n onValueChange={handleValueChange}\n >\n {!isLoadingTable && table.getRowModel().rows?.length ? (\n table.getRowModel().rows.map((row) => {\n return (\n <SortableItem\n key={row.id}\n value={row.original.fundId || \"\"}\n asChild\n >\n <TableRow\n key={row.id}\n data-state={row.getIsSelected() && \"selected\"}\n className=\"even:bg-body/50\"\n >\n {row.getVisibleCells().map((cell) => {\n return (\n <TableCell key={cell.id} className=\"p-2\">\n <TextWrap>\n {flexRender(\n cell.column.columnDef.cell,\n cell.getContext(),\n )}\n </TextWrap>\n </TableCell>\n );\n })}\n </TableRow>\n </SortableItem>\n );\n })\n ) : isLoadingTable ? (\n <DataTableRowSkeleton\n columnCount={table.getAllColumns().length}\n />\n ) : (\n <TableRow>\n <TableCell\n colSpan={columns.length}\n className=\"h-24 text-center\"\n >\n <div className=\"mx-auto max-w-96 text-wrap\">\n {messageEmpty}\n </div>\n </TableCell>\n </TableRow>\n )}\n </Sortable>\n </TableBody>\n </Table>\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n\n {isLoadingTable ? (\n <DataTablePaginationSkeleton />\n ) : (\n <DataTablePagination table={table} dataLabel={dataLabel} />\n )}\n </>\n );\n};\n"],"names":["ArrowDown","createLucideIcon","d","key","ArrowUp","DataTableViewOptions","table","transformColumnName","triggerRef","React","useRef","Popover","modal","PopoverTrigger","asChild","Button","ref","aria-label","variant","ChevronDownIcon","className","PopoverContent","align","onCloseAutoFocus","current","focus","createElement","Command","CommandInput","placeholder","CommandList","CommandEmpty","CommandGroup","getAllColumns","filter","column","accessorFn","getCanHide","map","CommandItem","id","onSelect","toggleVisibility","getIsVisible","span","Check","cn","DataTableSearch","keySearch","div","SearchIcon","Input","value","getColumn","getFilterValue","onChange","event","setFilterValue","target","flexRender","Comp","props","component","proto","Object","getPrototypeOf","prototype","isReactComponent","isClassComponent","$$typeof","includes","description","isExoticComponent","DataTableRowSkeleton","columnCount","rowCount","cellWidths","shrinkZero","Fragment","Array","from","length","_","i","TableRow","String","j","TableCell","style","width","minWidth","Skeleton","DataTablePaginationSkeleton","DataTablePagination","pageSizeOptions","dataLabel","pageSize","currentPage","getState","pagination","pageIndex","getRowCount","totalPageCount","Math","ceil","p","getRowModel","rows","toLocaleString","Select","onValueChange","setPageSize","Number","SelectTrigger","SelectValue","SelectContent","SelectItem","onClick","previousPage","disabled","getCanPreviousPage","ChevronLeftIcon","items","push","setPageIndex","start","max","min","end","PaginationItem","PaginationEllipsis","renderPageNumbers","nextPage","getCanNextPage","ChevronRightIcon","DataTableMainFrame","columns","isLoadingTable","setQueryParams","actionColumns","messageEmpty","toString","sorting","useEffect","sortingParams","sortingBy","order","desc","prev","page","ScrollArea","Table","TableHeader","getHeaderGroups","headerGroup","headers","header","isActionsColumn","TableHead","isPlaceholder","getCanSort","undefined","getToggleSortingHandler","columnDef","getContext","asc","ArrowDownIcon","ArrowUpIcon","false","CaretSortIcon","getIsSorted","TableBody","row","data-state","getIsSelected","getVisibleCells","cell","TextWrap","colSpan","ScrollBar","orientation","DataTableSkeleton","searchableColumnCount","filterableColumnCount","showViewOptions","withPagination","skeletonProps","DataTableStatus","uniqueStatusValues","renderStatusMessage","currentFilter","item","statusMessage","DataTableMainFrameSortable","data","onDataChange","newData","setNewData","useState","Sortable","fundId","newItems","SortableItem","original"],"mappings":"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","x_google_ignoreList":[0,1,4]}
@@ -1,2 +1,2 @@
1
- export{D as Dialog,a as DialogClose,b as DialogContent,c as DialogDescription,d as DialogFooter,e as DialogHeader,f as DialogOverlay,g as DialogPortal,h as DialogTitle,i as DialogTrigger}from"../chunks/dialog-TKsk0Iu2.mjs";import"react";import"../chunks/index-CluuXDB_.mjs";import"../chunks/index-CX5r7IKM.mjs";import"../chunks/index-CCYyT_rk.mjs";import"react/jsx-runtime";import"../chunks/index-Db2NO0t8.mjs";import"../chunks/index-D-s-TbR3.mjs";import"../chunks/index-CXrD_SvM.mjs";import"../chunks/index-DxtdpBCb.mjs";import"react-dom";import"@radix-ui/react-slot";import"../chunks/index-ChLuxn93.mjs";import"../chunks/tslib.es6-Cx3xzITX.mjs";import"../chunks/utils-jIFl11as.mjs";import"../chunks/bundle-mjs-CtG6Smj_.mjs";import"../chunks/x-xnz0lTd-.mjs";import"../chunks/createLucideIcon-CIn9dHnW.mjs";
1
+ export{D as Dialog,a as DialogClose,b as DialogContent,c as DialogDescription,d as DialogFooter,e as DialogHeader,f as DialogOverlay,g as DialogPortal,h as DialogTitle,i as DialogTrigger}from"../chunks/dialog-BEfPREgp.mjs";import"react";import"../chunks/index-DP22y5yX.mjs";import"../chunks/index-ClSqYyO3.mjs";import"../chunks/index-D1rtromL.mjs";import"react/jsx-runtime";import"../chunks/index-DyAmMjEH.mjs";import"../chunks/index-46Dn4Q--.mjs";import"../chunks/index-COE6uEyP.mjs";import"../chunks/index-CN1SA0_I.mjs";import"react-dom";import"@radix-ui/react-slot";import"../chunks/Combination-w1gWj54H.mjs";import"../chunks/tslib.es6-C59-pKsO.mjs";import"../chunks/utils-Dd3mX7Lt.mjs";import"../chunks/bundle-mjs-WLX8GCHw.mjs";import"../chunks/x-CYyikW5M.mjs";import"../chunks/createLucideIcon-CRElQpLA.mjs";
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1,2 +1,2 @@
1
- import*as e from"react";import{a as n,P as t,u as r,c as o,d as a}from"../chunks/index-CX5r7IKM.mjs";import{c as s}from"../chunks/index-CCYyT_rk.mjs";import{u as c}from"../chunks/index-D-s-TbR3.mjs";import{P as d,d as i}from"../chunks/index-DxtdpBCb.mjs";import{createCollection as u}from"@radix-ui/react-collection";import{u as l}from"../chunks/index-BpJwNLRW.mjs";import{P as p,D as f}from"../chunks/index-CXrD_SvM.mjs";import{h as m,u as h,R as g,F as v}from"../chunks/index-ChLuxn93.mjs";import{u as w}from"../chunks/index-Db2NO0t8.mjs";import{c as _,R as y,A as b,C as M,a as x}from"../chunks/index-DOx7g1Qo.mjs";import{c as C,I as D,R as k}from"../chunks/index-C598HM8V.mjs";import{Slot as R}from"@radix-ui/react-slot";import{jsx as E}from"react/jsx-runtime";import{c as N}from"../chunks/utils-jIFl11as.mjs";import{C as O}from"../chunks/check-DjRtCxG6.mjs";import{c as P}from"../chunks/createLucideIcon-CIn9dHnW.mjs";import{C as I}from"../chunks/chevron-right-CoNJE7ZW.mjs";import"react-dom";import"../chunks/tslib.es6-Cx3xzITX.mjs";import"../chunks/index-DzMQps4Q.mjs";import"../chunks/bundle-mjs-CtG6Smj_.mjs";const T=P("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var S=["Enter"," "],F=["ArrowUp","PageDown","End"],L=["ArrowDown","PageUp","Home",...F],A={ltr:[...S,"ArrowRight"],rtl:[...S,"ArrowLeft"]},K={ltr:["ArrowLeft"],rtl:["ArrowRight"]},j="Menu",[z,G,V]=u(j),[U,B]=s(j,[V,_,C]),X=_(),Y=C(),[q,H]=U(j),[W,Z]=U(j),J=t=>{const{__scopeMenu:r,open:o=!1,children:a,dir:s,onOpenChange:c,modal:d=!0}=t,i=X(r),[u,p]=e.useState(null),f=e.useRef(!1),m=n(c),h=l(s);return e.useEffect((()=>{const e=()=>{f.current=!0,document.addEventListener("pointerdown",n,{capture:!0,once:!0}),document.addEventListener("pointermove",n,{capture:!0,once:!0})},n=()=>f.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",n,{capture:!0}),document.removeEventListener("pointermove",n,{capture:!0})}}),[]),E(y,{...i,children:E(q,{scope:r,open:o,onOpenChange:m,content:u,onContentChange:p,children:E(W,{scope:r,onClose:e.useCallback((()=>m(!1)),[m]),isUsingKeyboardRef:f,dir:h,modal:d,children:a})})})};J.displayName=j;var Q=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e,o=X(t);return E(b,{...o,...r,ref:n})}));Q.displayName="MenuAnchor";var $="MenuPortal",[ee,ne]=U($,{forceMount:void 0}),te=e=>{const{__scopeMenu:n,forceMount:r,children:o,container:a}=e,s=H($,n);return E(ee,{scope:n,forceMount:r,children:E(t,{present:r||s.open,children:E(p,{asChild:!0,container:a,children:o})})})};te.displayName=$;var re="MenuContent",[oe,ae]=U(re),se=e.forwardRef(((e,n)=>{const r=ne(re,e.__scopeMenu),{forceMount:o=r.forceMount,...a}=e,s=H(re,e.__scopeMenu),c=Z(re,e.__scopeMenu);return E(z.Provider,{scope:e.__scopeMenu,children:E(t,{present:o||s.open,children:E(z.Slot,{scope:e.__scopeMenu,children:c.modal?E(ce,{...a,ref:n}):E(de,{...a,ref:n})})})})})),ce=e.forwardRef(((n,t)=>{const a=H(re,n.__scopeMenu),s=e.useRef(null),c=r(t,s);return e.useEffect((()=>{const e=s.current;if(e)return m(e)}),[]),E(ie,{...n,ref:c,trapFocus:a.open,disableOutsidePointerEvents:a.open,disableOutsideScroll:!0,onFocusOutside:o(n.onFocusOutside,(e=>e.preventDefault()),{checkForDefaultPrevented:!1}),onDismiss:()=>a.onOpenChange(!1)})})),de=e.forwardRef(((e,n)=>{const t=H(re,e.__scopeMenu);return E(ie,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>t.onOpenChange(!1)})})),ie=e.forwardRef(((n,t)=>{const{__scopeMenu:a,loop:s=!1,trapFocus:c,onOpenAutoFocus:d,onCloseAutoFocus:i,disableOutsidePointerEvents:u,onEntryFocus:l,onEscapeKeyDown:p,onPointerDownOutside:m,onFocusOutside:w,onInteractOutside:_,onDismiss:y,disableOutsideScroll:b,...x}=n,C=H(re,a),D=Z(re,a),N=X(a),O=Y(a),P=G(a),[I,T]=e.useState(null),S=e.useRef(null),A=r(t,S,C.onContentChange),K=e.useRef(0),j=e.useRef(""),z=e.useRef(0),V=e.useRef(null),U=e.useRef("right"),B=e.useRef(0),q=b?g:e.Fragment,W=b?{as:R,allowPinchZoom:!0}:void 0,J=e=>{const n=j.current+e,t=P().filter((e=>!e.disabled)),r=document.activeElement,o=t.find((e=>e.ref.current===r))?.textValue,a=function(e,n,t){const r=n.length>1&&Array.from(n).every((e=>e===n[0])),o=r?n[0]:n,a=t?e.indexOf(t):-1;let s=(c=e,d=Math.max(a,0),c.map(((e,n)=>c[(d+n)%c.length])));var c,d;1===o.length&&(s=s.filter((e=>e!==t)));const i=s.find((e=>e.toLowerCase().startsWith(o.toLowerCase())));return i!==t?i:void 0}(t.map((e=>e.textValue)),n,o),s=t.find((e=>e.textValue===a))?.ref.current;!function e(n){j.current=n,window.clearTimeout(K.current),""!==n&&(K.current=window.setTimeout((()=>e("")),1e3))}(n),s&&setTimeout((()=>s.focus()))};e.useEffect((()=>()=>window.clearTimeout(K.current)),[]),h();const Q=e.useCallback((e=>U.current===V.current?.side&&function(e,n){if(!n)return!1;const t={x:e.clientX,y:e.clientY};return function(e,n){const{x:t,y:r}=e;let o=!1;for(let e=0,a=n.length-1;e<n.length;a=e++){const s=n[e].x,c=n[e].y,d=n[a].x,i=n[a].y;c>r!=i>r&&t<(d-s)*(r-c)/(i-c)+s&&(o=!o)}return o}(t,n)}(e,V.current?.area)),[]);return E(oe,{scope:a,searchRef:j,onItemEnter:e.useCallback((e=>{Q(e)&&e.preventDefault()}),[Q]),onItemLeave:e.useCallback((e=>{Q(e)||(S.current?.focus(),T(null))}),[Q]),onTriggerLeave:e.useCallback((e=>{Q(e)&&e.preventDefault()}),[Q]),pointerGraceTimerRef:z,onPointerGraceIntentChange:e.useCallback((e=>{V.current=e}),[]),children:E(q,{...W,children:E(v,{asChild:!0,trapped:c,onMountAutoFocus:o(d,(e=>{e.preventDefault(),S.current?.focus({preventScroll:!0})})),onUnmountAutoFocus:i,children:E(f,{asChild:!0,disableOutsidePointerEvents:u,onEscapeKeyDown:p,onPointerDownOutside:m,onFocusOutside:w,onInteractOutside:_,onDismiss:y,children:E(k,{asChild:!0,...O,dir:D.dir,orientation:"vertical",loop:s,currentTabStopId:I,onCurrentTabStopIdChange:T,onEntryFocus:o(l,(e=>{D.isUsingKeyboardRef.current||e.preventDefault()})),preventScrollOnEntryFocus:!0,children:E(M,{role:"menu","aria-orientation":"vertical","data-state":Ae(C.open),"data-radix-menu-content":"",dir:D.dir,...N,...x,ref:A,style:{outline:"none",...x.style},onKeyDown:o(x.onKeyDown,(e=>{const n=e.target.closest("[data-radix-menu-content]")===e.currentTarget,t=e.ctrlKey||e.altKey||e.metaKey,r=1===e.key.length;n&&("Tab"===e.key&&e.preventDefault(),!t&&r&&J(e.key));const o=S.current;if(e.target!==o)return;if(!L.includes(e.key))return;e.preventDefault();const a=P().filter((e=>!e.disabled)).map((e=>e.ref.current));F.includes(e.key)&&a.reverse(),function(e){const n=document.activeElement;for(const t of e){if(t===n)return;if(t.focus(),document.activeElement!==n)return}}(a)})),onBlur:o(n.onBlur,(e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(K.current),j.current="")})),onPointerMove:o(n.onPointerMove,ze((e=>{const n=e.target,t=B.current!==e.clientX;if(e.currentTarget.contains(n)&&t){const n=e.clientX>B.current?"right":"left";U.current=n,B.current=e.clientX}})))})})})})})})}));se.displayName=re;var ue=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e;return E(d.div,{role:"group",...r,ref:n})}));ue.displayName="MenuGroup";var le=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e;return E(d.div,{...r,ref:n})}));le.displayName="MenuLabel";var pe="MenuItem",fe="menu.itemSelect",me=e.forwardRef(((n,t)=>{const{disabled:a=!1,onSelect:s,...c}=n,d=e.useRef(null),u=Z(pe,n.__scopeMenu),l=ae(pe,n.__scopeMenu),p=r(t,d),f=e.useRef(!1);return E(he,{...c,ref:p,disabled:a,onClick:o(n.onClick,(()=>{const e=d.current;if(!a&&e){const n=new CustomEvent(fe,{bubbles:!0,cancelable:!0});e.addEventListener(fe,(e=>s?.(e)),{once:!0}),i(e,n),n.defaultPrevented?f.current=!1:u.onClose()}})),onPointerDown:e=>{n.onPointerDown?.(e),f.current=!0},onPointerUp:o(n.onPointerUp,(e=>{f.current||e.currentTarget?.click()})),onKeyDown:o(n.onKeyDown,(e=>{const n=""!==l.searchRef.current;a||n&&" "===e.key||S.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())}))})}));me.displayName=pe;var he=e.forwardRef(((n,t)=>{const{__scopeMenu:a,disabled:s=!1,textValue:c,...i}=n,u=ae(pe,a),l=Y(a),p=e.useRef(null),f=r(t,p),[m,h]=e.useState(!1),[g,v]=e.useState("");return e.useEffect((()=>{const e=p.current;e&&v((e.textContent??"").trim())}),[i.children]),E(z.ItemSlot,{scope:a,disabled:s,textValue:c??g,children:E(D,{asChild:!0,...l,focusable:!s,children:E(d.div,{role:"menuitem","data-highlighted":m?"":void 0,"aria-disabled":s||void 0,"data-disabled":s?"":void 0,...i,ref:f,onPointerMove:o(n.onPointerMove,ze((e=>{if(s)u.onItemLeave(e);else if(u.onItemEnter(e),!e.defaultPrevented){e.currentTarget.focus({preventScroll:!0})}}))),onPointerLeave:o(n.onPointerLeave,ze((e=>u.onItemLeave(e)))),onFocus:o(n.onFocus,(()=>h(!0))),onBlur:o(n.onBlur,(()=>h(!1)))})})})})),ge=e.forwardRef(((e,n)=>{const{checked:t=!1,onCheckedChange:r,...a}=e;return E(Ce,{scope:e.__scopeMenu,checked:t,children:E(me,{role:"menuitemcheckbox","aria-checked":Ke(t)?"mixed":t,...a,ref:n,"data-state":je(t),onSelect:o(a.onSelect,(()=>r?.(!!Ke(t)||!t)),{checkForDefaultPrevented:!1})})})}));ge.displayName="MenuCheckboxItem";var ve="MenuRadioGroup",[we,_e]=U(ve,{value:void 0,onValueChange:()=>{}}),ye=e.forwardRef(((e,t)=>{const{value:r,onValueChange:o,...a}=e,s=n(o);return E(we,{scope:e.__scopeMenu,value:r,onValueChange:s,children:E(ue,{...a,ref:t})})}));ye.displayName=ve;var be="MenuRadioItem",Me=e.forwardRef(((e,n)=>{const{value:t,...r}=e,a=_e(be,e.__scopeMenu),s=t===a.value;return E(Ce,{scope:e.__scopeMenu,checked:s,children:E(me,{role:"menuitemradio","aria-checked":s,...r,ref:n,"data-state":je(s),onSelect:o(r.onSelect,(()=>a.onValueChange?.(t)),{checkForDefaultPrevented:!1})})})}));Me.displayName=be;var xe="MenuItemIndicator",[Ce,De]=U(xe,{checked:!1}),ke=e.forwardRef(((e,n)=>{const{__scopeMenu:r,forceMount:o,...a}=e,s=De(xe,r);return E(t,{present:o||Ke(s.checked)||!0===s.checked,children:E(d.span,{...a,ref:n,"data-state":je(s.checked)})})}));ke.displayName=xe;var Re=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e;return E(d.div,{role:"separator","aria-orientation":"horizontal",...r,ref:n})}));Re.displayName="MenuSeparator";var Ee=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e,o=X(t);return E(x,{...o,...r,ref:n})}));Ee.displayName="MenuArrow";var Ne="MenuSub",[Oe,Pe]=U(Ne),Ie=t=>{const{__scopeMenu:r,children:o,open:a=!1,onOpenChange:s}=t,c=H(Ne,r),d=X(r),[i,u]=e.useState(null),[l,p]=e.useState(null),f=n(s);return e.useEffect((()=>(!1===c.open&&f(!1),()=>f(!1))),[c.open,f]),E(y,{...d,children:E(q,{scope:r,open:a,onOpenChange:f,content:l,onContentChange:p,children:E(Oe,{scope:r,contentId:w(),triggerId:w(),trigger:i,onTriggerChange:u,children:o})})})};Ie.displayName=Ne;var Te="MenuSubTrigger",Se=e.forwardRef(((n,t)=>{const r=H(Te,n.__scopeMenu),s=Z(Te,n.__scopeMenu),c=Pe(Te,n.__scopeMenu),d=ae(Te,n.__scopeMenu),i=e.useRef(null),{pointerGraceTimerRef:u,onPointerGraceIntentChange:l}=d,p={__scopeMenu:n.__scopeMenu},f=e.useCallback((()=>{i.current&&window.clearTimeout(i.current),i.current=null}),[]);return e.useEffect((()=>f),[f]),e.useEffect((()=>{const e=u.current;return()=>{window.clearTimeout(e),l(null)}}),[u,l]),E(Q,{asChild:!0,...p,children:E(he,{id:c.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":c.contentId,"data-state":Ae(r.open),...n,ref:a(t,c.onTriggerChange),onClick:e=>{n.onClick?.(e),n.disabled||e.defaultPrevented||(e.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:o(n.onPointerMove,ze((e=>{d.onItemEnter(e),e.defaultPrevented||n.disabled||r.open||i.current||(d.onPointerGraceIntentChange(null),i.current=window.setTimeout((()=>{r.onOpenChange(!0),f()}),100))}))),onPointerLeave:o(n.onPointerLeave,ze((e=>{f();const n=r.content?.getBoundingClientRect();if(n){const t=r.content?.dataset.side,o="right"===t,a=o?-5:5,s=n[o?"left":"right"],c=n[o?"right":"left"];d.onPointerGraceIntentChange({area:[{x:e.clientX+a,y:e.clientY},{x:s,y:n.top},{x:c,y:n.top},{x:c,y:n.bottom},{x:s,y:n.bottom}],side:t}),window.clearTimeout(u.current),u.current=window.setTimeout((()=>d.onPointerGraceIntentChange(null)),300)}else{if(d.onTriggerLeave(e),e.defaultPrevented)return;d.onPointerGraceIntentChange(null)}}))),onKeyDown:o(n.onKeyDown,(e=>{const t=""!==d.searchRef.current;n.disabled||t&&" "===e.key||A[s.dir].includes(e.key)&&(r.onOpenChange(!0),r.content?.focus(),e.preventDefault())}))})})}));Se.displayName=Te;var Fe="MenuSubContent",Le=e.forwardRef(((n,a)=>{const s=ne(re,n.__scopeMenu),{forceMount:c=s.forceMount,...d}=n,i=H(re,n.__scopeMenu),u=Z(re,n.__scopeMenu),l=Pe(Fe,n.__scopeMenu),p=e.useRef(null),f=r(a,p);return E(z.Provider,{scope:n.__scopeMenu,children:E(t,{present:c||i.open,children:E(z.Slot,{scope:n.__scopeMenu,children:E(ie,{id:l.contentId,"aria-labelledby":l.triggerId,...d,ref:f,align:"start",side:"rtl"===u.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{u.isUsingKeyboardRef.current&&p.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:o(n.onFocusOutside,(e=>{e.target!==l.trigger&&i.onOpenChange(!1)})),onEscapeKeyDown:o(n.onEscapeKeyDown,(e=>{u.onClose(),e.preventDefault()})),onKeyDown:o(n.onKeyDown,(e=>{const n=e.currentTarget.contains(e.target),t=K[u.dir].includes(e.key);n&&t&&(i.onOpenChange(!1),l.trigger?.focus(),e.preventDefault())}))})})})})}));function Ae(e){return e?"open":"closed"}function Ke(e){return"indeterminate"===e}function je(e){return Ke(e)?"indeterminate":e?"checked":"unchecked"}function ze(e){return n=>"mouse"===n.pointerType?e(n):void 0}Le.displayName=Fe;var Ge=J,Ve=Q,Ue=te,Be=se,Xe=ue,Ye=le,qe=me,He=ge,We=ye,Ze=Me,Je=ke,Qe=Re,$e=Ee,en=Ie,nn=Se,tn=Le,rn="DropdownMenu",[on,an]=s(rn,[B]),sn=B(),[cn,dn]=on(rn),un=n=>{const{__scopeDropdownMenu:t,children:r,dir:o,open:a,defaultOpen:s,onOpenChange:d,modal:i=!0}=n,u=sn(t),l=e.useRef(null),[p=!1,f]=c({prop:a,defaultProp:s,onChange:d});return E(cn,{scope:t,triggerId:w(),triggerRef:l,contentId:w(),open:p,onOpenChange:f,onOpenToggle:e.useCallback((()=>f((e=>!e))),[f]),modal:i,children:E(Ge,{...u,open:p,onOpenChange:f,dir:o,modal:i,children:r})})};un.displayName=rn;var ln="DropdownMenuTrigger",pn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,disabled:r=!1,...s}=e,c=dn(ln,t),i=sn(t);return E(Ve,{asChild:!0,...i,children:E(d.button,{type:"button",id:c.triggerId,"aria-haspopup":"menu","aria-expanded":c.open,"aria-controls":c.open?c.contentId:void 0,"data-state":c.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...s,ref:a(n,c.triggerRef),onPointerDown:o(e.onPointerDown,(e=>{r||0!==e.button||!1!==e.ctrlKey||(c.onOpenToggle(),c.open||e.preventDefault())})),onKeyDown:o(e.onKeyDown,(e=>{r||(["Enter"," "].includes(e.key)&&c.onOpenToggle(),"ArrowDown"===e.key&&c.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())}))})})}));pn.displayName=ln;var fn=e=>{const{__scopeDropdownMenu:n,...t}=e,r=sn(n);return E(Ue,{...r,...t})};fn.displayName="DropdownMenuPortal";var mn="DropdownMenuContent",hn=e.forwardRef(((n,t)=>{const{__scopeDropdownMenu:r,...a}=n,s=dn(mn,r),c=sn(r),d=e.useRef(!1);return E(Be,{id:s.contentId,"aria-labelledby":s.triggerId,...c,...a,ref:t,onCloseAutoFocus:o(n.onCloseAutoFocus,(e=>{d.current||s.triggerRef.current?.focus(),d.current=!1,e.preventDefault()})),onInteractOutside:o(n.onInteractOutside,(e=>{const n=e.detail.originalEvent,t=0===n.button&&!0===n.ctrlKey,r=2===n.button||t;s.modal&&!r||(d.current=!0)})),style:{...n.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})}));hn.displayName=mn;var gn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(Xe,{...o,...r,ref:n})}));gn.displayName="DropdownMenuGroup";var vn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(Ye,{...o,...r,ref:n})}));vn.displayName="DropdownMenuLabel";var wn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(qe,{...o,...r,ref:n})}));wn.displayName="DropdownMenuItem";var _n=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(He,{...o,...r,ref:n})}));_n.displayName="DropdownMenuCheckboxItem";var yn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(We,{...o,...r,ref:n})}));yn.displayName="DropdownMenuRadioGroup";var bn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(Ze,{...o,...r,ref:n})}));bn.displayName="DropdownMenuRadioItem";var Mn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(Je,{...o,...r,ref:n})}));Mn.displayName="DropdownMenuItemIndicator";var xn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(Qe,{...o,...r,ref:n})}));xn.displayName="DropdownMenuSeparator";e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E($e,{...o,...r,ref:n})})).displayName="DropdownMenuArrow";var Cn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(nn,{...o,...r,ref:n})}));Cn.displayName="DropdownMenuSubTrigger";var Dn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(tn,{...o,...r,ref:n,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})}));Dn.displayName="DropdownMenuSubContent";var kn=un,Rn=pn,En=fn,Nn=hn,On=gn,Pn=vn,In=wn,Tn=_n,Sn=yn,Fn=bn,Ln=Mn,An=xn,Kn=e=>{const{__scopeDropdownMenu:n,children:t,open:r,onOpenChange:o,defaultOpen:a}=e,s=sn(n),[d=!1,i]=c({prop:r,defaultProp:a,onChange:o});return E(en,{...s,open:d,onOpenChange:i,children:t})},jn=Cn,zn=Dn;function Gn({...n}){return e.createElement(kn,{"data-slot":"dropdown-menu",...n})}function Vn({...n}){return e.createElement(En,{"data-slot":"dropdown-menu-portal",...n})}function Un({...n}){return e.createElement(Rn,{"data-slot":"dropdown-menu-trigger",...n})}function Bn({className:n,sideOffset:t=4,...r}){return e.createElement(En,null,e.createElement(Nn,{"data-slot":"dropdown-menu-content",sideOffset:t,className:N("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",n),...r}))}function Xn({...n}){return e.createElement(On,{"data-slot":"dropdown-menu-group",...n})}function Yn({className:n,inset:t,variant:r="default",...o}){return e.createElement(In,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":r,className:N("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive-foreground data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/40 data-[variant=destructive]:focus:text-destructive-foreground data-[variant=destructive]:*:[svg]:!text-destructive-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",n),...o})}function qn({className:n,children:t,checked:r,...o}){return e.createElement(Tn,{"data-slot":"dropdown-menu-checkbox-item",className:N("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",n),checked:r,...o},e.createElement("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center"},e.createElement(Ln,null,e.createElement(O,{className:"size-4"}))),t)}function Hn({...n}){return e.createElement(Sn,{"data-slot":"dropdown-menu-radio-group",...n})}function Wn({className:n,children:t,...r}){return e.createElement(Fn,{"data-slot":"dropdown-menu-radio-item",className:N("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",n),...r},e.createElement("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center"},e.createElement(Ln,null,e.createElement(T,{className:"size-2 fill-current"}))),t)}function Zn({className:n,inset:t,...r}){return e.createElement(Pn,{"data-slot":"dropdown-menu-label","data-inset":t,className:N("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",n),...r})}function Jn({className:n,...t}){return e.createElement(An,{"data-slot":"dropdown-menu-separator",className:N("bg-border -mx-1 my-1 h-px",n),...t})}function Qn({className:n,...t}){return e.createElement("span",{"data-slot":"dropdown-menu-shortcut",className:N("text-muted-foreground ml-auto text-xs tracking-widest",n),...t})}function $n({...n}){return e.createElement(Kn,{"data-slot":"dropdown-menu-sub",...n})}function et({className:n,inset:t,children:r,...o}){return e.createElement(jn,{"data-slot":"dropdown-menu-sub-trigger","data-inset":t,className:N("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8",n),...o},r,e.createElement(I,{className:"ml-auto size-4"}))}function nt({className:n,...t}){return e.createElement(zn,{"data-slot":"dropdown-menu-sub-content",className:N("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg",n),...t})}export{Gn as DropdownMenu,qn as DropdownMenuCheckboxItem,Bn as DropdownMenuContent,Xn as DropdownMenuGroup,Yn as DropdownMenuItem,Zn as DropdownMenuLabel,Vn as DropdownMenuPortal,Hn as DropdownMenuRadioGroup,Wn as DropdownMenuRadioItem,Jn as DropdownMenuSeparator,Qn as DropdownMenuShortcut,$n as DropdownMenuSub,nt as DropdownMenuSubContent,et as DropdownMenuSubTrigger,Un as DropdownMenuTrigger};
1
+ import*as e from"react";import{a as n,P as t,u as r,c as o,d as a}from"../chunks/index-ClSqYyO3.mjs";import{c as s}from"../chunks/index-D1rtromL.mjs";import{u as c}from"../chunks/index-46Dn4Q--.mjs";import{P as d,d as i}from"../chunks/index-CN1SA0_I.mjs";import{createCollection as u}from"@radix-ui/react-collection";import{u as l}from"../chunks/index-oT2uIdb1.mjs";import{P as p,D as f}from"../chunks/index-COE6uEyP.mjs";import{h as m,u as h,R as g,F as v}from"../chunks/Combination-w1gWj54H.mjs";import{u as w}from"../chunks/index-DyAmMjEH.mjs";import{c as _,R as y,A as b,C as M,a as x}from"../chunks/index-CIU1Xq1J.mjs";import{c as C,I as D,R as k}from"../chunks/index-CYJu5yO5.mjs";import{Slot as R}from"@radix-ui/react-slot";import{jsx as E}from"react/jsx-runtime";import{c as N}from"../chunks/utils-Dd3mX7Lt.mjs";import{C as O}from"../chunks/check-B7qxEGdi.mjs";import{c as P}from"../chunks/createLucideIcon-CRElQpLA.mjs";import{C as I}from"../chunks/chevron-right-DX1OAykB.mjs";import"react-dom";import"../chunks/tslib.es6-C59-pKsO.mjs";import"../chunks/index-DM6C2fpF.mjs";import"../chunks/bundle-mjs-WLX8GCHw.mjs";const T=P("Circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var S=["Enter"," "],F=["ArrowUp","PageDown","End"],L=["ArrowDown","PageUp","Home",...F],j={ltr:[...S,"ArrowRight"],rtl:[...S,"ArrowLeft"]},K={ltr:["ArrowLeft"],rtl:["ArrowRight"]},A="Menu",[z,G,V]=u(A),[U,B]=s(A,[V,_,C]),X=_(),Y=C(),[H,W]=U(A),[Z,q]=U(A),J=t=>{const{__scopeMenu:r,open:o=!1,children:a,dir:s,onOpenChange:c,modal:d=!0}=t,i=X(r),[u,p]=e.useState(null),f=e.useRef(!1),m=n(c),h=l(s);return e.useEffect((()=>{const e=()=>{f.current=!0,document.addEventListener("pointerdown",n,{capture:!0,once:!0}),document.addEventListener("pointermove",n,{capture:!0,once:!0})},n=()=>f.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",n,{capture:!0}),document.removeEventListener("pointermove",n,{capture:!0})}}),[]),E(y,{...i,children:E(H,{scope:r,open:o,onOpenChange:m,content:u,onContentChange:p,children:E(Z,{scope:r,onClose:e.useCallback((()=>m(!1)),[m]),isUsingKeyboardRef:f,dir:h,modal:d,children:a})})})};J.displayName=A;var Q=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e,o=X(t);return E(b,{...o,...r,ref:n})}));Q.displayName="MenuAnchor";var $="MenuPortal",[ee,ne]=U($,{forceMount:void 0}),te=e=>{const{__scopeMenu:n,forceMount:r,children:o,container:a}=e,s=W($,n);return E(ee,{scope:n,forceMount:r,children:E(t,{present:r||s.open,children:E(p,{asChild:!0,container:a,children:o})})})};te.displayName=$;var re="MenuContent",[oe,ae]=U(re),se=e.forwardRef(((e,n)=>{const r=ne(re,e.__scopeMenu),{forceMount:o=r.forceMount,...a}=e,s=W(re,e.__scopeMenu),c=q(re,e.__scopeMenu);return E(z.Provider,{scope:e.__scopeMenu,children:E(t,{present:o||s.open,children:E(z.Slot,{scope:e.__scopeMenu,children:c.modal?E(ce,{...a,ref:n}):E(de,{...a,ref:n})})})})})),ce=e.forwardRef(((n,t)=>{const a=W(re,n.__scopeMenu),s=e.useRef(null),c=r(t,s);return e.useEffect((()=>{const e=s.current;if(e)return m(e)}),[]),E(ie,{...n,ref:c,trapFocus:a.open,disableOutsidePointerEvents:a.open,disableOutsideScroll:!0,onFocusOutside:o(n.onFocusOutside,(e=>e.preventDefault()),{checkForDefaultPrevented:!1}),onDismiss:()=>a.onOpenChange(!1)})})),de=e.forwardRef(((e,n)=>{const t=W(re,e.__scopeMenu);return E(ie,{...e,ref:n,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>t.onOpenChange(!1)})})),ie=e.forwardRef(((n,t)=>{const{__scopeMenu:a,loop:s=!1,trapFocus:c,onOpenAutoFocus:d,onCloseAutoFocus:i,disableOutsidePointerEvents:u,onEntryFocus:l,onEscapeKeyDown:p,onPointerDownOutside:m,onFocusOutside:w,onInteractOutside:_,onDismiss:y,disableOutsideScroll:b,...x}=n,C=W(re,a),D=q(re,a),N=X(a),O=Y(a),P=G(a),[I,T]=e.useState(null),S=e.useRef(null),j=r(t,S,C.onContentChange),K=e.useRef(0),A=e.useRef(""),z=e.useRef(0),V=e.useRef(null),U=e.useRef("right"),B=e.useRef(0),H=b?g:e.Fragment,Z=b?{as:R,allowPinchZoom:!0}:void 0,J=e=>{const n=A.current+e,t=P().filter((e=>!e.disabled)),r=document.activeElement,o=t.find((e=>e.ref.current===r))?.textValue,a=function(e,n,t){const r=n.length>1&&Array.from(n).every((e=>e===n[0])),o=r?n[0]:n,a=t?e.indexOf(t):-1;let s=(c=e,d=Math.max(a,0),c.map(((e,n)=>c[(d+n)%c.length])));var c,d;1===o.length&&(s=s.filter((e=>e!==t)));const i=s.find((e=>e.toLowerCase().startsWith(o.toLowerCase())));return i!==t?i:void 0}(t.map((e=>e.textValue)),n,o),s=t.find((e=>e.textValue===a))?.ref.current;!function e(n){A.current=n,window.clearTimeout(K.current),""!==n&&(K.current=window.setTimeout((()=>e("")),1e3))}(n),s&&setTimeout((()=>s.focus()))};e.useEffect((()=>()=>window.clearTimeout(K.current)),[]),h();const Q=e.useCallback((e=>U.current===V.current?.side&&function(e,n){if(!n)return!1;const t={x:e.clientX,y:e.clientY};return function(e,n){const{x:t,y:r}=e;let o=!1;for(let e=0,a=n.length-1;e<n.length;a=e++){const s=n[e].x,c=n[e].y,d=n[a].x,i=n[a].y;c>r!=i>r&&t<(d-s)*(r-c)/(i-c)+s&&(o=!o)}return o}(t,n)}(e,V.current?.area)),[]);return E(oe,{scope:a,searchRef:A,onItemEnter:e.useCallback((e=>{Q(e)&&e.preventDefault()}),[Q]),onItemLeave:e.useCallback((e=>{Q(e)||(S.current?.focus(),T(null))}),[Q]),onTriggerLeave:e.useCallback((e=>{Q(e)&&e.preventDefault()}),[Q]),pointerGraceTimerRef:z,onPointerGraceIntentChange:e.useCallback((e=>{V.current=e}),[]),children:E(H,{...Z,children:E(v,{asChild:!0,trapped:c,onMountAutoFocus:o(d,(e=>{e.preventDefault(),S.current?.focus({preventScroll:!0})})),onUnmountAutoFocus:i,children:E(f,{asChild:!0,disableOutsidePointerEvents:u,onEscapeKeyDown:p,onPointerDownOutside:m,onFocusOutside:w,onInteractOutside:_,onDismiss:y,children:E(k,{asChild:!0,...O,dir:D.dir,orientation:"vertical",loop:s,currentTabStopId:I,onCurrentTabStopIdChange:T,onEntryFocus:o(l,(e=>{D.isUsingKeyboardRef.current||e.preventDefault()})),preventScrollOnEntryFocus:!0,children:E(M,{role:"menu","aria-orientation":"vertical","data-state":je(C.open),"data-radix-menu-content":"",dir:D.dir,...N,...x,ref:j,style:{outline:"none",...x.style},onKeyDown:o(x.onKeyDown,(e=>{const n=e.target.closest("[data-radix-menu-content]")===e.currentTarget,t=e.ctrlKey||e.altKey||e.metaKey,r=1===e.key.length;n&&("Tab"===e.key&&e.preventDefault(),!t&&r&&J(e.key));const o=S.current;if(e.target!==o)return;if(!L.includes(e.key))return;e.preventDefault();const a=P().filter((e=>!e.disabled)).map((e=>e.ref.current));F.includes(e.key)&&a.reverse(),function(e){const n=document.activeElement;for(const t of e){if(t===n)return;if(t.focus(),document.activeElement!==n)return}}(a)})),onBlur:o(n.onBlur,(e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(K.current),A.current="")})),onPointerMove:o(n.onPointerMove,ze((e=>{const n=e.target,t=B.current!==e.clientX;if(e.currentTarget.contains(n)&&t){const n=e.clientX>B.current?"right":"left";U.current=n,B.current=e.clientX}})))})})})})})})}));se.displayName=re;var ue=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e;return E(d.div,{role:"group",...r,ref:n})}));ue.displayName="MenuGroup";var le=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e;return E(d.div,{...r,ref:n})}));le.displayName="MenuLabel";var pe="MenuItem",fe="menu.itemSelect",me=e.forwardRef(((n,t)=>{const{disabled:a=!1,onSelect:s,...c}=n,d=e.useRef(null),u=q(pe,n.__scopeMenu),l=ae(pe,n.__scopeMenu),p=r(t,d),f=e.useRef(!1);return E(he,{...c,ref:p,disabled:a,onClick:o(n.onClick,(()=>{const e=d.current;if(!a&&e){const n=new CustomEvent(fe,{bubbles:!0,cancelable:!0});e.addEventListener(fe,(e=>s?.(e)),{once:!0}),i(e,n),n.defaultPrevented?f.current=!1:u.onClose()}})),onPointerDown:e=>{n.onPointerDown?.(e),f.current=!0},onPointerUp:o(n.onPointerUp,(e=>{f.current||e.currentTarget?.click()})),onKeyDown:o(n.onKeyDown,(e=>{const n=""!==l.searchRef.current;a||n&&" "===e.key||S.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())}))})}));me.displayName=pe;var he=e.forwardRef(((n,t)=>{const{__scopeMenu:a,disabled:s=!1,textValue:c,...i}=n,u=ae(pe,a),l=Y(a),p=e.useRef(null),f=r(t,p),[m,h]=e.useState(!1),[g,v]=e.useState("");return e.useEffect((()=>{const e=p.current;e&&v((e.textContent??"").trim())}),[i.children]),E(z.ItemSlot,{scope:a,disabled:s,textValue:c??g,children:E(D,{asChild:!0,...l,focusable:!s,children:E(d.div,{role:"menuitem","data-highlighted":m?"":void 0,"aria-disabled":s||void 0,"data-disabled":s?"":void 0,...i,ref:f,onPointerMove:o(n.onPointerMove,ze((e=>{if(s)u.onItemLeave(e);else if(u.onItemEnter(e),!e.defaultPrevented){e.currentTarget.focus({preventScroll:!0})}}))),onPointerLeave:o(n.onPointerLeave,ze((e=>u.onItemLeave(e)))),onFocus:o(n.onFocus,(()=>h(!0))),onBlur:o(n.onBlur,(()=>h(!1)))})})})})),ge=e.forwardRef(((e,n)=>{const{checked:t=!1,onCheckedChange:r,...a}=e;return E(Ce,{scope:e.__scopeMenu,checked:t,children:E(me,{role:"menuitemcheckbox","aria-checked":Ke(t)?"mixed":t,...a,ref:n,"data-state":Ae(t),onSelect:o(a.onSelect,(()=>r?.(!!Ke(t)||!t)),{checkForDefaultPrevented:!1})})})}));ge.displayName="MenuCheckboxItem";var ve="MenuRadioGroup",[we,_e]=U(ve,{value:void 0,onValueChange:()=>{}}),ye=e.forwardRef(((e,t)=>{const{value:r,onValueChange:o,...a}=e,s=n(o);return E(we,{scope:e.__scopeMenu,value:r,onValueChange:s,children:E(ue,{...a,ref:t})})}));ye.displayName=ve;var be="MenuRadioItem",Me=e.forwardRef(((e,n)=>{const{value:t,...r}=e,a=_e(be,e.__scopeMenu),s=t===a.value;return E(Ce,{scope:e.__scopeMenu,checked:s,children:E(me,{role:"menuitemradio","aria-checked":s,...r,ref:n,"data-state":Ae(s),onSelect:o(r.onSelect,(()=>a.onValueChange?.(t)),{checkForDefaultPrevented:!1})})})}));Me.displayName=be;var xe="MenuItemIndicator",[Ce,De]=U(xe,{checked:!1}),ke=e.forwardRef(((e,n)=>{const{__scopeMenu:r,forceMount:o,...a}=e,s=De(xe,r);return E(t,{present:o||Ke(s.checked)||!0===s.checked,children:E(d.span,{...a,ref:n,"data-state":Ae(s.checked)})})}));ke.displayName=xe;var Re=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e;return E(d.div,{role:"separator","aria-orientation":"horizontal",...r,ref:n})}));Re.displayName="MenuSeparator";var Ee=e.forwardRef(((e,n)=>{const{__scopeMenu:t,...r}=e,o=X(t);return E(x,{...o,...r,ref:n})}));Ee.displayName="MenuArrow";var Ne="MenuSub",[Oe,Pe]=U(Ne),Ie=t=>{const{__scopeMenu:r,children:o,open:a=!1,onOpenChange:s}=t,c=W(Ne,r),d=X(r),[i,u]=e.useState(null),[l,p]=e.useState(null),f=n(s);return e.useEffect((()=>(!1===c.open&&f(!1),()=>f(!1))),[c.open,f]),E(y,{...d,children:E(H,{scope:r,open:a,onOpenChange:f,content:l,onContentChange:p,children:E(Oe,{scope:r,contentId:w(),triggerId:w(),trigger:i,onTriggerChange:u,children:o})})})};Ie.displayName=Ne;var Te="MenuSubTrigger",Se=e.forwardRef(((n,t)=>{const r=W(Te,n.__scopeMenu),s=q(Te,n.__scopeMenu),c=Pe(Te,n.__scopeMenu),d=ae(Te,n.__scopeMenu),i=e.useRef(null),{pointerGraceTimerRef:u,onPointerGraceIntentChange:l}=d,p={__scopeMenu:n.__scopeMenu},f=e.useCallback((()=>{i.current&&window.clearTimeout(i.current),i.current=null}),[]);return e.useEffect((()=>f),[f]),e.useEffect((()=>{const e=u.current;return()=>{window.clearTimeout(e),l(null)}}),[u,l]),E(Q,{asChild:!0,...p,children:E(he,{id:c.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":c.contentId,"data-state":je(r.open),...n,ref:a(t,c.onTriggerChange),onClick:e=>{n.onClick?.(e),n.disabled||e.defaultPrevented||(e.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:o(n.onPointerMove,ze((e=>{d.onItemEnter(e),e.defaultPrevented||n.disabled||r.open||i.current||(d.onPointerGraceIntentChange(null),i.current=window.setTimeout((()=>{r.onOpenChange(!0),f()}),100))}))),onPointerLeave:o(n.onPointerLeave,ze((e=>{f();const n=r.content?.getBoundingClientRect();if(n){const t=r.content?.dataset.side,o="right"===t,a=o?-5:5,s=n[o?"left":"right"],c=n[o?"right":"left"];d.onPointerGraceIntentChange({area:[{x:e.clientX+a,y:e.clientY},{x:s,y:n.top},{x:c,y:n.top},{x:c,y:n.bottom},{x:s,y:n.bottom}],side:t}),window.clearTimeout(u.current),u.current=window.setTimeout((()=>d.onPointerGraceIntentChange(null)),300)}else{if(d.onTriggerLeave(e),e.defaultPrevented)return;d.onPointerGraceIntentChange(null)}}))),onKeyDown:o(n.onKeyDown,(e=>{const t=""!==d.searchRef.current;n.disabled||t&&" "===e.key||j[s.dir].includes(e.key)&&(r.onOpenChange(!0),r.content?.focus(),e.preventDefault())}))})})}));Se.displayName=Te;var Fe="MenuSubContent",Le=e.forwardRef(((n,a)=>{const s=ne(re,n.__scopeMenu),{forceMount:c=s.forceMount,...d}=n,i=W(re,n.__scopeMenu),u=q(re,n.__scopeMenu),l=Pe(Fe,n.__scopeMenu),p=e.useRef(null),f=r(a,p);return E(z.Provider,{scope:n.__scopeMenu,children:E(t,{present:c||i.open,children:E(z.Slot,{scope:n.__scopeMenu,children:E(ie,{id:l.contentId,"aria-labelledby":l.triggerId,...d,ref:f,align:"start",side:"rtl"===u.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{u.isUsingKeyboardRef.current&&p.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:o(n.onFocusOutside,(e=>{e.target!==l.trigger&&i.onOpenChange(!1)})),onEscapeKeyDown:o(n.onEscapeKeyDown,(e=>{u.onClose(),e.preventDefault()})),onKeyDown:o(n.onKeyDown,(e=>{const n=e.currentTarget.contains(e.target),t=K[u.dir].includes(e.key);n&&t&&(i.onOpenChange(!1),l.trigger?.focus(),e.preventDefault())}))})})})})}));function je(e){return e?"open":"closed"}function Ke(e){return"indeterminate"===e}function Ae(e){return Ke(e)?"indeterminate":e?"checked":"unchecked"}function ze(e){return n=>"mouse"===n.pointerType?e(n):void 0}Le.displayName=Fe;var Ge=J,Ve=Q,Ue=te,Be=se,Xe=ue,Ye=le,He=me,We=ge,Ze=ye,qe=Me,Je=ke,Qe=Re,$e=Ee,en=Ie,nn=Se,tn=Le,rn="DropdownMenu",[on,an]=s(rn,[B]),sn=B(),[cn,dn]=on(rn),un=n=>{const{__scopeDropdownMenu:t,children:r,dir:o,open:a,defaultOpen:s,onOpenChange:d,modal:i=!0}=n,u=sn(t),l=e.useRef(null),[p=!1,f]=c({prop:a,defaultProp:s,onChange:d});return E(cn,{scope:t,triggerId:w(),triggerRef:l,contentId:w(),open:p,onOpenChange:f,onOpenToggle:e.useCallback((()=>f((e=>!e))),[f]),modal:i,children:E(Ge,{...u,open:p,onOpenChange:f,dir:o,modal:i,children:r})})};un.displayName=rn;var ln="DropdownMenuTrigger",pn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,disabled:r=!1,...s}=e,c=dn(ln,t),i=sn(t);return E(Ve,{asChild:!0,...i,children:E(d.button,{type:"button",id:c.triggerId,"aria-haspopup":"menu","aria-expanded":c.open,"aria-controls":c.open?c.contentId:void 0,"data-state":c.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...s,ref:a(n,c.triggerRef),onPointerDown:o(e.onPointerDown,(e=>{r||0!==e.button||!1!==e.ctrlKey||(c.onOpenToggle(),c.open||e.preventDefault())})),onKeyDown:o(e.onKeyDown,(e=>{r||(["Enter"," "].includes(e.key)&&c.onOpenToggle(),"ArrowDown"===e.key&&c.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())}))})})}));pn.displayName=ln;var fn=e=>{const{__scopeDropdownMenu:n,...t}=e,r=sn(n);return E(Ue,{...r,...t})};fn.displayName="DropdownMenuPortal";var mn="DropdownMenuContent",hn=e.forwardRef(((n,t)=>{const{__scopeDropdownMenu:r,...a}=n,s=dn(mn,r),c=sn(r),d=e.useRef(!1);return E(Be,{id:s.contentId,"aria-labelledby":s.triggerId,...c,...a,ref:t,onCloseAutoFocus:o(n.onCloseAutoFocus,(e=>{d.current||s.triggerRef.current?.focus(),d.current=!1,e.preventDefault()})),onInteractOutside:o(n.onInteractOutside,(e=>{const n=e.detail.originalEvent,t=0===n.button&&!0===n.ctrlKey,r=2===n.button||t;s.modal&&!r||(d.current=!0)})),style:{...n.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})}));hn.displayName=mn;var gn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(Xe,{...o,...r,ref:n})}));gn.displayName="DropdownMenuGroup";var vn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(Ye,{...o,...r,ref:n})}));vn.displayName="DropdownMenuLabel";var wn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(He,{...o,...r,ref:n})}));wn.displayName="DropdownMenuItem";var _n=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(We,{...o,...r,ref:n})}));_n.displayName="DropdownMenuCheckboxItem";var yn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(Ze,{...o,...r,ref:n})}));yn.displayName="DropdownMenuRadioGroup";var bn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(qe,{...o,...r,ref:n})}));bn.displayName="DropdownMenuRadioItem";var Mn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(Je,{...o,...r,ref:n})}));Mn.displayName="DropdownMenuItemIndicator";var xn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(Qe,{...o,...r,ref:n})}));xn.displayName="DropdownMenuSeparator";e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E($e,{...o,...r,ref:n})})).displayName="DropdownMenuArrow";var Cn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(nn,{...o,...r,ref:n})}));Cn.displayName="DropdownMenuSubTrigger";var Dn=e.forwardRef(((e,n)=>{const{__scopeDropdownMenu:t,...r}=e,o=sn(t);return E(tn,{...o,...r,ref:n,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})}));Dn.displayName="DropdownMenuSubContent";var kn=un,Rn=pn,En=fn,Nn=hn,On=gn,Pn=vn,In=wn,Tn=_n,Sn=yn,Fn=bn,Ln=Mn,jn=xn,Kn=e=>{const{__scopeDropdownMenu:n,children:t,open:r,onOpenChange:o,defaultOpen:a}=e,s=sn(n),[d=!1,i]=c({prop:r,defaultProp:a,onChange:o});return E(en,{...s,open:d,onOpenChange:i,children:t})},An=Cn,zn=Dn;function Gn({...n}){return e.createElement(kn,{"data-slot":"dropdown-menu",...n})}function Vn({...n}){return e.createElement(En,{"data-slot":"dropdown-menu-portal",...n})}function Un({...n}){return e.createElement(Rn,{"data-slot":"dropdown-menu-trigger",...n})}function Bn({className:n,sideOffset:t=4,...r}){return e.createElement(En,null,e.createElement(Nn,{"data-slot":"dropdown-menu-content",sideOffset:t,className:N("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",n),...r}))}function Xn({...n}){return e.createElement(On,{"data-slot":"dropdown-menu-group",...n})}function Yn({className:n,inset:t,variant:r="default",...o}){return e.createElement(In,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":r,className:N("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive-foreground data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/40 data-[variant=destructive]:focus:text-destructive-foreground data-[variant=destructive]:*:[svg]:!text-destructive-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",n),...o})}function Hn({className:n,children:t,checked:r,...o}){return e.createElement(Tn,{"data-slot":"dropdown-menu-checkbox-item",className:N("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",n),checked:r,...o},e.createElement("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center"},e.createElement(Ln,null,e.createElement(O,{className:"size-4"}))),t)}function Wn({...n}){return e.createElement(Sn,{"data-slot":"dropdown-menu-radio-group",...n})}function Zn({className:n,children:t,...r}){return e.createElement(Fn,{"data-slot":"dropdown-menu-radio-item",className:N("focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",n),...r},e.createElement("span",{className:"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center"},e.createElement(Ln,null,e.createElement(T,{className:"size-2 fill-current"}))),t)}function qn({className:n,inset:t,...r}){return e.createElement(Pn,{"data-slot":"dropdown-menu-label","data-inset":t,className:N("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",n),...r})}function Jn({className:n,...t}){return e.createElement(jn,{"data-slot":"dropdown-menu-separator",className:N("bg-border -mx-1 my-1 h-px",n),...t})}function Qn({className:n,...t}){return e.createElement("span",{"data-slot":"dropdown-menu-shortcut",className:N("text-muted-foreground ml-auto text-xs tracking-widest",n),...t})}function $n({...n}){return e.createElement(Kn,{"data-slot":"dropdown-menu-sub",...n})}function et({className:n,inset:t,children:r,...o}){return e.createElement(An,{"data-slot":"dropdown-menu-sub-trigger","data-inset":t,className:N("focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8",n),...o},r,e.createElement(I,{className:"ml-auto size-4"}))}function nt({className:n,...t}){return e.createElement(zn,{"data-slot":"dropdown-menu-sub-content",className:N("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] overflow-hidden rounded-md border p-1 shadow-lg",n),...t})}export{Gn as DropdownMenu,Hn as DropdownMenuCheckboxItem,Bn as DropdownMenuContent,Xn as DropdownMenuGroup,Yn as DropdownMenuItem,qn as DropdownMenuLabel,Vn as DropdownMenuPortal,Wn as DropdownMenuRadioGroup,Zn as DropdownMenuRadioItem,Jn as DropdownMenuSeparator,Qn as DropdownMenuShortcut,$n as DropdownMenuSub,nt as DropdownMenuSubContent,et as DropdownMenuSubTrigger,Un as DropdownMenuTrigger};
2
2
  //# sourceMappingURL=index.mjs.map