@fluentui/react-table 9.17.7 → 9.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/CHANGELOG.md +16 -2
  2. package/lib/components/DataGrid/useDataGridStyles.styles.raw.js +13 -0
  3. package/lib/components/DataGrid/useDataGridStyles.styles.raw.js.map +1 -0
  4. package/lib/components/DataGridBody/useDataGridBodyStyles.styles.raw.js +13 -0
  5. package/lib/components/DataGridBody/useDataGridBodyStyles.styles.raw.js.map +1 -0
  6. package/lib/components/DataGridCell/useDataGridCellStyles.styles.raw.js +13 -0
  7. package/lib/components/DataGridCell/useDataGridCellStyles.styles.raw.js.map +1 -0
  8. package/lib/components/DataGridHeader/useDataGridHeaderStyles.styles.raw.js +13 -0
  9. package/lib/components/DataGridHeader/useDataGridHeaderStyles.styles.raw.js.map +1 -0
  10. package/lib/components/DataGridHeaderCell/useDataGridHeaderCellStyles.styles.raw.js +25 -0
  11. package/lib/components/DataGridHeaderCell/useDataGridHeaderCellStyles.styles.raw.js.map +1 -0
  12. package/lib/components/DataGridRow/useDataGridRowStyles.styles.raw.js +55 -0
  13. package/lib/components/DataGridRow/useDataGridRowStyles.styles.raw.js.map +1 -0
  14. package/lib/components/DataGridSelectionCell/useDataGridSelectionCellStyles.styles.raw.js +21 -0
  15. package/lib/components/DataGridSelectionCell/useDataGridSelectionCellStyles.styles.raw.js.map +1 -0
  16. package/lib/components/Table/useTableStyles.styles.raw.js +39 -0
  17. package/lib/components/Table/useTableStyles.styles.raw.js.map +1 -0
  18. package/lib/components/TableBody/useTableBodyStyles.styles.raw.js +26 -0
  19. package/lib/components/TableBody/useTableBodyStyles.styles.raw.js.map +1 -0
  20. package/lib/components/TableCell/useTableCellStyles.styles.raw.js +65 -0
  21. package/lib/components/TableCell/useTableCellStyles.styles.raw.js.map +1 -0
  22. package/lib/components/TableCellActions/useTableCellActionsStyles.styles.raw.js +28 -0
  23. package/lib/components/TableCellActions/useTableCellActionsStyles.styles.raw.js.map +1 -0
  24. package/lib/components/TableCellLayout/useTableCellLayoutStyles.styles.raw.js +82 -0
  25. package/lib/components/TableCellLayout/useTableCellLayoutStyles.styles.raw.js.map +1 -0
  26. package/lib/components/TableHeader/useTableHeaderStyles.styles.raw.js +26 -0
  27. package/lib/components/TableHeader/useTableHeaderStyles.styles.raw.js.map +1 -0
  28. package/lib/components/TableHeaderCell/useTableHeaderCellStyles.styles.raw.js +101 -0
  29. package/lib/components/TableHeaderCell/useTableHeaderCellStyles.styles.raw.js.map +1 -0
  30. package/lib/components/TableResizeHandle/useTableResizeHandleStyles.styles.raw.js +49 -0
  31. package/lib/components/TableResizeHandle/useTableResizeHandleStyles.styles.raw.js.map +1 -0
  32. package/lib/components/TableRow/useTableRowStyles.styles.raw.js +137 -0
  33. package/lib/components/TableRow/useTableRowStyles.styles.raw.js.map +1 -0
  34. package/lib/components/TableSelectionCell/useTableSelectionCellStyles.styles.raw.js +74 -0
  35. package/lib/components/TableSelectionCell/useTableSelectionCellStyles.styles.raw.js.map +1 -0
  36. package/lib-commonjs/components/DataGrid/useDataGridStyles.styles.raw.js +29 -0
  37. package/lib-commonjs/components/DataGrid/useDataGridStyles.styles.raw.js.map +1 -0
  38. package/lib-commonjs/components/DataGridBody/useDataGridBodyStyles.styles.raw.js +29 -0
  39. package/lib-commonjs/components/DataGridBody/useDataGridBodyStyles.styles.raw.js.map +1 -0
  40. package/lib-commonjs/components/DataGridCell/useDataGridCellStyles.styles.raw.js +29 -0
  41. package/lib-commonjs/components/DataGridCell/useDataGridCellStyles.styles.raw.js.map +1 -0
  42. package/lib-commonjs/components/DataGridHeader/useDataGridHeaderStyles.styles.raw.js +29 -0
  43. package/lib-commonjs/components/DataGridHeader/useDataGridHeaderStyles.styles.raw.js.map +1 -0
  44. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCellStyles.styles.raw.js +41 -0
  45. package/lib-commonjs/components/DataGridHeaderCell/useDataGridHeaderCellStyles.styles.raw.js.map +1 -0
  46. package/lib-commonjs/components/DataGridRow/useDataGridRowStyles.styles.raw.js +71 -0
  47. package/lib-commonjs/components/DataGridRow/useDataGridRowStyles.styles.raw.js.map +1 -0
  48. package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCellStyles.styles.raw.js +37 -0
  49. package/lib-commonjs/components/DataGridSelectionCell/useDataGridSelectionCellStyles.styles.raw.js.map +1 -0
  50. package/lib-commonjs/components/Table/useTableStyles.styles.raw.js +58 -0
  51. package/lib-commonjs/components/Table/useTableStyles.styles.raw.js.map +1 -0
  52. package/lib-commonjs/components/TableBody/useTableBodyStyles.styles.raw.js +45 -0
  53. package/lib-commonjs/components/TableBody/useTableBodyStyles.styles.raw.js.map +1 -0
  54. package/lib-commonjs/components/TableCell/useTableCellStyles.styles.raw.js +84 -0
  55. package/lib-commonjs/components/TableCell/useTableCellStyles.styles.raw.js.map +1 -0
  56. package/lib-commonjs/components/TableCellActions/useTableCellActionsStyles.styles.raw.js +44 -0
  57. package/lib-commonjs/components/TableCellActions/useTableCellActionsStyles.styles.raw.js.map +1 -0
  58. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.styles.raw.js +97 -0
  59. package/lib-commonjs/components/TableCellLayout/useTableCellLayoutStyles.styles.raw.js.map +1 -0
  60. package/lib-commonjs/components/TableHeader/useTableHeaderStyles.styles.raw.js +45 -0
  61. package/lib-commonjs/components/TableHeader/useTableHeaderStyles.styles.raw.js.map +1 -0
  62. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.styles.raw.js +120 -0
  63. package/lib-commonjs/components/TableHeaderCell/useTableHeaderCellStyles.styles.raw.js.map +1 -0
  64. package/lib-commonjs/components/TableResizeHandle/useTableResizeHandleStyles.styles.raw.js +65 -0
  65. package/lib-commonjs/components/TableResizeHandle/useTableResizeHandleStyles.styles.raw.js.map +1 -0
  66. package/lib-commonjs/components/TableRow/useTableRowStyles.styles.raw.js +156 -0
  67. package/lib-commonjs/components/TableRow/useTableRowStyles.styles.raw.js.map +1 -0
  68. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.styles.raw.js +93 -0
  69. package/lib-commonjs/components/TableSelectionCell/useTableSelectionCellStyles.styles.raw.js.map +1 -0
  70. package/package.json +6 -6
