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,31 +1,4 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- /**
3
- * Column Reorder Feature
4
- *
5
- * This file contains the column reordering (drag & drop) functionality for the Table component.
6
- * It can be easily enabled/disabled via props without affecting core table logic.
7
- *
8
- * Features:
9
- * - Long press on header to start dragging
10
- * - Drag column to new position
11
- * - Visual feedback during drag (ghost element, drop indicators)
12
- * - Callback when columns are reordered
13
- *
14
- * Usage:
15
- * <Table
16
- * reorderable={true}
17
- * reorderConfig={{
18
- * longPressDelay: 200,
19
- * onReorder: (newColumns, fromIndex, toIndex) => console.log(newColumns),
20
- * }}
21
- * />
22
- */
23
- import { useRef, useState, useCallback, useEffect, useMemo, } from 'react';
24
- import { styled, css, keyframes } from 'styled-components';
25
- // ============================================================================
26
- // Animations
27
- // ============================================================================
28
- const shake = keyframes `
1
+ "use strict";import{jsx as z}from"react/jsx-runtime";import{useRef as R,useState as f,useCallback as l,useEffect as N,useMemo as Z}from"react";import{styled as G,css as u,keyframes as v}from"styled-components";const ut=v`
29
2
  0%, 100% { transform: translateX(0) rotate(0deg); }
30
3
  10% { transform: translateX(-2px) rotate(-0.5deg); }
31
4
  20% { transform: translateX(2px) rotate(0.5deg); }
@@ -36,8 +9,7 @@ const shake = keyframes `
36
9
  70% { transform: translateX(-1px) rotate(-0.2deg); }
37
10
  80% { transform: translateX(1px) rotate(0.2deg); }
38
11
  90% { transform: translateX(0) rotate(0deg); }
39
- `;
40
- const pulse = keyframes `
12
+ `,tt=v`
41
13
  0%, 100% {
42
14
  opacity: 1;
43
15
  transform: scale(1);
@@ -46,12 +18,10 @@ const pulse = keyframes `
46
18
  opacity: 0.7;
47
19
  transform: scale(0.98);
48
20
  }
49
- `;
50
- const float = keyframes `
21
+ `,et=v`
51
22
  0%, 100% { transform: translate(-50%, -50%) scale(1.05) rotate(-1deg); }
52
23
  50% { transform: translate(-50%, -50%) scale(1.08) rotate(1deg); }
53
- `;
54
- const glowPulse = keyframes `
24
+ `,rt=v`
55
25
  0%, 100% {
56
26
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3),
57
27
  0 0 0 0 rgba(59, 130, 246, 0);
@@ -60,8 +30,7 @@ const glowPulse = keyframes `
60
30
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4),
61
31
  0 0 20px 4px rgba(59, 130, 246, 0.3);
62
32
  }
63
- `;
64
- const dropIndicatorPulse = keyframes `
33
+ `,ot=v`
65
34
  0%, 100% {
66
35
  opacity: 1;
67
36
  transform: scaleY(1);
@@ -70,8 +39,7 @@ const dropIndicatorPulse = keyframes `
70
39
  opacity: 0.8;
71
40
  transform: scaleY(1.02);
72
41
  }
