react-restyle-components 0.4.46 → 0.4.47

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 (231) hide show
  1. package/lib/index.js +1 -3
  2. package/lib/src/core-components/index.js +1 -1
  3. package/lib/src/core-components/src/components/Accordion/AccordionSection/Accordion.js +1 -15
  4. package/lib/src/core-components/src/components/Accordion/AccordionSection/AccordionContext.js +1 -6
  5. package/lib/src/core-components/src/components/Accordion/AccordionSection/AccordionSection.js +1 -39
  6. package/lib/src/core-components/src/components/Accordion/AccordionSection/Header.js +1 -39
  7. package/lib/src/core-components/src/components/Accordion/AccordionSection/elements.js +57 -94
  8. package/lib/src/core-components/src/components/Accordion/AccordionSection/hooks/useCurrentAccordionIndex.js +1 -13
  9. package/lib/src/core-components/src/components/Accordion/AccordionSection/index.js +1 -3
  10. package/lib/src/core-components/src/components/Accordion/AccordionSection/types.js +1 -9
  11. package/lib/src/core-components/src/components/Accordion/Collapsible/Collapsible2.component.js +1 -249
  12. package/lib/src/core-components/src/components/Action/types.js +1 -8
  13. package/lib/src/core-components/src/components/AlertBanner/AlertBanner.js +1 -45
  14. package/lib/src/core-components/src/components/AlertBanner/elements.js +45 -120
  15. package/lib/src/core-components/src/components/AlertBanner/index.js +1 -2
  16. package/lib/src/core-components/src/components/AlertBanner/types.js +1 -10
  17. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-group-by-multiple-select-multiple-fields-display/auto-complete-filter-group-by-multiple-select-multiple-fields-display.component.js +1 -451
  18. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multi-select-multi-fields-display-drag-drop/auto-complete-filter-multi-select-multi-fields-display-drag-drop.component.js +1 -229
  19. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multi-select-selected-top-display/auto-complete-filter-multi-select-selected-top-display.component.js +1 -174
  20. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multiple-select-multiple-fields-display/auto-complete-filter-multiple-select-multiple-fields-display.component.js +2 -129
  21. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-single-select/auto-complete-filter-single-select.component.js +1 -55
  22. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-single-select-multiple-fields-display/auto-complete-filter-single-select-multiple-fields-display.component.js +2 -308
  23. package/lib/src/core-components/src/components/AutoComplete/auto-complete-group-by/auto-complete-group-by.component.js +1 -115
  24. package/lib/src/core-components/src/components/AutoComplete/autocomplete/autocomplete.js +2 -442
  25. package/lib/src/core-components/src/components/AutoComplete/index.js +1 -8
  26. package/lib/src/core-components/src/components/Avatar/Avatar.js +14 -148
  27. package/lib/src/core-components/src/components/Badge/Badge.js +2 -25
  28. package/lib/src/core-components/src/components/Badge/InnerBadge/Inline.js +1 -25
  29. package/lib/src/core-components/src/components/Badge/InnerBadge/InnerBadge.js +1 -25
  30. package/lib/src/core-components/src/components/Badge/InnerBadge/elements.js +32 -78
  31. package/lib/src/core-components/src/components/Badge/InnerBadge/index.js +1 -1
  32. package/lib/src/core-components/src/components/Badge/index.js +1 -1
  33. package/lib/src/core-components/src/components/Badge/types.js +1 -5
  34. package/lib/src/core-components/src/components/Breadcrumb/Breadcrumb.js +1 -83
  35. package/lib/src/core-components/src/components/Breadcrumb/elements.js +94 -166
  36. package/lib/src/core-components/src/components/Breadcrumb/index.js +1 -3
  37. package/lib/src/core-components/src/components/Breadcrumb/types.js +1 -3
  38. package/lib/src/core-components/src/components/Button/button.component.js +1 -18
  39. package/lib/src/core-components/src/components/Button/buttonGroup/buttonGroup.component.js +1 -4
  40. package/lib/src/core-components/src/components/Button/index.js +1 -2
  41. package/lib/src/core-components/src/components/Button/types.js +1 -1
  42. package/lib/src/core-components/src/components/Chip/Chip.js +1 -64
  43. package/lib/src/core-components/src/components/Chip/elements.js +48 -148
  44. package/lib/src/core-components/src/components/Chip/index.js +1 -2
  45. package/lib/src/core-components/src/components/Chip/types.js +1 -4
  46. package/lib/src/core-components/src/components/Divider/Divider.js +1 -25
  47. package/lib/src/core-components/src/components/Divider/elements.js +31 -68
  48. package/lib/src/core-components/src/components/Divider/index.js +1 -2
  49. package/lib/src/core-components/src/components/Divider/types.js +1 -4
  50. package/lib/src/core-components/src/components/DynamicGrid/DynamicGrid.js +1 -147
  51. package/lib/src/core-components/src/components/DynamicGrid/GridContainer.js +17 -24
  52. package/lib/src/core-components/src/components/DynamicGrid/elements.js +100 -162
  53. package/lib/src/core-components/src/components/DynamicGrid/index.js +1 -3
  54. package/lib/src/core-components/src/components/DynamicGrid/types.js +1 -28
  55. package/lib/src/core-components/src/components/DynamicGrid/utils.js +1 -193
  56. package/lib/src/core-components/src/components/FormField/FormField.js +1 -103
  57. package/lib/src/core-components/src/components/FormField/components/CheckboxGroupInput.js +1 -37
  58. package/lib/src/core-components/src/components/FormField/components/CheckboxInput.js +1 -8
  59. package/lib/src/core-components/src/components/FormField/components/CssMultilineInput.js +1 -192
  60. package/lib/src/core-components/src/components/FormField/components/DatePickerInput.js +1 -99
  61. package/lib/src/core-components/src/components/FormField/components/DropdownInput.js +1 -70
  62. package/lib/src/core-components/src/components/FormField/components/OtpInput.js +1 -81
  63. package/lib/src/core-components/src/components/FormField/components/PasswordInput.js +1 -40
  64. package/lib/src/core-components/src/components/FormField/components/PinInput.js +1 -75
  65. package/lib/src/core-components/src/components/FormField/components/RadioInput.js +1 -54
  66. package/lib/src/core-components/src/components/FormField/components/TextDropdownInput.js +1 -94
  67. package/lib/src/core-components/src/components/FormField/components/ToggleInput.js +1 -36
  68. package/lib/src/core-components/src/components/FormField/components/index.js +1 -11
  69. package/lib/src/core-components/src/components/FormField/css-properties.js +1 -161
  70. package/lib/src/core-components/src/components/FormField/index.js +1 -2
  71. package/lib/src/core-components/src/components/Icon/Icon.js +1 -159
  72. package/lib/src/core-components/src/components/Icon/index.js +1 -2
  73. package/lib/src/core-components/src/components/Icon/types.js +1 -9
  74. package/lib/src/core-components/src/components/Loader/loader.component.js +2 -215
  75. package/lib/src/core-components/src/components/Masonry/Masonry.js +1 -73
  76. package/lib/src/core-components/src/components/Masonry/elements.js +29 -46
  77. package/lib/src/core-components/src/components/Masonry/hooks.js +1 -100
  78. package/lib/src/core-components/src/components/Masonry/index.js +1 -3
  79. package/lib/src/core-components/src/components/Masonry/types.js +1 -1
  80. package/lib/src/core-components/src/components/Modal/BasicModal/modal.component.js +1 -116
  81. package/lib/src/core-components/src/components/Modal/index.js +1 -2
  82. package/lib/src/core-components/src/components/Modal/modal-confirm/modal-confirm.component.js +1 -147
  83. package/lib/src/core-components/src/components/Picker/color-picker/color-picker.component.js +1 -12
  84. package/lib/src/core-components/src/components/Picker/color-picker-modal/color-picker-modal.component.js +1 -40
  85. package/lib/src/core-components/src/components/Picker/index.js +1 -2
  86. package/lib/src/core-components/src/components/Selection/index.js +1 -4
  87. package/lib/src/core-components/src/components/Selection/multi-select/multi-select.component.js +1 -49
  88. package/lib/src/core-components/src/components/Selection/multi-select-with-field/multi-select-with-field.component.js +1 -58
  89. package/lib/src/core-components/src/components/Selection/multi-selection-dropdown/multi-selection-dropdown.component.js +1 -43
  90. package/lib/src/core-components/src/components/Selection/single-select/single-select.component.js +1 -87
  91. package/lib/src/core-components/src/components/Skeleton/Skeleton.js +1 -51
  92. package/lib/src/core-components/src/components/Skeleton/elements.js +54 -143
  93. package/lib/src/core-components/src/components/Skeleton/index.js +1 -2
  94. package/lib/src/core-components/src/components/Skeleton/types.js +1 -4
  95. package/lib/src/core-components/src/components/SpeedDial/SpeedDial.js +1 -128
  96. package/lib/src/core-components/src/components/SpeedDial/elements.js +62 -132
  97. package/lib/src/core-components/src/components/SpeedDial/index.js +1 -2
  98. package/lib/src/core-components/src/components/SpeedDial/types.js +1 -3
  99. package/lib/src/core-components/src/components/Stepper2/stepper.component.js +1 -139
  100. package/lib/src/core-components/src/components/Switch/Switch.js +1 -26
  101. package/lib/src/core-components/src/components/Switch/elements.js +34 -103
  102. package/lib/src/core-components/src/components/Switch/index.js +1 -2
  103. package/lib/src/core-components/src/components/Switch/types.js +1 -3
  104. package/lib/src/core-components/src/components/Table/Table.js +1 -1489
  105. package/lib/src/core-components/src/components/Table/columnReorder.js +36 -332
  106. package/lib/src/core-components/src/components/Table/columnResize.js +21 -284
  107. package/lib/src/core-components/src/components/Table/elements.js +173 -277
  108. package/lib/src/core-components/src/components/Table/filters.js +30 -555
  109. package/lib/src/core-components/src/components/Table/hooks.js +2 -536
  110. package/lib/src/core-components/src/components/Table/index.js +1 -6
  111. package/lib/src/core-components/src/components/Table/types.js +1 -1
  112. package/lib/src/core-components/src/components/Tabs/tabs.component.js +1 -22
  113. package/lib/src/core-components/src/components/Tags1/Tags.component.js +1 -118
  114. package/lib/src/core-components/src/components/Tags1/types.js +1 -20
  115. package/lib/src/core-components/src/components/Timer1/timer.component.js +1 -76
  116. package/lib/src/core-components/src/components/Toast/Toast.js +1 -50
  117. package/lib/src/core-components/src/components/Toast/elements.js +41 -122
  118. package/lib/src/core-components/src/components/Toast/index.js +1 -2
  119. package/lib/src/core-components/src/components/Toast/types.js +1 -9
  120. package/lib/src/core-components/src/components/Tooltip/Tooltip.js +1 -200
  121. package/lib/src/core-components/src/components/Tooltip/elements.js +55 -117
  122. package/lib/src/core-components/src/components/Tooltip/index.js +1 -2
  123. package/lib/src/core-components/src/components/Tooltip/types.js +1 -17
  124. package/lib/src/core-components/src/components/Tooltip/utils.js +1 -140
  125. package/lib/src/core-components/src/components/TreeSelect/TreeSelect.js +1 -303
  126. package/lib/src/core-components/src/components/TreeSelect/elements.js +117 -216
  127. package/lib/src/core-components/src/components/TreeSelect/hooks.js +1 -252
  128. package/lib/src/core-components/src/components/TreeSelect/index.js +1 -3
  129. package/lib/src/core-components/src/components/TreeSelect/types.js +1 -1
  130. package/lib/src/core-components/src/components/ag-grid/AgGrid.js +1 -1057
  131. package/lib/src/core-components/src/components/ag-grid/elements.js +396 -790
  132. package/lib/src/core-components/src/components/ag-grid/hooks.js +4 -1220
  133. package/lib/src/core-components/src/components/ag-grid/index.js +1 -15
  134. package/lib/src/core-components/src/components/ag-grid/types.js +1 -6
  135. package/lib/src/core-components/src/components/index.js +1 -31
  136. package/lib/src/core-components/src/components/pdf/pdf-images.components.js +1 -7
  137. package/lib/src/core-components/src/components/pdf/pdf-table.components.js +5 -48
  138. package/lib/src/core-components/src/components/pdf/pdf-typography.components.js +1 -70
  139. package/lib/src/core-components/src/components/pdf/pdf-wrapped-view.components.js +1 -50
  140. package/lib/src/core-components/src/core-components/Avatar.js +4 -33
  141. package/lib/src/core-components/src/core-components/CoreButton/CoreButton.js +1 -10
  142. package/lib/src/core-components/src/core-components/CoreButton/elements.js +67 -176
  143. package/lib/src/core-components/src/core-components/CoreButton/index.js +1 -3
  144. package/lib/src/core-components/src/core-components/CoreButton/types.js +1 -6
  145. package/lib/src/core-components/src/core-components/CoreButton/utils.js +1 -12
  146. package/lib/src/core-components/src/core-components/Divider/Divider.js +4 -19
  147. package/lib/src/core-components/src/core-components/Divider/index.js +1 -1
  148. package/lib/src/core-components/src/core-components/SelectionCardStrip/index.js +1 -1
  149. package/lib/src/core-components/src/core-components/SelectionCardStrip/selectionCardStrip.js +10 -33
  150. package/lib/src/core-components/src/core-components/StateLayer.js +3 -5
  151. package/lib/src/core-components/src/core-components/ToggleCore/elements.js +25 -50
  152. package/lib/src/core-components/src/core-components/ToggleCore/index.js +1 -2
  153. package/lib/src/core-components/src/core-components/ToggleCore/toggleCore.js +1 -14
  154. package/lib/src/core-components/src/core-components/atoms/Input/Input.js +1 -22
  155. package/lib/src/core-components/src/core-components/atoms/Label/Label.js +1 -21
  156. package/lib/src/core-components/src/core-components/atoms/Textarea/Textarea.js +1 -19
  157. package/lib/src/core-components/src/core-components/index.js +1 -3
  158. package/lib/src/core-components/src/helpers/constants.js +1 -11
  159. package/lib/src/core-components/src/hooks/index.js +1 -1
  160. package/lib/src/core-components/src/hooks/outside.hook.js +1 -28
  161. package/lib/src/core-components/src/index.js +1 -12
  162. package/lib/src/core-components/src/tc.global.css +1 -0
  163. package/lib/src/core-components/src/utils/abstracts/breakpoints/index.js +1 -28
  164. package/lib/src/core-components/src/utils/abstracts/colors/index.js +1 -49
  165. package/lib/src/core-components/src/utils/abstracts/index.js +1 -5
  166. package/lib/src/core-components/src/utils/abstracts/space/index.js +1 -26
  167. package/lib/src/core-components/src/utils/abstracts/theme/ThemeBoundary.js +1 -8
  168. package/lib/src/core-components/src/utils/abstracts/theme/default-themes.js +1 -30
  169. package/lib/src/core-components/src/utils/abstracts/theme/index.js +1 -3
  170. package/lib/src/core-components/src/utils/abstracts/theme/theme.js +1 -30
  171. package/lib/src/core-components/src/utils/abstracts/theme/types.js +1 -1
  172. package/lib/src/core-components/src/utils/abstracts/theme/useTheme.js +1 -17
  173. package/lib/src/core-components/src/utils/abstracts/typography/index.js +1 -25
  174. package/lib/src/core-components/src/utils/context/DefaultsProvider.js +1 -8
  175. package/lib/src/core-components/src/utils/context/InternalProvider.js +1 -24
  176. package/lib/src/core-components/src/utils/context/index.js +1 -2
  177. package/lib/src/core-components/src/utils/designTokens.js +1 -128
  178. package/lib/src/core-components/src/utils/helpers/attachSubComponents.js +1 -23
  179. package/lib/src/core-components/src/utils/helpers/flattenChildren.js +1 -11
  180. package/lib/src/core-components/src/utils/helpers/getChildByType.js +1 -3
  181. package/lib/src/core-components/src/utils/helpers/index.js +1 -5
  182. package/lib/src/core-components/src/utils/helpers/isComponentType.js +1 -16
  183. package/lib/src/core-components/src/utils/helpers/separateChildrenByType.js +1 -12
  184. package/lib/src/core-components/src/utils/hooks/index.js +1 -18
  185. package/lib/src/core-components/src/utils/hooks/useClickOutside.js +1 -18
  186. package/lib/src/core-components/src/utils/hooks/useCombinedRefs.js +1 -17
  187. package/lib/src/core-components/src/utils/hooks/useDebouncedCallback.js +1 -12
  188. package/lib/src/core-components/src/utils/hooks/useDebouncedValue.js +1 -20
  189. package/lib/src/core-components/src/utils/hooks/useDeprecation.js +1 -40
  190. package/lib/src/core-components/src/utils/hooks/useDeviceDetect.js +1 -10
  191. package/lib/src/core-components/src/utils/hooks/useDeviceForm.js +1 -24
  192. package/lib/src/core-components/src/utils/hooks/useDisableBodyScroll.js +1 -16
  193. package/lib/src/core-components/src/utils/hooks/useHoverState.js +1 -36
  194. package/lib/src/core-components/src/utils/hooks/useId.js +1 -7
  195. package/lib/src/core-components/src/utils/hooks/useIsBrowser.js +1 -11
  196. package/lib/src/core-components/src/utils/hooks/useMediaQuery.js +1 -16
  197. package/lib/src/core-components/src/utils/hooks/useOverflow.js +1 -22
  198. package/lib/src/core-components/src/utils/hooks/useSafeLayoutEffect.js +1 -5
  199. package/lib/src/core-components/src/utils/hooks/useScrollingUp.js +1 -18
  200. package/lib/src/core-components/src/utils/hooks/useTrapFocus.js +1 -30
  201. package/lib/src/core-components/src/utils/hooks/useWindowDimensions.js +1 -23
  202. package/lib/src/core-components/src/utils/index.js +1 -9
  203. package/lib/src/core-components/src/utils/stories/Wrappers.js +8 -23
  204. package/lib/src/core-components/src/utils/stories/cleanProps.js +1 -5
  205. package/lib/src/core-components/src/utils/stories/index.js +1 -4
  206. package/lib/src/core-components/src/utils/stories/sleep.js +1 -4
  207. package/lib/src/core-components/src/utils/stories/view-ports.js +1 -50
  208. package/lib/src/core-components/src/utils/styling/calcWidthOfColumns.js +1 -5
  209. package/lib/src/core-components/src/utils/styling/createGridContainer.js +6 -12
  210. package/lib/src/core-components/src/utils/styling/createTransition.js +2 -7
  211. package/lib/src/core-components/src/utils/styling/forwardProps.js +1 -10
  212. package/lib/src/core-components/src/utils/styling/index.js +1 -5
  213. package/lib/src/core-components/src/utils/styling/pxToRem.js +1 -6
  214. package/lib/src/core-components/src/utils/testing/getComputedStyle.js +1 -3
  215. package/lib/src/core-components/src/utils/testing/index.js +1 -1
  216. package/lib/src/core-components/src/utils/utility.util.js +1 -14
  217. package/lib/src/core-components/tailwind.config.js +1 -233
  218. package/lib/src/core-hooks/index.js +1 -3
  219. package/lib/src/core-hooks/src/useClickOutside/useClickOutside.hook.js +1 -46
  220. package/lib/src/core-hooks/src/useDebounce/useDebounce.hook.js +1 -30
  221. package/lib/src/core-hooks/src/usePreventEKey/usePreventEKey.hook.js +1 -8
  222. package/lib/src/core-utils/index.js +1 -7
  223. package/lib/src/core-utils/src/calculation/calculation.util.js +1 -89
  224. package/lib/src/core-utils/src/colors/color.util.js +1 -15
  225. package/lib/src/core-utils/src/convert/numberToWords/numToWords.util.js +1 -145
  226. package/lib/src/core-utils/src/convert/typography/camelCaseToTitleCase.util.js +1 -5
  227. package/lib/src/core-utils/src/form-helper/form-helper.util.js +1 -82
  228. package/lib/src/core-utils/src/index.js +1 -7
  229. package/lib/src/core-utils/src/utility/utility.util.js +1 -12
  230. package/lib/src/core-utils/src/uuid/uuid.util.js +1 -8
  231. package/package.json +1 -1