@@ -0,0 +1,101 @@
1
+ import { makeStyles, mergeClasses } from '@griffel/react';
2
+ import { tokens } from '@fluentui/react-theme';
3
+ import { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';
4
+ export const tableHeaderCellClassName = 'fui-TableHeaderCell';
5
+ export const tableHeaderCellClassNames = {
6
+ root: 'fui-TableHeaderCell',
7
+ button: 'fui-TableHeaderCell__button',
8
+ sortIcon: 'fui-TableHeaderCell__sortIcon',
9
+ aside: 'fui-TableHeaderCell__aside'
10
+ };
11
+ const useTableLayoutStyles = makeStyles({
12
+ root: {
13
+ display: 'table-cell',
14
+ verticalAlign: 'middle'
15
+ }
16
+ });
17
+ const useFlexLayoutStyles = makeStyles({
18
+ root: {
19
+ display: 'flex',
20
+ flex: '1 1 0px',
21
+ minWidth: '0px'
22
+ }
23
+ });
24
+ /**
25
+ * Styles for the root slot
26
+ */ const useStyles = makeStyles({
27
+ root: {
28
+ fontWeight: tokens.fontWeightRegular,
29
+ padding: `0px ${tokens.spacingHorizontalS}`,
30
+ ...createCustomFocusIndicatorStyle({
31
+ outline: `2px solid ${tokens.colorStrokeFocus2}`,
32
+ borderRadius: tokens.borderRadiusMedium
33
+ }, {
34
+ selector: 'focus-within'
35
+ }),
36
+ position: 'relative'
37
+ },
38
+ rootInteractive: {
39
+ ':hover': {
40
+ color: tokens.colorNeutralForeground1Hover,
41
+ backgroundColor: tokens.colorSubtleBackgroundHover
42
+ },
43
+ ':active': {
44
+ color: tokens.colorNeutralForeground1Pressed,
45
+ backgroundColor: tokens.colorSubtleBackgroundPressed
46
+ }
47
+ },
48
+ resetButton: {
49
+ resize: 'horizontal',
50
+ boxSizing: 'content-box',
51
+ backgroundColor: 'inherit',
52
+ color: 'inherit',
53
+ fontFamily: 'inherit',
54
+ fontSize: 'inherit',
55
+ lineHeight: 'normal',
56
+ overflow: 'visible',
57
+ padding: '0',
58
+ border: 'none',
59
+ textAlign: 'unset'
60
+ },
61
+ button: {
62
+ position: 'relative',
63
+ width: '100%',
64
+ display: 'flex',
65
+ flexGrow: 1,
66
+ height: '100%',
67
+ alignItems: 'center',
68
+ gap: tokens.spacingHorizontalXS,
69
+ minHeight: '32px',
70
+ flex: '1 1 0px',
71
+ outlineStyle: 'none'
72
+ },
73
+ sortable: {
74
+ cursor: 'pointer'
75
+ },
76
+ sortIcon: {
77
+ display: 'flex',
78
+ alignItems: 'center',
79
+ paddingTop: tokens.spacingVerticalXXS
80
+ },
81
+ resizeHandle: {}
82
+ });
83
+ /**
84
+ * Apply styling to the TableHeaderCell slots based on the state
85
+ */ export const useTableHeaderCellStyles_unstable = (state)=>{
86
+ 'use no memo';
87
+ const styles = useStyles();
88
+ const layoutStyles = {
89
+ table: useTableLayoutStyles(),
90
+ flex: useFlexLayoutStyles()
91
+ };
92
+ state.root.className = mergeClasses(tableHeaderCellClassNames.root, styles.root, state.sortable && styles.rootInteractive, state.noNativeElements ? layoutStyles.flex.root : layoutStyles.table.root, state.root.className);
93
+ state.button.className = mergeClasses(tableHeaderCellClassNames.button, styles.resetButton, styles.button, state.sortable && styles.sortable, state.button.className);
94
+ if (state.sortIcon) {
95
+ state.sortIcon.className = mergeClasses(tableHeaderCellClassNames.sortIcon, styles.sortIcon, state.sortIcon.className);
96
+ }
97
+ if (state.aside) {
98
+ state.aside.className = mergeClasses(tableHeaderCellClassNames.aside, styles.resizeHandle, state.aside.className);
99
+ }
100
+ return state;
101
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/TableHeaderCell/useTableHeaderCellStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport type { TableHeaderCellSlots, TableHeaderCellState } from './TableHeaderCell.types';\n\nexport const tableHeaderCellClassName = 'fui-TableHeaderCell';\nexport const tableHeaderCellClassNames: SlotClassNames<TableHeaderCellSlots> = {\n root: 'fui-TableHeaderCell',\n button: 'fui-TableHeaderCell__button',\n sortIcon: 'fui-TableHeaderCell__sortIcon',\n aside: 'fui-TableHeaderCell__aside',\n};\n\nconst useTableLayoutStyles = makeStyles({\n root: {\n display: 'table-cell',\n verticalAlign: 'middle',\n },\n});\n\nconst useFlexLayoutStyles = makeStyles({\n root: {\n display: 'flex',\n flex: '1 1 0px',\n minWidth: '0px',\n },\n});\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n root: {\n fontWeight: tokens.fontWeightRegular,\n padding: `0px ${tokens.spacingHorizontalS}`,\n ...createCustomFocusIndicatorStyle(\n { outline: `2px solid ${tokens.colorStrokeFocus2}`, borderRadius: tokens.borderRadiusMedium },\n { selector: 'focus-within' },\n ),\n position: 'relative',\n },\n\n rootInteractive: {\n ':hover': {\n color: tokens.colorNeutralForeground1Hover,\n backgroundColor: tokens.colorSubtleBackgroundHover,\n },\n ':active': {\n color: tokens.colorNeutralForeground1Pressed,\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n },\n },\n\n resetButton: {\n resize: 'horizontal',\n boxSizing: 'content-box',\n backgroundColor: 'inherit',\n color: 'inherit',\n fontFamily: 'inherit',\n fontSize: 'inherit',\n lineHeight: 'normal',\n overflow: 'visible',\n padding: '0',\n border: 'none',\n textAlign: 'unset',\n },\n\n button: {\n position: 'relative',\n width: '100%',\n display: 'flex',\n flexGrow: 1,\n height: '100%',\n alignItems: 'center',\n gap: tokens.spacingHorizontalXS,\n minHeight: '32px',\n flex: '1 1 0px',\n outlineStyle: 'none',\n },\n\n sortable: {\n cursor: 'pointer',\n },\n\n sortIcon: {\n display: 'flex',\n alignItems: 'center',\n paddingTop: tokens.spacingVerticalXXS,\n },\n\n resizeHandle: {},\n});\n\n/**\n * Apply styling to the TableHeaderCell slots based on the state\n */\nexport const useTableHeaderCellStyles_unstable = (state: TableHeaderCellState): TableHeaderCellState => {\n 'use no memo';\n\n const styles = useStyles();\n const layoutStyles = {\n table: useTableLayoutStyles(),\n flex: useFlexLayoutStyles(),\n };\n state.root.className = mergeClasses(\n tableHeaderCellClassNames.root,\n styles.root,\n state.sortable && styles.rootInteractive,\n state.noNativeElements ? layoutStyles.flex.root : layoutStyles.table.root,\n state.root.className,\n );\n\n state.button.className = mergeClasses(\n tableHeaderCellClassNames.button,\n styles.resetButton,\n styles.button,\n state.sortable && styles.sortable,\n state.button.className,\n );\n\n if (state.sortIcon) {\n state.sortIcon.className = mergeClasses(\n tableHeaderCellClassNames.sortIcon,\n styles.sortIcon,\n state.sortIcon.className,\n );\n }\n\n if (state.aside) {\n state.aside.className = mergeClasses(tableHeaderCellClassNames.aside, styles.resizeHandle, state.aside.className);\n }\n\n return state;\n};\n"],"names":["makeStyles","mergeClasses","tokens","createCustomFocusIndicatorStyle","tableHeaderCellClassName","tableHeaderCellClassNames","root","button","sortIcon","aside","useTableLayoutStyles","display","verticalAlign","useFlexLayoutStyles","flex","minWidth","useStyles","fontWeight","fontWeightRegular","padding","spacingHorizontalS","outline","colorStrokeFocus2","borderRadius","borderRadiusMedium","selector","position","rootInteractive","color","colorNeutralForeground1Hover","backgroundColor","colorSubtleBackgroundHover","colorNeutralForeground1Pressed","colorSubtleBackgroundPressed","resetButton","resize","boxSizing","fontFamily","fontSize","lineHeight","overflow","border","textAlign","width","flexGrow","height","alignItems","gap","spacingHorizontalXS","minHeight","outlineStyle","sortable","cursor","paddingTop","spacingVerticalXXS","resizeHandle","useTableHeaderCellStyles_unstable","state","styles","layoutStyles","table","className","noNativeElements"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import { makeStyles, mergeClasses } from '@griffel/react';
2
+ import { tokens } from '@fluentui/react-theme';
3
+ export const tableResizeHandleClassNames = {
4
+ root: 'fui-TableResizeHandle'
5
+ };
6
+ /**
7
+ * Styles for the root slot
8
+ */ const useStyles = makeStyles({
9
+ root: {
10
+ position: 'absolute',
11
+ right: 0,
12
+ top: 0,
13
+ bottom: 0,
14
+ width: '16px',
15
+ margin: '0 -8px',
16
+ cursor: 'col-resize',
17
+ opacity: 0,
18
+ transitionProperty: 'opacity',
19
+ transitionDuration: '.2s',
20
+ zIndex: 1,
21
+ // If mouse users focus on the resize handle through a context menu, we want the handle
22
+ // to be visible because the mouse might not be hovering over the handle
23
+ ':focus': {
24
+ opacity: 1,
25
+ outlineStyle: 'none'
26
+ },
27
+ ':hover': {
28
+ opacity: 1
29
+ },
30
+ '::after': {
31
+ content: '" "',
32
+ display: 'block',
33
+ width: '1px',
34
+ position: 'absolute',
35
+ left: '50%',
36
+ top: 0,
37
+ bottom: 0,
38
+ backgroundColor: tokens.colorNeutralStroke1
39
+ }
40
+ }
41
+ });
42
+ /**
43
+ * Apply styling to the TableResizeHandle slots based on the state
44
+ */ export const useTableResizeHandleStyles_unstable = (state)=>{
45
+ 'use no memo';
46
+ const styles = useStyles();
47
+ state.root.className = mergeClasses(tableResizeHandleClassNames.root, styles.root, state.root.className);
48
+ return state;
49
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/TableResizeHandle/useTableResizeHandleStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport type { TableResizeHandleSlots, TableResizeHandleState } from './TableResizeHandle.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { tokens } from '@fluentui/react-theme';\n\nexport const tableResizeHandleClassNames: SlotClassNames<TableResizeHandleSlots> = {\n root: 'fui-TableResizeHandle',\n // TODO: add class names for all slots on TableResizeHandleSlots.\n // Should be of the form `<slotName>: 'fui-TableResizeHandle__<slotName>`\n};\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n root: {\n position: 'absolute',\n right: 0,\n top: 0,\n bottom: 0,\n width: '16px',\n margin: '0 -8px',\n cursor: 'col-resize',\n opacity: 0,\n transitionProperty: 'opacity',\n transitionDuration: '.2s',\n zIndex: 1,\n\n // If mouse users focus on the resize handle through a context menu, we want the handle\n // to be visible because the mouse might not be hovering over the handle\n ':focus': {\n opacity: 1,\n outlineStyle: 'none',\n },\n\n ':hover': {\n opacity: 1,\n },\n\n '::after': {\n content: '\" \"',\n display: 'block',\n width: '1px',\n position: 'absolute',\n left: '50%',\n top: 0,\n bottom: 0,\n backgroundColor: tokens.colorNeutralStroke1,\n },\n },\n});\n\n/**\n * Apply styling to the TableResizeHandle slots based on the state\n */\nexport const useTableResizeHandleStyles_unstable = (state: TableResizeHandleState): TableResizeHandleState => {\n 'use no memo';\n\n const styles = useStyles();\n state.root.className = mergeClasses(tableResizeHandleClassNames.root, styles.root, state.root.className);\n return state;\n};\n"],"names":["makeStyles","mergeClasses","tokens","tableResizeHandleClassNames","root","useStyles","position","right","top","bottom","width","margin","cursor","opacity","transitionProperty","transitionDuration","zIndex","outlineStyle","content","display","left","backgroundColor","colorNeutralStroke1","useTableResizeHandleStyles_unstable","state","styles","className"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,UAAU,EAAEC,YAAY,QAAQ,iBAAiB;AAG1D,SAASC,MAAM,QAAQ,wBAAwB;AAE/C,OAAO,MAAMC,8BAAsE;IACjFC,MAAM;AAGR,EAAE;AAEF;;CAEC,GACD,MAAMC,YAAYL,WAAW;IAC3BI,MAAM;QACJE,UAAU;QACVC,OAAO;QACPC,KAAK;QACLC,QAAQ;QACRC,OAAO;QACPC,QAAQ;QACRC,QAAQ;QACRC,SAAS;QACTC,oBAAoB;QACpBC,oBAAoB;QACpBC,QAAQ;QAER,uFAAuF;QACvF,wEAAwE;QACxE,UAAU;YACRH,SAAS;YACTI,cAAc;QAChB;QAEA,UAAU;YACRJ,SAAS;QACX;QAEA,WAAW;YACTK,SAAS;YACTC,SAAS;YACTT,OAAO;YACPJ,UAAU;YACVc,MAAM;YACNZ,KAAK;YACLC,QAAQ;YACRY,iBAAiBnB,OAAOoB,mBAAmB;QAC7C;IACF;AACF;AAEA;;CAEC,GACD,OAAO,MAAMC,sCAAsC,CAACC;IAClD;IAEA,MAAMC,SAASpB;IACfmB,MAAMpB,IAAI,CAACsB,SAAS,GAAGzB,aAAaE,4BAA4BC,IAAI,EAAEqB,OAAOrB,IAAI,EAAEoB,MAAMpB,IAAI,CAACsB,SAAS;IACvG,OAAOF;AACT,EAAE"}
@@ -0,0 +1,137 @@
1
+ import { makeStyles, mergeClasses, shorthands } from '@griffel/react';
2
+ import { tokens } from '@fluentui/react-theme';
3
+ import { tableCellActionsClassNames } from '../TableCellActions/useTableCellActionsStyles.styles';
4
+ import { tableSelectionCellClassNames } from '../TableSelectionCell/useTableSelectionCellStyles.styles';
5
+ import { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';
6
+ export const tableRowClassName = 'fui-TableRow';
7
+ export const tableRowClassNames = {
8
+ root: tableRowClassName
9
+ };
10
+ const useTableLayoutStyles = makeStyles({
11
+ root: {
12
+ display: 'table-row'
13
+ }
14
+ });
15
+ const useFlexLayoutStyles = makeStyles({
16
+ root: {
17
+ display: 'flex',
18
+ alignItems: 'center'
19
+ }
20
+ });
21
+ /**
22
+ * Styles for the root slot
23
+ */ const useStyles = makeStyles({
24
+ root: {
25
+ color: tokens.colorNeutralForeground1,
26
+ boxSizing: 'border-box',
27
+ ...createCustomFocusIndicatorStyle({
28
+ [`& .${tableSelectionCellClassNames.root}`]: {
29
+ opacity: 1
30
+ },
31
+ [`& .${tableCellActionsClassNames.root}`]: {
32
+ opacity: 1
33
+ }
34
+ }, {
35
+ selector: 'focus-within'
36
+ }),
37
+ ...createCustomFocusIndicatorStyle({
38
+ outline: `2px solid ${tokens.colorStrokeFocus2}`,
39
+ borderRadius: tokens.borderRadiusMedium
40
+ }, {
41
+ selector: 'focus'
42
+ })
43
+ },
44
+ rootInteractive: {
45
+ ...createCustomFocusIndicatorStyle({
46
+ [`& .${tableCellActionsClassNames.root}`]: {
47
+ opacity: 1
48
+ }
49
+ }, {
50
+ selector: 'focus-within'
51
+ }),
52
+ ':active': {
53
+ backgroundColor: tokens.colorSubtleBackgroundPressed,
54
+ color: tokens.colorNeutralForeground1Pressed,
55
+ [`& .${tableCellActionsClassNames.root}`]: {
56
+ opacity: 1
57
+ },
58
+ [`& .${tableSelectionCellClassNames.root}`]: {
59
+ opacity: 1
60
+ }
61
+ },
62
+ ':hover': {
63
+ backgroundColor: tokens.colorSubtleBackgroundHover,
64
+ color: tokens.colorNeutralForeground1Hover,
65
+ [`& .${tableCellActionsClassNames.root}`]: {
66
+ opacity: 1
67
+ },
68
+ [`& .${tableSelectionCellClassNames.root}`]: {
69
+ opacity: 1
70
+ }
71
+ },
72
+ // High contrast styles
73
+ '@media (forced-colors: active)': {
74
+ ':hover': {
75
+ color: 'Highlight',
76
+ ...shorthands.borderColor('Highlight')
77
+ }
78
+ }
79
+ },
80
+ medium: {
81
+ borderBottom: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke2}`
82
+ },
83
+ small: {
84
+ borderBottom: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke2}`
85
+ },
86
+ 'extra-small': {
87
+ fontSize: tokens.fontSizeBase200
88
+ },
89
+ brand: {
90
+ backgroundColor: tokens.colorBrandBackground2,
91
+ ...shorthands.borderColor(tokens.colorTransparentStrokeInteractive),
92
+ ':active': {
93
+ backgroundColor: tokens.colorBrandBackground2,
94
+ color: tokens.colorNeutralForeground1
95
+ },
96
+ '@media(forced-colors: active)': {
97
+ border: '2px solid transparent',
98
+ borderRadius: tokens.borderRadiusMedium,
99
+ boxSizing: 'border-box',
100
+ ':focus-visible': {
101
+ outlineOffset: '-4px'
102
+ }
103
+ }
104
+ },
105
+ neutral: {
106
+ '@media(forced-colors: active)': {
107
+ border: '2px solid transparent',
108
+ borderRadius: tokens.borderRadiusMedium,
109
+ boxSizing: 'border-box',
110
+ ':focus-visible': {
111
+ outlineOffset: '-4px'
112
+ }
113
+ },
114
+ backgroundColor: tokens.colorSubtleBackgroundSelected,
115
+ color: tokens.colorNeutralForeground1Hover,
116
+ ':hover': {
117
+ backgroundColor: tokens.colorSubtleBackgroundSelected
118
+ },
119
+ ':active': {
120
+ backgroundColor: tokens.colorSubtleBackgroundSelected
121
+ },
122
+ ...shorthands.borderColor(tokens.colorNeutralStrokeOnBrand)
123
+ },
124
+ none: {}
125
+ });
126
+ /**
127
+ * Apply styling to the TableRow slots based on the state
128
+ */ export const useTableRowStyles_unstable = (state)=>{
129
+ 'use no memo';
130
+ const styles = useStyles();
131
+ const layoutStyles = {
132
+ table: useTableLayoutStyles(),
133
+ flex: useFlexLayoutStyles()
134
+ };
135
+ state.root.className = mergeClasses(tableRowClassNames.root, styles.root, !state.isHeaderRow && styles.rootInteractive, styles[state.size], state.noNativeElements ? layoutStyles.flex.root : layoutStyles.table.root, styles[state.appearance], state.root.className);
136
+ return state;
137
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/TableRow/useTableRowStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport type { TableRowSlots, TableRowState } from './TableRow.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { tableCellActionsClassNames } from '../TableCellActions/useTableCellActionsStyles.styles';\nimport { tableSelectionCellClassNames } from '../TableSelectionCell/useTableSelectionCellStyles.styles';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\n\nexport const tableRowClassName = 'fui-TableRow';\nexport const tableRowClassNames: SlotClassNames<TableRowSlots> = {\n root: tableRowClassName,\n};\n\nconst useTableLayoutStyles = makeStyles({\n root: {\n display: 'table-row',\n },\n});\n\nconst useFlexLayoutStyles = makeStyles({\n root: {\n display: 'flex',\n alignItems: 'center',\n },\n});\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n root: {\n color: tokens.colorNeutralForeground1,\n boxSizing: 'border-box',\n ...createCustomFocusIndicatorStyle(\n {\n [`& .${tableSelectionCellClassNames.root}`]: {\n opacity: 1,\n },\n [`& .${tableCellActionsClassNames.root}`]: {\n opacity: 1,\n },\n },\n { selector: 'focus-within' },\n ),\n ...createCustomFocusIndicatorStyle(\n { outline: `2px solid ${tokens.colorStrokeFocus2}`, borderRadius: tokens.borderRadiusMedium },\n { selector: 'focus' },\n ),\n },\n\n rootInteractive: {\n ...createCustomFocusIndicatorStyle(\n {\n [`& .${tableCellActionsClassNames.root}`]: {\n opacity: 1,\n },\n },\n { selector: 'focus-within' },\n ),\n ':active': {\n backgroundColor: tokens.colorSubtleBackgroundPressed,\n color: tokens.colorNeutralForeground1Pressed,\n [`& .${tableCellActionsClassNames.root}`]: {\n opacity: 1,\n },\n [`& .${tableSelectionCellClassNames.root}`]: {\n opacity: 1,\n },\n },\n ':hover': {\n backgroundColor: tokens.colorSubtleBackgroundHover,\n color: tokens.colorNeutralForeground1Hover,\n [`& .${tableCellActionsClassNames.root}`]: {\n opacity: 1,\n },\n [`& .${tableSelectionCellClassNames.root}`]: {\n opacity: 1,\n },\n },\n // High contrast styles\n '@media (forced-colors: active)': {\n ':hover': {\n color: 'Highlight',\n ...shorthands.borderColor('Highlight'),\n },\n },\n },\n\n medium: { borderBottom: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke2}` },\n\n small: { borderBottom: `${tokens.strokeWidthThin} solid ${tokens.colorNeutralStroke2}` },\n\n 'extra-small': {\n fontSize: tokens.fontSizeBase200,\n },\n\n brand: {\n backgroundColor: tokens.colorBrandBackground2,\n ...shorthands.borderColor(tokens.colorTransparentStrokeInteractive),\n ':active': {\n backgroundColor: tokens.colorBrandBackground2,\n color: tokens.colorNeutralForeground1,\n },\n\n '@media(forced-colors: active)': {\n border: '2px solid transparent',\n borderRadius: tokens.borderRadiusMedium,\n boxSizing: 'border-box',\n ':focus-visible': {\n outlineOffset: '-4px',\n },\n },\n },\n\n neutral: {\n '@media(forced-colors: active)': {\n border: '2px solid transparent',\n borderRadius: tokens.borderRadiusMedium,\n boxSizing: 'border-box',\n ':focus-visible': {\n outlineOffset: '-4px',\n },\n },\n backgroundColor: tokens.colorSubtleBackgroundSelected,\n color: tokens.colorNeutralForeground1Hover,\n ':hover': {\n backgroundColor: tokens.colorSubtleBackgroundSelected,\n },\n ':active': {\n backgroundColor: tokens.colorSubtleBackgroundSelected,\n },\n\n ...shorthands.borderColor(tokens.colorNeutralStrokeOnBrand),\n },\n\n none: {},\n});\n\n/**\n * Apply styling to the TableRow slots based on the state\n */\nexport const useTableRowStyles_unstable = (state: TableRowState): TableRowState => {\n 'use no memo';\n\n const styles = useStyles();\n const layoutStyles = {\n table: useTableLayoutStyles(),\n flex: useFlexLayoutStyles(),\n };\n state.root.className = mergeClasses(\n tableRowClassNames.root,\n styles.root,\n !state.isHeaderRow && styles.rootInteractive,\n styles[state.size],\n state.noNativeElements ? layoutStyles.flex.root : layoutStyles.table.root,\n styles[state.appearance],\n state.root.className,\n );\n\n return state;\n};\n"],"names":["makeStyles","mergeClasses","shorthands","tokens","tableCellActionsClassNames","tableSelectionCellClassNames","createCustomFocusIndicatorStyle","tableRowClassName","tableRowClassNames","root","useTableLayoutStyles","display","useFlexLayoutStyles","alignItems","useStyles","color","colorNeutralForeground1","boxSizing","opacity","selector","outline","colorStrokeFocus2","borderRadius","borderRadiusMedium","rootInteractive","backgroundColor","colorSubtleBackgroundPressed","colorNeutralForeground1Pressed","colorSubtleBackgroundHover","colorNeutralForeground1Hover","borderColor","medium","borderBottom","strokeWidthThin","colorNeutralStroke2","small","fontSize","fontSizeBase200","brand","colorBrandBackground2","colorTransparentStrokeInteractive","border","outlineOffset","neutral","colorSubtleBackgroundSelected","colorNeutralStrokeOnBrand","none","useTableRowStyles_unstable","state","styles","layoutStyles","table","flex","className","isHeaderRow","size","noNativeElements","appearance"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -0,0 +1,74 @@
1
+ import { makeStyles, mergeClasses } from '@griffel/react';
2
+ import { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';
3
+ import { tokens } from '@fluentui/react-theme';
4
+ export const CELL_WIDTH = 44;
5
+ export const tableSelectionCellClassNames = {
6
+ root: 'fui-TableSelectionCell',
7
+ checkboxIndicator: 'fui-TableSelectionCell__checkboxIndicator',
8
+ radioIndicator: 'fui-TableSelectionCell__radioIndicator'
9
+ };
10
+ const useTableLayoutStyles = makeStyles({
11
+ root: {
12
+ display: 'table-cell',
13
+ width: `${CELL_WIDTH}px`
14
+ }
15
+ });
16
+ const useFlexLayoutStyles = makeStyles({
17
+ root: {
18
+ display: 'flex',
19
+ flex: '1 1 0px',
20
+ minWidth: `${CELL_WIDTH}px`,
21
+ maxWidth: `${CELL_WIDTH}px`,
22
+ justifyContent: 'center'
23
+ }
24
+ });
25
+ /**
26
+ * Styles for the root slot
27
+ */ const useStyles = makeStyles({
28
+ root: {
29
+ textAlign: 'center',
30
+ whiteSpace: 'nowrap',
31
+ padding: '0',
32
+ ...createCustomFocusIndicatorStyle({
33
+ outline: `2px solid ${tokens.colorStrokeFocus2}`,
34
+ borderRadius: tokens.borderRadiusMedium
35
+ }, {
36
+ selector: 'focus'
37
+ })
38
+ },
39
+ radioIndicator: {
40
+ display: 'flex',
41
+ flexGrow: 1,
42
+ alignItems: 'center',
43
+ justifyContent: 'center'
44
+ },
45
+ subtle: {
46
+ opacity: 0,
47
+ ...createCustomFocusIndicatorStyle({
48
+ opacity: 1
49
+ }, {
50
+ selector: 'focus-within'
51
+ })
52
+ },
53
+ hidden: {
54
+ opacity: 0
55
+ }
56
+ });
57
+ /**
58
+ * Apply styling to the TableSelectionCell slots based on the state
59
+ */ export const useTableSelectionCellStyles_unstable = (state)=>{
60
+ 'use no memo';
61
+ const styles = useStyles();
62
+ const layoutStyles = {
63
+ table: useTableLayoutStyles(),
64
+ flex: useFlexLayoutStyles()
65
+ };
66
+ state.root.className = mergeClasses(tableSelectionCellClassNames.root, styles.root, state.noNativeElements ? layoutStyles.flex.root : layoutStyles.table.root, state.subtle && state.checked === false && styles.subtle, state.hidden && styles.hidden, state.root.className);
67
+ if (state.checkboxIndicator) {
68
+ state.checkboxIndicator.className = mergeClasses(tableSelectionCellClassNames.checkboxIndicator, state.checkboxIndicator.className);
69
+ }
70
+ if (state.radioIndicator) {
71
+ state.radioIndicator.className = mergeClasses(tableSelectionCellClassNames.radioIndicator, styles.radioIndicator, state.radioIndicator.className);
72
+ }
73
+ return state;
74
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/TableSelectionCell/useTableSelectionCellStyles.styles.ts"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport type { TableSelectionCellSlots, TableSelectionCellState } from './TableSelectionCell.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { tokens } from '@fluentui/react-theme';\n\nexport const CELL_WIDTH = 44;\n\nexport const tableSelectionCellClassNames: SlotClassNames<TableSelectionCellSlots> = {\n root: 'fui-TableSelectionCell',\n checkboxIndicator: 'fui-TableSelectionCell__checkboxIndicator',\n radioIndicator: 'fui-TableSelectionCell__radioIndicator',\n};\n\nconst useTableLayoutStyles = makeStyles({\n root: {\n display: 'table-cell',\n width: `${CELL_WIDTH}px`,\n },\n});\n\nconst useFlexLayoutStyles = makeStyles({\n root: {\n display: 'flex',\n flex: '1 1 0px',\n minWidth: `${CELL_WIDTH}px`,\n maxWidth: `${CELL_WIDTH}px`,\n justifyContent: 'center',\n },\n});\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n root: {\n textAlign: 'center',\n whiteSpace: 'nowrap',\n padding: '0',\n ...createCustomFocusIndicatorStyle(\n { outline: `2px solid ${tokens.colorStrokeFocus2}`, borderRadius: tokens.borderRadiusMedium },\n { selector: 'focus' },\n ),\n },\n\n radioIndicator: {\n display: 'flex',\n flexGrow: 1,\n alignItems: 'center',\n justifyContent: 'center',\n },\n\n subtle: {\n opacity: 0,\n ...createCustomFocusIndicatorStyle(\n {\n opacity: 1,\n },\n { selector: 'focus-within' },\n ),\n },\n\n hidden: {\n opacity: 0,\n },\n});\n\n/**\n * Apply styling to the TableSelectionCell slots based on the state\n */\nexport const useTableSelectionCellStyles_unstable = (state: TableSelectionCellState): TableSelectionCellState => {\n 'use no memo';\n\n const styles = useStyles();\n const layoutStyles = {\n table: useTableLayoutStyles(),\n flex: useFlexLayoutStyles(),\n };\n state.root.className = mergeClasses(\n tableSelectionCellClassNames.root,\n styles.root,\n state.noNativeElements ? layoutStyles.flex.root : layoutStyles.table.root,\n state.subtle && state.checked === false && styles.subtle,\n state.hidden && styles.hidden,\n state.root.className,\n );\n if (state.checkboxIndicator) {\n state.checkboxIndicator.className = mergeClasses(\n tableSelectionCellClassNames.checkboxIndicator,\n state.checkboxIndicator.className,\n );\n }\n\n if (state.radioIndicator) {\n state.radioIndicator.className = mergeClasses(\n tableSelectionCellClassNames.radioIndicator,\n styles.radioIndicator,\n state.radioIndicator.className,\n );\n }\n\n return state;\n};\n"],"names":["makeStyles","mergeClasses","createCustomFocusIndicatorStyle","tokens","CELL_WIDTH","tableSelectionCellClassNames","root","checkboxIndicator","radioIndicator","useTableLayoutStyles","display","width","useFlexLayoutStyles","flex","minWidth","maxWidth","justifyContent","useStyles","textAlign","whiteSpace","padding","outline","colorStrokeFocus2","borderRadius","borderRadiusMedium","selector","flexGrow","alignItems","subtle","opacity","hidden","useTableSelectionCellStyles_unstable","state","styles","layoutStyles","table","className","noNativeElements","checked"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,UAAU,EAAEC,YAAY,QAAQ,iBAAiB;AAG1D,SAASC,+BAA+B,QAAQ,0BAA0B;AAC1E,SAASC,MAAM,QAAQ,wBAAwB;AAE/C,OAAO,MAAMC,aAAa,GAAG;AAE7B,OAAO,MAAMC,+BAAwE;IACnFC,MAAM;IACNC,mBAAmB;IACnBC,gBAAgB;AAClB,EAAE;AAEF,MAAMC,uBAAuBT,WAAW;IACtCM,MAAM;QACJI,SAAS;QACTC,OAAO,CAAC,EAAEP,WAAW,EAAE,CAAC;IAC1B;AACF;AAEA,MAAMQ,sBAAsBZ,WAAW;IACrCM,MAAM;QACJI,SAAS;QACTG,MAAM;QACNC,UAAU,CAAC,EAAEV,WAAW,EAAE,CAAC;QAC3BW,UAAU,CAAC,EAAEX,WAAW,EAAE,CAAC;QAC3BY,gBAAgB;IAClB;AACF;AAEA;;CAEC,GACD,MAAMC,YAAYjB,WAAW;IAC3BM,MAAM;QACJY,WAAW;QACXC,YAAY;QACZC,SAAS;QACT,GAAGlB,gCACD;YAAEmB,SAAS,CAAC,UAAU,EAAElB,OAAOmB,iBAAiB,CAAC,CAAC;YAAEC,cAAcpB,OAAOqB,kBAAkB;QAAC,GAC5F;YAAEC,UAAU;QAAQ,EACrB;IACH;IAEAjB,gBAAgB;QACdE,SAAS;QACTgB,UAAU;QACVC,YAAY;QACZX,gBAAgB;IAClB;IAEAY,QAAQ;QACNC,SAAS;QACT,GAAG3B,gCACD;YACE2B,SAAS;QACX,GACA;YAAEJ,UAAU;QAAe,EAC5B;IACH;IAEAK,QAAQ;QACND,SAAS;IACX;AACF;AAEA;;CAEC,GACD,OAAO,MAAME,uCAAuC,CAACC;IACnD;IAEA,MAAMC,SAAShB;IACf,MAAMiB,eAAe;QACnBC,OAAO1B;QACPI,MAAMD;IACR;IACAoB,MAAM1B,IAAI,CAAC8B,SAAS,GAAGnC,aACrBI,6BAA6BC,IAAI,EACjC2B,OAAO3B,IAAI,EACX0B,MAAMK,gBAAgB,GAAGH,aAAarB,IAAI,CAACP,IAAI,GAAG4B,aAAaC,KAAK,CAAC7B,IAAI,EACzE0B,MAAMJ,MAAM,IAAII,MAAMM,OAAO,KAAK,SAASL,OAAOL,MAAM,EACxDI,MAAMF,MAAM,IAAIG,OAAOH,MAAM,EAC7BE,MAAM1B,IAAI,CAAC8B,SAAS;IAEtB,IAAIJ,MAAMzB,iBAAiB,EAAE;QAC3ByB,MAAMzB,iBAAiB,CAAC6B,SAAS,GAAGnC,aAClCI,6BAA6BE,iBAAiB,EAC9CyB,MAAMzB,iBAAiB,CAAC6B,SAAS;IAErC;IAEA,IAAIJ,MAAMxB,cAAc,EAAE;QACxBwB,MAAMxB,cAAc,CAAC4B,SAAS,GAAGnC,aAC/BI,6BAA6BG,cAAc,EAC3CyB,OAAOzB,cAAc,EACrBwB,MAAMxB,cAAc,CAAC4B,SAAS;IAElC;IAEA,OAAOJ;AACT,EAAE"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ dataGridClassNames: function() {
13
+ return dataGridClassNames;
14
+ },
15
+ useDataGridStyles_unstable: function() {
16
+ return useDataGridStyles_unstable;
17
+ }
18
+ });
19
+ const _react = require("@griffel/react");
20
+ const _useTableStylesstyles = require("../Table/useTableStyles.styles");
21
+ const dataGridClassNames = {
22
+ root: 'fui-DataGrid'
23
+ };
24
+ const useDataGridStyles_unstable = (state)=>{
25
+ 'use no memo';
26
+ (0, _useTableStylesstyles.useTableStyles_unstable)(state);
27
+ state.root.className = (0, _react.mergeClasses)(dataGridClassNames.root, state.root.className);
28
+ return state;
29
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/DataGrid/useDataGridStyles.styles.ts"],"sourcesContent":["import { mergeClasses } from '@griffel/react';\nimport type { DataGridSlots, DataGridState } from './DataGrid.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { useTableStyles_unstable } from '../Table/useTableStyles.styles';\n\nexport const dataGridClassNames: SlotClassNames<DataGridSlots> = {\n root: 'fui-DataGrid',\n};\n\n/**\n * Apply styling to the DataGrid slots based on the state\n */\nexport const useDataGridStyles_unstable = (state: DataGridState): DataGridState => {\n 'use no memo';\n\n useTableStyles_unstable(state);\n state.root.className = mergeClasses(dataGridClassNames.root, state.root.className);\n\n return state;\n};\n"],"names":["dataGridClassNames","useDataGridStyles_unstable","root","state","useTableStyles_unstable","className","mergeClasses"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAKaA,kBAAAA;eAAAA;;IAOAC,0BAAAA;eAAAA;;;uBAZgB;sCAGW;AAEjC,MAAMD,qBAAoD;IAC/DE,MAAM;AACR;AAKO,MAAMD,6BAA6B,CAACE;IACzC;IAEAC,IAAAA,6CAAAA,EAAwBD;IACxBA,MAAMD,IAAI,CAACG,SAAS,GAAGC,IAAAA,mBAAAA,EAAaN,mBAAmBE,IAAI,EAAEC,MAAMD,IAAI,CAACG,SAAS;IAEjF,OAAOF;AACT"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ dataGridBodyClassNames: function() {
13
+ return dataGridBodyClassNames;
14
+ },
15
+ useDataGridBodyStyles_unstable: function() {
16
+ return useDataGridBodyStyles_unstable;
17
+ }
18
+ });
19
+ const _react = require("@griffel/react");
20
+ const _useTableBodyStylesstyles = require("../TableBody/useTableBodyStyles.styles");
21
+ const dataGridBodyClassNames = {
22
+ root: 'fui-DataGridBody'
23
+ };
24
+ const useDataGridBodyStyles_unstable = (state)=>{
25
+ 'use no memo';
26
+ (0, _useTableBodyStylesstyles.useTableBodyStyles_unstable)(state);
27
+ state.root.className = (0, _react.mergeClasses)(dataGridBodyClassNames.root, state.root.className);
28
+ return state;
29
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/DataGridBody/useDataGridBodyStyles.styles.ts"],"sourcesContent":["import { mergeClasses } from '@griffel/react';\nimport type { DataGridBodySlots, DataGridBodyState } from './DataGridBody.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { useTableBodyStyles_unstable } from '../TableBody/useTableBodyStyles.styles';\n\nexport const dataGridBodyClassNames: SlotClassNames<DataGridBodySlots> = {\n root: 'fui-DataGridBody',\n};\n\n/**\n * Apply styling to the DataGridBody slots based on the state\n */\nexport const useDataGridBodyStyles_unstable = (state: DataGridBodyState): DataGridBodyState => {\n 'use no memo';\n\n useTableBodyStyles_unstable(state);\n state.root.className = mergeClasses(dataGridBodyClassNames.root, state.root.className);\n\n return state;\n};\n"],"names":["dataGridBodyClassNames","useDataGridBodyStyles_unstable","root","state","useTableBodyStyles_unstable","className","mergeClasses"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAKaA,sBAAAA;eAAAA;;IAOAC,8BAAAA;eAAAA;;;uBAZgB;0CAGe;AAErC,MAAMD,yBAA4D;IACvEE,MAAM;AACR;AAKO,MAAMD,iCAAiC,CAACE;IAC7C;IAEAC,IAAAA,qDAAAA,EAA4BD;IAC5BA,MAAMD,IAAI,CAACG,SAAS,GAAGC,IAAAA,mBAAAA,EAAaN,uBAAuBE,IAAI,EAAEC,MAAMD,IAAI,CAACG,SAAS;IAErF,OAAOF;AACT"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ dataGridCellClassNames: function() {
13
+ return dataGridCellClassNames;
14
+ },
15
+ useDataGridCellStyles_unstable: function() {
16
+ return useDataGridCellStyles_unstable;
17
+ }
18
+ });
19
+ const _react = require("@griffel/react");
20
+ const _useTableCellStylesstyles = require("../TableCell/useTableCellStyles.styles");
21
+ const dataGridCellClassNames = {
22
+ root: 'fui-DataGridCell'
23
+ };
24
+ const useDataGridCellStyles_unstable = (state)=>{
25
+ 'use no memo';
26
+ (0, _useTableCellStylesstyles.useTableCellStyles_unstable)(state);
27
+ state.root.className = (0, _react.mergeClasses)(dataGridCellClassNames.root, state.root.className);
28
+ return state;
29
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/DataGridCell/useDataGridCellStyles.styles.ts"],"sourcesContent":["import { mergeClasses } from '@griffel/react';\nimport type { DataGridCellSlots, DataGridCellState } from './DataGridCell.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { useTableCellStyles_unstable } from '../TableCell/useTableCellStyles.styles';\n\nexport const dataGridCellClassNames: SlotClassNames<DataGridCellSlots> = {\n root: 'fui-DataGridCell',\n};\n\n/**\n * Apply styling to the DataGridCell slots based on the state\n */\nexport const useDataGridCellStyles_unstable = (state: DataGridCellState): DataGridCellState => {\n 'use no memo';\n\n useTableCellStyles_unstable(state);\n state.root.className = mergeClasses(dataGridCellClassNames.root, state.root.className);\n\n return state;\n};\n"],"names":["dataGridCellClassNames","useDataGridCellStyles_unstable","root","state","useTableCellStyles_unstable","className","mergeClasses"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAKaA,sBAAAA;eAAAA;;IAOAC,8BAAAA;eAAAA;;;uBAZgB;0CAGe;AAErC,MAAMD,yBAA4D;IACvEE,MAAM;AACR;AAKO,MAAMD,iCAAiC,CAACE;IAC7C;IAEAC,IAAAA,qDAAAA,EAA4BD;IAC5BA,MAAMD,IAAI,CAACG,SAAS,GAAGC,IAAAA,mBAAAA,EAAaN,uBAAuBE,IAAI,EAAEC,MAAMD,IAAI,CAACG,SAAS;IAErF,OAAOF;AACT"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ dataGridHeaderClassNames: function() {
13
+ return dataGridHeaderClassNames;
14
+ },
15
+ useDataGridHeaderStyles_unstable: function() {
16
+ return useDataGridHeaderStyles_unstable;
17
+ }
18
+ });
19
+ const _react = require("@griffel/react");
20
+ const _useTableHeaderStylesstyles = require("../TableHeader/useTableHeaderStyles.styles");
21
+ const dataGridHeaderClassNames = {
22
+ root: 'fui-DataGridHeader'
23
+ };
24
+ const useDataGridHeaderStyles_unstable = (state)=>{
25
+ 'use no memo';
26
+ (0, _useTableHeaderStylesstyles.useTableHeaderStyles_unstable)(state);
27
+ state.root.className = (0, _react.mergeClasses)(dataGridHeaderClassNames.root, state.root.className);
28
+ return state;
29
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/DataGridHeader/useDataGridHeaderStyles.styles.ts"],"sourcesContent":["import { mergeClasses } from '@griffel/react';\nimport type { DataGridHeaderSlots, DataGridHeaderState } from './DataGridHeader.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { useTableHeaderStyles_unstable } from '../TableHeader/useTableHeaderStyles.styles';\n\nexport const dataGridHeaderClassNames: SlotClassNames<DataGridHeaderSlots> = {\n root: 'fui-DataGridHeader',\n};\n\n/**\n * Apply styling to the DataGridHeader slots based on the state\n */\nexport const useDataGridHeaderStyles_unstable = (state: DataGridHeaderState): DataGridHeaderState => {\n 'use no memo';\n\n useTableHeaderStyles_unstable(state);\n state.root.className = mergeClasses(dataGridHeaderClassNames.root, state.root.className);\n\n return state;\n};\n"],"names":["dataGridHeaderClassNames","useDataGridHeaderStyles_unstable","root","state","useTableHeaderStyles_unstable","className","mergeClasses"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAKaA,wBAAAA;eAAAA;;IAOAC,gCAAAA;eAAAA;;;uBAZgB;4CAGiB;AAEvC,MAAMD,2BAAgE;IAC3EE,MAAM;AACR;AAKO,MAAMD,mCAAmC,CAACE;IAC/C;IAEAC,IAAAA,yDAAAA,EAA8BD;IAC9BA,MAAMD,IAAI,CAACG,SAAS,GAAGC,IAAAA,mBAAAA,EAAaN,yBAAyBE,IAAI,EAAEC,MAAMD,IAAI,CAACG,SAAS;IAEvF,OAAOF;AACT"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ dataGridHeaderCellClassNames: function() {
13
+ return dataGridHeaderCellClassNames;
14
+ },
15
+ useDataGridHeaderCellStyles_unstable: function() {
16
+ return useDataGridHeaderCellStyles_unstable;
17
+ }
18
+ });
19
+ const _react = require("@griffel/react");
20
+ const _useTableHeaderCellStylesstyles = require("../TableHeaderCell/useTableHeaderCellStyles.styles");
21
+ const dataGridHeaderCellClassNames = {
22
+ root: 'fui-DataGridHeaderCell',
23
+ button: 'fui-DataGridHeaderCell__button',
24
+ sortIcon: 'fui-DataGridHeaderCell__sortIcon',
25
+ aside: 'fui-DataGridHeaderCell__aside'
26
+ };
27
+ const useDataGridHeaderCellStyles_unstable = (state)=>{
28
+ 'use no memo';
29
+ (0, _useTableHeaderCellStylesstyles.useTableHeaderCellStyles_unstable)(state);
30
+ state.root.className = (0, _react.mergeClasses)(dataGridHeaderCellClassNames.root, state.root.className);
31
+ if (state.button) {
32
+ state.button.className = (0, _react.mergeClasses)(dataGridHeaderCellClassNames.button, state.button.className);
33
+ }
34
+ if (state.sortIcon) {
35
+ state.sortIcon.className = (0, _react.mergeClasses)(dataGridHeaderCellClassNames.sortIcon, state.sortIcon.className);
36
+ }
37
+ if (state.aside) {
38
+ state.aside.className = (0, _react.mergeClasses)(dataGridHeaderCellClassNames.aside, state.aside.className);
39
+ }
40
+ return state;
41
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/DataGridHeaderCell/useDataGridHeaderCellStyles.styles.ts"],"sourcesContent":["import { mergeClasses } from '@griffel/react';\nimport type { DataGridHeaderCellSlots, DataGridHeaderCellState } from './DataGridHeaderCell.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { useTableHeaderCellStyles_unstable } from '../TableHeaderCell/useTableHeaderCellStyles.styles';\n\nexport const dataGridHeaderCellClassNames: SlotClassNames<DataGridHeaderCellSlots> = {\n root: 'fui-DataGridHeaderCell',\n button: 'fui-DataGridHeaderCell__button',\n sortIcon: 'fui-DataGridHeaderCell__sortIcon',\n aside: 'fui-DataGridHeaderCell__aside',\n};\n\n/**\n * Apply styling to the DataGridHeaderCell slots based on the state\n */\nexport const useDataGridHeaderCellStyles_unstable = (state: DataGridHeaderCellState): DataGridHeaderCellState => {\n 'use no memo';\n\n useTableHeaderCellStyles_unstable(state);\n state.root.className = mergeClasses(dataGridHeaderCellClassNames.root, state.root.className);\n\n if (state.button) {\n state.button.className = mergeClasses(dataGridHeaderCellClassNames.button, state.button.className);\n }\n\n if (state.sortIcon) {\n state.sortIcon.className = mergeClasses(dataGridHeaderCellClassNames.sortIcon, state.sortIcon.className);\n }\n\n if (state.aside) {\n state.aside.className = mergeClasses(dataGridHeaderCellClassNames.aside, state.aside.className);\n }\n\n return state;\n};\n"],"names":["dataGridHeaderCellClassNames","useDataGridHeaderCellStyles_unstable","root","button","sortIcon","aside","state","useTableHeaderCellStyles_unstable","className","mergeClasses"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";;;;;;;;;;;IAKaA,4BAAAA;eAAAA;;IAUAC,oCAAAA;eAAAA;;;uBAfgB;gDAGqB;AAE3C,MAAMD,+BAAwE;IACnFE,MAAM;IACNC,QAAQ;IACRC,UAAU;IACVC,OAAO;AACT;AAKO,MAAMJ,uCAAuC,CAACK;IACnD;IAEAC,IAAAA,iEAAAA,EAAkCD;IAClCA,MAAMJ,IAAI,CAACM,SAAS,GAAGC,IAAAA,mBAAAA,EAAaT,6BAA6BE,IAAI,EAAEI,MAAMJ,IAAI,CAACM,SAAS;IAE3F,IAAIF,MAAMH,MAAM,EAAE;QAChBG,MAAMH,MAAM,CAACK,SAAS,GAAGC,IAAAA,mBAAAA,EAAaT,6BAA6BG,MAAM,EAAEG,MAAMH,MAAM,CAACK,SAAS;IACnG;IAEA,IAAIF,MAAMF,QAAQ,EAAE;QAClBE,MAAMF,QAAQ,CAACI,SAAS,GAAGC,IAAAA,mBAAAA,EAAaT,6BAA6BI,QAAQ,EAAEE,MAAMF,QAAQ,CAACI,SAAS;IACzG;IAEA,IAAIF,MAAMD,KAAK,EAAE;QACfC,MAAMD,KAAK,CAACG,SAAS,GAAGC,IAAAA,mBAAAA,EAAaT,6BAA6BK,KAAK,EAAEC,MAAMD,KAAK,CAACG,SAAS;IAChG;IAEA,OAAOF;AACT"}