asterui 0.12.58 → 0.12.59
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/Autocomplete.js +1 -1
- package/dist/components/Autocomplete.js.map +1 -1
- package/dist/components/Button.js +1 -1
- package/dist/components/Button.js.map +1 -1
- package/dist/components/Checkbox.js +1 -1
- package/dist/components/Checkbox.js.map +1 -1
- package/dist/components/ColorPicker.js +1 -1
- package/dist/components/ColorPicker.js.map +1 -1
- package/dist/components/CopyButton.js +1 -1
- package/dist/components/CopyButton.js.map +1 -1
- package/dist/components/Countdown.js +1 -1
- package/dist/components/Countdown.js.map +1 -1
- package/dist/components/DatePicker.js +1 -1
- package/dist/components/DatePicker.js.map +1 -1
- package/dist/components/Dock.js +1 -1
- package/dist/components/Dock.js.map +1 -1
- package/dist/components/Empty.js +1 -1
- package/dist/components/Empty.js.map +1 -1
- package/dist/components/FileInput.js +1 -1
- package/dist/components/FileInput.js.map +1 -1
- package/dist/components/Filter.js +1 -1
- package/dist/components/Filter.js.map +1 -1
- package/dist/components/Form.js +1 -1
- package/dist/components/Form.js.map +1 -1
- package/dist/components/Input.js +1 -1
- package/dist/components/Input.js.map +1 -1
- package/dist/components/InputNumber.js +1 -1
- package/dist/components/InputNumber.js.map +1 -1
- package/dist/components/List.js +1 -1
- package/dist/components/List.js.map +1 -1
- package/dist/components/Loading.js +1 -1
- package/dist/components/Loading.js.map +1 -1
- package/dist/components/Modal.js +1 -1
- package/dist/components/Modal.js.map +1 -1
- package/dist/components/OTPInput.js +1 -1
- package/dist/components/OTPInput.js.map +1 -1
- package/dist/components/Pagination.js +1 -1
- package/dist/components/Pagination.js.map +1 -1
- package/dist/components/Popconfirm.js +1 -1
- package/dist/components/Popconfirm.js.map +1 -1
- package/dist/components/Radio.js +1 -1
- package/dist/components/Radio.js.map +1 -1
- package/dist/components/Range.js +1 -1
- package/dist/components/Range.js.map +1 -1
- package/dist/components/Rating.js +1 -1
- package/dist/components/Rating.js.map +1 -1
- package/dist/components/RichTextEditor.js +1 -1
- package/dist/components/RichTextEditor.js.map +1 -1
- package/dist/components/Segmented.js +1 -1
- package/dist/components/Segmented.js.map +1 -1
- package/dist/components/Select.js +1 -1
- package/dist/components/Select.js.map +1 -1
- package/dist/components/Table.d.ts +19 -0
- package/dist/components/Table.js +348 -310
- package/dist/components/Table.js.map +1 -1
- package/dist/components/Tabs.js +1 -1
- package/dist/components/Tabs.js.map +1 -1
- package/dist/components/Textarea.js +1 -1
- package/dist/components/Textarea.js.map +1 -1
- package/dist/components/ThemeController.js +1 -1
- package/dist/components/ThemeController.js.map +1 -1
- package/dist/components/TimePicker.js +1 -1
- package/dist/components/TimePicker.js.map +1 -1
- package/dist/components/Toggle.js +1 -1
- package/dist/components/Toggle.js.map +1 -1
- package/dist/hooks/useTheme.d.ts +1 -1
- package/dist/hooks/useTheme.js +1 -1
- package/dist/hooks/useTheme.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +2 -2
- package/dist/providers/ConfigProvider.js.map +1 -0
- package/dist/providers/ThemeProvider.js.map +1 -0
- package/package.json +1 -1
- package/dist/components/ConfigProvider.js.map +0 -1
- package/dist/components/ThemeProvider.js.map +0 -1
- /package/dist/{components → providers}/ConfigProvider.d.ts +0 -0
- /package/dist/{components → providers}/ConfigProvider.js +0 -0
- /package/dist/{components → providers}/ThemeProvider.d.ts +0 -0
- /package/dist/{components → providers}/ThemeProvider.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sources":["../../src/components/Select.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react'\nimport { useConfig } from '
|
|
1
|
+
{"version":3,"file":"Select.js","sources":["../../src/components/Select.tsx"],"sourcesContent":["import React, { forwardRef, useRef } from 'react'\nimport { useConfig } from '../providers/ConfigProvider'\n\n// DaisyUI classes\nconst dSelect = 'select'\nconst dSelectBordered = 'select-bordered'\nconst dSelectGhost = 'select-ghost'\nconst dSelectXs = 'select-xs'\nconst dSelectSm = 'select-sm'\nconst dSelectMd = 'select-md'\nconst dSelectLg = 'select-lg'\nconst dSelectXl = 'select-xl'\nconst dSelectNeutral = 'select-neutral'\nconst dSelectPrimary = 'select-primary'\nconst dSelectSecondary = 'select-secondary'\nconst dSelectAccent = 'select-accent'\nconst dSelectInfo = 'select-info'\nconst dSelectSuccess = 'select-success'\nconst dSelectWarning = 'select-warning'\nconst dSelectError = 'select-error'\nconst dFloatingLabel = 'floating-label'\n\nexport interface SelectProps extends Omit<React.SelectHTMLAttributes<HTMLSelectElement>, 'size'> {\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n color?: 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error'\n /** Validation status */\n status?: 'error' | 'warning'\n ghost?: boolean\n bordered?: boolean\n /** Floating label text (uses DaisyUI floating-label) */\n floatingLabel?: string\n /** Text/element before select (outside, using DaisyUI label) */\n addonBefore?: React.ReactNode\n /** Text/element after select (outside, using DaisyUI label) */\n addonAfter?: React.ReactNode\n className?: string\n children?: React.ReactNode\n}\n\nexport const Select = forwardRef<HTMLSelectElement, SelectProps>(\n (\n {\n size,\n color,\n status,\n ghost = false,\n bordered = true,\n floatingLabel,\n addonBefore,\n addonAfter,\n className = '',\n children,\n ...props\n },\n ref\n ) => {\n const { componentSize } = useConfig()\n const effectiveSize = size ?? componentSize ?? 'md'\n\n const innerRef = useRef<HTMLSelectElement>(null)\n const selectRef = (ref as React.RefObject<HTMLSelectElement>) || innerRef\n\n const sizeClasses = {\n xs: dSelectXs,\n sm: dSelectSm,\n md: dSelectMd,\n lg: dSelectLg,\n xl: dSelectXl,\n }\n\n const colorClasses = {\n neutral: dSelectNeutral,\n primary: dSelectPrimary,\n secondary: dSelectSecondary,\n accent: dSelectAccent,\n info: dSelectInfo,\n success: dSelectSuccess,\n warning: dSelectWarning,\n error: dSelectError,\n }\n\n const statusClasses = {\n error: dSelectError,\n warning: dSelectWarning,\n }\n\n // Status takes precedence over color for validation feedback\n const effectiveColorClass = status ? statusClasses[status] : (color ? colorClasses[color] : '')\n\n // When wrapped with external addons, the wrapper has the styling\n const hasExternalAddons = addonBefore || addonAfter\n\n const selectClasses = hasExternalAddons\n ? ['grow', 'bg-transparent', 'border-0', 'outline-none', 'focus:outline-none', className].filter(Boolean).join(' ')\n : [\n dSelect,\n 'w-full',\n bordered && dSelectBordered,\n ghost && dSelectGhost,\n effectiveSize && sizeClasses[effectiveSize],\n effectiveColorClass,\n className,\n ].filter(Boolean).join(' ')\n\n // Build the core select element\n const selectElement = (\n <select ref={selectRef} className={selectClasses} {...props}>\n {children}\n </select>\n )\n\n // Wrap with floating label if specified\n if (floatingLabel) {\n const floatingClasses = [\n dFloatingLabel,\n effectiveSize && sizeClasses[effectiveSize],\n ].filter(Boolean).join(' ')\n\n return (\n <label className={floatingClasses}>\n <select ref={selectRef} className={`${dSelect} ${dSelectBordered} w-full`} {...props}>\n {children}\n </select>\n <span>{floatingLabel}</span>\n </label>\n )\n }\n\n // Wrap with external addons if specified\n if (hasExternalAddons) {\n const addonClasses = [\n dSelect,\n dSelectBordered,\n 'flex',\n 'items-center',\n 'gap-2',\n effectiveSize && sizeClasses[effectiveSize],\n effectiveColorClass,\n ].filter(Boolean).join(' ')\n\n return (\n <label className={addonClasses}>\n {addonBefore && <span className=\"text-base-content/70\">{addonBefore}</span>}\n {selectElement}\n {addonAfter && <span className=\"text-base-content/70\">{addonAfter}</span>}\n </label>\n )\n }\n\n return selectElement\n }\n)\n\nSelect.displayName = 'Select'\n"],"names":["dSelect","dSelectBordered","dSelectGhost","dSelectXs","dSelectSm","dSelectMd","dSelectLg","dSelectXl","dSelectNeutral","dSelectPrimary","dSelectSecondary","dSelectAccent","dSelectInfo","dSelectSuccess","dSelectWarning","dSelectError","dFloatingLabel","Select","forwardRef","size","color","status","ghost","bordered","floatingLabel","addonBefore","addonAfter","className","children","props","ref","componentSize","useConfig","effectiveSize","innerRef","useRef","selectRef","sizeClasses","effectiveColorClass","hasExternalAddons","selectClasses","selectElement","floatingClasses","jsxs","jsx","addonClasses"],"mappings":"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"}
|
|
@@ -21,19 +21,28 @@ export interface ColumnType<T> {
|
|
|
21
21
|
defaultFilteredValue?: (string | number | boolean)[];
|
|
22
22
|
ellipsis?: boolean;
|
|
23
23
|
hidden?: boolean;
|
|
24
|
+
className?: string;
|
|
25
|
+
onCell?: (record: T, index: number) => React.TdHTMLAttributes<HTMLTableCellElement>;
|
|
26
|
+
onHeaderCell?: (column: ColumnType<T>) => React.ThHTMLAttributes<HTMLTableCellElement>;
|
|
24
27
|
}
|
|
25
28
|
export interface RowSelection<T> {
|
|
26
29
|
type?: 'checkbox' | 'radio';
|
|
27
30
|
selectedRowKeys?: React.Key[];
|
|
28
31
|
onChange?: (selectedRowKeys: React.Key[], selectedRows: T[]) => void;
|
|
32
|
+
onSelect?: (record: T, selected: boolean, selectedRows: T[], nativeEvent: Event) => void;
|
|
29
33
|
getCheckboxProps?: (record: T) => {
|
|
30
34
|
disabled?: boolean;
|
|
31
35
|
name?: string;
|
|
32
36
|
};
|
|
37
|
+
columnTitle?: React.ReactNode;
|
|
38
|
+
columnWidth?: string | number;
|
|
39
|
+
fixed?: boolean;
|
|
40
|
+
hideSelectAll?: boolean;
|
|
33
41
|
}
|
|
34
42
|
export interface ExpandableConfig<T> {
|
|
35
43
|
expandedRowKeys?: React.Key[];
|
|
36
44
|
defaultExpandedRowKeys?: React.Key[];
|
|
45
|
+
defaultExpandAllRows?: boolean;
|
|
37
46
|
expandedRowRender: (record: T, index: number, expanded: boolean) => React.ReactNode;
|
|
38
47
|
rowExpandable?: (record: T) => boolean;
|
|
39
48
|
onExpand?: (expanded: boolean, record: T) => void;
|
|
@@ -44,6 +53,10 @@ export interface ExpandableConfig<T> {
|
|
|
44
53
|
onExpand: () => void;
|
|
45
54
|
record: T;
|
|
46
55
|
}) => React.ReactNode;
|
|
56
|
+
columnTitle?: React.ReactNode;
|
|
57
|
+
columnWidth?: string | number;
|
|
58
|
+
expandedRowClassName?: string | ((record: T, index: number, expanded: boolean) => string);
|
|
59
|
+
showExpandColumn?: boolean;
|
|
47
60
|
}
|
|
48
61
|
export interface PaginationConfig {
|
|
49
62
|
current?: number;
|
|
@@ -86,7 +99,10 @@ export interface TableProps<T> {
|
|
|
86
99
|
expandable?: ExpandableConfig<T>;
|
|
87
100
|
scroll?: ScrollConfig;
|
|
88
101
|
className?: string;
|
|
102
|
+
showHeader?: boolean;
|
|
103
|
+
rowClassName?: string | ((record: T, index: number) => string);
|
|
89
104
|
onRow?: (record: T, index: number) => React.HTMLAttributes<HTMLTableRowElement>;
|
|
105
|
+
onHeaderRow?: (columns: ColumnType<T>[]) => React.HTMLAttributes<HTMLTableRowElement>;
|
|
90
106
|
onChange?: (pagination: PaginationConfig, filters: Record<string, (string | number | boolean)[] | null>, sorter: SorterResult<T>, extra: TableChangeExtra<T>) => void;
|
|
91
107
|
onSortChange?: (sorter: SorterResult<T>) => void;
|
|
92
108
|
onFilterChange?: (filters: Record<string, (string | number | boolean)[] | null>) => void;
|
|
@@ -97,6 +113,9 @@ export interface TableProps<T> {
|
|
|
97
113
|
selectAll?: string;
|
|
98
114
|
selectInvert?: string;
|
|
99
115
|
};
|
|
116
|
+
title?: (currentPageData: T[]) => React.ReactNode;
|
|
117
|
+
footer?: (currentPageData: T[]) => React.ReactNode;
|
|
118
|
+
summary?: (currentPageData: T[]) => React.ReactNode;
|
|
100
119
|
'data-testid'?: string;
|
|
101
120
|
'aria-label'?: string;
|
|
102
121
|
}
|