react-restyle-components 0.4.39 → 0.4.41

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 (243) hide show
  1. package/lib/index.js +3 -1
  2. package/lib/src/core-components/index.js +1 -1
  3. package/lib/src/core-components/src/components/Accordion/AccordionSection/Accordion.js +15 -1
  4. package/lib/src/core-components/src/components/Accordion/AccordionSection/AccordionContext.js +6 -1
  5. package/lib/src/core-components/src/components/Accordion/AccordionSection/AccordionSection.js +39 -1
  6. package/lib/src/core-components/src/components/Accordion/AccordionSection/Header.js +39 -1
  7. package/lib/src/core-components/src/components/Accordion/AccordionSection/elements.js +94 -57
  8. package/lib/src/core-components/src/components/Accordion/AccordionSection/hooks/useCurrentAccordionIndex.js +13 -1
  9. package/lib/src/core-components/src/components/Accordion/AccordionSection/index.js +3 -1
  10. package/lib/src/core-components/src/components/Accordion/AccordionSection/types.js +9 -1
  11. package/lib/src/core-components/src/components/Accordion/Collapsible/Collapsible2.component.js +249 -1
  12. package/lib/src/core-components/src/components/Action/types.js +8 -1
  13. package/lib/src/core-components/src/components/AlertBanner/AlertBanner.js +45 -1
  14. package/lib/src/core-components/src/components/AlertBanner/elements.js +120 -45
  15. package/lib/src/core-components/src/components/AlertBanner/index.js +2 -1
  16. package/lib/src/core-components/src/components/AlertBanner/types.js +10 -1
  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 +334 -1
  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 +229 -1
  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 +174 -1
  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 +129 -2
  21. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-single-select/auto-complete-filter-single-select.component.js +55 -1
  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 +308 -2
  23. package/lib/src/core-components/src/components/AutoComplete/auto-complete-group-by/auto-complete-group-by.component.js +115 -1
  24. package/lib/src/core-components/src/components/AutoComplete/autocomplete/autocomplete.js +442 -2
  25. package/lib/src/core-components/src/components/AutoComplete/index.js +8 -1
  26. package/lib/src/core-components/src/components/Avatar/Avatar.js +148 -14
  27. package/lib/src/core-components/src/components/Badge/Badge.js +25 -2
  28. package/lib/src/core-components/src/components/Badge/InnerBadge/Inline.js +25 -1
  29. package/lib/src/core-components/src/components/Badge/InnerBadge/InnerBadge.js +25 -1
  30. package/lib/src/core-components/src/components/Badge/InnerBadge/elements.js +78 -32
  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 +5 -1
  34. package/lib/src/core-components/src/components/Breadcrumb/Breadcrumb.js +83 -1
  35. package/lib/src/core-components/src/components/Breadcrumb/elements.js +166 -94
  36. package/lib/src/core-components/src/components/Breadcrumb/index.js +3 -1
  37. package/lib/src/core-components/src/components/Breadcrumb/types.js +3 -1
  38. package/lib/src/core-components/src/components/Button/button.component.js +18 -1
  39. package/lib/src/core-components/src/components/Button/buttonGroup/buttonGroup.component.js +4 -1
  40. package/lib/src/core-components/src/components/Button/index.js +2 -1
  41. package/lib/src/core-components/src/components/Button/types.js +1 -1
  42. package/lib/src/core-components/src/components/Chip/Chip.js +64 -1
  43. package/lib/src/core-components/src/components/Chip/elements.js +148 -48
  44. package/lib/src/core-components/src/components/Chip/index.js +2 -1
  45. package/lib/src/core-components/src/components/Chip/types.js +4 -1
  46. package/lib/src/core-components/src/components/Divider/Divider.js +25 -1
  47. package/lib/src/core-components/src/components/Divider/elements.js +68 -31
  48. package/lib/src/core-components/src/components/Divider/index.js +2 -1
  49. package/lib/src/core-components/src/components/Divider/types.js +4 -1
  50. package/lib/src/core-components/src/components/DynamicGrid/DynamicGrid.js +147 -1
  51. package/lib/src/core-components/src/components/DynamicGrid/GridContainer.js +24 -17
  52. package/lib/src/core-components/src/components/DynamicGrid/elements.js +162 -100
  53. package/lib/src/core-components/src/components/DynamicGrid/index.js +3 -1
  54. package/lib/src/core-components/src/components/DynamicGrid/types.js +28 -1
  55. package/lib/src/core-components/src/components/DynamicGrid/utils.js +193 -1
  56. package/lib/src/core-components/src/components/FormField/FormField.js +103 -1
  57. package/lib/src/core-components/src/components/FormField/components/CheckboxGroupInput.js +37 -1
  58. package/lib/src/core-components/src/components/FormField/components/CheckboxInput.js +8 -1
  59. package/lib/src/core-components/src/components/FormField/components/CssMultilineInput.js +192 -1
  60. package/lib/src/core-components/src/components/FormField/components/DatePickerInput.js +99 -1
  61. package/lib/src/core-components/src/components/FormField/components/DropdownInput.js +70 -1
  62. package/lib/src/core-components/src/components/FormField/components/OtpInput.js +81 -1
  63. package/lib/src/core-components/src/components/FormField/components/PasswordInput.js +40 -1
  64. package/lib/src/core-components/src/components/FormField/components/PinInput.js +75 -1
  65. package/lib/src/core-components/src/components/FormField/components/RadioInput.js +54 -1
  66. package/lib/src/core-components/src/components/FormField/components/TextDropdownInput.js +94 -1
  67. package/lib/src/core-components/src/components/FormField/components/ToggleInput.js +36 -1
  68. package/lib/src/core-components/src/components/FormField/components/index.js +11 -1
  69. package/lib/src/core-components/src/components/FormField/css-properties.js +161 -1
  70. package/lib/src/core-components/src/components/FormField/index.js +2 -1
  71. package/lib/src/core-components/src/components/Icon/Icon.js +79 -1
  72. package/lib/src/core-components/src/components/Icon/index.js +2 -1
  73. package/lib/src/core-components/src/components/Icon/types.js +9 -1
  74. package/lib/src/core-components/src/components/Loader/loader.component.js +215 -2
  75. package/lib/src/core-components/src/components/Masonry/Masonry.js +73 -1
  76. package/lib/src/core-components/src/components/Masonry/elements.js +46 -29
  77. package/lib/src/core-components/src/components/Masonry/hooks.js +100 -1
  78. package/lib/src/core-components/src/components/Masonry/index.js +3 -1
  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 +116 -1
  81. package/lib/src/core-components/src/components/Modal/index.js +2 -1
  82. package/lib/src/core-components/src/components/Modal/modal-confirm/modal-confirm.component.js +147 -1
  83. package/lib/src/core-components/src/components/Picker/color-picker/color-picker.component.js +12 -1
  84. package/lib/src/core-components/src/components/Picker/color-picker-modal/color-picker-modal.component.js +40 -1
  85. package/lib/src/core-components/src/components/Picker/index.js +2 -1
  86. package/lib/src/core-components/src/components/Selection/index.js +4 -1
  87. package/lib/src/core-components/src/components/Selection/multi-select/multi-select.component.js +49 -1
  88. package/lib/src/core-components/src/components/Selection/multi-select-with-field/multi-select-with-field.component.js +58 -1
  89. package/lib/src/core-components/src/components/Selection/multi-selection-dropdown/multi-selection-dropdown.component.js +43 -1
  90. package/lib/src/core-components/src/components/Selection/single-select/single-select.component.js +87 -1
  91. package/lib/src/core-components/src/components/Skeleton/Skeleton.js +51 -1
  92. package/lib/src/core-components/src/components/Skeleton/elements.js +143 -54
  93. package/lib/src/core-components/src/components/Skeleton/index.js +2 -1
  94. package/lib/src/core-components/src/components/Skeleton/types.js +4 -1
  95. package/lib/src/core-components/src/components/SpeedDial/SpeedDial.js +128 -1
  96. package/lib/src/core-components/src/components/SpeedDial/elements.js +132 -62
  97. package/lib/src/core-components/src/components/SpeedDial/index.js +2 -1
  98. package/lib/src/core-components/src/components/SpeedDial/types.js +3 -1
  99. package/lib/src/core-components/src/components/Stepper2/stepper.component.js +139 -1
  100. package/lib/src/core-components/src/components/Switch/Switch.js +26 -1
  101. package/lib/src/core-components/src/components/Switch/elements.js +103 -34
  102. package/lib/src/core-components/src/components/Switch/index.js +2 -1
  103. package/lib/src/core-components/src/components/Switch/types.js +3 -1
  104. package/lib/src/core-components/src/components/Table/Table.js +1357 -1
  105. package/lib/src/core-components/src/components/Table/columnReorder.d.ts +128 -0
  106. package/lib/src/core-components/src/components/Table/columnReorder.js +530 -0
  107. package/lib/src/core-components/src/components/Table/columnResize.d.ts +99 -0
  108. package/lib/src/core-components/src/components/Table/columnResize.js +399 -0
  109. package/lib/src/core-components/src/components/Table/elements.d.ts +9 -1
  110. package/lib/src/core-components/src/components/Table/elements.js +324 -155
  111. package/lib/src/core-components/src/components/Table/filters.js +555 -30
  112. package/lib/src/core-components/src/components/Table/hooks.js +536 -2
  113. package/lib/src/core-components/src/components/Table/index.d.ts +4 -0
  114. package/lib/src/core-components/src/components/Table/index.js +6 -1
  115. package/lib/src/core-components/src/components/Table/types.d.ts +58 -0
  116. package/lib/src/core-components/src/components/Table/types.js +1 -1
  117. package/lib/src/core-components/src/components/Tabs/tabs.component.js +22 -1
  118. package/lib/src/core-components/src/components/Tags1/Tags.component.js +118 -1
  119. package/lib/src/core-components/src/components/Tags1/types.js +20 -1
  120. package/lib/src/core-components/src/components/Timer1/timer.component.js +76 -1
  121. package/lib/src/core-components/src/components/Toast/Toast.js +50 -1
  122. package/lib/src/core-components/src/components/Toast/elements.js +122 -41
  123. package/lib/src/core-components/src/components/Toast/index.js +2 -1
  124. package/lib/src/core-components/src/components/Toast/types.js +9 -1
  125. package/lib/src/core-components/src/components/Tooltip/Tooltip.js +200 -1
  126. package/lib/src/core-components/src/components/Tooltip/elements.js +117 -55
  127. package/lib/src/core-components/src/components/Tooltip/index.js +2 -1
  128. package/lib/src/core-components/src/components/Tooltip/types.js +17 -1
  129. package/lib/src/core-components/src/components/Tooltip/utils.js +140 -1
  130. package/lib/src/core-components/src/components/TreeSelect/TreeSelect.js +303 -1
  131. package/lib/src/core-components/src/components/TreeSelect/elements.js +216 -117
  132. package/lib/src/core-components/src/components/TreeSelect/hooks.js +252 -1
  133. package/lib/src/core-components/src/components/TreeSelect/index.js +3 -1
  134. package/lib/src/core-components/src/components/TreeSelect/types.js +1 -1
  135. package/lib/src/core-components/src/components/ag-grid/AgGrid.d.ts +11 -0
  136. package/lib/src/core-components/src/components/ag-grid/AgGrid.js +733 -0
  137. package/lib/src/core-components/src/components/ag-grid/elements.d.ts +246 -0
  138. package/lib/src/core-components/src/components/ag-grid/elements.js +1156 -0
  139. package/lib/src/core-components/src/components/ag-grid/hooks.d.ts +196 -0
  140. package/lib/src/core-components/src/components/ag-grid/hooks.js +943 -0
  141. package/lib/src/core-components/src/components/ag-grid/index.d.ts +9 -0
  142. package/lib/src/core-components/src/components/ag-grid/index.js +13 -0
  143. package/lib/src/core-components/src/components/ag-grid/types.d.ts +1367 -0
  144. package/lib/src/core-components/src/components/ag-grid/types.js +6 -0
  145. package/lib/src/core-components/src/components/index.d.ts +1 -0
  146. package/lib/src/core-components/src/components/index.js +31 -1
  147. package/lib/src/core-components/src/components/pdf/pdf-images.components.js +7 -1
  148. package/lib/src/core-components/src/components/pdf/pdf-table.components.js +48 -5
  149. package/lib/src/core-components/src/components/pdf/pdf-typography.components.js +70 -1
  150. package/lib/src/core-components/src/components/pdf/pdf-wrapped-view.components.js +50 -1
  151. package/lib/src/core-components/src/core-components/Avatar.js +33 -4
  152. package/lib/src/core-components/src/core-components/CoreButton/CoreButton.js +10 -1
  153. package/lib/src/core-components/src/core-components/CoreButton/elements.js +176 -67
  154. package/lib/src/core-components/src/core-components/CoreButton/index.js +3 -1
  155. package/lib/src/core-components/src/core-components/CoreButton/types.js +6 -1
  156. package/lib/src/core-components/src/core-components/CoreButton/utils.js +12 -1
  157. package/lib/src/core-components/src/core-components/Divider/Divider.js +19 -4
  158. package/lib/src/core-components/src/core-components/Divider/index.js +1 -1
  159. package/lib/src/core-components/src/core-components/SelectionCardStrip/index.js +1 -1
  160. package/lib/src/core-components/src/core-components/SelectionCardStrip/selectionCardStrip.js +33 -10
  161. package/lib/src/core-components/src/core-components/StateLayer.js +5 -3
  162. package/lib/src/core-components/src/core-components/ToggleCore/elements.js +50 -25
  163. package/lib/src/core-components/src/core-components/ToggleCore/index.js +2 -1
  164. package/lib/src/core-components/src/core-components/ToggleCore/toggleCore.js +14 -1
  165. package/lib/src/core-components/src/core-components/atoms/Input/Input.js +22 -1
  166. package/lib/src/core-components/src/core-components/atoms/Label/Label.js +21 -1
  167. package/lib/src/core-components/src/core-components/atoms/Textarea/Textarea.js +19 -1
  168. package/lib/src/core-components/src/core-components/index.js +3 -1
  169. package/lib/src/core-components/src/helpers/constants.js +11 -1
  170. package/lib/src/core-components/src/hooks/index.js +1 -1
  171. package/lib/src/core-components/src/hooks/outside.hook.js +28 -1
  172. package/lib/src/core-components/src/index.js +12 -1
  173. package/lib/src/core-components/src/tc.global.css +16 -3
  174. package/lib/src/core-components/src/tc.module.css +2 -2
  175. package/lib/src/core-components/src/utils/abstracts/breakpoints/index.js +28 -1
  176. package/lib/src/core-components/src/utils/abstracts/colors/index.js +49 -1
  177. package/lib/src/core-components/src/utils/abstracts/index.js +5 -1
  178. package/lib/src/core-components/src/utils/abstracts/space/index.js +26 -1
  179. package/lib/src/core-components/src/utils/abstracts/theme/ThemeBoundary.js +8 -1
  180. package/lib/src/core-components/src/utils/abstracts/theme/default-themes.js +30 -1
  181. package/lib/src/core-components/src/utils/abstracts/theme/index.js +3 -1
  182. package/lib/src/core-components/src/utils/abstracts/theme/theme.js +30 -1
  183. package/lib/src/core-components/src/utils/abstracts/theme/types.js +1 -1
  184. package/lib/src/core-components/src/utils/abstracts/theme/useTheme.js +17 -1
  185. package/lib/src/core-components/src/utils/abstracts/typography/index.js +25 -1
  186. package/lib/src/core-components/src/utils/context/DefaultsProvider.js +8 -1
  187. package/lib/src/core-components/src/utils/context/InternalProvider.js +24 -1
  188. package/lib/src/core-components/src/utils/context/index.js +2 -1
  189. package/lib/src/core-components/src/utils/designTokens.js +125 -1
  190. package/lib/src/core-components/src/utils/helpers/attachSubComponents.js +23 -1
  191. package/lib/src/core-components/src/utils/helpers/flattenChildren.js +11 -1
  192. package/lib/src/core-components/src/utils/helpers/getChildByType.js +3 -1
  193. package/lib/src/core-components/src/utils/helpers/index.js +5 -1
  194. package/lib/src/core-components/src/utils/helpers/isComponentType.js +16 -1
  195. package/lib/src/core-components/src/utils/helpers/separateChildrenByType.js +12 -1
  196. package/lib/src/core-components/src/utils/hooks/index.js +18 -1
  197. package/lib/src/core-components/src/utils/hooks/useClickOutside.js +18 -1
  198. package/lib/src/core-components/src/utils/hooks/useCombinedRefs.js +17 -1
  199. package/lib/src/core-components/src/utils/hooks/useDebouncedCallback.js +12 -1
  200. package/lib/src/core-components/src/utils/hooks/useDebouncedValue.js +20 -1
  201. package/lib/src/core-components/src/utils/hooks/useDeprecation.js +40 -1
  202. package/lib/src/core-components/src/utils/hooks/useDeviceDetect.js +10 -1
  203. package/lib/src/core-components/src/utils/hooks/useDeviceForm.js +24 -1
  204. package/lib/src/core-components/src/utils/hooks/useDisableBodyScroll.js +16 -1
  205. package/lib/src/core-components/src/utils/hooks/useHoverState.js +36 -1
  206. package/lib/src/core-components/src/utils/hooks/useId.js +7 -1
  207. package/lib/src/core-components/src/utils/hooks/useIsBrowser.js +11 -1
  208. package/lib/src/core-components/src/utils/hooks/useMediaQuery.js +16 -1
  209. package/lib/src/core-components/src/utils/hooks/useOverflow.js +22 -1
  210. package/lib/src/core-components/src/utils/hooks/useSafeLayoutEffect.js +5 -1
  211. package/lib/src/core-components/src/utils/hooks/useScrollingUp.js +18 -1
  212. package/lib/src/core-components/src/utils/hooks/useTrapFocus.js +30 -1
  213. package/lib/src/core-components/src/utils/hooks/useWindowDimensions.js +23 -1
  214. package/lib/src/core-components/src/utils/index.js +9 -1
  215. package/lib/src/core-components/src/utils/stories/Wrappers.js +23 -8
  216. package/lib/src/core-components/src/utils/stories/cleanProps.js +5 -1
  217. package/lib/src/core-components/src/utils/stories/index.js +4 -1
  218. package/lib/src/core-components/src/utils/stories/sleep.js +4 -1
  219. package/lib/src/core-components/src/utils/stories/view-ports.js +50 -1
  220. package/lib/src/core-components/src/utils/styling/calcWidthOfColumns.js +5 -1
  221. package/lib/src/core-components/src/utils/styling/createGridContainer.js +12 -6
  222. package/lib/src/core-components/src/utils/styling/createTransition.js +7 -2
  223. package/lib/src/core-components/src/utils/styling/forwardProps.js +10 -1
  224. package/lib/src/core-components/src/utils/styling/index.js +5 -1
  225. package/lib/src/core-components/src/utils/styling/pxToRem.js +6 -1
  226. package/lib/src/core-components/src/utils/testing/getComputedStyle.js +3 -1
  227. package/lib/src/core-components/src/utils/testing/index.js +1 -1
  228. package/lib/src/core-components/src/utils/utility.util.js +14 -1
  229. package/lib/src/core-components/tailwind.config.js +233 -1
  230. package/lib/src/core-hooks/index.js +3 -1
  231. package/lib/src/core-hooks/src/useClickOutside/useClickOutside.hook.js +46 -1
  232. package/lib/src/core-hooks/src/useDebounce/useDebounce.hook.js +30 -1
  233. package/lib/src/core-hooks/src/usePreventEKey/usePreventEKey.hook.js +8 -1
  234. package/lib/src/core-utils/index.js +7 -1
  235. package/lib/src/core-utils/src/calculation/calculation.util.js +89 -1
  236. package/lib/src/core-utils/src/colors/color.util.js +15 -1
  237. package/lib/src/core-utils/src/convert/numberToWords/numToWords.util.js +145 -1
  238. package/lib/src/core-utils/src/convert/typography/camelCaseToTitleCase.util.js +5 -1
  239. package/lib/src/core-utils/src/form-helper/form-helper.util.js +82 -1
  240. package/lib/src/core-utils/src/index.js +7 -1
  241. package/lib/src/core-utils/src/utility/utility.util.js +12 -1
  242. package/lib/src/core-utils/src/uuid/uuid.util.js +8 -1
  243. package/package.json +1 -1
