@coveord/plasma-mantine 59.7.0 → 59.7.2
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/.turbo/turbo-build.log +3 -3
- package/.turbo/turbo-test.log +88 -94
- package/dist/.tsbuildinfo +1 -1
- package/dist/cjs/components/DateRangePicker/DateRangePicker.d.ts +1 -1
- package/dist/cjs/components/DateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/dist/cjs/components/DateRangePicker/DateRangePicker.js +2 -2
- package/dist/cjs/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/dist/cjs/components/DateRangePicker/EditableDateRangePicker.d.ts +1 -1
- package/dist/cjs/components/DateRangePicker/EditableDateRangePicker.d.ts.map +1 -1
- package/dist/cjs/components/DateRangePicker/EditableDateRangePicker.js.map +1 -1
- package/dist/cjs/components/RadioCard/RadioCard.js +1 -1
- package/dist/cjs/components/RadioCard/RadioCard.js.map +1 -1
- package/dist/cjs/components/Table/Table.d.ts +46 -0
- package/dist/cjs/components/Table/Table.d.ts.map +1 -1
- package/dist/cjs/components/Table/Table.js +48 -17
- package/dist/cjs/components/Table/Table.js.map +1 -1
- package/dist/cjs/components/Table/table-columns-selector/TableColumnsSelector.js +1 -1
- package/dist/cjs/components/Table/table-columns-selector/TableColumnsSelector.js.map +1 -1
- package/dist/cjs/theme/Plasmantine.d.ts.map +1 -1
- package/dist/cjs/theme/Plasmantine.js +24 -4
- package/dist/cjs/theme/Plasmantine.js.map +1 -1
- package/dist/cjs/theme/Theme.d.ts.map +1 -1
- package/dist/cjs/theme/Theme.js +1 -9
- package/dist/cjs/theme/Theme.js.map +1 -1
- package/dist/esm/components/DateRangePicker/DateRangePicker.d.ts +1 -1
- package/dist/esm/components/DateRangePicker/DateRangePicker.d.ts.map +1 -1
- package/dist/esm/components/DateRangePicker/DateRangePicker.js +2 -2
- package/dist/esm/components/DateRangePicker/DateRangePicker.js.map +1 -1
- package/dist/esm/components/DateRangePicker/EditableDateRangePicker.d.ts +1 -1
- package/dist/esm/components/DateRangePicker/EditableDateRangePicker.d.ts.map +1 -1
- package/dist/esm/components/DateRangePicker/EditableDateRangePicker.js.map +1 -1
- package/dist/esm/components/RadioCard/RadioCard.js +1 -1
- package/dist/esm/components/RadioCard/RadioCard.js.map +1 -1
- package/dist/esm/components/Table/Table.d.ts +46 -0
- package/dist/esm/components/Table/Table.d.ts.map +1 -1
- package/dist/esm/components/Table/Table.js +48 -17
- package/dist/esm/components/Table/Table.js.map +1 -1
- package/dist/esm/components/Table/table-columns-selector/TableColumnsSelector.js +1 -1
- package/dist/esm/components/Table/table-columns-selector/TableColumnsSelector.js.map +1 -1
- package/dist/esm/theme/Plasmantine.d.ts.map +1 -1
- package/dist/esm/theme/Plasmantine.js +22 -3
- package/dist/esm/theme/Plasmantine.js.map +1 -1
- package/dist/esm/theme/Theme.d.ts.map +1 -1
- package/dist/esm/theme/Theme.js +1 -9
- package/dist/esm/theme/Theme.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/Utils.tsx +1 -17
- package/src/components/DateRangePicker/DateRangePicker.tsx +2 -2
- package/src/components/DateRangePicker/EditableDateRangePicker.tsx +1 -1
- package/src/components/DateRangePicker/__tests__/DateRangePicker.spec.tsx +2 -2
- package/src/components/DateRangePicker/__tests__/DateRangePickerPopoverCalendar.spec.tsx +2 -2
- package/src/components/RadioCard/RadioCard.tsx +1 -1
- package/src/components/Table/Table.tsx +54 -6
- package/src/components/Table/__tests__/Table.spec.tsx +36 -0
- package/src/components/Table/table-columns-selector/TableColumnsSelector.tsx +1 -1
- package/src/theme/Plasmantine.tsx +21 -3
- package/src/theme/Theme.tsx +0 -4
- package/src/theme/__tests__/Plasmantine.spec.tsx +48 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Table/Table.tsx"],"sourcesContent":["import {Box, Center, Factory, Loader, useProps, useStyles} from '@mantine/core';\nimport {useClickOutside, useMergedRef} from '@mantine/hooks';\nimport {\n ColumnDef,\n defaultColumnSizing,\n getCoreRowModel,\n Row,\n RowSelectionState,\n useReactTable,\n} from '@tanstack/react-table';\nimport isEqual from 'fast-deep-equal';\nimport {Children, ForwardedRef, ReactElement, useEffect, useRef} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../utils/createFactoryComponent.js';\nimport classes from './Table.module.css';\nimport {TableLayout, TableProps} from './Table.types.js';\nimport {TableProvider} from './TableContext.js';\nimport {TableLayouts} from './layouts/TableLayouts.js';\nimport {TableActionItem, TableActionItemStylesNames} from './table-actions/TableActionItem.js';\nimport {TableActionsListStylesNames} from './table-actions/TableActionsList.js';\nimport {TableHeaderActionsStylesNames} from './table-actions/TableHeaderActions.js';\nimport {TableActionsColumn} from './table-column/TableActionsColumn.js';\nimport {\n TableAccordionColumn,\n TableCollapsibleColumn,\n TableCollapsibleColumnStylesNames,\n} from './table-column/TableCollapsibleColumn.js';\nimport {TableSelectableColumn} from './table-column/TableSelectableColumn.js';\nimport {TableDateRangePicker, TableDateRangePickerStylesNames} from './table-date-range-picker/TableDateRangePicker.js';\nimport {TableFilter, TableFilterStylesNames} from './table-filter/TableFilter.js';\nimport {TableFooter} from './table-footer/TableFooter.js';\nimport {TableHeader, TableHeaderStylesNames} from './table-header/TableHeader.js';\nimport {TableThStylesNames} from './table-header/Th.js';\nimport {TableLastUpdated, TableLastUpdatedStylesNames} from './table-last-updated/TableLastUpdated.js';\nimport {TableLoading} from './table-loading/TableLoading.js';\nimport {TableNoData} from './table-no-data/TableNoData.js';\nimport {TablePagination} from './table-pagination/TablePagination.js';\nimport {TablePerPage} from './table-per-page/TablePerPage.js';\nimport {TablePredicate, TablePredicateStylesNames} from './table-predicate/TablePredicate.js';\nimport {TableState} from './use-table.js';\n\ntype TableStylesNames =\n | 'root'\n | 'table'\n | 'header'\n | 'body'\n | TableHeaderActionsStylesNames\n | TableActionsListStylesNames\n | TableActionItemStylesNames\n | TableCollapsibleColumnStylesNames\n | TableDateRangePickerStylesNames\n | TableFilterStylesNames\n | TableHeaderStylesNames\n | TableThStylesNames\n | TableLastUpdatedStylesNames\n | TablePredicateStylesNames;\n\nexport type PlasmaTableFactory = Factory<{\n props: TableProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: TableStylesNames;\n staticComponents: {\n AccordionColumn: typeof TableAccordionColumn;\n ActionsColumn: typeof TableActionsColumn;\n ActionItem: typeof TableActionItem;\n CollapsibleColumn: typeof TableCollapsibleColumn;\n DateRangePicker: typeof TableDateRangePicker;\n Filter: typeof TableFilter;\n Footer: typeof TableFooter;\n Header: typeof TableHeader;\n LastUpdated: typeof TableLastUpdated;\n Layouts: typeof TableLayouts;\n Loading: typeof TableLoading;\n NoData: typeof TableNoData;\n Pagination: typeof TablePagination;\n PerPage: typeof TablePerPage;\n Predicate: typeof TablePredicate;\n };\n}>;\n\nconst defaultProps: Partial<TableProps<unknown>> = {\n layouts: [TableLayouts.Rows as TableLayout],\n layoutProps: {},\n loading: false,\n additionalRootNodes: [],\n options: {},\n getRowActions: () => [],\n};\n\nexport const Table = <T,>(props: TableProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n store,\n data,\n getRowId,\n getRowAttributes,\n getRowExpandedContent,\n getRowActions,\n columns,\n layouts,\n layoutProps,\n children,\n loading,\n additionalRootNodes,\n options,\n ref,\n\n // Style props\n style,\n className,\n classNames,\n styles,\n unstyled,\n ...others\n } = useProps('PlasmaTable', defaultProps as TableProps<T>, props);\n\n const getStyles = useStyles<PlasmaTableFactory>({\n name: 'PlasmaTable',\n classes,\n props: props as TableProps<unknown>,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const lastUpdated = convertedChildren.find((child) => child.type === TableLastUpdated);\n const noData = convertedChildren.find((child) => child.type === TableNoData);\n\n const table = useReactTable({\n data: data || [],\n state: {\n globalFilter: store.state.globalFilter,\n sorting: store.state.sorting,\n pagination: store.state.pagination,\n columnVisibility: store.state.columnVisibility,\n expanded: store.state.expanded,\n },\n onGlobalFilterChange: store.setGlobalFilter,\n onExpandedChange: store.setExpanded,\n onSortingChange: store.setSorting,\n onPaginationChange: store.setPagination,\n onColumnVisibilityChange: store.setColumnVisibility,\n columns: store.multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!store.multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getRowExpandedContent?.(row.original, row.index, row),\n enableRowSelection: !loading,\n defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n rowCount: options?.getFilteredRowModel ? undefined : store.state.totalEntries,\n ...options,\n });\n\n table.setOptions((prev) => ({\n ...prev,\n state: {\n ...prev.state,\n rowSelection: store.state.rowSelection as RowSelectionState,\n },\n onRowSelectionChange: (rowSelectionUpdater) => {\n store.setRowSelection((old) => {\n const newRowSelection = (\n rowSelectionUpdater instanceof Function\n ? rowSelectionUpdater(old as RowSelectionState)\n : rowSelectionUpdater\n ) as TableState<T>['rowSelection'];\n\n if (isEqual(old, newRowSelection)) {\n return old;\n }\n\n const rows = table.getRowModel().rowsById;\n\n Object.keys(newRowSelection).forEach((rowId) => {\n if (newRowSelection[rowId] === true) {\n if (!rows[rowId]) {\n console.error(\n 'The table was not initialized properly, the rowSelection state should contain an object of type Record<string, TData>.',\n );\n }\n newRowSelection[rowId] = rows[rowId]?.original ?? (true as T);\n }\n });\n\n return newRowSelection;\n });\n },\n }));\n\n useEffect(() => {\n // Update the selected rows data when the data prop changes\n if (store.getSelectedRows().length > 0) {\n store.setRowSelection((old) => {\n const rowsById = table.getRowModel().rowsById;\n const newSelection = {...old};\n Object.keys(old).forEach((rowId) => {\n if (rowsById[rowId]) {\n newSelection[rowId] = rowsById[rowId].original;\n }\n });\n return isEqual(newSelection, old) ? old : newSelection;\n });\n }\n }, [data]);\n\n const containerRef = useRef<HTMLDivElement>(null);\n useClickOutside(\n () => {\n if (!store.multiRowSelectionEnabled && store.getSelectedRows().length > 0) {\n store.clearRowSelection();\n }\n },\n null,\n [containerRef.current, ...additionalRootNodes],\n );\n const mergedRef = useMergedRef(containerRef, ref);\n\n if (!data) {\n return (\n <Center style={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout =\n store.state.layout === null ? layouts[0] : layouts.find(({displayName}) => displayName === store.state.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={mergedRef} {...others} {...getStyles('root')}>\n <TableProvider<T> value={{getStyles, getRowActions, store, table, layouts, containerRef}}>\n <Layout>\n {store.isVacant && !store.isFiltered ? (\n noData\n ) : (\n <>\n <Box component=\"table\" {...getStyles('table')} mod={{loading}}>\n <thead {...getStyles('header')}>\n {header ? (\n <tr>\n <th style={{padding: 0}} colSpan={table.getAllColumns().length}>\n {header}\n </th>\n </tr>\n ) : null}\n <Layout.Header\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n </thead>\n <tbody {...getStyles('body')}>\n {hasRows ? (\n <Layout.Body\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading || !store.isFiltered}>\n {noData}\n </TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated}\n </>\n )}\n </Layout>\n </TableProvider>\n </Box>\n );\n};\n\nexport const TableComponentsOrder = {\n MultiSelectInfo: 7,\n Actions: 6,\n Predicate: 5,\n Filter: 4,\n DateRangePicker: 3,\n LayoutControl: 1,\n};\n\nTable.AccordionColumn = TableAccordionColumn;\nTable.ActionsColumn = TableActionsColumn;\nTable.ActionItem = TableActionItem;\nTable.CollapsibleColumn = TableCollapsibleColumn;\nTable.DateRangePicker = TableDateRangePicker;\nTable.Filter = TableFilter;\nTable.Footer = TableFooter;\nTable.Header = TableHeader;\nTable.LastUpdated = TableLastUpdated;\nTable.Layouts = TableLayouts;\nTable.Loading = TableLoading;\nTable.NoData = TableNoData;\nTable.Pagination = TablePagination;\nTable.PerPage = TablePerPage;\nTable.Predicate = TablePredicate;\n\nTable.extend = identity as CustomComponentThemeExtend<PlasmaTableFactory>;\n"],"names":["Box","Center","Loader","useProps","useStyles","useClickOutside","useMergedRef","defaultColumnSizing","getCoreRowModel","useReactTable","isEqual","Children","useEffect","useRef","identity","classes","TableProvider","TableLayouts","TableActionItem","TableActionsColumn","TableAccordionColumn","TableCollapsibleColumn","TableSelectableColumn","TableDateRangePicker","TableFilter","TableFooter","TableHeader","TableLastUpdated","TableLoading","TableNoData","TablePagination","TablePerPage","TablePredicate","defaultProps","layouts","Rows","layoutProps","loading","additionalRootNodes","options","getRowActions","Table","props","store","data","getRowId","getRowAttributes","getRowExpandedContent","columns","children","ref","style","className","classNames","styles","unstyled","others","getStyles","name","convertedChildren","toArray","header","find","child","type","footer","lastUpdated","noData","table","state","globalFilter","sorting","pagination","columnVisibility","expanded","onGlobalFilterChange","setGlobalFilter","onExpandedChange","setExpanded","onSortingChange","setSorting","onPaginationChange","setPagination","onColumnVisibilityChange","setColumnVisibility","multiRowSelectionEnabled","concat","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","index","enableRowSelection","defaultColumn","size","minSize","maxSize","rowCount","getFilteredRowModel","totalEntries","setOptions","prev","rowSelection","onRowSelectionChange","rowSelectionUpdater","setRowSelection","old","newRowSelection","Function","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","getSelectedRows","length","newSelection","containerRef","clearRowSelection","current","mergedRef","flexGrow","Layout","layout","displayName","hasRows","value","isVacant","isFiltered","component","mod","thead","tr","th","padding","colSpan","getAllColumns","Header","tbody","Body","td","visible","TableComponentsOrder","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","LayoutControl","AccordionColumn","ActionsColumn","ActionItem","CollapsibleColumn","Footer","LastUpdated","Layouts","Loading","NoData","Pagination","PerPage","extend"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Table/Table.tsx"],"sourcesContent":["import {Box, Center, Factory, Loader, useProps, useStyles} from '@mantine/core';\nimport {useClickOutside, useMergedRef} from '@mantine/hooks';\nimport {\n ColumnDef,\n defaultColumnSizing,\n getCoreRowModel,\n Row,\n RowSelectionState,\n useReactTable,\n} from '@tanstack/react-table';\nimport isEqual from 'fast-deep-equal';\nimport {Children, ForwardedRef, ReactElement, useEffect, useRef} from 'react';\nimport {CustomComponentThemeExtend, identity} from '../../utils/createFactoryComponent.js';\nimport classes from './Table.module.css';\nimport {TableLayout, TableProps} from './Table.types.js';\nimport {TableProvider} from './TableContext.js';\nimport {TableLayouts} from './layouts/TableLayouts.js';\nimport {TableActionItem, TableActionItemStylesNames} from './table-actions/TableActionItem.js';\nimport {TableActionsListStylesNames} from './table-actions/TableActionsList.js';\nimport {TableHeaderActionsStylesNames} from './table-actions/TableHeaderActions.js';\nimport {TableActionsColumn} from './table-column/TableActionsColumn.js';\nimport {\n TableAccordionColumn,\n TableCollapsibleColumn,\n TableCollapsibleColumnStylesNames,\n} from './table-column/TableCollapsibleColumn.js';\nimport {TableSelectableColumn} from './table-column/TableSelectableColumn.js';\nimport {TableDateRangePicker, TableDateRangePickerStylesNames} from './table-date-range-picker/TableDateRangePicker.js';\nimport {TableFilter, TableFilterStylesNames} from './table-filter/TableFilter.js';\nimport {TableFooter} from './table-footer/TableFooter.js';\nimport {TableHeader, TableHeaderStylesNames} from './table-header/TableHeader.js';\nimport {TableThStylesNames} from './table-header/Th.js';\nimport {TableLastUpdated, TableLastUpdatedStylesNames} from './table-last-updated/TableLastUpdated.js';\nimport {TableLoading} from './table-loading/TableLoading.js';\nimport {TableNoData} from './table-no-data/TableNoData.js';\nimport {TablePagination} from './table-pagination/TablePagination.js';\nimport {TablePerPage} from './table-per-page/TablePerPage.js';\nimport {TablePredicate, TablePredicateStylesNames} from './table-predicate/TablePredicate.js';\nimport {TableState} from './use-table.js';\n\ntype TableStylesNames =\n | 'root'\n | 'table'\n | 'header'\n | 'body'\n | TableHeaderActionsStylesNames\n | TableActionsListStylesNames\n | TableActionItemStylesNames\n | TableCollapsibleColumnStylesNames\n | TableDateRangePickerStylesNames\n | TableFilterStylesNames\n | TableHeaderStylesNames\n | TableThStylesNames\n | TableLastUpdatedStylesNames\n | TablePredicateStylesNames;\n\nexport type PlasmaTableFactory = Factory<{\n props: TableProps<unknown>;\n ref: HTMLDivElement;\n stylesNames: TableStylesNames;\n staticComponents: {\n AccordionColumn: typeof TableAccordionColumn;\n ActionsColumn: typeof TableActionsColumn;\n ActionItem: typeof TableActionItem;\n CollapsibleColumn: typeof TableCollapsibleColumn;\n DateRangePicker: typeof TableDateRangePicker;\n Filter: typeof TableFilter;\n Footer: typeof TableFooter;\n Header: typeof TableHeader;\n LastUpdated: typeof TableLastUpdated;\n Layouts: typeof TableLayouts;\n Loading: typeof TableLoading;\n NoData: typeof TableNoData;\n Pagination: typeof TablePagination;\n PerPage: typeof TablePerPage;\n Predicate: typeof TablePredicate;\n };\n}>;\n\nconst defaultProps: Partial<TableProps<unknown>> = {\n layouts: [TableLayouts.Rows as TableLayout],\n layoutProps: {},\n loading: false,\n additionalRootNodes: [],\n options: {},\n getRowActions: () => [],\n};\n\nexport const Table = <T,>(props: TableProps<T> & {ref?: ForwardedRef<HTMLDivElement>}) => {\n const {\n store,\n data,\n getRowId,\n getRowAttributes,\n getRowExpandedContent,\n getRowActions,\n columns,\n layouts,\n layoutProps,\n children,\n loading,\n additionalRootNodes,\n options,\n ref,\n\n // Style props\n style,\n className,\n classNames,\n styles,\n unstyled,\n ...others\n } = useProps('PlasmaTable', defaultProps as TableProps<T>, props);\n\n const getStyles = useStyles<PlasmaTableFactory>({\n name: 'PlasmaTable',\n classes,\n props: props as TableProps<unknown>,\n className,\n style,\n classNames,\n styles,\n unstyled,\n });\n\n const convertedChildren = Children.toArray(children) as ReactElement[];\n const header = convertedChildren.find((child) => child.type === TableHeader);\n const footer = convertedChildren.find((child) => child.type === TableFooter);\n const lastUpdated = convertedChildren.find((child) => child.type === TableLastUpdated);\n const noData = convertedChildren.find((child) => child.type === TableNoData);\n\n const table = useReactTable({\n data: data || [],\n state: {\n globalFilter: store.state.globalFilter,\n sorting: store.state.sorting,\n pagination: store.state.pagination,\n columnVisibility: store.state.columnVisibility,\n expanded: store.state.expanded,\n },\n onGlobalFilterChange: store.setGlobalFilter,\n onExpandedChange: store.setExpanded,\n onSortingChange: store.setSorting,\n onPaginationChange: store.setPagination,\n onColumnVisibilityChange: store.setColumnVisibility,\n columns: store.multiRowSelectionEnabled ? [TableSelectableColumn as ColumnDef<T>].concat(columns) : columns,\n getCoreRowModel: getCoreRowModel(),\n manualPagination: options?.getPaginationRowModel === undefined,\n enableMultiRowSelection: !!store.multiRowSelectionEnabled,\n getRowId,\n getRowCanExpand: (row: Row<T>) => !!getRowExpandedContent?.(row.original, row.index, row),\n enableRowSelection: !loading,\n defaultColumn: {\n size: undefined,\n minSize: defaultColumnSizing.minSize,\n maxSize: defaultColumnSizing.maxSize,\n },\n rowCount: options?.getFilteredRowModel ? undefined : store.state.totalEntries,\n ...options,\n });\n\n table.setOptions((prev) => ({\n ...prev,\n state: {\n ...prev.state,\n rowSelection: store.state.rowSelection as RowSelectionState,\n },\n onRowSelectionChange: (rowSelectionUpdater) => {\n store.setRowSelection((old) => {\n const newRowSelection = (\n rowSelectionUpdater instanceof Function\n ? rowSelectionUpdater(old as RowSelectionState)\n : rowSelectionUpdater\n ) as TableState<T>['rowSelection'];\n\n if (isEqual(old, newRowSelection)) {\n return old;\n }\n\n const rows = table.getRowModel().rowsById;\n\n Object.keys(newRowSelection).forEach((rowId) => {\n if (newRowSelection[rowId] === true) {\n if (!rows[rowId]) {\n console.error(\n 'The table was not initialized properly, the rowSelection state should contain an object of type Record<string, TData>.',\n );\n }\n newRowSelection[rowId] = rows[rowId]?.original ?? (true as T);\n }\n });\n\n return newRowSelection;\n });\n },\n }));\n\n useEffect(() => {\n // Update the selected rows data when the data prop changes\n if (store.getSelectedRows().length > 0) {\n store.setRowSelection((old) => {\n const rowsById = table.getRowModel().rowsById;\n const newSelection = {...old};\n Object.keys(old).forEach((rowId) => {\n if (rowsById[rowId]) {\n newSelection[rowId] = rowsById[rowId].original;\n }\n });\n return isEqual(newSelection, old) ? old : newSelection;\n });\n }\n }, [data]);\n\n const containerRef = useRef<HTMLDivElement>(null);\n useClickOutside(\n () => {\n if (!store.multiRowSelectionEnabled && store.getSelectedRows().length > 0) {\n store.clearRowSelection();\n }\n },\n null,\n [containerRef.current, ...additionalRootNodes],\n );\n const mergedRef = useMergedRef(containerRef, ref);\n\n if (!data) {\n return (\n <Center style={{flexGrow: 1}}>\n <Loader />\n </Center>\n );\n }\n\n const Layout =\n store.state.layout === null ? layouts[0] : layouts.find(({displayName}) => displayName === store.state.layout);\n const hasRows = table.getRowModel().rows.length > 0;\n\n return (\n <Box ref={mergedRef} {...others} {...getStyles('root')}>\n <TableProvider<T> value={{getStyles, getRowActions, store, table, layouts, containerRef}}>\n <Layout>\n {store.isVacant && !store.isFiltered ? (\n noData\n ) : (\n <>\n <Box component=\"table\" {...getStyles('table')} mod={{loading}}>\n <thead {...getStyles('header')}>\n {header ? (\n <tr>\n <th style={{padding: 0}} colSpan={table.getAllColumns().length}>\n {header}\n </th>\n </tr>\n ) : null}\n {hasRows || loading ? (\n <Layout.Header\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n ) : null}\n </thead>\n <tbody {...getStyles('body')}>\n {hasRows ? (\n <Layout.Body\n getRowExpandedContent={getRowExpandedContent}\n getRowAttributes={getRowAttributes}\n loading={loading}\n {...layoutProps}\n />\n ) : (\n <tr>\n <td colSpan={table.getAllColumns().length}>\n <TableLoading visible={loading || !store.isFiltered}>\n {noData}\n </TableLoading>\n </td>\n </tr>\n )}\n </tbody>\n </Box>\n {footer}\n {lastUpdated}\n </>\n )}\n </Layout>\n </TableProvider>\n </Box>\n );\n};\n\nexport const TableComponentsOrder = {\n MultiSelectInfo: 7,\n Actions: 6,\n Predicate: 5,\n Filter: 4,\n DateRangePicker: 3,\n LayoutControl: 1,\n};\n\n/**\n * Generic column to use when your table needs an accordion (collapsible rows, but only one open at a time).\n */\nTable.AccordionColumn = TableAccordionColumn;\n/**\n * Generic column to use when your table needs actions on rows\n */\nTable.ActionsColumn = TableActionsColumn;\n/**\n * An action to display when a row is selected in the table. Can be displayed as a primary action or menu item.\n */\nTable.ActionItem = TableActionItem;\n/**\n * Generic column to use when your table needs collapsible rows\n */\nTable.CollapsibleColumn = TableCollapsibleColumn;\n/**\n * A date range picker integrated with the table store that resets pagination on change.\n */\nTable.DateRangePicker = TableDateRangePicker;\n/**\n * A search input that filters table rows by matching against any field.\n * The filter value is debounced and resets pagination to the first page on change.\n */\nTable.Filter = TableFilter;\n/**\n * Container for elements displayed below the table body, typically pagination and per-page controls.\n */\nTable.Footer = TableFooter;\n/**\n * Container for elements displayed above the table body such as filters, predicates, and actions.\n */\nTable.Header = TableHeader;\n/**\n * Displays the time of the last data update, automatically refreshing when table data changes.\n */\nTable.LastUpdated = TableLastUpdated;\n/**\n * Available table layout configurations (e.g., Rows, Cards).\n */\nTable.Layouts = TableLayouts;\n/**\n * Skeleton overlay displayed while the table data is loading.\n */\nTable.Loading = TableLoading;\n/**\n * Container displayed when the table has no data to show.\n */\nTable.NoData = TableNoData;\n/**\n * Page navigation control that syncs with the table store and scrolls to the table on page change.\n */\nTable.Pagination = TablePagination;\n/**\n * Control allowing users to choose how many results are displayed per page.\n */\nTable.PerPage = TablePerPage;\n/**\n * A dropdown that filters table data by a predefined set of values and resets pagination on change.\n */\nTable.Predicate = TablePredicate;\n\nTable.extend = identity as CustomComponentThemeExtend<PlasmaTableFactory>;\n"],"names":["Box","Center","Loader","useProps","useStyles","useClickOutside","useMergedRef","defaultColumnSizing","getCoreRowModel","useReactTable","isEqual","Children","useEffect","useRef","identity","classes","TableProvider","TableLayouts","TableActionItem","TableActionsColumn","TableAccordionColumn","TableCollapsibleColumn","TableSelectableColumn","TableDateRangePicker","TableFilter","TableFooter","TableHeader","TableLastUpdated","TableLoading","TableNoData","TablePagination","TablePerPage","TablePredicate","defaultProps","layouts","Rows","layoutProps","loading","additionalRootNodes","options","getRowActions","Table","props","store","data","getRowId","getRowAttributes","getRowExpandedContent","columns","children","ref","style","className","classNames","styles","unstyled","others","getStyles","name","convertedChildren","toArray","header","find","child","type","footer","lastUpdated","noData","table","state","globalFilter","sorting","pagination","columnVisibility","expanded","onGlobalFilterChange","setGlobalFilter","onExpandedChange","setExpanded","onSortingChange","setSorting","onPaginationChange","setPagination","onColumnVisibilityChange","setColumnVisibility","multiRowSelectionEnabled","concat","manualPagination","getPaginationRowModel","undefined","enableMultiRowSelection","getRowCanExpand","row","original","index","enableRowSelection","defaultColumn","size","minSize","maxSize","rowCount","getFilteredRowModel","totalEntries","setOptions","prev","rowSelection","onRowSelectionChange","rowSelectionUpdater","setRowSelection","old","newRowSelection","Function","rows","getRowModel","rowsById","Object","keys","forEach","rowId","console","error","getSelectedRows","length","newSelection","containerRef","clearRowSelection","current","mergedRef","flexGrow","Layout","layout","displayName","hasRows","value","isVacant","isFiltered","component","mod","thead","tr","th","padding","colSpan","getAllColumns","Header","tbody","Body","td","visible","TableComponentsOrder","MultiSelectInfo","Actions","Predicate","Filter","DateRangePicker","LayoutControl","AccordionColumn","ActionsColumn","ActionItem","CollapsibleColumn","Footer","LastUpdated","Layouts","Loading","NoData","Pagination","PerPage","extend"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import { IconSettings } from '@coveord/plasma-react-icons';
|
|
3
3
|
import { Checkbox, Divider, Popover, ScrollArea, Stack, Text, Tooltip } from '@mantine/core';
|
|
4
4
|
import { flexRender } from '@tanstack/react-table';
|
|
5
|
-
import { ActionIcon } from '../../ActionIcon/ActionIcon';
|
|
5
|
+
import { ActionIcon } from '../../ActionIcon/ActionIcon.js';
|
|
6
6
|
const DEFAULT_OPTIONS = {
|
|
7
7
|
footer: (max)=>`You can display up to ${max} columns.`,
|
|
8
8
|
limitReachedTooltip: 'You have reached the maximum display limit.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/components/Table/table-columns-selector/TableColumnsSelector.tsx"],"sourcesContent":["import {IconSettings} from '@coveord/plasma-react-icons';\nimport {Checkbox, Divider, Popover, ScrollArea, Stack, Text, Tooltip} from '@mantine/core';\nimport {flexRender, Header, Table} from '@tanstack/react-table';\nimport {ActionIcon} from '../../ActionIcon/ActionIcon';\n\nexport interface TableColumnsSelectorOptions {\n /**\n * The maximum number of columns that can be selected at the same time.\n * If defined a footer will render with the remaining number of columns that can be selected.\n * Must be a positive integer (greater than 0).\n */\n maxSelectableColumns?: number;\n /**\n * The content to display in the footer when maxSelectableColumns is defined.\n * Can be a string or a function that receives the maxSelectableColumns value.\n * @default (max) => `You can display up to ${max} columns.`\n */\n footer?: string | ((maxSelectableColumns: number) => string);\n /**\n * The tooltip to display when the user hovers over a disabled checkbox because of the limit.\n * @default 'You have reached the maximum display limit.'\n */\n limitReachedTooltip?: string;\n /**\n * The tooltip to display when the user hovers over a disabled checkbox because a column cannot be hidden.\n * @default 'This column is always visible.'\n */\n alwaysVisibleTooltip?: string;\n}\n\nexport interface TableColumnsSelectorProps {\n table: Table<unknown>;\n options?: TableColumnsSelectorOptions;\n}\n\nconst DEFAULT_OPTIONS: Omit<TableColumnsSelectorOptions, 'footer'> & {\n footer: (maxSelectableColumns: number) => string;\n} = {\n footer: (max) => `You can display up to ${max} columns.`,\n limitReachedTooltip: 'You have reached the maximum display limit.',\n alwaysVisibleTooltip: 'This column is always visible.',\n};\n\nexport const TableColumnsSelector = ({table, options}: TableColumnsSelectorProps) => {\n const {maxSelectableColumns, footer, limitReachedTooltip, alwaysVisibleTooltip} = {\n ...DEFAULT_OPTIONS,\n ...options,\n };\n\n const allColumns = table.getAllLeafColumns();\n const filteredColumns = allColumns.filter((column) => !column.columnDef.meta?.controlColumn);\n const selectedColumnsCount = filteredColumns.filter((column) => column.getIsVisible()).length;\n\n // Validate maxSelectableColumns - must be a positive integer to be effective\n const effectiveMaxColumns =\n maxSelectableColumns !== undefined && maxSelectableColumns > 0 ? maxSelectableColumns : undefined;\n\n if (filteredColumns.length <= 0) {\n return null;\n }\n\n const getColumnState = (column: (typeof filteredColumns)[number]) => {\n const alwaysVisible = !column.getCanHide();\n const isDisabled =\n (effectiveMaxColumns !== undefined &&\n selectedColumnsCount >= effectiveMaxColumns &&\n !column.getIsVisible()) ||\n alwaysVisible;\n const isVisible = column.getIsVisible() || alwaysVisible;\n return {alwaysVisible, isDisabled, isVisible};\n };\n\n const columnOptions = filteredColumns.map((column) => {\n const {alwaysVisible, isDisabled, isVisible} = getColumnState(column);\n\n return (\n <Tooltip\n label={alwaysVisible ? alwaysVisibleTooltip : limitReachedTooltip}\n disabled={!isDisabled}\n position=\"left\"\n key={column.id}\n >\n <div>\n <Checkbox\n label={flexRender(column.columnDef.header, {\n table,\n column,\n header: {column} as Header<unknown, unknown>,\n })}\n name={column.id}\n checked={isVisible}\n disabled={isDisabled}\n onChange={column.getToggleVisibilityHandler()}\n />\n </div>\n </Tooltip>\n );\n });\n\n return (\n <Popover position=\"bottom-end\" shadow=\"md\">\n <Popover.Target>\n <Tooltip label=\"Edit columns\">\n <ActionIcon.Tertiary aria-label=\"settings\">\n <IconSettings height={16} />\n </ActionIcon.Tertiary>\n </Tooltip>\n </Popover.Target>\n <Popover.Dropdown miw={270} pb=\"xs\">\n <ScrollArea.Autosize mah={200} type=\"auto\">\n <Stack gap=\"xs\">{columnOptions}</Stack>\n </ScrollArea.Autosize>\n {effectiveMaxColumns && (\n <>\n <Divider my=\"xs\" mx=\"-sm\" />\n <Text size=\"sm\" c=\"dimmed\">\n {typeof footer === 'function' ? footer(effectiveMaxColumns) : footer}\n </Text>\n </>\n )}\n </Popover.Dropdown>\n </Popover>\n );\n};\n"],"names":["IconSettings","Checkbox","Divider","Popover","ScrollArea","Stack","Text","Tooltip","flexRender","ActionIcon","DEFAULT_OPTIONS","footer","max","limitReachedTooltip","alwaysVisibleTooltip","TableColumnsSelector","table","options","maxSelectableColumns","allColumns","getAllLeafColumns","filteredColumns","filter","column","columnDef","meta","controlColumn","selectedColumnsCount","getIsVisible","length","effectiveMaxColumns","undefined","getColumnState","alwaysVisible","getCanHide","isDisabled","isVisible","columnOptions","map","label","disabled","position","div","header","name","id","checked","onChange","getToggleVisibilityHandler","shadow","Target","Tertiary","aria-label","height","Dropdown","miw","pb","Autosize","mah","type","gap","my","mx","size","c"],"mappings":";AAAA,SAAQA,YAAY,QAAO,8BAA8B;AACzD,SAAQC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,EAAEC,UAAU,EAAEC,KAAK,EAAEC,IAAI,EAAEC,OAAO,QAAO,gBAAgB;AAC3F,SAAQC,UAAU,QAAsB,wBAAwB;AAChE,SAAQC,UAAU,QAAO,
|
|
1
|
+
{"version":3,"sources":["../../../../../src/components/Table/table-columns-selector/TableColumnsSelector.tsx"],"sourcesContent":["import {IconSettings} from '@coveord/plasma-react-icons';\nimport {Checkbox, Divider, Popover, ScrollArea, Stack, Text, Tooltip} from '@mantine/core';\nimport {flexRender, Header, Table} from '@tanstack/react-table';\nimport {ActionIcon} from '../../ActionIcon/ActionIcon.js';\n\nexport interface TableColumnsSelectorOptions {\n /**\n * The maximum number of columns that can be selected at the same time.\n * If defined a footer will render with the remaining number of columns that can be selected.\n * Must be a positive integer (greater than 0).\n */\n maxSelectableColumns?: number;\n /**\n * The content to display in the footer when maxSelectableColumns is defined.\n * Can be a string or a function that receives the maxSelectableColumns value.\n * @default (max) => `You can display up to ${max} columns.`\n */\n footer?: string | ((maxSelectableColumns: number) => string);\n /**\n * The tooltip to display when the user hovers over a disabled checkbox because of the limit.\n * @default 'You have reached the maximum display limit.'\n */\n limitReachedTooltip?: string;\n /**\n * The tooltip to display when the user hovers over a disabled checkbox because a column cannot be hidden.\n * @default 'This column is always visible.'\n */\n alwaysVisibleTooltip?: string;\n}\n\nexport interface TableColumnsSelectorProps {\n table: Table<unknown>;\n options?: TableColumnsSelectorOptions;\n}\n\nconst DEFAULT_OPTIONS: Omit<TableColumnsSelectorOptions, 'footer'> & {\n footer: (maxSelectableColumns: number) => string;\n} = {\n footer: (max) => `You can display up to ${max} columns.`,\n limitReachedTooltip: 'You have reached the maximum display limit.',\n alwaysVisibleTooltip: 'This column is always visible.',\n};\n\nexport const TableColumnsSelector = ({table, options}: TableColumnsSelectorProps) => {\n const {maxSelectableColumns, footer, limitReachedTooltip, alwaysVisibleTooltip} = {\n ...DEFAULT_OPTIONS,\n ...options,\n };\n\n const allColumns = table.getAllLeafColumns();\n const filteredColumns = allColumns.filter((column) => !column.columnDef.meta?.controlColumn);\n const selectedColumnsCount = filteredColumns.filter((column) => column.getIsVisible()).length;\n\n // Validate maxSelectableColumns - must be a positive integer to be effective\n const effectiveMaxColumns =\n maxSelectableColumns !== undefined && maxSelectableColumns > 0 ? maxSelectableColumns : undefined;\n\n if (filteredColumns.length <= 0) {\n return null;\n }\n\n const getColumnState = (column: (typeof filteredColumns)[number]) => {\n const alwaysVisible = !column.getCanHide();\n const isDisabled =\n (effectiveMaxColumns !== undefined &&\n selectedColumnsCount >= effectiveMaxColumns &&\n !column.getIsVisible()) ||\n alwaysVisible;\n const isVisible = column.getIsVisible() || alwaysVisible;\n return {alwaysVisible, isDisabled, isVisible};\n };\n\n const columnOptions = filteredColumns.map((column) => {\n const {alwaysVisible, isDisabled, isVisible} = getColumnState(column);\n\n return (\n <Tooltip\n label={alwaysVisible ? alwaysVisibleTooltip : limitReachedTooltip}\n disabled={!isDisabled}\n position=\"left\"\n key={column.id}\n >\n <div>\n <Checkbox\n label={flexRender(column.columnDef.header, {\n table,\n column,\n header: {column} as Header<unknown, unknown>,\n })}\n name={column.id}\n checked={isVisible}\n disabled={isDisabled}\n onChange={column.getToggleVisibilityHandler()}\n />\n </div>\n </Tooltip>\n );\n });\n\n return (\n <Popover position=\"bottom-end\" shadow=\"md\">\n <Popover.Target>\n <Tooltip label=\"Edit columns\">\n <ActionIcon.Tertiary aria-label=\"settings\">\n <IconSettings height={16} />\n </ActionIcon.Tertiary>\n </Tooltip>\n </Popover.Target>\n <Popover.Dropdown miw={270} pb=\"xs\">\n <ScrollArea.Autosize mah={200} type=\"auto\">\n <Stack gap=\"xs\">{columnOptions}</Stack>\n </ScrollArea.Autosize>\n {effectiveMaxColumns && (\n <>\n <Divider my=\"xs\" mx=\"-sm\" />\n <Text size=\"sm\" c=\"dimmed\">\n {typeof footer === 'function' ? footer(effectiveMaxColumns) : footer}\n </Text>\n </>\n )}\n </Popover.Dropdown>\n </Popover>\n );\n};\n"],"names":["IconSettings","Checkbox","Divider","Popover","ScrollArea","Stack","Text","Tooltip","flexRender","ActionIcon","DEFAULT_OPTIONS","footer","max","limitReachedTooltip","alwaysVisibleTooltip","TableColumnsSelector","table","options","maxSelectableColumns","allColumns","getAllLeafColumns","filteredColumns","filter","column","columnDef","meta","controlColumn","selectedColumnsCount","getIsVisible","length","effectiveMaxColumns","undefined","getColumnState","alwaysVisible","getCanHide","isDisabled","isVisible","columnOptions","map","label","disabled","position","div","header","name","id","checked","onChange","getToggleVisibilityHandler","shadow","Target","Tertiary","aria-label","height","Dropdown","miw","pb","Autosize","mah","type","gap","my","mx","size","c"],"mappings":";AAAA,SAAQA,YAAY,QAAO,8BAA8B;AACzD,SAAQC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,EAAEC,UAAU,EAAEC,KAAK,EAAEC,IAAI,EAAEC,OAAO,QAAO,gBAAgB;AAC3F,SAAQC,UAAU,QAAsB,wBAAwB;AAChE,SAAQC,UAAU,QAAO,iCAAiC;AAgC1D,MAAMC,kBAEF;IACAC,QAAQ,CAACC,MAAQ,CAAC,sBAAsB,EAAEA,IAAI,SAAS,CAAC;IACxDC,qBAAqB;IACrBC,sBAAsB;AAC1B;AAEA,OAAO,MAAMC,uBAAuB,CAAC,EAACC,KAAK,EAAEC,OAAO,EAA4B;IAC5E,MAAM,EAACC,oBAAoB,EAAEP,MAAM,EAAEE,mBAAmB,EAAEC,oBAAoB,EAAC,GAAG;QAC9E,GAAGJ,eAAe;QAClB,GAAGO,OAAO;IACd;IAEA,MAAME,aAAaH,MAAMI,iBAAiB;IAC1C,MAAMC,kBAAkBF,WAAWG,MAAM,CAAC,CAACC,SAAW,CAACA,OAAOC,SAAS,CAACC,IAAI,EAAEC;IAC9E,MAAMC,uBAAuBN,gBAAgBC,MAAM,CAAC,CAACC,SAAWA,OAAOK,YAAY,IAAIC,MAAM;IAE7F,6EAA6E;IAC7E,MAAMC,sBACFZ,yBAAyBa,aAAab,uBAAuB,IAAIA,uBAAuBa;IAE5F,IAAIV,gBAAgBQ,MAAM,IAAI,GAAG;QAC7B,OAAO;IACX;IAEA,MAAMG,iBAAiB,CAACT;QACpB,MAAMU,gBAAgB,CAACV,OAAOW,UAAU;QACxC,MAAMC,aACF,AAACL,wBAAwBC,aACrBJ,wBAAwBG,uBACxB,CAACP,OAAOK,YAAY,MACxBK;QACJ,MAAMG,YAAYb,OAAOK,YAAY,MAAMK;QAC3C,OAAO;YAACA;YAAeE;YAAYC;QAAS;IAChD;IAEA,MAAMC,gBAAgBhB,gBAAgBiB,GAAG,CAAC,CAACf;QACvC,MAAM,EAACU,aAAa,EAAEE,UAAU,EAAEC,SAAS,EAAC,GAAGJ,eAAeT;QAE9D,qBACI,KAAChB;YACGgC,OAAON,gBAAgBnB,uBAAuBD;YAC9C2B,UAAU,CAACL;YACXM,UAAS;sBAGT,cAAA,KAACC;0BACG,cAAA,KAACzC;oBACGsC,OAAO/B,WAAWe,OAAOC,SAAS,CAACmB,MAAM,EAAE;wBACvC3B;wBACAO;wBACAoB,QAAQ;4BAACpB;wBAAM;oBACnB;oBACAqB,MAAMrB,OAAOsB,EAAE;oBACfC,SAASV;oBACTI,UAAUL;oBACVY,UAAUxB,OAAOyB,0BAA0B;;;WAZ9CzB,OAAOsB,EAAE;IAiB1B;IAEA,qBACI,MAAC1C;QAAQsC,UAAS;QAAaQ,QAAO;;0BAClC,KAAC9C,QAAQ+C,MAAM;0BACX,cAAA,KAAC3C;oBAAQgC,OAAM;8BACX,cAAA,KAAC9B,WAAW0C,QAAQ;wBAACC,cAAW;kCAC5B,cAAA,KAACpD;4BAAaqD,QAAQ;;;;;0BAIlC,MAAClD,QAAQmD,QAAQ;gBAACC,KAAK;gBAAKC,IAAG;;kCAC3B,KAACpD,WAAWqD,QAAQ;wBAACC,KAAK;wBAAKC,MAAK;kCAChC,cAAA,KAACtD;4BAAMuD,KAAI;sCAAMvB;;;oBAEpBP,qCACG;;0CACI,KAAC5B;gCAAQ2D,IAAG;gCAAKC,IAAG;;0CACpB,KAACxD;gCAAKyD,MAAK;gCAAKC,GAAE;0CACb,OAAOrD,WAAW,aAAaA,OAAOmB,uBAAuBnB;;;;;;;;AAO1F,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plasmantine.d.ts","sourceRoot":"","sources":["../../../src/theme/Plasmantine.tsx"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B,OAAO,
|
|
1
|
+
{"version":3,"file":"Plasmantine.d.ts","sourceRoot":"","sources":["../../../src/theme/Plasmantine.tsx"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,CAAC;AAE9B,OAAO,EAIH,oBAAoB,EAGvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,iBAAiB,EAAC,MAAM,OAAO,CAAC;AAYxC,eAAO,MAAM,WAAW,EAAE,iBAAiB,CAAC,oBAAoB,CAkB/D,CAAC"}
|
|
@@ -1,15 +1,34 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import '../styles/global.css';
|
|
3
|
-
import { MantineProvider, mergeThemeOverrides } from '@mantine/core';
|
|
3
|
+
import { Combobox, createTheme, MantineProvider, mergeThemeOverrides, Popover } from '@mantine/core';
|
|
4
4
|
import { mergeCSSVariablesResolvers } from './mergeCSSVariablesResolvers.js';
|
|
5
5
|
import { plasmaCSSVariablesResolver } from './plasmaCSSVariablesResolver.js';
|
|
6
6
|
import { plasmaTheme } from './Theme.js';
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
const testThemeOverride = createTheme({
|
|
8
|
+
components: {
|
|
9
|
+
Combobox: Combobox.extend({
|
|
10
|
+
defaultProps: {
|
|
11
|
+
middlewares: {
|
|
12
|
+
inline: true
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}),
|
|
16
|
+
Popover: Popover.extend({
|
|
17
|
+
defaultProps: {
|
|
18
|
+
middlewares: {
|
|
19
|
+
inline: true
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
})
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
export const Plasmantine = ({ children, theme: externalTheme, cssVariablesResolver: externalCSSVariablesResolver, env, ...others })=>{
|
|
26
|
+
const theme = env === 'test' ? mergeThemeOverrides(plasmaTheme, testThemeOverride, externalTheme) : mergeThemeOverrides(plasmaTheme, externalTheme);
|
|
9
27
|
const cssVariablesResolver = mergeCSSVariablesResolvers(plasmaCSSVariablesResolver, externalCSSVariablesResolver);
|
|
10
28
|
return /*#__PURE__*/ _jsx(MantineProvider, {
|
|
11
29
|
theme: theme,
|
|
12
30
|
cssVariablesResolver: cssVariablesResolver,
|
|
31
|
+
env: env,
|
|
13
32
|
...others,
|
|
14
33
|
children: children
|
|
15
34
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/theme/Plasmantine.tsx"],"sourcesContent":["import '../styles/global.css';\n\nimport {MantineProvider
|
|
1
|
+
{"version":3,"sources":["../../../src/theme/Plasmantine.tsx"],"sourcesContent":["import '../styles/global.css';\n\nimport {\n Combobox,\n createTheme,\n MantineProvider,\n MantineProviderProps,\n mergeThemeOverrides,\n Popover,\n} from '@mantine/core';\nimport {FunctionComponent} from 'react';\nimport {mergeCSSVariablesResolvers} from './mergeCSSVariablesResolvers.js';\nimport {plasmaCSSVariablesResolver} from './plasmaCSSVariablesResolver.js';\nimport {plasmaTheme} from './Theme.js';\n\nconst testThemeOverride = createTheme({\n components: {\n Combobox: Combobox.extend({defaultProps: {middlewares: {inline: true}}}),\n Popover: Popover.extend({defaultProps: {middlewares: {inline: true}}}),\n },\n});\n\nexport const Plasmantine: FunctionComponent<MantineProviderProps> = ({\n children,\n theme: externalTheme,\n cssVariablesResolver: externalCSSVariablesResolver,\n env,\n ...others\n}) => {\n const theme =\n env === 'test'\n ? mergeThemeOverrides(plasmaTheme, testThemeOverride, externalTheme)\n : mergeThemeOverrides(plasmaTheme, externalTheme);\n const cssVariablesResolver = mergeCSSVariablesResolvers(plasmaCSSVariablesResolver, externalCSSVariablesResolver);\n\n return (\n <MantineProvider theme={theme} cssVariablesResolver={cssVariablesResolver} env={env} {...others}>\n {children}\n </MantineProvider>\n );\n};\n"],"names":["Combobox","createTheme","MantineProvider","mergeThemeOverrides","Popover","mergeCSSVariablesResolvers","plasmaCSSVariablesResolver","plasmaTheme","testThemeOverride","components","extend","defaultProps","middlewares","inline","Plasmantine","children","theme","externalTheme","cssVariablesResolver","externalCSSVariablesResolver","env","others"],"mappings":";AAAA,OAAO,uBAAuB;AAE9B,SACIA,QAAQ,EACRC,WAAW,EACXC,eAAe,EAEfC,mBAAmB,EACnBC,OAAO,QACJ,gBAAgB;AAEvB,SAAQC,0BAA0B,QAAO,kCAAkC;AAC3E,SAAQC,0BAA0B,QAAO,kCAAkC;AAC3E,SAAQC,WAAW,QAAO,aAAa;AAEvC,MAAMC,oBAAoBP,YAAY;IAClCQ,YAAY;QACRT,UAAUA,SAASU,MAAM,CAAC;YAACC,cAAc;gBAACC,aAAa;oBAACC,QAAQ;gBAAI;YAAC;QAAC;QACtET,SAASA,QAAQM,MAAM,CAAC;YAACC,cAAc;gBAACC,aAAa;oBAACC,QAAQ;gBAAI;YAAC;QAAC;IACxE;AACJ;AAEA,OAAO,MAAMC,cAAuD,CAAC,EACjEC,QAAQ,EACRC,OAAOC,aAAa,EACpBC,sBAAsBC,4BAA4B,EAClDC,GAAG,EACH,GAAGC,QACN;IACG,MAAML,QACFI,QAAQ,SACFjB,oBAAoBI,aAAaC,mBAAmBS,iBACpDd,oBAAoBI,aAAaU;IAC3C,MAAMC,uBAAuBb,2BAA2BC,4BAA4Ba;IAEpF,qBACI,KAACjB;QAAgBc,OAAOA;QAAOE,sBAAsBA;QAAsBE,KAAKA;QAAM,GAAGC,MAAM;kBAC1FN;;AAGb,EAAE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../../src/theme/Theme.tsx"],"names":[],"mappings":"AAYA,OAAO,EAuBH,oBAAoB,EAuBvB,MAAM,eAAe,CAAC;AAgEvB,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"Theme.d.ts","sourceRoot":"","sources":["../../../src/theme/Theme.tsx"],"names":[],"mappings":"AAYA,OAAO,EAuBH,oBAAoB,EAuBvB,MAAM,eAAe,CAAC;AAgEvB,eAAO,MAAM,WAAW,EAAE,oBAubxB,CAAC"}
|
package/dist/esm/theme/Theme.js
CHANGED
|
@@ -255,12 +255,7 @@ export const plasmaTheme = createTheme({
|
|
|
255
255
|
}
|
|
256
256
|
}),
|
|
257
257
|
Combobox: Combobox.extend({
|
|
258
|
-
classNames: ComboboxClasses
|
|
259
|
-
defaultProps: {
|
|
260
|
-
middlewares: {
|
|
261
|
-
inline: true
|
|
262
|
-
}
|
|
263
|
-
}
|
|
258
|
+
classNames: ComboboxClasses
|
|
264
259
|
}),
|
|
265
260
|
ComboboxChevron: ComboboxChevron.extend({
|
|
266
261
|
defaultProps: {
|
|
@@ -443,9 +438,6 @@ export const plasmaTheme = createTheme({
|
|
|
443
438
|
Popover: Popover.extend({
|
|
444
439
|
classNames: PopoverClasses,
|
|
445
440
|
defaultProps: {
|
|
446
|
-
middlewares: {
|
|
447
|
-
inline: true
|
|
448
|
-
},
|
|
449
441
|
position: 'bottom-start'
|
|
450
442
|
}
|
|
451
443
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/theme/Theme.tsx"],"sourcesContent":["import {\n ArrowHeadLeftSize16Px,\n ArrowHeadRightSize16Px,\n CrossSize16Px,\n FilterSize16Px,\n IconCalendarWeek,\n IconCheck,\n IconClock,\n IconInfoCircleFilled,\n IconSlash,\n} from '@coveord/plasma-react-icons';\nimport {color} from '@coveord/plasma-tokens';\nimport {\n ActionIcon,\n Alert,\n AppShell,\n Badge,\n Breadcrumbs,\n Button,\n Card,\n Checkbox,\n Chip,\n CloseButton,\n ColorSwatch,\n Combobox,\n ComboboxChevron,\n ComboboxSearch,\n createTheme,\n deepMerge,\n Divider,\n Image,\n Input,\n InputWrapper,\n List,\n Loader,\n MantineThemeOverride,\n Modal,\n MultiSelect,\n NavLink,\n Notification,\n NumberInput,\n Pagination,\n Paper,\n PasswordInput,\n Pill,\n Popover,\n Radio,\n ScrollArea,\n SegmentedControl,\n Select,\n Skeleton,\n Slider,\n Stepper,\n Switch,\n Table,\n Tabs,\n Text,\n Tooltip,\n} from '@mantine/core';\nimport {\n DateInput,\n DatePicker,\n DateTimePicker,\n MonthPicker,\n PickerInputBase,\n TimeInput,\n TimePicker,\n YearPicker,\n} from '@mantine/dates';\nimport {Accordion} from '../components/Accordion/Accordion.js';\nimport {CheckboxIcon} from '../components/CheckboxIcon/CheckboxIcon.js';\nimport {CircleLoader} from '../components/CircleLoader/CircleLoader.js';\nimport {InfoToken} from '../components/InfoToken/InfoToken.js';\nimport {PlasmaComboboxChevron} from '../components/Combobox/PlasmaComboboxChevron.js';\nimport AccordionClasses from '../styles/Accordion.module.css';\nimport ActionIconClasses from '../styles/ActionIcon.module.css';\nimport AlertClasses from '../styles/Alert.module.css';\nimport AppShellClasses from '../styles/AppShell.module.css';\nimport BadgeClasses from '../styles/Badge.module.css';\nimport BreadcrumbsClasses from '../styles/Breadcrumbs.module.css';\nimport ButtonClasses from '../styles/Button.module.css';\nimport CardClasses from '../styles/Card.module.css';\nimport CheckboxClasses from '../styles/Checkbox.module.css';\nimport CheckboxIndicatorClasses from '../styles/CheckboxIndicator.module.css';\nimport ChipClasses from '../styles/Chip.module.css';\nimport CloseButtonClasses from '../styles/CloseButton.module.css';\nimport ComboboxClasses from '../styles/Combobox.module.css';\nimport DatePickerClasses from '../styles/DatePicker.module.css';\nimport DateTimePickerClasses from '../styles/DateTimePicker.module.css';\nimport InputClasses from '../styles/Input.module.css';\nimport InputWrapperClasses from '../styles/InputWrapper.module.css';\nimport ListClasses from '../styles/List.module.css';\nimport ModalClasses from '../styles/Modal.module.css';\nimport MonthPickerClasses from '../styles/MonthPicker.module.css';\nimport NavLinkClasses from '../styles/NavLink.module.css';\nimport NotificationClasses from '../styles/Notifications.module.css';\nimport NumberInputClasses from '../styles/NumberInput.module.css';\nimport PaginationClasses from '../styles/Pagination.module.css';\nimport PaperClasses from '../styles/Paper.module.css';\nimport PillClasses from '../styles/Pill.module.css';\nimport PopoverClasses from '../styles/Popover.module.css';\nimport RadioClasses from '../styles/Radio.module.css';\nimport RadioCardClasses from '../styles/RadioCard.module.css';\nimport ReadOnlyInputClasses from '../styles/ReadOnlyInput.module.css';\nimport ReadOnlyStateClasses from '../styles/ReadOnlyState.module.css';\nimport ScrollAreaClasses from '../styles/ScrollArea.module.css';\nimport SegmentedControlClasses from '../styles/SegmentedControl.module.css';\nimport SelectClasses from '../styles/Select.module.css';\nimport SkeletonClasses from '../styles/Skeleton.module.css';\nimport SliderClasses from '../styles/Slider.module.css';\nimport StepperClasses from '../styles/Stepper.module.css';\nimport TableClasses from '../styles/Table.module.css';\nimport TabsClasses from '../styles/Tabs.module.css';\nimport TextClasses from '../styles/Text.module.css';\nimport TimePickerClasses from '../styles/TimePicker.module.css';\nimport TooltipClasses from '../styles/Tooltip.module.css';\nimport YearPickerClasses from '../styles/YearPicker.module.css';\nimport {PlasmaColors} from './PlasmaColors.js';\n\nimport placeholderSvg from '../images/placeholder.svg';\nimport {plasmaVariantColorResolver} from './plasmaVariantColorResolver.js';\n\nexport const plasmaTheme: MantineThemeOverride = createTheme({\n variantColorResolver: plasmaVariantColorResolver,\n // These are overrides over https://github.com/mantinedev/mantine/blob/master/packages/%40mantine/core/src/core/MantineProvider/default-theme.ts\n fontFamily: 'canada-type-gibson, sans-serif',\n black: color.primary.gray[9],\n defaultRadius: 'md',\n lineHeights: {\n xxs: '1.2',\n xs: '1.16',\n sm: '1.14',\n md: '1.14',\n lg: '1.11',\n xl: '1.2',\n },\n spacing: {\n xxs: '4px',\n xs: '8px',\n sm: '16px',\n md: '24px',\n lg: '32px',\n xl: '40px',\n },\n radius: {\n none: '0px',\n xs: '2px',\n sm: '4px',\n md: '8px',\n lg: '16px',\n xl: '24px',\n xxl: '32px',\n },\n primaryColor: 'blue',\n headings: {\n fontFamily: 'canada-type-gibson, sans-serif',\n fontWeight: 'var(--coveo-fw-bold)',\n sizes: {\n h1: {fontSize: '40px', lineHeight: '1.2', fontWeight: 'var(--coveo-fw-bold)'},\n h2: {fontSize: '32px', lineHeight: '1.35', fontWeight: 'var(--coveo-fw-normal)'},\n h3: {fontSize: '24px', lineHeight: '1.33', fontWeight: 'var(--coveo-fw-bold)'},\n h4: {fontSize: '18px', lineHeight: '1.2', fontWeight: 'var(--coveo-fw-bold)'},\n h5: {fontSize: '16px', lineHeight: '1.25', fontWeight: 'var(--coveo-fw-bold)'},\n h6: {fontSize: '12px', lineHeight: '1.33', fontWeight: 'var(--coveo-fw-bold)'},\n },\n },\n fontSizes: {\n xxs: '10px',\n xs: '12px',\n sm: '14px',\n md: '16px',\n lg: '18px',\n xl: '20px',\n },\n shadows: {\n xs: '0px 1px 2px 0px rgba(0, 0, 0, 0.10), 0px 1px 3px 0px rgba(0, 0, 0, 0.05), 0px -0.5px 1px 0px rgba(0, 0, 0, 0.02)',\n sm: '0px 7px 7px -5px rgba(0, 0, 0, 0.04), 0px 10px 15px -5px rgba(0, 0, 0, 0.10), 0px 1px 3px 0px rgba(0, 0, 0, 0.05)',\n md: '0px 10px 10px -5px rgba(0, 0, 0, 0.04), 0px 20px 25px -5px rgba(0, 0, 0, 0.10), 0px 1px 3px 0px rgba(0, 0, 0, 0.05)',\n lg: '0px 12px 12px -7px rgba(0, 0, 0, 0.04), 0px 28px 23px -7px rgba(0, 0, 0, 0.10), 0px 1px 3px 0px rgba(0, 0, 0, 0.05)',\n xl: '0px 17px 17px -7px rgba(0, 0, 0, 0.04), 0px 36px 28px -7px rgba(0, 0, 0, 0.10), 0px 1px 3px 0px rgba(0, 0, 0, 0.05)',\n },\n primaryShade: 5,\n colors: PlasmaColors,\n components: {\n Accordion: Accordion.extend({\n classNames: AccordionClasses,\n }),\n ActionIcon: ActionIcon.extend({\n defaultProps: {\n size: 'md',\n },\n classNames: ActionIconClasses,\n }),\n AppShell: AppShell.extend({\n classNames: AppShellClasses,\n defaultProps: {\n header: {height: 60},\n navbar: {width: 240, breakpoint: 0},\n layout: 'alt',\n withBorder: false,\n },\n vars: (theme) =>\n ({\n root: {'--app-shell-border-color': theme.colors.gray[2]},\n }) as any,\n }),\n Alert: Alert.extend({\n defaultProps: {\n icon: <InfoToken.Advice />,\n p: 'sm',\n },\n classNames: AlertClasses,\n }),\n Badge: Badge.extend({\n classNames: BadgeClasses,\n defaultProps: {\n variant: 'light',\n tt: 'none',\n },\n }),\n Breadcrumbs: Breadcrumbs.extend({\n classNames: BreadcrumbsClasses,\n defaultProps: {\n separator: <IconSlash size={20} color=\"var(--mantine-color-dimmed)\" />,\n separatorMargin: 'xxs',\n },\n }),\n Button: Button.extend({\n defaultProps: {\n size: 'sm',\n vars: (theme) => ({\n root: {\n '--button-padding-x': theme.spacing.sm,\n },\n }),\n },\n classNames: ButtonClasses,\n }),\n Card: Card.extend({\n defaultProps: {\n radius: 'lg',\n shadow: 'xs',\n padding: 'sm',\n withBorder: true,\n },\n classNames: CardClasses,\n }),\n Checkbox: Checkbox.extend({\n defaultProps: {\n radius: 'sm',\n icon: CheckboxIcon,\n },\n classNames: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return deepMerge(CheckboxClasses, ReadOnlyStateClasses);\n }\n return CheckboxClasses;\n },\n }),\n CheckboxIndicator: Checkbox.Indicator.extend({\n defaultProps: {\n radius: 'sm',\n icon: CheckboxIcon,\n },\n classNames: CheckboxIndicatorClasses,\n }),\n Chip: Chip.extend({\n defaultProps: {\n icon: <IconCheck size={16} />,\n },\n classNames: ChipClasses,\n }),\n CloseButton: CloseButton.extend({\n defaultProps: {\n icon: <CrossSize16Px height={16} aria-label=\"close\" />,\n },\n classNames: CloseButtonClasses,\n }),\n ColorSwatch: ColorSwatch.extend({\n defaultProps: {\n size: 8,\n withShadow: false,\n },\n }),\n Combobox: Combobox.extend({\n classNames: ComboboxClasses,\n defaultProps: {\n middlewares: {inline: true},\n },\n }),\n ComboboxChevron: ComboboxChevron.extend({\n defaultProps: {\n component: PlasmaComboboxChevron,\n },\n }),\n ComboboxSearch: ComboboxSearch.extend({\n defaultProps: {\n placeholder: 'Search',\n rightSection: <FilterSize16Px height={16} color=\"gray.5\" />,\n },\n }),\n DateInput: DateInput.extend({\n defaultProps: {\n miw: 250,\n leftSection: <IconCalendarWeek size={16} />,\n },\n }),\n DatePicker: DatePicker.extend({\n defaultProps: {\n firstDayOfWeek: 0,\n },\n classNames: DatePickerClasses,\n }),\n DateTimePicker: DateTimePicker.extend({\n classNames: DateTimePickerClasses,\n }),\n Divider: Divider.extend({\n defaultProps: {\n color: 'var(--mantine-color-default-border)',\n },\n }),\n Image: Image.extend({\n defaultProps: {\n fallbackSrc: placeholderSvg,\n },\n }),\n Input: Input.extend({\n defaultProps: {\n size: 'sm',\n },\n classNames: (_theme, props) => {\n const anyProps = props as any;\n if (anyProps.readOnly && !props.disabled && !['Select'].includes(anyProps.__staticSelector)) {\n return deepMerge(InputClasses, ReadOnlyInputClasses);\n }\n return InputClasses;\n },\n }),\n InputWrapper: InputWrapper.extend({\n defaultProps: {\n size: 'sm',\n },\n classNames: InputWrapperClasses,\n vars: (theme, props) => {\n const anyProps = props as any;\n if (anyProps.disabled || (anyProps.readOnly && !['Select'].includes(anyProps.__staticSelector))) {\n return {\n root: {\n '--input-margin-top': props?.label || props?.description ? theme.spacing.xxs : undefined,\n },\n label: {'--input-asterisk-color': theme.colors.red[2]},\n error: {},\n description: {},\n };\n }\n return {\n root: {'--input-margin-top': props?.label || props?.description ? theme.spacing.xxs : undefined},\n label: {},\n error: {},\n description: {},\n };\n },\n }),\n PasswordInput: PasswordInput.extend({\n vars: () => ({\n root: {\n '--psi-button-size': 'var(--mantine-spacing-lg)',\n },\n }),\n }),\n Loader: Loader.extend({\n defaultProps: {\n loaders: {...Loader.defaultLoaders, circle: CircleLoader},\n type: 'circle',\n role: 'presentation',\n },\n }),\n List: List.extend({\n classNames: ListClasses,\n }),\n Modal: Modal.extend({\n classNames: ModalClasses,\n vars: () => {\n const sizes = {\n '--modal-size-xs': '432px',\n '--modal-size-sm': '664px',\n '--modal-size-md': '896px',\n '--modal-size-lg': '1120px',\n '--modal-size-xl': '88%',\n } as any;\n return {\n root: {\n ...sizes,\n },\n };\n },\n }),\n ModalOverlay: Modal.Overlay.extend({\n defaultProps: {\n color: PlasmaColors.indigo[8],\n backgroundOpacity: 0.7,\n blur: 2,\n },\n }),\n ModalRoot: Modal.Root.extend({\n defaultProps: {\n padding: 'md',\n },\n }),\n MonthPicker: MonthPicker.extend({\n classNames: MonthPickerClasses,\n }),\n MultiSelect: MultiSelect.extend({defaultProps: {hidePickedOptions: true}}),\n NavLink: NavLink.extend({classNames: NavLinkClasses}),\n Notification: Notification.extend({\n classNames: NotificationClasses,\n defaultProps: {\n icon: <IconInfoCircleFilled height={20} />,\n },\n }),\n NumberInput: NumberInput.extend({\n classNames: NumberInputClasses,\n }),\n Pagination: Pagination.extend({\n classNames: PaginationClasses,\n defaultProps: {\n nextIcon: ArrowHeadRightSize16Px,\n previousIcon: ArrowHeadLeftSize16Px,\n },\n }),\n Paper: Paper.extend({\n classNames: PaperClasses,\n }),\n PickerInputBase: PickerInputBase.extend({\n defaultProps: {\n miw: 250,\n leftSection: <IconCalendarWeek size={16} />,\n },\n }),\n Pill: Pill.extend({\n classNames: PillClasses,\n }),\n Popover: Popover.extend({\n classNames: PopoverClasses,\n defaultProps: {\n middlewares: {inline: true},\n position: 'bottom-start',\n },\n }),\n Radio: Radio.extend({\n classNames: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return deepMerge(RadioClasses, ReadOnlyStateClasses);\n }\n return RadioClasses;\n },\n vars: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return {\n root: {\n '--radio-icon-color': theme.colors.gray[7],\n '--radio-color': theme.colors.gray[2],\n },\n };\n }\n return {root: {}};\n },\n }),\n RadioCard: Radio.Card.extend({\n classNames: RadioCardClasses,\n }),\n ScrollArea: ScrollArea.extend({\n classNames: ScrollAreaClasses,\n }),\n SegmentedControl: SegmentedControl.extend({\n classNames: SegmentedControlClasses,\n }),\n Select: Select.extend({\n defaultProps: {allowDeselect: false, withCheckIcon: false},\n classNames: SelectClasses,\n }),\n Skeleton: Skeleton.extend({\n classNames: SkeletonClasses,\n }),\n Slider: Slider.extend({\n defaultProps: {\n size: 'md',\n },\n classNames: SliderClasses,\n }),\n Stepper: Stepper.extend({\n defaultProps: {\n size: 'xs',\n completedIcon: <IconCheck size={16} />,\n },\n classNames: StepperClasses,\n }),\n Switch: Switch.extend({\n classNames: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return ReadOnlyStateClasses;\n }\n return {};\n },\n vars: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return {\n root: {},\n track: {\n '--switch-bg': theme.colors.gray[2],\n '--switch-bd': 'transparent',\n },\n thumb: {\n '--switch-thumb-bd': 'transparent',\n },\n };\n }\n return {root: {}, track: {}, thumb: {}};\n },\n defaultProps: {\n withThumbIndicator: false,\n },\n }),\n Table: Table.extend({\n classNames: TableClasses,\n vars: () => ({\n table: {\n '--table-border-color': 'var(--mantine-color-default-border)',\n },\n }),\n }),\n Tabs: Tabs.extend({\n classNames: TabsClasses,\n }),\n Text: Text.extend({\n defaultProps: {\n size: 'sm',\n },\n classNames: TextClasses,\n }),\n TimeInput: TimeInput.extend({\n defaultProps: {\n rightSection: <IconClock size={16} />,\n },\n }),\n TimePicker: TimePicker.extend({\n defaultProps: {\n withDropdown: true,\n format: '12h',\n },\n classNames: TimePickerClasses,\n }),\n Tooltip: Tooltip.extend({\n defaultProps: {\n maw: 280,\n multiline: true,\n withArrow: true,\n zIndex: 10000,\n },\n classNames: TooltipClasses,\n }),\n YearPicker: YearPicker.extend({\n classNames: YearPickerClasses,\n }),\n },\n});\n"],"names":["ArrowHeadLeftSize16Px","ArrowHeadRightSize16Px","CrossSize16Px","FilterSize16Px","IconCalendarWeek","IconCheck","IconClock","IconInfoCircleFilled","IconSlash","color","ActionIcon","Alert","AppShell","Badge","Breadcrumbs","Button","Card","Checkbox","Chip","CloseButton","ColorSwatch","Combobox","ComboboxChevron","ComboboxSearch","createTheme","deepMerge","Divider","Image","Input","InputWrapper","List","Loader","Modal","MultiSelect","NavLink","Notification","NumberInput","Pagination","Paper","PasswordInput","Pill","Popover","Radio","ScrollArea","SegmentedControl","Select","Skeleton","Slider","Stepper","Switch","Table","Tabs","Text","Tooltip","DateInput","DatePicker","DateTimePicker","MonthPicker","PickerInputBase","TimeInput","TimePicker","YearPicker","Accordion","CheckboxIcon","CircleLoader","InfoToken","PlasmaComboboxChevron","AccordionClasses","ActionIconClasses","AlertClasses","AppShellClasses","BadgeClasses","BreadcrumbsClasses","ButtonClasses","CardClasses","CheckboxClasses","CheckboxIndicatorClasses","ChipClasses","CloseButtonClasses","ComboboxClasses","DatePickerClasses","DateTimePickerClasses","InputClasses","InputWrapperClasses","ListClasses","ModalClasses","MonthPickerClasses","NavLinkClasses","NotificationClasses","NumberInputClasses","PaginationClasses","PaperClasses","PillClasses","PopoverClasses","RadioClasses","RadioCardClasses","ReadOnlyInputClasses","ReadOnlyStateClasses","ScrollAreaClasses","SegmentedControlClasses","SelectClasses","SkeletonClasses","SliderClasses","StepperClasses","TableClasses","TabsClasses","TextClasses","TimePickerClasses","TooltipClasses","YearPickerClasses","PlasmaColors","placeholderSvg","plasmaVariantColorResolver","plasmaTheme","variantColorResolver","fontFamily","black","primary","gray","defaultRadius","lineHeights","xxs","xs","sm","md","lg","xl","spacing","radius","none","xxl","primaryColor","headings","fontWeight","sizes","h1","fontSize","lineHeight","h2","h3","h4","h5","h6","fontSizes","shadows","primaryShade","colors","components","extend","classNames","defaultProps","size","header","height","navbar","width","breakpoint","layout","withBorder","vars","theme","root","icon","Advice","p","variant","tt","separator","separatorMargin","shadow","padding","props","readOnly","disabled","CheckboxIndicator","Indicator","aria-label","withShadow","middlewares","inline","component","placeholder","rightSection","miw","leftSection","firstDayOfWeek","fallbackSrc","_theme","anyProps","includes","__staticSelector","label","description","undefined","red","error","loaders","defaultLoaders","circle","type","role","ModalOverlay","Overlay","indigo","backgroundOpacity","blur","ModalRoot","Root","hidePickedOptions","nextIcon","previousIcon","position","RadioCard","allowDeselect","withCheckIcon","completedIcon","track","thumb","withThumbIndicator","table","withDropdown","format","maw","multiline","withArrow","zIndex"],"mappings":";AAAA,SACIA,qBAAqB,EACrBC,sBAAsB,EACtBC,aAAa,EACbC,cAAc,EACdC,gBAAgB,EAChBC,SAAS,EACTC,SAAS,EACTC,oBAAoB,EACpBC,SAAS,QACN,8BAA8B;AACrC,SAAQC,KAAK,QAAO,yBAAyB;AAC7C,SACIC,UAAU,EACVC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACLC,WAAW,EACXC,MAAM,EACNC,IAAI,EACJC,QAAQ,EACRC,IAAI,EACJC,WAAW,EACXC,WAAW,EACXC,QAAQ,EACRC,eAAe,EACfC,cAAc,EACdC,WAAW,EACXC,SAAS,EACTC,OAAO,EACPC,KAAK,EACLC,KAAK,EACLC,YAAY,EACZC,IAAI,EACJC,MAAM,EAENC,KAAK,EACLC,WAAW,EACXC,OAAO,EACPC,YAAY,EACZC,WAAW,EACXC,UAAU,EACVC,KAAK,EACLC,aAAa,EACbC,IAAI,EACJC,OAAO,EACPC,KAAK,EACLC,UAAU,EACVC,gBAAgB,EAChBC,MAAM,EACNC,QAAQ,EACRC,MAAM,EACNC,OAAO,EACPC,MAAM,EACNC,KAAK,EACLC,IAAI,EACJC,IAAI,EACJC,OAAO,QACJ,gBAAgB;AACvB,SACIC,SAAS,EACTC,UAAU,EACVC,cAAc,EACdC,WAAW,EACXC,eAAe,EACfC,SAAS,EACTC,UAAU,EACVC,UAAU,QACP,iBAAiB;AACxB,SAAQC,SAAS,QAAO,uCAAuC;AAC/D,SAAQC,YAAY,QAAO,6CAA6C;AACxE,SAAQC,YAAY,QAAO,6CAA6C;AACxE,SAAQC,SAAS,QAAO,uCAAuC;AAC/D,SAAQC,qBAAqB,QAAO,kDAAkD;AACtF,OAAOC,sBAAsB,iCAAiC;AAC9D,OAAOC,uBAAuB,kCAAkC;AAChE,OAAOC,kBAAkB,6BAA6B;AACtD,OAAOC,qBAAqB,gCAAgC;AAC5D,OAAOC,kBAAkB,6BAA6B;AACtD,OAAOC,wBAAwB,mCAAmC;AAClE,OAAOC,mBAAmB,8BAA8B;AACxD,OAAOC,iBAAiB,4BAA4B;AACpD,OAAOC,qBAAqB,gCAAgC;AAC5D,OAAOC,8BAA8B,yCAAyC;AAC9E,OAAOC,iBAAiB,4BAA4B;AACpD,OAAOC,wBAAwB,mCAAmC;AAClE,OAAOC,qBAAqB,gCAAgC;AAC5D,OAAOC,uBAAuB,kCAAkC;AAChE,OAAOC,2BAA2B,sCAAsC;AACxE,OAAOC,kBAAkB,6BAA6B;AACtD,OAAOC,yBAAyB,oCAAoC;AACpE,OAAOC,iBAAiB,4BAA4B;AACpD,OAAOC,kBAAkB,6BAA6B;AACtD,OAAOC,wBAAwB,mCAAmC;AAClE,OAAOC,oBAAoB,+BAA+B;AAC1D,OAAOC,yBAAyB,qCAAqC;AACrE,OAAOC,wBAAwB,mCAAmC;AAClE,OAAOC,uBAAuB,kCAAkC;AAChE,OAAOC,kBAAkB,6BAA6B;AACtD,OAAOC,iBAAiB,4BAA4B;AACpD,OAAOC,oBAAoB,+BAA+B;AAC1D,OAAOC,kBAAkB,6BAA6B;AACtD,OAAOC,sBAAsB,iCAAiC;AAC9D,OAAOC,0BAA0B,qCAAqC;AACtE,OAAOC,0BAA0B,qCAAqC;AACtE,OAAOC,uBAAuB,kCAAkC;AAChE,OAAOC,6BAA6B,wCAAwC;AAC5E,OAAOC,mBAAmB,8BAA8B;AACxD,OAAOC,qBAAqB,gCAAgC;AAC5D,OAAOC,mBAAmB,8BAA8B;AACxD,OAAOC,oBAAoB,+BAA+B;AAC1D,OAAOC,kBAAkB,6BAA6B;AACtD,OAAOC,iBAAiB,4BAA4B;AACpD,OAAOC,iBAAiB,4BAA4B;AACpD,OAAOC,uBAAuB,kCAAkC;AAChE,OAAOC,oBAAoB,+BAA+B;AAC1D,OAAOC,uBAAuB,kCAAkC;AAChE,SAAQC,YAAY,QAAO,oBAAoB;AAE/C,OAAOC,oBAAoB,4BAA4B;AACvD,SAAQC,0BAA0B,QAAO,kCAAkC;AAE3E,OAAO,MAAMC,cAAoCzF,YAAY;IACzD0F,sBAAsBF;IACtB,gJAAgJ;IAChJG,YAAY;IACZC,OAAO3G,MAAM4G,OAAO,CAACC,IAAI,CAAC,EAAE;IAC5BC,eAAe;IACfC,aAAa;QACTC,KAAK;QACLC,IAAI;QACJC,IAAI;QACJC,IAAI;QACJC,IAAI;QACJC,IAAI;IACR;IACAC,SAAS;QACLN,KAAK;QACLC,IAAI;QACJC,IAAI;QACJC,IAAI;QACJC,IAAI;QACJC,IAAI;IACR;IACAE,QAAQ;QACJC,MAAM;QACNP,IAAI;QACJC,IAAI;QACJC,IAAI;QACJC,IAAI;QACJC,IAAI;QACJI,KAAK;IACT;IACAC,cAAc;IACdC,UAAU;QACNjB,YAAY;QACZkB,YAAY;QACZC,OAAO;YACHC,IAAI;gBAACC,UAAU;gBAAQC,YAAY;gBAAOJ,YAAY;YAAsB;YAC5EK,IAAI;gBAACF,UAAU;gBAAQC,YAAY;gBAAQJ,YAAY;YAAwB;YAC/EM,IAAI;gBAACH,UAAU;gBAAQC,YAAY;gBAAQJ,YAAY;YAAsB;YAC7EO,IAAI;gBAACJ,UAAU;gBAAQC,YAAY;gBAAOJ,YAAY;YAAsB;YAC5EQ,IAAI;gBAACL,UAAU;gBAAQC,YAAY;gBAAQJ,YAAY;YAAsB;YAC7ES,IAAI;gBAACN,UAAU;gBAAQC,YAAY;gBAAQJ,YAAY;YAAsB;QACjF;IACJ;IACAU,WAAW;QACPtB,KAAK;QACLC,IAAI;QACJC,IAAI;QACJC,IAAI;QACJC,IAAI;QACJC,IAAI;IACR;IACAkB,SAAS;QACLtB,IAAI;QACJC,IAAI;QACJC,IAAI;QACJC,IAAI;QACJC,IAAI;IACR;IACAmB,cAAc;IACdC,QAAQpC;IACRqC,YAAY;QACRrF,WAAWA,UAAUsF,MAAM,CAAC;YACxBC,YAAYlF;QAChB;QACAzD,YAAYA,WAAW0I,MAAM,CAAC;YAC1BE,cAAc;gBACVC,MAAM;YACV;YACAF,YAAYjF;QAChB;QACAxD,UAAUA,SAASwI,MAAM,CAAC;YACtBC,YAAY/E;YACZgF,cAAc;gBACVE,QAAQ;oBAACC,QAAQ;gBAAE;gBACnBC,QAAQ;oBAACC,OAAO;oBAAKC,YAAY;gBAAC;gBAClCC,QAAQ;gBACRC,YAAY;YAChB;YACAC,MAAM,CAACC,QACF,CAAA;oBACGC,MAAM;wBAAC,4BAA4BD,MAAMd,MAAM,CAAC5B,IAAI,CAAC,EAAE;oBAAA;gBAC3D,CAAA;QACR;QACA3G,OAAOA,MAAMyI,MAAM,CAAC;YAChBE,cAAc;gBACVY,oBAAM,KAACjG,UAAUkG,MAAM;gBACvBC,GAAG;YACP;YACAf,YAAYhF;QAChB;QACAxD,OAAOA,MAAMuI,MAAM,CAAC;YAChBC,YAAY9E;YACZ+E,cAAc;gBACVe,SAAS;gBACTC,IAAI;YACR;QACJ;QACAxJ,aAAaA,YAAYsI,MAAM,CAAC;YAC5BC,YAAY7E;YACZ8E,cAAc;gBACViB,yBAAW,KAAC/J;oBAAU+I,MAAM;oBAAI9I,OAAM;;gBACtC+J,iBAAiB;YACrB;QACJ;QACAzJ,QAAQA,OAAOqI,MAAM,CAAC;YAClBE,cAAc;gBACVC,MAAM;gBACNQ,MAAM,CAACC,QAAW,CAAA;wBACdC,MAAM;4BACF,sBAAsBD,MAAMjC,OAAO,CAACJ,EAAE;wBAC1C;oBACJ,CAAA;YACJ;YACA0B,YAAY5E;QAChB;QACAzD,MAAMA,KAAKoI,MAAM,CAAC;YACdE,cAAc;gBACVtB,QAAQ;gBACRyC,QAAQ;gBACRC,SAAS;gBACTZ,YAAY;YAChB;YACAT,YAAY3E;QAChB;QACAzD,UAAUA,SAASmI,MAAM,CAAC;YACtBE,cAAc;gBACVtB,QAAQ;gBACRkC,MAAMnG;YACV;YACAsF,YAAY,CAACW,OAAOW;gBAChB,IAAIA,MAAMC,QAAQ,IAAI,CAACD,MAAME,QAAQ,EAAE;oBACnC,OAAOpJ,UAAUkD,iBAAiBsB;gBACtC;gBACA,OAAOtB;YACX;QACJ;QACAmG,mBAAmB7J,SAAS8J,SAAS,CAAC3B,MAAM,CAAC;YACzCE,cAAc;gBACVtB,QAAQ;gBACRkC,MAAMnG;YACV;YACAsF,YAAYzE;QAChB;QACA1D,MAAMA,KAAKkI,MAAM,CAAC;YACdE,cAAc;gBACVY,oBAAM,KAAC7J;oBAAUkJ,MAAM;;YAC3B;YACAF,YAAYxE;QAChB;QACA1D,aAAaA,YAAYiI,MAAM,CAAC;YAC5BE,cAAc;gBACVY,oBAAM,KAAChK;oBAAcuJ,QAAQ;oBAAIuB,cAAW;;YAChD;YACA3B,YAAYvE;QAChB;QACA1D,aAAaA,YAAYgI,MAAM,CAAC;YAC5BE,cAAc;gBACVC,MAAM;gBACN0B,YAAY;YAChB;QACJ;QACA5J,UAAUA,SAAS+H,MAAM,CAAC;YACtBC,YAAYtE;YACZuE,cAAc;gBACV4B,aAAa;oBAACC,QAAQ;gBAAI;YAC9B;QACJ;QACA7J,iBAAiBA,gBAAgB8H,MAAM,CAAC;YACpCE,cAAc;gBACV8B,WAAWlH;YACf;QACJ;QACA3C,gBAAgBA,eAAe6H,MAAM,CAAC;YAClCE,cAAc;gBACV+B,aAAa;gBACbC,4BAAc,KAACnL;oBAAesJ,QAAQ;oBAAIhJ,OAAM;;YACpD;QACJ;QACA6C,WAAWA,UAAU8F,MAAM,CAAC;YACxBE,cAAc;gBACViC,KAAK;gBACLC,2BAAa,KAACpL;oBAAiBmJ,MAAM;;YACzC;QACJ;QACAhG,YAAYA,WAAW6F,MAAM,CAAC;YAC1BE,cAAc;gBACVmC,gBAAgB;YACpB;YACApC,YAAYrE;QAChB;QACAxB,gBAAgBA,eAAe4F,MAAM,CAAC;YAClCC,YAAYpE;QAChB;QACAvD,SAASA,QAAQ0H,MAAM,CAAC;YACpBE,cAAc;gBACV7I,OAAO;YACX;QACJ;QACAkB,OAAOA,MAAMyH,MAAM,CAAC;YAChBE,cAAc;gBACVoC,aAAa3E;YACjB;QACJ;QACAnF,OAAOA,MAAMwH,MAAM,CAAC;YAChBE,cAAc;gBACVC,MAAM;YACV;YACAF,YAAY,CAACsC,QAAQhB;gBACjB,MAAMiB,WAAWjB;gBACjB,IAAIiB,SAAShB,QAAQ,IAAI,CAACD,MAAME,QAAQ,IAAI,CAAC;oBAAC;iBAAS,CAACgB,QAAQ,CAACD,SAASE,gBAAgB,GAAG;oBACzF,OAAOrK,UAAUyD,cAAcc;gBACnC;gBACA,OAAOd;YACX;QACJ;QACArD,cAAcA,aAAauH,MAAM,CAAC;YAC9BE,cAAc;gBACVC,MAAM;YACV;YACAF,YAAYlE;YACZ4E,MAAM,CAACC,OAAOW;gBACV,MAAMiB,WAAWjB;gBACjB,IAAIiB,SAASf,QAAQ,IAAKe,SAAShB,QAAQ,IAAI,CAAC;oBAAC;iBAAS,CAACiB,QAAQ,CAACD,SAASE,gBAAgB,GAAI;oBAC7F,OAAO;wBACH7B,MAAM;4BACF,sBAAsBU,OAAOoB,SAASpB,OAAOqB,cAAchC,MAAMjC,OAAO,CAACN,GAAG,GAAGwE;wBACnF;wBACAF,OAAO;4BAAC,0BAA0B/B,MAAMd,MAAM,CAACgD,GAAG,CAAC,EAAE;wBAAA;wBACrDC,OAAO,CAAC;wBACRH,aAAa,CAAC;oBAClB;gBACJ;gBACA,OAAO;oBACH/B,MAAM;wBAAC,sBAAsBU,OAAOoB,SAASpB,OAAOqB,cAAchC,MAAMjC,OAAO,CAACN,GAAG,GAAGwE;oBAAS;oBAC/FF,OAAO,CAAC;oBACRI,OAAO,CAAC;oBACRH,aAAa,CAAC;gBAClB;YACJ;QACJ;QACAzJ,eAAeA,cAAc6G,MAAM,CAAC;YAChCW,MAAM,IAAO,CAAA;oBACTE,MAAM;wBACF,qBAAqB;oBACzB;gBACJ,CAAA;QACJ;QACAlI,QAAQA,OAAOqH,MAAM,CAAC;YAClBE,cAAc;gBACV8C,SAAS;oBAAC,GAAGrK,OAAOsK,cAAc;oBAAEC,QAAQtI;gBAAY;gBACxDuI,MAAM;gBACNC,MAAM;YACV;QACJ;QACA1K,MAAMA,KAAKsH,MAAM,CAAC;YACdC,YAAYjE;QAChB;QACApD,OAAOA,MAAMoH,MAAM,CAAC;YAChBC,YAAYhE;YACZ0E,MAAM;gBACF,MAAMzB,QAAQ;oBACV,mBAAmB;oBACnB,mBAAmB;oBACnB,mBAAmB;oBACnB,mBAAmB;oBACnB,mBAAmB;gBACvB;gBACA,OAAO;oBACH2B,MAAM;wBACF,GAAG3B,KAAK;oBACZ;gBACJ;YACJ;QACJ;QACAmE,cAAczK,MAAM0K,OAAO,CAACtD,MAAM,CAAC;YAC/BE,cAAc;gBACV7I,OAAOqG,aAAa6F,MAAM,CAAC,EAAE;gBAC7BC,mBAAmB;gBACnBC,MAAM;YACV;QACJ;QACAC,WAAW9K,MAAM+K,IAAI,CAAC3D,MAAM,CAAC;YACzBE,cAAc;gBACVoB,SAAS;YACb;QACJ;QACAjH,aAAaA,YAAY2F,MAAM,CAAC;YAC5BC,YAAY/D;QAChB;QACArD,aAAaA,YAAYmH,MAAM,CAAC;YAACE,cAAc;gBAAC0D,mBAAmB;YAAI;QAAC;QACxE9K,SAASA,QAAQkH,MAAM,CAAC;YAACC,YAAY9D;QAAc;QACnDpD,cAAcA,aAAaiH,MAAM,CAAC;YAC9BC,YAAY7D;YACZ8D,cAAc;gBACVY,oBAAM,KAAC3J;oBAAqBkJ,QAAQ;;YACxC;QACJ;QACArH,aAAaA,YAAYgH,MAAM,CAAC;YAC5BC,YAAY5D;QAChB;QACApD,YAAYA,WAAW+G,MAAM,CAAC;YAC1BC,YAAY3D;YACZ4D,cAAc;gBACV2D,UAAUhN;gBACViN,cAAclN;YAClB;QACJ;QACAsC,OAAOA,MAAM8G,MAAM,CAAC;YAChBC,YAAY1D;QAChB;QACAjC,iBAAiBA,gBAAgB0F,MAAM,CAAC;YACpCE,cAAc;gBACViC,KAAK;gBACLC,2BAAa,KAACpL;oBAAiBmJ,MAAM;;YACzC;QACJ;QACA/G,MAAMA,KAAK4G,MAAM,CAAC;YACdC,YAAYzD;QAChB;QACAnD,SAASA,QAAQ2G,MAAM,CAAC;YACpBC,YAAYxD;YACZyD,cAAc;gBACV4B,aAAa;oBAACC,QAAQ;gBAAI;gBAC1BgC,UAAU;YACd;QACJ;QACAzK,OAAOA,MAAM0G,MAAM,CAAC;YAChBC,YAAY,CAACW,OAAOW;gBAChB,IAAIA,MAAMC,QAAQ,IAAI,CAACD,MAAME,QAAQ,EAAE;oBACnC,OAAOpJ,UAAUqE,cAAcG;gBACnC;gBACA,OAAOH;YACX;YACAiE,MAAM,CAACC,OAAOW;gBACV,IAAIA,MAAMC,QAAQ,IAAI,CAACD,MAAME,QAAQ,EAAE;oBACnC,OAAO;wBACHZ,MAAM;4BACF,sBAAsBD,MAAMd,MAAM,CAAC5B,IAAI,CAAC,EAAE;4BAC1C,iBAAiB0C,MAAMd,MAAM,CAAC5B,IAAI,CAAC,EAAE;wBACzC;oBACJ;gBACJ;gBACA,OAAO;oBAAC2C,MAAM,CAAC;gBAAC;YACpB;QACJ;QACAmD,WAAW1K,MAAM1B,IAAI,CAACoI,MAAM,CAAC;YACzBC,YAAYtD;QAChB;QACApD,YAAYA,WAAWyG,MAAM,CAAC;YAC1BC,YAAYnD;QAChB;QACAtD,kBAAkBA,iBAAiBwG,MAAM,CAAC;YACtCC,YAAYlD;QAChB;QACAtD,QAAQA,OAAOuG,MAAM,CAAC;YAClBE,cAAc;gBAAC+D,eAAe;gBAAOC,eAAe;YAAK;YACzDjE,YAAYjD;QAChB;QACAtD,UAAUA,SAASsG,MAAM,CAAC;YACtBC,YAAYhD;QAChB;QACAtD,QAAQA,OAAOqG,MAAM,CAAC;YAClBE,cAAc;gBACVC,MAAM;YACV;YACAF,YAAY/C;QAChB;QACAtD,SAASA,QAAQoG,MAAM,CAAC;YACpBE,cAAc;gBACVC,MAAM;gBACNgE,6BAAe,KAAClN;oBAAUkJ,MAAM;;YACpC;YACAF,YAAY9C;QAChB;QACAtD,QAAQA,OAAOmG,MAAM,CAAC;YAClBC,YAAY,CAACW,OAAOW;gBAChB,IAAIA,MAAMC,QAAQ,IAAI,CAACD,MAAME,QAAQ,EAAE;oBACnC,OAAO5E;gBACX;gBACA,OAAO,CAAC;YACZ;YACA8D,MAAM,CAACC,OAAOW;gBACV,IAAIA,MAAMC,QAAQ,IAAI,CAACD,MAAME,QAAQ,EAAE;oBACnC,OAAO;wBACHZ,MAAM,CAAC;wBACPuD,OAAO;4BACH,eAAexD,MAAMd,MAAM,CAAC5B,IAAI,CAAC,EAAE;4BACnC,eAAe;wBACnB;wBACAmG,OAAO;4BACH,qBAAqB;wBACzB;oBACJ;gBACJ;gBACA,OAAO;oBAACxD,MAAM,CAAC;oBAAGuD,OAAO,CAAC;oBAAGC,OAAO,CAAC;gBAAC;YAC1C;YACAnE,cAAc;gBACVoE,oBAAoB;YACxB;QACJ;QACAxK,OAAOA,MAAMkG,MAAM,CAAC;YAChBC,YAAY7C;YACZuD,MAAM,IAAO,CAAA;oBACT4D,OAAO;wBACH,wBAAwB;oBAC5B;gBACJ,CAAA;QACJ;QACAxK,MAAMA,KAAKiG,MAAM,CAAC;YACdC,YAAY5C;QAChB;QACArD,MAAMA,KAAKgG,MAAM,CAAC;YACdE,cAAc;gBACVC,MAAM;YACV;YACAF,YAAY3C;QAChB;QACA/C,WAAWA,UAAUyF,MAAM,CAAC;YACxBE,cAAc;gBACVgC,4BAAc,KAAChL;oBAAUiJ,MAAM;;YACnC;QACJ;QACA3F,YAAYA,WAAWwF,MAAM,CAAC;YAC1BE,cAAc;gBACVsE,cAAc;gBACdC,QAAQ;YACZ;YACAxE,YAAY1C;QAChB;QACAtD,SAASA,QAAQ+F,MAAM,CAAC;YACpBE,cAAc;gBACVwE,KAAK;gBACLC,WAAW;gBACXC,WAAW;gBACXC,QAAQ;YACZ;YACA5E,YAAYzC;QAChB;QACA/C,YAAYA,WAAWuF,MAAM,CAAC;YAC1BC,YAAYxC;QAChB;IACJ;AACJ,GAAG"}
|
|
1
|
+
{"version":3,"sources":["../../../src/theme/Theme.tsx"],"sourcesContent":["import {\n ArrowHeadLeftSize16Px,\n ArrowHeadRightSize16Px,\n CrossSize16Px,\n FilterSize16Px,\n IconCalendarWeek,\n IconCheck,\n IconClock,\n IconInfoCircleFilled,\n IconSlash,\n} from '@coveord/plasma-react-icons';\nimport {color} from '@coveord/plasma-tokens';\nimport {\n ActionIcon,\n Alert,\n AppShell,\n Badge,\n Breadcrumbs,\n Button,\n Card,\n Checkbox,\n Chip,\n CloseButton,\n ColorSwatch,\n Combobox,\n ComboboxChevron,\n ComboboxSearch,\n createTheme,\n deepMerge,\n Divider,\n Image,\n Input,\n InputWrapper,\n List,\n Loader,\n MantineThemeOverride,\n Modal,\n MultiSelect,\n NavLink,\n Notification,\n NumberInput,\n Pagination,\n Paper,\n PasswordInput,\n Pill,\n Popover,\n Radio,\n ScrollArea,\n SegmentedControl,\n Select,\n Skeleton,\n Slider,\n Stepper,\n Switch,\n Table,\n Tabs,\n Text,\n Tooltip,\n} from '@mantine/core';\nimport {\n DateInput,\n DatePicker,\n DateTimePicker,\n MonthPicker,\n PickerInputBase,\n TimeInput,\n TimePicker,\n YearPicker,\n} from '@mantine/dates';\nimport {Accordion} from '../components/Accordion/Accordion.js';\nimport {CheckboxIcon} from '../components/CheckboxIcon/CheckboxIcon.js';\nimport {CircleLoader} from '../components/CircleLoader/CircleLoader.js';\nimport {InfoToken} from '../components/InfoToken/InfoToken.js';\nimport {PlasmaComboboxChevron} from '../components/Combobox/PlasmaComboboxChevron.js';\nimport AccordionClasses from '../styles/Accordion.module.css';\nimport ActionIconClasses from '../styles/ActionIcon.module.css';\nimport AlertClasses from '../styles/Alert.module.css';\nimport AppShellClasses from '../styles/AppShell.module.css';\nimport BadgeClasses from '../styles/Badge.module.css';\nimport BreadcrumbsClasses from '../styles/Breadcrumbs.module.css';\nimport ButtonClasses from '../styles/Button.module.css';\nimport CardClasses from '../styles/Card.module.css';\nimport CheckboxClasses from '../styles/Checkbox.module.css';\nimport CheckboxIndicatorClasses from '../styles/CheckboxIndicator.module.css';\nimport ChipClasses from '../styles/Chip.module.css';\nimport CloseButtonClasses from '../styles/CloseButton.module.css';\nimport ComboboxClasses from '../styles/Combobox.module.css';\nimport DatePickerClasses from '../styles/DatePicker.module.css';\nimport DateTimePickerClasses from '../styles/DateTimePicker.module.css';\nimport InputClasses from '../styles/Input.module.css';\nimport InputWrapperClasses from '../styles/InputWrapper.module.css';\nimport ListClasses from '../styles/List.module.css';\nimport ModalClasses from '../styles/Modal.module.css';\nimport MonthPickerClasses from '../styles/MonthPicker.module.css';\nimport NavLinkClasses from '../styles/NavLink.module.css';\nimport NotificationClasses from '../styles/Notifications.module.css';\nimport NumberInputClasses from '../styles/NumberInput.module.css';\nimport PaginationClasses from '../styles/Pagination.module.css';\nimport PaperClasses from '../styles/Paper.module.css';\nimport PillClasses from '../styles/Pill.module.css';\nimport PopoverClasses from '../styles/Popover.module.css';\nimport RadioClasses from '../styles/Radio.module.css';\nimport RadioCardClasses from '../styles/RadioCard.module.css';\nimport ReadOnlyInputClasses from '../styles/ReadOnlyInput.module.css';\nimport ReadOnlyStateClasses from '../styles/ReadOnlyState.module.css';\nimport ScrollAreaClasses from '../styles/ScrollArea.module.css';\nimport SegmentedControlClasses from '../styles/SegmentedControl.module.css';\nimport SelectClasses from '../styles/Select.module.css';\nimport SkeletonClasses from '../styles/Skeleton.module.css';\nimport SliderClasses from '../styles/Slider.module.css';\nimport StepperClasses from '../styles/Stepper.module.css';\nimport TableClasses from '../styles/Table.module.css';\nimport TabsClasses from '../styles/Tabs.module.css';\nimport TextClasses from '../styles/Text.module.css';\nimport TimePickerClasses from '../styles/TimePicker.module.css';\nimport TooltipClasses from '../styles/Tooltip.module.css';\nimport YearPickerClasses from '../styles/YearPicker.module.css';\nimport {PlasmaColors} from './PlasmaColors.js';\n\nimport placeholderSvg from '../images/placeholder.svg';\nimport {plasmaVariantColorResolver} from './plasmaVariantColorResolver.js';\n\nexport const plasmaTheme: MantineThemeOverride = createTheme({\n variantColorResolver: plasmaVariantColorResolver,\n // These are overrides over https://github.com/mantinedev/mantine/blob/master/packages/%40mantine/core/src/core/MantineProvider/default-theme.ts\n fontFamily: 'canada-type-gibson, sans-serif',\n black: color.primary.gray[9],\n defaultRadius: 'md',\n lineHeights: {\n xxs: '1.2',\n xs: '1.16',\n sm: '1.14',\n md: '1.14',\n lg: '1.11',\n xl: '1.2',\n },\n spacing: {\n xxs: '4px',\n xs: '8px',\n sm: '16px',\n md: '24px',\n lg: '32px',\n xl: '40px',\n },\n radius: {\n none: '0px',\n xs: '2px',\n sm: '4px',\n md: '8px',\n lg: '16px',\n xl: '24px',\n xxl: '32px',\n },\n primaryColor: 'blue',\n headings: {\n fontFamily: 'canada-type-gibson, sans-serif',\n fontWeight: 'var(--coveo-fw-bold)',\n sizes: {\n h1: {fontSize: '40px', lineHeight: '1.2', fontWeight: 'var(--coveo-fw-bold)'},\n h2: {fontSize: '32px', lineHeight: '1.35', fontWeight: 'var(--coveo-fw-normal)'},\n h3: {fontSize: '24px', lineHeight: '1.33', fontWeight: 'var(--coveo-fw-bold)'},\n h4: {fontSize: '18px', lineHeight: '1.2', fontWeight: 'var(--coveo-fw-bold)'},\n h5: {fontSize: '16px', lineHeight: '1.25', fontWeight: 'var(--coveo-fw-bold)'},\n h6: {fontSize: '12px', lineHeight: '1.33', fontWeight: 'var(--coveo-fw-bold)'},\n },\n },\n fontSizes: {\n xxs: '10px',\n xs: '12px',\n sm: '14px',\n md: '16px',\n lg: '18px',\n xl: '20px',\n },\n shadows: {\n xs: '0px 1px 2px 0px rgba(0, 0, 0, 0.10), 0px 1px 3px 0px rgba(0, 0, 0, 0.05), 0px -0.5px 1px 0px rgba(0, 0, 0, 0.02)',\n sm: '0px 7px 7px -5px rgba(0, 0, 0, 0.04), 0px 10px 15px -5px rgba(0, 0, 0, 0.10), 0px 1px 3px 0px rgba(0, 0, 0, 0.05)',\n md: '0px 10px 10px -5px rgba(0, 0, 0, 0.04), 0px 20px 25px -5px rgba(0, 0, 0, 0.10), 0px 1px 3px 0px rgba(0, 0, 0, 0.05)',\n lg: '0px 12px 12px -7px rgba(0, 0, 0, 0.04), 0px 28px 23px -7px rgba(0, 0, 0, 0.10), 0px 1px 3px 0px rgba(0, 0, 0, 0.05)',\n xl: '0px 17px 17px -7px rgba(0, 0, 0, 0.04), 0px 36px 28px -7px rgba(0, 0, 0, 0.10), 0px 1px 3px 0px rgba(0, 0, 0, 0.05)',\n },\n primaryShade: 5,\n colors: PlasmaColors,\n components: {\n Accordion: Accordion.extend({\n classNames: AccordionClasses,\n }),\n ActionIcon: ActionIcon.extend({\n defaultProps: {\n size: 'md',\n },\n classNames: ActionIconClasses,\n }),\n AppShell: AppShell.extend({\n classNames: AppShellClasses,\n defaultProps: {\n header: {height: 60},\n navbar: {width: 240, breakpoint: 0},\n layout: 'alt',\n withBorder: false,\n },\n vars: (theme) =>\n ({\n root: {'--app-shell-border-color': theme.colors.gray[2]},\n }) as any,\n }),\n Alert: Alert.extend({\n defaultProps: {\n icon: <InfoToken.Advice />,\n p: 'sm',\n },\n classNames: AlertClasses,\n }),\n Badge: Badge.extend({\n classNames: BadgeClasses,\n defaultProps: {\n variant: 'light',\n tt: 'none',\n },\n }),\n Breadcrumbs: Breadcrumbs.extend({\n classNames: BreadcrumbsClasses,\n defaultProps: {\n separator: <IconSlash size={20} color=\"var(--mantine-color-dimmed)\" />,\n separatorMargin: 'xxs',\n },\n }),\n Button: Button.extend({\n defaultProps: {\n size: 'sm',\n vars: (theme) => ({\n root: {\n '--button-padding-x': theme.spacing.sm,\n },\n }),\n },\n classNames: ButtonClasses,\n }),\n Card: Card.extend({\n defaultProps: {\n radius: 'lg',\n shadow: 'xs',\n padding: 'sm',\n withBorder: true,\n },\n classNames: CardClasses,\n }),\n Checkbox: Checkbox.extend({\n defaultProps: {\n radius: 'sm',\n icon: CheckboxIcon,\n },\n classNames: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return deepMerge(CheckboxClasses, ReadOnlyStateClasses);\n }\n return CheckboxClasses;\n },\n }),\n CheckboxIndicator: Checkbox.Indicator.extend({\n defaultProps: {\n radius: 'sm',\n icon: CheckboxIcon,\n },\n classNames: CheckboxIndicatorClasses,\n }),\n Chip: Chip.extend({\n defaultProps: {\n icon: <IconCheck size={16} />,\n },\n classNames: ChipClasses,\n }),\n CloseButton: CloseButton.extend({\n defaultProps: {\n icon: <CrossSize16Px height={16} aria-label=\"close\" />,\n },\n classNames: CloseButtonClasses,\n }),\n ColorSwatch: ColorSwatch.extend({\n defaultProps: {\n size: 8,\n withShadow: false,\n },\n }),\n Combobox: Combobox.extend({\n classNames: ComboboxClasses,\n }),\n ComboboxChevron: ComboboxChevron.extend({\n defaultProps: {\n component: PlasmaComboboxChevron,\n },\n }),\n ComboboxSearch: ComboboxSearch.extend({\n defaultProps: {\n placeholder: 'Search',\n rightSection: <FilterSize16Px height={16} color=\"gray.5\" />,\n },\n }),\n DateInput: DateInput.extend({\n defaultProps: {\n miw: 250,\n leftSection: <IconCalendarWeek size={16} />,\n },\n }),\n DatePicker: DatePicker.extend({\n defaultProps: {\n firstDayOfWeek: 0,\n },\n classNames: DatePickerClasses,\n }),\n DateTimePicker: DateTimePicker.extend({\n classNames: DateTimePickerClasses,\n }),\n Divider: Divider.extend({\n defaultProps: {\n color: 'var(--mantine-color-default-border)',\n },\n }),\n Image: Image.extend({\n defaultProps: {\n fallbackSrc: placeholderSvg,\n },\n }),\n Input: Input.extend({\n defaultProps: {\n size: 'sm',\n },\n classNames: (_theme, props) => {\n const anyProps = props as any;\n if (anyProps.readOnly && !props.disabled && !['Select'].includes(anyProps.__staticSelector)) {\n return deepMerge(InputClasses, ReadOnlyInputClasses);\n }\n return InputClasses;\n },\n }),\n InputWrapper: InputWrapper.extend({\n defaultProps: {\n size: 'sm',\n },\n classNames: InputWrapperClasses,\n vars: (theme, props) => {\n const anyProps = props as any;\n if (anyProps.disabled || (anyProps.readOnly && !['Select'].includes(anyProps.__staticSelector))) {\n return {\n root: {\n '--input-margin-top': props?.label || props?.description ? theme.spacing.xxs : undefined,\n },\n label: {'--input-asterisk-color': theme.colors.red[2]},\n error: {},\n description: {},\n };\n }\n return {\n root: {'--input-margin-top': props?.label || props?.description ? theme.spacing.xxs : undefined},\n label: {},\n error: {},\n description: {},\n };\n },\n }),\n PasswordInput: PasswordInput.extend({\n vars: () => ({\n root: {\n '--psi-button-size': 'var(--mantine-spacing-lg)',\n },\n }),\n }),\n Loader: Loader.extend({\n defaultProps: {\n loaders: {...Loader.defaultLoaders, circle: CircleLoader},\n type: 'circle',\n role: 'presentation',\n },\n }),\n List: List.extend({\n classNames: ListClasses,\n }),\n Modal: Modal.extend({\n classNames: ModalClasses,\n vars: () => {\n const sizes = {\n '--modal-size-xs': '432px',\n '--modal-size-sm': '664px',\n '--modal-size-md': '896px',\n '--modal-size-lg': '1120px',\n '--modal-size-xl': '88%',\n } as any;\n return {\n root: {\n ...sizes,\n },\n };\n },\n }),\n ModalOverlay: Modal.Overlay.extend({\n defaultProps: {\n color: PlasmaColors.indigo[8],\n backgroundOpacity: 0.7,\n blur: 2,\n },\n }),\n ModalRoot: Modal.Root.extend({\n defaultProps: {\n padding: 'md',\n },\n }),\n MonthPicker: MonthPicker.extend({\n classNames: MonthPickerClasses,\n }),\n MultiSelect: MultiSelect.extend({defaultProps: {hidePickedOptions: true}}),\n NavLink: NavLink.extend({classNames: NavLinkClasses}),\n Notification: Notification.extend({\n classNames: NotificationClasses,\n defaultProps: {\n icon: <IconInfoCircleFilled height={20} />,\n },\n }),\n NumberInput: NumberInput.extend({\n classNames: NumberInputClasses,\n }),\n Pagination: Pagination.extend({\n classNames: PaginationClasses,\n defaultProps: {\n nextIcon: ArrowHeadRightSize16Px,\n previousIcon: ArrowHeadLeftSize16Px,\n },\n }),\n Paper: Paper.extend({\n classNames: PaperClasses,\n }),\n PickerInputBase: PickerInputBase.extend({\n defaultProps: {\n miw: 250,\n leftSection: <IconCalendarWeek size={16} />,\n },\n }),\n Pill: Pill.extend({\n classNames: PillClasses,\n }),\n Popover: Popover.extend({\n classNames: PopoverClasses,\n defaultProps: {\n position: 'bottom-start',\n },\n }),\n Radio: Radio.extend({\n classNames: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return deepMerge(RadioClasses, ReadOnlyStateClasses);\n }\n return RadioClasses;\n },\n vars: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return {\n root: {\n '--radio-icon-color': theme.colors.gray[7],\n '--radio-color': theme.colors.gray[2],\n },\n };\n }\n return {root: {}};\n },\n }),\n RadioCard: Radio.Card.extend({\n classNames: RadioCardClasses,\n }),\n ScrollArea: ScrollArea.extend({\n classNames: ScrollAreaClasses,\n }),\n SegmentedControl: SegmentedControl.extend({\n classNames: SegmentedControlClasses,\n }),\n Select: Select.extend({\n defaultProps: {allowDeselect: false, withCheckIcon: false},\n classNames: SelectClasses,\n }),\n Skeleton: Skeleton.extend({\n classNames: SkeletonClasses,\n }),\n Slider: Slider.extend({\n defaultProps: {\n size: 'md',\n },\n classNames: SliderClasses,\n }),\n Stepper: Stepper.extend({\n defaultProps: {\n size: 'xs',\n completedIcon: <IconCheck size={16} />,\n },\n classNames: StepperClasses,\n }),\n Switch: Switch.extend({\n classNames: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return ReadOnlyStateClasses;\n }\n return {};\n },\n vars: (theme, props) => {\n if (props.readOnly && !props.disabled) {\n return {\n root: {},\n track: {\n '--switch-bg': theme.colors.gray[2],\n '--switch-bd': 'transparent',\n },\n thumb: {\n '--switch-thumb-bd': 'transparent',\n },\n };\n }\n return {root: {}, track: {}, thumb: {}};\n },\n defaultProps: {\n withThumbIndicator: false,\n },\n }),\n Table: Table.extend({\n classNames: TableClasses,\n vars: () => ({\n table: {\n '--table-border-color': 'var(--mantine-color-default-border)',\n },\n }),\n }),\n Tabs: Tabs.extend({\n classNames: TabsClasses,\n }),\n Text: Text.extend({\n defaultProps: {\n size: 'sm',\n },\n classNames: TextClasses,\n }),\n TimeInput: TimeInput.extend({\n defaultProps: {\n rightSection: <IconClock size={16} />,\n },\n }),\n TimePicker: TimePicker.extend({\n defaultProps: {\n withDropdown: true,\n format: '12h',\n },\n classNames: TimePickerClasses,\n }),\n Tooltip: Tooltip.extend({\n defaultProps: {\n maw: 280,\n multiline: true,\n withArrow: true,\n zIndex: 10000,\n },\n classNames: TooltipClasses,\n }),\n YearPicker: YearPicker.extend({\n classNames: YearPickerClasses,\n }),\n },\n});\n"],"names":["ArrowHeadLeftSize16Px","ArrowHeadRightSize16Px","CrossSize16Px","FilterSize16Px","IconCalendarWeek","IconCheck","IconClock","IconInfoCircleFilled","IconSlash","color","ActionIcon","Alert","AppShell","Badge","Breadcrumbs","Button","Card","Checkbox","Chip","CloseButton","ColorSwatch","Combobox","ComboboxChevron","ComboboxSearch","createTheme","deepMerge","Divider","Image","Input","InputWrapper","List","Loader","Modal","MultiSelect","NavLink","Notification","NumberInput","Pagination","Paper","PasswordInput","Pill","Popover","Radio","ScrollArea","SegmentedControl","Select","Skeleton","Slider","Stepper","Switch","Table","Tabs","Text","Tooltip","DateInput","DatePicker","DateTimePicker","MonthPicker","PickerInputBase","TimeInput","TimePicker","YearPicker","Accordion","CheckboxIcon","CircleLoader","InfoToken","PlasmaComboboxChevron","AccordionClasses","ActionIconClasses","AlertClasses","AppShellClasses","BadgeClasses","BreadcrumbsClasses","ButtonClasses","CardClasses","CheckboxClasses","CheckboxIndicatorClasses","ChipClasses","CloseButtonClasses","ComboboxClasses","DatePickerClasses","DateTimePickerClasses","InputClasses","InputWrapperClasses","ListClasses","ModalClasses","MonthPickerClasses","NavLinkClasses","NotificationClasses","NumberInputClasses","PaginationClasses","PaperClasses","PillClasses","PopoverClasses","RadioClasses","RadioCardClasses","ReadOnlyInputClasses","ReadOnlyStateClasses","ScrollAreaClasses","SegmentedControlClasses","SelectClasses","SkeletonClasses","SliderClasses","StepperClasses","TableClasses","TabsClasses","TextClasses","TimePickerClasses","TooltipClasses","YearPickerClasses","PlasmaColors","placeholderSvg","plasmaVariantColorResolver","plasmaTheme","variantColorResolver","fontFamily","black","primary","gray","defaultRadius","lineHeights","xxs","xs","sm","md","lg","xl","spacing","radius","none","xxl","primaryColor","headings","fontWeight","sizes","h1","fontSize","lineHeight","h2","h3","h4","h5","h6","fontSizes","shadows","primaryShade","colors","components","extend","classNames","defaultProps","size","header","height","navbar","width","breakpoint","layout","withBorder","vars","theme","root","icon","Advice","p","variant","tt","separator","separatorMargin","shadow","padding","props","readOnly","disabled","CheckboxIndicator","Indicator","aria-label","withShadow","component","placeholder","rightSection","miw","leftSection","firstDayOfWeek","fallbackSrc","_theme","anyProps","includes","__staticSelector","label","description","undefined","red","error","loaders","defaultLoaders","circle","type","role","ModalOverlay","Overlay","indigo","backgroundOpacity","blur","ModalRoot","Root","hidePickedOptions","nextIcon","previousIcon","position","RadioCard","allowDeselect","withCheckIcon","completedIcon","track","thumb","withThumbIndicator","table","withDropdown","format","maw","multiline","withArrow","zIndex"],"mappings":"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"}
|
package/package.json
CHANGED
package/src/__tests__/Utils.tsx
CHANGED
|
@@ -2,27 +2,11 @@ import {render, RenderOptions, RenderResult} from '@testing-library/react';
|
|
|
2
2
|
import userEvent from '@testing-library/user-event';
|
|
3
3
|
import {FunctionComponent, PropsWithChildren, ReactElement} from 'react';
|
|
4
4
|
|
|
5
|
-
import {Combobox, createTheme, Popover} from '@mantine/core';
|
|
6
5
|
import {Plasmantine} from '../theme/Plasmantine.js';
|
|
7
6
|
|
|
8
|
-
const testTheme = createTheme({
|
|
9
|
-
components: {
|
|
10
|
-
Popover: Popover.extend({
|
|
11
|
-
defaultProps: {
|
|
12
|
-
middlewares: {inline: true},
|
|
13
|
-
},
|
|
14
|
-
}),
|
|
15
|
-
Combobox: Combobox.extend({
|
|
16
|
-
defaultProps: {
|
|
17
|
-
middlewares: {inline: true},
|
|
18
|
-
},
|
|
19
|
-
}),
|
|
20
|
-
},
|
|
21
|
-
});
|
|
22
|
-
|
|
23
7
|
const customRender = (ui: ReactElement, options?: Omit<RenderOptions, 'queries'>): RenderResult => {
|
|
24
8
|
const TestWrapper: FunctionComponent<PropsWithChildren> = ({children}) => (
|
|
25
|
-
<Plasmantine withCssVariables={false}
|
|
9
|
+
<Plasmantine withCssVariables={false} env="test">
|
|
26
10
|
{children}
|
|
27
11
|
</Plasmantine>
|
|
28
12
|
);
|
|
@@ -13,9 +13,9 @@ import {
|
|
|
13
13
|
import {DatesRangeValue, DateStringValue} from '@mantine/dates';
|
|
14
14
|
import {useUncontrolled} from '@mantine/hooks';
|
|
15
15
|
import dayjs from 'dayjs';
|
|
16
|
-
import {useUrlSyncedState, UseUrlSyncedStateOptions} from '../../hooks/use-url-synced-state';
|
|
16
|
+
import {useUrlSyncedState, UseUrlSyncedStateOptions} from '../../hooks/use-url-synced-state.js';
|
|
17
17
|
import classes from './DateRange.module.css';
|
|
18
|
-
import {DateRangePickerInlineCalendar, DateRangePickerInlineCalendarProps} from './DateRangePickerInlineCalendar';
|
|
18
|
+
import {DateRangePickerInlineCalendar, DateRangePickerInlineCalendarProps} from './DateRangePickerInlineCalendar.js';
|
|
19
19
|
|
|
20
20
|
const serialization = (input: Pick<UseUrlSyncedStateOptions<DatesRangeValue<string>>, 'serializer' | 'deserializer'>) =>
|
|
21
21
|
Object.freeze(input);
|
|
@@ -70,7 +70,7 @@ describe('DateRangePicker', () => {
|
|
|
70
70
|
|
|
71
71
|
expect(onChange).toHaveBeenCalledTimes(1);
|
|
72
72
|
expect(onChange).toHaveBeenCalledWith(['2022-01-02T00:00:00.000Z', '2022-01-08T23:59:59.999Z']);
|
|
73
|
-
expect(screen.queryByRole('dialog')).not.
|
|
73
|
+
expect(screen.queryByRole('dialog')).not.toBeInTheDocument();
|
|
74
74
|
});
|
|
75
75
|
|
|
76
76
|
it('closes popover when Cancel is clicked', async () => {
|
|
@@ -81,7 +81,7 @@ describe('DateRangePicker', () => {
|
|
|
81
81
|
await screen.findByRole('dialog');
|
|
82
82
|
await user.click(screen.getByRole('button', {name: 'Cancel'}));
|
|
83
83
|
|
|
84
|
-
await waitFor(() => expect(screen.queryByRole('dialog')).not.
|
|
84
|
+
await waitFor(() => expect(screen.queryByRole('dialog')).not.toBeInTheDocument());
|
|
85
85
|
});
|
|
86
86
|
|
|
87
87
|
it('calls onCancel when Cancel button is clicked', async () => {
|
|
@@ -55,8 +55,8 @@ describe('DateRangePickerPopoverCalendar', () => {
|
|
|
55
55
|
await user.click(screen.getByRole('button', {name: '14 February 2022'}));
|
|
56
56
|
|
|
57
57
|
// hides the calendar when the second date is clicked
|
|
58
|
-
await waitFor(() => expect(screen.queryByRole('button', {name: '8 January 2022'})).not.
|
|
59
|
-
expect(screen.queryByRole('button', {name: '8 February 2022'})).not.
|
|
58
|
+
await waitFor(() => expect(screen.queryByRole('button', {name: '8 January 2022'})).not.toBeInTheDocument());
|
|
59
|
+
expect(screen.queryByRole('button', {name: '8 February 2022'})).not.toBeInTheDocument();
|
|
60
60
|
|
|
61
61
|
expect(screen.getByTestId('json')).toHaveTextContent('["2022-01-08T00:00:00.000Z","2022-02-14T00:00:00.000Z"]');
|
|
62
62
|
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
} from '@mantine/core';
|
|
14
14
|
import {ReactNode} from 'react';
|
|
15
15
|
import classes from '../../styles/RadioCard.module.css';
|
|
16
|
-
import {Input} from '../Input/Input';
|
|
16
|
+
import {Input} from '../Input/Input.js';
|
|
17
17
|
|
|
18
18
|
export type RadioCardStylesNames = MantineRadioCardStylesNames | 'container' | 'indicator' | 'title' | 'description';
|
|
19
19
|
export type RadioCardFactory = Factory<{
|