73
- `;
74
- const slideDown = keyframes `
42
+ `,nt=v`
75
43
  from {
76
44
  transform: translateY(-10px) scaleY(0.5);
77
45
  opacity: 0;
@@ -80,18 +48,14 @@ const slideDown = keyframes `
80
48
  transform: translateY(0) scaleY(1);
81
49
  opacity: 1;
82
50
  }
83
- `;
84
- // ============================================================================
85
- // Styled Components
86
- // ============================================================================
87
- export const DragGhost = styled.div `
51
+ `;export const DragGhost=G.div`
88
52
  position: fixed;
89
- top: ${({ $y }) => $y}px;
90
- left: ${({ $x }) => $x}px;
53
+ top: ${({$y:t})=>t}px;
54
+ left: ${({$x:t})=>t}px;
91
55
  z-index: 10000;
92
56
  pointer-events: none;
93
- opacity: ${({ $visible, $opacity }) => ($visible ? $opacity : 0)};
94
- transform: translate(-50%, -50%) scale(${({ $visible }) => ($visible ? 1.05 : 0.8)});
57
+ opacity: ${({$visible:t,$opacity:s})=>t?s:0};
58
+ transform: translate(-50%, -50%) scale(${({$visible:t})=>t?1.05:.8});
95
59
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
96
60
 
97
61
  /* Glass morphism effect */
@@ -112,9 +76,8 @@ export const DragGhost = styled.div `
112
76
  border: 1px solid rgba(255, 255, 255, 0.2);
113
77
 
114
78
  /* Floating animation when visible */
115
- ${({ $visible }) => $visible &&
116
- css `
117
- animation: ${float} 2s ease-in-out infinite, ${glowPulse} 1.5s ease-in-out infinite;
79
+ ${({$visible:t})=>t&&u`
80
+ animation: ${et} 2s ease-in-out infinite, ${rt} 1.5s ease-in-out infinite;
118
81
  `}
119
82
 
120
83
  /* Icon with animation */
@@ -143,38 +106,34 @@ export const DragGhost = styled.div `
143
106
  );
144
107
  pointer-events: none;
145
108
  }
146
- `;
147
- export const DropIndicator = styled.div `
109
+ `,DropIndicator=G.div`
148
110
  position: absolute;
149
111
  top: -4px;
150
112
  bottom: -4px;
151
113
  width: 4px;
152
114
  z-index: 100;
153
- opacity: ${({ $visible }) => ($visible ? 1 : 0)};
115
+ opacity: ${({$visible:t})=>t?1:0};
154
116
  transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
155
117
  transform-origin: center;
156
118
 
157
- ${({ $position }) => $position === 'left'
158
- ? css `left: -2px;`
159
- : css `right: -2px;`}
119
+ ${({$position:t})=>t==="left"?u`left: -2px;`:u`right: -2px;`}
160
120
 
161
121
  /* Gradient background with glow */
162
122
  background: linear-gradient(
163
123
  to bottom,
164
124
  transparent 0%,
165
- ${({ $color }) => $color} 10%,
166
- ${({ $color }) => $color} 90%,
125
+ ${({$color:t})=>t} 10%,
126
+ ${({$color:t})=>t} 90%,
167
127
  transparent 100%
168
128
  );
169
129
  border-radius: 2px;
170
130
  box-shadow:
171
- 0 0 8px ${({ $color }) => $color},
172
- 0 0 16px ${({ $color }) => $color}80;
131
+ 0 0 8px ${({$color:t})=>t},
132
+ 0 0 16px ${({$color:t})=>t}80;
173
133
 
174
134
  /* Pulsing animation when visible */
175
- ${({ $visible }) => $visible &&
176
- css `
177
- animation: ${dropIndicatorPulse} 0.8s ease-in-out infinite, ${slideDown} 0.2s ease-out;
135
+ ${({$visible:t})=>t&&u`
136
+ animation: ${ot} 0.8s ease-in-out infinite, ${nt} 0.2s ease-out;
178
137
  `}
179
138
 
180
139
  /* Top arrow */
@@ -188,8 +147,8 @@ export const DropIndicator = styled.div `
188
147
  height: 0;
189
148
  border-left: 8px solid transparent;
190
149
  border-right: 8px solid transparent;
191
- border-bottom: 8px solid ${({ $color }) => $color};
192
- filter: drop-shadow(0 -2px 4px ${({ $color }) => $color}80);
150
+ border-bottom: 8px solid ${({$color:t})=>t};
151
+ filter: drop-shadow(0 -2px 4px ${({$color:t})=>t}80);
193
152
  }
194
153
 
195
154
  /* Bottom arrow */