@@ -1,174 +1,19 @@
1
- /**
2
- * AG Grid Styled Components
3
- * Beautiful, responsive styled components for the AG Grid-like table
4
- */
5
- import { styled, css, keyframes } from 'styled-components';
6
- // ============================================================================
7
- // Theme Definitions
8
- // ============================================================================
9
- const themes = {
10
- alpine: {
11
- backgroundColor: '#ffffff',
12
- headerBackgroundColor: '#f8f8f8',
13
- oddRowBackgroundColor: '#fcfcfc',
14
- borderColor: '#dde2eb',
15
- selectedRowBackgroundColor: '#b7e4ff',
16
- hoverRowBackgroundColor: '#ecf0f1',
17
- textColor: '#181d1f',
18
- headerTextColor: '#181d1f',
19
- accentColor: '#2196f3',
20
- cellPadding: '0 12px',
21
- headerPadding: '0 12px',
22
- fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
23
- fontSize: '13px',
24
- headerFontSize: '13px',
25
- headerFontWeight: '600',
26
- borderRadius: '0',
27
- cellBorderWidth: '1px',
28
- },
29
- 'alpine-dark': {
30
- backgroundColor: '#181d1f',
31
- headerBackgroundColor: '#222628',
32
- oddRowBackgroundColor: '#1f2426',
33
- borderColor: '#3d4749',
34
- selectedRowBackgroundColor: '#005880',
35
- hoverRowBackgroundColor: '#2d3436',
36
- textColor: '#f0f0f0',
37
- headerTextColor: '#f0f0f0',
38
- accentColor: '#2196f3',
39
- cellPadding: '0 12px',
40
- headerPadding: '0 12px',
41
- fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
42
- fontSize: '13px',
43
- headerFontSize: '13px',
44
- headerFontWeight: '600',
45
- borderRadius: '0',
46
- cellBorderWidth: '1px',
47
- },
48
- balham: {
49
- backgroundColor: '#ffffff',
50
- headerBackgroundColor: '#f5f7f7',
51
- oddRowBackgroundColor: '#fcfdfd',
52
- borderColor: '#bdc3c7',
53
- selectedRowBackgroundColor: '#b7e4ff',
54
- hoverRowBackgroundColor: '#ecf0f1',
55
- textColor: '#000000',
56
- headerTextColor: '#000000',
57
- accentColor: '#0091ea',
58
- cellPadding: '0 4px',
59
- headerPadding: '0 4px',
60
- fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
61
- fontSize: '12px',
62
- headerFontSize: '12px',
63
- headerFontWeight: '600',
64
- borderRadius: '0',
65
- cellBorderWidth: '1px',
66
- },
67
- 'balham-dark': {
68
- backgroundColor: '#2d3436',
69
- headerBackgroundColor: '#1e272c',
70
- oddRowBackgroundColor: '#32393c',
71
- borderColor: '#424a4d',
72
- selectedRowBackgroundColor: '#005880',
73
- hoverRowBackgroundColor: '#3d4749',
74
- textColor: '#f0f0f0',
75
- headerTextColor: '#f0f0f0',
76
- accentColor: '#0091ea',
77
- cellPadding: '0 4px',
78
- headerPadding: '0 4px',
79
- fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
80
- fontSize: '12px',
81
- headerFontSize: '12px',
82
- headerFontWeight: '600',
83
- borderRadius: '0',
84
- cellBorderWidth: '1px',
85
- },
86
- material: {
87
- backgroundColor: '#ffffff',
88
- headerBackgroundColor: '#fafafa',
89
- oddRowBackgroundColor: '#ffffff',
90
- borderColor: '#e0e0e0',
91
- selectedRowBackgroundColor: '#e3f2fd',
92
- hoverRowBackgroundColor: '#f5f5f5',
93
- textColor: 'rgba(0, 0, 0, 0.87)',
94
- headerTextColor: 'rgba(0, 0, 0, 0.54)',
95
- accentColor: '#3f51b5',
96
- cellPadding: '0 24px 0 24px',
97
- headerPadding: '0 24px 0 24px',
98
- fontFamily: 'Roboto, "Helvetica Neue", sans-serif',
99
- fontSize: '14px',
100
- headerFontSize: '12px',
101
- headerFontWeight: '500',
102
- borderRadius: '0',
103
- cellBorderWidth: '1px',
104
- },
105
- quartz: {
106
- backgroundColor: '#ffffff',
107
- headerBackgroundColor: '#ffffff',
108
- oddRowBackgroundColor: '#fafafa',
109
- borderColor: '#e2e8f0',
110
- selectedRowBackgroundColor: '#dbeafe',
111
- hoverRowBackgroundColor: '#f1f5f9',
112
- textColor: '#1e293b',
113
- headerTextColor: '#475569',
114
- accentColor: '#3b82f6',
115
- cellPadding: '0 16px',
116
- headerPadding: '0 16px',
117
- fontFamily: 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
118
- fontSize: '14px',
119
- headerFontSize: '12px',
120
- headerFontWeight: '600',
121
- borderRadius: '8px',
122
- cellBorderWidth: '1px',
123
- },
124
- 'quartz-dark': {
125
- backgroundColor: '#0f172a',
126
- headerBackgroundColor: '#1e293b',
127
- oddRowBackgroundColor: '#1e293b',
128
- borderColor: '#334155',
129
- selectedRowBackgroundColor: '#1e3a5f',
130
- hoverRowBackgroundColor: '#334155',
131
- textColor: '#e2e8f0',
132
- headerTextColor: '#94a3b8',
133
- accentColor: '#3b82f6',
134
- cellPadding: '0 16px',
135
- headerPadding: '0 16px',
136
- fontFamily: 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
137
- fontSize: '14px',
138
- headerFontSize: '12px',
139
- headerFontWeight: '600',
140
- borderRadius: '8px',
141
- cellBorderWidth: '1px',
142
- },
143
- };
144
- export const getTheme = (variant, custom) => ({
145
- ...themes[variant],
146
- ...custom,
147
- });
148
- // ============================================================================
149
- // Animations
150
- // ============================================================================
151
- const fadeIn = keyframes `
1
+ "use strict";import{styled as e,css as t,keyframes as n}from"styled-components";const a={alpine:{backgroundColor:"#ffffff",headerBackgroundColor:"#f8f8f8",oddRowBackgroundColor:"#fcfcfc",borderColor:"#dde2eb",selectedRowBackgroundColor:"#b7e4ff",hoverRowBackgroundColor:"#ecf0f1",textColor:"#181d1f",headerTextColor:"#181d1f",accentColor:"#2196f3",cellPadding:"0 12px",headerPadding:"0 12px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',fontSize:"13px",headerFontSize:"13px",headerFontWeight:"600",borderRadius:"0",cellBorderWidth:"1px"},"alpine-dark":{backgroundColor:"#181d1f",headerBackgroundColor:"#222628",oddRowBackgroundColor:"#1f2426",borderColor:"#3d4749",selectedRowBackgroundColor:"#005880",hoverRowBackgroundColor:"#2d3436",textColor:"#f0f0f0",headerTextColor:"#f0f0f0",accentColor:"#2196f3",cellPadding:"0 12px",headerPadding:"0 12px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',fontSize:"13px",headerFontSize:"13px",headerFontWeight:"600",borderRadius:"0",cellBorderWidth:"1px"},balham:{backgroundColor:"#ffffff",headerBackgroundColor:"#f5f7f7",oddRowBackgroundColor:"#fcfdfd",borderColor:"#bdc3c7",selectedRowBackgroundColor:"#b7e4ff",hoverRowBackgroundColor:"#ecf0f1",textColor:"#000000",headerTextColor:"#000000",accentColor:"#0091ea",cellPadding:"0 4px",headerPadding:"0 4px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',fontSize:"12px",headerFontSize:"12px",headerFontWeight:"600",borderRadius:"0",cellBorderWidth:"1px"},"balham-dark":{backgroundColor:"#2d3436",headerBackgroundColor:"#1e272c",oddRowBackgroundColor:"#32393c",borderColor:"#424a4d",selectedRowBackgroundColor:"#005880",hoverRowBackgroundColor:"#3d4749",textColor:"#f0f0f0",headerTextColor:"#f0f0f0",accentColor:"#0091ea",cellPadding:"0 4px",headerPadding:"0 4px",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',fontSize:"12px",headerFontSize:"12px",headerFontWeight:"600",borderRadius:"0",cellBorderWidth:"1px"},material:{backgroundColor:"#ffffff",headerBackgroundColor:"#fafafa",oddRowBackgroundColor:"#ffffff",borderColor:"#e0e0e0",selectedRowBackgroundColor:"#e3f2fd",hoverRowBackgroundColor:"#f5f5f5",textColor:"rgba(0, 0, 0, 0.87)",headerTextColor:"rgba(0, 0, 0, 0.54)",accentColor:"#3f51b5",cellPadding:"0 24px 0 24px",headerPadding:"0 24px 0 24px",fontFamily:'Roboto, "Helvetica Neue", sans-serif',fontSize:"14px",headerFontSize:"12px",headerFontWeight:"500",borderRadius:"0",cellBorderWidth:"1px"},quartz:{backgroundColor:"#ffffff",headerBackgroundColor:"#ffffff",oddRowBackgroundColor:"#fafafa",borderColor:"#e2e8f0",selectedRowBackgroundColor:"#dbeafe",hoverRowBackgroundColor:"#f1f5f9",textColor:"#1e293b",headerTextColor:"#475569",accentColor:"#3b82f6",cellPadding:"0 16px",headerPadding:"0 16px",fontFamily:'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"14px",headerFontSize:"12px",headerFontWeight:"600",borderRadius:"8px",cellBorderWidth:"1px"},"quartz-dark":{backgroundColor:"#0f172a",headerBackgroundColor:"#1e293b",oddRowBackgroundColor:"#1e293b",borderColor:"#334155",selectedRowBackgroundColor:"#1e3a5f",hoverRowBackgroundColor:"#334155",textColor:"#e2e8f0",headerTextColor:"#94a3b8",accentColor:"#3b82f6",cellPadding:"0 16px",headerPadding:"0 16px",fontFamily:'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',fontSize:"14px",headerFontSize:"12px",headerFontWeight:"600",borderRadius:"8px",cellBorderWidth:"1px"}};export const getTheme=(o,r)=>({...a[o],...r});const i=n`
152
2
  from { opacity: 0; }
