@raystack/apsara 0.34.1 → 0.34.3

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.
@@ -23,7 +23,7 @@ function LoaderRows({ rowCount, columnCount, }) {
23
23
  const rows = Array.from({ length: rowCount });
24
24
  return rows.map((_, rowIndex) => {
25
25
  const columns = Array.from({ length: columnCount });
26
- return (jsxRuntime.jsxRuntimeExports.jsx(table.Table.Row, { children: columns.map((_, colIndex) => (jsxRuntime.jsxRuntimeExports.jsx(table.Table.Cell, { children: jsxRuntime.jsxRuntimeExports.jsx(index$1.default, {}) }, "loading-column-" + colIndex))) }, "loading-row-" + rowIndex));
26
+ return (jsxRuntime.jsxRuntimeExports.jsx(table.Table.Row, { children: columns.map((_, colIndex) => (jsxRuntime.jsxRuntimeExports.jsx(table.Table.Cell, { children: jsxRuntime.jsxRuntimeExports.jsx(index$1.default, { highlightColor: "var(--rs-color-background-base-primary)", baseColor: "var(--rs-color-background-base-primary-hover)" }) }, "loading-column-" + colIndex))) }, "loading-row-" + rowIndex));
27
27
  });
28
28
  }
29
29
  function GroupHeader({ colSpan, data, }) {
@@ -1 +1 @@
1
- {"version":3,"file":"content.cjs","sources":["../../../../../v1/components/data-table/components/content.tsx"],"sourcesContent":["import { Table } from \"../../table\";\nimport type { Row, HeaderGroup } from \"@tanstack/react-table\";\nimport { EmptyState } from \"../../empty-state\";\nimport { TableIcon } from \"@radix-ui/react-icons\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { useDataTable } from \"../hooks/useDataTable\";\nimport {\n DataTableColumnDef,\n DataTableContentProps,\n GroupedData,\n} from \"../data-table.types\";\nimport Skeleton from \"react-loading-skeleton\";\nimport {\n ForwardedRef,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport { Badge } from \"../../badge\";\nimport { Flex } from \"../../flex\";\nimport styles from \"../data-table.module.css\";\nimport clsx from \"clsx\";\n\nfunction Headers<TData>({\n headerGroups = [],\n className = \"\",\n}: {\n headerGroups: HeaderGroup<TData>[];\n className?: string;\n}) {\n return (\n <Table.Header className={className}>\n {headerGroups?.map((headerGroup) => (\n <Table.Row key={headerGroup?.id}>\n {headerGroup?.headers?.map((header) => {\n const columnDef = header.column.columnDef as DataTableColumnDef<\n TData,\n unknown\n >;\n return (\n <Table.Head\n key={header.id}\n colSpan={header.colSpan}\n className={columnDef.classNames?.header}\n style={columnDef.styles?.header}\n >\n {flexRender(columnDef.header, header.getContext())}\n </Table.Head>\n );\n })}\n </Table.Row>\n ))}\n </Table.Header>\n );\n}\n\ninterface RowsProps<TData> {\n rows: Row<TData>[];\n lastRowRef?: ForwardedRef<HTMLTableRowElement>;\n onRowClick?: (row: TData) => void;\n classNames?: {\n row?: string;\n };\n}\n\nfunction LoaderRows({\n rowCount,\n columnCount,\n}: {\n rowCount: number;\n columnCount: number;\n}) {\n const rows = Array.from({ length: rowCount });\n return rows.map((_, rowIndex) => {\n const columns = Array.from({ length: columnCount });\n return (\n <Table.Row key={\"loading-row-\" + rowIndex}>\n {columns.map((_, colIndex) => (\n <Table.Cell key={\"loading-column-\" + colIndex}>\n <Skeleton />\n </Table.Cell>\n ))}\n </Table.Row>\n );\n });\n}\n\nfunction GroupHeader<TData>({\n colSpan,\n data,\n}: {\n colSpan: number;\n data: GroupedData<TData>;\n}) {\n return (\n <Table.SectionHeader colSpan={colSpan}>\n <Flex gap={3} align=\"center\">\n {data?.label}\n {data.showGroupCount ? (\n <Badge variant=\"neutral\">{data?.count}</Badge>\n ) : null}\n </Flex>\n </Table.SectionHeader>\n );\n}\n\nconst Rows = forwardRef<HTMLTableRowElement, RowsProps<unknown>>(\n (props, lastRowRef) => {\n const { rows = [], onRowClick, classNames } = props;\n return (\n <>\n {rows?.map((row, index) => {\n const isSelected = row.getIsSelected();\n const cells = row.getVisibleCells() || [];\n const isSectionHeadingRow = row.depth === 0 && row.getIsExpanded();\n const isLastRow = index === rows.length - 1;\n const rowKey = row.id + \"-\" + index;\n return isSectionHeadingRow ? (\n <GroupHeader\n key={rowKey}\n colSpan={cells.length}\n data={row.original as GroupedData<unknown>}\n />\n ) : (\n <Table.Row\n key={rowKey}\n className={clsx(\n styles[\"row\"],\n onRowClick ? styles[\"clickable\"] : \"\",\n classNames?.row\n )}\n data-state={isSelected && \"selected\"}\n ref={isLastRow ? lastRowRef : undefined}\n onClick={() => onRowClick?.(row.original)}\n >\n {cells.map((cell) => {\n const columnDef = cell.column.columnDef as DataTableColumnDef<\n unknown,\n unknown\n >;\n return (\n <Table.Cell\n key={cell.id}\n className={clsx(styles[\"cell\"], columnDef.classNames?.cell)}\n style={columnDef.styles?.cell}\n >\n {flexRender(columnDef.cell, cell.getContext())}\n </Table.Cell>\n );\n })}\n </Table.Row>\n );\n })}\n </>\n );\n }\n);\n\nconst DefaultEmptyComponent = () => (\n <EmptyState icon={<TableIcon />} heading=\"No Data\" />\n);\n\nexport function Content({\n emptyState,\n classNames = {},\n}: DataTableContentProps) {\n const {\n onRowClick,\n table,\n mode,\n isLoading,\n loadMoreData,\n loadingRowCount = 3,\n } = useDataTable();\n const headerGroups = table?.getHeaderGroups();\n const { rows = [] } = table?.getRowModel();\n\n const lastRowRef = useRef<HTMLTableRowElement | null>(null);\n const observerRef = useRef<IntersectionObserver | null>(null);\n\n const handleObserver = useCallback(\n (entries: IntersectionObserverEntry[]) => {\n const target = entries[0];\n if (target.isIntersecting && !isLoading) {\n loadMoreData();\n }\n },\n [loadMoreData, isLoading]\n );\n\n useEffect(() => {\n if (mode !== \"server\") return;\n\n if (observerRef.current) {\n observerRef.current.disconnect();\n }\n\n observerRef.current = new IntersectionObserver(handleObserver, {\n threshold: 0.1,\n });\n const lastRow = lastRowRef.current;\n if (lastRow) {\n observerRef.current.observe(lastRow);\n }\n\n return () => {\n if (observerRef.current && lastRow) {\n observerRef.current.unobserve(lastRow);\n observerRef.current.disconnect();\n }\n };\n }, [mode, rows.length, handleObserver]);\n\n const visibleColumnsLength = table.getVisibleLeafColumns().length;\n\n return (\n <Table className={classNames.table}>\n <Headers headerGroups={headerGroups} className={classNames.header} />\n <Table.Body className={classNames.body}>\n {rows?.length || isLoading ? (\n <>\n <Rows\n rows={rows}\n ref={lastRowRef}\n onRowClick={onRowClick}\n classNames={{\n row: classNames.row,\n }}\n />\n {isLoading ? (\n <LoaderRows\n rowCount={loadingRowCount}\n columnCount={visibleColumnsLength}\n />\n ) : null}\n </>\n ) : (\n <Table.Row>\n <Table.Cell colSpan={visibleColumnsLength}>\n {emptyState || <DefaultEmptyComponent />}\n </Table.Cell>\n </Table.Row>\n )}\n </Table.Body>\n </Table>\n );\n}\n"],"names":["_jsx","Table","flexRender","Skeleton","_jsxs","Flex","Badge","forwardRef","_Fragment","index","clsx","styles","EmptyState","TableIcon","table","useDataTable","useRef","useCallback","useEffect"],"mappings":"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"}
1
+ {"version":3,"file":"content.cjs","sources":["../../../../../v1/components/data-table/components/content.tsx"],"sourcesContent":["import { Table } from \"../../table\";\nimport type { Row, HeaderGroup } from \"@tanstack/react-table\";\nimport { EmptyState } from \"../../empty-state\";\nimport { TableIcon } from \"@radix-ui/react-icons\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { useDataTable } from \"../hooks/useDataTable\";\nimport {\n DataTableColumnDef,\n DataTableContentProps,\n GroupedData,\n} from \"../data-table.types\";\nimport Skeleton from \"react-loading-skeleton\";\nimport {\n ForwardedRef,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport { Badge } from \"../../badge\";\nimport { Flex } from \"../../flex\";\nimport styles from \"../data-table.module.css\";\nimport clsx from \"clsx\";\n\nfunction Headers<TData>({\n headerGroups = [],\n className = \"\",\n}: {\n headerGroups: HeaderGroup<TData>[];\n className?: string;\n}) {\n return (\n <Table.Header className={className}>\n {headerGroups?.map((headerGroup) => (\n <Table.Row key={headerGroup?.id}>\n {headerGroup?.headers?.map((header) => {\n const columnDef = header.column.columnDef as DataTableColumnDef<\n TData,\n unknown\n >;\n return (\n <Table.Head\n key={header.id}\n colSpan={header.colSpan}\n className={columnDef.classNames?.header}\n style={columnDef.styles?.header}\n >\n {flexRender(columnDef.header, header.getContext())}\n </Table.Head>\n );\n })}\n </Table.Row>\n ))}\n </Table.Header>\n );\n}\n\ninterface RowsProps<TData> {\n rows: Row<TData>[];\n lastRowRef?: ForwardedRef<HTMLTableRowElement>;\n onRowClick?: (row: TData) => void;\n classNames?: {\n row?: string;\n };\n}\n\nfunction LoaderRows({\n rowCount,\n columnCount,\n}: {\n rowCount: number;\n columnCount: number;\n}) {\n const rows = Array.from({ length: rowCount });\n return rows.map((_, rowIndex) => {\n const columns = Array.from({ length: columnCount });\n return (\n <Table.Row key={\"loading-row-\" + rowIndex}>\n {columns.map((_, colIndex) => (\n <Table.Cell key={\"loading-column-\" + colIndex}>\n <Skeleton\n highlightColor=\"var(--rs-color-background-base-primary)\"\n baseColor=\"var(--rs-color-background-base-primary-hover)\"\n />\n </Table.Cell>\n ))}\n </Table.Row>\n );\n });\n}\n\nfunction GroupHeader<TData>({\n colSpan,\n data,\n}: {\n colSpan: number;\n data: GroupedData<TData>;\n}) {\n return (\n <Table.SectionHeader colSpan={colSpan}>\n <Flex gap={3} align=\"center\">\n {data?.label}\n {data.showGroupCount ? (\n <Badge variant=\"neutral\">{data?.count}</Badge>\n ) : null}\n </Flex>\n </Table.SectionHeader>\n );\n}\n\nconst Rows = forwardRef<HTMLTableRowElement, RowsProps<unknown>>(\n (props, lastRowRef) => {\n const { rows = [], onRowClick, classNames } = props;\n return (\n <>\n {rows?.map((row, index) => {\n const isSelected = row.getIsSelected();\n const cells = row.getVisibleCells() || [];\n const isSectionHeadingRow = row.depth === 0 && row.getIsExpanded();\n const isLastRow = index === rows.length - 1;\n const rowKey = row.id + \"-\" + index;\n return isSectionHeadingRow ? (\n <GroupHeader\n key={rowKey}\n colSpan={cells.length}\n data={row.original as GroupedData<unknown>}\n />\n ) : (\n <Table.Row\n key={rowKey}\n className={clsx(\n styles[\"row\"],\n onRowClick ? styles[\"clickable\"] : \"\",\n classNames?.row\n )}\n data-state={isSelected && \"selected\"}\n ref={isLastRow ? lastRowRef : undefined}\n onClick={() => onRowClick?.(row.original)}\n >\n {cells.map((cell) => {\n const columnDef = cell.column.columnDef as DataTableColumnDef<\n unknown,\n unknown\n >;\n return (\n <Table.Cell\n key={cell.id}\n className={clsx(styles[\"cell\"], columnDef.classNames?.cell)}\n style={columnDef.styles?.cell}\n >\n {flexRender(columnDef.cell, cell.getContext())}\n </Table.Cell>\n );\n })}\n </Table.Row>\n );\n })}\n </>\n );\n }\n);\n\nconst DefaultEmptyComponent = () => (\n <EmptyState icon={<TableIcon />} heading=\"No Data\" />\n);\n\nexport function Content({\n emptyState,\n classNames = {},\n}: DataTableContentProps) {\n const {\n onRowClick,\n table,\n mode,\n isLoading,\n loadMoreData,\n loadingRowCount = 3,\n } = useDataTable();\n const headerGroups = table?.getHeaderGroups();\n const { rows = [] } = table?.getRowModel();\n\n const lastRowRef = useRef<HTMLTableRowElement | null>(null);\n const observerRef = useRef<IntersectionObserver | null>(null);\n\n const handleObserver = useCallback(\n (entries: IntersectionObserverEntry[]) => {\n const target = entries[0];\n if (target.isIntersecting && !isLoading) {\n loadMoreData();\n }\n },\n [loadMoreData, isLoading]\n );\n\n useEffect(() => {\n if (mode !== \"server\") return;\n\n if (observerRef.current) {\n observerRef.current.disconnect();\n }\n\n observerRef.current = new IntersectionObserver(handleObserver, {\n threshold: 0.1,\n });\n const lastRow = lastRowRef.current;\n if (lastRow) {\n observerRef.current.observe(lastRow);\n }\n\n return () => {\n if (observerRef.current && lastRow) {\n observerRef.current.unobserve(lastRow);\n observerRef.current.disconnect();\n }\n };\n }, [mode, rows.length, handleObserver]);\n\n const visibleColumnsLength = table.getVisibleLeafColumns().length;\n\n return (\n <Table className={classNames.table}>\n <Headers headerGroups={headerGroups} className={classNames.header} />\n <Table.Body className={classNames.body}>\n {rows?.length || isLoading ? (\n <>\n <Rows\n rows={rows}\n ref={lastRowRef}\n onRowClick={onRowClick}\n classNames={{\n row: classNames.row,\n }}\n />\n {isLoading ? (\n <LoaderRows\n rowCount={loadingRowCount}\n columnCount={visibleColumnsLength}\n />\n ) : null}\n </>\n ) : (\n <Table.Row>\n <Table.Cell colSpan={visibleColumnsLength}>\n {emptyState || <DefaultEmptyComponent />}\n </Table.Cell>\n </Table.Row>\n )}\n </Table.Body>\n </Table>\n );\n}\n"],"names":["_jsx","Table","flexRender","Skeleton","_jsxs","Flex","Badge","forwardRef","_Fragment","index","clsx","styles","EmptyState","TableIcon","table","useDataTable","useRef","useCallback","useEffect"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../../v1/components/data-table/components/content.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,qBAAqB,EAEtB,MAAM,qBAAqB,CAAC;AAyJ7B,wBAAgB,OAAO,CAAC,EACtB,UAAU,EACV,UAAe,GAChB,EAAE,qBAAqB,2CAiFvB"}
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../../v1/components/data-table/components/content.tsx"],"names":[],"mappings":"AAMA,OAAO,EAEL,qBAAqB,EAEtB,MAAM,qBAAqB,CAAC;AA4J7B,wBAAgB,OAAO,CAAC,EACtB,UAAU,EACV,UAAe,GAChB,EAAE,qBAAqB,2CAiFvB"}
@@ -21,7 +21,7 @@ function LoaderRows({ rowCount, columnCount, }) {
21
21
  const rows = Array.from({ length: rowCount });
22
22
  return rows.map((_, rowIndex) => {
23
23
  const columns = Array.from({ length: columnCount });
24
- return (jsxRuntimeExports.jsx(Table.Row, { children: columns.map((_, colIndex) => (jsxRuntimeExports.jsx(Table.Cell, { children: jsxRuntimeExports.jsx(Skeleton, {}) }, "loading-column-" + colIndex))) }, "loading-row-" + rowIndex));
24
+ return (jsxRuntimeExports.jsx(Table.Row, { children: columns.map((_, colIndex) => (jsxRuntimeExports.jsx(Table.Cell, { children: jsxRuntimeExports.jsx(Skeleton, { highlightColor: "var(--rs-color-background-base-primary)", baseColor: "var(--rs-color-background-base-primary-hover)" }) }, "loading-column-" + colIndex))) }, "loading-row-" + rowIndex));
25
25
  });
26
26
  }
27
27
  function GroupHeader({ colSpan, data, }) {
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sources":["../../../../../v1/components/data-table/components/content.tsx"],"sourcesContent":["import { Table } from \"../../table\";\nimport type { Row, HeaderGroup } from \"@tanstack/react-table\";\nimport { EmptyState } from \"../../empty-state\";\nimport { TableIcon } from \"@radix-ui/react-icons\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { useDataTable } from \"../hooks/useDataTable\";\nimport {\n DataTableColumnDef,\n DataTableContentProps,\n GroupedData,\n} from \"../data-table.types\";\nimport Skeleton from \"react-loading-skeleton\";\nimport {\n ForwardedRef,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport { Badge } from \"../../badge\";\nimport { Flex } from \"../../flex\";\nimport styles from \"../data-table.module.css\";\nimport clsx from \"clsx\";\n\nfunction Headers<TData>({\n headerGroups = [],\n className = \"\",\n}: {\n headerGroups: HeaderGroup<TData>[];\n className?: string;\n}) {\n return (\n <Table.Header className={className}>\n {headerGroups?.map((headerGroup) => (\n <Table.Row key={headerGroup?.id}>\n {headerGroup?.headers?.map((header) => {\n const columnDef = header.column.columnDef as DataTableColumnDef<\n TData,\n unknown\n >;\n return (\n <Table.Head\n key={header.id}\n colSpan={header.colSpan}\n className={columnDef.classNames?.header}\n style={columnDef.styles?.header}\n >\n {flexRender(columnDef.header, header.getContext())}\n </Table.Head>\n );\n })}\n </Table.Row>\n ))}\n </Table.Header>\n );\n}\n\ninterface RowsProps<TData> {\n rows: Row<TData>[];\n lastRowRef?: ForwardedRef<HTMLTableRowElement>;\n onRowClick?: (row: TData) => void;\n classNames?: {\n row?: string;\n };\n}\n\nfunction LoaderRows({\n rowCount,\n columnCount,\n}: {\n rowCount: number;\n columnCount: number;\n}) {\n const rows = Array.from({ length: rowCount });\n return rows.map((_, rowIndex) => {\n const columns = Array.from({ length: columnCount });\n return (\n <Table.Row key={\"loading-row-\" + rowIndex}>\n {columns.map((_, colIndex) => (\n <Table.Cell key={\"loading-column-\" + colIndex}>\n <Skeleton />\n </Table.Cell>\n ))}\n </Table.Row>\n );\n });\n}\n\nfunction GroupHeader<TData>({\n colSpan,\n data,\n}: {\n colSpan: number;\n data: GroupedData<TData>;\n}) {\n return (\n <Table.SectionHeader colSpan={colSpan}>\n <Flex gap={3} align=\"center\">\n {data?.label}\n {data.showGroupCount ? (\n <Badge variant=\"neutral\">{data?.count}</Badge>\n ) : null}\n </Flex>\n </Table.SectionHeader>\n );\n}\n\nconst Rows = forwardRef<HTMLTableRowElement, RowsProps<unknown>>(\n (props, lastRowRef) => {\n const { rows = [], onRowClick, classNames } = props;\n return (\n <>\n {rows?.map((row, index) => {\n const isSelected = row.getIsSelected();\n const cells = row.getVisibleCells() || [];\n const isSectionHeadingRow = row.depth === 0 && row.getIsExpanded();\n const isLastRow = index === rows.length - 1;\n const rowKey = row.id + \"-\" + index;\n return isSectionHeadingRow ? (\n <GroupHeader\n key={rowKey}\n colSpan={cells.length}\n data={row.original as GroupedData<unknown>}\n />\n ) : (\n <Table.Row\n key={rowKey}\n className={clsx(\n styles[\"row\"],\n onRowClick ? styles[\"clickable\"] : \"\",\n classNames?.row\n )}\n data-state={isSelected && \"selected\"}\n ref={isLastRow ? lastRowRef : undefined}\n onClick={() => onRowClick?.(row.original)}\n >\n {cells.map((cell) => {\n const columnDef = cell.column.columnDef as DataTableColumnDef<\n unknown,\n unknown\n >;\n return (\n <Table.Cell\n key={cell.id}\n className={clsx(styles[\"cell\"], columnDef.classNames?.cell)}\n style={columnDef.styles?.cell}\n >\n {flexRender(columnDef.cell, cell.getContext())}\n </Table.Cell>\n );\n })}\n </Table.Row>\n );\n })}\n </>\n );\n }\n);\n\nconst DefaultEmptyComponent = () => (\n <EmptyState icon={<TableIcon />} heading=\"No Data\" />\n);\n\nexport function Content({\n emptyState,\n classNames = {},\n}: DataTableContentProps) {\n const {\n onRowClick,\n table,\n mode,\n isLoading,\n loadMoreData,\n loadingRowCount = 3,\n } = useDataTable();\n const headerGroups = table?.getHeaderGroups();\n const { rows = [] } = table?.getRowModel();\n\n const lastRowRef = useRef<HTMLTableRowElement | null>(null);\n const observerRef = useRef<IntersectionObserver | null>(null);\n\n const handleObserver = useCallback(\n (entries: IntersectionObserverEntry[]) => {\n const target = entries[0];\n if (target.isIntersecting && !isLoading) {\n loadMoreData();\n }\n },\n [loadMoreData, isLoading]\n );\n\n useEffect(() => {\n if (mode !== \"server\") return;\n\n if (observerRef.current) {\n observerRef.current.disconnect();\n }\n\n observerRef.current = new IntersectionObserver(handleObserver, {\n threshold: 0.1,\n });\n const lastRow = lastRowRef.current;\n if (lastRow) {\n observerRef.current.observe(lastRow);\n }\n\n return () => {\n if (observerRef.current && lastRow) {\n observerRef.current.unobserve(lastRow);\n observerRef.current.disconnect();\n }\n };\n }, [mode, rows.length, handleObserver]);\n\n const visibleColumnsLength = table.getVisibleLeafColumns().length;\n\n return (\n <Table className={classNames.table}>\n <Headers headerGroups={headerGroups} className={classNames.header} />\n <Table.Body className={classNames.body}>\n {rows?.length || isLoading ? (\n <>\n <Rows\n rows={rows}\n ref={lastRowRef}\n onRowClick={onRowClick}\n classNames={{\n row: classNames.row,\n }}\n />\n {isLoading ? (\n <LoaderRows\n rowCount={loadingRowCount}\n columnCount={visibleColumnsLength}\n />\n ) : null}\n </>\n ) : (\n <Table.Row>\n <Table.Cell colSpan={visibleColumnsLength}>\n {emptyState || <DefaultEmptyComponent />}\n </Table.Cell>\n </Table.Row>\n )}\n </Table.Body>\n </Table>\n );\n}\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"content.js","sources":["../../../../../v1/components/data-table/components/content.tsx"],"sourcesContent":["import { Table } from \"../../table\";\nimport type { Row, HeaderGroup } from \"@tanstack/react-table\";\nimport { EmptyState } from \"../../empty-state\";\nimport { TableIcon } from \"@radix-ui/react-icons\";\nimport { flexRender } from \"@tanstack/react-table\";\nimport { useDataTable } from \"../hooks/useDataTable\";\nimport {\n DataTableColumnDef,\n DataTableContentProps,\n GroupedData,\n} from \"../data-table.types\";\nimport Skeleton from \"react-loading-skeleton\";\nimport {\n ForwardedRef,\n forwardRef,\n useCallback,\n useEffect,\n useRef,\n} from \"react\";\nimport { Badge } from \"../../badge\";\nimport { Flex } from \"../../flex\";\nimport styles from \"../data-table.module.css\";\nimport clsx from \"clsx\";\n\nfunction Headers<TData>({\n headerGroups = [],\n className = \"\",\n}: {\n headerGroups: HeaderGroup<TData>[];\n className?: string;\n}) {\n return (\n <Table.Header className={className}>\n {headerGroups?.map((headerGroup) => (\n <Table.Row key={headerGroup?.id}>\n {headerGroup?.headers?.map((header) => {\n const columnDef = header.column.columnDef as DataTableColumnDef<\n TData,\n unknown\n >;\n return (\n <Table.Head\n key={header.id}\n colSpan={header.colSpan}\n className={columnDef.classNames?.header}\n style={columnDef.styles?.header}\n >\n {flexRender(columnDef.header, header.getContext())}\n </Table.Head>\n );\n })}\n </Table.Row>\n ))}\n </Table.Header>\n );\n}\n\ninterface RowsProps<TData> {\n rows: Row<TData>[];\n lastRowRef?: ForwardedRef<HTMLTableRowElement>;\n onRowClick?: (row: TData) => void;\n classNames?: {\n row?: string;\n };\n}\n\nfunction LoaderRows({\n rowCount,\n columnCount,\n}: {\n rowCount: number;\n columnCount: number;\n}) {\n const rows = Array.from({ length: rowCount });\n return rows.map((_, rowIndex) => {\n const columns = Array.from({ length: columnCount });\n return (\n <Table.Row key={\"loading-row-\" + rowIndex}>\n {columns.map((_, colIndex) => (\n <Table.Cell key={\"loading-column-\" + colIndex}>\n <Skeleton\n highlightColor=\"var(--rs-color-background-base-primary)\"\n baseColor=\"var(--rs-color-background-base-primary-hover)\"\n />\n </Table.Cell>\n ))}\n </Table.Row>\n );\n });\n}\n\nfunction GroupHeader<TData>({\n colSpan,\n data,\n}: {\n colSpan: number;\n data: GroupedData<TData>;\n}) {\n return (\n <Table.SectionHeader colSpan={colSpan}>\n <Flex gap={3} align=\"center\">\n {data?.label}\n {data.showGroupCount ? (\n <Badge variant=\"neutral\">{data?.count}</Badge>\n ) : null}\n </Flex>\n </Table.SectionHeader>\n );\n}\n\nconst Rows = forwardRef<HTMLTableRowElement, RowsProps<unknown>>(\n (props, lastRowRef) => {\n const { rows = [], onRowClick, classNames } = props;\n return (\n <>\n {rows?.map((row, index) => {\n const isSelected = row.getIsSelected();\n const cells = row.getVisibleCells() || [];\n const isSectionHeadingRow = row.depth === 0 && row.getIsExpanded();\n const isLastRow = index === rows.length - 1;\n const rowKey = row.id + \"-\" + index;\n return isSectionHeadingRow ? (\n <GroupHeader\n key={rowKey}\n colSpan={cells.length}\n data={row.original as GroupedData<unknown>}\n />\n ) : (\n <Table.Row\n key={rowKey}\n className={clsx(\n styles[\"row\"],\n onRowClick ? styles[\"clickable\"] : \"\",\n classNames?.row\n )}\n data-state={isSelected && \"selected\"}\n ref={isLastRow ? lastRowRef : undefined}\n onClick={() => onRowClick?.(row.original)}\n >\n {cells.map((cell) => {\n const columnDef = cell.column.columnDef as DataTableColumnDef<\n unknown,\n unknown\n >;\n return (\n <Table.Cell\n key={cell.id}\n className={clsx(styles[\"cell\"], columnDef.classNames?.cell)}\n style={columnDef.styles?.cell}\n >\n {flexRender(columnDef.cell, cell.getContext())}\n </Table.Cell>\n );\n })}\n </Table.Row>\n );\n })}\n </>\n );\n }\n);\n\nconst DefaultEmptyComponent = () => (\n <EmptyState icon={<TableIcon />} heading=\"No Data\" />\n);\n\nexport function Content({\n emptyState,\n classNames = {},\n}: DataTableContentProps) {\n const {\n onRowClick,\n table,\n mode,\n isLoading,\n loadMoreData,\n loadingRowCount = 3,\n } = useDataTable();\n const headerGroups = table?.getHeaderGroups();\n const { rows = [] } = table?.getRowModel();\n\n const lastRowRef = useRef<HTMLTableRowElement | null>(null);\n const observerRef = useRef<IntersectionObserver | null>(null);\n\n const handleObserver = useCallback(\n (entries: IntersectionObserverEntry[]) => {\n const target = entries[0];\n if (target.isIntersecting && !isLoading) {\n loadMoreData();\n }\n },\n [loadMoreData, isLoading]\n );\n\n useEffect(() => {\n if (mode !== \"server\") return;\n\n if (observerRef.current) {\n observerRef.current.disconnect();\n }\n\n observerRef.current = new IntersectionObserver(handleObserver, {\n threshold: 0.1,\n });\n const lastRow = lastRowRef.current;\n if (lastRow) {\n observerRef.current.observe(lastRow);\n }\n\n return () => {\n if (observerRef.current && lastRow) {\n observerRef.current.unobserve(lastRow);\n observerRef.current.disconnect();\n }\n };\n }, [mode, rows.length, handleObserver]);\n\n const visibleColumnsLength = table.getVisibleLeafColumns().length;\n\n return (\n <Table className={classNames.table}>\n <Headers headerGroups={headerGroups} className={classNames.header} />\n <Table.Body className={classNames.body}>\n {rows?.length || isLoading ? (\n <>\n <Rows\n rows={rows}\n ref={lastRowRef}\n onRowClick={onRowClick}\n classNames={{\n row: classNames.row,\n }}\n />\n {isLoading ? (\n <LoaderRows\n rowCount={loadingRowCount}\n columnCount={visibleColumnsLength}\n />\n ) : null}\n </>\n ) : (\n <Table.Row>\n <Table.Cell colSpan={visibleColumnsLength}>\n {emptyState || <DefaultEmptyComponent />}\n </Table.Cell>\n </Table.Row>\n )}\n </Table.Body>\n </Table>\n );\n}\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
@@ -3,31 +3,28 @@
3
3
  var jsxRuntime = require('../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.cjs');
4
4
  var index = require('../../node_modules/.pnpm/@radix-ui_react-collapsible@1.1.2_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18._hjslo7xm5vmo3b4sx344jkbtcq/node_modules/@radix-ui/react-collapsible/dist/index.cjs');
5
5
  var index$1 = require('../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.cjs');
6
+ var React = require('react');
6
7
  var tooltip = require('../tooltip/tooltip.cjs');
7
8
  var sidebar_module = require('./sidebar.module.css.cjs');
9
+ var clsx = require('../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.cjs');
8
10
 
9
11
  const root = index$1.cva(sidebar_module.default.root);
10
- const SidebarRoot = ({ className, position = 'left', open, onOpenChange, children, profile, ref, ...props }) => (jsxRuntime.jsxRuntimeExports.jsx(tooltip.TooltipProvider, { children: jsxRuntime.jsxRuntimeExports.jsx(index.Root, { ref: ref, className: root({ className }), "data-position": position, "data-state": open ? 'expanded' : 'collapsed', open: open, onOpenChange: onOpenChange, "aria-label": "Navigation Sidebar", "aria-expanded": open, role: "navigation", ...props, asChild: true, children: jsxRuntime.jsxRuntimeExports.jsxs("aside", { children: [jsxRuntime.jsxRuntimeExports.jsx(tooltip.Tooltip, { message: open ? "Click to collapse" : "Click to expand", side: position === 'left' ? 'right' : 'left', asChild: true, children: jsxRuntime.jsxRuntimeExports.jsx("div", { className: sidebar_module.default.resizeHandle, onClick: () => onOpenChange?.(!open), role: "button", tabIndex: 0, "aria-label": open ? "Collapse sidebar" : "Expand sidebar", onKeyDown: (e) => {
11
- if (e.key === 'Enter' || e.key === ' ') {
12
+ const SidebarRoot = React.forwardRef(({ className, position = "left", open, onOpenChange, children, ...props }, ref) => (jsxRuntime.jsxRuntimeExports.jsx(tooltip.TooltipProvider, { children: jsxRuntime.jsxRuntimeExports.jsx(index.Root, { ref: ref, className: root({ className }), "data-position": position, "data-state": open ? "expanded" : "collapsed", open: open, onOpenChange: onOpenChange, "aria-label": "Navigation Sidebar", "aria-expanded": open, role: "navigation", ...props, asChild: true, children: jsxRuntime.jsxRuntimeExports.jsxs("aside", { children: [jsxRuntime.jsxRuntimeExports.jsx(tooltip.Tooltip, { message: open ? "Click to collapse" : "Click to expand", side: position === "left" ? "right" : "left", asChild: true, children: jsxRuntime.jsxRuntimeExports.jsx("div", { className: sidebar_module.default.resizeHandle, onClick: () => onOpenChange?.(!open), role: "button", tabIndex: 0, "aria-label": open ? "Collapse sidebar" : "Expand sidebar", onKeyDown: (e) => {
13
+ if (e.key === "Enter" || e.key === " ") {
12
14
  e.preventDefault();
13
15
  onOpenChange?.(!open);
14
16
  }
15
- } }) }), children, profile && (jsxRuntime.jsxRuntimeExports.jsxs("a", { href: profile.href, className: sidebar_module.default.account, role: "button", "aria-label": `Profile: ${profile.label}`, onClick: (e) => {
16
- if (profile.onIconClick) {
17
- e.preventDefault();
18
- profile.onIconClick();
19
- }
20
- }, children: [jsxRuntime.jsxRuntimeExports.jsx("span", { className: sidebar_module.default['nav-icon'], "aria-hidden": "true", style: { cursor: profile.onIconClick ? 'pointer' : undefined }, children: profile.icon }), jsxRuntime.jsxRuntimeExports.jsx("span", { className: sidebar_module.default['nav-text'], children: profile.label })] }))] }) }) }));
21
- const SidebarHeader = ({ className, logo, title, onLogoClick, ref, ...props }) => (jsxRuntime.jsxRuntimeExports.jsxs("div", { ref: ref, className: sidebar_module.default.header, role: "banner", ...props, children: [jsxRuntime.jsxRuntimeExports.jsx("div", { className: sidebar_module.default.logo, onClick: onLogoClick, role: onLogoClick ? "button" : undefined, tabIndex: onLogoClick ? 0 : undefined, onKeyDown: (e) => {
22
- if (onLogoClick && (e.key === 'Enter' || e.key === ' ')) {
17
+ } }) }), children] }) }) })));
18
+ const SidebarHeader = React.forwardRef(({ className, logo, title, onLogoClick, ...props }, ref) => (jsxRuntime.jsxRuntimeExports.jsxs("div", { ref: ref, className: sidebar_module.default.header, role: "banner", ...props, children: [jsxRuntime.jsxRuntimeExports.jsx("div", { className: sidebar_module.default.logo, onClick: onLogoClick, role: onLogoClick ? "button" : undefined, tabIndex: onLogoClick ? 0 : undefined, onKeyDown: (e) => {
19
+ if (onLogoClick && (e.key === "Enter" || e.key === " ")) {
23
20
  e.preventDefault();
24
21
  onLogoClick();
25
22
  }
26
- }, style: { cursor: onLogoClick ? 'pointer' : undefined }, children: logo }), jsxRuntime.jsxRuntimeExports.jsx("div", { className: sidebar_module.default.title, role: "heading", "aria-level": 1, children: title })] }));
27
- const SidebarMain = ({ className, children, ref, ...props }) => (jsxRuntime.jsxRuntimeExports.jsx("div", { ref: ref, className: sidebar_module.default.main, role: "group", "aria-label": "Main navigation", ...props, children: children }));
28
- const SidebarFooter = ({ className, children, ref, ...props }) => (jsxRuntime.jsxRuntimeExports.jsx("div", { ref: ref, className: sidebar_module.default.footer, role: "group", "aria-label": "Footer navigation", ...props, children: children }));
29
- const SidebarItem = ({ className, icon, children, active, disabled, ref, ...props }) => (jsxRuntime.jsxRuntimeExports.jsxs("a", { ref: ref, className: sidebar_module.default['nav-item'], "data-active": active, "data-disabled": disabled, role: "menuitem", "aria-current": active ? "page" : undefined, "aria-disabled": disabled, ...props, children: [jsxRuntime.jsxRuntimeExports.jsx("span", { className: sidebar_module.default['nav-icon'], "aria-hidden": "true", children: icon }), jsxRuntime.jsxRuntimeExports.jsx("span", { className: sidebar_module.default['nav-text'], children: children })] }));
30
- const SidebarNavigationGroup = ({ className, name, icon, children, ref, ...props }) => (jsxRuntime.jsxRuntimeExports.jsxs("section", { ref: ref, className: className, "aria-label": name, ...props, children: [jsxRuntime.jsxRuntimeExports.jsxs("div", { className: sidebar_module.default['nav-group-header'], children: [icon && jsxRuntime.jsxRuntimeExports.jsx("span", { className: sidebar_module.default['nav-icon'], children: icon }), jsxRuntime.jsxRuntimeExports.jsx("span", { className: sidebar_module.default['nav-group-name'], children: name })] }), jsxRuntime.jsxRuntimeExports.jsx("div", { className: sidebar_module.default['nav-group-items'], role: "list", children: children })] }));
23
+ }, style: { cursor: onLogoClick ? "pointer" : undefined }, children: logo }), jsxRuntime.jsxRuntimeExports.jsx("div", { className: sidebar_module.default.title, role: "heading", "aria-level": 1, children: title })] })));
24
+ const SidebarMain = React.forwardRef(({ className, children, ...props }, ref) => (jsxRuntime.jsxRuntimeExports.jsx("div", { ref: ref, className: sidebar_module.default.main, role: "group", "aria-label": "Main navigation", ...props, children: children })));
25
+ const SidebarFooter = React.forwardRef(({ className, children, ...props }, ref) => (jsxRuntime.jsxRuntimeExports.jsx("div", { ref: ref, className: sidebar_module.default.footer, role: "group", "aria-label": "Footer navigation", ...props, children: children })));
26
+ const SidebarItem = React.forwardRef(({ classNames, icon, children, active, disabled, ...props }, ref) => (jsxRuntime.jsxRuntimeExports.jsxs("a", { ref: ref, className: clsx.clsx(sidebar_module.default["nav-item"], classNames?.root), "data-active": active, "data-disabled": disabled, role: "menuitem", "aria-current": active ? "page" : undefined, "aria-disabled": disabled, ...props, children: [jsxRuntime.jsxRuntimeExports.jsx("span", { className: clsx.clsx(sidebar_module.default["nav-icon"], classNames?.icon), "aria-hidden": "true", children: icon }), jsxRuntime.jsxRuntimeExports.jsx("span", { className: sidebar_module.default["nav-text"], children: children })] })));
27
+ const SidebarNavigationGroup = React.forwardRef(({ className, name, icon, children, ...props }, ref) => (jsxRuntime.jsxRuntimeExports.jsxs("section", { ref: ref, className: className, "aria-label": name, ...props, children: [jsxRuntime.jsxRuntimeExports.jsxs("div", { className: sidebar_module.default["nav-group-header"], children: [icon && jsxRuntime.jsxRuntimeExports.jsx("span", { className: sidebar_module.default["nav-icon"], children: icon }), jsxRuntime.jsxRuntimeExports.jsx("span", { className: sidebar_module.default["nav-group-name"], children: name })] }), jsxRuntime.jsxRuntimeExports.jsx("div", { className: sidebar_module.default["nav-group-items"], role: "list", children: children })] })));
31
28
  SidebarRoot.displayName = "Sidebar.Root";
32
29
  SidebarHeader.displayName = "Sidebar.Header";
33
30
  SidebarMain.displayName = "Sidebar.Main";
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.cjs","sources":["../../../../v1/components/sidebar/sidebar.tsx"],"sourcesContent":["import * as Collapsible from '@radix-ui/react-collapsible';\nimport { cva } from \"class-variance-authority\";\nimport { ComponentPropsWithoutRef, ComponentRef, ReactNode } from \"react\";\n\nimport { Tooltip, TooltipProvider } from \"../tooltip\";\nimport styles from \"./sidebar.module.css\";\n\nconst root = cva(styles.root);\n\ninterface SidebarProps extends ComponentPropsWithoutRef<typeof Collapsible.Root> {\n position?: 'left' | 'right';\n profile?: {\n icon: ReactNode;\n label: string;\n href?: string;\n onIconClick?: () => void;\n };\n ref?: ComponentRef<typeof Collapsible.Root>;\n}\n\ninterface SidebarHeaderProps extends ComponentPropsWithoutRef<\"div\"> {\n logo: ReactNode;\n title: string;\n onLogoClick?: () => void;\n ref?: ComponentRef<\"div\">;\n}\n\ninterface SidebarItemProps extends ComponentPropsWithoutRef<\"a\"> {\n icon: ReactNode;\n active?: boolean;\n disabled?: boolean;\n ref?: ComponentRef<\"a\">;\n}\n\ninterface SidebarFooterProps extends ComponentPropsWithoutRef<\"div\"> {\n ref?: ComponentRef<\"div\">;\n}\n\ninterface SidebarNavigationGroupProps extends ComponentPropsWithoutRef<\"div\"> {\n name: string;\n icon?: ReactNode;\n ref?: ComponentRef<\"div\">;\n}\n\nconst SidebarRoot = ({ \n className, \n position = 'left', \n open, \n onOpenChange, \n children, \n profile, \n ref,\n ...props \n}: SidebarProps) => (\n <TooltipProvider>\n <Collapsible.Root\n ref={ref as unknown as React.RefObject<HTMLDivElement>}\n className={root({ className })}\n data-position={position}\n data-state={open ? 'expanded' : 'collapsed'}\n open={open}\n onOpenChange={onOpenChange}\n aria-label=\"Navigation Sidebar\"\n aria-expanded={open}\n role=\"navigation\"\n {...props}\n asChild\n >\n <aside>\n <Tooltip \n message={open ? \"Click to collapse\" : \"Click to expand\"}\n side={position === 'left' ? 'right' : 'left'}\n asChild\n >\n <div \n className={styles.resizeHandle}\n onClick={() => onOpenChange?.(!open)}\n role=\"button\"\n tabIndex={0}\n aria-label={open ? \"Collapse sidebar\" : \"Expand sidebar\"}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onOpenChange?.(!open);\n }\n }}\n />\n </Tooltip>\n {children}\n {profile && (\n <a \n href={profile.href} \n className={styles.account}\n role=\"button\"\n aria-label={`Profile: ${profile.label}`}\n onClick={(e) => {\n if (profile.onIconClick) {\n e.preventDefault();\n profile.onIconClick();\n }\n }}\n >\n <span \n className={styles['nav-icon']} \n aria-hidden=\"true\"\n style={{ cursor: profile.onIconClick ? 'pointer' : undefined }}\n >\n {profile.icon}\n </span>\n <span className={styles['nav-text']}>{profile.label}</span>\n </a>\n )}\n </aside>\n </Collapsible.Root>\n </TooltipProvider>\n);\n\nconst SidebarHeader = ({\n className,\n logo,\n title,\n onLogoClick,\n ref,\n ...props\n}: SidebarHeaderProps) => (\n <div \n ref={ref as unknown as React.RefObject<HTMLDivElement>} \n className={styles.header} \n role=\"banner\"\n {...props}\n >\n <div \n className={styles.logo} \n onClick={onLogoClick}\n role={onLogoClick ? \"button\" : undefined}\n tabIndex={onLogoClick ? 0 : undefined}\n onKeyDown={(e) => {\n if (onLogoClick && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n onLogoClick();\n }\n }}\n style={{ cursor: onLogoClick ? 'pointer' : undefined }}\n >\n {logo}\n </div>\n <div className={styles.title} role=\"heading\" aria-level={1}>{title}</div>\n </div>\n);\n\nconst SidebarMain = ({\n className,\n children,\n ref,\n ...props\n}: ComponentPropsWithoutRef<\"div\"> & { ref?: ComponentRef<\"div\"> }) => (\n <div \n ref={ref as unknown as React.RefObject<HTMLDivElement>} \n className={styles.main}\n role=\"group\"\n aria-label=\"Main navigation\"\n {...props}\n >\n {children}\n </div>\n);\n\nconst SidebarFooter = ({\n className,\n children,\n ref,\n ...props\n}: SidebarFooterProps) => (\n <div \n ref={ref as unknown as React.RefObject<HTMLDivElement>} \n className={styles.footer}\n role=\"group\"\n aria-label=\"Footer navigation\"\n {...props}\n >\n {children}\n </div>\n);\n\nconst SidebarItem = ({\n className,\n icon,\n children,\n active,\n disabled,\n ref,\n ...props\n}: SidebarItemProps) => (\n <a \n ref={ref as unknown as React.RefObject<HTMLAnchorElement>} \n className={styles['nav-item']} \n data-active={active}\n data-disabled={disabled}\n role=\"menuitem\"\n aria-current={active ? \"page\" : undefined}\n aria-disabled={disabled}\n {...props}\n >\n <span className={styles['nav-icon']} aria-hidden=\"true\">{icon}</span>\n <span className={styles['nav-text']}>{children}</span>\n </a>\n);\n\nconst SidebarNavigationGroup = ({\n className,\n name,\n icon,\n children,\n ref,\n ...props\n}: SidebarNavigationGroupProps) => (\n <section \n ref={ref as unknown as React.RefObject<HTMLElement>}\n className={className}\n aria-label={name}\n {...props}\n >\n <div className={styles['nav-group-header']}>\n {icon && <span className={styles['nav-icon']}>{icon}</span>}\n <span className={styles['nav-group-name']}>{name}</span>\n </div>\n <div className={styles['nav-group-items']} role=\"list\">\n {children}\n </div>\n </section>\n);\n\nSidebarRoot.displayName = \"Sidebar.Root\";\nSidebarHeader.displayName = \"Sidebar.Header\";\nSidebarMain.displayName = \"Sidebar.Main\";\nSidebarFooter.displayName = \"Sidebar.Footer\";\nSidebarItem.displayName = \"Sidebar.Item\";\nSidebarNavigationGroup.displayName = \"Sidebar.Group\";\n\nexport const Sidebar = Object.assign(SidebarRoot, {\n Header: SidebarHeader,\n Main: SidebarMain,\n Footer: SidebarFooter,\n Item: SidebarItem,\n Group: SidebarNavigationGroup,\n});\n"],"names":["cva","styles","_jsx","TooltipProvider","Collapsible.Root","_jsxs","Tooltip"],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.cjs","sources":["../../../../v1/components/sidebar/sidebar.tsx"],"sourcesContent":["import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { cva } from \"class-variance-authority\";\nimport {\n ComponentPropsWithoutRef,\n ComponentRef,\n forwardRef,\n ReactNode,\n} from \"react\";\n\nimport { Tooltip, TooltipProvider } from \"../tooltip\";\nimport styles from \"./sidebar.module.css\";\nimport clsx from \"clsx\";\n\nconst root = cva(styles.root);\n\ninterface SidebarProps\n extends ComponentPropsWithoutRef<typeof Collapsible.Root> {\n position?: \"left\" | \"right\";\n}\n\ninterface SidebarHeaderProps extends ComponentPropsWithoutRef<\"div\"> {\n logo: ReactNode;\n title: string;\n onLogoClick?: () => void;\n}\n\ninterface SidebarItemProps extends ComponentPropsWithoutRef<\"a\"> {\n icon: ReactNode;\n active?: boolean;\n disabled?: boolean;\n classNames?: {\n root?: string;\n icon?: string;\n text?: string;\n };\n}\n\ninterface SidebarFooterProps extends ComponentPropsWithoutRef<\"div\"> {}\n\ninterface SidebarNavigationGroupProps extends ComponentPropsWithoutRef<\"div\"> {\n name: string;\n icon?: ReactNode;\n}\n\nconst SidebarRoot = forwardRef<\n ComponentRef<typeof Collapsible.Root>,\n SidebarProps\n>(\n (\n { className, position = \"left\", open, onOpenChange, children, ...props },\n ref\n ) => (\n <TooltipProvider>\n <Collapsible.Root\n ref={ref}\n className={root({ className })}\n data-position={position}\n data-state={open ? \"expanded\" : \"collapsed\"}\n open={open}\n onOpenChange={onOpenChange}\n aria-label=\"Navigation Sidebar\"\n aria-expanded={open}\n role=\"navigation\"\n {...props}\n asChild\n >\n <aside>\n <Tooltip\n message={open ? \"Click to collapse\" : \"Click to expand\"}\n side={position === \"left\" ? \"right\" : \"left\"}\n asChild\n >\n <div\n className={styles.resizeHandle}\n onClick={() => onOpenChange?.(!open)}\n role=\"button\"\n tabIndex={0}\n aria-label={open ? \"Collapse sidebar\" : \"Expand sidebar\"}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n onOpenChange?.(!open);\n }\n }}\n />\n </Tooltip>\n {children}\n </aside>\n </Collapsible.Root>\n </TooltipProvider>\n )\n);\n\nconst SidebarHeader = forwardRef<HTMLDivElement, SidebarHeaderProps>(\n ({ className, logo, title, onLogoClick, ...props }, ref) => (\n <div ref={ref} className={styles.header} role=\"banner\" {...props}>\n <div\n className={styles.logo}\n onClick={onLogoClick}\n role={onLogoClick ? \"button\" : undefined}\n tabIndex={onLogoClick ? 0 : undefined}\n onKeyDown={(e) => {\n if (onLogoClick && (e.key === \"Enter\" || e.key === \" \")) {\n e.preventDefault();\n onLogoClick();\n }\n }}\n style={{ cursor: onLogoClick ? \"pointer\" : undefined }}\n >\n {logo}\n </div>\n <div className={styles.title} role=\"heading\" aria-level={1}>\n {title}\n </div>\n </div>\n )\n);\n\nconst SidebarMain = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<\"div\">>(\n ({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={styles.main}\n role=\"group\"\n aria-label=\"Main navigation\"\n {...props}\n >\n {children}\n </div>\n )\n);\n\nconst SidebarFooter = forwardRef<HTMLDivElement, SidebarFooterProps>(\n ({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={styles.footer}\n role=\"group\"\n aria-label=\"Footer navigation\"\n {...props}\n >\n {children}\n </div>\n )\n);\n\nconst SidebarItem = forwardRef<HTMLAnchorElement, SidebarItemProps>(\n ({ classNames, icon, children, active, disabled, ...props }, ref) => (\n <a\n ref={ref}\n className={clsx(styles[\"nav-item\"], classNames?.root)}\n data-active={active}\n data-disabled={disabled}\n role=\"menuitem\"\n aria-current={active ? \"page\" : undefined}\n aria-disabled={disabled}\n {...props}\n >\n <span\n className={clsx(styles[\"nav-icon\"], classNames?.icon)}\n aria-hidden=\"true\"\n >\n {icon}\n </span>\n <span className={styles[\"nav-text\"]}>{children}</span>\n </a>\n )\n);\n\nconst SidebarNavigationGroup = forwardRef<\n HTMLElement,\n SidebarNavigationGroupProps\n>(({ className, name, icon, children, ...props }, ref) => (\n <section ref={ref} className={className} aria-label={name} {...props}>\n <div className={styles[\"nav-group-header\"]}>\n {icon && <span className={styles[\"nav-icon\"]}>{icon}</span>}\n <span className={styles[\"nav-group-name\"]}>{name}</span>\n </div>\n <div className={styles[\"nav-group-items\"]} role=\"list\">\n {children}\n </div>\n </section>\n));\n\nSidebarRoot.displayName = \"Sidebar.Root\";\nSidebarHeader.displayName = \"Sidebar.Header\";\nSidebarMain.displayName = \"Sidebar.Main\";\nSidebarFooter.displayName = \"Sidebar.Footer\";\nSidebarItem.displayName = \"Sidebar.Item\";\nSidebarNavigationGroup.displayName = \"Sidebar.Group\";\n\nexport const Sidebar = Object.assign(SidebarRoot, {\n Header: SidebarHeader,\n Main: SidebarMain,\n Footer: SidebarFooter,\n Item: SidebarItem,\n Group: SidebarNavigationGroup,\n});\n"],"names":["cva","styles","forwardRef","_jsx","TooltipProvider","Collapsible.Root","_jsxs","Tooltip","clsx"],"mappings":"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"}
@@ -1,61 +1,35 @@
1
- import * as Collapsible from '@radix-ui/react-collapsible';
2
- import { ComponentPropsWithoutRef, ComponentRef, ReactNode } from "react";
1
+ import * as Collapsible from "@radix-ui/react-collapsible";
2
+ import { ComponentPropsWithoutRef, ReactNode } from "react";
3
3
  interface SidebarProps extends ComponentPropsWithoutRef<typeof Collapsible.Root> {
4
- position?: 'left' | 'right';
5
- profile?: {
6
- icon: ReactNode;
7
- label: string;
8
- href?: string;
9
- onIconClick?: () => void;
10
- };
11
- ref?: ComponentRef<typeof Collapsible.Root>;
4
+ position?: "left" | "right";
12
5
  }
13
6
  interface SidebarHeaderProps extends ComponentPropsWithoutRef<"div"> {
14
7
  logo: ReactNode;
15
8
  title: string;
16
9
  onLogoClick?: () => void;
17
- ref?: ComponentRef<"div">;
18
10
  }
19
11
  interface SidebarItemProps extends ComponentPropsWithoutRef<"a"> {
20
12
  icon: ReactNode;
21
13
  active?: boolean;
22
14
  disabled?: boolean;
23
- ref?: ComponentRef<"a">;
15
+ classNames?: {
16
+ root?: string;
17
+ icon?: string;
18
+ text?: string;
19
+ };
24
20
  }
25
21
  interface SidebarFooterProps extends ComponentPropsWithoutRef<"div"> {
26
- ref?: ComponentRef<"div">;
27
22
  }
28
23
  interface SidebarNavigationGroupProps extends ComponentPropsWithoutRef<"div"> {
29
24
  name: string;
30
25
  icon?: ReactNode;
31
- ref?: ComponentRef<"div">;
32
26
  }
33
- export declare const Sidebar: {
34
- ({ className, position, open, onOpenChange, children, profile, ref, ...props }: SidebarProps): import("react/jsx-runtime").JSX.Element;
35
- displayName: string;
36
- } & {
37
- Header: {
38
- ({ className, logo, title, onLogoClick, ref, ...props }: SidebarHeaderProps): import("react/jsx-runtime").JSX.Element;
39
- displayName: string;
40
- };
41
- Main: {
42
- ({ className, children, ref, ...props }: Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
43
- ref?: HTMLDivElement | undefined;
44
- }): import("react/jsx-runtime").JSX.Element;
45
- displayName: string;
46
- };
47
- Footer: {
48
- ({ className, children, ref, ...props }: SidebarFooterProps): import("react/jsx-runtime").JSX.Element;
49
- displayName: string;
50
- };
51
- Item: {
52
- ({ className, icon, children, active, disabled, ref, ...props }: SidebarItemProps): import("react/jsx-runtime").JSX.Element;
53
- displayName: string;
54
- };
55
- Group: {
56
- ({ className, name, icon, children, ref, ...props }: SidebarNavigationGroupProps): import("react/jsx-runtime").JSX.Element;
57
- displayName: string;
58
- };
27
+ export declare const Sidebar: import("react").ForwardRefExoticComponent<SidebarProps & import("react").RefAttributes<HTMLDivElement>> & {
28
+ Header: import("react").ForwardRefExoticComponent<SidebarHeaderProps & import("react").RefAttributes<HTMLDivElement>>;
29
+ Main: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
30
+ Footer: import("react").ForwardRefExoticComponent<SidebarFooterProps & import("react").RefAttributes<HTMLDivElement>>;
31
+ Item: import("react").ForwardRefExoticComponent<SidebarItemProps & import("react").RefAttributes<HTMLAnchorElement>>;
32
+ Group: import("react").ForwardRefExoticComponent<SidebarNavigationGroupProps & import("react").RefAttributes<HTMLElement>>;
59
33
  };
60
34
  export {};
61
35
  //# sourceMappingURL=sidebar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../../v1/components/sidebar/sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAO1E,UAAU,YAAa,SAAQ,wBAAwB,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC;IAC9E,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,SAAS,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;KAC1B,CAAC;IACF,GAAG,CAAC,EAAE,YAAY,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED,UAAU,kBAAmB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IAClE,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,GAAG,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;CAC3B;AAED,UAAU,gBAAiB,SAAQ,wBAAwB,CAAC,GAAG,CAAC;IAC9D,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;CACzB;AAED,UAAU,kBAAmB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IAClE,GAAG,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;CAC3B;AAED,UAAU,2BAA4B,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,GAAG,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;CAC3B;AAqMD,eAAO,MAAM,OAAO;oFA1LjB,YAAY;;;;iEAuEZ,kBAAkB;;;;;;;;;;iDAgDlB,kBAAkB;;;;yEAoBlB,gBAAgB;;;;6DAuBhB,2BAA2B;;;CA8B5B,CAAC"}
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../../v1/components/sidebar/sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EACL,wBAAwB,EAGxB,SAAS,EACV,MAAM,OAAO,CAAC;AAQf,UAAU,YACR,SAAQ,wBAAwB,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC;IACzD,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED,UAAU,kBAAmB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IAClE,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,UAAU,gBAAiB,SAAQ,wBAAwB,CAAC,GAAG,CAAC;IAC9D,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,UAAU,kBAAmB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;CAAG;AAEvE,UAAU,2BAA4B,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAqJD,eAAO,MAAM,OAAO;;;;;;CAMlB,CAAC"}
@@ -1,31 +1,28 @@
1
1
  import { j as jsxRuntimeExports } from '../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js';
2
2
  import { Root } from '../../node_modules/.pnpm/@radix-ui_react-collapsible@1.1.2_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18._hjslo7xm5vmo3b4sx344jkbtcq/node_modules/@radix-ui/react-collapsible/dist/index.js';
3
3
  import { cva } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
4
+ import { forwardRef } from 'react';
4
5
  import { TooltipProvider, Tooltip } from '../tooltip/tooltip.js';
5
6
  import styles from './sidebar.module.css.js';
7
+ import { clsx } from '../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js';
6
8
 
7
9
  const root = cva(styles.root);
8
- const SidebarRoot = ({ className, position = 'left', open, onOpenChange, children, profile, ref, ...props }) => (jsxRuntimeExports.jsx(TooltipProvider, { children: jsxRuntimeExports.jsx(Root, { ref: ref, className: root({ className }), "data-position": position, "data-state": open ? 'expanded' : 'collapsed', open: open, onOpenChange: onOpenChange, "aria-label": "Navigation Sidebar", "aria-expanded": open, role: "navigation", ...props, asChild: true, children: jsxRuntimeExports.jsxs("aside", { children: [jsxRuntimeExports.jsx(Tooltip, { message: open ? "Click to collapse" : "Click to expand", side: position === 'left' ? 'right' : 'left', asChild: true, children: jsxRuntimeExports.jsx("div", { className: styles.resizeHandle, onClick: () => onOpenChange?.(!open), role: "button", tabIndex: 0, "aria-label": open ? "Collapse sidebar" : "Expand sidebar", onKeyDown: (e) => {
9
- if (e.key === 'Enter' || e.key === ' ') {
10
+ const SidebarRoot = forwardRef(({ className, position = "left", open, onOpenChange, children, ...props }, ref) => (jsxRuntimeExports.jsx(TooltipProvider, { children: jsxRuntimeExports.jsx(Root, { ref: ref, className: root({ className }), "data-position": position, "data-state": open ? "expanded" : "collapsed", open: open, onOpenChange: onOpenChange, "aria-label": "Navigation Sidebar", "aria-expanded": open, role: "navigation", ...props, asChild: true, children: jsxRuntimeExports.jsxs("aside", { children: [jsxRuntimeExports.jsx(Tooltip, { message: open ? "Click to collapse" : "Click to expand", side: position === "left" ? "right" : "left", asChild: true, children: jsxRuntimeExports.jsx("div", { className: styles.resizeHandle, onClick: () => onOpenChange?.(!open), role: "button", tabIndex: 0, "aria-label": open ? "Collapse sidebar" : "Expand sidebar", onKeyDown: (e) => {
11
+ if (e.key === "Enter" || e.key === " ") {
10
12
  e.preventDefault();
11
13
  onOpenChange?.(!open);
12
14
  }
13
- } }) }), children, profile && (jsxRuntimeExports.jsxs("a", { href: profile.href, className: styles.account, role: "button", "aria-label": `Profile: ${profile.label}`, onClick: (e) => {
14
- if (profile.onIconClick) {
15
- e.preventDefault();
16
- profile.onIconClick();
17
- }
18
- }, children: [jsxRuntimeExports.jsx("span", { className: styles['nav-icon'], "aria-hidden": "true", style: { cursor: profile.onIconClick ? 'pointer' : undefined }, children: profile.icon }), jsxRuntimeExports.jsx("span", { className: styles['nav-text'], children: profile.label })] }))] }) }) }));
19
- const SidebarHeader = ({ className, logo, title, onLogoClick, ref, ...props }) => (jsxRuntimeExports.jsxs("div", { ref: ref, className: styles.header, role: "banner", ...props, children: [jsxRuntimeExports.jsx("div", { className: styles.logo, onClick: onLogoClick, role: onLogoClick ? "button" : undefined, tabIndex: onLogoClick ? 0 : undefined, onKeyDown: (e) => {
20
- if (onLogoClick && (e.key === 'Enter' || e.key === ' ')) {
15
+ } }) }), children] }) }) })));
16
+ const SidebarHeader = forwardRef(({ className, logo, title, onLogoClick, ...props }, ref) => (jsxRuntimeExports.jsxs("div", { ref: ref, className: styles.header, role: "banner", ...props, children: [jsxRuntimeExports.jsx("div", { className: styles.logo, onClick: onLogoClick, role: onLogoClick ? "button" : undefined, tabIndex: onLogoClick ? 0 : undefined, onKeyDown: (e) => {
17
+ if (onLogoClick && (e.key === "Enter" || e.key === " ")) {
21
18
  e.preventDefault();
22
19
  onLogoClick();
23
20
  }
24
- }, style: { cursor: onLogoClick ? 'pointer' : undefined }, children: logo }), jsxRuntimeExports.jsx("div", { className: styles.title, role: "heading", "aria-level": 1, children: title })] }));
25
- const SidebarMain = ({ className, children, ref, ...props }) => (jsxRuntimeExports.jsx("div", { ref: ref, className: styles.main, role: "group", "aria-label": "Main navigation", ...props, children: children }));
26
- const SidebarFooter = ({ className, children, ref, ...props }) => (jsxRuntimeExports.jsx("div", { ref: ref, className: styles.footer, role: "group", "aria-label": "Footer navigation", ...props, children: children }));
27
- const SidebarItem = ({ className, icon, children, active, disabled, ref, ...props }) => (jsxRuntimeExports.jsxs("a", { ref: ref, className: styles['nav-item'], "data-active": active, "data-disabled": disabled, role: "menuitem", "aria-current": active ? "page" : undefined, "aria-disabled": disabled, ...props, children: [jsxRuntimeExports.jsx("span", { className: styles['nav-icon'], "aria-hidden": "true", children: icon }), jsxRuntimeExports.jsx("span", { className: styles['nav-text'], children: children })] }));
28
- const SidebarNavigationGroup = ({ className, name, icon, children, ref, ...props }) => (jsxRuntimeExports.jsxs("section", { ref: ref, className: className, "aria-label": name, ...props, children: [jsxRuntimeExports.jsxs("div", { className: styles['nav-group-header'], children: [icon && jsxRuntimeExports.jsx("span", { className: styles['nav-icon'], children: icon }), jsxRuntimeExports.jsx("span", { className: styles['nav-group-name'], children: name })] }), jsxRuntimeExports.jsx("div", { className: styles['nav-group-items'], role: "list", children: children })] }));
21
+ }, style: { cursor: onLogoClick ? "pointer" : undefined }, children: logo }), jsxRuntimeExports.jsx("div", { className: styles.title, role: "heading", "aria-level": 1, children: title })] })));
22
+ const SidebarMain = forwardRef(({ className, children, ...props }, ref) => (jsxRuntimeExports.jsx("div", { ref: ref, className: styles.main, role: "group", "aria-label": "Main navigation", ...props, children: children })));
23
+ const SidebarFooter = forwardRef(({ className, children, ...props }, ref) => (jsxRuntimeExports.jsx("div", { ref: ref, className: styles.footer, role: "group", "aria-label": "Footer navigation", ...props, children: children })));
24
+ const SidebarItem = forwardRef(({ classNames, icon, children, active, disabled, ...props }, ref) => (jsxRuntimeExports.jsxs("a", { ref: ref, className: clsx(styles["nav-item"], classNames?.root), "data-active": active, "data-disabled": disabled, role: "menuitem", "aria-current": active ? "page" : undefined, "aria-disabled": disabled, ...props, children: [jsxRuntimeExports.jsx("span", { className: clsx(styles["nav-icon"], classNames?.icon), "aria-hidden": "true", children: icon }), jsxRuntimeExports.jsx("span", { className: styles["nav-text"], children: children })] })));
25
+ const SidebarNavigationGroup = forwardRef(({ className, name, icon, children, ...props }, ref) => (jsxRuntimeExports.jsxs("section", { ref: ref, className: className, "aria-label": name, ...props, children: [jsxRuntimeExports.jsxs("div", { className: styles["nav-group-header"], children: [icon && jsxRuntimeExports.jsx("span", { className: styles["nav-icon"], children: icon }), jsxRuntimeExports.jsx("span", { className: styles["nav-group-name"], children: name })] }), jsxRuntimeExports.jsx("div", { className: styles["nav-group-items"], role: "list", children: children })] })));
29
26
  SidebarRoot.displayName = "Sidebar.Root";
30
27
  SidebarHeader.displayName = "Sidebar.Header";
31
28
  SidebarMain.displayName = "Sidebar.Main";
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.js","sources":["../../../../v1/components/sidebar/sidebar.tsx"],"sourcesContent":["import * as Collapsible from '@radix-ui/react-collapsible';\nimport { cva } from \"class-variance-authority\";\nimport { ComponentPropsWithoutRef, ComponentRef, ReactNode } from \"react\";\n\nimport { Tooltip, TooltipProvider } from \"../tooltip\";\nimport styles from \"./sidebar.module.css\";\n\nconst root = cva(styles.root);\n\ninterface SidebarProps extends ComponentPropsWithoutRef<typeof Collapsible.Root> {\n position?: 'left' | 'right';\n profile?: {\n icon: ReactNode;\n label: string;\n href?: string;\n onIconClick?: () => void;\n };\n ref?: ComponentRef<typeof Collapsible.Root>;\n}\n\ninterface SidebarHeaderProps extends ComponentPropsWithoutRef<\"div\"> {\n logo: ReactNode;\n title: string;\n onLogoClick?: () => void;\n ref?: ComponentRef<\"div\">;\n}\n\ninterface SidebarItemProps extends ComponentPropsWithoutRef<\"a\"> {\n icon: ReactNode;\n active?: boolean;\n disabled?: boolean;\n ref?: ComponentRef<\"a\">;\n}\n\ninterface SidebarFooterProps extends ComponentPropsWithoutRef<\"div\"> {\n ref?: ComponentRef<\"div\">;\n}\n\ninterface SidebarNavigationGroupProps extends ComponentPropsWithoutRef<\"div\"> {\n name: string;\n icon?: ReactNode;\n ref?: ComponentRef<\"div\">;\n}\n\nconst SidebarRoot = ({ \n className, \n position = 'left', \n open, \n onOpenChange, \n children, \n profile, \n ref,\n ...props \n}: SidebarProps) => (\n <TooltipProvider>\n <Collapsible.Root\n ref={ref as unknown as React.RefObject<HTMLDivElement>}\n className={root({ className })}\n data-position={position}\n data-state={open ? 'expanded' : 'collapsed'}\n open={open}\n onOpenChange={onOpenChange}\n aria-label=\"Navigation Sidebar\"\n aria-expanded={open}\n role=\"navigation\"\n {...props}\n asChild\n >\n <aside>\n <Tooltip \n message={open ? \"Click to collapse\" : \"Click to expand\"}\n side={position === 'left' ? 'right' : 'left'}\n asChild\n >\n <div \n className={styles.resizeHandle}\n onClick={() => onOpenChange?.(!open)}\n role=\"button\"\n tabIndex={0}\n aria-label={open ? \"Collapse sidebar\" : \"Expand sidebar\"}\n onKeyDown={(e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n onOpenChange?.(!open);\n }\n }}\n />\n </Tooltip>\n {children}\n {profile && (\n <a \n href={profile.href} \n className={styles.account}\n role=\"button\"\n aria-label={`Profile: ${profile.label}`}\n onClick={(e) => {\n if (profile.onIconClick) {\n e.preventDefault();\n profile.onIconClick();\n }\n }}\n >\n <span \n className={styles['nav-icon']} \n aria-hidden=\"true\"\n style={{ cursor: profile.onIconClick ? 'pointer' : undefined }}\n >\n {profile.icon}\n </span>\n <span className={styles['nav-text']}>{profile.label}</span>\n </a>\n )}\n </aside>\n </Collapsible.Root>\n </TooltipProvider>\n);\n\nconst SidebarHeader = ({\n className,\n logo,\n title,\n onLogoClick,\n ref,\n ...props\n}: SidebarHeaderProps) => (\n <div \n ref={ref as unknown as React.RefObject<HTMLDivElement>} \n className={styles.header} \n role=\"banner\"\n {...props}\n >\n <div \n className={styles.logo} \n onClick={onLogoClick}\n role={onLogoClick ? \"button\" : undefined}\n tabIndex={onLogoClick ? 0 : undefined}\n onKeyDown={(e) => {\n if (onLogoClick && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n onLogoClick();\n }\n }}\n style={{ cursor: onLogoClick ? 'pointer' : undefined }}\n >\n {logo}\n </div>\n <div className={styles.title} role=\"heading\" aria-level={1}>{title}</div>\n </div>\n);\n\nconst SidebarMain = ({\n className,\n children,\n ref,\n ...props\n}: ComponentPropsWithoutRef<\"div\"> & { ref?: ComponentRef<\"div\"> }) => (\n <div \n ref={ref as unknown as React.RefObject<HTMLDivElement>} \n className={styles.main}\n role=\"group\"\n aria-label=\"Main navigation\"\n {...props}\n >\n {children}\n </div>\n);\n\nconst SidebarFooter = ({\n className,\n children,\n ref,\n ...props\n}: SidebarFooterProps) => (\n <div \n ref={ref as unknown as React.RefObject<HTMLDivElement>} \n className={styles.footer}\n role=\"group\"\n aria-label=\"Footer navigation\"\n {...props}\n >\n {children}\n </div>\n);\n\nconst SidebarItem = ({\n className,\n icon,\n children,\n active,\n disabled,\n ref,\n ...props\n}: SidebarItemProps) => (\n <a \n ref={ref as unknown as React.RefObject<HTMLAnchorElement>} \n className={styles['nav-item']} \n data-active={active}\n data-disabled={disabled}\n role=\"menuitem\"\n aria-current={active ? \"page\" : undefined}\n aria-disabled={disabled}\n {...props}\n >\n <span className={styles['nav-icon']} aria-hidden=\"true\">{icon}</span>\n <span className={styles['nav-text']}>{children}</span>\n </a>\n);\n\nconst SidebarNavigationGroup = ({\n className,\n name,\n icon,\n children,\n ref,\n ...props\n}: SidebarNavigationGroupProps) => (\n <section \n ref={ref as unknown as React.RefObject<HTMLElement>}\n className={className}\n aria-label={name}\n {...props}\n >\n <div className={styles['nav-group-header']}>\n {icon && <span className={styles['nav-icon']}>{icon}</span>}\n <span className={styles['nav-group-name']}>{name}</span>\n </div>\n <div className={styles['nav-group-items']} role=\"list\">\n {children}\n </div>\n </section>\n);\n\nSidebarRoot.displayName = \"Sidebar.Root\";\nSidebarHeader.displayName = \"Sidebar.Header\";\nSidebarMain.displayName = \"Sidebar.Main\";\nSidebarFooter.displayName = \"Sidebar.Footer\";\nSidebarItem.displayName = \"Sidebar.Item\";\nSidebarNavigationGroup.displayName = \"Sidebar.Group\";\n\nexport const Sidebar = Object.assign(SidebarRoot, {\n Header: SidebarHeader,\n Main: SidebarMain,\n Footer: SidebarFooter,\n Item: SidebarItem,\n Group: SidebarNavigationGroup,\n});\n"],"names":["_jsx","Collapsible.Root","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.js","sources":["../../../../v1/components/sidebar/sidebar.tsx"],"sourcesContent":["import * as Collapsible from \"@radix-ui/react-collapsible\";\nimport { cva } from \"class-variance-authority\";\nimport {\n ComponentPropsWithoutRef,\n ComponentRef,\n forwardRef,\n ReactNode,\n} from \"react\";\n\nimport { Tooltip, TooltipProvider } from \"../tooltip\";\nimport styles from \"./sidebar.module.css\";\nimport clsx from \"clsx\";\n\nconst root = cva(styles.root);\n\ninterface SidebarProps\n extends ComponentPropsWithoutRef<typeof Collapsible.Root> {\n position?: \"left\" | \"right\";\n}\n\ninterface SidebarHeaderProps extends ComponentPropsWithoutRef<\"div\"> {\n logo: ReactNode;\n title: string;\n onLogoClick?: () => void;\n}\n\ninterface SidebarItemProps extends ComponentPropsWithoutRef<\"a\"> {\n icon: ReactNode;\n active?: boolean;\n disabled?: boolean;\n classNames?: {\n root?: string;\n icon?: string;\n text?: string;\n };\n}\n\ninterface SidebarFooterProps extends ComponentPropsWithoutRef<\"div\"> {}\n\ninterface SidebarNavigationGroupProps extends ComponentPropsWithoutRef<\"div\"> {\n name: string;\n icon?: ReactNode;\n}\n\nconst SidebarRoot = forwardRef<\n ComponentRef<typeof Collapsible.Root>,\n SidebarProps\n>(\n (\n { className, position = \"left\", open, onOpenChange, children, ...props },\n ref\n ) => (\n <TooltipProvider>\n <Collapsible.Root\n ref={ref}\n className={root({ className })}\n data-position={position}\n data-state={open ? \"expanded\" : \"collapsed\"}\n open={open}\n onOpenChange={onOpenChange}\n aria-label=\"Navigation Sidebar\"\n aria-expanded={open}\n role=\"navigation\"\n {...props}\n asChild\n >\n <aside>\n <Tooltip\n message={open ? \"Click to collapse\" : \"Click to expand\"}\n side={position === \"left\" ? \"right\" : \"left\"}\n asChild\n >\n <div\n className={styles.resizeHandle}\n onClick={() => onOpenChange?.(!open)}\n role=\"button\"\n tabIndex={0}\n aria-label={open ? \"Collapse sidebar\" : \"Expand sidebar\"}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n onOpenChange?.(!open);\n }\n }}\n />\n </Tooltip>\n {children}\n </aside>\n </Collapsible.Root>\n </TooltipProvider>\n )\n);\n\nconst SidebarHeader = forwardRef<HTMLDivElement, SidebarHeaderProps>(\n ({ className, logo, title, onLogoClick, ...props }, ref) => (\n <div ref={ref} className={styles.header} role=\"banner\" {...props}>\n <div\n className={styles.logo}\n onClick={onLogoClick}\n role={onLogoClick ? \"button\" : undefined}\n tabIndex={onLogoClick ? 0 : undefined}\n onKeyDown={(e) => {\n if (onLogoClick && (e.key === \"Enter\" || e.key === \" \")) {\n e.preventDefault();\n onLogoClick();\n }\n }}\n style={{ cursor: onLogoClick ? \"pointer\" : undefined }}\n >\n {logo}\n </div>\n <div className={styles.title} role=\"heading\" aria-level={1}>\n {title}\n </div>\n </div>\n )\n);\n\nconst SidebarMain = forwardRef<HTMLDivElement, ComponentPropsWithoutRef<\"div\">>(\n ({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={styles.main}\n role=\"group\"\n aria-label=\"Main navigation\"\n {...props}\n >\n {children}\n </div>\n )\n);\n\nconst SidebarFooter = forwardRef<HTMLDivElement, SidebarFooterProps>(\n ({ className, children, ...props }, ref) => (\n <div\n ref={ref}\n className={styles.footer}\n role=\"group\"\n aria-label=\"Footer navigation\"\n {...props}\n >\n {children}\n </div>\n )\n);\n\nconst SidebarItem = forwardRef<HTMLAnchorElement, SidebarItemProps>(\n ({ classNames, icon, children, active, disabled, ...props }, ref) => (\n <a\n ref={ref}\n className={clsx(styles[\"nav-item\"], classNames?.root)}\n data-active={active}\n data-disabled={disabled}\n role=\"menuitem\"\n aria-current={active ? \"page\" : undefined}\n aria-disabled={disabled}\n {...props}\n >\n <span\n className={clsx(styles[\"nav-icon\"], classNames?.icon)}\n aria-hidden=\"true\"\n >\n {icon}\n </span>\n <span className={styles[\"nav-text\"]}>{children}</span>\n </a>\n )\n);\n\nconst SidebarNavigationGroup = forwardRef<\n HTMLElement,\n SidebarNavigationGroupProps\n>(({ className, name, icon, children, ...props }, ref) => (\n <section ref={ref} className={className} aria-label={name} {...props}>\n <div className={styles[\"nav-group-header\"]}>\n {icon && <span className={styles[\"nav-icon\"]}>{icon}</span>}\n <span className={styles[\"nav-group-name\"]}>{name}</span>\n </div>\n <div className={styles[\"nav-group-items\"]} role=\"list\">\n {children}\n </div>\n </section>\n));\n\nSidebarRoot.displayName = \"Sidebar.Root\";\nSidebarHeader.displayName = \"Sidebar.Header\";\nSidebarMain.displayName = \"Sidebar.Main\";\nSidebarFooter.displayName = \"Sidebar.Footer\";\nSidebarItem.displayName = \"Sidebar.Item\";\nSidebarNavigationGroup.displayName = \"Sidebar.Group\";\n\nexport const Sidebar = Object.assign(SidebarRoot, {\n Header: SidebarHeader,\n Main: SidebarMain,\n Footer: SidebarFooter,\n Item: SidebarItem,\n Group: SidebarNavigationGroup,\n});\n"],"names":["_jsx","Collapsible.Root","_jsxs"],"mappings":"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"}
@@ -24,8 +24,8 @@ const tooltip = index$1.cva(tooltip_module.default.content, {
24
24
  side: "top"
25
25
  }
26
26
  });
27
- const Tooltip = ({ children, message, disabled, side = "top", classNames, triggerStyle, contentStyle, delayDuration = 200, skipDelayDuration = 200, 'aria-label': ariaLabel, asChild = true, }) => {
28
- return disabled ? (children) : (jsxRuntime.jsxRuntimeExports.jsx(index.Provider, { delayDuration: delayDuration, skipDelayDuration: skipDelayDuration, children: jsxRuntime.jsxRuntimeExports.jsxs(index.Root, { children: [jsxRuntime.jsxRuntimeExports.jsx(index.Trigger, { "aria-describedby": "tooltip", asChild: asChild, children: jsxRuntime.jsxRuntimeExports.jsx("div", { className: clsx.clsx(tooltip_module.default.trigger, classNames?.trigger ?? ""), style: triggerStyle, children: children }) }), jsxRuntime.jsxRuntimeExports.jsx(index.Portal, { children: jsxRuntime.jsxRuntimeExports.jsxs(index.Content, { id: "tooltip", role: "tooltip", "aria-label": ariaLabel || (typeof message === 'string' ? message : undefined), side: side?.split('-')[0] || 'top', align: (side?.includes('-') ? (side.split('-')[1] === 'left' ? 'start' : 'end') : 'center'), sideOffset: 4, className: tooltip({ side, className: classNames?.content }), style: contentStyle, children: [typeof message === "string" ? (jsxRuntime.jsxRuntimeExports.jsx(text.Text, { children: message })) : (message), jsxRuntime.jsxRuntimeExports.jsx(index.Arrow, { className: clsx.clsx(tooltip_module.default.arrow, classNames?.arrow), width: 12, height: 6 })] }) })] }) }));
27
+ const Tooltip = ({ children, message, disabled, side = "top", classNames, triggerStyle, contentStyle, delayDuration = 200, skipDelayDuration = 200, 'aria-label': ariaLabel, asChild = true, showArrow = true, }) => {
28
+ return disabled ? (children) : (jsxRuntime.jsxRuntimeExports.jsx(index.Provider, { delayDuration: delayDuration, skipDelayDuration: skipDelayDuration, children: jsxRuntime.jsxRuntimeExports.jsxs(index.Root, { children: [jsxRuntime.jsxRuntimeExports.jsx(index.Trigger, { "aria-describedby": "tooltip", asChild: asChild, children: jsxRuntime.jsxRuntimeExports.jsx("div", { className: clsx.clsx(tooltip_module.default.trigger, classNames?.trigger ?? ""), style: triggerStyle, children: children }) }), jsxRuntime.jsxRuntimeExports.jsx(index.Portal, { children: jsxRuntime.jsxRuntimeExports.jsxs(index.Content, { id: "tooltip", role: "tooltip", "aria-label": ariaLabel || (typeof message === 'string' ? message : undefined), side: side?.split('-')[0] || 'top', align: (side?.includes('-') ? (side.split('-')[1] === 'left' ? 'start' : 'end') : 'center'), sideOffset: 4, className: tooltip({ side, className: classNames?.content }), style: contentStyle, children: [typeof message === "string" ? (jsxRuntime.jsxRuntimeExports.jsx(text.Text, { children: message })) : (message), showArrow && (jsxRuntime.jsxRuntimeExports.jsx(index.Arrow, { className: clsx.clsx(tooltip_module.default.arrow, classNames?.arrow), width: 12, height: 6 }))] }) })] }) }));
29
29
  };
30
30
  Tooltip.displayName = 'Tooltip';
31
31
  const TooltipProvider = index.Provider;
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.cjs","sources":["../../../../v1/components/tooltip/tooltip.tsx"],"sourcesContent":["import React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport { cva, VariantProps } from \"class-variance-authority\";\nimport clsx from \"clsx\";\n\nimport { Text } from \"../text\";\nimport styles from \"./tooltip.module.css\";\n\nconst tooltip = cva(styles.content, {\n variants: {\n side: {\n top: styles[\"side-top\"],\n right: styles[\"side-right\"],\n bottom: styles[\"side-bottom\"],\n left: styles[\"side-left\"],\n \"top-left\": styles[\"side-top-left\"],\n \"top-right\": styles[\"side-top-right\"],\n \"bottom-left\": styles[\"side-bottom-left\"],\n \"bottom-right\": styles[\"side-bottom-right\"],\n }\n },\n defaultVariants: {\n side: \"top\"\n }\n});\n\ninterface TooltipProps extends VariantProps<typeof tooltip> {\n disabled?: boolean;\n children: React.ReactNode;\n message: React.ReactNode;\n classNames?: {\n trigger?: string;\n content?: string;\n arrow?: string;\n };\n triggerStyle?: React.CSSProperties;\n contentStyle?: React.CSSProperties;\n delayDuration?: number;\n skipDelayDuration?: number;\n 'aria-label'?: string;\n asChild?: boolean;\n}\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n children,\n message,\n disabled,\n side = \"top\",\n classNames,\n triggerStyle,\n contentStyle,\n delayDuration = 200,\n skipDelayDuration = 200,\n 'aria-label': ariaLabel,\n asChild = true,\n}) => {\n return disabled ? (\n children\n ) : (\n <TooltipPrimitive.Provider delayDuration={delayDuration} skipDelayDuration={skipDelayDuration}>\n <TooltipPrimitive.Root>\n <TooltipPrimitive.Trigger \n aria-describedby=\"tooltip\" \n asChild={asChild}\n >\n <div className={clsx(styles.trigger, classNames?.trigger ?? \"\")} style={triggerStyle}>\n {children}\n </div>\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n id=\"tooltip\"\n role=\"tooltip\"\n aria-label={ariaLabel || (typeof message === 'string' ? message : undefined)}\n side={side?.split('-')[0] as TooltipPrimitive.TooltipContentProps['side'] || 'top'}\n align={(side?.includes('-') ? (side.split('-')[1] === 'left' ? 'start' : 'end') : 'center') satisfies 'start' | 'end' | 'center'}\n sideOffset={4}\n className={tooltip({ side, className: classNames?.content })}\n style={contentStyle}\n >\n {typeof message === \"string\" ? (\n <Text>{message}</Text>\n ) : (\n message\n )}\n <TooltipPrimitive.Arrow className={clsx(styles.arrow, classNames?.arrow)} width={12} height={6} />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n </TooltipPrimitive.Provider>\n );\n};\n\nTooltip.displayName = 'Tooltip';\n\nexport const TooltipProvider = TooltipPrimitive.Provider;\n"],"names":["cva","styles","_jsx","TooltipPrimitive.Provider","_jsxs","TooltipPrimitive.Root","TooltipPrimitive.Trigger","clsx","TooltipPrimitive.Portal","TooltipPrimitive.Content","Text","TooltipPrimitive.Arrow"],"mappings":";;;;;;;;;AAQA,MAAM,OAAO,GAAGA,WAAG,CAACC,sBAAM,CAAC,OAAO,EAAE;AAClC,IAAA,QAAQ,EAAE;AACR,QAAA,IAAI,EAAE;AACJ,YAAA,GAAG,EAAEA,sBAAM,CAAC,UAAU,CAAC;AACvB,YAAA,KAAK,EAAEA,sBAAM,CAAC,YAAY,CAAC;AAC3B,YAAA,MAAM,EAAEA,sBAAM,CAAC,aAAa,CAAC;AAC7B,YAAA,IAAI,EAAEA,sBAAM,CAAC,WAAW,CAAC;AACzB,YAAA,UAAU,EAAEA,sBAAM,CAAC,eAAe,CAAC;AACnC,YAAA,WAAW,EAAEA,sBAAM,CAAC,gBAAgB,CAAC;AACrC,YAAA,aAAa,EAAEA,sBAAM,CAAC,kBAAkB,CAAC;AACzC,YAAA,cAAc,EAAEA,sBAAM,CAAC,mBAAmB,CAAC;AAC5C,SAAA;AACF,KAAA;AACD,IAAA,eAAe,EAAE;AACf,QAAA,IAAI,EAAE,KAAK;AACZ,KAAA;AACF,CAAA,CAAC,CAAC;AAmBU,MAAA,OAAO,GAA2B,CAAC,EAC9C,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,IAAI,GAAG,KAAK,EACZ,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,GAAG,GAAG,EACnB,iBAAiB,GAAG,GAAG,EACvB,YAAY,EAAE,SAAS,EACvB,OAAO,GAAG,IAAI,GACf,KAAI;IACH,OAAO,QAAQ,IACb,QAAQ,KAERC,gCAAA,CAACC,cAAyB,EAAC,EAAA,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAA,QAAA,EAC3FC,iCAAC,CAAAC,UAAqB,EAAA,EAAA,QAAA,EAAA,CACpBH,gCAAC,CAAAI,aAAwB,wBACN,SAAS,EAC1B,OAAO,EAAE,OAAO,EAAA,QAAA,EAEhBJ,0CAAK,SAAS,EAAEK,SAAI,CAACN,sBAAM,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAA,QAAA,EACjF,QAAQ,EAAA,CACL,GACmB,EAC3BC,gCAAA,CAACM,YAAuB,EAAA,EAAA,QAAA,EACtBJ,kCAACK,aAAwB,EAAA,EACvB,EAAE,EAAC,SAAS,EACZ,IAAI,EAAC,SAAS,EAAA,YAAA,EACF,SAAS,KAAK,OAAO,OAAO,KAAK,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC,EAC5E,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAiD,IAAI,KAAK,EAClF,KAAK,GAAG,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,OAAO,GAAG,KAAK,IAAI,QAAQ,CAAsC,EAChI,UAAU,EAAE,CAAC,EACb,SAAS,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAC5D,KAAK,EAAE,YAAY,EAElB,QAAA,EAAA,CAAA,OAAO,OAAO,KAAK,QAAQ,IAC1BP,gCAAC,CAAAQ,SAAI,cAAE,OAAO,EAAA,CAAQ,KAEtB,OAAO,CACR,EACDR,gCAAC,CAAAS,WAAsB,IAAC,SAAS,EAAEJ,SAAI,CAACN,sBAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAI,CAAA,CAAA,EAAA,CACzE,EACH,CAAA,CAAA,EAAA,CACJ,EACE,CAAA,CAC7B,CAAC;AACJ,EAAE;AAEF,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC;AAEnB,MAAA,eAAe,GAAGE;;;;;"}
1
+ {"version":3,"file":"tooltip.cjs","sources":["../../../../v1/components/tooltip/tooltip.tsx"],"sourcesContent":["import React from \"react\";\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport { cva, VariantProps } from \"class-variance-authority\";\nimport clsx from \"clsx\";\n\nimport { Text } from \"../text\";\nimport styles from \"./tooltip.module.css\";\n\nconst tooltip = cva(styles.content, {\n variants: {\n side: {\n top: styles[\"side-top\"],\n right: styles[\"side-right\"],\n bottom: styles[\"side-bottom\"],\n left: styles[\"side-left\"],\n \"top-left\": styles[\"side-top-left\"],\n \"top-right\": styles[\"side-top-right\"],\n \"bottom-left\": styles[\"side-bottom-left\"],\n \"bottom-right\": styles[\"side-bottom-right\"],\n }\n },\n defaultVariants: {\n side: \"top\"\n }\n});\n\ninterface TooltipProps extends VariantProps<typeof tooltip> {\n disabled?: boolean;\n children: React.ReactNode;\n message: React.ReactNode;\n classNames?: {\n trigger?: string;\n content?: string;\n arrow?: string;\n };\n triggerStyle?: React.CSSProperties;\n contentStyle?: React.CSSProperties;\n delayDuration?: number;\n skipDelayDuration?: number;\n 'aria-label'?: string;\n asChild?: boolean;\n showArrow?: boolean;\n}\n\nexport const Tooltip: React.FC<TooltipProps> = ({\n children,\n message,\n disabled,\n side = \"top\",\n classNames,\n triggerStyle,\n contentStyle,\n delayDuration = 200,\n skipDelayDuration = 200,\n 'aria-label': ariaLabel,\n asChild = true,\n showArrow = true,\n}) => {\n return disabled ? (\n children\n ) : (\n <TooltipPrimitive.Provider delayDuration={delayDuration} skipDelayDuration={skipDelayDuration}>\n <TooltipPrimitive.Root>\n <TooltipPrimitive.Trigger \n aria-describedby=\"tooltip\" \n asChild={asChild}\n >\n <div className={clsx(styles.trigger, classNames?.trigger ?? \"\")} style={triggerStyle}>\n {children}\n </div>\n </TooltipPrimitive.Trigger>\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n id=\"tooltip\"\n role=\"tooltip\"\n aria-label={ariaLabel || (typeof message === 'string' ? message : undefined)}\n side={side?.split('-')[0] as TooltipPrimitive.TooltipContentProps['side'] || 'top'}\n align={(side?.includes('-') ? (side.split('-')[1] === 'left' ? 'start' : 'end') : 'center') satisfies 'start' | 'end' | 'center'}\n sideOffset={4}\n className={tooltip({ side, className: classNames?.content })}\n style={contentStyle}\n >\n {typeof message === \"string\" ? (\n <Text>{message}</Text>\n ) : (\n message\n )}\n {showArrow && (\n <TooltipPrimitive.Arrow \n className={clsx(styles.arrow, classNames?.arrow)} \n width={12} \n height={6} \n />\n )}\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n </TooltipPrimitive.Root>\n </TooltipPrimitive.Provider>\n );\n};\n\nTooltip.displayName = 'Tooltip';\n\nexport const TooltipProvider = TooltipPrimitive.Provider;\n"],"names":["cva","styles","_jsx","TooltipPrimitive.Provider","_jsxs","TooltipPrimitive.Root","TooltipPrimitive.Trigger","clsx","TooltipPrimitive.Portal","TooltipPrimitive.Content","Text","TooltipPrimitive.Arrow"],"mappings":"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"}
@@ -19,6 +19,7 @@ interface TooltipProps extends VariantProps<typeof tooltip> {
19
19
  skipDelayDuration?: number;
20
20
  'aria-label'?: string;
21
21
  asChild?: boolean;
22
+ showArrow?: boolean;
22
23
  }
23
24
  export declare const Tooltip: React.FC<TooltipProps>;
24
25
  export declare const TooltipProvider: React.FC<TooltipPrimitive.TooltipProviderProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../../v1/components/tooltip/tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAO,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAM7D,QAAA,MAAM,OAAO;;mFAgBX,CAAC;AAEH,UAAU,YAAa,SAAQ,YAAY,CAAC,OAAO,OAAO,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACnC,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAgD1C,CAAC;AAIF,eAAO,MAAM,eAAe,iDAA4B,CAAC"}
1
+ {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../../v1/components/tooltip/tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,gBAAgB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAO,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAM7D,QAAA,MAAM,OAAO;;mFAgBX,CAAC;AAEH,UAAU,YAAa,SAAQ,YAAY,CAAC,OAAO,OAAO,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACnC,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAuD1C,CAAC;AAIF,eAAO,MAAM,eAAe,iDAA4B,CAAC"}
@@ -22,8 +22,8 @@ const tooltip = cva(styles.content, {
22
22
  side: "top"
23
23
  }
24
24
  });
25
- const Tooltip = ({ children, message, disabled, side = "top", classNames, triggerStyle, contentStyle, delayDuration = 200, skipDelayDuration = 200, 'aria-label': ariaLabel, asChild = true, }) => {
26
- return disabled ? (children) : (jsxRuntimeExports.jsx($a093c7e1ec25a057$export$2881499e37b75b9a, { delayDuration: delayDuration, skipDelayDuration: skipDelayDuration, children: jsxRuntimeExports.jsxs($a093c7e1ec25a057$export$be92b6f5f03c0fe9, { children: [jsxRuntimeExports.jsx($a093c7e1ec25a057$export$41fb9f06171c75f4, { "aria-describedby": "tooltip", asChild: asChild, children: jsxRuntimeExports.jsx("div", { className: clsx(styles.trigger, classNames?.trigger ?? ""), style: triggerStyle, children: children }) }), jsxRuntimeExports.jsx($a093c7e1ec25a057$export$602eac185826482c, { children: jsxRuntimeExports.jsxs($a093c7e1ec25a057$export$7c6e2c02157bb7d2, { id: "tooltip", role: "tooltip", "aria-label": ariaLabel || (typeof message === 'string' ? message : undefined), side: side?.split('-')[0] || 'top', align: (side?.includes('-') ? (side.split('-')[1] === 'left' ? 'start' : 'end') : 'center'), sideOffset: 4, className: tooltip({ side, className: classNames?.content }), style: contentStyle, children: [typeof message === "string" ? (jsxRuntimeExports.jsx(Text, { children: message })) : (message), jsxRuntimeExports.jsx($a093c7e1ec25a057$export$21b07c8f274aebd5, { className: clsx(styles.arrow, classNames?.arrow), width: 12, height: 6 })] }) })] }) }));
25
+ const Tooltip = ({ children, message, disabled, side = "top", classNames, triggerStyle, contentStyle, delayDuration = 200, skipDelayDuration = 200, 'aria-label': ariaLabel, asChild = true, showArrow = true, }) => {
26
+ return disabled ? (children) : (jsxRuntimeExports.jsx($a093c7e1ec25a057$export$2881499e37b75b9a, { delayDuration: delayDuration, skipDelayDuration: skipDelayDuration, children: jsxRuntimeExports.jsxs($a093c7e1ec25a057$export$be92b6f5f03c0fe9, { children: [jsxRuntimeExports.jsx($a093c7e1ec25a057$export$41fb9f06171c75f4, { "aria-describedby": "tooltip", asChild: asChild, children: jsxRuntimeExports.jsx("div", { className: clsx(styles.trigger, classNames?.trigger ?? ""), style: triggerStyle, children: children }) }), jsxRuntimeExports.jsx($a093c7e1ec25a057$export$602eac185826482c, { children: jsxRuntimeExports.jsxs($a093c7e1ec25a057$export$7c6e2c02157bb7d2, { id: "tooltip", role: "tooltip", "aria-label": ariaLabel || (typeof message === 'string' ? message : undefined), side: side?.split('-')[0] || 'top', align: (side?.includes('-') ? (side.split('-')[1] === 'left' ? 'start' : 'end') : 'center'), sideOffset: 4, className: tooltip({ side, className: classNames?.content }), style: contentStyle, children: [typeof message === "string" ? (jsxRuntimeExports.jsx(Text, { children: message })) : (message), showArrow && (jsxRuntimeExports.jsx($a093c7e1ec25a057$export$21b07c8f274aebd5, { className: clsx(styles.arrow, classNames?.arrow), width: 12, height: 6 }))] }) })] }) }));
27
27
  };
28
28
  Tooltip.displayName = 'Tooltip';
29
29
  const TooltipProvider = $a093c7e1ec25a057$export$2881499e37b75b9a;