@@ -203,19 +162,17 @@ export const DropIndicator = styled.div `
203
162
  height: 0;
204
163
  border-left: 8px solid transparent;
205
164
  border-right: 8px solid transparent;
206
- border-top: 8px solid ${({ $color }) => $color};
207
- filter: drop-shadow(0 2px 4px ${({ $color }) => $color}80);
165
+ border-top: 8px solid ${({$color:t})=>t};
166
+ filter: drop-shadow(0 2px 4px ${({$color:t})=>t}80);
208
167
  }
209
- `;
210
- export const DraggableHeader = styled.div `
168
+ `,DraggableHeader=G.div`
211
169
  position: relative;
212
- cursor: ${({ $isDisabled }) => ($isDisabled ? 'default' : 'grab')};
170
+ cursor: ${({$isDisabled:t})=>t?"default":"grab"};
213
171
  user-select: none;
214
172
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
215
173
 
216
174
  /* Dragging state - semi-transparent with scale */
217
- ${({ $isDragging }) => $isDragging &&
218
- css `
175
+ ${({$isDragging:t})=>t&&u`
219
176
  opacity: 0.35;
220
177
  transform: scale(0.95);
221
178
  cursor: grabbing;
@@ -238,22 +195,19 @@ export const DraggableHeader = styled.div `
238
195
  `}
239
196
 
240
197
  /* Drag over state - highlight target */
241
- ${({ $isDragOver, $animated }) => $isDragOver &&
242
- css `
198
+ ${({$isDragOver:t,$animated:s})=>t&&u`
243
199
  background: rgba(59, 130, 246, 0.15);
244
200
  transform: scale(1.02);
245
201
  box-shadow: inset 0 0 0 2px rgba(59, 130, 246, 0.4);
246
202
  border-radius: 4px;
247
203
 
248
- ${$animated &&
249
- css `
250
- animation: ${pulse} 0.6s ease-in-out infinite;
204
+ ${s&&u`
205
+ animation: ${tt} 0.6s ease-in-out infinite;
251
206
  `}
252
207
  `}
253
208
 
254
209
  /* Disabled state */
255
- ${({ $isDisabled }) => $isDisabled &&
256
- css `
210
+ ${({$isDisabled:t})=>t&&u`
257
211
  cursor: not-allowed;
258
212
  opacity: 0.6;
259
213
 
@@ -268,263 +222,13 @@ export const DraggableHeader = styled.div `
268
222
  `}
269
223
 
270
224
  &:active {
271
- cursor: ${({ $isDisabled }) => ($isDisabled ? 'not-allowed' : 'grabbing')};
225
+ cursor: ${({$isDisabled:t})=>t?"not-allowed":"grabbing"};
272
226
  }
273
227
 
274
228
  /* Hover state for grabbable columns */
275
229
  &:hover {
276
- ${({ $isDisabled, $isDragging }) => !$isDisabled &&
277
- !$isDragging &&
278
- css `
230
+ ${({$isDisabled:t,$isDragging:s})=>!t&&!s&&u`
279
231
  background: rgba(255, 255, 255, 0.1);
280
232
  `}
281
233
  }
282
- `;
283
- // ============================================================================
284
- // Hook: useColumnReorder
285
- // ============================================================================
286
- export function useColumnReorder({ columns, config = {}, enabled = true, }) {
287
- const { longPressDelay = 200, onReorder, onDragStart, onDragEnd, disabledColumns = [], ghostOpacity = 0.8, dropIndicatorColor = '#3b82f6', animated = true, } = config;
288
- // State
289
- const [orderedColumns, setOrderedColumns] = useState(columns);
290
- const [isDragging, setIsDragging] = useState(false);
291
- const [draggedColumn, setDraggedColumn] = useState(null);
292
- const [draggedIndex, setDraggedIndex] = useState(null);
293
- const [dragOverColumn, setDragOverColumn] = useState(null);
294
- const [ghostPosition, setGhostPosition] = useState({ x: 0, y: 0 });
295
- const [ghostText, setGhostText] = useState('');
296
- // Refs
297
- const longPressTimerRef = useRef(null);
298
- const startPosRef = useRef({ x: 0, y: 0 });
299
- const isDraggingRef = useRef(false);
300
- // Update ordered columns when columns prop changes
301
- useEffect(() => {
302
- setOrderedColumns(columns);
303
- }, [columns]);
304
- // Cleanup on unmount
305
- useEffect(() => {
306
- return () => {
307
- if (longPressTimerRef.current) {
308
- clearTimeout(longPressTimerRef.current);
309
- }
310
- };
311
- }, []);
312
- // Start drag after long press
313
- const startDrag = useCallback((column, index, x, y) => {
314
- if (disabledColumns.includes(column.dataField))
315
- return;
316
- isDraggingRef.current = true;
317
- setIsDragging(true);
318
- setDraggedColumn(column.dataField);
319
- setDraggedIndex(index);
320
- setGhostPosition({ x, y });
321
- setGhostText(column.headerText || column.text);
322
- onDragStart?.(column, index);
323
- // Add global event listeners
324
- document.addEventListener('mousemove', handleMouseMove);
325
- document.addEventListener('mouseup', handleMouseUp);
326
- document.addEventListener('touchmove', handleTouchMove, { passive: false });
327
- document.addEventListener('touchend', handleTouchEnd);
328
- document.body.style.cursor = 'grabbing';
329
- document.body.style.userSelect = 'none';
330
- }, [disabledColumns, onDragStart]);
331
- // Handle mouse/touch move during drag
332
- const handleMouseMove = useCallback((e) => {
333
- if (!isDraggingRef.current)
334
- return;
335
- setGhostPosition({ x: e.clientX, y: e.clientY });
336
- updateDragOver(e.clientX, e.clientY);
337
- }, []);
338
- const handleTouchMove = useCallback((e) => {
339
- if (!isDraggingRef.current)
340
- return;
341
- e.preventDefault();
342
- const touch = e.touches[0];
343
- setGhostPosition({ x: touch.clientX, y: touch.clientY });
344
- updateDragOver(touch.clientX, touch.clientY);
345
- }, []);
346
- // Update which column we're hovering over
347
- const updateDragOver = useCallback((x, y) => {
348
- const elements = document.elementsFromPoint(x, y);
349
- const headerCell = elements.find((el) => el.getAttribute('data-draggable') === 'true');
350
- if (headerCell) {
351
- const dataField = headerCell.getAttribute('data-column');
352
- if (dataField && dataField !== draggedColumn) {
353
- setDragOverColumn(dataField);
354
- }
355
- }
356
- else {
357
- setDragOverColumn(null);
358
- }
359
- }, [draggedColumn]);
360
- // End drag
361
- const endDrag = useCallback(() => {
362
- if (!isDraggingRef.current)
363
- return;
364
- isDraggingRef.current = false;
365
- // Find the target index
366
- if (draggedColumn && dragOverColumn && draggedIndex !== null) {
367
- const fromIndex = draggedIndex;
368
- const toIndex = orderedColumns.findIndex((c) => c.dataField === dragOverColumn);
369
- if (fromIndex !== toIndex && toIndex !== -1) {
370
- const newColumns = [...orderedColumns];
371
- const [removed] = newColumns.splice(fromIndex, 1);
372
- newColumns.splice(toIndex, 0, removed);
373
- setOrderedColumns(newColumns);
374
- onReorder?.(newColumns, fromIndex, toIndex);
375
- }
376
- }
377
- // Get the column for callback
378
- const column = orderedColumns.find((c) => c.dataField === draggedColumn);
379
- if (column && draggedIndex !== null) {
380
- onDragEnd?.(column, draggedIndex);
381
- }
382
- // Reset state
383
- setIsDragging(false);
384
- setDraggedColumn(null);
385
- setDraggedIndex(null);
386
- setDragOverColumn(null);
387
- // Remove global event listeners
388
- document.removeEventListener('mousemove', handleMouseMove);
389
- document.removeEventListener('mouseup', handleMouseUp);
390
- document.removeEventListener('touchmove', handleTouchMove);
391
- document.removeEventListener('touchend', handleTouchEnd);
392
- document.body.style.cursor = '';
393
- document.body.style.userSelect = '';
394
- }, [
395
- draggedColumn,
396
- dragOverColumn,
397
- draggedIndex,
398
- orderedColumns,
399
- onReorder,
400
- onDragEnd,
401
- handleMouseMove,
402
- handleTouchMove,
403
- ]);
404
- const handleMouseUp = useCallback(() => {
405
- if (longPressTimerRef.current) {
406
- clearTimeout(longPressTimerRef.current);
407
- longPressTimerRef.current = null;
408
- }
409
- endDrag();
410
- }, [endDrag]);
411
- const handleTouchEnd = useCallback(() => {
412
- if (longPressTimerRef.current) {
413
- clearTimeout(longPressTimerRef.current);
414
- longPressTimerRef.current = null;
415
- }
416
- endDrag();
417
- }, [endDrag]);
418
- // Mouse down handler - starts long press timer
419
- const handleMouseDown = useCallback((e, column, index) => {
420
- if (!enabled || disabledColumns.includes(column.dataField))
421
- return;
422
- e.preventDefault();
423
- startPosRef.current = { x: e.clientX, y: e.clientY };
424
- // Start long press timer
425
- longPressTimerRef.current = setTimeout(() => {
426
- startDrag(column, index, e.clientX, e.clientY);
427
- }, longPressDelay);
428
- // Add mouse move listener to cancel if moved too much
429
- const handleEarlyMove = (moveEvent) => {
430
- const dx = moveEvent.clientX - startPosRef.current.x;
431
- const dy = moveEvent.clientY - startPosRef.current.y;
432
- if (Math.sqrt(dx * dx + dy * dy) > 10) {
433
- if (longPressTimerRef.current) {
434
- clearTimeout(longPressTimerRef.current);
435
- longPressTimerRef.current = null;
436
- }
437
- document.removeEventListener('mousemove', handleEarlyMove);
438
- }
439
- };
440
- document.addEventListener('mousemove', handleEarlyMove);
441
- // Cleanup early move listener on mouse up
442
- const cleanup = () => {
443
- document.removeEventListener('mousemove', handleEarlyMove);
444
- document.removeEventListener('mouseup', cleanup);
445
- if (longPressTimerRef.current && !isDraggingRef.current) {
446
- clearTimeout(longPressTimerRef.current);
447
- longPressTimerRef.current = null;
448
- }
449
- };
450
- document.addEventListener('mouseup', cleanup);
451
- }, [enabled, disabledColumns, longPressDelay, startDrag]);
452
- // Touch start handler
453
- const handleTouchStart = useCallback((e, column, index) => {
454
- if (!enabled || disabledColumns.includes(column.dataField))
455
- return;
456
- const touch = e.touches[0];
457
- startPosRef.current = { x: touch.clientX, y: touch.clientY };
458
- // Start long press timer
459
- longPressTimerRef.current = setTimeout(() => {
460
- startDrag(column, index, touch.clientX, touch.clientY);
461
- }, longPressDelay);
462
- }, [enabled, disabledColumns, longPressDelay, startDrag]);
463
- // Get drag handle props for a column header
464
- const getDragHandleProps = useCallback((column, index) => {
465
- const isDisabled = disabledColumns.includes(column.dataField);
466
- const isThisDragging = draggedColumn === column.dataField;
467
- const isThisDragOver = dragOverColumn === column.dataField;
468
- return {
469
- onMouseDown: (e) => handleMouseDown(e, column, index),
470
- onTouchStart: (e) => handleTouchStart(e, column, index),
471
- 'data-draggable': enabled && !isDisabled,
472
- 'data-dragging': isThisDragging,
473
- 'data-drag-over': isThisDragOver,
474
- style: {
475
- cursor: enabled && !isDisabled ? 'grab' : 'default',
476
- opacity: isThisDragging ? 0.4 : 1,
477
- transition: 'opacity 0.2s ease',
478
- },
479
- };
480
- }, [
481
- enabled,
482
- disabledColumns,
483
- draggedColumn,
484
- dragOverColumn,
485
- handleMouseDown,
486
- handleTouchStart,
487
- ]);
488
- // Reset column order
489
- const resetOrder = useCallback(() => {
490
- setOrderedColumns(columns);
491
- }, [columns]);
492
- // Render ghost element (called from Table component)
493
- const GhostElement = useMemo(() => (_jsx(DragGhost, { "$visible": isDragging, "$x": ghostPosition.x, "$y": ghostPosition.y, "$opacity": ghostOpacity, children: ghostText })), [isDragging, ghostPosition, ghostOpacity, ghostText]);
494
- return {
495
- orderedColumns,
496
- getDragHandleProps,
497
- isDragging,
498
- draggedColumn,
499
- dragOverColumn,
500
- ghostPosition,
501
- ghostText,
502
- resetOrder,
503
- };
504
- }
505
- export const ColumnReorderGhost = ({ visible, x, y, text, opacity = 0.8, }) => (_jsx(DragGhost, { "$visible": visible, "$x": x, "$y": y, "$opacity": opacity, children: text }));
506
- export const ColumnDropIndicator = ({ visible, position, color = '#3b82f6', }) => _jsx(DropIndicator, { "$visible": visible, "$position": position, "$color": color });
507
- // ============================================================================
508
- // Helper: Get header cell wrapper props
509
- // ============================================================================
510
- export function getReorderableHeaderProps(column, index, getDragHandleProps, isDragging, draggedColumn, dragOverColumn) {
511
- const wrapperProps = getDragHandleProps(column, index);
512
- const showDropIndicator = isDragging && dragOverColumn === column.dataField && draggedColumn !== column.dataField;
513
- return {
514
- wrapperProps,
515
- showDropIndicator,
516
- dropPosition: 'left', // Always show on left side
517
- };
518
- }
519
- // ============================================================================
520
- // Export
521
- // ============================================================================
522
- export default {
523
- useColumnReorder,
524
- DragGhost,
525
- DropIndicator,
526
- DraggableHeader,
527
- ColumnReorderGhost,
528
- ColumnDropIndicator,
529
- getReorderableHeaderProps,
530
- };
234
+ `;export function useColumnReorder({columns:t,config:s={},enabled:i=!0}){const{longPressDelay:p=200,onReorder:m,onDragStart:w,onDragEnd:D,disabledColumns:d=[],ghostOpacity:O=.8,dropIndicatorColor:at="#3b82f6",animated:st=!0}=s,[y,C]=f(t),[F,S]=f(!1),[g,H]=f(null),[$,j]=f(null),[x,k]=f(null),[X,L]=f({x:0,y:0}),[P,Q]=f(""),n=R(null),T=R({x:0,y:0}),b=R(!1);N(()=>{C(t)},[t]),N(()=>()=>{n.current&&clearTimeout(n.current)},[]);const E=l((e,r,a,o)=>{d.includes(e.dataField)||(b.current=!0,S(!0),H(e.dataField),j(r),L({x:a,y:o}),Q(e.headerText||e.text),w?.(e,r),document.addEventListener("mousemove",I),document.addEventListener("mouseup",q),document.addEventListener("touchmove",M,{passive:!1}),document.addEventListener("touchend",B),document.body.style.cursor="grabbing",document.body.style.userSelect="none")},[d,w]),I=l(e=>{b.current&&(L({x:e.clientX,y:e.clientY}),A(e.clientX,e.clientY))},[]),M=l(e=>{if(!b.current)return;e.preventDefault();const r=e.touches[0];L({x:r.clientX,y:r.clientY}),A(r.clientX,r.clientY)},[]),A=l((e,r)=>{const o=document.elementsFromPoint(e,r).find(c=>c.getAttribute("data-draggable")==="true");if(o){const c=o.getAttribute("data-column");c&&c!==g&&k(c)}else k(null)},[g]),Y=l(()=>{if(!b.current)return;if(b.current=!1,g&&x&&$!==null){const r=$,a=y.findIndex(o=>o.dataField===x);if(r!==a&&a!==-1){const o=[...y],[c]=o.splice(r,1);o.splice(a,0,c),C(o),m?.(o,r,a)}}const e=y.find(r=>r.dataField===g);e&&$!==null&&D?.(e,$),S(!1),H(null),j(null),k(null),document.removeEventListener("mousemove",I),document.removeEventListener("mouseup",q),document.removeEventListener("touchmove",M),document.removeEventListener("touchend",B),document.body.style.cursor="",document.body.style.userSelect=""},[g,x,$,y,m,D,I,M]),q=l(()=>{n.current&&(clearTimeout(n.current),n.current=null),Y()},[Y]),B=l(()=>{n.current&&(clearTimeout(n.current),n.current=null),Y()},[Y]),U=l((e,r,a)=>{if(!i||d.includes(r.dataField))return;e.preventDefault(),T.current={x:e.clientX,y:e.clientY},n.current=setTimeout(()=>{E(r,a,e.clientX,e.clientY)},p);const o=h=>{const J=h.clientX-T.current.x,K=h.clientY-T.current.y;Math.sqrt(J*J+K*K)>10&&(n.current&&(clearTimeout(n.current),n.current=null),document.removeEventListener("mousemove",o))};document.addEventListener("mousemove",o);const c=()=>{document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",c),n.current&&!b.current&&(clearTimeout(n.current),n.current=null)};document.addEventListener("mouseup",c)},[i,d,p,E]),_=l((e,r,a)=>{if(!i||d.includes(r.dataField))return;const o=e.touches[0];T.current={x:o.clientX,y:o.clientY},n.current=setTimeout(()=>{E(r,a,o.clientX,o.clientY)},p)},[i,d,p,E]),V=l((e,r)=>{const a=d.includes(e.dataField),o=g===e.dataField,c=x===e.dataField;return{onMouseDown:h=>U(h,e,r),onTouchStart:h=>_(h,e,r),"data-draggable":i&&!a,"data-dragging":o,"data-drag-over":c,style:{cursor:i&&!a?"grab":"default",opacity:o?.4:1,transition:"opacity 0.2s ease"}}},[i,d,g,x,U,_]),W=l(()=>{C(t)},[t]),it=Z(()=>z(DragGhost,{$visible:F,$x:X.x,$y:X.y,$opacity:O,children:P}),[F,X,O,P]);return{orderedColumns:y,getDragHandleProps:V,isDragging:F,draggedColumn:g,dragOverColumn:x,ghostPosition:X,ghostText:P,resetOrder:W}}export const ColumnReorderGhost=({visible:t,x:s,y:i,text:p,opacity:m=.8})=>z(DragGhost,{$visible:t,$x:s,$y:i,$opacity:m,children:p}),ColumnDropIndicator=({visible:t,position:s,color:i="#3b82f6"})=>z(DropIndicator,{$visible:t,$position:s,$color:i});export function getReorderableHeaderProps(t,s,i,p,m,w){const D=i(t,s),d=p&&w===t.dataField&&m!==t.dataField;return{wrapperProps:D,showDropIndicator:d,dropPosition:"left"}}export default{useColumnReorder,DragGhost,DropIndicator,DraggableHeader,ColumnReorderGhost,ColumnDropIndicator,getReorderableHeaderProps};