@mage-ui/components 1.0.89 → 1.0.92
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/controls/textarea/Textarea.d.mts +3 -15
- package/dist/components/controls/textarea/Textarea.d.mts.map +1 -1
- package/dist/components/controls/textarea/Textarea.mjs +1 -1
- package/dist/components/controls/textarea/Textarea.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTable.d.mts.map +1 -1
- package/dist/components/data-display/datatables/DataTable.mjs +1 -1
- package/dist/components/data-display/datatables/DataTable.mjs.map +1 -1
- package/dist/components/data-display/datatables/DataTableColGroup.mjs +2 -0
- package/dist/components/data-display/datatables/DataTableColGroup.mjs.map +1 -0
- package/dist/components/data-display/datatables/DataTableHeader.mjs +1 -1
- package/dist/components/data-display/datatables/DataTableHeader.mjs.map +1 -1
- package/dist/components/data-display/table/Table.d.mts +2 -0
- package/dist/components/data-display/table/Table.d.mts.map +1 -1
- package/dist/components/data-display/table/TableRoot.mjs +1 -1
- package/dist/components/data-display/table/TableRoot.mjs.map +1 -1
- package/dist/components/forms/Form.d.mts +13 -0
- package/dist/components/forms/Form.d.mts.map +1 -1
- package/dist/components/forms/Form.mjs +1 -1
- package/dist/components/forms/Form.mjs.map +1 -1
- package/dist/components/forms/controls/FormTextarea.mjs +2 -0
- package/dist/components/forms/controls/FormTextarea.mjs.map +1 -0
- package/dist/components/forms/controls/index.mjs +1 -1
- package/dist/components/forms/controls/index.mjs.map +1 -1
- package/package.json +3 -3
|
@@ -3,7 +3,6 @@ import { ComponentProps, ReactNode } from "react";
|
|
|
3
3
|
|
|
4
4
|
//#region src/components/controls/textarea/Textarea.d.ts
|
|
5
5
|
type TextareaProps = Omit<ComponentProps<'textarea'>, 'size'> & {
|
|
6
|
-
name?: string;
|
|
7
6
|
label?: ReactNode;
|
|
8
7
|
description?: ReactNode;
|
|
9
8
|
error?: ReactNode;
|
|
@@ -21,26 +20,15 @@ type TextareaProps = Omit<ComponentProps<'textarea'>, 'size'> & {
|
|
|
21
20
|
wrapper?: string;
|
|
22
21
|
input?: string;
|
|
23
22
|
section?: string;
|
|
23
|
+
required?: string;
|
|
24
24
|
};
|
|
25
25
|
};
|
|
26
26
|
declare const Textarea: ({
|
|
27
|
-
name,
|
|
28
|
-
label,
|
|
29
|
-
description,
|
|
30
|
-
error,
|
|
31
|
-
placeholder,
|
|
32
27
|
classNames,
|
|
28
|
+
required,
|
|
33
29
|
startSlot,
|
|
34
30
|
endSlot,
|
|
35
|
-
|
|
36
|
-
value,
|
|
37
|
-
id,
|
|
38
|
-
disabled,
|
|
39
|
-
required,
|
|
40
|
-
readOnly,
|
|
41
|
-
autosize,
|
|
42
|
-
minRows,
|
|
43
|
-
maxRows
|
|
31
|
+
...props
|
|
44
32
|
}: TextareaProps) => react_jsx_runtime0.JSX.Element;
|
|
45
33
|
//#endregion
|
|
46
34
|
export { Textarea, TextareaProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.d.mts","names":[],"sources":["../../../../src/components/controls/textarea/Textarea.tsx"],"mappings":";;;;KAgBY,aAAA,GAAgB,IAAA,CAAK,cAAA;EAC/B,
|
|
1
|
+
{"version":3,"file":"Textarea.d.mts","names":[],"sources":["../../../../src/components/controls/textarea/Textarea.tsx"],"mappings":";;;;KAgBY,aAAA,GAAgB,IAAA,CAAK,cAAA;EAC/B,KAAA,GAAQ,SAAA;EACR,WAAA,GAAc,SAAA;EACd,KAAA,GAAQ,SAAA;EACR,SAAA,GAAY,SAAA;EACZ,OAAA,GAAU,SAAA;EACV,QAAA;EACA,OAAA;EACA,OAAA;EACA,UAAA;IACE,QAAA;IACA,IAAA;IACA,KAAA;IACA,WAAA;IACA,KAAA;IACA,OAAA;IACA,KAAA;IACA,OAAA;IACA,QAAA;EAAA;AAAA;AAAA,cAIS,QAAA;EAAY,UAAA;EAAA,QAAA;EAAA,SAAA;EAAA,OAAA;EAAA,GAAA;AAAA,GAMtB,aAAA,KAAa,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{cx as e}from"@mage-ui/styled-system/css";import{textarea as t,textareaDescription as n,textareaError as r,textareaInput as i,textareaLabel as a,textareaRequired as o,textareaRoot as s,textareaSection as c,textareaWrapper as l}from"@mage-ui/styled-system/recipes";import{Textarea as u}from"@mantine/core";import{jsx as d}from"react/jsx-runtime";const f=({
|
|
1
|
+
import{cx as e}from"@mage-ui/styled-system/css";import{textarea as t,textareaDescription as n,textareaError as r,textareaInput as i,textareaLabel as a,textareaRequired as o,textareaRoot as s,textareaSection as c,textareaWrapper as l}from"@mage-ui/styled-system/recipes";import{Textarea as u}from"@mantine/core";import{jsx as d}from"react/jsx-runtime";const f=({classNames:f,required:p,startSlot:m,endSlot:h,...g})=>d(u,{leftSection:m,rightSection:h,withAsterisk:p,classNames:{root:e(f?.textarea??t(),f?.root??s(),`group`),label:f?.label??a(),required:f?.required??o(),description:f?.description??n(),error:f?.error??r(),wrapper:e(f?.wrapper??l(),`group`),input:e(f?.input??i(),`peer`),section:e(f?.section??c(),`group`)},...g});export{f as Textarea};
|
|
2
2
|
//# sourceMappingURL=Textarea.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.mjs","names":["Textarea","MantineTextarea"],"sources":["../../../../src/components/controls/textarea/Textarea.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n textarea,\n textareaDescription,\n textareaError,\n textareaInput,\n textareaLabel,\n textareaRequired,\n textareaRoot,\n textareaSection,\n textareaWrapper,\n} from '@mage-ui/styled-system/recipes';\nimport { Textarea as MantineTextarea } from '@mantine/core';\n\nexport type TextareaProps = Omit<ComponentProps<'textarea'>, 'size'> & {\n
|
|
1
|
+
{"version":3,"file":"Textarea.mjs","names":["Textarea","MantineTextarea"],"sources":["../../../../src/components/controls/textarea/Textarea.tsx"],"sourcesContent":["import type { ComponentProps, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n textarea,\n textareaDescription,\n textareaError,\n textareaInput,\n textareaLabel,\n textareaRequired,\n textareaRoot,\n textareaSection,\n textareaWrapper,\n} from '@mage-ui/styled-system/recipes';\nimport { Textarea as MantineTextarea } from '@mantine/core';\n\nexport type TextareaProps = Omit<ComponentProps<'textarea'>, 'size'> & {\n label?: ReactNode;\n description?: ReactNode;\n error?: ReactNode;\n startSlot?: ReactNode;\n endSlot?: ReactNode;\n autosize?: boolean;\n minRows?: number;\n maxRows?: number;\n classNames?: {\n textarea?: string;\n root?: string;\n label?: string;\n description?: string;\n error?: string;\n wrapper?: string;\n input?: string;\n section?: string;\n required?: string;\n };\n};\n\nexport const Textarea = ({\n classNames,\n required,\n startSlot,\n endSlot,\n ...props\n}: TextareaProps) => {\n return (\n <MantineTextarea\n leftSection={startSlot}\n rightSection={endSlot}\n withAsterisk={required}\n classNames={{\n root: cx(\n classNames?.textarea ?? textarea(),\n classNames?.root ?? textareaRoot(),\n 'group',\n ),\n label: classNames?.label ?? textareaLabel(),\n required: classNames?.required ?? textareaRequired(),\n description: classNames?.description ?? textareaDescription(),\n error: classNames?.error ?? textareaError(),\n wrapper: cx(classNames?.wrapper ?? textareaWrapper(), 'group'),\n input: cx(classNames?.input ?? textareaInput(), 'peer'),\n section: cx(classNames?.section ?? textareaSection(), 'group'),\n }}\n {...props}\n />\n );\n};\n"],"mappings":"+VAsCA,MAAaA,GAAY,CACvB,aACA,WACA,YACA,UACA,GAAG,KAGD,EAACC,EAAD,CACE,YAAa,EACb,aAAc,EACd,aAAc,EACd,WAAY,CACV,KAAM,EACJ,GAAY,UAAY,GAAU,CAClC,GAAY,MAAQ,GAAc,CAClC,QACD,CACD,MAAO,GAAY,OAAS,GAAe,CAC3C,SAAU,GAAY,UAAY,GAAkB,CACpD,YAAa,GAAY,aAAe,GAAqB,CAC7D,MAAO,GAAY,OAAS,GAAe,CAC3C,QAAS,EAAG,GAAY,SAAW,GAAiB,CAAE,QAAQ,CAC9D,MAAO,EAAG,GAAY,OAAS,GAAe,CAAE,OAAO,CACvD,QAAS,EAAG,GAAY,SAAW,GAAiB,CAAE,QAAQ,CAC/D,CACD,GAAI,EACJ,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.d.mts","names":[],"sources":["../../../../src/components/data-display/datatables/DataTable.tsx"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"DataTable.d.mts","names":[],"sources":["../../../../src/components/data-display/datatables/DataTable.tsx"],"mappings":";;;;;;;;KA+BY,eAAA,GAAkB,MAAA;AAAA,KAElB,sBAAA;EACV,KAAA,EAAO,YAAA;EACP,QAAA,EAAU,UAAA,CAAW,YAAA;AAAA;AAAA,KAGX,yBAAA;EACV,WAAA;EACA,QAAA;EACA,QAAA,EAAU,UAAA,CAAW,eAAA;EACrB,SAAA;EACA,QAAA;AAAA;AAAA,KAGU,mBAAA;EACV,UAAA;IACE,MAAA;IACA,IAAA;EAAA;AAAA;AAAA,KAIQ,wBAAA;EACV,KAAA,EAAO,iBAAA;EACP,QAAA,EAAU,UAAA,CAAW,iBAAA;EACrB,QAAA,IAAY,GAAA,EAAK,IAAA;EACjB,aAAA,IAAiB,GAAA,EAAK,IAAA;EACtB,WAAA,IAAe,WAAA,eAA0B,SAAA;AAAA;AAAA,KAG/B,wBAAA;EACV,KAAA,EAAO,aAAA;EACP,QAAA,EAAU,UAAA,CAAW,aAAA;EACrB,aAAA,GAAgB,GAAA,EAAK,IAAA,KAAS,SAAA;AAAA;AAAA,KAGpB,qBAAA;EACV,WAAA;EACA,KAAA;AAAA;AAAA,KAGU,sBAAA;EACV,OAAA,EAAS,MAAA;EACT,MAAA,GACE,OAAA,EAAS,MAAA,mBACT,QAAA,GAAW,IAAA,EAAM,MAAA,+BACd,SAAA;AAAA;AAAA,KAGK,oBAAA,GAAuB,IAAA,CAAK,UAAA;AAAA,KAE5B,mBAAA;EACV,SAAA;EACA,IAAA;EACA,QAAA;EACA,MAAA;EACA,UAAA;EACA,aAAA;EACA,YAAA;EACA,OAAA;EACA,OAAA,GAAU,0BAAA;EACV,OAAA;EACA,KAAA;EACA,eAAA;EACA,QAAA;EACA,KAAA,GAAQ,eAAA;AAAA;AAAA,KAGL,uBAAA,SAAgC,OAAA,CACnC,IAAA,CACE,YAAA,CAAa,IAAA;AAAA,KAUL,0BAAA;EACV,MAAA,EAAQ,SAAA,CAAU,IAAA;EAClB,QAAA;AAAA;AAAA,KAGU,cAAA;EACV,IAAA,EAAM,IAAA;EACN,OAAA,EAAS,SAAA,CAAU,IAAA;EACnB,YAAA,GAAe,0BAAA,CAA2B,IAAA;EAC1C,OAAA,GAAU,sBAAA;EACV,UAAA,GAAa,yBAAA;EACb,SAAA,GAAY,wBAAA,CAAyB,IAAA;EACrC,SAAA,GAAY,wBAAA,CAAyB,IAAA;EACrC,OAAA;EACA,QAAA;EACA,SAAA,gBAAyB,OAAA;EACzB,KAAA,GAAQ,cAAA;EACR,UAAA,GAAa,mBAAA;EACb,OAAA,GAAU,uBAAA,CAAwB,IAAA;EAClC,MAAA,GAAS,OAAA,CAAQ,eAAA;AAAA,IACf,oBAAA;AAAA,cAES,SAAA;EAAoB,UAAA;EAAA,KAAA;EAAA,OAAA;EAAA,QAAA;EAAA,UAAA;EAAA,SAAA;EAAA,SAAA;EAAA,IAAA;EAAA,OAAA;EAAA,YAAA;EAAA,OAAA;EAAA,SAAA;EAAA,OAAA;EAAA,MAAA;EAAA,GAAA;AAAA,GAgB9B,cAAA,CAAe,IAAA,MAAQ,SAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Table as e}from"../table/Table.mjs";import{DataTableBody as t}from"./DataTableBody.mjs";import{DataTableContextProvider as n}from"./useDataTableContext.mjs";import{DataTableBulkBar as r}from"./DataTableBulkBar.mjs";import{
|
|
1
|
+
import{Table as e}from"../table/Table.mjs";import{DataTableBody as t}from"./DataTableBody.mjs";import{DataTableContextProvider as n}from"./useDataTableContext.mjs";import{DataTableBulkBar as r}from"./DataTableBulkBar.mjs";import{DataTableColGroup as i}from"./DataTableColGroup.mjs";import{DataTableHeader as a}from"./DataTableHeader.mjs";import{DataTableRootContainer as o}from"./DataTableRootContainer.mjs";import{DataTableSkeleton as s}from"./DataTableSkeleton.mjs";import{DataTableSlotRow as c}from"./DataTableSlotRow.mjs";import{DataTableViewport as l}from"./DataTableViewport.mjs";import{useDataTable as u}from"./useDataTable.mjs";import{jsx as d,jsxs as f}from"react/jsx-runtime";const p=({classNames:p,slots:m,loading:h,skeleton:g,pagination:_,selection:v,expansion:y,data:b,columns:x,extraColumns:S,sorting:C,onRefresh:w,options:T,labels:E,...D})=>{let{layout:O,contextValue:k,table:A}=u({data:b,columns:x,extraColumns:S,sorting:C,onRefresh:w,options:T,labels:E,classNames:p,loading:h,skeleton:g,pagination:_,selection:v,expansion:y,...D});return d(n,{value:k,children:f(o,{busy:h,classNames:p,children:[d(c,{classNames:{root:p?.slotRow},children:m?.top}),d(l,{className:p?.viewport,children:g!=null&&b.length===0?d(s,{rows:g,className:p?.skeleton}):f(e,{...D,layout:O,classNames:p?.table,children:[d(i,{columns:A.getVisibleLeafColumns(),totalSize:A.getTotalSize()}),d(a,{loading:h,classNames:p,headerGroups:A.getHeaderGroups(),totalSize:A.getTotalSize()}),d(t,{rows:A.getRowModel().rows,colCount:A.getVisibleLeafColumns().length,loading:h,empty:m?.empty,emptyClassName:p?.empty,expandedContentClassName:p?.expandedContent,expansion:y,selection:v})]})}),d(c,{classNames:{root:p?.slotRow},children:m?.bottom}),d(r,{selectedIds:k.selectedIds,className:p?.bulkBar,selection:v})]})})};export{p as DataTable};
|
|
2
2
|
//# sourceMappingURL=DataTable.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/DataTable.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport type {\n ColumnDef,\n ExpandedState,\n OnChangeFn,\n PaginationState,\n RowSelectionState,\n SortingState,\n TableOptions,\n} from '@tanstack/react-table';\n\nimport { Table, type TableClassNames, type TableProps } from '../table/Table';\nimport { DataTableBody } from './DataTableBody';\nimport {\n DataTableBulkBar,\n type DataTableBulkBarClassNames,\n} from './DataTableBulkBar';\nimport { DataTableHeader } from './DataTableHeader';\nimport { DataTableRootContainer } from './DataTableRootContainer';\nimport { DataTableSkeleton } from './DataTableSkeleton';\nimport { DataTableSlotRow, type DataTableSlots } from './DataTableSlotRow';\nimport { DataTableViewport } from './DataTableViewport';\nimport { useDataTable } from './useDataTable';\nimport {\n DataTableContextProvider,\n type DataTableContextValue,\n type DataTableLabels,\n} from './useDataTableContext';\n\nexport type DataTableRecord = Record<string, unknown>;\n\nexport type DataTableSortingConfig = {\n state: SortingState;\n onChange: OnChangeFn<SortingState>;\n};\n\nexport type DataTablePaginationConfig = {\n currentPage: number;\n pageSize: number;\n onChange: OnChangeFn<PaginationState>;\n pageCount: number;\n rowCount?: number;\n};\n\nexport type DataTableColumnMeta = {\n classNames?: {\n header?: string;\n cell?: string;\n };\n};\n\nexport type DataTableSelectionConfig<Data = unknown> = {\n state: RowSelectionState;\n onChange: OnChangeFn<RowSelectionState>;\n getRowId?: (row: Data) => string;\n isRowDisabled?: (row: Data) => boolean;\n bulkActions?: (selectedIds: string[]) => ReactNode;\n};\n\nexport type DataTableExpansionConfig<Data = unknown> = {\n state: ExpandedState;\n onChange: OnChangeFn<ExpandedState>;\n renderContent: (row: Data) => ReactNode;\n};\n\nexport type DataTableSearchConfig = {\n placeholder?: string;\n label?: string;\n};\n\nexport type DataTableFiltersConfig = {\n initial: Record<string, unknown>;\n render: (\n filters: Record<string, unknown>,\n onChange: (next: Record<string, unknown>) => void,\n ) => ReactNode;\n};\n\nexport type DataTableTableConfig = Omit<TableProps, 'children' | 'classNames'>;\n\nexport type DataTableClassNames = {\n dataTable?: string;\n root?: string;\n viewport?: string;\n header?: string;\n sortButton?: string;\n sortIndicator?: string;\n expandButton?: string;\n slotRow?: string;\n bulkBar?: DataTableBulkBarClassNames;\n loading?: string;\n empty?: string;\n expandedContent?: string;\n skeleton?: string;\n table?: TableClassNames;\n};\n\ntype DataTableManagedOptions<Data> = Partial<\n Omit<\n TableOptions<Data>,\n | 'columns'\n | 'data'\n | 'onExpandedChange'\n | 'onPaginationChange'\n | 'onRowSelectionChange'\n | 'onSortingChange'\n >\n>;\n\nexport type DataTableExtraColumnConfig<Data> = {\n column: ColumnDef<Data, unknown>;\n position?: number;\n};\n\nexport type DataTableProps<Data> = {\n data: Data[];\n columns: ColumnDef<Data, unknown>[];\n extraColumns?: DataTableExtraColumnConfig<Data>[];\n sorting?: DataTableSortingConfig;\n pagination?: DataTablePaginationConfig;\n selection?: DataTableSelectionConfig<Data>;\n expansion?: DataTableExpansionConfig<Data>;\n loading?: boolean;\n skeleton?: number;\n onRefresh?: () => void | Promise<void>;\n slots?: DataTableSlots;\n classNames?: DataTableClassNames;\n options?: DataTableManagedOptions<Data>;\n labels?: Partial<DataTableLabels>;\n} & DataTableTableConfig;\n\nexport const DataTable = <Data,>({\n classNames,\n slots,\n loading,\n skeleton,\n pagination,\n selection,\n expansion,\n data,\n columns,\n extraColumns,\n sorting,\n onRefresh,\n options,\n labels,\n ...tableProps\n}: DataTableProps<Data>): ReactNode => {\n const { layout, contextValue, table } = useDataTable({\n data,\n columns,\n extraColumns,\n sorting,\n onRefresh,\n options,\n labels,\n classNames,\n loading,\n skeleton,\n pagination,\n selection,\n expansion,\n ...tableProps,\n });\n\n return (\n <DataTableContextProvider\n value={contextValue as DataTableContextValue<unknown>}\n >\n <DataTableRootContainer busy={loading} classNames={classNames}>\n <DataTableSlotRow classNames={{ root: classNames?.slotRow }}>\n {slots?.top}\n </DataTableSlotRow>\n\n <DataTableViewport className={classNames?.viewport}>\n {skeleton != null && data.length === 0 ? (\n <DataTableSkeleton\n rows={skeleton}\n className={classNames?.skeleton}\n />\n ) : (\n <Table\n {...tableProps}\n layout={layout}\n classNames={classNames?.table}\n >\n <DataTableHeader\n loading={loading}\n classNames={classNames}\n headerGroups={table.getHeaderGroups()}\n totalSize={table.getTotalSize()}\n />\n <DataTableBody\n rows={table.getRowModel().rows}\n colCount={table.getVisibleLeafColumns().length}\n loading={loading}\n empty={slots?.empty}\n emptyClassName={classNames?.empty}\n expandedContentClassName={classNames?.expandedContent}\n expansion={expansion}\n selection={selection}\n />\n </Table>\n )}\n </DataTableViewport>\n\n <DataTableSlotRow classNames={{ root: classNames?.slotRow }}>\n {slots?.bottom}\n </DataTableSlotRow>\n\n <DataTableBulkBar\n selectedIds={contextValue.selectedIds}\n className={classNames?.bulkBar}\n selection={selection}\n />\n </DataTableRootContainer>\n </DataTableContextProvider>\n );\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DataTable.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/DataTable.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport type {\n ColumnDef,\n ExpandedState,\n OnChangeFn,\n PaginationState,\n RowSelectionState,\n SortingState,\n TableOptions,\n} from '@tanstack/react-table';\n\nimport { Table, type TableClassNames, type TableProps } from '../table/Table';\nimport { DataTableBody } from './DataTableBody';\nimport {\n DataTableBulkBar,\n type DataTableBulkBarClassNames,\n} from './DataTableBulkBar';\nimport { DataTableColGroup } from './DataTableColGroup';\nimport { DataTableHeader } from './DataTableHeader';\nimport { DataTableRootContainer } from './DataTableRootContainer';\nimport { DataTableSkeleton } from './DataTableSkeleton';\nimport { DataTableSlotRow, type DataTableSlots } from './DataTableSlotRow';\nimport { DataTableViewport } from './DataTableViewport';\nimport { useDataTable } from './useDataTable';\nimport {\n DataTableContextProvider,\n type DataTableContextValue,\n type DataTableLabels,\n} from './useDataTableContext';\n\nexport type DataTableRecord = Record<string, unknown>;\n\nexport type DataTableSortingConfig = {\n state: SortingState;\n onChange: OnChangeFn<SortingState>;\n};\n\nexport type DataTablePaginationConfig = {\n currentPage: number;\n pageSize: number;\n onChange: OnChangeFn<PaginationState>;\n pageCount: number;\n rowCount?: number;\n};\n\nexport type DataTableColumnMeta = {\n classNames?: {\n header?: string;\n cell?: string;\n };\n};\n\nexport type DataTableSelectionConfig<Data = unknown> = {\n state: RowSelectionState;\n onChange: OnChangeFn<RowSelectionState>;\n getRowId?: (row: Data) => string;\n isRowDisabled?: (row: Data) => boolean;\n bulkActions?: (selectedIds: string[]) => ReactNode;\n};\n\nexport type DataTableExpansionConfig<Data = unknown> = {\n state: ExpandedState;\n onChange: OnChangeFn<ExpandedState>;\n renderContent: (row: Data) => ReactNode;\n};\n\nexport type DataTableSearchConfig = {\n placeholder?: string;\n label?: string;\n};\n\nexport type DataTableFiltersConfig = {\n initial: Record<string, unknown>;\n render: (\n filters: Record<string, unknown>,\n onChange: (next: Record<string, unknown>) => void,\n ) => ReactNode;\n};\n\nexport type DataTableTableConfig = Omit<TableProps, 'children' | 'classNames'>;\n\nexport type DataTableClassNames = {\n dataTable?: string;\n root?: string;\n viewport?: string;\n header?: string;\n sortButton?: string;\n sortIndicator?: string;\n expandButton?: string;\n slotRow?: string;\n bulkBar?: DataTableBulkBarClassNames;\n loading?: string;\n empty?: string;\n expandedContent?: string;\n skeleton?: string;\n table?: TableClassNames;\n};\n\ntype DataTableManagedOptions<Data> = Partial<\n Omit<\n TableOptions<Data>,\n | 'columns'\n | 'data'\n | 'onExpandedChange'\n | 'onPaginationChange'\n | 'onRowSelectionChange'\n | 'onSortingChange'\n >\n>;\n\nexport type DataTableExtraColumnConfig<Data> = {\n column: ColumnDef<Data, unknown>;\n position?: number;\n};\n\nexport type DataTableProps<Data> = {\n data: Data[];\n columns: ColumnDef<Data, unknown>[];\n extraColumns?: DataTableExtraColumnConfig<Data>[];\n sorting?: DataTableSortingConfig;\n pagination?: DataTablePaginationConfig;\n selection?: DataTableSelectionConfig<Data>;\n expansion?: DataTableExpansionConfig<Data>;\n loading?: boolean;\n skeleton?: number;\n onRefresh?: () => void | Promise<void>;\n slots?: DataTableSlots;\n classNames?: DataTableClassNames;\n options?: DataTableManagedOptions<Data>;\n labels?: Partial<DataTableLabels>;\n} & DataTableTableConfig;\n\nexport const DataTable = <Data,>({\n classNames,\n slots,\n loading,\n skeleton,\n pagination,\n selection,\n expansion,\n data,\n columns,\n extraColumns,\n sorting,\n onRefresh,\n options,\n labels,\n ...tableProps\n}: DataTableProps<Data>): ReactNode => {\n const { layout, contextValue, table } = useDataTable({\n data,\n columns,\n extraColumns,\n sorting,\n onRefresh,\n options,\n labels,\n classNames,\n loading,\n skeleton,\n pagination,\n selection,\n expansion,\n ...tableProps,\n });\n\n return (\n <DataTableContextProvider\n value={contextValue as DataTableContextValue<unknown>}\n >\n <DataTableRootContainer busy={loading} classNames={classNames}>\n <DataTableSlotRow classNames={{ root: classNames?.slotRow }}>\n {slots?.top}\n </DataTableSlotRow>\n\n <DataTableViewport className={classNames?.viewport}>\n {skeleton != null && data.length === 0 ? (\n <DataTableSkeleton\n rows={skeleton}\n className={classNames?.skeleton}\n />\n ) : (\n <Table\n {...tableProps}\n layout={layout}\n classNames={classNames?.table}\n >\n <DataTableColGroup\n columns={table.getVisibleLeafColumns()}\n totalSize={table.getTotalSize()}\n />\n <DataTableHeader\n loading={loading}\n classNames={classNames}\n headerGroups={table.getHeaderGroups()}\n totalSize={table.getTotalSize()}\n />\n <DataTableBody\n rows={table.getRowModel().rows}\n colCount={table.getVisibleLeafColumns().length}\n loading={loading}\n empty={slots?.empty}\n emptyClassName={classNames?.empty}\n expandedContentClassName={classNames?.expandedContent}\n expansion={expansion}\n selection={selection}\n />\n </Table>\n )}\n </DataTableViewport>\n\n <DataTableSlotRow classNames={{ root: classNames?.slotRow }}>\n {slots?.bottom}\n </DataTableSlotRow>\n\n <DataTableBulkBar\n selectedIds={contextValue.selectedIds}\n className={classNames?.bulkBar}\n selection={selection}\n />\n </DataTableRootContainer>\n </DataTableContextProvider>\n );\n};\n"],"mappings":"8qBAqIA,MAAa,GAAoB,CAC/B,aACA,QACA,UACA,WACA,aACA,YACA,YACA,OACA,UACA,eACA,UACA,YACA,UACA,SACA,GAAG,KACkC,CACrC,GAAM,CAAE,SAAQ,eAAc,SAAU,EAAa,CACnD,OACA,UACA,eACA,UACA,YACA,UACA,SACA,aACA,UACA,WACA,aACA,YACA,YACA,GAAG,EACJ,CAAC,CAEF,OACE,EAAC,EAAD,CACE,MAAO,WAEP,EAAC,EAAD,CAAwB,KAAM,EAAqB,sBAAnD,CACE,EAAC,EAAD,CAAkB,WAAY,CAAE,KAAM,GAAY,QAAS,UACxD,GAAO,IACS,CAAA,CAEnB,EAAC,EAAD,CAAmB,UAAW,GAAY,kBACvC,GAAY,MAAQ,EAAK,SAAW,EACnC,EAAC,EAAD,CACE,KAAM,EACN,UAAW,GAAY,SACvB,CAAA,CAEF,EAAC,EAAD,CACE,GAAI,EACI,SACR,WAAY,GAAY,eAH1B,CAKE,EAAC,EAAD,CACE,QAAS,EAAM,uBAAuB,CACtC,UAAW,EAAM,cAAc,CAC/B,CAAA,CACF,EAAC,EAAD,CACW,UACG,aACZ,aAAc,EAAM,iBAAiB,CACrC,UAAW,EAAM,cAAc,CAC/B,CAAA,CACF,EAAC,EAAD,CACE,KAAM,EAAM,aAAa,CAAC,KAC1B,SAAU,EAAM,uBAAuB,CAAC,OAC/B,UACT,MAAO,GAAO,MACd,eAAgB,GAAY,MAC5B,yBAA0B,GAAY,gBAC3B,YACA,YACX,CAAA,CACI,GAEQ,CAAA,CAEpB,EAAC,EAAD,CAAkB,WAAY,CAAE,KAAM,GAAY,QAAS,UACxD,GAAO,OACS,CAAA,CAEnB,EAAC,EAAD,CACE,YAAa,EAAa,YAC1B,UAAW,GAAY,QACZ,YACX,CAAA,CACqB,GACA,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";const t=({columns:t,totalSize:n})=>{if(n<=0)return null;let r=t.filter(e=>e.columnDef.meta?.classNames?.header==null).reduce((e,t)=>e+t.getSize(),0);return e(`colgroup`,{children:t.map(t=>{let n=t.columnDef.meta,i=n?.classNames?.header==null&&r>0?`${t.getSize()/r*100}%`:void 0,a=n?.classNames?.header;return e(`col`,{style:{width:i},className:a},t.id)})})};export{t as DataTableColGroup};
|
|
2
|
+
//# sourceMappingURL=DataTableColGroup.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTableColGroup.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/DataTableColGroup.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport type { Column } from '@tanstack/react-table';\n\nimport type { DataTableColumnMeta } from './DataTable';\n\ntype DataTableColGroupProps<Data> = {\n columns: Column<Data, unknown>[];\n totalSize: number;\n};\n\nexport const DataTableColGroup = <Data,>({\n columns,\n totalSize,\n}: DataTableColGroupProps<Data>): ReactNode => {\n if (totalSize <= 0) return null;\n\n const flexColumns = columns.filter((column) => {\n const meta = column.columnDef.meta as DataTableColumnMeta | undefined;\n\n return meta?.classNames?.header == null;\n });\n const flexTotalSize = flexColumns.reduce(\n (acc, column) => acc + column.getSize(),\n 0,\n );\n\n return (\n <colgroup>\n {columns.map((column) => {\n const meta = column.columnDef.meta as DataTableColumnMeta | undefined;\n const hasClassWidth = meta?.classNames?.header != null;\n const width = hasClassWidth\n ? undefined\n : flexTotalSize > 0\n ? `${(column.getSize() / flexTotalSize) * 100}%`\n : undefined;\n const className = meta?.classNames?.header;\n\n return <col key={column.id} style={{ width }} className={className} />;\n })}\n </colgroup>\n );\n};\n"],"mappings":"wCAWA,MAAa,GAA4B,CACvC,UACA,eAC6C,CAC7C,GAAI,GAAa,EAAG,OAAO,KAO3B,IAAM,EALc,EAAQ,OAAQ,GACrB,EAAO,UAAU,MAEjB,YAAY,QAAU,KACnC,CACgC,QAC/B,EAAK,IAAW,EAAM,EAAO,SAAS,CACvC,EACD,CAED,OACE,EAAC,WAAD,CAAA,SACG,EAAQ,IAAK,GAAW,CACvB,IAAM,EAAO,EAAO,UAAU,KAExB,EADgB,GAAM,YAAY,QAAU,MAG9C,EAAgB,EACd,GAAI,EAAO,SAAS,CAAG,EAAiB,IAAI,GAC5C,IAAA,GACA,EAAY,GAAM,YAAY,OAEpC,OAAO,EAAC,MAAD,CAAqB,MAAO,CAAE,QAAO,CAAa,YAAa,CAArD,EAAO,GAA8C,EACtE,CACO,CAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Button as e}from"../../buttons/button/Button.mjs";import{VisuallyHidden as t}from"../../misc/visually-hidden/VisuallyHidden.mjs";import{Table as n}from"../table/Table.mjs";import{Icon as r}from"../icons/icon/Icon.mjs";import{useDataTableContext as i}from"./useDataTableContext.mjs";import{cx as a}from"@mage-ui/styled-system/css";import{dataTableHeader as o,dataTableLoading as s,dataTableSortButton as c,dataTableSortButtonIndicator as l}from"@mage-ui/styled-system/recipes";import{jsx as u,jsxs as d}from"react/jsx-runtime";import{flexRender as f}from"@tanstack/react-table";const p=e=>e===`asc`?`ascending`:e===`desc`?`descending`:`none`,m=({sorted:e,className:t})=>u(r,{path:`/icons/sprite-mage.svg`,name:e===`asc`?`mage-datatable-sort-arrow-narrow-up`:e===`desc`?`mage-datatable-sort-arrow-narrow-down`:`mage-datatable-sort-switch-vertical-02`,classNames:{icon:t??l()}}),h=({header:n,className:r})=>{let{labels:o}=i(),s=n.column.getIsSorted();return d(e,{classNames:{button:a(r??c(),`group`)},onClick:n.column.getToggleSortingHandler(),endSlot:u(m,{sorted:s}),children:[f(n.column.columnDef.header,n.getContext()),u(t,{children:s===`asc`?o.sortedAscending:s===`desc`?o.sortedDescending:o.activateToSort})]})},g=({header:e,sortButtonClassName:t})=>e.isPlaceholder?null:e.column.getCanSort()?u(h,{header:e,className:t}):f(e.column.columnDef.header,e.getContext()),_=({header:e,totalSize:t,classNames:r})=>{let i=e.column.getCanSort(),a=e.column.getIsSorted(),o=e.column.columnDef.meta,s=t>0
|
|
1
|
+
import{Button as e}from"../../buttons/button/Button.mjs";import{VisuallyHidden as t}from"../../misc/visually-hidden/VisuallyHidden.mjs";import{Table as n}from"../table/Table.mjs";import{Icon as r}from"../icons/icon/Icon.mjs";import{useDataTableContext as i}from"./useDataTableContext.mjs";import{cx as a}from"@mage-ui/styled-system/css";import{dataTableHeader as o,dataTableLoading as s,dataTableSortButton as c,dataTableSortButtonIndicator as l}from"@mage-ui/styled-system/recipes";import{jsx as u,jsxs as d}from"react/jsx-runtime";import{flexRender as f}from"@tanstack/react-table";const p=e=>e===`asc`?`ascending`:e===`desc`?`descending`:`none`,m=({sorted:e,className:t})=>u(r,{path:`/icons/sprite-mage.svg`,name:e===`asc`?`mage-datatable-sort-arrow-narrow-up`:e===`desc`?`mage-datatable-sort-arrow-narrow-down`:`mage-datatable-sort-switch-vertical-02`,classNames:{icon:t??l()}}),h=({header:n,className:r})=>{let{labels:o}=i(),s=n.column.getIsSorted();return d(e,{classNames:{button:a(r??c(),`group`)},onClick:n.column.getToggleSortingHandler(),endSlot:u(m,{sorted:s}),children:[f(n.column.columnDef.header,n.getContext()),u(t,{children:s===`asc`?o.sortedAscending:s===`desc`?o.sortedDescending:o.activateToSort})]})},g=({header:e,sortButtonClassName:t})=>e.isPlaceholder?null:e.column.getCanSort()?u(h,{header:e,className:t}):f(e.column.columnDef.header,e.getContext()),_=({header:e,totalSize:t,classNames:r})=>{let i=e.column.getCanSort(),a=e.column.getIsSorted(),o=e.column.columnDef.meta,s=o?.classNames?.header!=null,c=t>0&&!s?`${e.getSize()/t*100}%`:void 0;return u(n.HeaderCell,{classNames:o?.classNames?.header?{th:o.classNames.header}:void 0,scope:`col`,style:{width:c},"aria-sort":i?p(a):void 0,"data-sortable":i||void 0,"data-sort":a||void 0,children:u(g,{header:e,sortButtonClassName:r?.sortButton})})},v=({headerGroups:e,totalSize:t,loading:r,classNames:i})=>u(n.Head,{classNames:{thead:a(i?.header??o(),r?i?.loading??s():void 0)},"data-loading":r||void 0,children:e.map(e=>u(n.Row,{children:e.headers.map(e=>u(_,{header:e,totalSize:t,classNames:i},e.id))},e.id))});export{v as DataTableHeader};
|
|
2
2
|
//# sourceMappingURL=DataTableHeader.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableHeader.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/DataTableHeader.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n dataTableHeader,\n dataTableLoading,\n dataTableSortButton,\n dataTableSortButtonIndicator,\n} from '@mage-ui/styled-system/recipes';\nimport {\n flexRender,\n type Header,\n type HeaderGroup,\n} from '@tanstack/react-table';\nimport { Button } from '@/components/buttons';\n\nimport { VisuallyHidden } from '../../misc/visually-hidden/VisuallyHidden';\nimport { Icon } from '../icons/icon/Icon';\nimport { Table } from '../table/Table';\nimport type { DataTableClassNames, DataTableColumnMeta } from './DataTable';\nimport { useDataTableContext } from './useDataTableContext';\n\ntype DataTableHeaderProps<Data> = {\n headerGroups: HeaderGroup<Data>[];\n totalSize: number;\n loading?: boolean;\n classNames?: Pick<DataTableClassNames, 'header' | 'loading' | 'sortButton'>;\n};\n\nconst getAriaSort = (sorted: false | 'asc' | 'desc') => {\n if (sorted === 'asc') return 'ascending';\n if (sorted === 'desc') return 'descending';\n return 'none';\n};\n\nconst SortIndicator = ({\n sorted,\n className,\n}: {\n sorted: false | 'asc' | 'desc';\n className?: string;\n}) => (\n <Icon\n path='/icons/sprite-mage.svg'\n name={\n sorted === 'asc'\n ? 'mage-datatable-sort-arrow-narrow-up'\n : sorted === 'desc'\n ? 'mage-datatable-sort-arrow-narrow-down'\n : 'mage-datatable-sort-switch-vertical-02'\n }\n classNames={{\n icon: className ?? dataTableSortButtonIndicator(),\n }}\n />\n);\n\nconst SortButton = <Data,>({\n header,\n className,\n}: {\n header: Header<Data, unknown>;\n className?: string;\n}): ReactNode => {\n const { labels } = useDataTableContext();\n const sorted = header.column.getIsSorted();\n\n const getSortStatusText = () => {\n if (sorted === 'asc') return labels.sortedAscending;\n if (sorted === 'desc') return labels.sortedDescending;\n return labels.activateToSort;\n };\n\n return (\n <Button\n classNames={{\n button: cx(className ?? dataTableSortButton(), 'group'),\n }}\n onClick={header.column.getToggleSortingHandler()}\n endSlot={<SortIndicator sorted={sorted} />}\n >\n {flexRender(header.column.columnDef.header, header.getContext())}\n <VisuallyHidden>{getSortStatusText()}</VisuallyHidden>\n </Button>\n );\n};\n\nconst HeaderCellContent = <Data,>({\n header,\n sortButtonClassName,\n}: {\n header: Header<Data, unknown>;\n sortButtonClassName?: string;\n}): ReactNode => {\n if (header.isPlaceholder) return null;\n\n if (header.column.getCanSort()) {\n return <SortButton header={header} className={sortButtonClassName} />;\n }\n\n return flexRender(header.column.columnDef.header, header.getContext());\n};\n\nconst HeaderCell = <Data,>({\n header,\n totalSize,\n classNames,\n}: {\n header: Header<Data, unknown>;\n totalSize: number;\n classNames?: Pick<DataTableClassNames, 'sortButton'>;\n}): ReactNode => {\n const canSort = header.column.getCanSort();\n const sorted = header.column.getIsSorted();\n const columnMeta = header.column.columnDef.meta as\n | DataTableColumnMeta\n | undefined;\n const width =\n totalSize > 0 &&
|
|
1
|
+
{"version":3,"file":"DataTableHeader.mjs","names":[],"sources":["../../../../src/components/data-display/datatables/DataTableHeader.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n dataTableHeader,\n dataTableLoading,\n dataTableSortButton,\n dataTableSortButtonIndicator,\n} from '@mage-ui/styled-system/recipes';\nimport {\n flexRender,\n type Header,\n type HeaderGroup,\n} from '@tanstack/react-table';\nimport { Button } from '@/components/buttons';\n\nimport { VisuallyHidden } from '../../misc/visually-hidden/VisuallyHidden';\nimport { Icon } from '../icons/icon/Icon';\nimport { Table } from '../table/Table';\nimport type { DataTableClassNames, DataTableColumnMeta } from './DataTable';\nimport { useDataTableContext } from './useDataTableContext';\n\ntype DataTableHeaderProps<Data> = {\n headerGroups: HeaderGroup<Data>[];\n totalSize: number;\n loading?: boolean;\n classNames?: Pick<DataTableClassNames, 'header' | 'loading' | 'sortButton'>;\n};\n\nconst getAriaSort = (sorted: false | 'asc' | 'desc') => {\n if (sorted === 'asc') return 'ascending';\n if (sorted === 'desc') return 'descending';\n return 'none';\n};\n\nconst SortIndicator = ({\n sorted,\n className,\n}: {\n sorted: false | 'asc' | 'desc';\n className?: string;\n}) => (\n <Icon\n path='/icons/sprite-mage.svg'\n name={\n sorted === 'asc'\n ? 'mage-datatable-sort-arrow-narrow-up'\n : sorted === 'desc'\n ? 'mage-datatable-sort-arrow-narrow-down'\n : 'mage-datatable-sort-switch-vertical-02'\n }\n classNames={{\n icon: className ?? dataTableSortButtonIndicator(),\n }}\n />\n);\n\nconst SortButton = <Data,>({\n header,\n className,\n}: {\n header: Header<Data, unknown>;\n className?: string;\n}): ReactNode => {\n const { labels } = useDataTableContext();\n const sorted = header.column.getIsSorted();\n\n const getSortStatusText = () => {\n if (sorted === 'asc') return labels.sortedAscending;\n if (sorted === 'desc') return labels.sortedDescending;\n return labels.activateToSort;\n };\n\n return (\n <Button\n classNames={{\n button: cx(className ?? dataTableSortButton(), 'group'),\n }}\n onClick={header.column.getToggleSortingHandler()}\n endSlot={<SortIndicator sorted={sorted} />}\n >\n {flexRender(header.column.columnDef.header, header.getContext())}\n <VisuallyHidden>{getSortStatusText()}</VisuallyHidden>\n </Button>\n );\n};\n\nconst HeaderCellContent = <Data,>({\n header,\n sortButtonClassName,\n}: {\n header: Header<Data, unknown>;\n sortButtonClassName?: string;\n}): ReactNode => {\n if (header.isPlaceholder) return null;\n\n if (header.column.getCanSort()) {\n return <SortButton header={header} className={sortButtonClassName} />;\n }\n\n return flexRender(header.column.columnDef.header, header.getContext());\n};\n\nconst HeaderCell = <Data,>({\n header,\n totalSize,\n classNames,\n}: {\n header: Header<Data, unknown>;\n totalSize: number;\n classNames?: Pick<DataTableClassNames, 'sortButton'>;\n}): ReactNode => {\n const canSort = header.column.getCanSort();\n const sorted = header.column.getIsSorted();\n const columnMeta = header.column.columnDef.meta as\n | DataTableColumnMeta\n | undefined;\n const hasClassWidth = columnMeta?.classNames?.header != null;\n const width =\n totalSize > 0 && !hasClassWidth\n ? `${(header.getSize() / totalSize) * 100}%`\n : undefined;\n\n return (\n <Table.HeaderCell\n classNames={\n columnMeta?.classNames?.header\n ? { th: columnMeta.classNames.header }\n : undefined\n }\n scope='col'\n style={{ width }}\n aria-sort={canSort ? getAriaSort(sorted) : undefined}\n data-sortable={canSort || undefined}\n data-sort={(sorted || undefined) as string | undefined}\n >\n <HeaderCellContent\n header={header}\n sortButtonClassName={classNames?.sortButton}\n />\n </Table.HeaderCell>\n );\n};\n\nexport const DataTableHeader = <Data,>({\n headerGroups,\n totalSize,\n loading,\n classNames,\n}: DataTableHeaderProps<Data>): ReactNode => (\n <Table.Head\n classNames={{\n thead: cx(\n classNames?.header ?? dataTableHeader(),\n loading ? (classNames?.loading ?? dataTableLoading()) : undefined,\n ),\n }}\n data-loading={loading || undefined}\n >\n {headerGroups.map((headerGroup) => (\n <Table.Row key={headerGroup.id}>\n {headerGroup.headers.map((header) => (\n <HeaderCell\n key={header.id}\n header={header}\n totalSize={totalSize}\n classNames={classNames}\n />\n ))}\n </Table.Row>\n ))}\n </Table.Head>\n);\n"],"mappings":"wkBA6BA,MAAM,EAAe,GACf,IAAW,MAAc,YACzB,IAAW,OAAe,aACvB,OAGH,GAAiB,CACrB,SACA,eAKA,EAAC,EAAD,CACE,KAAK,yBACL,KACE,IAAW,MACP,sCACA,IAAW,OACT,wCACA,yCAER,WAAY,CACV,KAAM,GAAa,GAA8B,CAClD,CACD,CAAA,CAGE,GAAqB,CACzB,SACA,eAIe,CACf,GAAM,CAAE,UAAW,GAAqB,CAClC,EAAS,EAAO,OAAO,aAAa,CAQ1C,OACE,EAAC,EAAD,CACE,WAAY,CACV,OAAQ,EAAG,GAAa,GAAqB,CAAE,QAAQ,CACxD,CACD,QAAS,EAAO,OAAO,yBAAyB,CAChD,QAAS,EAAC,EAAD,CAAuB,SAAU,CAAA,UAL5C,CAOG,EAAW,EAAO,OAAO,UAAU,OAAQ,EAAO,YAAY,CAAC,CAChE,EAAC,EAAD,CAAA,SAdE,IAAW,MAAc,EAAO,gBAChC,IAAW,OAAe,EAAO,iBAC9B,EAAO,eAY0C,CAAA,CAC/C,IAIP,GAA4B,CAChC,SACA,yBAKI,EAAO,cAAsB,KAE7B,EAAO,OAAO,YAAY,CACrB,EAAC,EAAD,CAAoB,SAAQ,UAAW,EAAuB,CAAA,CAGhE,EAAW,EAAO,OAAO,UAAU,OAAQ,EAAO,YAAY,CAAC,CAGlE,GAAqB,CACzB,SACA,YACA,gBAKe,CACf,IAAM,EAAU,EAAO,OAAO,YAAY,CACpC,EAAS,EAAO,OAAO,aAAa,CACpC,EAAa,EAAO,OAAO,UAAU,KAGrC,EAAgB,GAAY,YAAY,QAAU,KAClD,EACJ,EAAY,GAAK,CAAC,EACd,GAAI,EAAO,SAAS,CAAG,EAAa,IAAI,GACxC,IAAA,GAEN,OACE,EAAC,EAAM,WAAP,CACE,WACE,GAAY,YAAY,OACpB,CAAE,GAAI,EAAW,WAAW,OAAQ,CACpC,IAAA,GAEN,MAAM,MACN,MAAO,CAAE,QAAO,CAChB,YAAW,EAAU,EAAY,EAAO,CAAG,IAAA,GAC3C,gBAAe,GAAW,IAAA,GAC1B,YAAY,GAAU,IAAA,YAEtB,EAAC,EAAD,CACU,SACR,oBAAqB,GAAY,WACjC,CAAA,CACe,CAAA,EAIV,GAA0B,CACrC,eACA,YACA,UACA,gBAEA,EAAC,EAAM,KAAP,CACE,WAAY,CACV,MAAO,EACL,GAAY,QAAU,GAAiB,CACvC,EAAW,GAAY,SAAW,GAAkB,CAAI,IAAA,GACzD,CACF,CACD,eAAc,GAAW,IAAA,YAExB,EAAa,IAAK,GACjB,EAAC,EAAM,IAAP,CAAA,SACG,EAAY,QAAQ,IAAK,GACxB,EAAC,EAAD,CAEU,SACG,YACC,aACZ,CAJK,EAAO,GAIZ,CACF,CACQ,CATI,EAAY,GAShB,CACZ,CACS,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.mts","names":[],"sources":["../../../../src/components/data-display/table/Table.tsx"],"mappings":";;;;;;;;;;;cAkBa,KAAA;EAAK,QAAA;EAAA,UAAA;EAAA,UAAA;EAAA,GAAA;AAAA,GAAA,UAAA,KAAA,KAAA,CAAA,SAAA"}
|
|
1
|
+
{"version":3,"file":"Table.d.mts","names":[],"sources":["../../../../src/components/data-display/table/Table.tsx"],"mappings":";;;;;;;;;;;cAkBa,KAAA;EAAK,QAAA;EAAA,UAAA;EAAA,UAAA;EAAA,MAAA;EAAA,KAAA;EAAA,GAAA;AAAA,GAAA,UAAA,KAAA,KAAA,CAAA,SAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{TableScroll as e}from"./TableScroll.mjs";import{cx as t}from"@mage-ui/styled-system/css";import{table as n,tableCaption as r,tableRoot as i,tableTbody as a,tableTd as o,tableTfoot as s,tableTh as c,tableThead as l,tableTr as u}from"@mage-ui/styled-system/recipes";import{Table as d}from"@mantine/core";import{jsx as f}from"react/jsx-runtime";const p=({children:p,classNames:m,scrollable:h,...
|
|
1
|
+
import{TableScroll as e}from"./TableScroll.mjs";import{cx as t}from"@mage-ui/styled-system/css";import{table as n,tableCaption as r,tableRoot as i,tableTbody as a,tableTd as o,tableTfoot as s,tableTh as c,tableThead as l,tableTr as u}from"@mage-ui/styled-system/recipes";import{Table as d}from"@mantine/core";import{jsx as f}from"react/jsx-runtime";const p=({children:p,classNames:m,scrollable:h,layout:g,style:_,...v})=>{let y=g?{"--table-layout":g,..._}:_,b=f(d,{withRowBorders:!0,"data-scrollable":h?!0:void 0,classNames:{table:t(m?.table??n(),m?.root??i()),thead:m?.thead??l(),tbody:m?.tbody??a(),tfoot:m?.tfoot??s(),tr:m?.tr??u(),th:m?.th??c(),td:m?.td??o(),caption:m?.caption??r()},style:y,...v,children:p});return h?f(e,{scrollable:h,stickyHeader:v.stickyHeader,children:b}):b};export{p as TableRoot};
|
|
2
2
|
//# sourceMappingURL=TableRoot.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableRoot.mjs","names":["table","MantineTable","tableRecipe"],"sources":["../../../../src/components/data-display/table/TableRoot.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n tableCaption,\n table as tableRecipe,\n tableRoot,\n tableTbody,\n tableTd,\n tableTfoot,\n tableTh,\n tableThead,\n tableTr,\n} from '@mage-ui/styled-system/recipes';\nimport { Table as MantineTable } from '@mantine/core';\n\nimport { type ScrollableTableConfig, TableScroll } from './TableScroll';\n\nexport type TableClassNames = {\n table?: string;\n root?: string;\n thead?: string;\n tbody?: string;\n tfoot?: string;\n tr?: string;\n th?: string;\n td?: string;\n caption?: string;\n};\n\nexport type TableProps = Omit<\n ComponentPropsWithoutRef<'table'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n layout?: 'auto' | 'fixed';\n captionSide?: 'top' | 'bottom';\n withTableBorder?: boolean;\n withColumnBorders?: boolean;\n withRowBorders?: boolean;\n striped?: boolean | 'odd' | 'even';\n highlightOnHover?: boolean;\n stickyHeader?: boolean;\n stickyHeaderOffset?: number | string;\n tabularNums?: boolean;\n classNames?: TableClassNames;\n scrollable?: ScrollableTableConfig;\n};\n\nexport const TableRoot = ({\n children,\n classNames,\n scrollable,\n ...tableProps\n}: TableProps): ReactNode => {\n const table = (\n <MantineTable\n withRowBorders\n data-scrollable={scrollable ? true : undefined}\n classNames={{\n table: cx(\n classNames?.table ?? tableRecipe(),\n classNames?.root ?? tableRoot(),\n ),\n thead: classNames?.thead ?? tableThead(),\n tbody: classNames?.tbody ?? tableTbody(),\n tfoot: classNames?.tfoot ?? tableTfoot(),\n tr: classNames?.tr ?? tableTr(),\n th: classNames?.th ?? tableTh(),\n td: classNames?.td ?? tableTd(),\n caption: classNames?.caption ?? tableCaption(),\n }}\n {...tableProps}\n >\n {children}\n </MantineTable>\n );\n\n if (scrollable) {\n return (\n <TableScroll\n scrollable={scrollable}\n stickyHeader={tableProps.stickyHeader}\n >\n {table}\n </TableScroll>\n );\n }\n\n return table;\n};\n"],"mappings":"6VAiDA,MAAa,GAAa,CACxB,WACA,aACA,aACA,GAAG,KACwB,CAC3B,
|
|
1
|
+
{"version":3,"file":"TableRoot.mjs","names":["table","MantineTable","tableRecipe"],"sources":["../../../../src/components/data-display/table/TableRoot.tsx"],"sourcesContent":["import type { ComponentPropsWithoutRef, ReactNode } from 'react';\n\nimport { cx } from '@mage-ui/styled-system/css';\nimport {\n tableCaption,\n table as tableRecipe,\n tableRoot,\n tableTbody,\n tableTd,\n tableTfoot,\n tableTh,\n tableThead,\n tableTr,\n} from '@mage-ui/styled-system/recipes';\nimport { Table as MantineTable } from '@mantine/core';\n\nimport { type ScrollableTableConfig, TableScroll } from './TableScroll';\n\nexport type TableClassNames = {\n table?: string;\n root?: string;\n thead?: string;\n tbody?: string;\n tfoot?: string;\n tr?: string;\n th?: string;\n td?: string;\n caption?: string;\n};\n\nexport type TableProps = Omit<\n ComponentPropsWithoutRef<'table'>,\n 'children' | 'className'\n> & {\n children: ReactNode;\n layout?: 'auto' | 'fixed';\n captionSide?: 'top' | 'bottom';\n withTableBorder?: boolean;\n withColumnBorders?: boolean;\n withRowBorders?: boolean;\n striped?: boolean | 'odd' | 'even';\n highlightOnHover?: boolean;\n stickyHeader?: boolean;\n stickyHeaderOffset?: number | string;\n tabularNums?: boolean;\n classNames?: TableClassNames;\n scrollable?: ScrollableTableConfig;\n};\n\nexport const TableRoot = ({\n children,\n classNames,\n scrollable,\n layout,\n style,\n ...tableProps\n}: TableProps): ReactNode => {\n const mergedStyle = layout\n ? ({ '--table-layout': layout, ...style } as React.CSSProperties)\n : style;\n\n const table = (\n <MantineTable\n withRowBorders\n data-scrollable={scrollable ? true : undefined}\n classNames={{\n table: cx(\n classNames?.table ?? tableRecipe(),\n classNames?.root ?? tableRoot(),\n ),\n thead: classNames?.thead ?? tableThead(),\n tbody: classNames?.tbody ?? tableTbody(),\n tfoot: classNames?.tfoot ?? tableTfoot(),\n tr: classNames?.tr ?? tableTr(),\n th: classNames?.th ?? tableTh(),\n td: classNames?.td ?? tableTd(),\n caption: classNames?.caption ?? tableCaption(),\n }}\n style={mergedStyle}\n {...tableProps}\n >\n {children}\n </MantineTable>\n );\n\n if (scrollable) {\n return (\n <TableScroll\n scrollable={scrollable}\n stickyHeader={tableProps.stickyHeader}\n >\n {table}\n </TableScroll>\n );\n }\n\n return table;\n};\n"],"mappings":"6VAiDA,MAAa,GAAa,CACxB,WACA,aACA,aACA,SACA,QACA,GAAG,KACwB,CAC3B,IAAM,EAAc,EACf,CAAE,iBAAkB,EAAQ,GAAG,EAAO,CACvC,EAEEA,EACJ,EAACC,EAAD,CACE,eAAA,GACA,kBAAiB,EAAa,GAAO,IAAA,GACrC,WAAY,CACV,MAAO,EACL,GAAY,OAASC,GAAa,CAClC,GAAY,MAAQ,GAAW,CAChC,CACD,MAAO,GAAY,OAAS,GAAY,CACxC,MAAO,GAAY,OAAS,GAAY,CACxC,MAAO,GAAY,OAAS,GAAY,CACxC,GAAI,GAAY,IAAM,GAAS,CAC/B,GAAI,GAAY,IAAM,GAAS,CAC/B,GAAI,GAAY,IAAM,GAAS,CAC/B,QAAS,GAAY,SAAW,GAAc,CAC/C,CACD,MAAO,EACP,GAAI,EAEH,WACY,CAAA,CAcjB,OAXI,EAEA,EAAC,EAAD,CACc,aACZ,aAAc,EAAW,sBAExBF,EACW,CAAA,CAIXA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { TextInputProps } from "../controls/text-input/TextInput.mjs";
|
|
2
|
+
import { TextareaProps } from "../controls/textarea/Textarea.mjs";
|
|
2
3
|
import { FormSubmitProps } from "./controls/FormSubmit.mjs";
|
|
3
4
|
import { FormCheckboxProps } from "./controls/FormCheckbox.mjs";
|
|
4
5
|
import { FormPasswordProps } from "./controls/FormPassword.mjs";
|
|
@@ -57,6 +58,18 @@ declare const Form: {
|
|
|
57
58
|
} & TextInputProps): react_jsx_runtime0.JSX.Element;
|
|
58
59
|
displayName: string;
|
|
59
60
|
};
|
|
61
|
+
Textarea: {
|
|
62
|
+
({
|
|
63
|
+
$rule,
|
|
64
|
+
isSubmitting,
|
|
65
|
+
...props
|
|
66
|
+
}: {
|
|
67
|
+
$rule?: string;
|
|
68
|
+
isSubmitting?: boolean;
|
|
69
|
+
name: string;
|
|
70
|
+
} & TextareaProps): react_jsx_runtime0.JSX.Element;
|
|
71
|
+
displayName: string;
|
|
72
|
+
};
|
|
60
73
|
Submit: {
|
|
61
74
|
({
|
|
62
75
|
children,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.d.mts","names":[],"sources":["../../../src/components/forms/Form.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Form.d.mts","names":[],"sources":["../../../src/components/forms/Form.tsx"],"mappings":";;;;;;;;;;;KAgBK,YAAA;EACH,IAAA;EACA,OAAA;EACA,MAAA;EACA,GAAA;AAAA;AAAA,KAGU,SAAA,WAAoB,WAAA;EAC9B,QAAA,GAAW,MAAA;IAAU,IAAA,EAAM,CAAA;EAAA,MAAQ,OAAA;EACnC,aAAA,IAAiB,QAAA,EAAU,YAAA;EAC3B,eAAA,IAAmB,MAAA;IACjB,OAAA;IACA,QAAA,EAAU,eAAA,CAAgB,CAAA;IAC1B,MAAA;EAAA;EAEF,aAAA;EACA,QAAA,EAAU,SAAA;EACV,MAAA,GAAS,SAAA,CAAU,MAAA,SAAe,UAAA;EAClC,CAAA,IACE,GAAA,UACA,QAAA,GAAW,MAAA,kBACX,QAAA,uBACY,KAAA,CAAM,SAAA;EACpB,UAAA;IACE,IAAA;IACA,IAAA;EAAA;AAAA;AAAA,cAYS,IAAA;EAAA,WAAkB,WAAA;IAAW,QAAA;IAAA,aAAA;IAAA,eAAA;IAAA,aAAA;IAAA,QAAA;IAAA,MAAA;IAAA,CAAA;IAAA;EAAA,GASvC,SAAA,CAAU,CAAA,IAAE,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{FormCheckbox as e}from"./controls/FormCheckbox.mjs";import{FormHidden as t}from"./controls/FormHidden.mjs";import{FormPassword as n}from"./controls/FormPassword.mjs";import{FormSubmit as r}from"./controls/FormSubmit.mjs";import{
|
|
1
|
+
import{FormCheckbox as e}from"./controls/FormCheckbox.mjs";import{FormHidden as t}from"./controls/FormHidden.mjs";import{FormPassword as n}from"./controls/FormPassword.mjs";import{FormSubmit as r}from"./controls/FormSubmit.mjs";import{FormTextarea as i}from"./controls/FormTextarea.mjs";import{FormTextInput as a}from"./controls/FormTextInput.mjs";import{FormBase as o}from"./FormBase.mjs";import{FormErrorBox as s}from"./FormErrorBox.mjs";import{form as c,formRoot as l}from"@mage-ui/styled-system/recipes";import{jsx as u}from"react/jsx-runtime";const d=({$fetcher:e,onValidSubmit:t,onInvalidSubmit:n,invalidStatus:r=[],children:i,schema:a,t:d,classNames:f})=>u(o,{onSubmit:async({data:i,setError:a})=>{await e({data:i}).then(e=>{let n=e;if(n?.statusCode&&n.statusCode>=400)throw n;t?.(e||{})}).catch(e=>{switch(e.statusCode){case 400:case 422:e.cause?.issues&&Object.keys(e.cause.issues).forEach(t=>{a(t,{type:`server`,message:e.cause?.issues?.[t]})}),a(`root.serverError`,{type:`server`,message:e?.message??`Something went wrong`});break;default:if(r.includes(e.statusCode)){n?.({message:e.message,setError:a,status:e.statusCode});break}throw e}})},schema:a,errorBox:s,t:d,classNames:{form:f?.form??c(),root:f?.root??l()},children:i});d.displayName=`Form`,d.TextInput=a,d.Textarea=i,d.Submit=r,d.Hidden=t,d.Checkbox=e,d.Password=n;export{d as Form};
|
|
2
2
|
//# sourceMappingURL=Form.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Form.mjs","names":[],"sources":["../../../src/components/forms/Form.tsx"],"sourcesContent":["import type React from 'react';\nimport type { ReactNode } from 'react';\nimport type { FieldValues, UseFormSetError } from 'react-hook-form';\nimport type { ZodObject, ZodTypeAny } from 'zod';\n\nimport { form, formRoot } from '@mage-ui/styled-system/recipes';\n\nimport { FormCheckbox } from './controls/FormCheckbox';\nimport { FormHidden } from './controls/FormHidden';\nimport { FormPassword } from './controls/FormPassword';\nimport { FormSubmit } from './controls/FormSubmit';\nimport { FormTextInput } from './controls/FormTextInput';\nimport { FormBase } from './FormBase';\nimport { FormErrorBox } from './FormErrorBox';\n\ntype FormResponse = {\n body?: object;\n details?: string;\n status?: number;\n url?: string;\n};\n\nexport type FormProps<T extends FieldValues> = {\n $fetcher: (params: { data: T }) => Promise<unknown>;\n onValidSubmit?: (response: FormResponse) => void;\n onInvalidSubmit?: (params: {\n message: string;\n setError: UseFormSetError<T>;\n status: number;\n }) => void;\n invalidStatus?: number[];\n children: ReactNode;\n schema?: ZodObject<Record<string, ZodTypeAny>>;\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode;\n classNames?: {\n form?: string;\n root?: string;\n };\n};\n\ntype FormError = {\n statusCode: number;\n message: string;\n cause?: {\n issues: Record<string, string>;\n };\n};\n\nexport const Form = <T extends FieldValues>({\n $fetcher,\n onValidSubmit,\n onInvalidSubmit,\n invalidStatus = [],\n children,\n schema,\n t,\n classNames,\n}: FormProps<T>) => {\n const onSubmit = async ({\n data,\n setError,\n }: {\n data: FieldValues;\n setError: UseFormSetError<FieldValues>;\n }) => {\n await $fetcher({ data: data as T })\n .then((response) => {\n const res = response as FormError & FormResponse;\n if (res?.statusCode && res.statusCode >= 400) {\n throw res;\n }\n\n onValidSubmit?.((response || {}) as FormResponse);\n })\n .catch((error: FormError) => {\n switch (error.statusCode) {\n case 400:\n case 422: {\n if (error.cause?.issues) {\n Object.keys(error.cause.issues).forEach((key) => {\n setError(key, {\n type: 'server',\n message: error.cause?.issues?.[key],\n });\n });\n }\n setError('root.serverError', {\n type: 'server',\n message: error?.message ?? 'Something went wrong',\n });\n break;\n }\n default:\n if (invalidStatus.includes(error.statusCode)) {\n onInvalidSubmit?.({\n message: error.message,\n setError: setError as UseFormSetError<T>,\n status: error.statusCode,\n });\n break;\n }\n throw error;\n }\n });\n };\n\n return (\n <FormBase\n onSubmit={onSubmit}\n schema={schema}\n errorBox={FormErrorBox}\n t={t}\n classNames={{\n form: classNames?.form ?? form(),\n root: classNames?.root ?? formRoot(),\n }}\n >\n {children}\n </FormBase>\n );\n};\n\nForm.displayName = 'Form';\nForm.TextInput = FormTextInput;\nForm.Submit = FormSubmit;\nForm.Hidden = FormHidden;\nForm.Checkbox = FormCheckbox;\nForm.Password = FormPassword;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Form.mjs","names":[],"sources":["../../../src/components/forms/Form.tsx"],"sourcesContent":["import type React from 'react';\nimport type { ReactNode } from 'react';\nimport type { FieldValues, UseFormSetError } from 'react-hook-form';\nimport type { ZodObject, ZodTypeAny } from 'zod';\n\nimport { form, formRoot } from '@mage-ui/styled-system/recipes';\n\nimport { FormCheckbox } from './controls/FormCheckbox';\nimport { FormHidden } from './controls/FormHidden';\nimport { FormPassword } from './controls/FormPassword';\nimport { FormSubmit } from './controls/FormSubmit';\nimport { FormTextarea } from './controls/FormTextarea';\nimport { FormTextInput } from './controls/FormTextInput';\nimport { FormBase } from './FormBase';\nimport { FormErrorBox } from './FormErrorBox';\n\ntype FormResponse = {\n body?: object;\n details?: string;\n status?: number;\n url?: string;\n};\n\nexport type FormProps<T extends FieldValues> = {\n $fetcher: (params: { data: T }) => Promise<unknown>;\n onValidSubmit?: (response: FormResponse) => void;\n onInvalidSubmit?: (params: {\n message: string;\n setError: UseFormSetError<T>;\n status: number;\n }) => void;\n invalidStatus?: number[];\n children: ReactNode;\n schema?: ZodObject<Record<string, ZodTypeAny>>;\n t?: (\n key: string,\n bindings?: Record<string, string>,\n fallback?: string,\n ) => string | React.ReactNode;\n classNames?: {\n form?: string;\n root?: string;\n };\n};\n\ntype FormError = {\n statusCode: number;\n message: string;\n cause?: {\n issues: Record<string, string>;\n };\n};\n\nexport const Form = <T extends FieldValues>({\n $fetcher,\n onValidSubmit,\n onInvalidSubmit,\n invalidStatus = [],\n children,\n schema,\n t,\n classNames,\n}: FormProps<T>) => {\n const onSubmit = async ({\n data,\n setError,\n }: {\n data: FieldValues;\n setError: UseFormSetError<FieldValues>;\n }) => {\n await $fetcher({ data: data as T })\n .then((response) => {\n const res = response as FormError & FormResponse;\n if (res?.statusCode && res.statusCode >= 400) {\n throw res;\n }\n\n onValidSubmit?.((response || {}) as FormResponse);\n })\n .catch((error: FormError) => {\n switch (error.statusCode) {\n case 400:\n case 422: {\n if (error.cause?.issues) {\n Object.keys(error.cause.issues).forEach((key) => {\n setError(key, {\n type: 'server',\n message: error.cause?.issues?.[key],\n });\n });\n }\n setError('root.serverError', {\n type: 'server',\n message: error?.message ?? 'Something went wrong',\n });\n break;\n }\n default:\n if (invalidStatus.includes(error.statusCode)) {\n onInvalidSubmit?.({\n message: error.message,\n setError: setError as UseFormSetError<T>,\n status: error.statusCode,\n });\n break;\n }\n throw error;\n }\n });\n };\n\n return (\n <FormBase\n onSubmit={onSubmit}\n schema={schema}\n errorBox={FormErrorBox}\n t={t}\n classNames={{\n form: classNames?.form ?? form(),\n root: classNames?.root ?? formRoot(),\n }}\n >\n {children}\n </FormBase>\n );\n};\n\nForm.displayName = 'Form';\nForm.TextInput = FormTextInput;\nForm.Textarea = FormTextarea;\nForm.Submit = FormSubmit;\nForm.Hidden = FormHidden;\nForm.Checkbox = FormCheckbox;\nForm.Password = FormPassword;\n"],"mappings":"oiBAqDA,MAAa,GAA+B,CAC1C,WACA,gBACA,kBACA,gBAAgB,EAAE,CAClB,WACA,SACA,IACA,gBAmDE,EAAC,EAAD,CACY,SAlDG,MAAO,CACtB,OACA,cAII,CACJ,MAAM,EAAS,CAAQ,OAAW,CAAC,CAChC,KAAM,GAAa,CAClB,IAAM,EAAM,EACZ,GAAI,GAAK,YAAc,EAAI,YAAc,IACvC,MAAM,EAGR,IAAiB,GAAY,EAAE,CAAkB,EACjD,CACD,MAAO,GAAqB,CAC3B,OAAQ,EAAM,WAAd,CACE,IAAK,KACL,IAAK,KACC,EAAM,OAAO,QACf,OAAO,KAAK,EAAM,MAAM,OAAO,CAAC,QAAS,GAAQ,CAC/C,EAAS,EAAK,CACZ,KAAM,SACN,QAAS,EAAM,OAAO,SAAS,GAChC,CAAC,EACF,CAEJ,EAAS,mBAAoB,CAC3B,KAAM,SACN,QAAS,GAAO,SAAW,uBAC5B,CAAC,CACF,MAEF,QACE,GAAI,EAAc,SAAS,EAAM,WAAW,CAAE,CAC5C,IAAkB,CAChB,QAAS,EAAM,QACL,WACV,OAAQ,EAAM,WACf,CAAC,CACF,MAEF,MAAM,IAEV,EAMM,SACR,SAAU,EACP,IACH,WAAY,CACV,KAAM,GAAY,MAAQ,GAAM,CAChC,KAAM,GAAY,MAAQ,GAAU,CACrC,CAEA,WACQ,CAAA,CAIf,EAAK,YAAc,OACnB,EAAK,UAAY,EACjB,EAAK,SAAW,EAChB,EAAK,OAAS,EACd,EAAK,OAAS,EACd,EAAK,SAAW,EAChB,EAAK,SAAW"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormTextarea.mjs","names":[],"sources":["../../../../src/components/forms/controls/FormTextarea.tsx"],"sourcesContent":["import {\n Textarea,\n type TextareaProps,\n} from '@/components/controls/textarea/Textarea';\n\nexport const FormTextarea = ({\n $rule,\n isSubmitting,\n ...props\n}: {\n $rule?: string;\n isSubmitting?: boolean;\n name: string;\n} & TextareaProps) => {\n return <Textarea disabled={isSubmitting} {...props} />;\n};\n\nFormTextarea.displayName = 'Form.Textarea';\n"],"mappings":"wGAKA,MAAa,GAAgB,CAC3B,QACA,eACA,GAAG,KAMI,EAAC,EAAD,CAAU,SAAU,EAAc,GAAI,EAAS,CAAA,CAGxD,EAAa,YAAc"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{FormCheckbox as e}from"./FormCheckbox.mjs";import{FormHidden as t}from"./FormHidden.mjs";import{FormPassword as n}from"./FormPassword.mjs";import{FormSubmit as r}from"./FormSubmit.mjs";import{
|
|
1
|
+
import{FormCheckbox as e}from"./FormCheckbox.mjs";import{FormHidden as t}from"./FormHidden.mjs";import{FormPassword as n}from"./FormPassword.mjs";import{FormSubmit as r}from"./FormSubmit.mjs";import{FormTextarea as i}from"./FormTextarea.mjs";import{FormTextInput as a}from"./FormTextInput.mjs";const o=[r,a,i,n,t,e];export{o as controls};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/components/forms/controls/index.ts"],"sourcesContent":["import { FormCheckbox } from './FormCheckbox';\nimport { FormHidden } from './FormHidden';\nimport { FormPassword } from './FormPassword';\nimport { FormSubmit } from './FormSubmit';\nimport { FormTextInput } from './FormTextInput';\n\nexport const controls = [\n FormSubmit,\n FormTextInput,\n FormPassword,\n FormHidden,\n FormCheckbox,\n] as React.ComponentType[];\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../../../src/components/forms/controls/index.ts"],"sourcesContent":["import { FormCheckbox } from './FormCheckbox';\nimport { FormHidden } from './FormHidden';\nimport { FormPassword } from './FormPassword';\nimport { FormSubmit } from './FormSubmit';\nimport { FormTextarea } from './FormTextarea';\nimport { FormTextInput } from './FormTextInput';\n\nexport const controls = [\n FormSubmit,\n FormTextInput,\n FormTextarea,\n FormPassword,\n FormHidden,\n FormCheckbox,\n] as React.ComponentType[];\n"],"mappings":"sSAOA,MAAa,EAAW,CACtB,EACA,EACA,EACA,EACA,EACA,EACD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mage-ui/components",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.92",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"keywords": [],
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"@types/react-dom": "^19.2.3",
|
|
25
25
|
"rimraf": "^6.1.3",
|
|
26
26
|
"tsdown": "^0.21.4",
|
|
27
|
-
"typescript": "^
|
|
28
|
-
"@mage-ui/preset": "1.0.
|
|
27
|
+
"typescript": "^5.9.3",
|
|
28
|
+
"@mage-ui/preset": "1.0.92",
|
|
29
29
|
"@mage-ui/styled-system": "1.0.8"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|