@@ -1 +1,252 @@
1
- "use strict";import{useState as x,useCallback as g,useEffect as L}from"react";export function getFieldValue(o,t,e={}){const n={label:e.label||"title",value:e.value||"value",children:e.children||"children"};return o[n[t]]}export function flattenTree(o,t,e){const n=[];for(const c of o){const r=getFieldValue(c,"value",t),a=getFieldValue(c,"children",t),f=e?[...e.path,r]:[r];n.push({...c,parent:e,path:f}),a&&Array.isArray(a)&&n.push(...flattenTree(a,t,{...c,path:f}))}return n}export function findNodeByValue(o,t,e){for(const n of o){const c=getFieldValue(n,"value",e),r=getFieldValue(n,"children",e);if(c===t)return n;if(r&&Array.isArray(r)){const a=findNodeByValue(r,t,e);if(a)return a}}}export function getDescendantValues(o,t){const e=[],n=getFieldValue(o,"children",t);if(n&&Array.isArray(n))for(const c of n){const r=getFieldValue(c,"value",t);e.push(r),e.push(...getDescendantValues(c,t))}return e}export function getAncestorValues(o,t,e){return flattenTree(o,e).find(r=>getFieldValue(r,"value",e)===t)?.path.slice(0,-1)||[]}export function filterTree(o,t,e,n="title",c){if(!t)return o;const a=e||((d,u)=>{const s=u[n];return typeof s=="string"?s.toLowerCase().includes(d.toLowerCase()):!1}),f=[];for(const d of o){const u=getFieldValue(d,"children",c),s=u?filterTree(u,t,e,n,c):[];(a(t,d)||s.length>0)&&f.push({...d,children:s.length>0?s:u})}return f}export function useExpandedState(o,t,e,n,c){const[r,a]=x(()=>{if(e){const s=new Set,i=h=>{for(const l of h){const C=getFieldValue(l,"value",c),p=getFieldValue(l,"children",c);p&&p.length>0&&(s.add(C),i(p))}};return i(o),s}return new Set(t||[])}),f=n?new Set(n):r,d=g(s=>{a(i=>{const h=new Set(i);return h.has(s)?h.delete(s):h.add(s),h})},[]),u=g(s=>{a(new Set(s))},[]);return{expandedKeys:f,toggleExpand:d,setExpanded:u}}export function useCheckedState(o,t,e=!1,n){const[c,r]=x(new Set(t||[])),[a,f]=x(new Set);L(()=>{t&&(r(new Set(t)),e||d(new Set(t)))},[t,e]);const d=g(s=>{if(e){f(new Set);return}const i=new Set,h=flattenTree(o,n);for(const l of h){const C=getFieldValue(l,"value",n),p=getFieldValue(l,"children",n);if(p&&p.length>0){const w=getDescendantValues(l,n),S=w.filter(K=>s.has(K));S.length>0&&S.length<w.length&&i.add(C)}}f(i)},[o,e,n]),u=g((s,i)=>{r(h=>{const l=new Set(h);return l.has(s)?(l.delete(s),e||getDescendantValues(i,n).forEach(w=>l.delete(w))):(l.add(s),e||getDescendantValues(i,n).forEach(w=>l.add(w))),e||v(l,s,o,n),d(l),l})},[e,o,n,d]);return{checkedKeys:c,halfCheckedKeys:a,toggleCheck:u,setCheckedKeys:r}}function v(o,t,e,n){const c=getAncestorValues(e,t,n);for(const r of c.reverse()){const a=findNodeByValue(e,r,n);a&&(getDescendantValues(a,n).every(u=>o.has(u))?o.add(r):o.delete(r))}}export function useAsyncLoading(){const[o,t]=x(new Set),[e,n]=x(new Set),c=g((d,u)=>{t(s=>{const i=new Set(s);return u?i.add(d):i.delete(d),i})},[]),r=g(d=>{n(u=>new Set(u).add(d)),t(u=>{const s=new Set(u);return s.delete(d),s})},[]),a=g(d=>o.has(d),[o]),f=g(d=>e.has(d),[e]);return{loadingKeys:o,setLoading:c,markLoaded:r,isLoading:a,isLoaded:f}}
1
+ import { useState, useCallback, useEffect } from 'react';
2
+ /**
3
+ * Get the actual field value based on field names mapping
4
+ */
5
+ export function getFieldValue(node, field, fieldNames = {}) {
6
+ const mapping = {
7
+ label: fieldNames.label || 'title',
8
+ value: fieldNames.value || 'value',
9
+ children: fieldNames.children || 'children',
10
+ };
11
+ return node[mapping[field]];
12
+ }
13
+ /**
14
+ * Flatten tree data for easier searching
15
+ */
16
+ export function flattenTree(nodes, fieldNames, parent) {
17
+ const result = [];
18
+ for (const node of nodes) {
19
+ const value = getFieldValue(node, 'value', fieldNames);
20
+ const children = getFieldValue(node, 'children', fieldNames);
21
+ const path = parent ? [...parent.path, value] : [value];
22
+ result.push({ ...node, parent, path });
23
+ if (children && Array.isArray(children)) {
24
+ result.push(...flattenTree(children, fieldNames, { ...node, path }));
25
+ }
26
+ }
27
+ return result;
28
+ }
29
+ /**
30
+ * Find a node by value
31
+ */
32
+ export function findNodeByValue(nodes, value, fieldNames) {
33
+ for (const node of nodes) {
34
+ const nodeValue = getFieldValue(node, 'value', fieldNames);
35
+ const children = getFieldValue(node, 'children', fieldNames);
36
+ if (nodeValue === value)
37
+ return node;
38
+ if (children && Array.isArray(children)) {
39
+ const found = findNodeByValue(children, value, fieldNames);
40
+ if (found)
41
+ return found;
42
+ }
43
+ }
44
+ return undefined;
45
+ }
46
+ /**
47
+ * Get all descendant values
48
+ */
49
+ export function getDescendantValues(node, fieldNames) {
50
+ const values = [];
51
+ const children = getFieldValue(node, 'children', fieldNames);
52
+ if (children && Array.isArray(children)) {
53
+ for (const child of children) {
54
+ const childValue = getFieldValue(child, 'value', fieldNames);
55
+ values.push(childValue);
56
+ values.push(...getDescendantValues(child, fieldNames));
57
+ }
58
+ }
59
+ return values;
60
+ }
61
+ /**
62
+ * Get all ancestor values
63
+ */
64
+ export function getAncestorValues(nodes, targetValue, fieldNames) {
65
+ const flatNodes = flattenTree(nodes, fieldNames);
66
+ const target = flatNodes.find((n) => getFieldValue(n, 'value', fieldNames) === targetValue);
67
+ return target?.path.slice(0, -1) || [];
68
+ }
69
+ /**
70
+ * Filter tree nodes based on search
71
+ */
72
+ export function filterTree(nodes, searchValue, filterFn, filterProp = 'title', fieldNames) {
73
+ if (!searchValue)
74
+ return nodes;
75
+ const defaultFilter = (value, node) => {
76
+ const nodeLabel = node[filterProp];
77
+ if (typeof nodeLabel === 'string') {
78
+ return nodeLabel.toLowerCase().includes(value.toLowerCase());
79
+ }
80
+ return false;
81
+ };
82
+ const filter = filterFn || defaultFilter;
83
+ const result = [];
84
+ for (const node of nodes) {
85
+ const children = getFieldValue(node, 'children', fieldNames);
86
+ const filteredChildren = children
87
+ ? filterTree(children, searchValue, filterFn, filterProp, fieldNames)
88
+ : [];
89
+ if (filter(searchValue, node) || filteredChildren.length > 0) {
90
+ result.push({
91
+ ...node,
92
+ children: filteredChildren.length > 0 ? filteredChildren : children,
93
+ });
94
+ }
95
+ }
96
+ return result;
97
+ }
98
+ /**
99
+ * Hook for managing expanded state
100
+ */
101
+ export function useExpandedState(treeData, defaultExpandedKeys, defaultExpandAll, controlledExpandedKeys, fieldNames) {
102
+ const [internalExpanded, setInternalExpanded] = useState(() => {
103
+ if (defaultExpandAll) {
104
+ const allKeys = new Set();
105
+ const collectKeys = (nodes) => {
106
+ for (const node of nodes) {
107
+ const value = getFieldValue(node, 'value', fieldNames);
108
+ const children = getFieldValue(node, 'children', fieldNames);
109
+ if (children && children.length > 0) {
110
+ allKeys.add(value);
111
+ collectKeys(children);
112
+ }
113
+ }
114
+ };
115
+ collectKeys(treeData);
116
+ return allKeys;
117
+ }
118
+ return new Set(defaultExpandedKeys || []);
119
+ });
120
+ const expandedKeys = controlledExpandedKeys
121
+ ? new Set(controlledExpandedKeys)
122
+ : internalExpanded;
123
+ const toggleExpand = useCallback((key) => {
124
+ setInternalExpanded((prev) => {
125
+ const next = new Set(prev);
126
+ if (next.has(key)) {
127
+ next.delete(key);
128
+ }
129
+ else {
130
+ next.add(key);
131
+ }
132
+ return next;
133
+ });
134
+ }, []);
135
+ const setExpanded = useCallback((keys) => {
136
+ setInternalExpanded(new Set(keys));
137
+ }, []);
138
+ return { expandedKeys, toggleExpand, setExpanded };
139
+ }
140
+ /**
141
+ * Hook for managing checked state (checkable mode)
142
+ */
143
+ export function useCheckedState(treeData, value, checkStrictly = false, fieldNames) {
144
+ const [checkedKeys, setCheckedKeys] = useState(new Set(value || []));
145
+ const [halfCheckedKeys, setHalfCheckedKeys] = useState(new Set());
146
+ // Update when controlled value changes
147
+ useEffect(() => {
148
+ if (value) {
149
+ setCheckedKeys(new Set(value));
150
+ if (!checkStrictly) {
151
+ updateHalfChecked(new Set(value));
152
+ }
153
+ }
154
+ }, [value, checkStrictly]);
155
+ const updateHalfChecked = useCallback((checked) => {
156
+ if (checkStrictly) {
157
+ setHalfCheckedKeys(new Set());
158
+ return;
159
+ }
160
+ const half = new Set();
161
+ const flatNodes = flattenTree(treeData, fieldNames);
162
+ // Check each parent node
163
+ for (const node of flatNodes) {
164
+ const nodeValue = getFieldValue(node, 'value', fieldNames);
165
+ const children = getFieldValue(node, 'children', fieldNames);
166
+ if (children && children.length > 0) {
167
+ const descendantValues = getDescendantValues(node, fieldNames);
168
+ const checkedDescendants = descendantValues.filter((v) => checked.has(v));
169
+ if (checkedDescendants.length > 0 &&
170
+ checkedDescendants.length < descendantValues.length) {
171
+ half.add(nodeValue);
172
+ }
173
+ }
174
+ }
175
+ setHalfCheckedKeys(half);
176
+ }, [treeData, checkStrictly, fieldNames]);
177
+ const toggleCheck = useCallback((nodeValue, node) => {
178
+ setCheckedKeys((prev) => {
179
+ const next = new Set(prev);
180
+ const isChecked = next.has(nodeValue);
181
+ if (isChecked) {
182
+ next.delete(nodeValue);
183
+ if (!checkStrictly) {
184
+ // Uncheck all descendants
185
+ const descendants = getDescendantValues(node, fieldNames);
186
+ descendants.forEach((v) => next.delete(v));
187
+ }
188
+ }
189
+ else {
190
+ next.add(nodeValue);
191
+ if (!checkStrictly) {
192
+ // Check all descendants
193
+ const descendants = getDescendantValues(node, fieldNames);
194
+ descendants.forEach((v) => next.add(v));
195
+ }
196
+ }
197
+ // Update parent states if not strict
198
+ if (!checkStrictly) {
199
+ updateParentStates(next, nodeValue, treeData, fieldNames);
200
+ }
201
+ updateHalfChecked(next);
202
+ return next;
203
+ });
204
+ }, [checkStrictly, treeData, fieldNames, updateHalfChecked]);
205
+ return { checkedKeys, halfCheckedKeys, toggleCheck, setCheckedKeys };
206
+ }
207
+ function updateParentStates(checked, changedValue, treeData, fieldNames) {
208
+ const ancestors = getAncestorValues(treeData, changedValue, fieldNames);
209
+ for (const ancestorValue of ancestors.reverse()) {
210
+ const ancestorNode = findNodeByValue(treeData, ancestorValue, fieldNames);
211
+ if (ancestorNode) {
212
+ const descendants = getDescendantValues(ancestorNode, fieldNames);
213
+ const allChecked = descendants.every((v) => checked.has(v));
214
+ if (allChecked) {
215
+ checked.add(ancestorValue);
216
+ }
217
+ else {
218
+ checked.delete(ancestorValue);
219
+ }
220
+ }
221
+ }
222
+ }
223
+ /**
224
+ * Hook for managing async loading
225
+ */
226
+ export function useAsyncLoading() {
227
+ const [loadingKeys, setLoadingKeys] = useState(new Set());
228
+ const [loadedKeys, setLoadedKeys] = useState(new Set());
229
+ const setLoading = useCallback((key, isLoading) => {
230
+ setLoadingKeys((prev) => {
231
+ const next = new Set(prev);
232
+ if (isLoading) {
233
+ next.add(key);
234
+ }
235
+ else {
236
+ next.delete(key);
237
+ }
238
+ return next;
239
+ });
240
+ }, []);
241
+ const markLoaded = useCallback((key) => {
242
+ setLoadedKeys((prev) => new Set(prev).add(key));
243
+ setLoadingKeys((prev) => {
244
+ const next = new Set(prev);
245
+ next.delete(key);
246
+ return next;
247
+ });
248
+ }, []);
249
+ const isLoading = useCallback((key) => loadingKeys.has(key), [loadingKeys]);
250
+ const isLoaded = useCallback((key) => loadedKeys.has(key), [loadedKeys]);
251
+ return { loadingKeys, setLoading, markLoaded, isLoading, isLoaded };
252
+ }
@@ -1 +1,3 @@
1
- "use strict";export{TreeSelect,default}from"./TreeSelect";export*from"./types";export{flattenTree,findNodeByValue,getDescendantValues,getAncestorValues,filterTree,getFieldValue}from"./hooks";
1
+ export { TreeSelect, default } from './TreeSelect';
2
+ export * from './types';
3
+ export { flattenTree, findNodeByValue, getDescendantValues, getAncestorValues, filterTree, getFieldValue, } from './hooks';
@@ -1 +1 @@
1
- "use strict";export{};
1
+ export {};
@@ -0,0 +1,11 @@
1
+ /**
2
+ * AG Grid Component
3
+ * A comprehensive, AG Grid-like data table with all enterprise features
4
+ * Reference: https://www.ag-grid.com/react-data-grid/getting-started/
5
+ */
6
+ import React from 'react';
7
+ import type { AgGridProps, AgGridRef } from './types';
8
+ export declare const AgGrid: <T extends Record<string, any>>(props: AgGridProps<T> & {
9
+ ref?: React.ForwardedRef<AgGridRef<T>> | undefined;
10
+ }) => React.ReactElement;
11
+ export default AgGrid;