153
3
  to { opacity: 1; }
154
- `;
155
- const slideInRight = keyframes `
4
+ `,s=n`
156
5
  from { transform: translateX(10px); opacity: 0; }
157
6
  to { transform: translateX(0); opacity: 1; }
158
- `;
159
- const pulse = keyframes `
7
+ `,h=n`
160
8
  0%, 100% { opacity: 1; }
161
9
  50% { opacity: 0.5; }
162
- `;
163
- const shimmer = keyframes `
10
+ `,x=n`
164
11
  0% { background-position: -200% 0; }
165
12
  100% { background-position: 200% 0; }
166
- `;
167
- const spin = keyframes `
13
+ `,g=n`
168
14
  from { transform: rotate(0deg); }
169
15
  to { transform: rotate(360deg); }
170
- `;
171
- const rowEnter = keyframes `
16
+ `,b=n`
172
17
  from {
173
18
  opacity: 0;
174
19
  transform: translateY(-4px);
@@ -177,25 +22,20 @@ const rowEnter = keyframes `
177
22
  opacity: 1;
178
23
  transform: translateY(0);
179
24
  }
180
- `;
181
- const cellFlash = keyframes `
25
+ `,f=n`
182
26
  0% { background-color: rgba(76, 175, 80, 0.4); }
183
27
  100% { background-color: transparent; }
184
- `;
185
- // ============================================================================
186
- // Grid Container
187
- // ============================================================================
188
- export const GridRoot = styled.div `
28
+ `;export const GridRoot=e.div`
189
29
  display: flex;
190
30
  flex-direction: column;
191
31
  width: 100%;
192
32
  height: 100%;
193
- background-color: ${({ $theme }) => $theme.backgroundColor};
194
- font-family: ${({ $theme }) => $theme.fontFamily};
195
- font-size: ${({ $theme }) => $theme.fontSize};
196
- color: ${({ $theme }) => $theme.textColor};
197
- border: 1px solid ${({ $theme }) => $theme.borderColor};
198
- border-radius: ${({ $theme }) => $theme.borderRadius};
33
+ background-color: ${({$theme:o})=>o.backgroundColor};
34
+ font-family: ${({$theme:o})=>o.fontFamily};
35
+ font-size: ${({$theme:o})=>o.fontSize};
36
+ color: ${({$theme:o})=>o.textColor};
37
+ border: 1px solid ${({$theme:o})=>o.borderColor};
38
+ border-radius: ${({$theme:o})=>o.borderRadius};
199
39
  overflow: hidden;
200
40
  position: relative;
201
41
 
@@ -204,33 +44,27 @@ export const GridRoot = styled.div `
204
44
  }
205
45
 
206
46
  /* Responsive styles */
207
- ${({ $responsive }) => $responsive &&
208
- css `
47
+ ${({$responsive:o})=>o&&t`
209
48
  @media (max-width: 768px) {
210
49
  border-radius: 0;
211
50
  border-left: none;
212
51
  border-right: none;
213
52
  }
214
53
  `}
215
- `;
216
- export const GridWrapper = styled.div `
54
+ `,GridWrapper=e.div`
217
55
  display: flex;
218
56
  flex-direction: column;
219
57
  flex: 1;
220
58
  min-height: 0;
221
59
  overflow: hidden;
222
- `;
223
- // ============================================================================
224
- // Toolbar / Header Area
225
- // ============================================================================
226
- export const GridToolbar = styled.div `
60
+ `,GridToolbar=e.div`
227
61
  display: flex;
228
62
  align-items: center;
229
63
  justify-content: space-between;
230
64
  gap: 12px;
231
65
  padding: 8px 12px;
232
- background: ${({ $theme }) => $theme.headerBackgroundColor};
233
- border-bottom: 1px solid ${({ $theme }) => $theme.borderColor};
66
+ background: ${({$theme:o})=>o.headerBackgroundColor};
67
+ border-bottom: 1px solid ${({$theme:o})=>o.borderColor};
234
68
  flex-wrap: wrap;
235
69
 
236
70
  @media (max-width: 640px) {
@@ -238,14 +72,12 @@ export const GridToolbar = styled.div `
238
72
  align-items: stretch;
239
73
  gap: 8px;
240
74
  }
241
- `;
242
- export const ToolbarGroup = styled.div `
75
+ `,ToolbarGroup=e.div`
243
76
  display: flex;
244
77
  align-items: center;
245
78
  gap: 8px;
246
79
  flex-wrap: wrap;
247
- `;
248
- export const ToolbarButton = styled.button `
80
+ `,ToolbarButton=e.button`
249
81
  display: inline-flex;
250
82
  align-items: center;
251
83
  justify-content: center;
@@ -254,17 +86,16 @@ export const ToolbarButton = styled.button `
254
86
  font-size: 13px;
255
87
  font-weight: 500;
256
88
  border-radius: 4px;
257
- border: 1px solid ${({ $theme }) => $theme.borderColor};
258
- background: ${({ $theme, $active }) => ($active ? $theme.accentColor : $theme.backgroundColor)};
259
- color: ${({ $theme, $active }) => ($active ? '#ffffff' : $theme.textColor)};
89
+ border: 1px solid ${({$theme:o})=>o.borderColor};
90
+ background: ${({$theme:o,$active:r})=>r?o.accentColor:o.backgroundColor};
91
+ color: ${({$theme:o,$active:r})=>r?"#ffffff":o.textColor};
260
92
  cursor: pointer;
261
93
  transition: all 0.15s ease;
262
94
  white-space: nowrap;
263
95
 
264
- ${({ $variant, $theme }) => $variant === 'primary' &&
265
- css `
266
- background: ${$theme.accentColor};
267
- border-color: ${$theme.accentColor};
96
+ ${({$variant:o,$theme:r})=>o==="primary"&&t`
97
+ background: ${r.accentColor};
98
+ border-color: ${r.accentColor};
268
99
  color: #ffffff;
269
100
 
270
101
  &:hover {
@@ -272,8 +103,7 @@ export const ToolbarButton = styled.button `
272
103
  }
273
104
  `}
274
105
 
275
- ${({ $variant }) => $variant === 'danger' &&
276
- css `
106
+ ${({$variant:o})=>o==="danger"&&t`
277
107
  background: #ef4444;
278
108
  border-color: #ef4444;
279
109
  color: #ffffff;
@@ -285,7 +115,7 @@ export const ToolbarButton = styled.button `
285
115
  `}
286
116
 
287
117
  &:hover:not(:disabled) {
288
- background: ${({ $theme, $active }) => ($active ? $theme.accentColor : $theme.hoverRowBackgroundColor)};
118
+ background: ${({$theme:o,$active:r})=>r?o.accentColor:o.hoverRowBackgroundColor};
289
119
  }
290
120
 
291
121
  &:disabled {
@@ -297,8 +127,7 @@ export const ToolbarButton = styled.button `
297
127
  width: 16px;
298
128
  height: 16px;
299
129
  }
300
- `;
301
- export const QuickFilter = styled.div `
130
+ `,QuickFilter=e.div`
302
131
  position: relative;
303
132
  display: flex;
304
133
  align-items: center;
@@ -307,21 +136,21 @@ export const QuickFilter = styled.div `
307
136
  width: 220px;
308
137
  padding: 6px 12px 6px 32px;
309
138
  font-size: 13px;
310
- border: 1px solid ${({ $theme }) => $theme.borderColor};
139
+ border: 1px solid ${({$theme:o})=>o.borderColor};
311
140
  border-radius: 4px;
312
- background: ${({ $theme }) => $theme.backgroundColor};
313
- color: ${({ $theme }) => $theme.textColor};
141
+ background: ${({$theme:o})=>o.backgroundColor};
142
+ color: ${({$theme:o})=>o.textColor};
314
143
  outline: none;
315
144
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
316
145
 
317
146
  &::placeholder {
318
- color: ${({ $theme }) => $theme.headerTextColor};
147
+ color: ${({$theme:o})=>o.headerTextColor};
319
148
  opacity: 0.6;
320
149
  }
321
150
 
322
151
  &:focus {
323
- border-color: ${({ $theme }) => $theme.accentColor};
324
- box-shadow: 0 0 0 3px ${({ $theme }) => $theme.accentColor}20;
152
+ border-color: ${({$theme:o})=>o.accentColor};
153
+ box-shadow: 0 0 0 3px ${({$theme:o})=>o.accentColor}20;
325
154
  }
326
155
 
327
156
  @media (max-width: 640px) {
@@ -334,54 +163,41 @@ export const QuickFilter = styled.div `
334
163
  left: 10px;
335
164
  width: 14px;
336
165
  height: 14px;
337
- color: ${({ $theme }) => $theme.headerTextColor};
166
+ color: ${({$theme:o})=>o.headerTextColor};
338
167
  opacity: 0.6;
339
168
  }
340
- `;
341
- // ============================================================================
342
- // Table Container
343
- // ============================================================================
344
- export const TableContainer = styled.div `
169
+ `,TableContainer=e.div`
345
170
  flex: 1;
346
171
  overflow: auto;
347
172
  position: relative;
348
173
  min-height: 0;
349
174
 
