@raystack/apsara 0.48.1 → 0.48.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.
- package/dist/components/avatar/avatar.cjs +2 -3
- package/dist/components/avatar/avatar.cjs.map +1 -1
- package/dist/components/avatar/avatar.d.ts.map +1 -1
- package/dist/components/avatar/avatar.js +3 -4
- package/dist/components/avatar/avatar.js.map +1 -1
- package/dist/components/breadcrumb/breadcrumb-item.cjs +26 -0
- package/dist/components/breadcrumb/breadcrumb-item.cjs.map +1 -0
- package/dist/components/breadcrumb/breadcrumb-item.d.ts +14 -0
- package/dist/components/breadcrumb/breadcrumb-item.d.ts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb-item.js +24 -0
- package/dist/components/breadcrumb/breadcrumb-item.js.map +1 -0
- package/dist/components/breadcrumb/breadcrumb-misc.cjs +20 -0
- package/dist/components/breadcrumb/breadcrumb-misc.cjs.map +1 -0
- package/dist/components/breadcrumb/breadcrumb-misc.d.ts +8 -0
- package/dist/components/breadcrumb/breadcrumb-misc.d.ts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb-misc.js +17 -0
- package/dist/components/breadcrumb/breadcrumb-misc.js.map +1 -0
- package/dist/components/breadcrumb/breadcrumb-root.cjs +25 -0
- package/dist/components/breadcrumb/breadcrumb-root.cjs.map +1 -0
- package/dist/components/breadcrumb/breadcrumb-root.d.ts +10 -0
- package/dist/components/breadcrumb/breadcrumb-root.d.ts.map +1 -0
- package/dist/components/breadcrumb/breadcrumb-root.js +23 -0
- package/dist/components/breadcrumb/breadcrumb-root.js.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.cjs +7 -53
- package/dist/components/breadcrumb/breadcrumb.cjs.map +1 -1
- package/dist/components/breadcrumb/breadcrumb.d.ts +5 -27
- package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -1
- package/dist/components/breadcrumb/breadcrumb.js +7 -53
- package/dist/components/breadcrumb/breadcrumb.js.map +1 -1
- package/dist/components/breadcrumb/breadcrumb.module.css.cjs +1 -1
- package/dist/components/breadcrumb/breadcrumb.module.css.js +1 -1
- package/dist/components/breadcrumb/index.d.ts +1 -1
- package/dist/components/calendar/calendar.cjs +12 -13
- package/dist/components/calendar/calendar.cjs.map +1 -1
- package/dist/components/calendar/calendar.d.ts.map +1 -1
- package/dist/components/calendar/calendar.js +13 -14
- package/dist/components/calendar/calendar.js.map +1 -1
- package/dist/components/checkbox/checkbox.cjs +1 -2
- package/dist/components/checkbox/checkbox.cjs.map +1 -1
- package/dist/components/checkbox/checkbox.d.ts.map +1 -1
- package/dist/components/checkbox/checkbox.js +2 -3
- package/dist/components/checkbox/checkbox.js.map +1 -1
- package/dist/components/data-table/components/content.cjs +8 -8
- package/dist/components/data-table/components/content.cjs.map +1 -1
- package/dist/components/data-table/components/content.js +3 -3
- package/dist/components/data-table/components/content.js.map +1 -1
- package/dist/components/data-table/components/toolbar.cjs +2 -2
- package/dist/components/data-table/components/toolbar.cjs.map +1 -1
- package/dist/components/data-table/components/toolbar.d.ts.map +1 -1
- package/dist/components/data-table/components/toolbar.js +2 -2
- package/dist/components/data-table/components/toolbar.js.map +1 -1
- package/dist/components/dialog/dialog.cjs +7 -8
- package/dist/components/dialog/dialog.cjs.map +1 -1
- package/dist/components/dialog/dialog.d.ts.map +1 -1
- package/dist/components/dialog/dialog.js +8 -9
- package/dist/components/dialog/dialog.js.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-misc.cjs +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-misc.cjs.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-misc.js +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-misc.js.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-root.cjs +10 -10
- package/dist/components/dropdown-menu/dropdown-menu-root.cjs.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-root.d.ts +8 -5
- package/dist/components/dropdown-menu/dropdown-menu-root.d.ts.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-root.js +11 -11
- package/dist/components/dropdown-menu/dropdown-menu-root.js.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-trigger.cjs +6 -2
- package/dist/components/dropdown-menu/dropdown-menu-trigger.cjs.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-trigger.d.ts +1 -0
- package/dist/components/dropdown-menu/dropdown-menu-trigger.d.ts.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu-trigger.js +6 -2
- package/dist/components/dropdown-menu/dropdown-menu-trigger.js.map +1 -1
- package/dist/components/dropdown-menu/dropdown-menu.d.ts +1 -1
- package/dist/components/empty-state/empty-state.cjs +5 -5
- package/dist/components/empty-state/empty-state.cjs.map +1 -1
- package/dist/components/empty-state/empty-state.d.ts +3 -3
- package/dist/components/empty-state/empty-state.d.ts.map +1 -1
- package/dist/components/empty-state/empty-state.js +5 -5
- package/dist/components/empty-state/empty-state.js.map +1 -1
- package/dist/components/filter-chip/filter-chip-operation.cjs +24 -0
- package/dist/components/filter-chip/filter-chip-operation.cjs.map +1 -0
- package/dist/components/filter-chip/filter-chip-operation.d.ts +10 -0
- package/dist/components/filter-chip/filter-chip-operation.d.ts.map +1 -0
- package/dist/components/filter-chip/filter-chip-operation.js +22 -0
- package/dist/components/filter-chip/filter-chip-operation.js.map +1 -0
- package/dist/components/filter-chip/filter-chip.cjs +31 -43
- package/dist/components/filter-chip/filter-chip.cjs.map +1 -1
- package/dist/components/filter-chip/filter-chip.d.ts +6 -5
- package/dist/components/filter-chip/filter-chip.d.ts.map +1 -1
- package/dist/components/filter-chip/filter-chip.js +31 -43
- package/dist/components/filter-chip/filter-chip.js.map +1 -1
- package/dist/components/filter-chip/filter-chip.module.css.cjs +1 -1
- package/dist/components/filter-chip/filter-chip.module.css.js +1 -1
- package/dist/components/input-field/input-field.cjs +12 -13
- package/dist/components/input-field/input-field.cjs.map +1 -1
- package/dist/components/input-field/input-field.d.ts +4 -4
- package/dist/components/input-field/input-field.d.ts.map +1 -1
- package/dist/components/input-field/input-field.js +13 -14
- package/dist/components/input-field/input-field.js.map +1 -1
- package/dist/components/select/select-item.cjs +2 -1
- package/dist/components/select/select-item.cjs.map +1 -1
- package/dist/components/select/select-item.d.ts.map +1 -1
- package/dist/components/select/select-item.js +2 -1
- package/dist/components/select/select-item.js.map +1 -1
- package/dist/components/select/select-root.cjs +2 -2
- package/dist/components/select/select-root.cjs.map +1 -1
- package/dist/components/select/select-root.d.ts.map +1 -1
- package/dist/components/select/select-root.js +2 -2
- package/dist/components/select/select-root.js.map +1 -1
- package/dist/components/sidebar/sidebar.cjs +2 -3
- package/dist/components/sidebar/sidebar.cjs.map +1 -1
- package/dist/components/sidebar/sidebar.d.ts.map +1 -1
- package/dist/components/sidebar/sidebar.js +3 -4
- package/dist/components/sidebar/sidebar.js.map +1 -1
- package/dist/components/skeleton/skeleton.cjs +3 -3
- package/dist/components/skeleton/skeleton.cjs.map +1 -1
- package/dist/components/skeleton/skeleton.d.ts.map +1 -1
- package/dist/components/skeleton/skeleton.js +3 -3
- package/dist/components/skeleton/skeleton.js.map +1 -1
- package/dist/components/text-area/text-area.cjs +4 -5
- package/dist/components/text-area/text-area.cjs.map +1 -1
- package/dist/components/text-area/text-area.d.ts +2 -2
- package/dist/components/text-area/text-area.d.ts.map +1 -1
- package/dist/components/text-area/text-area.js +4 -5
- package/dist/components/text-area/text-area.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.cjs","sources":["../../../../components/data-table/components/content.tsx"],"sourcesContent":["import { TableIcon } from '@radix-ui/react-icons';\nimport type { HeaderGroup, Row } from '@tanstack/react-table';\nimport { flexRender } from '@tanstack/react-table';\nimport clsx from 'clsx';\nimport {\n ForwardedRef,\n forwardRef,\n useCallback,\n useEffect,\n useRef\n} from 'react';\n\nimport { Badge } from '../../badge';\nimport { EmptyState } from '../../empty-state';\nimport { Flex } from '../../flex';\nimport { Skeleton } from '../../skeleton';\nimport { Table } from '../../table';\nimport styles from '../data-table.module.css';\nimport {\n DataTableColumnDef,\n DataTableContentProps,\n GroupedData\n} from '../data-table.types';\nimport { useDataTable } from '../hooks/useDataTable';\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 rowModel = table?.getRowModel();\n const { rows = [] } = rowModel || {};\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 <div className={classNames.root}>\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 </div>\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":["../../../../components/data-table/components/content.tsx"],"sourcesContent":["import { TableIcon } from '@radix-ui/react-icons';\nimport type { HeaderGroup, Row } from '@tanstack/react-table';\nimport { flexRender } from '@tanstack/react-table';\nimport { cx } from 'class-variance-authority';\nimport {\n ForwardedRef,\n forwardRef,\n useCallback,\n useEffect,\n useRef\n} from 'react';\n\nimport { Badge } from '../../badge';\nimport { EmptyState } from '../../empty-state';\nimport { Flex } from '../../flex';\nimport { Skeleton } from '../../skeleton';\nimport { Table } from '../../table';\nimport styles from '../data-table.module.css';\nimport {\n DataTableColumnDef,\n DataTableContentProps,\n GroupedData\n} from '../data-table.types';\nimport { useDataTable } from '../hooks/useDataTable';\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={cx(\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={cx(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 rowModel = table?.getRowModel();\n const { rows = [] } = rowModel || {};\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 <div className={classNames.root}>\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 </div>\n );\n}\n"],"names":["_jsx","Table","flexRender","Skeleton","_jsxs","Flex","Badge","forwardRef","_Fragment","index","cx","styles","EmptyState","TableIcon","table","useDataTable","useRef","useCallback","useEffect"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from '../../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js';
|
|
2
2
|
import { TableIcon } from '../../../node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js';
|
|
3
3
|
import { flexRender } from '../../../node_modules/.pnpm/@tanstack_react-table@8.9.2_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@tanstack/react-table/build/lib/index.js';
|
|
4
|
-
import {
|
|
4
|
+
import { cx } from '../../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
|
|
5
5
|
import { forwardRef, useRef, useCallback, useEffect } from 'react';
|
|
6
6
|
import { Badge } from '../../badge/badge.js';
|
|
7
7
|
import { EmptyState } from '../../empty-state/empty-state.js';
|
|
@@ -35,9 +35,9 @@ const Rows = forwardRef((props, lastRowRef) => {
|
|
|
35
35
|
const isSectionHeadingRow = row.depth === 0 && row.getIsExpanded();
|
|
36
36
|
const isLastRow = index === rows.length - 1;
|
|
37
37
|
const rowKey = row.id + '-' + index;
|
|
38
|
-
return isSectionHeadingRow ? (jsxRuntimeExports.jsx(GroupHeader, { colSpan: cells.length, data: row.original }, rowKey)) : (jsxRuntimeExports.jsx(Table.Row, { className:
|
|
38
|
+
return isSectionHeadingRow ? (jsxRuntimeExports.jsx(GroupHeader, { colSpan: cells.length, data: row.original }, rowKey)) : (jsxRuntimeExports.jsx(Table.Row, { className: cx(styles['row'], onRowClick ? styles['clickable'] : '', classNames?.row), "data-state": isSelected && 'selected', ref: isLastRow ? lastRowRef : undefined, onClick: () => onRowClick?.(row.original), children: cells.map(cell => {
|
|
39
39
|
const columnDef = cell.column.columnDef;
|
|
40
|
-
return (jsxRuntimeExports.jsx(Table.Cell, { className:
|
|
40
|
+
return (jsxRuntimeExports.jsx(Table.Cell, { className: cx(styles['cell'], columnDef.classNames?.cell), style: columnDef.styles?.cell, children: flexRender(columnDef.cell, cell.getContext()) }, cell.id));
|
|
41
41
|
}) }, rowKey));
|
|
42
42
|
}) }));
|
|
43
43
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.js","sources":["../../../../components/data-table/components/content.tsx"],"sourcesContent":["import { TableIcon } from '@radix-ui/react-icons';\nimport type { HeaderGroup, Row } from '@tanstack/react-table';\nimport { flexRender } from '@tanstack/react-table';\nimport clsx from 'clsx';\nimport {\n ForwardedRef,\n forwardRef,\n useCallback,\n useEffect,\n useRef\n} from 'react';\n\nimport { Badge } from '../../badge';\nimport { EmptyState } from '../../empty-state';\nimport { Flex } from '../../flex';\nimport { Skeleton } from '../../skeleton';\nimport { Table } from '../../table';\nimport styles from '../data-table.module.css';\nimport {\n DataTableColumnDef,\n DataTableContentProps,\n GroupedData\n} from '../data-table.types';\nimport { useDataTable } from '../hooks/useDataTable';\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 rowModel = table?.getRowModel();\n const { rows = [] } = rowModel || {};\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 <div className={classNames.root}>\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 </div>\n );\n}\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"content.js","sources":["../../../../components/data-table/components/content.tsx"],"sourcesContent":["import { TableIcon } from '@radix-ui/react-icons';\nimport type { HeaderGroup, Row } from '@tanstack/react-table';\nimport { flexRender } from '@tanstack/react-table';\nimport { cx } from 'class-variance-authority';\nimport {\n ForwardedRef,\n forwardRef,\n useCallback,\n useEffect,\n useRef\n} from 'react';\n\nimport { Badge } from '../../badge';\nimport { EmptyState } from '../../empty-state';\nimport { Flex } from '../../flex';\nimport { Skeleton } from '../../skeleton';\nimport { Table } from '../../table';\nimport styles from '../data-table.module.css';\nimport {\n DataTableColumnDef,\n DataTableContentProps,\n GroupedData\n} from '../data-table.types';\nimport { useDataTable } from '../hooks/useDataTable';\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={cx(\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={cx(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 rowModel = table?.getRowModel();\n const { rows = [] } = rowModel || {};\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 <div className={classNames.root}>\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 </div>\n );\n}\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var jsxRuntime = require('../../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.cjs');
|
|
4
|
-
var
|
|
4
|
+
var index = require('../../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.cjs');
|
|
5
5
|
var flex = require('../../flex/flex.cjs');
|
|
6
6
|
var dataTable_module = require('../data-table.module.css.cjs');
|
|
7
7
|
var displaySettings = require('./display-settings.cjs');
|
|
8
8
|
var filters = require('./filters.cjs');
|
|
9
9
|
|
|
10
10
|
function Toolbar({ className }) {
|
|
11
|
-
return (jsxRuntime.jsxRuntimeExports.jsxs(flex.Flex, { className:
|
|
11
|
+
return (jsxRuntime.jsxRuntimeExports.jsxs(flex.Flex, { className: index.cx(dataTable_module.default['toolbar'], className), justify: 'between', align: 'center', children: [jsxRuntime.jsxRuntimeExports.jsx(filters.Filters, {}), jsxRuntime.jsxRuntimeExports.jsx(displaySettings.DisplaySettings, {})] }));
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
exports.Toolbar = Toolbar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar.cjs","sources":["../../../../components/data-table/components/toolbar.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"toolbar.cjs","sources":["../../../../components/data-table/components/toolbar.tsx"],"sourcesContent":["import { cx } from 'class-variance-authority';\nimport { Flex } from '../../flex';\nimport styles from '../data-table.module.css';\nimport { DisplaySettings } from './display-settings';\nimport { Filters } from './filters';\n\nexport function Toolbar<TData, TValue>({ className }: { className?: string }) {\n return (\n <Flex\n className={cx(styles['toolbar'], className)}\n justify='between'\n align='center'\n >\n <Filters<TData, TValue> />\n <DisplaySettings />\n </Flex>\n );\n}\n"],"names":["_jsxs","Flex","cx","styles","_jsx","Filters","DisplaySettings"],"mappings":";;;;;;;;;AAMgB,SAAA,OAAO,CAAgB,EAAE,SAAS,EAA0B,EAAA;AAC1E,IAAA,QACEA,iCAAA,CAACC,SAAI,EAAA,EACH,SAAS,EAAEC,QAAE,CAACC,wBAAM,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,EAC3C,OAAO,EAAC,SAAS,EACjB,KAAK,EAAC,QAAQ,EAEd,QAAA,EAAA,CAAAC,gCAAA,CAACC,eAAO,EAAA,EAAA,CAAkB,EAC1BD,gCAAC,CAAAE,+BAAe,EAAG,EAAA,CAAA,CAAA,EAAA,CACd,EACP;AACJ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar.d.ts","sourceRoot":"","sources":["../../../../components/data-table/components/toolbar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"toolbar.d.ts","sourceRoot":"","sources":["../../../../components/data-table/components/toolbar.tsx"],"names":[],"mappings":"AAMA,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAW3E"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from '../../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js';
|
|
2
|
-
import {
|
|
2
|
+
import { cx } from '../../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
|
|
3
3
|
import { Flex } from '../../flex/flex.js';
|
|
4
4
|
import styles from '../data-table.module.css.js';
|
|
5
5
|
import { DisplaySettings } from './display-settings.js';
|
|
6
6
|
import { Filters } from './filters.js';
|
|
7
7
|
|
|
8
8
|
function Toolbar({ className }) {
|
|
9
|
-
return (jsxRuntimeExports.jsxs(Flex, { className:
|
|
9
|
+
return (jsxRuntimeExports.jsxs(Flex, { className: cx(styles['toolbar'], className), justify: 'between', align: 'center', children: [jsxRuntimeExports.jsx(Filters, {}), jsxRuntimeExports.jsx(DisplaySettings, {})] }));
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
export { Toolbar };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar.js","sources":["../../../../components/data-table/components/toolbar.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"toolbar.js","sources":["../../../../components/data-table/components/toolbar.tsx"],"sourcesContent":["import { cx } from 'class-variance-authority';\nimport { Flex } from '../../flex';\nimport styles from '../data-table.module.css';\nimport { DisplaySettings } from './display-settings';\nimport { Filters } from './filters';\n\nexport function Toolbar<TData, TValue>({ className }: { className?: string }) {\n return (\n <Flex\n className={cx(styles['toolbar'], className)}\n justify='between'\n align='center'\n >\n <Filters<TData, TValue> />\n <DisplaySettings />\n </Flex>\n );\n}\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;AAMgB,SAAA,OAAO,CAAgB,EAAE,SAAS,EAA0B,EAAA;AAC1E,IAAA,QACEA,sBAAA,CAAC,IAAI,EAAA,EACH,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,EAC3C,OAAO,EAAC,SAAS,EACjB,KAAK,EAAC,QAAQ,EAEd,QAAA,EAAA,CAAAC,qBAAA,CAAC,OAAO,EAAA,EAAA,CAAkB,EAC1BA,qBAAC,CAAA,eAAe,EAAG,EAAA,CAAA,CAAA,EAAA,CACd,EACP;AACJ;;;;"}
|
|
@@ -3,26 +3,25 @@
|
|
|
3
3
|
var jsxRuntime = require('../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.cjs');
|
|
4
4
|
var reactIcons_esm = require('../../node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.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 clsx = require('../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.cjs');
|
|
7
6
|
var React = require('react');
|
|
8
7
|
var flex = require('../flex/flex.cjs');
|
|
9
8
|
var dialog_module = require('./dialog.module.css.cjs');
|
|
10
9
|
var index = require('../../node_modules/.pnpm/@radix-ui_react-dialog@1.1.14_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-dialog/dist/index.cjs');
|
|
11
10
|
|
|
12
11
|
const dialogContent = index$1.cva(dialog_module.default.dialogContent);
|
|
13
|
-
const DialogContent = React.forwardRef(({ className, children, ariaLabel, ariaDescription, overlayBlur = false, overlayClassName, overlayStyle, width, ...props }, ref) => (jsxRuntime.jsxRuntimeExports.jsxs(index.Portal, { children: [jsxRuntime.jsxRuntimeExports.jsx(index.Overlay, { className:
|
|
12
|
+
const DialogContent = React.forwardRef(({ className, children, ariaLabel, ariaDescription, overlayBlur = false, overlayClassName, overlayStyle, width, ...props }, ref) => (jsxRuntime.jsxRuntimeExports.jsxs(index.Portal, { children: [jsxRuntime.jsxRuntimeExports.jsx(index.Overlay, { className: index$1.cx(dialog_module.default.dialogOverlay, overlayClassName, overlayBlur && dialog_module.default.overlayBlur), style: overlayStyle, "aria-hidden": 'true', role: 'presentation' }), jsxRuntime.jsxRuntimeExports.jsx(index.Content, { ref: ref, className: dialogContent({ className }), style: { width, ...props.style }, "aria-label": ariaLabel, "aria-describedby": ariaDescription ? 'dialog-description' : undefined, ...props, children: children })] })));
|
|
14
13
|
DialogContent.displayName = index.Content.displayName;
|
|
15
|
-
const DialogHeader = ({ children, className }) => (jsxRuntime.jsxRuntimeExports.jsx(flex.Flex, { justify: 'between', align: 'center', className:
|
|
16
|
-
const DialogFooter = ({ children, className }) => (jsxRuntime.jsxRuntimeExports.jsx(flex.Flex, { gap: 5, justify: 'end', className:
|
|
17
|
-
const DialogBody = ({ children, className }) => (jsxRuntime.jsxRuntimeExports.jsx(flex.Flex, { direction: 'column', gap: 3, className:
|
|
14
|
+
const DialogHeader = ({ children, className }) => (jsxRuntime.jsxRuntimeExports.jsx(flex.Flex, { justify: 'between', align: 'center', className: index$1.cx(dialog_module.default.header, className), children: children }));
|
|
15
|
+
const DialogFooter = ({ children, className }) => (jsxRuntime.jsxRuntimeExports.jsx(flex.Flex, { gap: 5, justify: 'end', className: index$1.cx(dialog_module.default.footer, className), children: children }));
|
|
16
|
+
const DialogBody = ({ children, className }) => (jsxRuntime.jsxRuntimeExports.jsx(flex.Flex, { direction: 'column', gap: 3, className: index$1.cx(dialog_module.default.body, className), children: children }));
|
|
18
17
|
function CloseButton({ className, ...props }) {
|
|
19
|
-
return (jsxRuntime.jsxRuntimeExports.jsx(index.Close, { className:
|
|
18
|
+
return (jsxRuntime.jsxRuntimeExports.jsx(index.Close, { className: index$1.cx(dialog_module.default.close, className), "aria-label": 'Close dialog', ...props, children: jsxRuntime.jsxRuntimeExports.jsx(reactIcons_esm.Cross1Icon, {}) }));
|
|
20
19
|
}
|
|
21
20
|
function DialogTitle({ children, className, ...props }) {
|
|
22
|
-
return (jsxRuntime.jsxRuntimeExports.jsx(index.Title, { ...props, role: 'heading', "aria-level": 1, className:
|
|
21
|
+
return (jsxRuntime.jsxRuntimeExports.jsx(index.Title, { ...props, role: 'heading', "aria-level": 1, className: index$1.cx(dialog_module.default.title, className), children: children }));
|
|
23
22
|
}
|
|
24
23
|
function DialogDescription({ children, className, ...props }) {
|
|
25
|
-
return (jsxRuntime.jsxRuntimeExports.jsx(index.Description, { ...props, className:
|
|
24
|
+
return (jsxRuntime.jsxRuntimeExports.jsx(index.Description, { ...props, className: index$1.cx(dialog_module.default.description, className), id: 'dialog-description', role: 'document', children: children }));
|
|
26
25
|
}
|
|
27
26
|
const Dialog = Object.assign(index.Root, {
|
|
28
27
|
Trigger: index.Trigger,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.cjs","sources":["../../../components/dialog/dialog.tsx"],"sourcesContent":["import { Cross1Icon } from '@radix-ui/react-icons';\nimport { VariantProps, cva } from 'class-variance-authority';\nimport {
|
|
1
|
+
{"version":3,"file":"dialog.cjs","sources":["../../../components/dialog/dialog.tsx"],"sourcesContent":["import { Cross1Icon } from '@radix-ui/react-icons';\nimport { VariantProps, cva, cx } from 'class-variance-authority';\nimport { Dialog as DialogPrimitive } from 'radix-ui';\nimport {\n ComponentProps,\n ComponentPropsWithoutRef,\n ElementRef,\n forwardRef\n} from 'react';\nimport { Flex } from '../flex';\nimport styles from './dialog.module.css';\n\nconst dialogContent = cva(styles.dialogContent);\n\nexport interface DialogContentProps\n extends ComponentPropsWithoutRef<typeof DialogPrimitive.Content>,\n VariantProps<typeof dialogContent> {\n ariaLabel?: string;\n ariaDescription?: string;\n overlayBlur?: boolean;\n overlayClassName?: string;\n overlayStyle?: React.CSSProperties;\n width?: string | number;\n}\n\nconst DialogContent = forwardRef<\n ElementRef<typeof DialogPrimitive.Content>,\n DialogContentProps\n>(\n (\n {\n className,\n children,\n ariaLabel,\n ariaDescription,\n overlayBlur = false,\n overlayClassName,\n overlayStyle,\n width,\n ...props\n },\n ref\n ) => (\n <DialogPrimitive.Portal>\n <DialogPrimitive.Overlay\n className={cx(\n styles.dialogOverlay,\n overlayClassName,\n overlayBlur && styles.overlayBlur\n )}\n style={overlayStyle}\n aria-hidden='true'\n role='presentation'\n />\n <DialogPrimitive.Content\n ref={ref}\n className={dialogContent({ className })}\n style={{ width, ...props.style }}\n aria-label={ariaLabel}\n aria-describedby={ariaDescription ? 'dialog-description' : undefined}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n )\n);\n\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n children,\n className\n}: {\n children: React.ReactNode;\n className?: string;\n}) => (\n <Flex\n justify='between'\n align='center'\n className={cx(styles.header, className)}\n >\n {children}\n </Flex>\n);\n\nconst DialogFooter = ({\n children,\n className\n}: {\n children: React.ReactNode;\n className?: string;\n}) => (\n <Flex gap={5} justify='end' className={cx(styles.footer, className)}>\n {children}\n </Flex>\n);\n\nconst DialogBody = ({\n children,\n className\n}: {\n children: React.ReactNode;\n className?: string;\n}) => (\n <Flex direction='column' gap={3} className={cx(styles.body, className)}>\n {children}\n </Flex>\n);\n\ntype CloseButtonProps = ComponentProps<typeof DialogPrimitive.Close>;\nexport function CloseButton({ className, ...props }: CloseButtonProps) {\n return (\n <DialogPrimitive.Close\n className={cx(styles.close, className)}\n aria-label='Close dialog'\n {...props}\n >\n <Cross1Icon />\n </DialogPrimitive.Close>\n );\n}\n\ninterface DialogTitleProps\n extends ComponentProps<typeof DialogPrimitive.Title> {\n children: React.ReactNode;\n}\n\nfunction DialogTitle({ children, className, ...props }: DialogTitleProps) {\n return (\n <DialogPrimitive.Title\n {...props}\n role='heading'\n aria-level={1}\n className={cx(styles.title, className)}\n >\n {children}\n </DialogPrimitive.Title>\n );\n}\n\ninterface DialogDescriptionProps\n extends ComponentProps<typeof DialogPrimitive.Description> {\n children: React.ReactNode;\n className?: string;\n}\n\nfunction DialogDescription({\n children,\n className,\n ...props\n}: DialogDescriptionProps) {\n return (\n <DialogPrimitive.Description\n {...props}\n className={cx(styles.description, className)}\n id='dialog-description'\n role='document'\n >\n {children}\n </DialogPrimitive.Description>\n );\n}\n\nexport const Dialog = Object.assign(DialogPrimitive.Root, {\n Trigger: DialogPrimitive.Trigger,\n Content: DialogContent,\n Header: DialogHeader,\n Footer: DialogFooter,\n Body: DialogBody,\n Close: DialogPrimitive.Close,\n CloseButton: CloseButton,\n Title: DialogTitle,\n Description: DialogDescription\n});\n"],"names":["cva","styles","forwardRef","_jsxs","DialogPrimitive.Portal","_jsx","DialogPrimitive.Overlay","cx","DialogPrimitive.Content","Flex","DialogPrimitive.Close","Cross1Icon","DialogPrimitive.Title","DialogPrimitive.Description","DialogPrimitive.Root","DialogPrimitive.Trigger"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../components/dialog/dialog.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../../components/dialog/dialog.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAW,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EACL,cAAc,EACd,wBAAwB,EAGzB,MAAM,OAAO,CAAC;AAIf,QAAA,MAAM,aAAa,oFAA4B,CAAC;AAEhD,MAAM,WAAW,kBACf,SAAQ,wBAAwB,CAAC,OAAO,eAAe,CAAC,OAAO,CAAC,EAC9D,YAAY,CAAC,OAAO,aAAa,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAuFD,KAAK,gBAAgB,GAAG,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AACrE,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAUpE;AAED,UAAU,gBACR,SAAQ,cAAc,CAAC,OAAO,eAAe,CAAC,KAAK,CAAC;IACpD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,iBAAS,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,gBAAgB,2CAWvE;AAED,UAAU,sBACR,SAAQ,cAAc,CAAC,OAAO,eAAe,CAAC,WAAW,CAAC;IAC1D,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iBAAS,iBAAiB,CAAC,EACzB,QAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,sBAAsB,2CAWxB;AAED,eAAO,MAAM,MAAM;;;;kBA1FP,MAAM,SAAS;;;;kBAgBf,MAAM,SAAS;;;;kBAYf,MAAM,SAAS;;;;;;;CAwEzB,CAAC"}
|
|
@@ -1,26 +1,25 @@
|
|
|
1
1
|
import { j as jsxRuntimeExports } from '../../node_modules/.pnpm/react@18.2.0/node_modules/react/jsx-runtime.js';
|
|
2
2
|
import { Cross1Icon } from '../../node_modules/.pnpm/@radix-ui_react-icons@1.3.0_react@18.2.0/node_modules/@radix-ui/react-icons/dist/react-icons.esm.js';
|
|
3
|
-
import { cva } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
|
|
4
|
-
import { clsx } from '../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.js';
|
|
3
|
+
import { cx, cva } from '../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.js';
|
|
5
4
|
import { forwardRef } from 'react';
|
|
6
5
|
import { Flex } from '../flex/flex.js';
|
|
7
6
|
import styles from './dialog.module.css.js';
|
|
8
7
|
import { Portal, Overlay, Content, Root, Trigger, Close, Title, Description } from '../../node_modules/.pnpm/@radix-ui_react-dialog@1.1.14_@types_react-dom@18.0.11_@types_react@18.2.12_react-dom@18.3.1_react@18.2.0__react@18.2.0/node_modules/@radix-ui/react-dialog/dist/index.js';
|
|
9
8
|
|
|
10
9
|
const dialogContent = cva(styles.dialogContent);
|
|
11
|
-
const DialogContent = forwardRef(({ className, children, ariaLabel, ariaDescription, overlayBlur = false, overlayClassName, overlayStyle, width, ...props }, ref) => (jsxRuntimeExports.jsxs(Portal, { children: [jsxRuntimeExports.jsx(Overlay, { className:
|
|
10
|
+
const DialogContent = forwardRef(({ className, children, ariaLabel, ariaDescription, overlayBlur = false, overlayClassName, overlayStyle, width, ...props }, ref) => (jsxRuntimeExports.jsxs(Portal, { children: [jsxRuntimeExports.jsx(Overlay, { className: cx(styles.dialogOverlay, overlayClassName, overlayBlur && styles.overlayBlur), style: overlayStyle, "aria-hidden": 'true', role: 'presentation' }), jsxRuntimeExports.jsx(Content, { ref: ref, className: dialogContent({ className }), style: { width, ...props.style }, "aria-label": ariaLabel, "aria-describedby": ariaDescription ? 'dialog-description' : undefined, ...props, children: children })] })));
|
|
12
11
|
DialogContent.displayName = Content.displayName;
|
|
13
|
-
const DialogHeader = ({ children, className }) => (jsxRuntimeExports.jsx(Flex, { justify: 'between', align: 'center', className:
|
|
14
|
-
const DialogFooter = ({ children, className }) => (jsxRuntimeExports.jsx(Flex, { gap: 5, justify: 'end', className:
|
|
15
|
-
const DialogBody = ({ children, className }) => (jsxRuntimeExports.jsx(Flex, { direction: 'column', gap: 3, className:
|
|
12
|
+
const DialogHeader = ({ children, className }) => (jsxRuntimeExports.jsx(Flex, { justify: 'between', align: 'center', className: cx(styles.header, className), children: children }));
|
|
13
|
+
const DialogFooter = ({ children, className }) => (jsxRuntimeExports.jsx(Flex, { gap: 5, justify: 'end', className: cx(styles.footer, className), children: children }));
|
|
14
|
+
const DialogBody = ({ children, className }) => (jsxRuntimeExports.jsx(Flex, { direction: 'column', gap: 3, className: cx(styles.body, className), children: children }));
|
|
16
15
|
function CloseButton({ className, ...props }) {
|
|
17
|
-
return (jsxRuntimeExports.jsx(Close, { className:
|
|
16
|
+
return (jsxRuntimeExports.jsx(Close, { className: cx(styles.close, className), "aria-label": 'Close dialog', ...props, children: jsxRuntimeExports.jsx(Cross1Icon, {}) }));
|
|
18
17
|
}
|
|
19
18
|
function DialogTitle({ children, className, ...props }) {
|
|
20
|
-
return (jsxRuntimeExports.jsx(Title, { ...props, role: 'heading', "aria-level": 1, className:
|
|
19
|
+
return (jsxRuntimeExports.jsx(Title, { ...props, role: 'heading', "aria-level": 1, className: cx(styles.title, className), children: children }));
|
|
21
20
|
}
|
|
22
21
|
function DialogDescription({ children, className, ...props }) {
|
|
23
|
-
return (jsxRuntimeExports.jsx(Description, { ...props, className:
|
|
22
|
+
return (jsxRuntimeExports.jsx(Description, { ...props, className: cx(styles.description, className), id: 'dialog-description', role: 'document', children: children }));
|
|
24
23
|
}
|
|
25
24
|
const Dialog = Object.assign(Root, {
|
|
26
25
|
Trigger: Trigger,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.js","sources":["../../../components/dialog/dialog.tsx"],"sourcesContent":["import { Cross1Icon } from '@radix-ui/react-icons';\nimport { VariantProps, cva } from 'class-variance-authority';\nimport {
|
|
1
|
+
{"version":3,"file":"dialog.js","sources":["../../../components/dialog/dialog.tsx"],"sourcesContent":["import { Cross1Icon } from '@radix-ui/react-icons';\nimport { VariantProps, cva, cx } from 'class-variance-authority';\nimport { Dialog as DialogPrimitive } from 'radix-ui';\nimport {\n ComponentProps,\n ComponentPropsWithoutRef,\n ElementRef,\n forwardRef\n} from 'react';\nimport { Flex } from '../flex';\nimport styles from './dialog.module.css';\n\nconst dialogContent = cva(styles.dialogContent);\n\nexport interface DialogContentProps\n extends ComponentPropsWithoutRef<typeof DialogPrimitive.Content>,\n VariantProps<typeof dialogContent> {\n ariaLabel?: string;\n ariaDescription?: string;\n overlayBlur?: boolean;\n overlayClassName?: string;\n overlayStyle?: React.CSSProperties;\n width?: string | number;\n}\n\nconst DialogContent = forwardRef<\n ElementRef<typeof DialogPrimitive.Content>,\n DialogContentProps\n>(\n (\n {\n className,\n children,\n ariaLabel,\n ariaDescription,\n overlayBlur = false,\n overlayClassName,\n overlayStyle,\n width,\n ...props\n },\n ref\n ) => (\n <DialogPrimitive.Portal>\n <DialogPrimitive.Overlay\n className={cx(\n styles.dialogOverlay,\n overlayClassName,\n overlayBlur && styles.overlayBlur\n )}\n style={overlayStyle}\n aria-hidden='true'\n role='presentation'\n />\n <DialogPrimitive.Content\n ref={ref}\n className={dialogContent({ className })}\n style={{ width, ...props.style }}\n aria-label={ariaLabel}\n aria-describedby={ariaDescription ? 'dialog-description' : undefined}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n )\n);\n\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n children,\n className\n}: {\n children: React.ReactNode;\n className?: string;\n}) => (\n <Flex\n justify='between'\n align='center'\n className={cx(styles.header, className)}\n >\n {children}\n </Flex>\n);\n\nconst DialogFooter = ({\n children,\n className\n}: {\n children: React.ReactNode;\n className?: string;\n}) => (\n <Flex gap={5} justify='end' className={cx(styles.footer, className)}>\n {children}\n </Flex>\n);\n\nconst DialogBody = ({\n children,\n className\n}: {\n children: React.ReactNode;\n className?: string;\n}) => (\n <Flex direction='column' gap={3} className={cx(styles.body, className)}>\n {children}\n </Flex>\n);\n\ntype CloseButtonProps = ComponentProps<typeof DialogPrimitive.Close>;\nexport function CloseButton({ className, ...props }: CloseButtonProps) {\n return (\n <DialogPrimitive.Close\n className={cx(styles.close, className)}\n aria-label='Close dialog'\n {...props}\n >\n <Cross1Icon />\n </DialogPrimitive.Close>\n );\n}\n\ninterface DialogTitleProps\n extends ComponentProps<typeof DialogPrimitive.Title> {\n children: React.ReactNode;\n}\n\nfunction DialogTitle({ children, className, ...props }: DialogTitleProps) {\n return (\n <DialogPrimitive.Title\n {...props}\n role='heading'\n aria-level={1}\n className={cx(styles.title, className)}\n >\n {children}\n </DialogPrimitive.Title>\n );\n}\n\ninterface DialogDescriptionProps\n extends ComponentProps<typeof DialogPrimitive.Description> {\n children: React.ReactNode;\n className?: string;\n}\n\nfunction DialogDescription({\n children,\n className,\n ...props\n}: DialogDescriptionProps) {\n return (\n <DialogPrimitive.Description\n {...props}\n className={cx(styles.description, className)}\n id='dialog-description'\n role='document'\n >\n {children}\n </DialogPrimitive.Description>\n );\n}\n\nexport const Dialog = Object.assign(DialogPrimitive.Root, {\n Trigger: DialogPrimitive.Trigger,\n Content: DialogContent,\n Header: DialogHeader,\n Footer: DialogFooter,\n Body: DialogBody,\n Close: DialogPrimitive.Close,\n CloseButton: CloseButton,\n Title: DialogTitle,\n Description: DialogDescription\n});\n"],"names":["_jsxs","DialogPrimitive.Portal","_jsx","DialogPrimitive.Overlay","DialogPrimitive.Content","DialogPrimitive.Close","DialogPrimitive.Title","DialogPrimitive.Description","DialogPrimitive.Root","DialogPrimitive.Trigger"],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ const DropdownMenuSeparator = React.forwardRef(({ className, asChild, ...props }
|
|
|
26
26
|
if (shouldFilter) {
|
|
27
27
|
return null;
|
|
28
28
|
}
|
|
29
|
-
return (jsxRuntime.jsxRuntimeExports.jsx(menuSeparator.MenuSeparator, { ref: ref, className: index.cx(dropdownMenu_module.default.separator, className), render: asChild ? jsxRuntime.jsxRuntimeExports.jsx(index$1.Root, {}) :
|
|
29
|
+
return (jsxRuntime.jsxRuntimeExports.jsx(menuSeparator.MenuSeparator, { ref: ref, className: index.cx(dropdownMenu_module.default.separator, className), render: asChild ? jsxRuntime.jsxRuntimeExports.jsx(index$1.Root, {}) : jsxRuntime.jsxRuntimeExports.jsx("div", {}), ...props }));
|
|
30
30
|
});
|
|
31
31
|
const DropdownMenuEmptyState = React.forwardRef(({ className, children, ...props }, ref) => (jsxRuntime.jsxRuntimeExports.jsx("div", { ref: ref, className: index.cx(dropdownMenu_module.default.empty, className), ...props, children: children })));
|
|
32
32
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-menu-misc.cjs","sources":["../../../components/dropdown-menu/dropdown-menu-misc.tsx"],"sourcesContent":["import {\n MenuGroup,\n MenuGroupLabel,\n MenuGroupLabelProps,\n MenuGroupProps,\n MenuSeparator,\n MenuSeparatorProps\n} from '@ariakit/react';\nimport { cx } from 'class-variance-authority';\nimport { Slot } from 'radix-ui';\nimport {\n ElementRef,\n Fragment,\n HTMLAttributes,\n ReactNode,\n forwardRef\n} from 'react';\nimport { useDropdownContext } from './dropdown-menu-root';\nimport styles from './dropdown-menu.module.css';\nimport { WithAsChild } from './types';\n\nexport const DropdownMenuGroup = forwardRef<\n ElementRef<typeof MenuGroup>,\n WithAsChild<MenuGroupProps>\n>(({ className, asChild, ...props }, ref) => {\n const { shouldFilter } = useDropdownContext();\n\n return (\n <MenuGroup\n ref={ref}\n className={cx(styles.menugroup, className)}\n render={shouldFilter ? <Fragment /> : asChild ? <Slot.Root /> : undefined}\n {...props}\n />\n );\n});\n\nexport const DropdownMenuLabel = forwardRef<\n ElementRef<typeof MenuGroupLabel>,\n WithAsChild<MenuGroupLabelProps>\n>(({ className, asChild, ...props }, ref) => {\n const { shouldFilter } = useDropdownContext();\n\n if (shouldFilter) {\n return null;\n }\n\n return (\n <MenuGroupLabel\n ref={ref}\n className={cx(styles.label, className)}\n render={asChild ? <Slot.Root /> : undefined}\n {...props}\n />\n );\n});\n\nexport const DropdownMenuSeparator = forwardRef<\n ElementRef<typeof MenuSeparator>,\n WithAsChild<MenuSeparatorProps>\n>(({ className, asChild, ...props }, ref) => {\n const { shouldFilter } = useDropdownContext();\n\n if (shouldFilter) {\n return null;\n }\n\n return (\n <MenuSeparator\n ref={ref}\n className={cx(styles.separator, className)}\n render={asChild ? <Slot.Root /> :
|
|
1
|
+
{"version":3,"file":"dropdown-menu-misc.cjs","sources":["../../../components/dropdown-menu/dropdown-menu-misc.tsx"],"sourcesContent":["import {\n MenuGroup,\n MenuGroupLabel,\n MenuGroupLabelProps,\n MenuGroupProps,\n MenuSeparator,\n MenuSeparatorProps\n} from '@ariakit/react';\nimport { cx } from 'class-variance-authority';\nimport { Slot } from 'radix-ui';\nimport {\n ElementRef,\n Fragment,\n HTMLAttributes,\n ReactNode,\n forwardRef\n} from 'react';\nimport { useDropdownContext } from './dropdown-menu-root';\nimport styles from './dropdown-menu.module.css';\nimport { WithAsChild } from './types';\n\nexport const DropdownMenuGroup = forwardRef<\n ElementRef<typeof MenuGroup>,\n WithAsChild<MenuGroupProps>\n>(({ className, asChild, ...props }, ref) => {\n const { shouldFilter } = useDropdownContext();\n\n return (\n <MenuGroup\n ref={ref}\n className={cx(styles.menugroup, className)}\n render={shouldFilter ? <Fragment /> : asChild ? <Slot.Root /> : undefined}\n {...props}\n />\n );\n});\n\nexport const DropdownMenuLabel = forwardRef<\n ElementRef<typeof MenuGroupLabel>,\n WithAsChild<MenuGroupLabelProps>\n>(({ className, asChild, ...props }, ref) => {\n const { shouldFilter } = useDropdownContext();\n\n if (shouldFilter) {\n return null;\n }\n\n return (\n <MenuGroupLabel\n ref={ref}\n className={cx(styles.label, className)}\n render={asChild ? <Slot.Root /> : undefined}\n {...props}\n />\n );\n});\n\nexport const DropdownMenuSeparator = forwardRef<\n ElementRef<typeof MenuSeparator>,\n WithAsChild<MenuSeparatorProps>\n>(({ className, asChild, ...props }, ref) => {\n const { shouldFilter } = useDropdownContext();\n\n if (shouldFilter) {\n return null;\n }\n\n return (\n <MenuSeparator\n ref={ref}\n className={cx(styles.separator, className)}\n render={asChild ? <Slot.Root /> : <div />}\n {...props}\n />\n );\n});\n\nexport const DropdownMenuEmptyState = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLDivElement> & {\n children: ReactNode;\n }\n>(({ className, children, ...props }, ref) => (\n <div ref={ref} className={cx(styles.empty, className)} {...props}>\n {children}\n </div>\n));\n"],"names":["forwardRef","useDropdownContext","_jsx","MenuGroup","cx","styles","Fragment","Slot.Root","MenuGroupLabel","MenuSeparator"],"mappings":";;;;;;;;;;;;AAqBa,MAAA,iBAAiB,GAAGA,gBAAU,CAGzC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AAC1C,IAAA,MAAM,EAAE,YAAY,EAAE,GAAGC,mCAAkB,EAAE,CAAC;IAE9C,QACEC,iCAACC,mBAAS,EAAA,EACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAEC,QAAE,CAACC,2BAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAC1C,MAAM,EAAE,YAAY,GAAGH,gCAAC,CAAAI,cAAQ,KAAG,GAAG,OAAO,GAAGJ,gCAAC,CAAAK,YAAS,EAAA,EAAA,CAAG,GAAG,SAAS,EACrE,GAAA,KAAK,EACT,CAAA,EACF;AACJ,CAAC,EAAE;AAEU,MAAA,iBAAiB,GAAGP,gBAAU,CAGzC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AAC1C,IAAA,MAAM,EAAE,YAAY,EAAE,GAAGC,mCAAkB,EAAE,CAAC;IAE9C,IAAI,YAAY,EAAE;AAChB,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,QACEC,gCAAC,CAAAM,6BAAc,EACb,EAAA,GAAG,EAAE,GAAG,EACR,SAAS,EAAEJ,QAAE,CAACC,2BAAM,CAAC,KAAK,EAAE,SAAS,CAAC,EACtC,MAAM,EAAE,OAAO,GAAGH,gCAAA,CAACK,YAAS,EAAG,EAAA,CAAA,GAAG,SAAS,KACvC,KAAK,EAAA,CACT,EACF;AACJ,CAAC,EAAE;AAEU,MAAA,qBAAqB,GAAGP,gBAAU,CAG7C,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AAC1C,IAAA,MAAM,EAAE,YAAY,EAAE,GAAGC,mCAAkB,EAAE,CAAC;IAE9C,IAAI,YAAY,EAAE;AAChB,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,QACEC,gCAAC,CAAAO,2BAAa,EACZ,EAAA,GAAG,EAAE,GAAG,EACR,SAAS,EAAEL,QAAE,CAACC,2BAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAC1C,MAAM,EAAE,OAAO,GAAGH,gCAAA,CAACK,YAAS,EAAG,EAAA,CAAA,GAAGL,gCAAA,CAAA,KAAA,EAAA,EAAA,CAAO,KACrC,KAAK,EAAA,CACT,EACF;AACJ,CAAC,EAAE;AAEU,MAAA,sBAAsB,GAAGF,gBAAU,CAK9C,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACvCE,0CAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAEE,QAAE,CAACC,2BAAM,CAAC,KAAK,EAAE,SAAS,CAAC,KAAM,KAAK,EAAA,QAAA,EAC7D,QAAQ,EACL,CAAA,CACP;;;;;;;"}
|
|
@@ -24,7 +24,7 @@ const DropdownMenuSeparator = forwardRef(({ className, asChild, ...props }, ref)
|
|
|
24
24
|
if (shouldFilter) {
|
|
25
25
|
return null;
|
|
26
26
|
}
|
|
27
|
-
return (jsxRuntimeExports.jsx(MenuSeparator, { ref: ref, className: cx(styles.separator, className), render: asChild ? jsxRuntimeExports.jsx(Slot, {}) :
|
|
27
|
+
return (jsxRuntimeExports.jsx(MenuSeparator, { ref: ref, className: cx(styles.separator, className), render: asChild ? jsxRuntimeExports.jsx(Slot, {}) : jsxRuntimeExports.jsx("div", {}), ...props }));
|
|
28
28
|
});
|
|
29
29
|
const DropdownMenuEmptyState = forwardRef(({ className, children, ...props }, ref) => (jsxRuntimeExports.jsx("div", { ref: ref, className: cx(styles.empty, className), ...props, children: children })));
|
|
30
30
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-menu-misc.js","sources":["../../../components/dropdown-menu/dropdown-menu-misc.tsx"],"sourcesContent":["import {\n MenuGroup,\n MenuGroupLabel,\n MenuGroupLabelProps,\n MenuGroupProps,\n MenuSeparator,\n MenuSeparatorProps\n} from '@ariakit/react';\nimport { cx } from 'class-variance-authority';\nimport { Slot } from 'radix-ui';\nimport {\n ElementRef,\n Fragment,\n HTMLAttributes,\n ReactNode,\n forwardRef\n} from 'react';\nimport { useDropdownContext } from './dropdown-menu-root';\nimport styles from './dropdown-menu.module.css';\nimport { WithAsChild } from './types';\n\nexport const DropdownMenuGroup = forwardRef<\n ElementRef<typeof MenuGroup>,\n WithAsChild<MenuGroupProps>\n>(({ className, asChild, ...props }, ref) => {\n const { shouldFilter } = useDropdownContext();\n\n return (\n <MenuGroup\n ref={ref}\n className={cx(styles.menugroup, className)}\n render={shouldFilter ? <Fragment /> : asChild ? <Slot.Root /> : undefined}\n {...props}\n />\n );\n});\n\nexport const DropdownMenuLabel = forwardRef<\n ElementRef<typeof MenuGroupLabel>,\n WithAsChild<MenuGroupLabelProps>\n>(({ className, asChild, ...props }, ref) => {\n const { shouldFilter } = useDropdownContext();\n\n if (shouldFilter) {\n return null;\n }\n\n return (\n <MenuGroupLabel\n ref={ref}\n className={cx(styles.label, className)}\n render={asChild ? <Slot.Root /> : undefined}\n {...props}\n />\n );\n});\n\nexport const DropdownMenuSeparator = forwardRef<\n ElementRef<typeof MenuSeparator>,\n WithAsChild<MenuSeparatorProps>\n>(({ className, asChild, ...props }, ref) => {\n const { shouldFilter } = useDropdownContext();\n\n if (shouldFilter) {\n return null;\n }\n\n return (\n <MenuSeparator\n ref={ref}\n className={cx(styles.separator, className)}\n render={asChild ? <Slot.Root /> :
|
|
1
|
+
{"version":3,"file":"dropdown-menu-misc.js","sources":["../../../components/dropdown-menu/dropdown-menu-misc.tsx"],"sourcesContent":["import {\n MenuGroup,\n MenuGroupLabel,\n MenuGroupLabelProps,\n MenuGroupProps,\n MenuSeparator,\n MenuSeparatorProps\n} from '@ariakit/react';\nimport { cx } from 'class-variance-authority';\nimport { Slot } from 'radix-ui';\nimport {\n ElementRef,\n Fragment,\n HTMLAttributes,\n ReactNode,\n forwardRef\n} from 'react';\nimport { useDropdownContext } from './dropdown-menu-root';\nimport styles from './dropdown-menu.module.css';\nimport { WithAsChild } from './types';\n\nexport const DropdownMenuGroup = forwardRef<\n ElementRef<typeof MenuGroup>,\n WithAsChild<MenuGroupProps>\n>(({ className, asChild, ...props }, ref) => {\n const { shouldFilter } = useDropdownContext();\n\n return (\n <MenuGroup\n ref={ref}\n className={cx(styles.menugroup, className)}\n render={shouldFilter ? <Fragment /> : asChild ? <Slot.Root /> : undefined}\n {...props}\n />\n );\n});\n\nexport const DropdownMenuLabel = forwardRef<\n ElementRef<typeof MenuGroupLabel>,\n WithAsChild<MenuGroupLabelProps>\n>(({ className, asChild, ...props }, ref) => {\n const { shouldFilter } = useDropdownContext();\n\n if (shouldFilter) {\n return null;\n }\n\n return (\n <MenuGroupLabel\n ref={ref}\n className={cx(styles.label, className)}\n render={asChild ? <Slot.Root /> : undefined}\n {...props}\n />\n );\n});\n\nexport const DropdownMenuSeparator = forwardRef<\n ElementRef<typeof MenuSeparator>,\n WithAsChild<MenuSeparatorProps>\n>(({ className, asChild, ...props }, ref) => {\n const { shouldFilter } = useDropdownContext();\n\n if (shouldFilter) {\n return null;\n }\n\n return (\n <MenuSeparator\n ref={ref}\n className={cx(styles.separator, className)}\n render={asChild ? <Slot.Root /> : <div />}\n {...props}\n />\n );\n});\n\nexport const DropdownMenuEmptyState = forwardRef<\n HTMLDivElement,\n HTMLAttributes<HTMLDivElement> & {\n children: ReactNode;\n }\n>(({ className, children, ...props }, ref) => (\n <div ref={ref} className={cx(styles.empty, className)} {...props}>\n {children}\n </div>\n));\n"],"names":["_jsx","Slot.Root"],"mappings":";;;;;;;;;;AAqBa,MAAA,iBAAiB,GAAG,UAAU,CAGzC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AAC1C,IAAA,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAE9C,QACEA,sBAAC,SAAS,EAAA,EACR,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAC1C,MAAM,EAAE,YAAY,GAAGA,qBAAC,CAAA,QAAQ,KAAG,GAAG,OAAO,GAAGA,qBAAC,CAAAC,IAAS,EAAA,EAAA,CAAG,GAAG,SAAS,EACrE,GAAA,KAAK,EACT,CAAA,EACF;AACJ,CAAC,EAAE;AAEU,MAAA,iBAAiB,GAAG,UAAU,CAGzC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AAC1C,IAAA,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAE9C,IAAI,YAAY,EAAE;AAChB,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,QACED,qBAAC,CAAA,cAAc,EACb,EAAA,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,EACtC,MAAM,EAAE,OAAO,GAAGA,qBAAA,CAACC,IAAS,EAAG,EAAA,CAAA,GAAG,SAAS,KACvC,KAAK,EAAA,CACT,EACF;AACJ,CAAC,EAAE;AAEU,MAAA,qBAAqB,GAAG,UAAU,CAG7C,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,KAAI;AAC1C,IAAA,MAAM,EAAE,YAAY,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAE9C,IAAI,YAAY,EAAE;AAChB,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,QACED,qBAAC,CAAA,aAAa,EACZ,EAAA,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAC1C,MAAM,EAAE,OAAO,GAAGA,qBAAA,CAACC,IAAS,EAAG,EAAA,CAAA,GAAGD,qBAAA,CAAA,KAAA,EAAA,EAAA,CAAO,KACrC,KAAK,EAAA,CACT,EACF;AACJ,CAAC,EAAE;AAEU,MAAA,sBAAsB,GAAG,UAAU,CAK9C,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,MACvCA,+BAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,KAAM,KAAK,EAAA,QAAA,EAC7D,QAAQ,EACL,CAAA,CACP;;;;"}
|
|
@@ -15,35 +15,35 @@ const useDropdownContext = () => {
|
|
|
15
15
|
if (!context)
|
|
16
16
|
return {};
|
|
17
17
|
const shouldFilter = !!(context?.autocomplete &&
|
|
18
|
-
context?.autocompleteMode ===
|
|
18
|
+
context?.autocompleteMode === 'auto' &&
|
|
19
19
|
context?.searchValue?.length);
|
|
20
20
|
const shouldFilterParent = !!(context?.parent?.autocomplete &&
|
|
21
|
-
context?.parent?.autocompleteMode ===
|
|
21
|
+
context?.parent?.autocompleteMode === 'auto' &&
|
|
22
22
|
context?.parent?.searchValue?.length);
|
|
23
23
|
return {
|
|
24
24
|
...context,
|
|
25
25
|
shouldFilter,
|
|
26
26
|
parent: context?.parent && {
|
|
27
27
|
...context.parent,
|
|
28
|
-
shouldFilter: shouldFilterParent
|
|
29
|
-
}
|
|
28
|
+
shouldFilter: shouldFilterParent
|
|
29
|
+
}
|
|
30
30
|
};
|
|
31
31
|
};
|
|
32
|
-
const DropdownMenuRoot = ({ autocomplete, autocompleteMode =
|
|
32
|
+
const DropdownMenuRoot = ({ autocomplete, autocompleteMode = 'auto', searchValue: providedSearchValue, onSearch, focusLoop = true, defaultSearchValue = '', onOpenChange, ...props }) => {
|
|
33
33
|
const [internalSearchValue, setInternalSearchValue] = React.useState(defaultSearchValue);
|
|
34
34
|
const dropdownContext = useDropdownContext();
|
|
35
35
|
const searchValue = providedSearchValue ?? internalSearchValue;
|
|
36
|
-
const setValue = (value) => {
|
|
36
|
+
const setValue = React.useCallback((value) => {
|
|
37
37
|
setInternalSearchValue(value);
|
|
38
38
|
onSearch?.(value);
|
|
39
|
-
};
|
|
40
|
-
const element = jsxRuntime.jsxRuntimeExports.jsx(menuProvider.MenuProvider, { focusLoop: focusLoop, ...props });
|
|
39
|
+
}, [onSearch]);
|
|
40
|
+
const element = (jsxRuntime.jsxRuntimeExports.jsx(menuProvider.MenuProvider, { focusLoop: focusLoop, setOpen: onOpenChange, ...props }));
|
|
41
41
|
return (jsxRuntime.jsxRuntimeExports.jsx(DropdownContext.Provider, { value: {
|
|
42
42
|
autocomplete,
|
|
43
43
|
parent: dropdownContext,
|
|
44
44
|
autocompleteMode,
|
|
45
|
-
searchValue
|
|
46
|
-
}, children: autocomplete ? (jsxRuntime.jsxRuntimeExports.jsx(comboboxProvider.ComboboxProvider, { resetValueOnHide: true, focusLoop: focusLoop, includesBaseElement: false, value: searchValue, setValue: setValue, children: element })) : (element) }));
|
|
45
|
+
searchValue
|
|
46
|
+
}, children: autocomplete ? (jsxRuntime.jsxRuntimeExports.jsx(comboboxProvider.ComboboxProvider, { resetValueOnHide: true, focusLoop: focusLoop, includesBaseElement: false, value: searchValue, setOpen: onOpenChange, setValue: setValue, children: element })) : (element) }));
|
|
47
47
|
};
|
|
48
48
|
|
|
49
49
|
exports.DropdownContext = DropdownContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-menu-root.cjs","sources":["../../../components/dropdown-menu/dropdown-menu-root.tsx"],"sourcesContent":["import {\n ComboboxProvider,\n MenuProvider,\n MenuProviderProps
|
|
1
|
+
{"version":3,"file":"dropdown-menu-root.cjs","sources":["../../../components/dropdown-menu/dropdown-menu-root.tsx"],"sourcesContent":["import {\n ComboboxProvider,\n MenuProvider,\n MenuProviderProps\n} from '@ariakit/react';\nimport { createContext, useCallback, useContext, useState } from 'react';\n\ninterface CommonProps {\n autocomplete?: boolean;\n autocompleteMode?: 'auto' | 'manual';\n searchValue?: string;\n}\n\ninterface DropdownContextValue extends CommonProps {\n parent?: CommonProps;\n}\n\ninterface UseDropdownContext extends DropdownContextValue {\n shouldFilter?: boolean;\n parent?: CommonProps & {\n shouldFilter?: boolean;\n };\n}\n\n/**\n Root context to manage the Dropdown control\n @remarks Only for internal usage.\n */\n\nexport const DropdownContext = createContext<DropdownContextValue | undefined>(\n undefined\n);\n\nexport const useDropdownContext = (): UseDropdownContext => {\n const context = useContext(DropdownContext);\n if (!context) return {};\n\n const shouldFilter = !!(\n context?.autocomplete &&\n context?.autocompleteMode === 'auto' &&\n context?.searchValue?.length\n );\n\n const shouldFilterParent = !!(\n context?.parent?.autocomplete &&\n context?.parent?.autocompleteMode === 'auto' &&\n context?.parent?.searchValue?.length\n );\n\n return {\n ...context,\n shouldFilter,\n parent: context?.parent && {\n ...context.parent,\n shouldFilter: shouldFilterParent\n }\n };\n};\n\nexport interface BaseMenuProviderProps\n extends Omit<MenuProviderProps, 'setOpen'> {\n onOpenChange?: MenuProviderProps['setOpen'];\n}\n\nexport interface NormalDropdownMenuRootProps extends BaseMenuProviderProps {\n autocomplete?: false;\n autocompleteMode?: never;\n searchValue?: never;\n onSearch?: never;\n defaultSearchValue?: never;\n}\n\nexport interface AutocompleteDropdownMenuRootProps\n extends BaseMenuProviderProps,\n CommonProps {\n autocomplete: true;\n onSearch?: (value: string) => void;\n defaultSearchValue?: string;\n}\n\nexport type DropdownMenuRootProps =\n | NormalDropdownMenuRootProps\n | AutocompleteDropdownMenuRootProps;\n\nexport const DropdownMenuRoot = ({\n autocomplete,\n autocompleteMode = 'auto',\n searchValue: providedSearchValue,\n onSearch,\n focusLoop = true,\n defaultSearchValue = '',\n onOpenChange,\n ...props\n}: DropdownMenuRootProps) => {\n const [internalSearchValue, setInternalSearchValue] =\n useState(defaultSearchValue);\n const dropdownContext = useDropdownContext();\n\n const searchValue = providedSearchValue ?? internalSearchValue;\n\n const setValue = useCallback(\n (value: string) => {\n setInternalSearchValue(value);\n onSearch?.(value);\n },\n [onSearch]\n );\n\n const element = (\n <MenuProvider focusLoop={focusLoop} setOpen={onOpenChange} {...props} />\n );\n\n return (\n <DropdownContext.Provider\n value={{\n autocomplete,\n parent: dropdownContext,\n autocompleteMode,\n searchValue\n }}\n >\n {autocomplete ? (\n <ComboboxProvider\n resetValueOnHide\n focusLoop={focusLoop}\n includesBaseElement={false}\n value={searchValue}\n setOpen={onOpenChange}\n setValue={setValue}\n >\n {element}\n </ComboboxProvider>\n ) : (\n element\n )}\n </DropdownContext.Provider>\n );\n};\n"],"names":["createContext","useContext","useState","useCallback","_jsx","MenuProvider","ComboboxProvider"],"mappings":";;;;;;;AAwBA;;;AAGG;MAEU,eAAe,GAAGA,mBAAa,CAC1C,SAAS,EACT;AAEK,MAAM,kBAAkB,GAAG,MAAyB;AACzD,IAAA,MAAM,OAAO,GAAGC,gBAAU,CAAC,eAAe,CAAC,CAAC;AAC5C,IAAA,IAAI,CAAC,OAAO;AAAE,QAAA,OAAO,EAAE,CAAC;AAExB,IAAA,MAAM,YAAY,GAAG,CAAC,EACpB,OAAO,EAAE,YAAY;QACrB,OAAO,EAAE,gBAAgB,KAAK,MAAM;AACpC,QAAA,OAAO,EAAE,WAAW,EAAE,MAAM,CAC7B,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,EAC1B,OAAO,EAAE,MAAM,EAAE,YAAY;AAC7B,QAAA,OAAO,EAAE,MAAM,EAAE,gBAAgB,KAAK,MAAM;AAC5C,QAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CACrC,CAAC;IAEF,OAAO;AACL,QAAA,GAAG,OAAO;QACV,YAAY;AACZ,QAAA,MAAM,EAAE,OAAO,EAAE,MAAM,IAAI;YACzB,GAAG,OAAO,CAAC,MAAM;AACjB,YAAA,YAAY,EAAE,kBAAkB;AACjC,SAAA;KACF,CAAC;AACJ,EAAE;AA2BK,MAAM,gBAAgB,GAAG,CAAC,EAC/B,YAAY,EACZ,gBAAgB,GAAG,MAAM,EACzB,WAAW,EAAE,mBAAmB,EAChC,QAAQ,EACR,SAAS,GAAG,IAAI,EAChB,kBAAkB,GAAG,EAAE,EACvB,YAAY,EACZ,GAAG,KAAK,EACc,KAAI;IAC1B,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GACjDC,cAAQ,CAAC,kBAAkB,CAAC,CAAC;AAC/B,IAAA,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;AAE7C,IAAA,MAAM,WAAW,GAAG,mBAAmB,IAAI,mBAAmB,CAAC;AAE/D,IAAA,MAAM,QAAQ,GAAGC,iBAAW,CAC1B,CAAC,KAAa,KAAI;QAChB,sBAAsB,CAAC,KAAK,CAAC,CAAC;AAC9B,QAAA,QAAQ,GAAG,KAAK,CAAC,CAAC;AACpB,KAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;AAEF,IAAA,MAAM,OAAO,IACXC,gCAAC,CAAAC,yBAAY,IAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,KAAM,KAAK,EAAA,CAAI,CACzE,CAAC;AAEF,IAAA,QACED,gCAAC,CAAA,eAAe,CAAC,QAAQ,EAAA,EACvB,KAAK,EAAE;YACL,YAAY;AACZ,YAAA,MAAM,EAAE,eAAe;YACvB,gBAAgB;YAChB,WAAW;AACZ,SAAA,EAAA,QAAA,EAEA,YAAY,IACXA,gCAAA,CAACE,iCAAgB,EACf,EAAA,gBAAgB,EAChB,IAAA,EAAA,SAAS,EAAE,SAAS,EACpB,mBAAmB,EAAE,KAAK,EAC1B,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,QAAQ,EAEjB,QAAA,EAAA,OAAO,GACS,KAEnB,OAAO,CACR,EAAA,CACwB,EAC3B;AACJ;;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { MenuProviderProps } from
|
|
1
|
+
import { MenuProviderProps } from '@ariakit/react';
|
|
2
2
|
interface CommonProps {
|
|
3
3
|
autocomplete?: boolean;
|
|
4
|
-
autocompleteMode?:
|
|
4
|
+
autocompleteMode?: 'auto' | 'manual';
|
|
5
5
|
searchValue?: string;
|
|
6
6
|
}
|
|
7
7
|
interface DropdownContextValue extends CommonProps {
|
|
@@ -19,19 +19,22 @@ interface UseDropdownContext extends DropdownContextValue {
|
|
|
19
19
|
*/
|
|
20
20
|
export declare const DropdownContext: import("react").Context<DropdownContextValue | undefined>;
|
|
21
21
|
export declare const useDropdownContext: () => UseDropdownContext;
|
|
22
|
-
export interface
|
|
22
|
+
export interface BaseMenuProviderProps extends Omit<MenuProviderProps, 'setOpen'> {
|
|
23
|
+
onOpenChange?: MenuProviderProps['setOpen'];
|
|
24
|
+
}
|
|
25
|
+
export interface NormalDropdownMenuRootProps extends BaseMenuProviderProps {
|
|
23
26
|
autocomplete?: false;
|
|
24
27
|
autocompleteMode?: never;
|
|
25
28
|
searchValue?: never;
|
|
26
29
|
onSearch?: never;
|
|
27
30
|
defaultSearchValue?: never;
|
|
28
31
|
}
|
|
29
|
-
export interface AutocompleteDropdownMenuRootProps extends
|
|
32
|
+
export interface AutocompleteDropdownMenuRootProps extends BaseMenuProviderProps, CommonProps {
|
|
30
33
|
autocomplete: true;
|
|
31
34
|
onSearch?: (value: string) => void;
|
|
32
35
|
defaultSearchValue?: string;
|
|
33
36
|
}
|
|
34
37
|
export type DropdownMenuRootProps = NormalDropdownMenuRootProps | AutocompleteDropdownMenuRootProps;
|
|
35
|
-
export declare const DropdownMenuRoot: ({ autocomplete, autocompleteMode, searchValue: providedSearchValue, onSearch, focusLoop, defaultSearchValue, ...props }: DropdownMenuRootProps) => import("react/jsx-runtime").JSX.Element;
|
|
38
|
+
export declare const DropdownMenuRoot: ({ autocomplete, autocompleteMode, searchValue: providedSearchValue, onSearch, focusLoop, defaultSearchValue, onOpenChange, ...props }: DropdownMenuRootProps) => import("react/jsx-runtime").JSX.Element;
|
|
36
39
|
export {};
|
|
37
40
|
//# sourceMappingURL=dropdown-menu-root.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-menu-root.d.ts","sourceRoot":"","sources":["../../../components/dropdown-menu/dropdown-menu-root.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAGxB,UAAU,WAAW;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,oBAAqB,SAAQ,WAAW;IAChD,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,UAAU,kBAAmB,SAAQ,oBAAoB;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,GAAG;QACrB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH;AAED;;;GAGG;AAEH,eAAO,MAAM,eAAe,2DAE3B,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAO,kBAwBrC,CAAC;AAEF,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"dropdown-menu-root.d.ts","sourceRoot":"","sources":["../../../components/dropdown-menu/dropdown-menu-root.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAGxB,UAAU,WAAW;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,oBAAqB,SAAQ,WAAW;IAChD,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,UAAU,kBAAmB,SAAQ,oBAAoB;IACvD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,WAAW,GAAG;QACrB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH;AAED;;;GAGG;AAEH,eAAO,MAAM,eAAe,2DAE3B,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAO,kBAwBrC,CAAC;AAEF,MAAM,WAAW,qBACf,SAAQ,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC;IAC1C,YAAY,CAAC,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,2BAA4B,SAAQ,qBAAqB;IACxE,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,gBAAgB,CAAC,EAAE,KAAK,CAAC;IACzB,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,kBAAkB,CAAC,EAAE,KAAK,CAAC;CAC5B;AAED,MAAM,WAAW,iCACf,SAAQ,qBAAqB,EAC3B,WAAW;IACb,YAAY,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,qBAAqB,GAC7B,2BAA2B,GAC3B,iCAAiC,CAAC;AAEtC,eAAO,MAAM,gBAAgB,0IAS1B,qBAAqB,4CA4CvB,CAAC"}
|