schummar-table 1.0.0-beta.4 → 1.0.0-beta.5
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/mantineTheme.cjs.map +1 -1
- package/dist/mantineTheme.d.cts +1 -1
- package/dist/mantineTheme.d.ts +1 -1
- package/dist/mantineTheme.js.map +1 -1
- package/dist/mui4Theme.cjs.map +1 -1
- package/dist/mui4Theme.d.cts +1 -1
- package/dist/mui4Theme.d.ts +1 -1
- package/dist/mui4Theme.js.map +1 -1
- package/dist/mui5Theme.cjs.map +1 -1
- package/dist/mui5Theme.d.cts +1 -1
- package/dist/mui5Theme.d.ts +1 -1
- package/dist/mui5Theme.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mantineTheme.cjs","names":["useCssVariables","useState","dateIntersect","DatePicker","endOfDay","DatePickerQuickOptions","TimeInput","Button","ActionIcon","Checkbox","Indicator","TextInput","Loader","useMemo","mergeThemes","TableSettingsProvider"],"sources":["../src/theme/mantineTheme/datePicker.tsx","../src/theme/mantineTheme/index.tsx"],"sourcesContent":["import { DatePicker, TimeInput } from '@mantine/dates';\nimport { useEffect, useState } from 'react';\nimport type { DatePickerProps } from '../../components/datePicker';\nimport { dateIntersect, DatePickerQuickOptions, endOfDay } from '../../components/datePicker';\nimport { useCssVariables } from '../useCssVariables';\n\nconst pad = (n: number) => String(n).padStart(2, '0');\n\n// Mantine works with local `YYYY-MM-DD` strings; `new Date(string)` would parse them as UTC.\nconst toDateString = (date: Date) =>\n `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}`;\n\nconst fromDateString = (value: string) => {\n const [year = 0, month = 1, day = 1] = value.split('-').map(Number);\n return new Date(year, month - 1, day);\n};\n\nexport function MantineDatePicker(props: DatePickerProps) {\n const {\n value,\n onChange,\n rangeSelect,\n locale,\n firstDayOfWeek,\n defaultDateInView,\n minDate,\n maxDate,\n showCalendarWeek,\n blockedRanges = [],\n showTime,\n } = props;\n const cssVariables = useCssVariables();\n\n const min = value instanceof Date ? value : value?.min;\n const max = value instanceof Date ? value : value?.max;\n const [pendingMin, setPendingMin] = useState<string>();\n\n const [dateInViewLocal, setDateInViewLocal] = useState(\n () => max ?? defaultDateInView ?? new Date(),\n );\n const dateInView = props.dateInView ?? dateInViewLocal;\n\n function setDateInView(date: Date) {\n setDateInViewLocal(date);\n props.onDateInViewChange?.(date);\n }\n\n useEffect(() => {\n setDateInViewLocal(max ?? defaultDateInView ?? new Date());\n }, [max?.getTime(), defaultDateInView?.getTime()]);\n\n useEffect(() => {\n if (!rangeSelect) {\n setPendingMin(undefined);\n }\n }, [rangeSelect]);\n\n const calendarProps = {\n locale,\n firstDayOfWeek,\n minDate,\n maxDate,\n withWeekNumbers: showCalendarWeek,\n date: toDateString(dateInView),\n onDateChange: (date: string) => setDateInView(fromDateString(date)),\n getDayProps: (date: string) =>\n blockedRanges.some((range) => dateIntersect(fromDateString(date), range))\n ? { 'data-blocked': true }\n : {},\n };\n\n const showSeconds = typeof showTime === 'object' ? showTime.showSeconds !== false : true;\n\n return (\n <div\n css={[\n cssVariables,\n {\n display: 'grid',\n justifyItems: 'center',\n gap: 'var(--spacing)',\n\n '& [data-blocked]:not([data-selected]):not([data-in-range])': {\n backgroundColor: 'var(--mantine-color-red-light)',\n color: 'var(--mantine-color-red-light-color)',\n },\n\n '& [data-blocked][data-selected], & [data-blocked][data-in-range]': {\n boxShadow: 'inset 0 0 0 2px var(--mantine-color-red-filled)',\n },\n },\n ]}\n >\n {rangeSelect ? (\n <DatePicker\n {...calendarProps}\n type=\"range\"\n allowSingleDateInRange\n value={\n pendingMin\n ? [pendingMin, null]\n : [min ? toDateString(min) : null, max ? toDateString(max) : null]\n }\n onChange={([start, end]) => {\n if (start && end) {\n setPendingMin(undefined);\n onChange(\n { min: fromDateString(start), max: endOfDay(fromDateString(end)) },\n 'calendar',\n );\n } else {\n setPendingMin(start ?? undefined);\n }\n }}\n />\n ) : (\n <DatePicker\n {...calendarProps}\n value={min ? toDateString(min) : null}\n onChange={(date) => onChange(date ? fromDateString(date) : null, 'calendar')}\n />\n )}\n\n {showTime && (\n <div css={{ display: 'flex', alignItems: 'center', gap: 'var(--spacing)' }}>\n <TimeField\n date={min}\n withSeconds={showSeconds}\n onChange={(newMin) =>\n onChange(\n rangeSelect && max ? { min: newMin, max: newMin > max ? newMin : max } : newMin,\n 'input',\n )\n }\n />\n\n {rangeSelect && (\n <>\n {' - '}\n <TimeField\n date={max}\n withSeconds={showSeconds}\n onChange={(newMax) =>\n min && onChange({ min: newMax < min ? newMax : min, max: newMax }, 'input')\n }\n />\n </>\n )}\n </div>\n )}\n\n <DatePickerQuickOptions {...props} onSelect={() => setPendingMin(undefined)} />\n </div>\n );\n}\n\nfunction TimeField({\n date,\n withSeconds,\n onChange,\n}: {\n date?: Date;\n withSeconds: boolean;\n onChange: (date: Date) => void;\n}) {\n const value = date\n ? [date.getHours(), date.getMinutes(), ...(withSeconds ? [date.getSeconds()] : [])]\n .map(pad)\n .join(':')\n : '';\n\n return (\n <TimeInput\n size=\"xs\"\n withSeconds={withSeconds}\n disabled={!date}\n value={value}\n onChange={(event) => {\n const [hours, minutes, seconds = 0] = event.currentTarget.value.split(':').map(Number);\n if (!date || hours === undefined || minutes === undefined || Number.isNaN(hours)) {\n return;\n }\n\n const next = new Date(date);\n next.setHours(hours, minutes, seconds, 0);\n onChange(next);\n }}\n />\n );\n}\n","import { ActionIcon, Button, Checkbox, Indicator, Loader, TextInput } from '@mantine/core';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { TableSettingsProvider } from '../../misc/tableSettings';\nimport type { PartialTableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes } from '../tableTheme';\nimport { MantineDatePicker } from './datePicker';\n\nconst buttonVariants = {\n text: 'subtle',\n outlined: 'default',\n contained: 'filled',\n} as const;\n\nexport const mantineTheme: PartialTableTheme = {\n components: {\n Button: ({ startIcon, variant = 'text', ...props }) => (\n <Button\n {...props}\n variant={buttonVariants[variant]}\n color={variant === 'contained' ? undefined : 'gray'}\n c={variant === 'contained' ? undefined : 'inherit'}\n leftSection={startIcon}\n size=\"sm\"\n justify=\"flex-start\"\n />\n ),\n IconButton: (props) => (\n <ActionIcon\n {...props}\n variant=\"subtle\"\n color=\"gray\"\n c=\"inherit\"\n radius=\"xl\"\n css={{ fontSize: 'var(--mantine-font-size-sm)' }}\n />\n ),\n Checkbox: (props) => (\n <Checkbox {...props} size=\"xs\" css={{ padding: 'calc(var(--spacing) * 1.8)' }} />\n ),\n Popover,\n Badge: ({ badgeContent, children }) => (\n <Indicator label={badgeContent} disabled={!badgeContent} size={16} inline>\n {children}\n </Indicator>\n ),\n TextField: ({ startIcon, endIcon, inputRef, value, ...props }) => (\n <TextInput\n {...props}\n ref={inputRef}\n value={value ?? ''}\n leftSection={startIcon}\n rightSection={endIcon}\n leftSectionPointerEvents=\"all\"\n rightSectionPointerEvents=\"all\"\n size=\"sm\"\n />\n ),\n Spinner: (props) => <Loader {...props} size=\"sm\" />,\n DatePicker: MantineDatePicker,\n },\n // Mantine sets `color-scheme` on :root, so light-dark() follows its color scheme.\n colors: {\n primary: {\n main: 'var(--mantine-primary-color-filled)',\n light: 'var(--mantine-primary-color-4)',\n contrastText: 'var(--mantine-primary-color-contrast)',\n },\n secondary: {\n main: 'var(--mantine-color-gray-filled)',\n light: 'var(--mantine-color-gray-4)',\n contrastText: 'var(--mantine-color-white)',\n },\n blocked: {\n main: 'var(--mantine-color-red-filled)',\n light: 'var(--mantine-color-red-4)',\n contrastText: 'var(--mantine-color-white)',\n },\n background: 'var(--mantine-color-body)',\n text: 'var(--mantine-color-text)',\n border: 'var(--mantine-color-default-border)',\n borderLight: 'light-dark(var(--mantine-color-gray-2), var(--mantine-color-dark-5))',\n },\n};\n\nexport function MantineTableThemeProvider({\n theme,\n children,\n}: {\n theme?: PartialTableTheme;\n children: ReactNode;\n}) {\n const _theme = useMemo(() => mergeThemes(mantineTheme, theme ?? {}), [theme]);\n\n return <TableSettingsProvider theme={_theme}>{children}</TableSettingsProvider>;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mantineTheme.cjs","names":["useCssVariables","useState","dateIntersect","DatePicker","endOfDay","DatePickerQuickOptions","TimeInput","Button","ActionIcon","Checkbox","Indicator","TextInput","Loader","useMemo","mergeThemes","TableSettingsProvider"],"sources":["../src/theme/mantineTheme/datePicker.tsx","../src/theme/mantineTheme/index.tsx"],"sourcesContent":["import { DatePicker, TimeInput } from '@mantine/dates';\nimport { useEffect, useState } from 'react';\nimport type { DatePickerProps } from '../../components/datePicker';\nimport { dateIntersect, DatePickerQuickOptions, endOfDay } from '../../components/datePicker';\nimport { useCssVariables } from '../useCssVariables';\n\nconst pad = (n: number) => String(n).padStart(2, '0');\n\n// Mantine works with local `YYYY-MM-DD` strings; `new Date(string)` would parse them as UTC.\nconst toDateString = (date: Date) =>\n `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}`;\n\nconst fromDateString = (value: string) => {\n const [year = 0, month = 1, day = 1] = value.split('-').map(Number);\n return new Date(year, month - 1, day);\n};\n\nexport function MantineDatePicker(props: DatePickerProps) {\n const {\n value,\n onChange,\n rangeSelect,\n locale,\n firstDayOfWeek,\n defaultDateInView,\n minDate,\n maxDate,\n showCalendarWeek,\n blockedRanges = [],\n showTime,\n } = props;\n const cssVariables = useCssVariables();\n\n const min = value instanceof Date ? value : value?.min;\n const max = value instanceof Date ? value : value?.max;\n const [pendingMin, setPendingMin] = useState<string>();\n\n const [dateInViewLocal, setDateInViewLocal] = useState(\n () => max ?? defaultDateInView ?? new Date(),\n );\n const dateInView = props.dateInView ?? dateInViewLocal;\n\n function setDateInView(date: Date) {\n setDateInViewLocal(date);\n props.onDateInViewChange?.(date);\n }\n\n useEffect(() => {\n setDateInViewLocal(max ?? defaultDateInView ?? new Date());\n }, [max?.getTime(), defaultDateInView?.getTime()]);\n\n useEffect(() => {\n if (!rangeSelect) {\n setPendingMin(undefined);\n }\n }, [rangeSelect]);\n\n const calendarProps = {\n locale,\n firstDayOfWeek,\n minDate,\n maxDate,\n withWeekNumbers: showCalendarWeek,\n date: toDateString(dateInView),\n onDateChange: (date: string) => setDateInView(fromDateString(date)),\n getDayProps: (date: string) =>\n blockedRanges.some((range) => dateIntersect(fromDateString(date), range))\n ? { 'data-blocked': true }\n : {},\n };\n\n const showSeconds = typeof showTime === 'object' ? showTime.showSeconds !== false : true;\n\n return (\n <div\n css={[\n cssVariables,\n {\n display: 'grid',\n justifyItems: 'center',\n gap: 'var(--spacing)',\n\n '& [data-blocked]:not([data-selected]):not([data-in-range])': {\n backgroundColor: 'var(--mantine-color-red-light)',\n color: 'var(--mantine-color-red-light-color)',\n },\n\n '& [data-blocked][data-selected], & [data-blocked][data-in-range]': {\n boxShadow: 'inset 0 0 0 2px var(--mantine-color-red-filled)',\n },\n },\n ]}\n >\n {rangeSelect ? (\n <DatePicker\n {...calendarProps}\n type=\"range\"\n allowSingleDateInRange\n value={\n pendingMin\n ? [pendingMin, null]\n : [min ? toDateString(min) : null, max ? toDateString(max) : null]\n }\n onChange={([start, end]) => {\n if (start && end) {\n setPendingMin(undefined);\n onChange(\n { min: fromDateString(start), max: endOfDay(fromDateString(end)) },\n 'calendar',\n );\n } else {\n setPendingMin(start ?? undefined);\n }\n }}\n />\n ) : (\n <DatePicker\n {...calendarProps}\n value={min ? toDateString(min) : null}\n onChange={(date) => onChange(date ? fromDateString(date) : null, 'calendar')}\n />\n )}\n\n {showTime && (\n <div css={{ display: 'flex', alignItems: 'center', gap: 'var(--spacing)' }}>\n <TimeField\n date={min}\n withSeconds={showSeconds}\n onChange={(newMin) =>\n onChange(\n rangeSelect && max ? { min: newMin, max: newMin > max ? newMin : max } : newMin,\n 'input',\n )\n }\n />\n\n {rangeSelect && (\n <>\n {' - '}\n <TimeField\n date={max}\n withSeconds={showSeconds}\n onChange={(newMax) =>\n min && onChange({ min: newMax < min ? newMax : min, max: newMax }, 'input')\n }\n />\n </>\n )}\n </div>\n )}\n\n <DatePickerQuickOptions {...props} onSelect={() => setPendingMin(undefined)} />\n </div>\n );\n}\n\nfunction TimeField({\n date,\n withSeconds,\n onChange,\n}: {\n date?: Date;\n withSeconds: boolean;\n onChange: (date: Date) => void;\n}) {\n const value = date\n ? [date.getHours(), date.getMinutes(), ...(withSeconds ? [date.getSeconds()] : [])]\n .map(pad)\n .join(':')\n : '';\n\n return (\n <TimeInput\n size=\"xs\"\n withSeconds={withSeconds}\n disabled={!date}\n value={value}\n onChange={(event) => {\n const [hours, minutes, seconds = 0] = event.currentTarget.value.split(':').map(Number);\n if (!date || hours === undefined || minutes === undefined || Number.isNaN(hours)) {\n return;\n }\n\n const next = new Date(date);\n next.setHours(hours, minutes, seconds, 0);\n onChange(next);\n }}\n />\n );\n}\n","import { ActionIcon, Button, Checkbox, Indicator, Loader, TextInput } from '@mantine/core';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { TableSettingsProvider } from '../../misc/tableSettings';\nimport type { PartialTableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes } from '../tableTheme';\nimport { MantineDatePicker } from './datePicker';\n\nconst buttonVariants = {\n text: 'subtle',\n outlined: 'default',\n contained: 'filled',\n} as const;\n\nexport const mantineTheme: PartialTableTheme = {\n components: {\n Button: ({ startIcon, variant = 'text', ...props }) => (\n <Button\n {...props}\n variant={buttonVariants[variant]}\n color={variant === 'contained' ? undefined : 'gray'}\n c={variant === 'contained' ? undefined : 'inherit'}\n leftSection={startIcon}\n size=\"sm\"\n justify=\"flex-start\"\n />\n ),\n IconButton: (props) => (\n <ActionIcon\n {...props}\n variant=\"subtle\"\n color=\"gray\"\n c=\"inherit\"\n radius=\"xl\"\n css={{ fontSize: 'var(--mantine-font-size-sm)' }}\n />\n ),\n Checkbox: (props) => (\n <Checkbox {...props} size=\"xs\" css={{ padding: 'calc(var(--spacing) * 1.8)' }} />\n ),\n Popover,\n Badge: ({ badgeContent, children }) => (\n <Indicator label={badgeContent} disabled={!badgeContent} size={16} inline>\n {children}\n </Indicator>\n ),\n TextField: ({ startIcon, endIcon, inputRef, value, ...props }) => (\n <TextInput\n {...props}\n ref={inputRef}\n value={value ?? ''}\n leftSection={startIcon}\n rightSection={endIcon}\n leftSectionPointerEvents=\"all\"\n rightSectionPointerEvents=\"all\"\n size=\"sm\"\n />\n ),\n Spinner: (props) => <Loader {...props} size=\"sm\" />,\n DatePicker: MantineDatePicker,\n },\n // Mantine sets `color-scheme` on :root, so light-dark() follows its color scheme.\n colors: {\n primary: {\n main: 'var(--mantine-primary-color-filled)',\n light: 'var(--mantine-primary-color-4)',\n contrastText: 'var(--mantine-primary-color-contrast)',\n },\n secondary: {\n main: 'var(--mantine-color-gray-filled)',\n light: 'var(--mantine-color-gray-4)',\n contrastText: 'var(--mantine-color-white)',\n },\n blocked: {\n main: 'var(--mantine-color-red-filled)',\n light: 'var(--mantine-color-red-4)',\n contrastText: 'var(--mantine-color-white)',\n },\n background: 'var(--mantine-color-body)',\n text: 'var(--mantine-color-text)',\n border: 'var(--mantine-color-default-border)',\n borderLight: 'light-dark(var(--mantine-color-gray-2), var(--mantine-color-dark-5))',\n },\n};\n\nexport function MantineTableThemeProvider({\n theme,\n children,\n}: {\n theme?: PartialTableTheme;\n children?: ReactNode;\n}) {\n const _theme = useMemo(() => mergeThemes(mantineTheme, theme ?? {}), [theme]);\n\n return <TableSettingsProvider theme={_theme}>{children}</TableSettingsProvider>;\n}\n"],"mappings":"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"}
|
package/dist/mantineTheme.d.cts
CHANGED
|
@@ -4,7 +4,7 @@ import { ReactNode } from "react";
|
|
|
4
4
|
export declare const mantineTheme: PartialTableTheme;
|
|
5
5
|
export declare function MantineTableThemeProvider({ theme, children }: {
|
|
6
6
|
theme?: PartialTableTheme;
|
|
7
|
-
children
|
|
7
|
+
children?: ReactNode;
|
|
8
8
|
}): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
9
|
//#endregion
|
|
10
10
|
//# sourceMappingURL=mantineTheme.d.cts.map
|
package/dist/mantineTheme.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { ReactNode } from "react";
|
|
|
4
4
|
export declare const mantineTheme: PartialTableTheme;
|
|
5
5
|
export declare function MantineTableThemeProvider({ theme, children }: {
|
|
6
6
|
theme?: PartialTableTheme;
|
|
7
|
-
children
|
|
7
|
+
children?: ReactNode;
|
|
8
8
|
}): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
9
|
//#endregion
|
|
10
10
|
//# sourceMappingURL=mantineTheme.d.ts.map
|
package/dist/mantineTheme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mantineTheme.js","names":[],"sources":["../src/theme/mantineTheme/datePicker.tsx","../src/theme/mantineTheme/index.tsx"],"sourcesContent":["import { DatePicker, TimeInput } from '@mantine/dates';\nimport { useEffect, useState } from 'react';\nimport type { DatePickerProps } from '../../components/datePicker';\nimport { dateIntersect, DatePickerQuickOptions, endOfDay } from '../../components/datePicker';\nimport { useCssVariables } from '../useCssVariables';\n\nconst pad = (n: number) => String(n).padStart(2, '0');\n\n// Mantine works with local `YYYY-MM-DD` strings; `new Date(string)` would parse them as UTC.\nconst toDateString = (date: Date) =>\n `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}`;\n\nconst fromDateString = (value: string) => {\n const [year = 0, month = 1, day = 1] = value.split('-').map(Number);\n return new Date(year, month - 1, day);\n};\n\nexport function MantineDatePicker(props: DatePickerProps) {\n const {\n value,\n onChange,\n rangeSelect,\n locale,\n firstDayOfWeek,\n defaultDateInView,\n minDate,\n maxDate,\n showCalendarWeek,\n blockedRanges = [],\n showTime,\n } = props;\n const cssVariables = useCssVariables();\n\n const min = value instanceof Date ? value : value?.min;\n const max = value instanceof Date ? value : value?.max;\n const [pendingMin, setPendingMin] = useState<string>();\n\n const [dateInViewLocal, setDateInViewLocal] = useState(\n () => max ?? defaultDateInView ?? new Date(),\n );\n const dateInView = props.dateInView ?? dateInViewLocal;\n\n function setDateInView(date: Date) {\n setDateInViewLocal(date);\n props.onDateInViewChange?.(date);\n }\n\n useEffect(() => {\n setDateInViewLocal(max ?? defaultDateInView ?? new Date());\n }, [max?.getTime(), defaultDateInView?.getTime()]);\n\n useEffect(() => {\n if (!rangeSelect) {\n setPendingMin(undefined);\n }\n }, [rangeSelect]);\n\n const calendarProps = {\n locale,\n firstDayOfWeek,\n minDate,\n maxDate,\n withWeekNumbers: showCalendarWeek,\n date: toDateString(dateInView),\n onDateChange: (date: string) => setDateInView(fromDateString(date)),\n getDayProps: (date: string) =>\n blockedRanges.some((range) => dateIntersect(fromDateString(date), range))\n ? { 'data-blocked': true }\n : {},\n };\n\n const showSeconds = typeof showTime === 'object' ? showTime.showSeconds !== false : true;\n\n return (\n <div\n css={[\n cssVariables,\n {\n display: 'grid',\n justifyItems: 'center',\n gap: 'var(--spacing)',\n\n '& [data-blocked]:not([data-selected]):not([data-in-range])': {\n backgroundColor: 'var(--mantine-color-red-light)',\n color: 'var(--mantine-color-red-light-color)',\n },\n\n '& [data-blocked][data-selected], & [data-blocked][data-in-range]': {\n boxShadow: 'inset 0 0 0 2px var(--mantine-color-red-filled)',\n },\n },\n ]}\n >\n {rangeSelect ? (\n <DatePicker\n {...calendarProps}\n type=\"range\"\n allowSingleDateInRange\n value={\n pendingMin\n ? [pendingMin, null]\n : [min ? toDateString(min) : null, max ? toDateString(max) : null]\n }\n onChange={([start, end]) => {\n if (start && end) {\n setPendingMin(undefined);\n onChange(\n { min: fromDateString(start), max: endOfDay(fromDateString(end)) },\n 'calendar',\n );\n } else {\n setPendingMin(start ?? undefined);\n }\n }}\n />\n ) : (\n <DatePicker\n {...calendarProps}\n value={min ? toDateString(min) : null}\n onChange={(date) => onChange(date ? fromDateString(date) : null, 'calendar')}\n />\n )}\n\n {showTime && (\n <div css={{ display: 'flex', alignItems: 'center', gap: 'var(--spacing)' }}>\n <TimeField\n date={min}\n withSeconds={showSeconds}\n onChange={(newMin) =>\n onChange(\n rangeSelect && max ? { min: newMin, max: newMin > max ? newMin : max } : newMin,\n 'input',\n )\n }\n />\n\n {rangeSelect && (\n <>\n {' - '}\n <TimeField\n date={max}\n withSeconds={showSeconds}\n onChange={(newMax) =>\n min && onChange({ min: newMax < min ? newMax : min, max: newMax }, 'input')\n }\n />\n </>\n )}\n </div>\n )}\n\n <DatePickerQuickOptions {...props} onSelect={() => setPendingMin(undefined)} />\n </div>\n );\n}\n\nfunction TimeField({\n date,\n withSeconds,\n onChange,\n}: {\n date?: Date;\n withSeconds: boolean;\n onChange: (date: Date) => void;\n}) {\n const value = date\n ? [date.getHours(), date.getMinutes(), ...(withSeconds ? [date.getSeconds()] : [])]\n .map(pad)\n .join(':')\n : '';\n\n return (\n <TimeInput\n size=\"xs\"\n withSeconds={withSeconds}\n disabled={!date}\n value={value}\n onChange={(event) => {\n const [hours, minutes, seconds = 0] = event.currentTarget.value.split(':').map(Number);\n if (!date || hours === undefined || minutes === undefined || Number.isNaN(hours)) {\n return;\n }\n\n const next = new Date(date);\n next.setHours(hours, minutes, seconds, 0);\n onChange(next);\n }}\n />\n );\n}\n","import { ActionIcon, Button, Checkbox, Indicator, Loader, TextInput } from '@mantine/core';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { TableSettingsProvider } from '../../misc/tableSettings';\nimport type { PartialTableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes } from '../tableTheme';\nimport { MantineDatePicker } from './datePicker';\n\nconst buttonVariants = {\n text: 'subtle',\n outlined: 'default',\n contained: 'filled',\n} as const;\n\nexport const mantineTheme: PartialTableTheme = {\n components: {\n Button: ({ startIcon, variant = 'text', ...props }) => (\n <Button\n {...props}\n variant={buttonVariants[variant]}\n color={variant === 'contained' ? undefined : 'gray'}\n c={variant === 'contained' ? undefined : 'inherit'}\n leftSection={startIcon}\n size=\"sm\"\n justify=\"flex-start\"\n />\n ),\n IconButton: (props) => (\n <ActionIcon\n {...props}\n variant=\"subtle\"\n color=\"gray\"\n c=\"inherit\"\n radius=\"xl\"\n css={{ fontSize: 'var(--mantine-font-size-sm)' }}\n />\n ),\n Checkbox: (props) => (\n <Checkbox {...props} size=\"xs\" css={{ padding: 'calc(var(--spacing) * 1.8)' }} />\n ),\n Popover,\n Badge: ({ badgeContent, children }) => (\n <Indicator label={badgeContent} disabled={!badgeContent} size={16} inline>\n {children}\n </Indicator>\n ),\n TextField: ({ startIcon, endIcon, inputRef, value, ...props }) => (\n <TextInput\n {...props}\n ref={inputRef}\n value={value ?? ''}\n leftSection={startIcon}\n rightSection={endIcon}\n leftSectionPointerEvents=\"all\"\n rightSectionPointerEvents=\"all\"\n size=\"sm\"\n />\n ),\n Spinner: (props) => <Loader {...props} size=\"sm\" />,\n DatePicker: MantineDatePicker,\n },\n // Mantine sets `color-scheme` on :root, so light-dark() follows its color scheme.\n colors: {\n primary: {\n main: 'var(--mantine-primary-color-filled)',\n light: 'var(--mantine-primary-color-4)',\n contrastText: 'var(--mantine-primary-color-contrast)',\n },\n secondary: {\n main: 'var(--mantine-color-gray-filled)',\n light: 'var(--mantine-color-gray-4)',\n contrastText: 'var(--mantine-color-white)',\n },\n blocked: {\n main: 'var(--mantine-color-red-filled)',\n light: 'var(--mantine-color-red-4)',\n contrastText: 'var(--mantine-color-white)',\n },\n background: 'var(--mantine-color-body)',\n text: 'var(--mantine-color-text)',\n border: 'var(--mantine-color-default-border)',\n borderLight: 'light-dark(var(--mantine-color-gray-2), var(--mantine-color-dark-5))',\n },\n};\n\nexport function MantineTableThemeProvider({\n theme,\n children,\n}: {\n theme?: PartialTableTheme;\n children: ReactNode;\n}) {\n const _theme = useMemo(() => mergeThemes(mantineTheme, theme ?? {}), [theme]);\n\n return <TableSettingsProvider theme={_theme}>{children}</TableSettingsProvider>;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mantineTheme.js","names":[],"sources":["../src/theme/mantineTheme/datePicker.tsx","../src/theme/mantineTheme/index.tsx"],"sourcesContent":["import { DatePicker, TimeInput } from '@mantine/dates';\nimport { useEffect, useState } from 'react';\nimport type { DatePickerProps } from '../../components/datePicker';\nimport { dateIntersect, DatePickerQuickOptions, endOfDay } from '../../components/datePicker';\nimport { useCssVariables } from '../useCssVariables';\n\nconst pad = (n: number) => String(n).padStart(2, '0');\n\n// Mantine works with local `YYYY-MM-DD` strings; `new Date(string)` would parse them as UTC.\nconst toDateString = (date: Date) =>\n `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}`;\n\nconst fromDateString = (value: string) => {\n const [year = 0, month = 1, day = 1] = value.split('-').map(Number);\n return new Date(year, month - 1, day);\n};\n\nexport function MantineDatePicker(props: DatePickerProps) {\n const {\n value,\n onChange,\n rangeSelect,\n locale,\n firstDayOfWeek,\n defaultDateInView,\n minDate,\n maxDate,\n showCalendarWeek,\n blockedRanges = [],\n showTime,\n } = props;\n const cssVariables = useCssVariables();\n\n const min = value instanceof Date ? value : value?.min;\n const max = value instanceof Date ? value : value?.max;\n const [pendingMin, setPendingMin] = useState<string>();\n\n const [dateInViewLocal, setDateInViewLocal] = useState(\n () => max ?? defaultDateInView ?? new Date(),\n );\n const dateInView = props.dateInView ?? dateInViewLocal;\n\n function setDateInView(date: Date) {\n setDateInViewLocal(date);\n props.onDateInViewChange?.(date);\n }\n\n useEffect(() => {\n setDateInViewLocal(max ?? defaultDateInView ?? new Date());\n }, [max?.getTime(), defaultDateInView?.getTime()]);\n\n useEffect(() => {\n if (!rangeSelect) {\n setPendingMin(undefined);\n }\n }, [rangeSelect]);\n\n const calendarProps = {\n locale,\n firstDayOfWeek,\n minDate,\n maxDate,\n withWeekNumbers: showCalendarWeek,\n date: toDateString(dateInView),\n onDateChange: (date: string) => setDateInView(fromDateString(date)),\n getDayProps: (date: string) =>\n blockedRanges.some((range) => dateIntersect(fromDateString(date), range))\n ? { 'data-blocked': true }\n : {},\n };\n\n const showSeconds = typeof showTime === 'object' ? showTime.showSeconds !== false : true;\n\n return (\n <div\n css={[\n cssVariables,\n {\n display: 'grid',\n justifyItems: 'center',\n gap: 'var(--spacing)',\n\n '& [data-blocked]:not([data-selected]):not([data-in-range])': {\n backgroundColor: 'var(--mantine-color-red-light)',\n color: 'var(--mantine-color-red-light-color)',\n },\n\n '& [data-blocked][data-selected], & [data-blocked][data-in-range]': {\n boxShadow: 'inset 0 0 0 2px var(--mantine-color-red-filled)',\n },\n },\n ]}\n >\n {rangeSelect ? (\n <DatePicker\n {...calendarProps}\n type=\"range\"\n allowSingleDateInRange\n value={\n pendingMin\n ? [pendingMin, null]\n : [min ? toDateString(min) : null, max ? toDateString(max) : null]\n }\n onChange={([start, end]) => {\n if (start && end) {\n setPendingMin(undefined);\n onChange(\n { min: fromDateString(start), max: endOfDay(fromDateString(end)) },\n 'calendar',\n );\n } else {\n setPendingMin(start ?? undefined);\n }\n }}\n />\n ) : (\n <DatePicker\n {...calendarProps}\n value={min ? toDateString(min) : null}\n onChange={(date) => onChange(date ? fromDateString(date) : null, 'calendar')}\n />\n )}\n\n {showTime && (\n <div css={{ display: 'flex', alignItems: 'center', gap: 'var(--spacing)' }}>\n <TimeField\n date={min}\n withSeconds={showSeconds}\n onChange={(newMin) =>\n onChange(\n rangeSelect && max ? { min: newMin, max: newMin > max ? newMin : max } : newMin,\n 'input',\n )\n }\n />\n\n {rangeSelect && (\n <>\n {' - '}\n <TimeField\n date={max}\n withSeconds={showSeconds}\n onChange={(newMax) =>\n min && onChange({ min: newMax < min ? newMax : min, max: newMax }, 'input')\n }\n />\n </>\n )}\n </div>\n )}\n\n <DatePickerQuickOptions {...props} onSelect={() => setPendingMin(undefined)} />\n </div>\n );\n}\n\nfunction TimeField({\n date,\n withSeconds,\n onChange,\n}: {\n date?: Date;\n withSeconds: boolean;\n onChange: (date: Date) => void;\n}) {\n const value = date\n ? [date.getHours(), date.getMinutes(), ...(withSeconds ? [date.getSeconds()] : [])]\n .map(pad)\n .join(':')\n : '';\n\n return (\n <TimeInput\n size=\"xs\"\n withSeconds={withSeconds}\n disabled={!date}\n value={value}\n onChange={(event) => {\n const [hours, minutes, seconds = 0] = event.currentTarget.value.split(':').map(Number);\n if (!date || hours === undefined || minutes === undefined || Number.isNaN(hours)) {\n return;\n }\n\n const next = new Date(date);\n next.setHours(hours, minutes, seconds, 0);\n onChange(next);\n }}\n />\n );\n}\n","import { ActionIcon, Button, Checkbox, Indicator, Loader, TextInput } from '@mantine/core';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { TableSettingsProvider } from '../../misc/tableSettings';\nimport type { PartialTableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes } from '../tableTheme';\nimport { MantineDatePicker } from './datePicker';\n\nconst buttonVariants = {\n text: 'subtle',\n outlined: 'default',\n contained: 'filled',\n} as const;\n\nexport const mantineTheme: PartialTableTheme = {\n components: {\n Button: ({ startIcon, variant = 'text', ...props }) => (\n <Button\n {...props}\n variant={buttonVariants[variant]}\n color={variant === 'contained' ? undefined : 'gray'}\n c={variant === 'contained' ? undefined : 'inherit'}\n leftSection={startIcon}\n size=\"sm\"\n justify=\"flex-start\"\n />\n ),\n IconButton: (props) => (\n <ActionIcon\n {...props}\n variant=\"subtle\"\n color=\"gray\"\n c=\"inherit\"\n radius=\"xl\"\n css={{ fontSize: 'var(--mantine-font-size-sm)' }}\n />\n ),\n Checkbox: (props) => (\n <Checkbox {...props} size=\"xs\" css={{ padding: 'calc(var(--spacing) * 1.8)' }} />\n ),\n Popover,\n Badge: ({ badgeContent, children }) => (\n <Indicator label={badgeContent} disabled={!badgeContent} size={16} inline>\n {children}\n </Indicator>\n ),\n TextField: ({ startIcon, endIcon, inputRef, value, ...props }) => (\n <TextInput\n {...props}\n ref={inputRef}\n value={value ?? ''}\n leftSection={startIcon}\n rightSection={endIcon}\n leftSectionPointerEvents=\"all\"\n rightSectionPointerEvents=\"all\"\n size=\"sm\"\n />\n ),\n Spinner: (props) => <Loader {...props} size=\"sm\" />,\n DatePicker: MantineDatePicker,\n },\n // Mantine sets `color-scheme` on :root, so light-dark() follows its color scheme.\n colors: {\n primary: {\n main: 'var(--mantine-primary-color-filled)',\n light: 'var(--mantine-primary-color-4)',\n contrastText: 'var(--mantine-primary-color-contrast)',\n },\n secondary: {\n main: 'var(--mantine-color-gray-filled)',\n light: 'var(--mantine-color-gray-4)',\n contrastText: 'var(--mantine-color-white)',\n },\n blocked: {\n main: 'var(--mantine-color-red-filled)',\n light: 'var(--mantine-color-red-4)',\n contrastText: 'var(--mantine-color-white)',\n },\n background: 'var(--mantine-color-body)',\n text: 'var(--mantine-color-text)',\n border: 'var(--mantine-color-default-border)',\n borderLight: 'light-dark(var(--mantine-color-gray-2), var(--mantine-color-dark-5))',\n },\n};\n\nexport function MantineTableThemeProvider({\n theme,\n children,\n}: {\n theme?: PartialTableTheme;\n children?: ReactNode;\n}) {\n const _theme = useMemo(() => mergeThemes(mantineTheme, theme ?? {}), [theme]);\n\n return <TableSettingsProvider theme={_theme}>{children}</TableSettingsProvider>;\n}\n"],"mappings":"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"}
|
package/dist/mui4Theme.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mui4Theme.cjs","names":["Button","IconButton","Checkbox","TextField","CircularProgress","useTheme","useMemo","mergeThemes","TableSettingsProvider"],"sources":["../src/theme/mui4Theme/index.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Checkbox,\n CircularProgress,\n IconButton,\n TextField,\n useTheme,\n} from '@material-ui/core';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { TableSettingsProvider } from '../../misc/tableSettings';\nimport type { PartialTableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes } from '../tableTheme';\n\nexport const mui4Theme: PartialTableTheme = {\n components: {\n Button: (props) => (\n <Button\n {...props}\n size=\"small\"\n fullWidth\n css={{ justifyContent: 'start !important' }}\n color={props.variant === 'contained' ? 'primary' : 'inherit'}\n />\n ),\n IconButton: (props) => <IconButton {...props} size=\"small\" color=\"inherit\" />,\n Checkbox: (props) => <Checkbox {...props} color=\"primary\" size=\"medium\" />,\n Popover,\n Badge,\n TextField: ({ startIcon, endIcon, ...props }) => (\n <TextField\n {...props}\n InputProps={{ startAdornment: startIcon, endAdornment: endIcon }}\n size=\"small\"\n variant=\"outlined\"\n />\n ),\n Spinner: CircularProgress,\n },\n};\n\nexport function Mui4TableThemeProvider({\n theme,\n children,\n}: {\n theme?: PartialTableTheme;\n children
|
|
1
|
+
{"version":3,"file":"mui4Theme.cjs","names":["Button","IconButton","Checkbox","TextField","CircularProgress","useTheme","useMemo","mergeThemes","TableSettingsProvider"],"sources":["../src/theme/mui4Theme/index.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Checkbox,\n CircularProgress,\n IconButton,\n TextField,\n useTheme,\n} from '@material-ui/core';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { TableSettingsProvider } from '../../misc/tableSettings';\nimport type { PartialTableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes } from '../tableTheme';\n\nexport const mui4Theme: PartialTableTheme = {\n components: {\n Button: (props) => (\n <Button\n {...props}\n size=\"small\"\n fullWidth\n css={{ justifyContent: 'start !important' }}\n color={props.variant === 'contained' ? 'primary' : 'inherit'}\n />\n ),\n IconButton: (props) => <IconButton {...props} size=\"small\" color=\"inherit\" />,\n Checkbox: (props) => <Checkbox {...props} color=\"primary\" size=\"medium\" />,\n Popover,\n Badge,\n TextField: ({ startIcon, endIcon, ...props }) => (\n <TextField\n {...props}\n InputProps={{ startAdornment: startIcon, endAdornment: endIcon }}\n size=\"small\"\n variant=\"outlined\"\n />\n ),\n Spinner: CircularProgress,\n },\n};\n\nexport function Mui4TableThemeProvider({\n theme,\n children,\n}: {\n theme?: PartialTableTheme;\n children?: ReactNode;\n}) {\n const muiTheme = useTheme();\n\n const _theme = useMemo(() => {\n return mergeThemes(\n {\n colors: {\n primary: muiTheme.palette.primary,\n secondary: muiTheme.palette.secondary,\n background: muiTheme.palette.background.default,\n text: muiTheme.palette.text.primary,\n border: muiTheme.palette.divider,\n borderLight: muiTheme.palette.divider,\n },\n },\n mui4Theme,\n theme ?? {},\n );\n }, [muiTheme, theme]);\n\n return <TableSettingsProvider theme={_theme}>{children}</TableSettingsProvider>;\n}\n"],"mappings":";;;;;;AAgBA,MAAa,YAA+B,EAC1C,YAAY;CACV,SAAS,UACP,iBAAA,GAAA,2BAAA,IAAA,CAACA,kBAAAA,QAAD;EACE,GAAI;EACJ,MAAK;EACL,WAAA;EACA,KAAK,EAAE,gBAAgB,mBAAmB;EAC1C,OAAO,MAAM,YAAY,cAAc,YAAY;CACpD,CAAA;CAEH,aAAa,UAAU,iBAAA,GAAA,2BAAA,IAAA,CAACC,kBAAAA,YAAD;EAAY,GAAI;EAAO,MAAK;EAAQ,OAAM;CAAW,CAAA;CAC5E,WAAW,UAAU,iBAAA,GAAA,2BAAA,IAAA,CAACC,kBAAAA,UAAD;EAAU,GAAI;EAAO,OAAM;EAAU,MAAK;CAAU,CAAA;CACzE,SAAA,mBAAA;CACA,OAAA,kBAAA;CACA,YAAY,EAAE,WAAW,SAAS,GAAG,YACnC,iBAAA,GAAA,2BAAA,IAAA,CAACC,kBAAAA,WAAD;EACE,GAAI;EACJ,YAAY;GAAE,gBAAgB;GAAW,cAAc;EAAQ;EAC/D,MAAK;EACL,SAAQ;CACT,CAAA;CAEH,SAASC,kBAAAA;AACX,EACF;AAEA,SAAgB,uBAAuB,EACrC,OACA,YAIC;CACD,MAAM,YAAA,GAAWC,kBAAAA,SAAAA,CAAS;CAE1B,MAAM,UAAA,GAASC,MAAAA,QAAAA,OAAc;EAC3B,OAAOC,mBAAAA,YACL,EACE,QAAQ;GACN,SAAS,SAAS,QAAQ;GAC1B,WAAW,SAAS,QAAQ;GAC5B,YAAY,SAAS,QAAQ,WAAW;GACxC,MAAM,SAAS,QAAQ,KAAK;GAC5B,QAAQ,SAAS,QAAQ;GACzB,aAAa,SAAS,QAAQ;EAChC,EACF,GACA,WACA,SAAS,CAAC,CACZ;CACF,GAAG,CAAC,UAAU,KAAK,CAAC;CAEpB,OAAO,iBAAA,GAAA,2BAAA,IAAA,CAACC,mBAAAA,uBAAD;EAAuB,OAAO;EAAS;CAAgC,CAAA;AAChF"}
|
package/dist/mui4Theme.d.cts
CHANGED
|
@@ -4,7 +4,7 @@ import { ReactNode } from "react";
|
|
|
4
4
|
export declare const mui4Theme: PartialTableTheme;
|
|
5
5
|
export declare function Mui4TableThemeProvider({ theme, children }: {
|
|
6
6
|
theme?: PartialTableTheme;
|
|
7
|
-
children
|
|
7
|
+
children?: ReactNode;
|
|
8
8
|
}): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
9
|
//#endregion
|
|
10
10
|
//# sourceMappingURL=mui4Theme.d.cts.map
|
package/dist/mui4Theme.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { ReactNode } from "react";
|
|
|
4
4
|
export declare const mui4Theme: PartialTableTheme;
|
|
5
5
|
export declare function Mui4TableThemeProvider({ theme, children }: {
|
|
6
6
|
theme?: PartialTableTheme;
|
|
7
|
-
children
|
|
7
|
+
children?: ReactNode;
|
|
8
8
|
}): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
9
|
//#endregion
|
|
10
10
|
//# sourceMappingURL=mui4Theme.d.ts.map
|
package/dist/mui4Theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mui4Theme.js","names":[],"sources":["../src/theme/mui4Theme/index.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Checkbox,\n CircularProgress,\n IconButton,\n TextField,\n useTheme,\n} from '@material-ui/core';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { TableSettingsProvider } from '../../misc/tableSettings';\nimport type { PartialTableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes } from '../tableTheme';\n\nexport const mui4Theme: PartialTableTheme = {\n components: {\n Button: (props) => (\n <Button\n {...props}\n size=\"small\"\n fullWidth\n css={{ justifyContent: 'start !important' }}\n color={props.variant === 'contained' ? 'primary' : 'inherit'}\n />\n ),\n IconButton: (props) => <IconButton {...props} size=\"small\" color=\"inherit\" />,\n Checkbox: (props) => <Checkbox {...props} color=\"primary\" size=\"medium\" />,\n Popover,\n Badge,\n TextField: ({ startIcon, endIcon, ...props }) => (\n <TextField\n {...props}\n InputProps={{ startAdornment: startIcon, endAdornment: endIcon }}\n size=\"small\"\n variant=\"outlined\"\n />\n ),\n Spinner: CircularProgress,\n },\n};\n\nexport function Mui4TableThemeProvider({\n theme,\n children,\n}: {\n theme?: PartialTableTheme;\n children
|
|
1
|
+
{"version":3,"file":"mui4Theme.js","names":[],"sources":["../src/theme/mui4Theme/index.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Checkbox,\n CircularProgress,\n IconButton,\n TextField,\n useTheme,\n} from '@material-ui/core';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { TableSettingsProvider } from '../../misc/tableSettings';\nimport type { PartialTableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes } from '../tableTheme';\n\nexport const mui4Theme: PartialTableTheme = {\n components: {\n Button: (props) => (\n <Button\n {...props}\n size=\"small\"\n fullWidth\n css={{ justifyContent: 'start !important' }}\n color={props.variant === 'contained' ? 'primary' : 'inherit'}\n />\n ),\n IconButton: (props) => <IconButton {...props} size=\"small\" color=\"inherit\" />,\n Checkbox: (props) => <Checkbox {...props} color=\"primary\" size=\"medium\" />,\n Popover,\n Badge,\n TextField: ({ startIcon, endIcon, ...props }) => (\n <TextField\n {...props}\n InputProps={{ startAdornment: startIcon, endAdornment: endIcon }}\n size=\"small\"\n variant=\"outlined\"\n />\n ),\n Spinner: CircularProgress,\n },\n};\n\nexport function Mui4TableThemeProvider({\n theme,\n children,\n}: {\n theme?: PartialTableTheme;\n children?: ReactNode;\n}) {\n const muiTheme = useTheme();\n\n const _theme = useMemo(() => {\n return mergeThemes(\n {\n colors: {\n primary: muiTheme.palette.primary,\n secondary: muiTheme.palette.secondary,\n background: muiTheme.palette.background.default,\n text: muiTheme.palette.text.primary,\n border: muiTheme.palette.divider,\n borderLight: muiTheme.palette.divider,\n },\n },\n mui4Theme,\n theme ?? {},\n );\n }, [muiTheme, theme]);\n\n return <TableSettingsProvider theme={_theme}>{children}</TableSettingsProvider>;\n}\n"],"mappings":";;;;;AAgBA,MAAa,YAA+B,EAC1C,YAAY;CACV,SAAS,UACP,oBAAC,QAAD;EACE,GAAI;EACJ,MAAK;EACL,WAAA;EACA,KAAK,EAAE,gBAAgB,mBAAmB;EAC1C,OAAO,MAAM,YAAY,cAAc,YAAY;CACpD,CAAA;CAEH,aAAa,UAAU,oBAAC,YAAD;EAAY,GAAI;EAAO,MAAK;EAAQ,OAAM;CAAW,CAAA;CAC5E,WAAW,UAAU,oBAAC,UAAD;EAAU,GAAI;EAAO,OAAM;EAAU,MAAK;CAAU,CAAA;CACzE;CACA;CACA,YAAY,EAAE,WAAW,SAAS,GAAG,YACnC,oBAAC,WAAD;EACE,GAAI;EACJ,YAAY;GAAE,gBAAgB;GAAW,cAAc;EAAQ;EAC/D,MAAK;EACL,SAAQ;CACT,CAAA;CAEH,SAAS;AACX,EACF;AAEA,SAAgB,uBAAuB,EACrC,OACA,YAIC;CACD,MAAM,WAAW,SAAS;CAE1B,MAAM,SAAS,cAAc;EAC3B,OAAO,YACL,EACE,QAAQ;GACN,SAAS,SAAS,QAAQ;GAC1B,WAAW,SAAS,QAAQ;GAC5B,YAAY,SAAS,QAAQ,WAAW;GACxC,MAAM,SAAS,QAAQ,KAAK;GAC5B,QAAQ,SAAS,QAAQ;GACzB,aAAa,SAAS,QAAQ;EAChC,EACF,GACA,WACA,SAAS,CAAC,CACZ;CACF,GAAG,CAAC,UAAU,KAAK,CAAC;CAEpB,OAAO,oBAAC,uBAAD;EAAuB,OAAO;EAAS;CAAgC,CAAA;AAChF"}
|
package/dist/mui5Theme.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mui5Theme.cjs","names":["Button","IconButton","Checkbox","TextField","CircularProgress","useTheme","useMemo","mergeThemes","TableSettingsProvider"],"sources":["../src/theme/mui5Theme/index.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Checkbox,\n CircularProgress,\n IconButton,\n TextField,\n useTheme,\n} from '@mui/material';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { TableSettingsProvider } from '../../misc/tableSettings';\nimport type { PartialTableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes } from '../tableTheme';\n\nexport const mui5Theme: PartialTableTheme = {\n components: {\n Button: (props) => (\n <Button\n {...props}\n size=\"small\"\n fullWidth\n css={{ justifyContent: 'start !important' }}\n color={props.variant === 'contained' ? 'primary' : 'inherit'}\n />\n ),\n IconButton: (props) => (\n <IconButton {...props} size=\"small\" css={{ fontSize: '0.8em' }} color=\"inherit\" />\n ),\n Checkbox: (props) => <Checkbox {...props} color=\"primary\" size=\"small\" />,\n Popover,\n Badge,\n TextField: ({ startIcon, endIcon, ...props }) => (\n <TextField\n {...props}\n InputProps={{ startAdornment: startIcon, endAdornment: endIcon }}\n size=\"small\"\n />\n ),\n Spinner: (props) => <CircularProgress {...props} size={20} />,\n },\n};\n\nexport function Mui5TableThemeProvider({\n theme,\n children,\n}: {\n theme?: PartialTableTheme;\n children
|
|
1
|
+
{"version":3,"file":"mui5Theme.cjs","names":["Button","IconButton","Checkbox","TextField","CircularProgress","useTheme","useMemo","mergeThemes","TableSettingsProvider"],"sources":["../src/theme/mui5Theme/index.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Checkbox,\n CircularProgress,\n IconButton,\n TextField,\n useTheme,\n} from '@mui/material';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { TableSettingsProvider } from '../../misc/tableSettings';\nimport type { PartialTableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes } from '../tableTheme';\n\nexport const mui5Theme: PartialTableTheme = {\n components: {\n Button: (props) => (\n <Button\n {...props}\n size=\"small\"\n fullWidth\n css={{ justifyContent: 'start !important' }}\n color={props.variant === 'contained' ? 'primary' : 'inherit'}\n />\n ),\n IconButton: (props) => (\n <IconButton {...props} size=\"small\" css={{ fontSize: '0.8em' }} color=\"inherit\" />\n ),\n Checkbox: (props) => <Checkbox {...props} color=\"primary\" size=\"small\" />,\n Popover,\n Badge,\n TextField: ({ startIcon, endIcon, ...props }) => (\n <TextField\n {...props}\n InputProps={{ startAdornment: startIcon, endAdornment: endIcon }}\n size=\"small\"\n />\n ),\n Spinner: (props) => <CircularProgress {...props} size={20} />,\n },\n};\n\nexport function Mui5TableThemeProvider({\n theme,\n children,\n}: {\n theme?: PartialTableTheme;\n children?: ReactNode;\n}) {\n const muiTheme = useTheme();\n\n const _theme = useMemo(() => {\n return mergeThemes(\n {\n colors: {\n primary: muiTheme.palette.primary,\n secondary: muiTheme.palette.secondary,\n background: muiTheme.palette.background.default,\n text: muiTheme.palette.text.primary,\n border: muiTheme.palette.divider,\n borderLight: muiTheme.palette.divider,\n },\n },\n mui5Theme,\n theme ?? {},\n );\n }, [muiTheme, theme]);\n\n return <TableSettingsProvider theme={_theme}>{children}</TableSettingsProvider>;\n}\n"],"mappings":";;;;;;AAgBA,MAAa,YAA+B,EAC1C,YAAY;CACV,SAAS,UACP,iBAAA,GAAA,2BAAA,IAAA,CAACA,cAAAA,QAAD;EACE,GAAI;EACJ,MAAK;EACL,WAAA;EACA,KAAK,EAAE,gBAAgB,mBAAmB;EAC1C,OAAO,MAAM,YAAY,cAAc,YAAY;CACpD,CAAA;CAEH,aAAa,UACX,iBAAA,GAAA,2BAAA,IAAA,CAACC,cAAAA,YAAD;EAAY,GAAI;EAAO,MAAK;EAAQ,KAAK,EAAE,UAAU,QAAQ;EAAG,OAAM;CAAW,CAAA;CAEnF,WAAW,UAAU,iBAAA,GAAA,2BAAA,IAAA,CAACC,cAAAA,UAAD;EAAU,GAAI;EAAO,OAAM;EAAU,MAAK;CAAS,CAAA;CACxE,SAAA,mBAAA;CACA,OAAA,cAAA;CACA,YAAY,EAAE,WAAW,SAAS,GAAG,YACnC,iBAAA,GAAA,2BAAA,IAAA,CAACC,cAAAA,WAAD;EACE,GAAI;EACJ,YAAY;GAAE,gBAAgB;GAAW,cAAc;EAAQ;EAC/D,MAAK;CACN,CAAA;CAEH,UAAU,UAAU,iBAAA,GAAA,2BAAA,IAAA,CAACC,cAAAA,kBAAD;EAAkB,GAAI;EAAO,MAAM;CAAK,CAAA;AAC9D,EACF;AAEA,SAAgB,uBAAuB,EACrC,OACA,YAIC;CACD,MAAM,YAAA,GAAWC,cAAAA,SAAAA,CAAS;CAE1B,MAAM,UAAA,GAASC,MAAAA,QAAAA,OAAc;EAC3B,OAAOC,mBAAAA,YACL,EACE,QAAQ;GACN,SAAS,SAAS,QAAQ;GAC1B,WAAW,SAAS,QAAQ;GAC5B,YAAY,SAAS,QAAQ,WAAW;GACxC,MAAM,SAAS,QAAQ,KAAK;GAC5B,QAAQ,SAAS,QAAQ;GACzB,aAAa,SAAS,QAAQ;EAChC,EACF,GACA,WACA,SAAS,CAAC,CACZ;CACF,GAAG,CAAC,UAAU,KAAK,CAAC;CAEpB,OAAO,iBAAA,GAAA,2BAAA,IAAA,CAACC,mBAAAA,uBAAD;EAAuB,OAAO;EAAS;CAAgC,CAAA;AAChF"}
|
package/dist/mui5Theme.d.cts
CHANGED
|
@@ -4,7 +4,7 @@ import { ReactNode } from "react";
|
|
|
4
4
|
export declare const mui5Theme: PartialTableTheme;
|
|
5
5
|
export declare function Mui5TableThemeProvider({ theme, children }: {
|
|
6
6
|
theme?: PartialTableTheme;
|
|
7
|
-
children
|
|
7
|
+
children?: ReactNode;
|
|
8
8
|
}): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
9
|
//#endregion
|
|
10
10
|
//# sourceMappingURL=mui5Theme.d.cts.map
|
package/dist/mui5Theme.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { ReactNode } from "react";
|
|
|
4
4
|
export declare const mui5Theme: PartialTableTheme;
|
|
5
5
|
export declare function Mui5TableThemeProvider({ theme, children }: {
|
|
6
6
|
theme?: PartialTableTheme;
|
|
7
|
-
children
|
|
7
|
+
children?: ReactNode;
|
|
8
8
|
}): import("@emotion/react/jsx-runtime").JSX.Element;
|
|
9
9
|
//#endregion
|
|
10
10
|
//# sourceMappingURL=mui5Theme.d.ts.map
|
package/dist/mui5Theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mui5Theme.js","names":[],"sources":["../src/theme/mui5Theme/index.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Checkbox,\n CircularProgress,\n IconButton,\n TextField,\n useTheme,\n} from '@mui/material';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { TableSettingsProvider } from '../../misc/tableSettings';\nimport type { PartialTableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes } from '../tableTheme';\n\nexport const mui5Theme: PartialTableTheme = {\n components: {\n Button: (props) => (\n <Button\n {...props}\n size=\"small\"\n fullWidth\n css={{ justifyContent: 'start !important' }}\n color={props.variant === 'contained' ? 'primary' : 'inherit'}\n />\n ),\n IconButton: (props) => (\n <IconButton {...props} size=\"small\" css={{ fontSize: '0.8em' }} color=\"inherit\" />\n ),\n Checkbox: (props) => <Checkbox {...props} color=\"primary\" size=\"small\" />,\n Popover,\n Badge,\n TextField: ({ startIcon, endIcon, ...props }) => (\n <TextField\n {...props}\n InputProps={{ startAdornment: startIcon, endAdornment: endIcon }}\n size=\"small\"\n />\n ),\n Spinner: (props) => <CircularProgress {...props} size={20} />,\n },\n};\n\nexport function Mui5TableThemeProvider({\n theme,\n children,\n}: {\n theme?: PartialTableTheme;\n children
|
|
1
|
+
{"version":3,"file":"mui5Theme.js","names":[],"sources":["../src/theme/mui5Theme/index.tsx"],"sourcesContent":["import {\n Badge,\n Button,\n Checkbox,\n CircularProgress,\n IconButton,\n TextField,\n useTheme,\n} from '@mui/material';\nimport type { ReactNode } from 'react';\nimport { useMemo } from 'react';\nimport { TableSettingsProvider } from '../../misc/tableSettings';\nimport type { PartialTableTheme } from '../../types';\nimport { Popover } from '../defaultTheme/popover';\nimport { mergeThemes } from '../tableTheme';\n\nexport const mui5Theme: PartialTableTheme = {\n components: {\n Button: (props) => (\n <Button\n {...props}\n size=\"small\"\n fullWidth\n css={{ justifyContent: 'start !important' }}\n color={props.variant === 'contained' ? 'primary' : 'inherit'}\n />\n ),\n IconButton: (props) => (\n <IconButton {...props} size=\"small\" css={{ fontSize: '0.8em' }} color=\"inherit\" />\n ),\n Checkbox: (props) => <Checkbox {...props} color=\"primary\" size=\"small\" />,\n Popover,\n Badge,\n TextField: ({ startIcon, endIcon, ...props }) => (\n <TextField\n {...props}\n InputProps={{ startAdornment: startIcon, endAdornment: endIcon }}\n size=\"small\"\n />\n ),\n Spinner: (props) => <CircularProgress {...props} size={20} />,\n },\n};\n\nexport function Mui5TableThemeProvider({\n theme,\n children,\n}: {\n theme?: PartialTableTheme;\n children?: ReactNode;\n}) {\n const muiTheme = useTheme();\n\n const _theme = useMemo(() => {\n return mergeThemes(\n {\n colors: {\n primary: muiTheme.palette.primary,\n secondary: muiTheme.palette.secondary,\n background: muiTheme.palette.background.default,\n text: muiTheme.palette.text.primary,\n border: muiTheme.palette.divider,\n borderLight: muiTheme.palette.divider,\n },\n },\n mui5Theme,\n theme ?? {},\n );\n }, [muiTheme, theme]);\n\n return <TableSettingsProvider theme={_theme}>{children}</TableSettingsProvider>;\n}\n"],"mappings":";;;;;AAgBA,MAAa,YAA+B,EAC1C,YAAY;CACV,SAAS,UACP,oBAAC,QAAD;EACE,GAAI;EACJ,MAAK;EACL,WAAA;EACA,KAAK,EAAE,gBAAgB,mBAAmB;EAC1C,OAAO,MAAM,YAAY,cAAc,YAAY;CACpD,CAAA;CAEH,aAAa,UACX,oBAAC,YAAD;EAAY,GAAI;EAAO,MAAK;EAAQ,KAAK,EAAE,UAAU,QAAQ;EAAG,OAAM;CAAW,CAAA;CAEnF,WAAW,UAAU,oBAAC,UAAD;EAAU,GAAI;EAAO,OAAM;EAAU,MAAK;CAAS,CAAA;CACxE;CACA;CACA,YAAY,EAAE,WAAW,SAAS,GAAG,YACnC,oBAAC,WAAD;EACE,GAAI;EACJ,YAAY;GAAE,gBAAgB;GAAW,cAAc;EAAQ;EAC/D,MAAK;CACN,CAAA;CAEH,UAAU,UAAU,oBAAC,kBAAD;EAAkB,GAAI;EAAO,MAAM;CAAK,CAAA;AAC9D,EACF;AAEA,SAAgB,uBAAuB,EACrC,OACA,YAIC;CACD,MAAM,WAAW,SAAS;CAE1B,MAAM,SAAS,cAAc;EAC3B,OAAO,YACL,EACE,QAAQ;GACN,SAAS,SAAS,QAAQ;GAC1B,WAAW,SAAS,QAAQ;GAC5B,YAAY,SAAS,QAAQ,WAAW;GACxC,MAAM,SAAS,QAAQ,KAAK;GAC5B,QAAQ,SAAS,QAAQ;GACzB,aAAa,SAAS,QAAQ;EAChC,EACF,GACA,WACA,SAAS,CAAC,CACZ;CACF,GAAG,CAAC,UAAU,KAAK,CAAC;CAEpB,OAAO,oBAAC,uBAAD;EAAuB,OAAO;EAAS;CAAgC,CAAA;AAChF"}
|
package/package.json
CHANGED