350
- ${({ $maxHeight }) => $maxHeight &&
351
- css `
352
- max-height: ${typeof $maxHeight === 'number' ? `${$maxHeight}px` : $maxHeight};
175
+ ${({$maxHeight:o})=>o&&t`
176
+ max-height: ${typeof o=="number"?`${o}px`:o};
353
177
  `}
354
- `;
355
- export const StyledTable = styled.table `
178
+ `,StyledTable=e.table`
356
179
  width: 100%;
357
180
  border-collapse: collapse;
358
- table-layout: ${({ $fixedLayout }) => ($fixedLayout ? 'fixed' : 'auto')};
359
- color: ${({ $theme }) => $theme.textColor};
360
- `;
361
- // ============================================================================
362
- // Header
363
- // ============================================================================
364
- export const TableHead = styled.thead `
365
- ${({ $sticky, $theme }) => $sticky &&
366
- css `
181
+ table-layout: ${({$fixedLayout:o})=>o?"fixed":"auto"};
182
+ color: ${({$theme:o})=>o.textColor};
183
+ `,TableHead=e.thead`
184
+ ${({$sticky:o,$theme:r})=>o&&t`
367
185
  position: sticky;
368
186
  top: 0;
369
187
  z-index: 10;
370
- background: ${$theme.headerBackgroundColor};
188
+ background: ${r.headerBackgroundColor};
371
189
  `}
372
- `;
373
- export const HeaderRow = styled.tr `
374
- background: ${({ $theme }) => $theme.headerBackgroundColor};
375
- height: ${({ $height }) => ($height ? `${$height}px` : '42px')};
376
- `;
377
- export const HeaderCell = styled.th `
378
- padding: ${({ $theme }) => $theme.headerPadding};
379
- text-align: ${({ $align }) => $align || 'left'};
380
- font-size: ${({ $theme }) => $theme.headerFontSize};
381
- font-weight: ${({ $theme }) => $theme.headerFontWeight};
382
- color: ${({ $theme }) => $theme.headerTextColor};
383
- border-bottom: 2px solid ${({ $theme }) => $theme.borderColor};
384
- border-right: 1px solid ${({ $theme }) => $theme.borderColor};
190
+ `,HeaderRow=e.tr`
191
+ background: ${({$theme:o})=>o.headerBackgroundColor};
192
+ height: ${({$height:o})=>o?`${o}px`:"42px"};
193
+ `,HeaderCell=e.th`
194
+ padding: ${({$theme:o})=>o.headerPadding};
195
+ text-align: ${({$align:o})=>o||"left"};
196
+ font-size: ${({$theme:o})=>o.headerFontSize};
197
+ font-weight: ${({$theme:o})=>o.headerFontWeight};
198
+ color: ${({$theme:o})=>o.headerTextColor};
199
+ border-bottom: 2px solid ${({$theme:o})=>o.borderColor};
200
+ border-right: 1px solid ${({$theme:o})=>o.borderColor};
385
201
  white-space: nowrap;
386
202
  overflow: hidden;
387
203
  text-overflow: ellipsis;
@@ -391,86 +207,78 @@ export const HeaderCell = styled.th `
391
207
  text-transform: uppercase;
392
208
  letter-spacing: 0.5px;
393
209
 
394
- ${({ $width }) => $width && css `width: ${$width}px;`}
395
- ${({ $minWidth }) => $minWidth && css `min-width: ${$minWidth}px;`}
396
- ${({ $maxWidth }) => $maxWidth && css `max-width: ${$maxWidth}px;`}
210
+ ${({$width:o})=>o&&t`width: ${o}px;`}
211
+ ${({$minWidth:o})=>o&&t`min-width: ${o}px;`}
212
+ ${({$maxWidth:o})=>o&&t`max-width: ${o}px;`}
397
213
 
398
- ${({ $sortable, $theme }) => $sortable &&
399
- css `
214
+ ${({$sortable:o,$theme:r})=>o&&t`
400
215
  cursor: pointer;
401
216
 
402
217
  &:hover {
403
- background: ${$theme.hoverRowBackgroundColor};
218
+ background: ${r.hoverRowBackgroundColor};
404
219
  }
405
220
  `}
406
221
 
407
- ${({ $sorted, $theme }) => $sorted &&
408
- css `
409
- background: ${$theme.selectedRowBackgroundColor}40;
222
+ ${({$sorted:o,$theme:r})=>o&&t`
223
+ background: ${r.selectedRowBackgroundColor}40;
410
224
  `}
411
225
 
412
- ${({ $pinned, $theme }) => $pinned &&
413
- css `
226
+ ${({$pinned:o,$theme:r})=>o&&t`
414
227
  position: sticky;
415
- ${$pinned === 'left' ? 'left: 0;' : 'right: 0;'}
228
+ ${o==="left"?"left: 0;":"right: 0;"}
416
229
  z-index: 11;
417
- background: ${$theme.headerBackgroundColor};
418
- box-shadow: ${$pinned === 'left' ? '2px 0 4px rgba(0,0,0,0.1)' : '-2px 0 4px rgba(0,0,0,0.1)'};
230
+ background: ${r.headerBackgroundColor};
231
+ box-shadow: ${o==="left"?"2px 0 4px rgba(0,0,0,0.1)":"-2px 0 4px rgba(0,0,0,0.1)"};
419
232
  `}
420
233
 
421
234
  &:last-child {
422
235
  border-right: none;
423
236
  }
424
- `;
425
- export const HeaderCellContent = styled.div `
237
+ `,HeaderCellContent=e.div`
426
238
  display: flex;
427
239
  align-items: center;
428
240
  gap: 6px;
429
241
  min-height: 24px;
430
- `;
431
- export const HeaderText = styled.span `
242
+ `,HeaderText=e.span`
432
243
  flex: 1;
433
244
  overflow: hidden;
434
245
  text-overflow: ellipsis;
435
- `;
436
- export const SortIndicator = styled.span `
246
+ `,SortIndicator=e.span`
437
247
  display: flex;
438
248
  align-items: center;
439
249
  justify-content: center;
440
250
  width: 18px;
441
251
  height: 18px;
442
- opacity: ${({ $active }) => ($active ? 1 : 0.3)};
252
+ opacity: ${({$active:o})=>o?1:.3};
443
253
  transition: opacity 0.15s ease, transform 0.2s ease;
444
254
 
445
255
  svg {
446
256
  width: 14px;
447
257
  height: 14px;
448
258
  transition: transform 0.2s ease;
449
- transform: ${({ $direction }) => ($direction === 'desc' ? 'rotate(180deg)' : 'rotate(0deg)')};
259
+ transform: ${({$direction:o})=>o==="desc"?"rotate(180deg)":"rotate(0deg)"};
450
260
  }
451
- `;
452
- export const FilterIndicator = styled.span `
261
+ `,FilterIndicator=e.span`
453
262
  display: flex;
454
263
  align-items: center;
455
264
  justify-content: center;
456
265
  width: 18px;
457
266
  height: 18px;
458
267
  border-radius: 3px;
459
- color: ${({ $active, $theme }) => ($active ? $theme.accentColor : $theme.headerTextColor)};
460
- opacity: ${({ $active }) => ($active ? 1 : 0.4)};
268
+ color: ${({$active:o,$theme:r})=>o?r.accentColor:r.headerTextColor};
269
+ opacity: ${({$active:o})=>o?1:.4};
461
270
  transition: all 0.15s ease;
462
271
 
463
272
  &:hover {
464
273
  opacity: 1;
465
- background: ${({ $theme }) => $theme.hoverRowBackgroundColor};
274
+ background: ${({$theme:o})=>o.hoverRowBackgroundColor};
466
275
  }
467
276
 
468
277
  svg {
469
278
  width: 12px;
470
279
  height: 12px;
471
280
  }
472
- `;
473
- export const ResizeHandle = styled.div `
281
+ `,ResizeHandle=e.div`
474
282
  position: absolute;
475
283
  right: 0;
476
284
  top: 0;
@@ -480,13 +288,12 @@ export const ResizeHandle = styled.div `
480
288
  z-index: 1;
481
289
  transition: background-color 0.15s ease;
482
290
 
483
- ${({ $resizing, $theme }) => $resizing &&
484
- css `
485
- background: ${$theme.accentColor};
291
+ ${({$resizing:o,$theme:r})=>o&&t`
292
+ background: ${r.accentColor};
486
293
  `}
487
294
 
488
295
  &:hover {
489
- background: ${({ $theme }) => $theme.accentColor}60;
296
+ background: ${({$theme:o})=>o.accentColor}60;
490
297
  }
491
298
 
492
299
  &::after {
@@ -496,43 +303,33 @@ export const ResizeHandle = styled.div `
496
303
  top: 25%;
497
304
  height: 50%;
498
305
  width: 2px;
499
- background: ${({ $theme }) => $theme.borderColor};
306
+ background: ${({$theme:o})=>o.borderColor};
500
307
  border-radius: 1px;
501
308
  }
502
- `;
503
- // ============================================================================
504
- // Column Group Header
505
- // ============================================================================
506
- export const GroupHeaderRow = styled.tr `
507
- background: ${({ $theme }) => $theme.headerBackgroundColor};
508
- `;
509
- export const GroupHeaderCell = styled.th `
510
- padding: ${({ $theme }) => $theme.headerPadding};
309
+ `,GroupHeaderRow=e.tr`
310
+ background: ${({$theme:o})=>o.headerBackgroundColor};
311
+ `,GroupHeaderCell=e.th`
312
+ padding: ${({$theme:o})=>o.headerPadding};
511
313
  text-align: center;
512
- font-size: ${({ $theme }) => $theme.headerFontSize};
513
- font-weight: ${({ $theme }) => $theme.headerFontWeight};
514
- color: ${({ $theme }) => $theme.headerTextColor};
515
- border-bottom: 1px solid ${({ $theme }) => $theme.borderColor};
516
- border-right: 1px solid ${({ $theme }) => $theme.borderColor};
517
- background: ${({ $theme }) => $theme.headerBackgroundColor};
314
+ font-size: ${({$theme:o})=>o.headerFontSize};
315
+ font-weight: ${({$theme:o})=>o.headerFontWeight};
316
+ color: ${({$theme:o})=>o.headerTextColor};
317
+ border-bottom: 1px solid ${({$theme:o})=>o.borderColor};
318
+ border-right: 1px solid ${({$theme:o})=>o.borderColor};
319
+ background: ${({$theme:o})=>o.headerBackgroundColor};
518
320
  text-transform: uppercase;
519
321
  letter-spacing: 0.5px;
520
322
 
521
323
  &:last-child {
522
324
  border-right: none;
523
325
  }
524
- `;
525
- // ============================================================================
526
- // Floating Filter Row
527
- // ============================================================================
528
- export const FloatingFilterRow = styled.tr `
529
- background: ${({ $theme }) => $theme.headerBackgroundColor};
530
- height: ${({ $height }) => ($height ? `${$height}px` : '32px')};
531
- `;
532
- export const FloatingFilterCell = styled.td `
326
+ `,FloatingFilterRow=e.tr`
327
+ background: ${({$theme:o})=>o.headerBackgroundColor};
328
+ height: ${({$height:o})=>o?`${o}px`:"32px"};
329
+ `,FloatingFilterCell=e.td`
533
330
  padding: 4px 8px;
534
- border-bottom: 1px solid ${({ $theme }) => $theme.borderColor};
535
- border-right: 1px solid ${({ $theme }) => $theme.borderColor};
331
+ border-bottom: 1px solid ${({$theme:o})=>o.borderColor};
332
+ border-right: 1px solid ${({$theme:o})=>o.borderColor};
536
333
  vertical-align: middle;
537
334
 
538
335
  &:last-child {
@@ -544,149 +341,115 @@ export const FloatingFilterCell = styled.td `
544
341
  width: 100%;
545
342
  padding: 4px 8px;
546
343
  font-size: 12px;
547
- border: 1px solid ${({ $theme }) => $theme.borderColor};
344
+ border: 1px solid ${({$theme:o})=>o.borderColor};
548
345
  border-radius: 3px;
549
- background: ${({ $theme }) => $theme.backgroundColor};
550
- color: ${({ $theme }) => $theme.textColor};
346
+ background: ${({$theme:o})=>o.backgroundColor};
347
+ color: ${({$theme:o})=>o.textColor};
551
348
  outline: none;
552
349
 
553
350
  &:focus {
554
- border-color: ${({ $theme }) => $theme.accentColor};
351
+ border-color: ${({$theme:o})=>o.accentColor};
555
352
  }
556
353
  }
557
- `;
558
- // ============================================================================
559
- // Body
560
- // ============================================================================
561
- export const TableBody = styled.tbody `
562
- color: ${({ $theme }) => $theme.textColor};
563
- `;
564
- export const TableRow = styled.tr `
565
- height: ${({ $height }) => ($height ? `${$height}px` : '42px')};
566
- color: ${({ $theme }) => $theme.textColor};
567
- background: ${({ $theme, $selected, $highlighted, $striped, $even, $group }) => {
568
- if ($selected)
569
- return $theme.selectedRowBackgroundColor;
570
- if ($highlighted)
571
- return `${$theme.accentColor}20`;
572
- if ($group)
573
- return $theme.headerBackgroundColor;
574
- if ($striped && $even)
575
- return $theme.oddRowBackgroundColor;
576
- return $theme.backgroundColor;
577
- }};
354
+ `,TableBody=e.tbody`
355
+ color: ${({$theme:o})=>o.textColor};
356
+ `,TableRow=e.tr`
357
+ height: ${({$height:o})=>o?`${o}px`:"42px"};
358
+ color: ${({$theme:o})=>o.textColor};
359
+ background: ${({$theme:o,$selected:r,$highlighted:d,$striped:l,$even:p,$group:c})=>r?o.selectedRowBackgroundColor:d?`${o.accentColor}20`:c?o.headerBackgroundColor:l&&p?o.oddRowBackgroundColor:o.backgroundColor};
578
360
  transition: background-color 0.15s ease;
579
361
 
580
- ${({ $animate }) => $animate &&
581
- css `
582
- animation: ${rowEnter} 0.2s ease;
362
+ ${({$animate:o})=>o&&t`
363
+ animation: ${b} 0.2s ease;
583
364
  `}
584
365
 
585
- ${({ $dragging }) => $dragging &&
586
- css `
366
+ ${({$dragging:o})=>o&&t`
587
367
  opacity: 0.5;
588
368
  `}
589
369
 
590
- ${({ $dragOver, $theme }) => $dragOver &&
591
- css `
592
- background: ${$theme.selectedRowBackgroundColor}60;
593
- box-shadow: inset 0 -2px 0 ${$theme.accentColor};
370
+ ${({$dragOver:o,$theme:r})=>o&&t`
371
+ background: ${r.selectedRowBackgroundColor}60;
372
+ box-shadow: inset 0 -2px 0 ${r.accentColor};
594
373
  `}
595
374
 
596
375
  &:hover {
597
- background: ${({ $theme, $selected }) => $selected ? $theme.selectedRowBackgroundColor : $theme.hoverRowBackgroundColor};
376
+ background: ${({$theme:o,$selected:r})=>r?o.selectedRowBackgroundColor:o.hoverRowBackgroundColor};
598
377
  }
599
378
 
600
- ${({ $group }) => $group &&
601
- css `
379
+ ${({$group:o})=>o&&t`
602
380
  cursor: pointer;
603
381
  font-weight: 600;
604
382
  `}
605
- `;
606
- export const TableCell = styled.td `
607
- padding: ${({ $theme }) => $theme.cellPadding};
608
- text-align: ${({ $align }) => $align || 'left'};
609
- border-bottom: ${({ $theme }) => $theme.cellBorderWidth} solid ${({ $theme }) => $theme.borderColor};
610
- border-right: ${({ $theme }) => $theme.cellBorderWidth} solid ${({ $theme }) => $theme.borderColor};
383
+ `,TableCell=e.td`
384
+ padding: ${({$theme:o})=>o.cellPadding};
385
+ text-align: ${({$align:o})=>o||"left"};
386
+ border-bottom: ${({$theme:o})=>o.cellBorderWidth} solid ${({$theme:o})=>o.borderColor};
387
+ border-right: ${({$theme:o})=>o.cellBorderWidth} solid ${({$theme:o})=>o.borderColor};
611
388
  vertical-align: middle;
612
389
  overflow: hidden;
613
390
  text-overflow: ellipsis;
614
391
  white-space: nowrap;
615
- color: ${({ $theme }) => $theme.textColor};
392
+ color: ${({$theme:o})=>o.textColor};
616
393
 
617
- ${({ $width }) => $width && css `width: ${$width}px;`}
394
+ ${({$width:o})=>o&&t`width: ${o}px;`}
618
395
 
619
- ${({ $pinned, $theme }) => $pinned &&
620
- css `
396
+ ${({$pinned:o,$theme:r})=>o&&t`
621
397
  position: sticky;
622
- ${$pinned === 'left' ? 'left: 0;' : 'right: 0;'}
398
+ ${o==="left"?"left: 0;":"right: 0;"}
623
399
  z-index: 5;
624
400
  background: inherit;
625
- box-shadow: ${$pinned === 'left' ? '2px 0 4px rgba(0,0,0,0.1)' : '-2px 0 4px rgba(0,0,0,0.1)'};
401
+ box-shadow: ${o==="left"?"2px 0 4px rgba(0,0,0,0.1)":"-2px 0 4px rgba(0,0,0,0.1)"};
626
402
  `}
627
403
 
628
- ${({ $editing, $theme }) => $editing &&
629
- css `
404
+ ${({$editing:o,$theme:r})=>o&&t`
630
405
  padding: 0;
631
- background: ${$theme.backgroundColor};
632
- box-shadow: inset 0 0 0 2px ${$theme.accentColor};
406
+ background: ${r.backgroundColor};
407
+ box-shadow: inset 0 0 0 2px ${r.accentColor};
633
408
  `}
634
409
 
635
- ${({ $flashing }) => $flashing &&
636
- css `
637
- animation: ${cellFlash} 0.5s ease;
410
+ ${({$flashing:o})=>o&&t`
411
+ animation: ${f} 0.5s ease;
638
412
  `}
639
413
 
640
414
  &:last-child {
641
415
  border-right: none;
642
416
  }
643
- `;
644
- export const CellContent = styled.div `
417
+ `,CellContent=e.div`
645
418
  display: flex;
646
419
  align-items: center;
647
420
  gap: 8px;
648
421
  min-height: 20px;
649
422
  color: inherit;
650
423
 
651
- ${({ $wrapText }) => $wrapText &&
652
- css `
424
+ ${({$wrapText:o})=>o&&t`
653
425
  white-space: normal;
654
426
  word-break: break-word;
655
427
  `}
656
- `;
657
- // ============================================================================
658
- // Checkbox
659
- // ============================================================================
660
- export const Checkbox = styled.input `
428
+ `,Checkbox=e.input`
661
429
  width: 16px;
662
430
  height: 16px;
663
431
  margin: 0;
664
432
  cursor: pointer;
665
- accent-color: ${({ $theme }) => $theme.accentColor};
433
+ accent-color: ${({$theme:o})=>o.accentColor};
666
434
  flex-shrink: 0;
667
435
 
668
436
  &:disabled {
669
437
  opacity: 0.5;
670
438
  cursor: not-allowed;
671
439
  }
672
- `;
673
- export const CheckboxCell = styled.div `
440
+ `,CheckboxCell=e.div`
674
441
  display: flex;
675
442
  align-items: center;
676
443
  justify-content: center;
677
444
  width: 100%;
678
- `;
679
- // ============================================================================
680
- // Expand / Group
681
- // ============================================================================
682
- export const ExpandButton = styled.button `
445
+ `,ExpandButton=e.button`
683
446
  display: flex;
684
447
  align-items: center;
685
448
  justify-content: center;
686
449
  width: 20px;
687
450
  height: 20px;
688
451
  padding: 0;
689
- margin-left: ${({ $level }) => ($level ? `${$level * 16}px` : '0')};
452
+ margin-left: ${({$level:o})=>o?`${o*16}px`:"0"};
690
453
  margin-right: 8px;
691
454
  border: none;
692
455
  border-radius: 3px;
@@ -696,25 +459,20 @@ export const ExpandButton = styled.button `
696
459
  flex-shrink: 0;
697
460
 
698
461
  &:hover {
699
- background: ${({ $theme }) => $theme.hoverRowBackgroundColor};
462
+ background: ${({$theme:o})=>o.hoverRowBackgroundColor};
700
463
  }
701
464
 
702
465
  svg {
703
466
  width: 14px;
704
467
  height: 14px;
705
468
  transition: transform 0.2s ease;
706
- transform: ${({ $expanded }) => ($expanded ? 'rotate(90deg)' : 'rotate(0deg)')};
469
+ transform: ${({$expanded:o})=>o?"rotate(90deg)":"rotate(0deg)"};
707
470
  }
708
- `;
709
- export const GroupCell = styled.div `
471
+ `,GroupCell=e.div`
710
472
  display: flex;
711
473
  align-items: center;
712
- padding-left: ${({ $level }) => ($level ? `${$level * 20}px` : '0')};
713
- `;
714
- // ============================================================================
715
- // Row Drag Handle
716
- // ============================================================================
717
- export const DragHandle = styled.div `
474
+ padding-left: ${({$level:o})=>o?`${o*20}px`:"0"};
475
+ `,DragHandle=e.div`
718
476
  display: flex;
719
477
  align-items: center;
720
478
  justify-content: center;
@@ -729,8 +487,7 @@ export const DragHandle = styled.div `
729
487
  opacity: 1;
730
488
  }
731
489
 
732
- ${({ $dragging }) => $dragging &&
733
- css `
490
+ ${({$dragging:o})=>o&&t`
734
491
  cursor: grabbing;
735
492
  opacity: 1;
736
493
  `}
@@ -739,11 +496,7 @@ export const DragHandle = styled.div `
739
496
  width: 14px;
740
497
  height: 14px;
741
498
  }
742
- `;
743
- // ============================================================================
744
- // Cell Editor
745
- // ============================================================================
746
- export const CellEditor = styled.div `
499
+ `,CellEditor=e.div`
747
500
  width: 100%;
748
501
  height: 100%;
749
502
  display: flex;
@@ -758,8 +511,8 @@ export const CellEditor = styled.div `
758
511
  font-size: inherit;
759
512
  font-family: inherit;
760
513
  border: none;
761
- background: ${({ $theme }) => $theme.backgroundColor};
762
- color: ${({ $theme }) => $theme.textColor};
514
+ background: ${({$theme:o})=>o.backgroundColor};
515
+ color: ${({$theme:o})=>o.textColor};
763
516
  outline: none;
764
517
  }
765
518
 
@@ -767,33 +520,23 @@ export const CellEditor = styled.div `
767
520
  resize: vertical;
768
521
  min-height: 80px;
769
522
  }
770
- `;
771
- // ============================================================================
772
- // Footer
773
- // ============================================================================
774
- export const TableFooter = styled.tfoot `
775
- background: ${({ $theme }) => $theme.headerBackgroundColor};
776
- `;
777
- export const FooterRow = styled.tr `
523
+ `,TableFooter=e.tfoot`
524
+ background: ${({$theme:o})=>o.headerBackgroundColor};
525
+ `,FooterRow=e.tr`
778
526
  height: 42px;
779
- `;
780
- export const FooterCell = styled.td `
781
- padding: ${({ $theme }) => $theme.cellPadding};
782
- text-align: ${({ $align }) => $align || 'left'};
527
+ `,FooterCell=e.td`
528
+ padding: ${({$theme:o})=>o.cellPadding};
529
+ text-align: ${({$align:o})=>o||"left"};
783
530
  font-weight: 600;
784
- border-top: 2px solid ${({ $theme }) => $theme.borderColor};
785
- color: ${({ $theme }) => $theme.headerTextColor};
786
- `;
787
- // ============================================================================
788
- // Pagination
789
- // ============================================================================
790
- export const PaginationBar = styled.div `
531
+ border-top: 2px solid ${({$theme:o})=>o.borderColor};
532
+ color: ${({$theme:o})=>o.headerTextColor};
533
+ `,PaginationBar=e.div`
791
534
  display: flex;
792
535
  align-items: center;
793
536
  justify-content: space-between;
794
537
  padding: 8px 16px;
795
- background: ${({ $theme }) => $theme.headerBackgroundColor};
796
- border-top: 1px solid ${({ $theme }) => $theme.borderColor};
538
+ background: ${({$theme:o})=>o.headerBackgroundColor};
539
+ border-top: 1px solid ${({$theme:o})=>o.borderColor};
797
540
  gap: 16px;
798
541
  flex-wrap: wrap;
799
542
 
@@ -801,17 +544,14 @@ export const PaginationBar = styled.div `
801
544
  flex-direction: column;
802
545
  gap: 12px;
803
546
  }
804
- `;
805
- export const PaginationInfo = styled.div `
547
+ `,PaginationInfo=e.div`
806
548
  font-size: 13px;
807
- color: ${({ $theme }) => $theme.headerTextColor};
808
- `;
809
- export const PaginationControls = styled.div `
549
+ color: ${({$theme:o})=>o.headerTextColor};
550
+ `,PaginationControls=e.div`
810
551
  display: flex;
811
552
  align-items: center;
812
553
  gap: 4px;
813
- `;
814
- export const PageButton = styled.button `
554
+ `,PageButton=e.button`
815
555
  display: flex;
816
556
  align-items: center;
817
557
  justify-content: center;
@@ -820,15 +560,15 @@ export const PageButton = styled.button `
820
560
  padding: 0 8px;
821
561
  font-size: 13px;
822
562
  font-weight: 500;
823
- border: 1px solid ${({ $theme, $active }) => ($active ? $theme.accentColor : $theme.borderColor)};
563
+ border: 1px solid ${({$theme:o,$active:r})=>r?o.accentColor:o.borderColor};
824
564
  border-radius: 4px;
825
- background: ${({ $theme, $active }) => ($active ? $theme.accentColor : $theme.backgroundColor)};
826
- color: ${({ $theme, $active }) => ($active ? '#ffffff' : $theme.textColor)};
565
+ background: ${({$theme:o,$active:r})=>r?o.accentColor:o.backgroundColor};
566
+ color: ${({$theme:o,$active:r})=>r?"#ffffff":o.textColor};
827
567
  cursor: pointer;
828
568
  transition: all 0.15s ease;
829
569
 
830
570
  &:hover:not(:disabled) {
831
- background: ${({ $theme, $active }) => ($active ? $theme.accentColor : $theme.hoverRowBackgroundColor)};
571
+ background: ${({$theme:o,$active:r})=>r?o.accentColor:o.hoverRowBackgroundColor};
832
572
  }
833
573
 
834
574
  &:disabled {
@@ -840,36 +580,30 @@ export const PageButton = styled.button `
840
580
  width: 16px;
841
581
  height: 16px;
842
582
  }
843
- `;
844
- export const PageSizeSelect = styled.select `
583
+ `,PageSizeSelect=e.select`
845
584
  padding: 6px 8px;
846
585
  font-size: 13px;
847
- border: 1px solid ${({ $theme }) => $theme.borderColor};
586
+ border: 1px solid ${({$theme:o})=>o.borderColor};
848
587
  border-radius: 4px;
849
- background: ${({ $theme }) => $theme.backgroundColor};
850
- color: ${({ $theme }) => $theme.textColor};
588
+ background: ${({$theme:o})=>o.backgroundColor};
589
+ color: ${({$theme:o})=>o.textColor};
851
590
  cursor: pointer;
852
591
  outline: none;
853
592
 
854
593
  &:focus {
855
- border-color: ${({ $theme }) => $theme.accentColor};
594
+ border-color: ${({$theme:o})=>o.accentColor};
856
595
  }
857
- `;
858
- // ============================================================================
859
- // Status Bar
860
- // ============================================================================
861
- export const StatusBar = styled.div `
596
+ `,StatusBar=e.div`
862
597
  display: flex;
863
598
  align-items: center;
864
599
  justify-content: space-between;
865
600
  padding: 6px 16px;
866
- background: ${({ $theme }) => $theme.headerBackgroundColor};
867
- border-top: 1px solid ${({ $theme }) => $theme.borderColor};
601
+ background: ${({$theme:o})=>o.headerBackgroundColor};
602
+ border-top: 1px solid ${({$theme:o})=>o.borderColor};
868
603
  font-size: 12px;
869
- color: ${({ $theme }) => $theme.headerTextColor};
604
+ color: ${({$theme:o})=>o.headerTextColor};
870
605
  gap: 16px;
871
- `;
872
- export const StatusItem = styled.div `
606
+ `,StatusItem=e.div`
873
607
  display: flex;
874
608
  align-items: center;
875
609
  gap: 6px;
@@ -877,110 +611,91 @@ export const StatusItem = styled.div `
877
611
  strong {
878
612
  color: inherit;
879
613
  }
880
- `;
881
- // ============================================================================
882
- // Side Bar / Tool Panels
883
- // ============================================================================
884
- export const SideBar = styled.div `
885
- width: ${({ $width }) => ($width ? `${$width}px` : '250px')};
614
+ `,SideBar=e.div`
615
+ width: ${({$width:o})=>o?`${o}px`:"250px"};
886
616
  min-width: 200px;
887
617
  max-width: 400px;
888
- background: ${({ $theme }) => $theme.backgroundColor};
889
- border-${({ $position }) => ($position === 'left' ? 'right' : 'left')}: 1px solid ${({ $theme }) => $theme.borderColor};
618
+ background: ${({$theme:o})=>o.backgroundColor};
619
+ border-${({$position:o})=>o==="left"?"right":"left"}: 1px solid ${({$theme:o})=>o.borderColor};
890
620
  display: flex;
891
621
  flex-direction: column;
892
622
  overflow: hidden;
893
- `;
894
- export const SideBarTabs = styled.div `
623
+ `,SideBarTabs=e.div`
895
624
  display: flex;
896
- border-bottom: 1px solid ${({ $theme }) => $theme.borderColor};
897
- `;
898
- export const SideBarTab = styled.button `
625
+ border-bottom: 1px solid ${({$theme:o})=>o.borderColor};
626
+ `,SideBarTab=e.button`
899
627
  flex: 1;
900
628
  padding: 10px 12px;
901
629
  font-size: 12px;
902
630
  font-weight: 500;
903
631
  border: none;
904
- background: ${({ $theme, $active }) => ($active ? $theme.backgroundColor : $theme.headerBackgroundColor)};
905
- color: ${({ $theme, $active }) => ($active ? $theme.accentColor : $theme.headerTextColor)};
632
+ background: ${({$theme:o,$active:r})=>r?o.backgroundColor:o.headerBackgroundColor};
633
+ color: ${({$theme:o,$active:r})=>r?o.accentColor:o.headerTextColor};
906
634
  cursor: pointer;
907
635
  transition: all 0.15s ease;
908
- border-bottom: 2px solid ${({ $theme, $active }) => ($active ? $theme.accentColor : 'transparent')};
636
+ border-bottom: 2px solid ${({$theme:o,$active:r})=>r?o.accentColor:"transparent"};
909
637
 
910
638
  &:hover {
911
- background: ${({ $theme }) => $theme.backgroundColor};
639
+ background: ${({$theme:o})=>o.backgroundColor};
912
640
  }
913
- `;
914
- export const SideBarContent = styled.div `
641
+ `,SideBarContent=e.div`
915
642
  flex: 1;
916
643
  overflow: auto;
917
644
  padding: 12px;
918
- `;
919
- // ============================================================================
920
- // Overlays
921
- // ============================================================================
922
- export const Overlay = styled.div `
645
+ `,Overlay=e.div`
923
646
  position: absolute;
924
647
  inset: 0;
925
648
  display: flex;
926
649
  align-items: center;
927
650
  justify-content: center;
928
- background: ${({ $theme }) => $theme.backgroundColor}e6;
651
+ background: ${({$theme:o})=>o.backgroundColor}e6;
929
652
  z-index: 100;
930
- animation: ${fadeIn} 0.2s ease;
931
- `;
932
- export const LoadingOverlay = styled(Overlay) `
653
+ animation: ${i} 0.2s ease;
654
+ `,LoadingOverlay=e(Overlay)`
933
655
  flex-direction: column;
934
656
  gap: 16px;
935
- `;
936
- export const Spinner = styled.div `
937
- width: ${({ $size }) => ($size ? `${$size}px` : '40px')};
938
- height: ${({ $size }) => ($size ? `${$size}px` : '40px')};
939
- border: 3px solid ${({ $theme }) => $theme.borderColor};
940
- border-top-color: ${({ $theme }) => $theme.accentColor};
657
+ `,Spinner=e.div`
658
+ width: ${({$size:o})=>o?`${o}px`:"40px"};
659
+ height: ${({$size:o})=>o?`${o}px`:"40px"};
660
+ border: 3px solid ${({$theme:o})=>o.borderColor};
661
+ border-top-color: ${({$theme:o})=>o.accentColor};
941
662
  border-radius: 50%;
942
- animation: ${spin} 0.8s linear infinite;
943
- `;
944
- export const NoRowsOverlay = styled(Overlay) `
663
+ animation: ${g} 0.8s linear infinite;
664
+ `,NoRowsOverlay=e(Overlay)`
945
665
  flex-direction: column;
946
666
  gap: 12px;
947
- color: ${({ $theme }) => $theme.headerTextColor};
667
+ color: ${({$theme:o})=>o.headerTextColor};
948
668
 
949
669
  svg {
950
670
  width: 48px;
951
671
  height: 48px;
952
672
  opacity: 0.5;
953
673
  }
954
- `;
955
- // ============================================================================
956
- // Context Menu
957
- // ============================================================================
958
- export const ContextMenu = styled.div `
674
+ `,ContextMenu=e.div`
959
675
  position: fixed;
960
- top: ${({ $y }) => $y}px;
961
- left: ${({ $x }) => $x}px;
676
+ top: ${({$y:o})=>o}px;
677
+ left: ${({$x:o})=>o}px;
962
678
  min-width: 180px;
963
- background: ${({ $theme }) => $theme.backgroundColor};
964
- border: 1px solid ${({ $theme }) => $theme.borderColor};
679
+ background: ${({$theme:o})=>o.backgroundColor};
680
+ border: 1px solid ${({$theme:o})=>o.borderColor};
965
681
  border-radius: 6px;
966
682
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
967
683
  z-index: 1000;
968
684
  overflow: hidden;
969
- animation: ${slideInRight} 0.15s ease;
970
- `;
971
- export const ContextMenuItem = styled.div `
685
+ animation: ${s} 0.15s ease;
686
+ `,ContextMenuItem=e.div`
972
687
  display: flex;
973
688
  align-items: center;
974
689
  gap: 10px;
975
690
  padding: 8px 14px;
976
691
  font-size: 13px;
977
- cursor: ${({ $disabled }) => ($disabled ? 'not-allowed' : 'pointer')};
978
- opacity: ${({ $disabled }) => ($disabled ? 0.5 : 1)};
979
- color: ${({ $danger, $theme }) => ($danger ? '#ef4444' : $theme.textColor)};
692
+ cursor: ${({$disabled:o})=>o?"not-allowed":"pointer"};
693
+ opacity: ${({$disabled:o})=>o?.5:1};
694
+ color: ${({$danger:o,$theme:r})=>o?"#ef4444":r.textColor};
980
695
  transition: background-color 0.1s ease;
981
696
 
982
697
  &:hover {
983
- background: ${({ $disabled, $theme }) => ($disabled ? 'transparent' : $theme.hoverRowBackgroundColor)};
698
+ background: ${({$disabled:o,$theme:r})=>o?"transparent":r.hoverRowBackgroundColor};
984
699
  }
985
700
 
986
701
  svg {
@@ -994,201 +709,161 @@ export const ContextMenuItem = styled.div `
994
709
  font-size: 11px;
995
710
  opacity: 0.5;
996
711
  }
997
- `;
998
- export const ContextMenuDivider = styled.div `
712
+ `,ContextMenuDivider=e.div`
999
713
  height: 1px;
1000
- background: ${({ $theme }) => $theme.borderColor};
714
+ background: ${({$theme:o})=>o.borderColor};
1001
715
  margin: 4px 0;
1002
- `;
1003
- // ============================================================================
1004
- // Column Menu
1005
- // ============================================================================
1006
- export const ColumnMenu = styled.div `
716
+ `,ColumnMenu=e.div`
1007
717
  position: absolute;
1008
718
  top: 100%;
1009
719
  right: 0;
1010
720
  min-width: 200px;
1011
- background: ${({ $theme }) => $theme.backgroundColor};
1012
- border: 1px solid ${({ $theme }) => $theme.borderColor};
721
+ background: ${({$theme:o})=>o.backgroundColor};
722
+ border: 1px solid ${({$theme:o})=>o.borderColor};
1013
723
  border-radius: 6px;
1014
724
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
1015
725
  z-index: 100;
1016
726
  overflow: hidden;
1017
- animation: ${fadeIn} 0.15s ease;
1018
- `;
1019
- // ============================================================================
1020
- // Mobile Card View
1021
- // ============================================================================
1022
- export const MobileCardContainer = styled.div `
727
+ animation: ${i} 0.15s ease;
728
+ `,MobileCardContainer=e.div`
1023
729
  display: flex;
1024
730
  flex-direction: column;
1025
731
  gap: 12px;
1026
732
  padding: 12px;
1027
- `;
1028
- export const MobileCard = styled.div `
1029
- background: ${({ $theme }) => $theme.backgroundColor};
1030
- border: 1px solid ${({ $theme, $selected }) => ($selected ? $theme.accentColor : $theme.borderColor)};
733
+ `,MobileCard=e.div`
734
+ background: ${({$theme:o})=>o.backgroundColor};
735
+ border: 1px solid ${({$theme:o,$selected:r})=>r?o.accentColor:o.borderColor};
1031
736
  border-radius: 8px;
1032
737
  padding: 16px;
1033
738
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
1034
739
  transition: all 0.15s ease;
1035
740
 
1036
- ${({ $selected, $theme }) => $selected &&
1037
- css `
1038
- background: ${$theme.selectedRowBackgroundColor};
741
+ ${({$selected:o,$theme:r})=>o&&t`
742
+ background: ${r.selectedRowBackgroundColor};
1039
743
  `}
1040
- `;
1041
- export const MobileCardHeader = styled.div `
744
+ `,MobileCardHeader=e.div`
1042
745
  display: flex;
1043
746
  align-items: center;
1044
747
  justify-content: space-between;
1045
748
  margin-bottom: 12px;
1046
749
  padding-bottom: 12px;
1047
- border-bottom: 1px solid ${({ $theme }) => $theme.borderColor};
1048
- `;
1049
- export const MobileCardRow = styled.div `
750
+ border-bottom: 1px solid ${({$theme:o})=>o.borderColor};
751
+ `,MobileCardRow=e.div`
1050
752
  display: flex;
1051
753
  justify-content: space-between;
1052
754
  padding: 6px 0;
1053
755
  font-size: 13px;
1054
756
 
1055
757
  &:not(:last-child) {
1056
- border-bottom: 1px solid ${({ $theme }) => $theme.borderColor}50;
758
+ border-bottom: 1px solid ${({$theme:o})=>o.borderColor}50;
1057
759
  }
1058
- `;
1059
- export const MobileCardLabel = styled.span `
1060
- color: ${({ $theme }) => $theme.headerTextColor};
760
+ `,MobileCardLabel=e.span`
761
+ color: ${({$theme:o})=>o.headerTextColor};
1061
762
  font-weight: 500;
1062
- `;
1063
- export const MobileCardValue = styled.span `
1064
- color: ${({ $theme }) => $theme.textColor};
763
+ `,MobileCardValue=e.span`
764
+ color: ${({$theme:o})=>o.textColor};
1065
765
  text-align: right;
1066
- `;
1067
- // ============================================================================
1068
- // Skeleton Loading
1069
- // ============================================================================
1070
- export const SkeletonRow = styled.tr `
766
+ `,SkeletonRow=e.tr`
1071
767
  height: 42px;
1072
- `;
1073
- export const SkeletonCell = styled.td `
768
+ `,SkeletonCell=e.td`
1074
769
  padding: 8px 12px;
1075
- border-bottom: 1px solid ${({ $theme }) => $theme.borderColor};
1076
- border-right: 1px solid ${({ $theme }) => $theme.borderColor};
770
+ border-bottom: 1px solid ${({$theme:o})=>o.borderColor};
771
+ border-right: 1px solid ${({$theme:o})=>o.borderColor};
1077
772
 
1078
773
  &:last-child {
1079
774
  border-right: none;
1080
775
  }
1081
- `;
1082
- export const SkeletonBlock = styled.div `
776
+ `,SkeletonBlock=e.div`
1083
777
  height: 16px;
1084
- width: ${({ $width }) => $width || '80%'};
778
+ width: ${({$width:o})=>o||"80%"};
1085
779
  background: linear-gradient(
1086
780
  90deg,
1087
- ${({ $theme }) => $theme.borderColor}40 25%,
1088
- ${({ $theme }) => $theme.borderColor}80 50%,
1089
- ${({ $theme }) => $theme.borderColor}40 75%
781
+ ${({$theme:o})=>o.borderColor}40 25%,
782
+ ${({$theme:o})=>o.borderColor}80 50%,
783
+ ${({$theme:o})=>o.borderColor}40 75%
1090
784
  );
1091
785
  background-size: 200% 100%;
1092
- animation: ${shimmer} 1.5s ease-in-out infinite;
786
+ animation: ${x} 1.5s ease-in-out infinite;
1093
787
  border-radius: 4px;
1094
- `;
1095
- // ============================================================================
1096
- // Tooltip
1097
- // ============================================================================
1098
- export const TooltipContainer = styled.div `
788
+ `,TooltipContainer=e.div`
1099
789
  position: fixed;
1100
- top: ${({ $y }) => $y}px;
1101
- left: ${({ $x }) => $x}px;
790
+ top: ${({$y:o})=>o}px;
791
+ left: ${({$x:o})=>o}px;
1102
792
  max-width: 300px;
1103
793
  padding: 8px 12px;
1104
794
  font-size: 12px;
1105
- background: ${({ $theme }) => ($theme.textColor.includes('f0') ? '#333' : '#fff')};
1106
- color: ${({ $theme }) => ($theme.textColor.includes('f0') ? '#fff' : '#333')};
795
+ background: ${({$theme:o})=>o.textColor.includes("f0")?"#333":"#fff"};
796
+ color: ${({$theme:o})=>o.textColor.includes("f0")?"#fff":"#333"};
1107
797
  border-radius: 4px;
1108
798
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
1109
799
  z-index: 1001;
1110
800
  pointer-events: none;
1111
- animation: ${fadeIn} 0.1s ease;
1112
- `;
1113
- // ============================================================================
1114
- // Drag Ghost
1115
- // ============================================================================
1116
- export const DragGhost = styled.div `
801
+ animation: ${i} 0.1s ease;
802
+ `,DragGhost=e.div`
1117
803
  position: fixed;
1118
804
  pointer-events: none;
1119
805
  z-index: 10000;
1120
806
  padding: 8px 16px;
1121
- background: ${({ $theme }) => $theme.accentColor};
807
+ background: ${({$theme:o})=>o.accentColor};
1122
808
  color: #ffffff;
1123
809
  font-size: 13px;
1124
810
  font-weight: 500;
1125
811
  border-radius: 6px;
1126
812
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
1127
- opacity: ${({ $visible }) => ($visible ? 0.9 : 0)};
813
+ opacity: ${({$visible:o})=>o?.9:0};
1128
814
  transform: translate(-50%, -50%);
1129
815
  transition: opacity 0.15s ease;
1130
- `;
1131
- // ============================================================================
1132
- // Selection Info Bar
1133
- // ============================================================================
1134
- export const SelectionBar = styled.div `
816
+ `,SelectionBar=e.div`
1135
817
  display: flex;
1136
818
  align-items: center;
1137
819
  justify-content: space-between;
1138
820
  padding: 8px 16px;
1139
- background: ${({ $theme }) => $theme.accentColor};
821
+ background: ${({$theme:o})=>o.accentColor};
1140
822
  color: #ffffff;
1141
823
  font-size: 13px;
1142
824
  font-weight: 500;
1143
- transform: translateY(${({ $visible }) => ($visible ? '0' : '-100%')});
1144
- opacity: ${({ $visible }) => ($visible ? 1 : 0)};
825
+ transform: translateY(${({$visible:o})=>o?"0":"-100%"});
826
+ opacity: ${({$visible:o})=>o?1:0};
1145
827
  transition: all 0.2s ease;
1146
828
  position: absolute;
1147
829
  top: 0;
1148
830
  left: 0;
1149
831
  right: 0;
1150
832
  z-index: 50;
1151
- `;
1152
- export const SelectionActions = styled.div `
833
+ `,SelectionActions=e.div`
1153
834
  display: flex;
1154
835
  align-items: center;
1155
836
  gap: 8px;
1156
- `;
1157
- // ============================================================================
1158
- // Side Panel (Right Panel with Columns & Filters tabs)
1159
- // ============================================================================
1160
- export const SidePanel = styled.div `
1161
- width: ${({ $open, $width }) => ($open ? ($width ? `${$width}px` : '280px') : '40px')};
1162
- min-width: ${({ $open }) => ($open ? '200px' : '40px')};
1163
- max-width: ${({ $open }) => ($open ? '400px' : '40px')};
1164
- background: ${({ $theme }) => $theme.backgroundColor};
1165
- border-left: 1px solid ${({ $theme }) => $theme.borderColor};
837
+ `,SidePanel=e.div`
838
+ width: ${({$open:o,$width:r})=>o?r?`${r}px`:"280px":"40px"};
839
+ min-width: ${({$open:o})=>o?"200px":"40px"};
840
+ max-width: ${({$open:o})=>o?"400px":"40px"};
841
+ background: ${({$theme:o})=>o.backgroundColor};
842
+ border-left: 1px solid ${({$theme:o})=>o.borderColor};
1166
843
  display: flex;
1167
844
  flex-direction: column;
1168
845
  overflow: hidden;
1169
846
  transition: width 0.2s ease;
1170
847
  flex-shrink: 0;
1171
- `;
1172
- export const SidePanelTabs = styled.div `
848
+ `,SidePanelTabs=e.div`
1173
849
  display: flex;
1174
- flex-direction: ${({ $collapsed }) => ($collapsed ? 'column' : 'row')};
1175
- border-bottom: ${({ $collapsed }) => ($collapsed ? 'none' : '1px solid')};
1176
- border-color: ${({ $theme }) => $theme.borderColor};
1177
- background: ${({ $theme }) => $theme.headerBackgroundColor};
1178
- `;
1179
- export const SidePanelTab = styled.button `
1180
- flex: ${({ $collapsed }) => ($collapsed ? 'none' : '1')};
1181
- padding: ${({ $collapsed }) => ($collapsed ? '12px 10px' : '10px 12px')};
850
+ flex-direction: ${({$collapsed:o})=>o?"column":"row"};
851
+ border-bottom: ${({$collapsed:o})=>o?"none":"1px solid"};
852
+ border-color: ${({$theme:o})=>o.borderColor};
853
+ background: ${({$theme:o})=>o.headerBackgroundColor};
854
+ `,SidePanelTab=e.button`
855
+ flex: ${({$collapsed:o})=>o?"none":"1"};
856
+ padding: ${({$collapsed:o})=>o?"12px 10px":"10px 12px"};
1182
857
  font-size: 11px;
1183
858
  font-weight: 600;
1184
859
  text-transform: uppercase;
1185
860
  letter-spacing: 0.5px;
1186
861
  border: none;
1187
- background: ${({ $theme, $active }) => ($active ? $theme.backgroundColor : 'transparent')};
1188
- color: ${({ $theme, $active }) => ($active ? $theme.accentColor : $theme.headerTextColor)};
862
+ background: ${({$theme:o,$active:r})=>r?o.backgroundColor:"transparent"};
863
+ color: ${({$theme:o,$active:r})=>r?o.accentColor:o.headerTextColor};
1189
864
  cursor: pointer;
1190
865
  transition: all 0.15s ease;
1191
- border-bottom: 2px solid ${({ $theme, $active }) => ($active ? $theme.accentColor : 'transparent')};
866
+ border-bottom: 2px solid ${({$theme:o,$active:r})=>r?o.accentColor:"transparent"};
1192
867
  display: flex;
1193
868
  align-items: center;
1194
869
  justify-content: center;
@@ -1196,48 +871,44 @@ export const SidePanelTab = styled.button `
1196
871
  white-space: nowrap;
1197
872
 
1198
873
  &:hover {
1199
- background: ${({ $theme }) => $theme.hoverRowBackgroundColor};
1200
- color: ${({ $theme }) => $theme.accentColor};
874
+ background: ${({$theme:o})=>o.hoverRowBackgroundColor};
875
+ color: ${({$theme:o})=>o.accentColor};
1201
876
  }
1202
877
 
1203
878
  svg {
1204
879
  width: 14px;
1205
880
  height: 14px;
1206
881
  }
1207
- `;
1208
- export const SidePanelContent = styled.div `
882
+ `,SidePanelContent=e.div`
1209
883
  flex: 1;
1210
884
  overflow-y: auto;
1211
885
  overflow-x: hidden;
1212
- `;
1213
- export const SidePanelSearch = styled.div `
886
+ `,SidePanelSearch=e.div`
1214
887
  padding: 10px 12px;
1215
- border-bottom: 1px solid ${({ $theme }) => $theme.borderColor};
888
+ border-bottom: 1px solid ${({$theme:o})=>o.borderColor};
1216
889
 
1217
890
  input {
1218
891
  width: 100%;
1219
892
  padding: 8px 10px;
1220
893
  font-size: 12px;
1221
- border: 1px solid ${({ $theme }) => $theme.borderColor};
894
+ border: 1px solid ${({$theme:o})=>o.borderColor};
1222
895
  border-radius: 4px;
1223
- background: ${({ $theme }) => $theme.backgroundColor};
1224
- color: ${({ $theme }) => $theme.textColor};
896
+ background: ${({$theme:o})=>o.backgroundColor};
897
+ color: ${({$theme:o})=>o.textColor};
1225
898
  outline: none;
1226
899
 
1227
900
  &::placeholder {
1228
- color: ${({ $theme }) => $theme.headerTextColor};
901
+ color: ${({$theme:o})=>o.headerTextColor};
1229
902
  opacity: 0.6;
1230
903
  }
1231
904
 
1232
905
  &:focus {
1233
- border-color: ${({ $theme }) => $theme.accentColor};
906
+ border-color: ${({$theme:o})=>o.accentColor};
1234
907
  }
1235
908
  }
1236
- `;
1237
- export const SidePanelSection = styled.div `
1238
- border-bottom: 1px solid ${({ $theme }) => $theme.borderColor};
1239
- `;
1240
- export const SidePanelSectionHeader = styled.div `
909
+ `,SidePanelSection=e.div`
910
+ border-bottom: 1px solid ${({$theme:o})=>o.borderColor};
911
+ `,SidePanelSectionHeader=e.div`
1241
912
  display: flex;
1242
913
  align-items: center;
1243
914
  gap: 8px;
@@ -1246,13 +917,13 @@ export const SidePanelSectionHeader = styled.div `
1246
917
  font-weight: 600;
1247
918
  text-transform: uppercase;
1248
919
  letter-spacing: 0.5px;
1249
- color: ${({ $theme }) => $theme.headerTextColor};
1250
- background: ${({ $theme }) => $theme.headerBackgroundColor};
1251
- cursor: ${({ $collapsible }) => ($collapsible ? 'pointer' : 'default')};
920
+ color: ${({$theme:o})=>o.headerTextColor};
921
+ background: ${({$theme:o})=>o.headerBackgroundColor};
922
+ cursor: ${({$collapsible:o})=>o?"pointer":"default"};
1252
923
  user-select: none;
1253
924
 
1254
925
  &:hover {
1255
- background: ${({ $collapsible, $theme }) => ($collapsible ? $theme.hoverRowBackgroundColor : $theme.headerBackgroundColor)};
926
+ background: ${({$collapsible:o,$theme:r})=>o?r.hoverRowBackgroundColor:r.headerBackgroundColor};
1256
927
  }
1257
928
 
1258
929
  svg {
@@ -1260,37 +931,33 @@ export const SidePanelSectionHeader = styled.div `
1260
931
  height: 12px;
1261
932
  transition: transform 0.2s ease;
1262
933
  }
1263
- `;
1264
- export const SidePanelColumnItem = styled.div `
934
+ `,SidePanelColumnItem=e.div`
1265
935
  display: flex;
1266
936
  align-items: center;
1267
937
  gap: 8px;
1268
938
  padding: 6px 12px;
1269
- padding-left: ${({ $indent }) => ($indent ? `${12 + $indent * 16}px` : '12px')};
939
+ padding-left: ${({$indent:o})=>o?`${12+o*16}px`:"12px"};
1270
940
  font-size: 13px;
1271
- color: ${({ $theme }) => $theme.textColor};
941
+ color: ${({$theme:o})=>o.textColor};
1272
942
  cursor: pointer;
1273
943
  user-select: none;
1274
944
  transition: background-color 0.1s ease;
1275
945
  border-left: 2px solid transparent;
1276
946
 
1277
- ${({ $selected, $theme }) => $selected &&
1278
- css `
1279
- background: ${$theme.selectedRowBackgroundColor}40;
1280
- border-left-color: ${$theme.accentColor};
947
+ ${({$selected:o,$theme:r})=>o&&t`
948
+ background: ${r.selectedRowBackgroundColor}40;
949
+ border-left-color: ${r.accentColor};
1281
950
  `}
1282
951
 
1283
- ${({ $dragging, $theme }) => $dragging &&
1284
- css `
952
+ ${({$dragging:o,$theme:r})=>o&&t`
1285
953
  opacity: 0.5;
1286
- background: ${$theme.accentColor}20;
954
+ background: ${r.accentColor}20;
1287
955
  `}
1288
956
 
1289
957
  &:hover {
1290
- background: ${({ $theme }) => $theme.hoverRowBackgroundColor};
958
+ background: ${({$theme:o})=>o.hoverRowBackgroundColor};
1291
959
  }
1292
- `;
1293
- export const SidePanelDragHandle = styled.span `
960
+ `,SidePanelDragHandle=e.span`
1294
961
  display: flex;
1295
962
  align-items: center;
1296
963
  justify-content: center;
@@ -1312,39 +979,32 @@ export const SidePanelDragHandle = styled.span `
1312
979
  width: 12px;
1313
980
  height: 12px;
1314
981
  }
1315
- `;
1316
- export const SidePanelGroupLabel = styled.span `
982
+ `,SidePanelGroupLabel=e.span`
1317
983
  flex: 1;
1318
984
  overflow: hidden;
1319
985
  text-overflow: ellipsis;
1320
986
  white-space: nowrap;
1321
- `;
1322
- // ============================================================================
1323
- // Row Groups Drop Zone
1324
- // ============================================================================
1325
- export const RowGroupsZone = styled.div `
987
+ `,RowGroupsZone=e.div`
1326
988
  display: flex;
1327
989
  align-items: center;
1328
990
  gap: 8px;
1329
991
  padding: 8px 12px;
1330
992
  min-height: 36px;
1331
- background: ${({ $theme, $dragOver }) => ($dragOver ? `${$theme.accentColor}15` : $theme.headerBackgroundColor)};
1332
- border-bottom: 1px solid ${({ $theme }) => $theme.borderColor};
1333
- border: ${({ $dragOver, $theme }) => ($dragOver ? `2px dashed ${$theme.accentColor}` : '1px solid transparent')};
993
+ background: ${({$theme:o,$dragOver:r})=>r?`${o.accentColor}15`:o.headerBackgroundColor};
994
+ border-bottom: 1px solid ${({$theme:o})=>o.borderColor};
995
+ border: ${({$dragOver:o,$theme:r})=>o?`2px dashed ${r.accentColor}`:"1px solid transparent"};
1334
996
  transition: all 0.15s ease;
1335
997
  flex-wrap: wrap;
1336
998
 
1337
- ${({ $hasItems }) => !$hasItems &&
1338
- css `
999
+ ${({$hasItems:o})=>!o&&t`
1339
1000
  justify-content: center;
1340
1001
  `}
1341
- `;
1342
- export const RowGroupsLabel = styled.span `
1002
+ `,RowGroupsLabel=e.span`
1343
1003
  display: flex;
1344
1004
  align-items: center;
1345
1005
  gap: 6px;
1346
1006
  font-size: 12px;
1347
- color: ${({ $theme }) => $theme.headerTextColor};
1007
+ color: ${({$theme:o})=>o.headerTextColor};
1348
1008
  white-space: nowrap;
1349
1009
 
1350
1010
  svg {
@@ -1352,16 +1012,15 @@ export const RowGroupsLabel = styled.span `
1352
1012
  height: 14px;
1353
1013
  opacity: 0.6;
1354
1014
  }
1355
- `;
1356
- export const RowGroupChip = styled.div `
1015
+ `,RowGroupChip=e.div`
1357
1016
  display: inline-flex;
1358
1017
  align-items: center;
1359
1018
  gap: 6px;
1360
1019
  padding: 4px 10px;
1361
1020
  font-size: 12px;
1362
1021
  font-weight: 500;
1363
- background: ${({ $theme }) => $theme.accentColor}15;
1364
- color: ${({ $theme }) => $theme.accentColor};
1022
+ background: ${({$theme:o})=>o.accentColor}15;
1023
+ color: ${({$theme:o})=>o.accentColor};
1365
1024
  border-radius: 16px;
1366
1025
  cursor: default;
1367
1026
 
@@ -1381,7 +1040,7 @@ export const RowGroupChip = styled.div `
1381
1040
 
1382
1041
  &:hover {
1383
1042
  opacity: 1;
1384
- background: ${({ $theme }) => $theme.accentColor}30;
1043
+ background: ${({$theme:o})=>o.accentColor}30;
1385
1044
  }
1386
1045
 
1387
1046
  svg {
@@ -1389,28 +1048,22 @@ export const RowGroupChip = styled.div `
1389
1048
  height: 10px;
1390
1049
  }
1391
1050
  }
1392
- `;
1393
- // ============================================================================
1394
- // Values/Aggregation Panel
1395
- // ============================================================================
1396
- export const ValuesPanel = styled.div `
1051
+ `,ValuesPanel=e.div`
1397
1052
  min-height: 60px;
1398
- `;
1399
- export const ValueItem = styled.div `
1053
+ `,ValueItem=e.div`
1400
1054
  display: flex;
1401
1055
  align-items: center;
1402
1056
  justify-content: space-between;
1403
1057
  gap: 8px;
1404
1058
  padding: 6px 12px;
1405
1059
  font-size: 13px;
1406
- color: ${({ $theme }) => $theme.textColor};
1060
+ color: ${({$theme:o})=>o.textColor};
1407
1061
  cursor: pointer;
1408
1062
 
1409
1063
  &:hover {
1410
- background: ${({ $theme }) => $theme.hoverRowBackgroundColor};
1064
+ background: ${({$theme:o})=>o.hoverRowBackgroundColor};
1411
1065
  }
1412
- `;
1413
- export const ValueItemLabel = styled.span `
1066
+ `,ValueItemLabel=e.span`
1414
1067
  display: flex;
1415
1068
  align-items: center;
1416
1069
  gap: 6px;
@@ -1422,8 +1075,7 @@ export const ValueItemLabel = styled.span `
1422
1075
  height: 12px;
1423
1076
  opacity: 0.5;
1424
1077
  }
1425
- `;
1426
- export const ValueItemRemove = styled.button `
1078
+ `,ValueItemRemove=e.button`
1427
1079
  display: flex;
1428
1080
  align-items: center;
1429
1081
  justify-content: center;
@@ -1438,30 +1090,24 @@ export const ValueItemRemove = styled.button `
1438
1090
 
1439
1091
  &:hover {
1440
1092
  opacity: 1;
1441
- background: ${({ $theme }) => $theme.borderColor};
1093
+ background: ${({$theme:o})=>o.borderColor};
1442
1094
  }
1443
1095
 
1444
1096
  svg {
1445
1097
  width: 12px;
1446
1098
  height: 12px;
1447
1099
  }
1448
- `;
1449
- // ============================================================================
1450
- // Pivot Mode Toggle
1451
- // ============================================================================
1452
- export const PivotModeToggle = styled.div `
1100
+ `,PivotModeToggle=e.div`
1453
1101
  display: flex;
1454
1102
  align-items: center;
1455
1103
  justify-content: space-between;
1456
1104
  padding: 10px 12px;
1457
- border-bottom: 1px solid ${({ $theme }) => $theme.borderColor};
1458
- `;
1459
- export const PivotModeLabel = styled.span `
1105
+ border-bottom: 1px solid ${({$theme:o})=>o.borderColor};
1106
+ `,PivotModeLabel=e.span`
1460
1107
  font-size: 12px;
1461
1108
  font-weight: 500;
1462
- color: ${({ $theme }) => $theme.textColor};
1463
- `;
1464
- export const ToggleSwitch = styled.label `
1109
+ color: ${({$theme:o})=>o.textColor};
1110
+ `,ToggleSwitch=e.label`
1465
1111
  position: relative;
1466
1112
  display: inline-block;
1467
1113
  width: 36px;
@@ -1477,7 +1123,7 @@ export const ToggleSwitch = styled.label `
1477
1123
  span {
1478
1124
  position: absolute;
1479
1125
  inset: 0;
1480
- background: ${({ $theme }) => $theme.borderColor};
1126
+ background: ${({$theme:o})=>o.borderColor};
1481
1127
  border-radius: 20px;
1482
1128
  transition: all 0.2s ease;
1483
1129
 
@@ -1495,17 +1141,13 @@ export const ToggleSwitch = styled.label `
1495
1141
  }
1496
1142
 
1497
1143
  input:checked + span {
1498
- background: ${({ $theme }) => $theme.accentColor};
1144
+ background: ${({$theme:o})=>o.accentColor};
1499
1145
  }
1500
1146
 
1501
1147
  input:checked + span::before {
1502
1148
  transform: translateX(16px);
1503
1149
  }
1504
- `;
1505
- // ============================================================================
1506
- // Column Header Menu (Three Dot Menu)
1507
- // ============================================================================
1508
- export const HeaderMenuButton = styled.button `
1150
+ `,HeaderMenuButton=e.button`
1509
1151
  display: flex;
1510
1152
  align-items: center;
1511
1153
  justify-content: center;
@@ -1513,59 +1155,56 @@ export const HeaderMenuButton = styled.button `
1513
1155
  height: 20px;
1514
1156
  padding: 0;
1515
1157
  border: none;
1516
- background: ${({ $active, $theme }) => ($active ? $theme.hoverRowBackgroundColor : 'transparent')};
1158
+ background: ${({$active:o,$theme:r})=>o?r.hoverRowBackgroundColor:"transparent"};
1517
1159
  border-radius: 3px;
1518
1160
  cursor: pointer;
1519
- opacity: ${({ $active }) => ($active ? 1 : 0)};
1161
+ opacity: ${({$active:o})=>o?1:0};
1520
1162
  transition: all 0.15s ease;
1521
1163
  flex-shrink: 0;
1522
1164
 
1523
1165
  &:hover {
1524
1166
  opacity: 1;
1525
- background: ${({ $theme }) => $theme.hoverRowBackgroundColor};
1167
+ background: ${({$theme:o})=>o.hoverRowBackgroundColor};
1526
1168
  }
1527
1169
 
1528
1170
  svg {
1529
1171
  width: 14px;
1530
1172
  height: 14px;
1531
- color: ${({ $theme }) => $theme.headerTextColor};
1173
+ color: ${({$theme:o})=>o.headerTextColor};
1532
1174
  }
1533
- `;
1534
- export const ColumnMenuPopup = styled.div `
1175
+ `,ColumnMenuPopup=e.div`
1535
1176
  position: fixed;
1536
- top: ${({ $y }) => $y}px;
1537
- left: ${({ $x }) => $x}px;
1177
+ top: ${({$y:o})=>o}px;
1178
+ left: ${({$x:o})=>o}px;
1538
1179
  min-width: 200px;
1539
1180
  max-width: 280px;
1540
- background: ${({ $theme }) => $theme.backgroundColor};
1541
- border: 1px solid ${({ $theme }) => $theme.borderColor};
1181
+ background: ${({$theme:o})=>o.backgroundColor};
1182
+ border: 1px solid ${({$theme:o})=>o.borderColor};
1542
1183
  border-radius: 6px;
1543
1184
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
1544
1185
  z-index: 1000;
1545
1186
  overflow: hidden;
1546
- animation: ${fadeIn} 0.15s ease;
1547
- `;
1548
- export const ColumnMenuSection = styled.div `
1187
+ animation: ${i} 0.15s ease;
1188
+ `,ColumnMenuSection=e.div`
1549
1189
  padding: 4px 0;
1550
- border-bottom: 1px solid ${({ $theme }) => $theme.borderColor};
1190
+ border-bottom: 1px solid ${({$theme:o})=>o.borderColor};
1551
1191
 
1552
1192
  &:last-child {
1553
1193
  border-bottom: none;
1554
1194
  }
1555
- `;
1556
- export const ColumnMenuItem = styled.div `
1195
+ `,ColumnMenuItem=e.div`
1557
1196
  display: flex;
1558
1197
  align-items: center;
1559
1198
  gap: 10px;
1560
1199
  padding: 8px 12px;
1561
1200
  font-size: 13px;
1562
- color: ${({ $theme, $disabled }) => ($disabled ? $theme.headerTextColor : $theme.textColor)};
1563
- cursor: ${({ $disabled }) => ($disabled ? 'not-allowed' : 'pointer')};
1564
- opacity: ${({ $disabled }) => ($disabled ? 0.5 : 1)};
1201
+ color: ${({$theme:o,$disabled:r})=>r?o.headerTextColor:o.textColor};
1202
+ cursor: ${({$disabled:o})=>o?"not-allowed":"pointer"};
1203
+ opacity: ${({$disabled:o})=>o?.5:1};
1565
1204
  transition: background-color 0.1s ease;
1566
1205
 
1567
1206
  &:hover {
1568
- background: ${({ $disabled, $theme }) => ($disabled ? 'transparent' : $theme.hoverRowBackgroundColor)};
1207
+ background: ${({$disabled:o,$theme:r})=>o?"transparent":r.hoverRowBackgroundColor};
1569
1208
  }
1570
1209
 
1571
1210
  svg {
@@ -1579,8 +1218,7 @@ export const ColumnMenuItem = styled.div `
1579
1218
  flex: 1;
1580
1219
  }
1581
1220
 
1582
- ${({ $hasSubmenu }) => $hasSubmenu &&
1583
- css `
1221
+ ${({$hasSubmenu:o})=>o&&t`
1584
1222
  &::after {
1585
1223
  content: '›';
1586
1224
  margin-left: auto;
@@ -1588,207 +1226,175 @@ export const ColumnMenuItem = styled.div `
1588
1226
  opacity: 0.5;
1589
1227
  }
1590
1228
  `}
1591
- `;
1592
- export const ColumnMenuSubmenu = styled.div `
1229
+ `,ColumnMenuSubmenu=e.div`
1593
1230
  position: absolute;
1594
1231
  top: 0;
1595
1232
  left: 100%;
1596
1233
  min-width: 150px;
1597
- background: ${({ $theme }) => $theme.backgroundColor};
1598
- border: 1px solid ${({ $theme }) => $theme.borderColor};
1234
+ background: ${({$theme:o})=>o.backgroundColor};
1235
+ border: 1px solid ${({$theme:o})=>o.borderColor};
1599
1236
  border-radius: 6px;
1600
1237
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
1601
1238
  overflow: hidden;
1602
- `;
1603
- // ============================================================================
1604
- // Set Filter (Filter by unique values)
1605
- // ============================================================================
1606
- export const SetFilterContainer = styled.div `
1239
+ `,SetFilterContainer=e.div`
1607
1240
  min-width: 200px;
1608
1241
  max-width: 300px;
1609
1242
  max-height: 400px;
1610
- background: ${({ $theme }) => $theme.backgroundColor};
1611
- border: 1px solid ${({ $theme }) => $theme.borderColor};
1243
+ background: ${({$theme:o})=>o.backgroundColor};
1244
+ border: 1px solid ${({$theme:o})=>o.borderColor};
1612
1245
  border-radius: 6px;
1613
1246
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
1614
1247
  overflow: hidden;
1615
1248
  display: flex;
1616
1249
  flex-direction: column;
1617
- `;
1618
- export const SetFilterHeader = styled.div `
1250
+ `,SetFilterHeader=e.div`
1619
1251
  padding: 8px 12px;
1620
- border-bottom: 1px solid ${({ $theme }) => $theme.borderColor};
1252
+ border-bottom: 1px solid ${({$theme:o})=>o.borderColor};
1621
1253
  font-size: 12px;
1622
1254
  font-weight: 600;
1623
- color: ${({ $theme }) => $theme.headerTextColor};
1624
- background: ${({ $theme }) => $theme.headerBackgroundColor};
1625
- `;
1626
- export const SetFilterSearch = styled.div `
1255
+ color: ${({$theme:o})=>o.headerTextColor};
1256
+ background: ${({$theme:o})=>o.headerBackgroundColor};
1257
+ `,SetFilterSearch=e.div`
1627
1258
  padding: 8px 10px;
1628
- border-bottom: 1px solid ${({ $theme }) => $theme.borderColor};
1259
+ border-bottom: 1px solid ${({$theme:o})=>o.borderColor};
1629
1260
 
1630
1261
  input {
1631
1262
  width: 100%;
1632
1263
  padding: 6px 10px;
1633
1264
  font-size: 12px;
1634
- border: 1px solid ${({ $theme }) => $theme.borderColor};
1265
+ border: 1px solid ${({$theme:o})=>o.borderColor};
1635
1266
  border-radius: 4px;
1636
- background: ${({ $theme }) => $theme.backgroundColor};
1637
- color: ${({ $theme }) => $theme.textColor};
1267
+ background: ${({$theme:o})=>o.backgroundColor};
1268
+ color: ${({$theme:o})=>o.textColor};
1638
1269
  outline: none;
1639
1270
 
1640
1271
  &:focus {
1641
- border-color: ${({ $theme }) => $theme.accentColor};
1272
+ border-color: ${({$theme:o})=>o.accentColor};
1642
1273
  }
1643
1274
 
1644
1275
  &::placeholder {
1645
- color: ${({ $theme }) => $theme.headerTextColor};
1276
+ color: ${({$theme:o})=>o.headerTextColor};
1646
1277
  opacity: 0.6;
1647
1278
  }
1648
1279
  }
1649
- `;
1650
- export const SetFilterList = styled.div `
1280
+ `,SetFilterList=e.div`
1651
1281
  flex: 1;
1652
1282
  overflow-y: auto;
1653
1283
  max-height: 280px;
1654
- `;
1655
- export const SetFilterItem = styled.label `
1284
+ `,SetFilterItem=e.label`
1656
1285
  display: flex;
1657
1286
  align-items: center;
1658
1287
  gap: 8px;
1659
1288
  padding: 6px 12px;
1660
1289
  font-size: 13px;
1661
- color: ${({ $theme }) => $theme.textColor};
1290
+ color: ${({$theme:o})=>o.textColor};
1662
1291
  cursor: pointer;
1663
1292
  transition: background-color 0.1s ease;
1664
- border-bottom: ${({ $selectAll, $theme }) => ($selectAll ? `1px solid ${$theme.borderColor}` : 'none')};
1665
- font-weight: ${({ $selectAll }) => ($selectAll ? '500' : 'normal')};
1293
+ border-bottom: ${({$selectAll:o,$theme:r})=>o?`1px solid ${r.borderColor}`:"none"};
1294
+ font-weight: ${({$selectAll:o})=>o?"500":"normal"};
1666
1295
 
1667
1296
  &:hover {
1668
- background: ${({ $theme }) => $theme.hoverRowBackgroundColor};
1297
+ background: ${({$theme:o})=>o.hoverRowBackgroundColor};
1669
1298
  }
1670
1299
 
1671
1300
  input {
1672
1301
  margin: 0;
1673
- accent-color: ${({ $theme }) => $theme.accentColor};
1302
+ accent-color: ${({$theme:o})=>o.accentColor};
1674
1303
  }
1675
- `;
1676
- export const SetFilterActions = styled.div `
1304
+ `,SetFilterActions=e.div`
1677
1305
  display: flex;
1678
1306
  gap: 8px;
1679
1307
  padding: 8px 10px;
1680
- border-top: 1px solid ${({ $theme }) => $theme.borderColor};
1681
- background: ${({ $theme }) => $theme.headerBackgroundColor};
1682
- `;
1683
- export const SetFilterButton = styled.button `
1308
+ border-top: 1px solid ${({$theme:o})=>o.borderColor};
1309
+ background: ${({$theme:o})=>o.headerBackgroundColor};
1310
+ `,SetFilterButton=e.button`
1684
1311
  flex: 1;
1685
1312
  padding: 6px 12px;
1686
1313
  font-size: 12px;
1687
1314
  font-weight: 500;
1688
- border: 1px solid ${({ $theme, $primary }) => ($primary ? $theme.accentColor : $theme.borderColor)};
1315
+ border: 1px solid ${({$theme:o,$primary:r})=>r?o.accentColor:o.borderColor};
1689
1316
  border-radius: 4px;
1690
- background: ${({ $theme, $primary }) => ($primary ? $theme.accentColor : $theme.backgroundColor)};
1691
- color: ${({ $primary, $theme }) => ($primary ? '#ffffff' : $theme.textColor)};
1317
+ background: ${({$theme:o,$primary:r})=>r?o.accentColor:o.backgroundColor};
1318
+ color: ${({$primary:o,$theme:r})=>o?"#ffffff":r.textColor};
1692
1319
  cursor: pointer;
1693
1320
  transition: all 0.15s ease;
1694
1321
 
1695
1322
  &:hover {
1696
1323
  filter: brightness(0.95);
1697
1324
  }
1698
- `;
1699
- // ============================================================================
1700
- // Filter Panel in Side Bar
1701
- // ============================================================================
1702
- export const FilterPanelColumn = styled.div `
1703
- border-bottom: 1px solid ${({ $theme }) => $theme.borderColor};
1704
- `;
1705
- export const FilterPanelHeader = styled.div `
1325
+ `,FilterPanelColumn=e.div`
1326
+ border-bottom: 1px solid ${({$theme:o})=>o.borderColor};
1327
+ `,FilterPanelHeader=e.div`
1706
1328
  display: flex;
1707
1329
  align-items: center;
1708
1330
  gap: 8px;
1709
1331
  padding: 8px 12px;
1710
1332
  font-size: 13px;
1711
1333
  font-weight: 500;
1712
- color: ${({ $theme, $hasFilter }) => ($hasFilter ? $theme.accentColor : $theme.textColor)};
1334
+ color: ${({$theme:o,$hasFilter:r})=>r?o.accentColor:o.textColor};
1713
1335
  cursor: pointer;
1714
1336
  transition: background-color 0.1s ease;
1715
1337
 
1716
1338
  &:hover {
1717
- background: ${({ $theme }) => $theme.hoverRowBackgroundColor};
1339
+ background: ${({$theme:o})=>o.hoverRowBackgroundColor};
1718
1340
  }
1719
1341
 
1720
1342
  svg {
1721
1343
  width: 12px;
1722
1344
  height: 12px;
1723
1345
  transition: transform 0.2s ease;
1724
- transform: ${({ $expanded }) => ($expanded ? 'rotate(90deg)' : 'rotate(0deg)')};
1346
+ transform: ${({$expanded:o})=>o?"rotate(90deg)":"rotate(0deg)"};
1725
1347
  opacity: 0.5;
1726
1348
  }
1727
- `;
1728
- export const FilterPanelContent = styled.div `
1729
- display: ${({ $expanded }) => ($expanded ? 'block' : 'none')};
1349
+ `,FilterPanelContent=e.div`
1350
+ display: ${({$expanded:o})=>o?"block":"none"};
1730
1351
  padding: 8px 12px;
1731
- background: ${({ $theme }) => $theme.headerBackgroundColor}50;
1732
- `;
1733
- // ============================================================================
1734
- // Grid Container with Side Panel Layout
1735
- // ============================================================================
1736
- export const GridLayout = styled.div `
1352
+ background: ${({$theme:o})=>o.headerBackgroundColor}50;
1353
+ `,GridLayout=e.div`
1737
1354
  display: flex;
1738
1355
  width: 100%;
1739
1356
  height: 100%;
1740
1357
  overflow: hidden;
1741
- `;
1742
- export const GridMainArea = styled.div `
1358
+ `,GridMainArea=e.div`
1743
1359
  flex: 1;
1744
1360
  display: flex;
1745
1361
  flex-direction: column;
1746
1362
  min-width: 0;
1747
1363
  overflow: hidden;
1748
- `;
1749
- // ============================================================================
1750
- // Column Visibility Dropdown
1751
- // ============================================================================
1752
- export const ColumnVisibilityDropdown = styled.div `
1364
+ `,ColumnVisibilityDropdown=e.div`
1753
1365
  position: absolute;
1754
1366
  top: 100%;
1755
1367
  right: 0;
1756
1368
  min-width: 220px;
1757
1369
  max-height: 400px;
1758
- background: ${({ $theme }) => $theme.backgroundColor};
1759
- border: 1px solid ${({ $theme }) => $theme.borderColor};
1370
+ background: ${({$theme:o})=>o.backgroundColor};
1371
+ border: 1px solid ${({$theme:o})=>o.borderColor};
1760
1372
  border-radius: 6px;
1761
1373
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
1762
1374
  z-index: 100;
1763
1375
  overflow: hidden;
1764
1376
  display: flex;
1765
1377
  flex-direction: column;
1766
- animation: ${fadeIn} 0.15s ease;
1767
- `;
1768
- export const ColumnVisibilityList = styled.div `
1378
+ animation: ${i} 0.15s ease;
1379
+ `,ColumnVisibilityList=e.div`
1769
1380
  flex: 1;
1770
1381
  overflow-y: auto;
1771
- `;
1772
- export const ColumnVisibilityItem = styled.label `
1382
+ `,ColumnVisibilityItem=e.label`
1773
1383
  display: flex;
1774
1384
  align-items: center;
1775
1385
  gap: 8px;
1776
1386
  padding: 8px 12px;
1777
1387
  font-size: 13px;
1778
- color: ${({ $theme }) => $theme.textColor};
1388
+ color: ${({$theme:o})=>o.textColor};
1779
1389
  cursor: pointer;
1780
1390
  transition: background-color 0.1s ease;
1781
1391
 
1782
1392
  &:hover {
1783
- background: ${({ $theme }) => $theme.hoverRowBackgroundColor};
1393
+ background: ${({$theme:o})=>o.hoverRowBackgroundColor};
1784
1394
  }
1785
1395
 
1786
1396
  input {
1787
1397
  margin: 0;
1788
- accent-color: ${({ $theme }) => $theme.accentColor};
1398
+ accent-color: ${({$theme:o})=>o.accentColor};
1789
1399
  }
1790
- `;
1791
- // ============================================================================
1792
- // Export all themes
1793
- // ============================================================================
1794
- export { themes };
1400
+ `;export{a as themes};