@mihcm/ui 0.14.1 → 0.15.0
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/CheckboxGrid.native.d.ts.map +1 -1
- package/dist/CheckboxGrid.native.js +2 -1
- package/dist/CheckboxGrid.native.js.map +1 -1
- package/dist/Combobox.native.d.ts.map +1 -1
- package/dist/Combobox.native.js +2 -1
- package/dist/Combobox.native.js.map +1 -1
- package/dist/DataTable/column-filter.d.ts +8 -0
- package/dist/DataTable/column-filter.d.ts.map +1 -0
- package/dist/DataTable/column-filter.js +67 -0
- package/dist/DataTable/column-filter.js.map +1 -0
- package/dist/DataTable/column-header.d.ts +16 -0
- package/dist/DataTable/column-header.d.ts.map +1 -0
- package/dist/DataTable/column-header.js +11 -0
- package/dist/DataTable/column-header.js.map +1 -0
- package/dist/DataTable/column-visibility.d.ts +7 -0
- package/dist/DataTable/column-visibility.d.ts.map +1 -0
- package/dist/DataTable/column-visibility.js +35 -0
- package/dist/DataTable/column-visibility.js.map +1 -0
- package/dist/DataTable/index.d.ts +5 -0
- package/dist/DataTable/index.d.ts.map +1 -0
- package/dist/DataTable/index.js +5 -0
- package/dist/DataTable/index.js.map +1 -0
- package/dist/DataTable/pinning.d.ts +13 -0
- package/dist/DataTable/pinning.d.ts.map +1 -0
- package/dist/DataTable/pinning.js +29 -0
- package/dist/DataTable/pinning.js.map +1 -0
- package/dist/DataTable.d.ts +3 -7
- package/dist/DataTable.d.ts.map +1 -1
- package/dist/DataTable.js +7 -126
- package/dist/DataTable.js.map +1 -1
- package/dist/Dialog.native.d.ts +3 -1
- package/dist/Dialog.native.d.ts.map +1 -1
- package/dist/Dialog.native.js +2 -2
- package/dist/Dialog.native.js.map +1 -1
- package/dist/Form/building-blocks.d.ts +26 -0
- package/dist/Form/building-blocks.d.ts.map +1 -0
- package/dist/Form/building-blocks.js +29 -0
- package/dist/Form/building-blocks.js.map +1 -0
- package/dist/Form/fields-choice.d.ts +72 -0
- package/dist/Form/fields-choice.d.ts.map +1 -0
- package/dist/Form/fields-choice.js +69 -0
- package/dist/Form/fields-choice.js.map +1 -0
- package/dist/Form/fields-complex.d.ts +28 -0
- package/dist/Form/fields-complex.d.ts.map +1 -0
- package/dist/Form/fields-complex.js +38 -0
- package/dist/Form/fields-complex.js.map +1 -0
- package/dist/Form/fields-date.d.ts +46 -0
- package/dist/Form/fields-date.d.ts.map +1 -0
- package/dist/Form/fields-date.js +41 -0
- package/dist/Form/fields-date.js.map +1 -0
- package/dist/Form/fields-text.d.ts +47 -0
- package/dist/Form/fields-text.d.ts.map +1 -0
- package/dist/Form/fields-text.js +46 -0
- package/dist/Form/fields-text.js.map +1 -0
- package/dist/Form/fields-toggle.d.ts +24 -0
- package/dist/Form/fields-toggle.d.ts.map +1 -0
- package/dist/Form/fields-toggle.js +32 -0
- package/dist/Form/fields-toggle.js.map +1 -0
- package/dist/Form/helpers.d.ts +66 -0
- package/dist/Form/helpers.d.ts.map +1 -0
- package/dist/Form/helpers.js +44 -0
- package/dist/Form/helpers.js.map +1 -0
- package/dist/Form/types.d.ts +25 -0
- package/dist/Form/types.d.ts.map +1 -0
- package/dist/Form/types.js +8 -0
- package/dist/Form/types.js.map +1 -0
- package/dist/Form.d.ts +24 -298
- package/dist/Form.d.ts.map +1 -1
- package/dist/Form.js +30 -246
- package/dist/Form.js.map +1 -1
- package/dist/IconSidebar.d.ts +6 -46
- package/dist/IconSidebar.d.ts.map +1 -1
- package/dist/IconSidebar.js +6 -116
- package/dist/IconSidebar.js.map +1 -1
- package/dist/MainSidebar/back-button.d.ts +14 -0
- package/dist/MainSidebar/back-button.d.ts.map +1 -0
- package/dist/MainSidebar/back-button.js +14 -0
- package/dist/MainSidebar/back-button.js.map +1 -0
- package/dist/MainSidebar/breadcrumb.d.ts +10 -0
- package/dist/MainSidebar/breadcrumb.d.ts.map +1 -0
- package/dist/MainSidebar/breadcrumb.js +24 -0
- package/dist/MainSidebar/breadcrumb.js.map +1 -0
- package/dist/MainSidebar/columns.d.ts +3 -0
- package/dist/MainSidebar/columns.d.ts.map +1 -0
- package/dist/MainSidebar/columns.js +198 -0
- package/dist/MainSidebar/columns.js.map +1 -0
- package/dist/MainSidebar/command.d.ts +3 -0
- package/dist/MainSidebar/command.d.ts.map +1 -0
- package/dist/MainSidebar/command.js +193 -0
- package/dist/MainSidebar/command.js.map +1 -0
- package/dist/MainSidebar/drilldown.d.ts +3 -0
- package/dist/MainSidebar/drilldown.d.ts.map +1 -0
- package/dist/MainSidebar/drilldown.js +154 -0
- package/dist/MainSidebar/drilldown.js.map +1 -0
- package/dist/MainSidebar/expanded.d.ts +7 -0
- package/dist/MainSidebar/expanded.d.ts.map +1 -0
- package/dist/MainSidebar/expanded.js +102 -0
- package/dist/MainSidebar/expanded.js.map +1 -0
- package/dist/MainSidebar/floating.d.ts +3 -0
- package/dist/MainSidebar/floating.d.ts.map +1 -0
- package/dist/MainSidebar/floating.js +116 -0
- package/dist/MainSidebar/floating.js.map +1 -0
- package/dist/MainSidebar/helpers.d.ts +50 -0
- package/dist/MainSidebar/helpers.d.ts.map +1 -0
- package/dist/MainSidebar/helpers.js +148 -0
- package/dist/MainSidebar/helpers.js.map +1 -0
- package/dist/MainSidebar/hover.d.ts +3 -0
- package/dist/MainSidebar/hover.d.ts.map +1 -0
- package/dist/MainSidebar/hover.js +177 -0
- package/dist/MainSidebar/hover.js.map +1 -0
- package/dist/MainSidebar/index.d.ts +6 -0
- package/dist/MainSidebar/index.d.ts.map +1 -0
- package/dist/MainSidebar/index.js +108 -0
- package/dist/MainSidebar/index.js.map +1 -0
- package/dist/MainSidebar/mobile.d.ts +29 -0
- package/dist/MainSidebar/mobile.d.ts.map +1 -0
- package/dist/MainSidebar/mobile.js +38 -0
- package/dist/MainSidebar/mobile.js.map +1 -0
- package/dist/MainSidebar/motion.d.ts +23 -0
- package/dist/MainSidebar/motion.d.ts.map +1 -0
- package/dist/MainSidebar/motion.js +40 -0
- package/dist/MainSidebar/motion.js.map +1 -0
- package/dist/MainSidebar/rail.d.ts +24 -0
- package/dist/MainSidebar/rail.d.ts.map +1 -0
- package/dist/MainSidebar/rail.js +29 -0
- package/dist/MainSidebar/rail.js.map +1 -0
- package/dist/MainSidebar/search.d.ts +19 -0
- package/dist/MainSidebar/search.d.ts.map +1 -0
- package/dist/MainSidebar/search.js +33 -0
- package/dist/MainSidebar/search.js.map +1 -0
- package/dist/MainSidebar/types.d.ts +161 -0
- package/dist/MainSidebar/types.d.ts.map +1 -0
- package/dist/MainSidebar/types.js +2 -0
- package/dist/MainSidebar/types.js.map +1 -0
- package/dist/MainSidebar.d.ts +6 -1
- package/dist/MainSidebar.d.ts.map +1 -1
- package/dist/MainSidebar.js +6 -1
- package/dist/MainSidebar.js.map +1 -1
- package/dist/NavigationMenu.js +1 -1
- package/dist/NavigationMenu.js.map +1 -1
- package/dist/RichTextEditor/theme.d.ts +44 -0
- package/dist/RichTextEditor/theme.d.ts.map +1 -0
- package/dist/RichTextEditor/theme.js +41 -0
- package/dist/RichTextEditor/theme.js.map +1 -0
- package/dist/RichTextEditor/toolbar-icons.d.ts +21 -0
- package/dist/RichTextEditor/toolbar-icons.d.ts.map +1 -0
- package/dist/RichTextEditor/toolbar-icons.js +21 -0
- package/dist/RichTextEditor/toolbar-icons.js.map +1 -0
- package/dist/RichTextEditor/toolbar.d.ts +5 -0
- package/dist/RichTextEditor/toolbar.d.ts.map +1 -0
- package/dist/RichTextEditor/toolbar.js +116 -0
- package/dist/RichTextEditor/toolbar.js.map +1 -0
- package/dist/RichTextEditor.d.ts +16 -9
- package/dist/RichTextEditor.d.ts.map +1 -1
- package/dist/RichTextEditor.js +18 -164
- package/dist/RichTextEditor.js.map +1 -1
- package/dist/Select/content.d.ts +9 -0
- package/dist/Select/content.d.ts.map +1 -0
- package/dist/Select/content.js +80 -0
- package/dist/Select/content.js.map +1 -0
- package/dist/Select/context.d.ts +27 -0
- package/dist/Select/context.d.ts.map +1 -0
- package/dist/Select/context.js +35 -0
- package/dist/Select/context.js.map +1 -0
- package/dist/Select/item.d.ts +13 -0
- package/dist/Select/item.d.ts.map +1 -0
- package/dist/Select/item.js +39 -0
- package/dist/Select/item.js.map +1 -0
- package/dist/Select/parts.d.ts +14 -0
- package/dist/Select/parts.d.ts.map +1 -0
- package/dist/Select/parts.js +17 -0
- package/dist/Select/parts.js.map +1 -0
- package/dist/Select/react-select.d.ts +25 -0
- package/dist/Select/react-select.d.ts.map +1 -0
- package/dist/Select/react-select.js +66 -0
- package/dist/Select/react-select.js.map +1 -0
- package/dist/Select/root.d.ts +15 -0
- package/dist/Select/root.d.ts.map +1 -0
- package/dist/Select/root.js +41 -0
- package/dist/Select/root.js.map +1 -0
- package/dist/Select/trigger.d.ts +15 -0
- package/dist/Select/trigger.d.ts.map +1 -0
- package/dist/Select/trigger.js +61 -0
- package/dist/Select/trigger.js.map +1 -0
- package/dist/Select.d.ts +14 -62
- package/dist/Select.d.ts.map +1 -1
- package/dist/Select.js +14 -293
- package/dist/Select.js.map +1 -1
- package/dist/Sidebar/context.d.ts +28 -0
- package/dist/Sidebar/context.d.ts.map +1 -0
- package/dist/Sidebar/context.js +37 -0
- package/dist/Sidebar/context.js.map +1 -0
- package/dist/Sidebar/group.d.ts +13 -0
- package/dist/Sidebar/group.d.ts.map +1 -0
- package/dist/Sidebar/group.js +20 -0
- package/dist/Sidebar/group.js.map +1 -0
- package/dist/Sidebar/icons.d.ts +7 -0
- package/dist/Sidebar/icons.d.ts.map +1 -0
- package/dist/Sidebar/icons.js +12 -0
- package/dist/Sidebar/icons.js.map +1 -0
- package/dist/Sidebar/layout.d.ts +9 -0
- package/dist/Sidebar/layout.d.ts.map +1 -0
- package/dist/Sidebar/layout.js +21 -0
- package/dist/Sidebar/layout.js.map +1 -0
- package/dist/Sidebar/menu.d.ts +29 -0
- package/dist/Sidebar/menu.d.ts.map +1 -0
- package/dist/Sidebar/menu.js +55 -0
- package/dist/Sidebar/menu.js.map +1 -0
- package/dist/Sidebar/provider.d.ts +33 -0
- package/dist/Sidebar/provider.d.ts.map +1 -0
- package/dist/Sidebar/provider.js +110 -0
- package/dist/Sidebar/provider.js.map +1 -0
- package/dist/Sidebar/sidebar.d.ts +17 -0
- package/dist/Sidebar/sidebar.d.ts.map +1 -0
- package/dist/Sidebar/sidebar.js +51 -0
- package/dist/Sidebar/sidebar.js.map +1 -0
- package/dist/Sidebar/submenu.d.ts +13 -0
- package/dist/Sidebar/submenu.d.ts.map +1 -0
- package/dist/Sidebar/submenu.js +17 -0
- package/dist/Sidebar/submenu.js.map +1 -0
- package/dist/Sidebar/trigger.d.ts +9 -0
- package/dist/Sidebar/trigger.d.ts.map +1 -0
- package/dist/Sidebar/trigger.js +33 -0
- package/dist/Sidebar/trigger.js.map +1 -0
- package/dist/Sidebar.d.ts +14 -104
- package/dist/Sidebar.d.ts.map +1 -1
- package/dist/Sidebar.js +14 -300
- package/dist/Sidebar.js.map +1 -1
- package/dist/StatCard.d.ts +67 -9
- package/dist/StatCard.d.ts.map +1 -1
- package/dist/StatCard.js +111 -9
- package/dist/StatCard.js.map +1 -1
- package/dist/TransferList.native.d.ts.map +1 -1
- package/dist/TransferList.native.js +2 -1
- package/dist/TransferList.native.js.map +1 -1
- package/package.json +2 -2
- package/src/CheckboxGrid.native.tsx +2 -1
- package/src/Combobox.native.tsx +2 -1
- package/src/DataTable/column-filter.tsx +134 -0
- package/src/DataTable/column-header.tsx +67 -0
- package/src/DataTable/column-visibility.tsx +87 -0
- package/src/DataTable/index.ts +4 -0
- package/src/DataTable/pinning.ts +40 -0
- package/src/DataTable.tsx +14 -297
- package/src/Dialog.native.tsx +4 -2
- package/src/Form/building-blocks.tsx +97 -0
- package/src/Form/fields-choice.tsx +312 -0
- package/src/Form/fields-complex.tsx +195 -0
- package/src/Form/fields-date.tsx +195 -0
- package/src/Form/fields-text.tsx +218 -0
- package/src/Form/fields-toggle.tsx +123 -0
- package/src/Form/helpers.tsx +189 -0
- package/src/Form/types.ts +26 -0
- package/src/Form.tsx +91 -1308
- package/src/IconSidebar.tsx +20 -442
- package/src/MainSidebar/back-button.tsx +58 -0
- package/src/MainSidebar/breadcrumb.tsx +53 -0
- package/src/MainSidebar/columns.tsx +350 -0
- package/src/MainSidebar/command.tsx +404 -0
- package/src/MainSidebar/drilldown.tsx +373 -0
- package/src/MainSidebar/expanded.tsx +414 -0
- package/src/MainSidebar/floating.tsx +268 -0
- package/src/MainSidebar/helpers.ts +164 -0
- package/src/MainSidebar/hover.tsx +334 -0
- package/src/MainSidebar/index.tsx +191 -0
- package/src/MainSidebar/mobile.tsx +117 -0
- package/src/MainSidebar/motion.ts +64 -0
- package/src/MainSidebar/rail.tsx +137 -0
- package/src/MainSidebar/search.tsx +99 -0
- package/src/MainSidebar/types.ts +208 -0
- package/src/MainSidebar.tsx +15 -4
- package/src/NavigationMenu.tsx +1 -1
- package/src/RichTextEditor/theme.ts +43 -0
- package/src/RichTextEditor/toolbar-icons.tsx +40 -0
- package/src/RichTextEditor/toolbar.tsx +271 -0
- package/src/RichTextEditor.tsx +23 -371
- package/src/Select/content.tsx +111 -0
- package/src/Select/context.tsx +66 -0
- package/src/Select/item.tsx +97 -0
- package/src/Select/parts.tsx +43 -0
- package/src/Select/react-select.tsx +216 -0
- package/src/Select/root.tsx +75 -0
- package/src/Select/trigger.tsx +122 -0
- package/src/Select.tsx +34 -692
- package/src/Sidebar/context.tsx +72 -0
- package/src/Sidebar/group.tsx +69 -0
- package/src/Sidebar/icons.tsx +42 -0
- package/src/Sidebar/layout.tsx +64 -0
- package/src/Sidebar/menu.tsx +171 -0
- package/src/Sidebar/provider.tsx +224 -0
- package/src/Sidebar/sidebar.tsx +178 -0
- package/src/Sidebar/submenu.tsx +58 -0
- package/src/Sidebar/trigger.tsx +104 -0
- package/src/Sidebar.tsx +44 -927
- package/src/StatCard.tsx +365 -20
- package/src/TransferList.native.tsx +2 -1
- package/dist/TiptapEditor.d.ts +0 -24
- package/dist/TiptapEditor.d.ts.map +0 -1
- package/dist/TiptapEditor.js +0 -84
- package/dist/TiptapEditor.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxGrid.native.d.ts","sourceRoot":"","sources":["../src/CheckboxGrid.native.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAwC,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"CheckboxGrid.native.d.ts","sourceRoot":"","sources":["../src/CheckboxGrid.native.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAwC,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI1F,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,UAAU,GAAG,YAAY,CAAC;AAEjE,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;IACjE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,qBAAqB,CAAC;IAChC,gBAAgB,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACxD,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,YAAY,oGAoIxB,CAAC"}
|
|
@@ -11,6 +11,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
11
11
|
*/
|
|
12
12
|
import { forwardRef, useMemo, useState } from 'react';
|
|
13
13
|
import { FlatList, Pressable, Text, TextInput, View } from 'react-native';
|
|
14
|
+
import { NATIVE_PLACEHOLDER_COLOR } from '@mihcm/theme';
|
|
14
15
|
import { cn } from './internal/cn.js';
|
|
15
16
|
export const CheckboxGrid = forwardRef(function CheckboxGrid({ className, items, selected, onSelectedChange, columns: _columns, searchPlaceholder = 'Filter items…', maxHeight = 300, ...props }, ref) {
|
|
16
17
|
const [search, setSearch] = useState('');
|
|
@@ -37,7 +38,7 @@ export const CheckboxGrid = forwardRef(function CheckboxGrid({ className, items,
|
|
|
37
38
|
onSelectedChange(next);
|
|
38
39
|
};
|
|
39
40
|
const clearAll = () => onSelectedChange({});
|
|
40
|
-
return (_jsxs(View, { ref: ref, className: cn('rounded-lg border border-border bg-card overflow-hidden', className), ...props, children: [_jsxs(View, { className: "flex-row items-center justify-between border-b border-border bg-muted/40 px-3 py-2", children: [_jsxs(Text, { className: "text-xs text-foreground", children: [_jsx(Text, { className: "font-bold", children: onCount }), " selected", _jsxs(Text, { className: "text-muted-foreground", children: [" / ", offCount, " remaining"] })] }), _jsxs(View, { className: "flex-row gap-2", children: [_jsx(Pressable, { accessibilityRole: "button", accessibilityLabel: "Select all", onPress: selectAll, className: "rounded border border-border bg-card px-2 py-1", children: _jsx(Text, { className: "text-xs font-medium text-muted-foreground", children: "Select All" }) }), _jsx(Pressable, { accessibilityRole: "button", accessibilityLabel: "Clear selection", onPress: clearAll, className: "rounded border border-border bg-card px-2 py-1", children: _jsx(Text, { className: "text-xs font-medium text-muted-foreground", children: "Clear" }) })] })] }), _jsx(View, { className: "border-b border-border px-3 py-2", children: _jsx(TextInput, { value: search, onChangeText: setSearch, placeholder: searchPlaceholder, accessibilityLabel: "Filter items", className: "rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground", placeholderTextColor:
|
|
41
|
+
return (_jsxs(View, { ref: ref, className: cn('rounded-lg border border-border bg-card overflow-hidden', className), ...props, children: [_jsxs(View, { className: "flex-row items-center justify-between border-b border-border bg-muted/40 px-3 py-2", children: [_jsxs(Text, { className: "text-xs text-foreground", children: [_jsx(Text, { className: "font-bold", children: onCount }), " selected", _jsxs(Text, { className: "text-muted-foreground", children: [" / ", offCount, " remaining"] })] }), _jsxs(View, { className: "flex-row gap-2", children: [_jsx(Pressable, { accessibilityRole: "button", accessibilityLabel: "Select all", onPress: selectAll, className: "rounded border border-border bg-card px-2 py-1", children: _jsx(Text, { className: "text-xs font-medium text-muted-foreground", children: "Select All" }) }), _jsx(Pressable, { accessibilityRole: "button", accessibilityLabel: "Clear selection", onPress: clearAll, className: "rounded border border-border bg-card px-2 py-1", children: _jsx(Text, { className: "text-xs font-medium text-muted-foreground", children: "Clear" }) })] })] }), _jsx(View, { className: "border-b border-border px-3 py-2", children: _jsx(TextInput, { value: search, onChangeText: setSearch, placeholder: searchPlaceholder, accessibilityLabel: "Filter items", className: "rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground", placeholderTextColor: NATIVE_PLACEHOLDER_COLOR }) }), _jsx(FlatList, { data: filtered, keyExtractor: (item) => item, style: { maxHeight }, ListEmptyComponent: _jsx(View, { className: "items-center py-6", children: _jsx(Text, { className: "text-xs text-muted-foreground", children: "No items match your filter" }) }), renderItem: ({ item }) => {
|
|
41
42
|
const on = !!selected[item];
|
|
42
43
|
return (_jsxs(Pressable, { accessibilityRole: "checkbox", accessibilityState: { checked: on }, onPress: () => toggle(item), className: cn('flex-row items-center gap-3 px-3 py-3 border-b border-border/50', on ? 'bg-primary/5' : 'bg-card'), children: [_jsx(View, { className: cn('h-5 w-5 items-center justify-center rounded', on
|
|
43
44
|
? 'border-2 border-primary bg-primary'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxGrid.native.js","sourceRoot":"","sources":["../src/CheckboxGrid.native.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CheckboxGrid.native.js","sourceRoot":"","sources":["../src/CheckboxGrid.native.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.native.d.ts","sourceRoot":"","sources":["../src/Combobox.native.tsx"],"names":[],"mappings":"AASA,OAAO,EAML,IAAI,EACJ,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Combobox.native.d.ts","sourceRoot":"","sources":["../src/Combobox.native.tsx"],"names":[],"mappings":"AASA,OAAO,EAML,IAAI,EACJ,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAItB,KAAK,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAI1E,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAID,eAAO,MAAM,QAAQ,gGAgIpB,CAAC"}
|
package/dist/Combobox.native.js
CHANGED
|
@@ -9,6 +9,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
9
9
|
*/
|
|
10
10
|
import { forwardRef, useState, useCallback } from 'react';
|
|
11
11
|
import { FlatList, Modal, Pressable, Text, TextInput, View, } from 'react-native';
|
|
12
|
+
import { NATIVE_PLACEHOLDER_COLOR } from '@mihcm/theme';
|
|
12
13
|
import { cn } from './internal/cn.js';
|
|
13
14
|
/* ── Component ────────────────────────────────────────────────────── */
|
|
14
15
|
export const Combobox = forwardRef(function Combobox({ options, value, onValueChange, placeholder = 'Select…', searchPlaceholder = 'Search…', emptyText = 'No results found.', disabled, className, ...props }, ref) {
|
|
@@ -23,6 +24,6 @@ export const Combobox = forwardRef(function Combobox({ options, value, onValueCh
|
|
|
23
24
|
setOpen(false);
|
|
24
25
|
setQuery('');
|
|
25
26
|
}, [onValueChange, value]);
|
|
26
|
-
return (_jsxs(View, { ref: ref, className: cn(className), ...props, children: [_jsxs(Pressable, { disabled: disabled, onPress: () => setOpen(true), accessibilityRole: "combobox", accessibilityState: { expanded: open, disabled: !!disabled }, className: cn('h-12 flex-row items-center justify-between rounded-lg border border-border bg-card px-3', disabled && 'opacity-50'), children: [_jsx(Text, { className: cn('flex-1 text-sm', selectedLabel ? 'text-foreground' : 'text-muted-foreground'), numberOfLines: 1, children: selectedLabel ?? placeholder }), _jsx(Text, { className: "text-xs text-muted-foreground", children: "\u25BE" })] }), _jsx(Modal, { visible: open, transparent: true, animationType: "fade", onRequestClose: () => setOpen(false), statusBarTranslucent: true, children: _jsx(Pressable, { onPress: () => setOpen(false), className: "flex-1 items-center justify-center bg-black/40", accessibilityRole: "none", children: _jsx(Pressable, { onPress: (e) => e.stopPropagation(), children: _jsxs(View, { className: "w-80 max-h-96 rounded-xl border border-border bg-card shadow-lg", children: [_jsx(View, { className: "flex-row items-center border-b border-border px-3", children: _jsx(TextInput, { placeholder: searchPlaceholder, placeholderTextColor:
|
|
27
|
+
return (_jsxs(View, { ref: ref, className: cn(className), ...props, children: [_jsxs(Pressable, { disabled: disabled, onPress: () => setOpen(true), accessibilityRole: "combobox", accessibilityState: { expanded: open, disabled: !!disabled }, className: cn('h-12 flex-row items-center justify-between rounded-lg border border-border bg-card px-3', disabled && 'opacity-50'), children: [_jsx(Text, { className: cn('flex-1 text-sm', selectedLabel ? 'text-foreground' : 'text-muted-foreground'), numberOfLines: 1, children: selectedLabel ?? placeholder }), _jsx(Text, { className: "text-xs text-muted-foreground", children: "\u25BE" })] }), _jsx(Modal, { visible: open, transparent: true, animationType: "fade", onRequestClose: () => setOpen(false), statusBarTranslucent: true, children: _jsx(Pressable, { onPress: () => setOpen(false), className: "flex-1 items-center justify-center bg-black/40", accessibilityRole: "none", children: _jsx(Pressable, { onPress: (e) => e.stopPropagation(), children: _jsxs(View, { className: "w-80 max-h-96 rounded-xl border border-border bg-card shadow-lg", children: [_jsx(View, { className: "flex-row items-center border-b border-border px-3", children: _jsx(TextInput, { placeholder: searchPlaceholder, placeholderTextColor: NATIVE_PLACEHOLDER_COLOR, value: query, onChangeText: setQuery, className: "flex-1 py-3 text-sm text-foreground", autoFocus: true }) }), filtered.length === 0 ? (_jsx(View, { className: "items-center py-8", children: _jsx(Text, { className: "text-sm text-muted-foreground", children: emptyText }) })) : (_jsx(FlatList, { data: filtered, keyExtractor: (item) => item.value, className: "p-1", renderItem: ({ item }) => (_jsxs(Pressable, { disabled: item.disabled, onPress: () => handleSelect(item.value), className: cn('flex-row items-center rounded-lg px-3 py-3', item.disabled && 'opacity-50'), children: [_jsx(Text, { className: cn('mr-2 text-sm', value === item.value ? 'text-primary' : 'opacity-0'), children: "\u2713" }), _jsx(Text, { className: "flex-1 text-sm text-foreground", numberOfLines: 1, children: item.label })] })) }))] }) }) }) })] }));
|
|
27
28
|
});
|
|
28
29
|
//# sourceMappingURL=Combobox.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.native.js","sourceRoot":"","sources":["../src/Combobox.native.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Combobox.native.js","sourceRoot":"","sources":["../src/Combobox.native.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Column } from '@tanstack/react-table';
|
|
2
|
+
interface ColumnFilterInputProps<TData> {
|
|
3
|
+
column: Column<TData, unknown>;
|
|
4
|
+
faceted: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare function ColumnFilterInput<TData>({ column, faceted, }: ColumnFilterInputProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=column-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column-filter.d.ts","sourceRoot":"","sources":["../../src/DataTable/column-filter.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,UAAU,sBAAsB,CAAC,KAAK;IACpC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,EACvC,MAAM,EACN,OAAO,GACR,EAAE,sBAAsB,CAAC,KAAK,CAAC,2CA8G/B"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* Column filter input for `@mihcm/ui/DataTable`.
|
|
5
|
+
*
|
|
6
|
+
* Three modes depending on the column's faceted metadata:
|
|
7
|
+
* 1. Faceted + number column → twin min/max inputs.
|
|
8
|
+
* 2. Faceted + string column → text input with sorted unique-values
|
|
9
|
+
* autosuggest dropdown that closes on outside click.
|
|
10
|
+
* 3. Default → plain text filter input.
|
|
11
|
+
*/
|
|
12
|
+
import { useEffect, useRef, useState } from 'react';
|
|
13
|
+
import { Input } from '../Input.js';
|
|
14
|
+
export function ColumnFilterInput({ column, faceted, }) {
|
|
15
|
+
const columnFilterValue = column.getFilterValue();
|
|
16
|
+
const [open, setOpen] = useState(false);
|
|
17
|
+
const ref = useRef(null);
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
if (!open)
|
|
20
|
+
return;
|
|
21
|
+
function handleClick(e) {
|
|
22
|
+
if (ref.current && !ref.current.contains(e.target)) {
|
|
23
|
+
setOpen(false);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
document.addEventListener('mousedown', handleClick);
|
|
27
|
+
return () => document.removeEventListener('mousedown', handleClick);
|
|
28
|
+
}, [open]);
|
|
29
|
+
if (faceted) {
|
|
30
|
+
const facetedMinMax = column.getFacetedMinMaxValues?.();
|
|
31
|
+
const isNumberColumn = facetedMinMax !== undefined &&
|
|
32
|
+
facetedMinMax[0] !== undefined &&
|
|
33
|
+
typeof facetedMinMax[0] === 'number';
|
|
34
|
+
if (isNumberColumn) {
|
|
35
|
+
const [min, max] = facetedMinMax;
|
|
36
|
+
const currentRange = columnFilterValue ?? [
|
|
37
|
+
undefined,
|
|
38
|
+
undefined,
|
|
39
|
+
];
|
|
40
|
+
return (_jsxs("div", { className: "grid min-w-[10rem] grid-cols-2 gap-1", children: [_jsx(Input, { type: "number", value: currentRange[0] ?? '', onChange: (e) => {
|
|
41
|
+
const val = e.target.value ? Number(e.target.value) : undefined;
|
|
42
|
+
column.setFilterValue((old) => [
|
|
43
|
+
val,
|
|
44
|
+
old?.[1],
|
|
45
|
+
]);
|
|
46
|
+
}, placeholder: `Min (${min})`, className: "h-8 min-w-0 bg-background px-2 text-xs shadow-mi-input" }), _jsx(Input, { type: "number", value: currentRange[1] ?? '', onChange: (e) => {
|
|
47
|
+
const val = e.target.value ? Number(e.target.value) : undefined;
|
|
48
|
+
column.setFilterValue((old) => [
|
|
49
|
+
old?.[0],
|
|
50
|
+
val,
|
|
51
|
+
]);
|
|
52
|
+
}, placeholder: `Max (${max})`, className: "h-8 min-w-0 bg-background px-2 text-xs shadow-mi-input" })] }));
|
|
53
|
+
}
|
|
54
|
+
const uniqueValues = column.getFacetedUniqueValues?.();
|
|
55
|
+
if (uniqueValues && uniqueValues.size > 0) {
|
|
56
|
+
const sortedValues = Array.from(uniqueValues.keys())
|
|
57
|
+
.filter((v) => typeof v === 'string')
|
|
58
|
+
.sort();
|
|
59
|
+
return (_jsxs("div", { ref: ref, className: "relative", children: [_jsx(Input, { type: "text", value: columnFilterValue ?? '', onChange: (e) => column.setFilterValue(e.target.value || undefined), onFocus: () => setOpen(true), placeholder: "Filter...", className: "h-8 min-w-[8rem] bg-background px-2 text-xs shadow-mi-input" }), open && sortedValues.length > 0 && (_jsx("div", { className: "absolute left-0 top-full z-50 mt-1 max-h-40 min-w-full overflow-y-auto rounded-md border border-border bg-card p-1 shadow-mi-modal", children: sortedValues.map((val) => (_jsxs("button", { type: "button", className: "block w-full rounded px-2 py-1 text-left text-xs hover:bg-muted transition-colors duration-150", onClick: () => {
|
|
60
|
+
column.setFilterValue(val);
|
|
61
|
+
setOpen(false);
|
|
62
|
+
}, children: [val, ' ', _jsxs("span", { className: "text-muted-foreground", children: ["(", uniqueValues.get(val), ")"] })] }, val))) }))] }));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return (_jsx(Input, { type: "text", value: columnFilterValue ?? '', onChange: (e) => column.setFilterValue(e.target.value || undefined), placeholder: "Filter...", className: "h-8 min-w-[8rem] bg-background px-2 text-xs shadow-mi-input" }));
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=column-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column-filter.js","sourceRoot":"","sources":["../../src/DataTable/column-filter.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DataTable column header with sort affordance.
|
|
3
|
+
*
|
|
4
|
+
* Renders an a11y-friendly button with twin arrow indicators when the
|
|
5
|
+
* column is sortable; falls back to a plain `<span>` for unsortable
|
|
6
|
+
* columns. Internal helper of `@mihcm/ui/DataTable`.
|
|
7
|
+
*/
|
|
8
|
+
import type { Column } from '@tanstack/react-table';
|
|
9
|
+
interface DataTableColumnHeaderProps<TData, TValue> {
|
|
10
|
+
column: Column<TData, TValue>;
|
|
11
|
+
title: string;
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function DataTableColumnHeader<TData, TValue>({ column, title, className, }: DataTableColumnHeaderProps<TData, TValue>): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=column-header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column-header.d.ts","sourceRoot":"","sources":["../../src/DataTable/column-header.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,UAAU,0BAA0B,CAAC,KAAK,EAAE,MAAM;IAChD,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,EACnD,MAAM,EACN,KAAK,EACL,SAAS,GACV,EAAE,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,2CA4C3C"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { cn } from '../internal/cn.js';
|
|
4
|
+
export function DataTableColumnHeader({ column, title, className, }) {
|
|
5
|
+
if (!column.getCanSort()) {
|
|
6
|
+
return _jsx("span", { className: className, children: title });
|
|
7
|
+
}
|
|
8
|
+
const sorted = column.getIsSorted();
|
|
9
|
+
return (_jsxs("button", { type: "button", className: cn('inline-flex items-center gap-1 -ml-1 px-1 py-0.5 rounded-md', 'hover:bg-muted transition-colors duration-150', 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring', className), onClick: column.getToggleSortingHandler(), "aria-label": `Sort by ${title}`, children: [title, _jsxs("span", { className: "inline-flex flex-col", "aria-hidden": "true", children: [_jsx("svg", { viewBox: "0 0 8 4", className: cn('h-1.5 w-2 transition-transform duration-200', sorted === 'asc' ? 'text-foreground' : 'text-muted-foreground/40'), fill: "currentColor", children: _jsx("path", { d: "M4 0L8 4H0z" }) }), _jsx("svg", { viewBox: "0 0 8 4", className: cn('h-1.5 w-2 transition-transform duration-200', sorted === 'desc' ? 'text-foreground' : 'text-muted-foreground/40'), fill: "currentColor", children: _jsx("path", { d: "M4 4L0 0h8z" }) })] })] }));
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=column-header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column-header.js","sourceRoot":"","sources":["../../src/DataTable/column-header.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAUb,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAQvC,MAAM,UAAU,qBAAqB,CAAgB,EACnD,MAAM,EACN,KAAK,EACL,SAAS,GACiC;IAC1C,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;QACzB,OAAO,eAAM,SAAS,EAAE,SAAS,YAAG,KAAK,GAAQ,CAAC;IACpD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAEpC,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,EAAE,CACX,6DAA6D,EAC7D,+CAA+C,EAC/C,yEAAyE,EACzE,SAAS,CACV,EACD,OAAO,EAAE,MAAM,CAAC,uBAAuB,EAAE,gBAC7B,WAAW,KAAK,EAAE,aAE7B,KAAK,EACN,gBAAM,SAAS,EAAC,sBAAsB,iBAAa,MAAM,aACvD,cACE,OAAO,EAAC,SAAS,EACjB,SAAS,EAAE,EAAE,CACX,6CAA6C,EAC7C,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,0BAA0B,CAClE,EACD,IAAI,EAAC,cAAc,YAEnB,eAAM,CAAC,EAAC,aAAa,GAAG,GACpB,EACN,cACE,OAAO,EAAC,SAAS,EACjB,SAAS,EAAE,EAAE,CACX,6CAA6C,EAC7C,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,0BAA0B,CACnE,EACD,IAAI,EAAC,cAAc,YAEnB,eAAM,CAAC,EAAC,aAAa,GAAG,GACpB,IACD,IACA,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Table as TanStackTable } from '@tanstack/react-table';
|
|
2
|
+
interface ColumnVisibilityDropdownProps<TData> {
|
|
3
|
+
table: TanStackTable<TData>;
|
|
4
|
+
}
|
|
5
|
+
export declare function ColumnVisibilityDropdown<TData>({ table, }: ColumnVisibilityDropdownProps<TData>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=column-visibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column-visibility.d.ts","sourceRoot":"","sources":["../../src/DataTable/column-visibility.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAIpE,UAAU,6BAA6B,CAAC,KAAK;IAC3C,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;CAC7B;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,EAC9C,KAAK,GACN,EAAE,6BAA6B,CAAC,KAAK,CAAC,2CAkEtC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* Column visibility toggle dropdown for `@mihcm/ui/DataTable`.
|
|
5
|
+
*
|
|
6
|
+
* Outside-click handling is local; the trigger uses the existing Button
|
|
7
|
+
* primitive and items are MiHCM Checkboxes so all theming tokens stay
|
|
8
|
+
* consistent with the rest of the data table chrome.
|
|
9
|
+
*/
|
|
10
|
+
import { useEffect, useRef, useState } from 'react';
|
|
11
|
+
import { Button } from '../Button.js';
|
|
12
|
+
import { Checkbox } from '../Checkbox.js';
|
|
13
|
+
export function ColumnVisibilityDropdown({ table, }) {
|
|
14
|
+
const [open, setOpen] = useState(false);
|
|
15
|
+
const ref = useRef(null);
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
if (!open)
|
|
18
|
+
return;
|
|
19
|
+
function handleClick(e) {
|
|
20
|
+
if (ref.current && !ref.current.contains(e.target)) {
|
|
21
|
+
setOpen(false);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
document.addEventListener('mousedown', handleClick);
|
|
25
|
+
return () => document.removeEventListener('mousedown', handleClick);
|
|
26
|
+
}, [open]);
|
|
27
|
+
return (_jsxs("div", { ref: ref, className: "relative", children: [_jsxs(Button, { variant: "outline", size: "sm", onClick: () => setOpen(!open), "aria-expanded": open, "aria-haspopup": "true", children: [_jsx("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "h-4 w-4", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M10.5 6h9.75M10.5 6a1.5 1.5 0 11-3 0m3 0a1.5 1.5 0 10-3 0M3.75 6H7.5m3 12h9.75m-9.75 0a1.5 1.5 0 01-3 0m3 0a1.5 1.5 0 00-3 0m-3.75 0H7.5m9-6h3.75m-3.75 0a1.5 1.5 0 01-3 0m3 0a1.5 1.5 0 00-3 0m-9.75 0h9.75" }) }), "Columns"] }), open && (_jsx("div", { className: "absolute right-0 top-full z-50 mt-1 min-w-[10rem] rounded-lg border border-border bg-card p-1 shadow-md", children: table.getAllLeafColumns().map((column) => {
|
|
28
|
+
if (column.id === 'select' || column.id === 'expand')
|
|
29
|
+
return null;
|
|
30
|
+
return (_jsxs("label", { className: "flex cursor-pointer items-center gap-2 rounded-md px-2 py-1.5 text-sm hover:bg-muted transition-colors duration-150", children: [_jsx(Checkbox, { size: "sm", checked: column.getIsVisible(), onCheckedChange: (v) => column.toggleVisibility(!!v) }), _jsx("span", { className: "capitalize", children: typeof column.columnDef.header === 'string'
|
|
31
|
+
? column.columnDef.header
|
|
32
|
+
: column.id })] }, column.id));
|
|
33
|
+
}) }))] }));
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=column-visibility.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"column-visibility.js","sourceRoot":"","sources":["../../src/DataTable/column-visibility.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb;;;;;;GAMG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAM1C,MAAM,UAAU,wBAAwB,CAAQ,EAC9C,KAAK,GACgC;IACrC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEzC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,SAAS,WAAW,CAAC,CAAa;YAChC,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC,EAAE,CAAC;gBAC3D,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;QACH,CAAC;QACD,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACpD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;IACtE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CACL,eAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAC,UAAU,aACjC,MAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mBACd,IAAI,mBACL,MAAM,aAEpB,6BACc,MAAM,EAClB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAE,CAAC,EACd,SAAS,EAAC,SAAS,YAEnB,eACE,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,CAAC,EAAC,8MAA8M,GAChN,GACE,eAEC,EACR,IAAI,IAAI,CACP,cAAK,SAAS,EAAC,yGAAyG,YACrH,KAAK,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBACxC,IAAI,MAAM,CAAC,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,EAAE,KAAK,QAAQ;wBAAE,OAAO,IAAI,CAAC;oBAClE,OAAO,CACL,iBAEE,SAAS,EAAC,qHAAqH,aAE/H,KAAC,QAAQ,IACP,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,EAC9B,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,GACpD,EACF,eAAM,SAAS,EAAC,YAAY,YACzB,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,QAAQ;oCAC1C,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM;oCACzB,CAAC,CAAC,MAAM,CAAC,EAAE,GACR,KAZF,MAAM,CAAC,EAAE,CAaR,CACT,CAAC;gBACJ,CAAC,CAAC,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { ColumnFilterInput } from './column-filter.js';
|
|
2
|
+
export { ColumnVisibilityDropdown } from './column-visibility.js';
|
|
3
|
+
export { DataTableColumnHeader } from './column-header.js';
|
|
4
|
+
export { getCellPinningStyles, getPinningStyles } from './pinning.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/DataTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { ColumnFilterInput } from './column-filter.js';
|
|
2
|
+
export { ColumnVisibilityDropdown } from './column-visibility.js';
|
|
3
|
+
export { DataTableColumnHeader } from './column-header.js';
|
|
4
|
+
export { getCellPinningStyles, getPinningStyles } from './pinning.js';
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DataTable/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pinning style helpers for `@mihcm/ui/DataTable`.
|
|
3
|
+
*
|
|
4
|
+
* Returns `React.CSSProperties` for `position: sticky` left/right pinning
|
|
5
|
+
* with a card background so pinned columns occlude the scrolling body.
|
|
6
|
+
*/
|
|
7
|
+
import type { Column, Header } from '@tanstack/react-table';
|
|
8
|
+
import type { CSSProperties } from 'react';
|
|
9
|
+
export declare function getPinningStyles<TData>(header: Header<TData, unknown>, columnPinnable: boolean): CSSProperties;
|
|
10
|
+
export declare function getCellPinningStyles<TData>(cell: {
|
|
11
|
+
column: Column<TData, unknown>;
|
|
12
|
+
}, columnPinnable: boolean): CSSProperties;
|
|
13
|
+
//# sourceMappingURL=pinning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pinning.d.ts","sourceRoot":"","sources":["../../src/DataTable/pinning.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,wBAAgB,gBAAgB,CAAC,KAAK,EACpC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAC9B,cAAc,EAAE,OAAO,GACtB,aAAa,CAWf;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EACxC,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;CAAE,EACxC,cAAc,EAAE,OAAO,GACtB,aAAa,CAWf"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export function getPinningStyles(header, columnPinnable) {
|
|
2
|
+
if (!columnPinnable)
|
|
3
|
+
return {};
|
|
4
|
+
const isPinned = header.column.getIsPinned();
|
|
5
|
+
if (!isPinned)
|
|
6
|
+
return {};
|
|
7
|
+
return {
|
|
8
|
+
position: 'sticky',
|
|
9
|
+
left: isPinned === 'left' ? `${header.getStart('left')}px` : undefined,
|
|
10
|
+
right: isPinned === 'right' ? `${header.getStart('right')}px` : undefined,
|
|
11
|
+
zIndex: 1,
|
|
12
|
+
backgroundColor: 'var(--color-card)',
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export function getCellPinningStyles(cell, columnPinnable) {
|
|
16
|
+
if (!columnPinnable)
|
|
17
|
+
return {};
|
|
18
|
+
const isPinned = cell.column.getIsPinned();
|
|
19
|
+
if (!isPinned)
|
|
20
|
+
return {};
|
|
21
|
+
return {
|
|
22
|
+
position: 'sticky',
|
|
23
|
+
left: isPinned === 'left' ? `${cell.column.getStart('left')}px` : undefined,
|
|
24
|
+
right: isPinned === 'right' ? `${cell.column.getStart('right')}px` : undefined,
|
|
25
|
+
zIndex: 1,
|
|
26
|
+
backgroundColor: 'var(--color-card)',
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=pinning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pinning.js","sourceRoot":"","sources":["../../src/DataTable/pinning.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,gBAAgB,CAC9B,MAA8B,EAC9B,cAAuB;IAEvB,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IAC7C,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,OAAO;QACL,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACtE,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACzE,MAAM,EAAE,CAAC;QACT,eAAe,EAAE,mBAAmB;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAAwC,EACxC,cAAuB;IAEvB,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,OAAO;QACL,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QAC3E,KAAK,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QAC9E,MAAM,EAAE,CAAC;QACT,eAAe,EAAE,mBAAmB;KACrC,CAAC;AACJ,CAAC"}
|
package/dist/DataTable.d.ts
CHANGED
|
@@ -10,16 +10,12 @@
|
|
|
10
10
|
* Wiki: docs/components/DataTable.md
|
|
11
11
|
*/
|
|
12
12
|
import { type ReactNode } from 'react';
|
|
13
|
-
import { createColumnHelper, type ColumnDef, type RowSelectionState, type Row
|
|
13
|
+
import { createColumnHelper, type ColumnDef, type RowSelectionState, type Row } from '@tanstack/react-table';
|
|
14
14
|
import { type TableHeaderTone, type TableVariant } from './Table.js';
|
|
15
|
+
import { DataTableColumnHeader } from './DataTable/index.js';
|
|
16
|
+
export { DataTableColumnHeader };
|
|
15
17
|
export { createColumnHelper };
|
|
16
18
|
export type { ColumnDef, Row, RowSelectionState, TableVariant };
|
|
17
|
-
interface DataTableColumnHeaderProps<TData, TValue> {
|
|
18
|
-
column: Column<TData, TValue>;
|
|
19
|
-
title: string;
|
|
20
|
-
className?: string;
|
|
21
|
-
}
|
|
22
|
-
export declare function DataTableColumnHeader<TData, TValue>({ column, title, className, }: DataTableColumnHeaderProps<TData, TValue>): import("react/jsx-runtime").JSX.Element;
|
|
23
19
|
export interface DataTableProps<TData, TValue> {
|
|
24
20
|
columns: ColumnDef<TData, TValue>[];
|
|
25
21
|
data: TData[];
|
package/dist/DataTable.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../src/DataTable.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../src/DataTable.tsx"],"names":[],"mappings":"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"}
|