@powerhousedao/design-system 6.1.0-dev.12 → 6.1.0-dev.14

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 (298) hide show
  1. package/dist/Removed-CO_5C1ce.js +178 -0
  2. package/dist/Removed-CO_5C1ce.js.map +1 -0
  3. package/dist/Tabler-FjvVqX5a.js +65 -0
  4. package/dist/Tabler-FjvVqX5a.js.map +1 -0
  5. package/dist/{button-49Walvwn.d.ts → button-C8doazjv.d.ts} +1 -1
  6. package/dist/{button-49Walvwn.d.ts.map → button-C8doazjv.d.ts.map} +1 -1
  7. package/dist/{character-counter-BcuG4STA.d.ts → character-counter-BWoglM2P.d.ts} +1 -1
  8. package/dist/{character-counter-BcuG4STA.d.ts.map → character-counter-BWoglM2P.d.ts.map} +1 -1
  9. package/dist/{checkbox-Bxc7-H_k.d.ts → checkbox-CGBtXQnI.d.ts} +3 -3
  10. package/dist/{checkbox-Bxc7-H_k.d.ts.map → checkbox-CGBtXQnI.d.ts.map} +1 -1
  11. package/dist/{checkbox-base-8xXJvAbj.d.ts → checkbox-base-CZo-4eL0.d.ts} +1 -1
  12. package/dist/{checkbox-base-8xXJvAbj.d.ts.map → checkbox-base-CZo-4eL0.d.ts.map} +1 -1
  13. package/dist/{command-CThXmS49.d.ts → command-By1kGfcI.d.ts} +15 -15
  14. package/dist/command-By1kGfcI.d.ts.map +1 -0
  15. package/dist/connect/components/toast/toast.d.ts.map +1 -1
  16. package/dist/connect/components/toast/toast.js +6 -6
  17. package/dist/connect/components/toast/toast.js.map +1 -1
  18. package/dist/connect/index.d.ts +49 -91
  19. package/dist/connect/index.d.ts.map +1 -1
  20. package/dist/connect/index.js +1032 -843
  21. package/dist/connect/index.js.map +1 -1
  22. package/dist/{content-Ce1V2wTc.d.ts → content-BHWIqmio.d.ts} +2 -2
  23. package/dist/{content-Ce1V2wTc.d.ts.map → content-BHWIqmio.d.ts.map} +1 -1
  24. package/dist/{enum-field-DJ4XRc2r.d.ts → enum-field-CwZVs3Ux.d.ts} +3 -3
  25. package/dist/{enum-field-DJ4XRc2r.d.ts.map → enum-field-CwZVs3Ux.d.ts.map} +1 -1
  26. package/dist/{form-B9JNvrH6.d.ts → form-CKRKn0TQ.d.ts} +1 -1
  27. package/dist/{form-B9JNvrH6.d.ts.map → form-CKRKn0TQ.d.ts.map} +1 -1
  28. package/dist/{form-description-BpST5Ww-.d.ts → form-description-CYkcMEzm.d.ts} +1 -1
  29. package/dist/{form-description-BpST5Ww-.d.ts.map → form-description-CYkcMEzm.d.ts.map} +1 -1
  30. package/dist/{form-group-BauWlFkQ.d.ts → form-group-C8kL6pdZ.d.ts} +1 -1
  31. package/dist/form-group-C8kL6pdZ.d.ts.map +1 -0
  32. package/dist/{form-label-Cz_gcj-B.d.ts → form-label-b6nQi0XO.d.ts} +1 -1
  33. package/dist/form-label-b6nQi0XO.d.ts.map +1 -0
  34. package/dist/{form-message-BPqNM4gG.d.ts → form-message-Dq72nBXz.d.ts} +1 -1
  35. package/dist/{form-message-BPqNM4gG.d.ts.map → form-message-Dq72nBXz.d.ts.map} +1 -1
  36. package/dist/{form-server-error-message-CzMQQ8ru.d.ts → form-server-error-message-DXbaiTfF.d.ts} +1 -1
  37. package/dist/{form-server-error-message-CzMQQ8ru.d.ts.map → form-server-error-message-DXbaiTfF.d.ts.map} +1 -1
  38. package/dist/{src-BgKEHW0i.js → icon-C4QOpsdI.js} +14 -964
  39. package/dist/icon-C4QOpsdI.js.map +1 -0
  40. package/dist/{id-autocomplete-ClooY-ur.d.ts → id-autocomplete-C-hwriS5.d.ts} +2 -2
  41. package/dist/{id-autocomplete-ClooY-ur.d.ts.map → id-autocomplete-C-hwriS5.d.ts.map} +1 -1
  42. package/dist/{id-autocomplete-input-container-O7l0T0zJ.d.ts → id-autocomplete-input-container-DFEyPh5p.d.ts} +2 -2
  43. package/dist/{id-autocomplete-input-container-O7l0T0zJ.d.ts.map → id-autocomplete-input-container-DFEyPh5p.d.ts.map} +1 -1
  44. package/dist/{id-autocomplete-list-CpPWWmw0.d.ts → id-autocomplete-list-EzLpF23C.d.ts} +2 -2
  45. package/dist/{id-autocomplete-list-CpPWWmw0.d.ts.map → id-autocomplete-list-EzLpF23C.d.ts.map} +1 -1
  46. package/dist/{id-autocomplete-list-option-QmSvQwgn.d.ts → id-autocomplete-list-option-CB5B07Hi.d.ts} +2 -2
  47. package/dist/{id-autocomplete-list-option-QmSvQwgn.d.ts.map → id-autocomplete-list-option-CB5B07Hi.d.ts.map} +1 -1
  48. package/dist/{index-BEiWWMW2.d.ts → index--hDSfvJT.d.ts} +2 -15
  49. package/dist/index--hDSfvJT.d.ts.map +1 -0
  50. package/dist/index-E7Wvm5uX.d.ts +1 -0
  51. package/dist/index-J3R2mDFQ.d.ts +1 -0
  52. package/dist/index.d.ts +3 -3
  53. package/dist/index.js +3 -2
  54. package/dist/{input-D11GgWGm.d.ts → input-BpEQjaWV.d.ts} +1 -1
  55. package/dist/input-BpEQjaWV.d.ts.map +1 -0
  56. package/dist/{json-viewer-vWp8vOvz.d.ts → json-viewer-DaTgmzkS.d.ts} +1 -1
  57. package/dist/{json-viewer-vWp8vOvz.d.ts.map → json-viewer-DaTgmzkS.d.ts.map} +1 -1
  58. package/dist/{message-list-aysvo-xf.d.ts → message-list-C4mPpBBa.d.ts} +2 -2
  59. package/dist/{message-list-aysvo-xf.d.ts.map → message-list-C4mPpBBa.d.ts.map} +1 -1
  60. package/dist/{popover-glLRVxPS.d.ts → popover-XSBOuSih.d.ts} +1 -1
  61. package/dist/{popover-glLRVxPS.d.ts.map → popover-XSBOuSih.d.ts.map} +1 -1
  62. package/dist/{radio-DZ4xl9oz.d.ts → radio-eL0Oy86J.d.ts} +1 -1
  63. package/dist/{radio-DZ4xl9oz.d.ts.map → radio-eL0Oy86J.d.ts.map} +1 -1
  64. package/dist/{radio-group-DjJbcDzB.d.ts → radio-group-Bkli6nUz.d.ts} +1 -1
  65. package/dist/{radio-group-DjJbcDzB.d.ts.map → radio-group-Bkli6nUz.d.ts.map} +1 -1
  66. package/dist/{radio-group-field-BkD0Nl0j.d.ts → radio-group-field-wlqeiLN3.d.ts} +3 -3
  67. package/dist/{radio-group-field-BkD0Nl0j.d.ts.map → radio-group-field-wlqeiLN3.d.ts.map} +1 -1
  68. package/dist/{search-autocomplete-OeZbE-VN.d.ts → search-autocomplete-BJJkrZ1i.d.ts} +2 -2
  69. package/dist/{search-autocomplete-OeZbE-VN.d.ts.map → search-autocomplete-BJJkrZ1i.d.ts.map} +1 -1
  70. package/dist/{select-field-B9KcyWc1.d.ts → select-field-C97QIhUL.d.ts} +2 -2
  71. package/dist/{select-field-B9KcyWc1.d.ts.map → select-field-C97QIhUL.d.ts.map} +1 -1
  72. package/dist/{selected-content-HHOKK679.d.ts → selected-content-CGsK5PR4.d.ts} +2 -2
  73. package/dist/selected-content-CGsK5PR4.d.ts.map +1 -0
  74. package/dist/sidebar-DOoE4krt.d.ts +102 -0
  75. package/dist/sidebar-DOoE4krt.d.ts.map +1 -0
  76. package/dist/sidebar-provider-C2eyz9TL.d.ts +46 -0
  77. package/dist/sidebar-provider-C2eyz9TL.d.ts.map +1 -0
  78. package/dist/{splitted-input-diff-DZ_0mBKD.d.ts → splitted-input-diff-CwPedpov.d.ts} +2 -2
  79. package/dist/splitted-input-diff-CwPedpov.d.ts.map +1 -0
  80. package/dist/src-BrrPQVce.js +710 -0
  81. package/dist/src-BrrPQVce.js.map +1 -0
  82. package/dist/style.css +84 -4173
  83. package/dist/{text-field-CwxxUhUk.d.ts → text-field-DSInH67J.d.ts} +3 -3
  84. package/dist/{text-field-CwxxUhUk.d.ts.map → text-field-DSInH67J.d.ts.map} +1 -1
  85. package/dist/{text-input-By73a1-n.d.ts → text-input-8zXIWHLi.d.ts} +3 -3
  86. package/dist/{text-input-By73a1-n.d.ts.map → text-input-8zXIWHLi.d.ts.map} +1 -1
  87. package/dist/{text-input-diff-C6OK2A4u.d.ts → text-input-diff-B0vLSKQm.d.ts} +2 -2
  88. package/dist/{text-input-diff-C6OK2A4u.d.ts.map → text-input-diff-B0vLSKQm.d.ts.map} +1 -1
  89. package/dist/{tooltip-Cf5jSzdt.d.ts → tooltip-BxS9HpML.d.ts} +1 -1
  90. package/dist/{tooltip-Cf5jSzdt.d.ts.map → tooltip-BxS9HpML.d.ts.map} +1 -1
  91. package/dist/{types-tThrTH_c.d.ts → types-BTq-St7H.d.ts} +1 -1
  92. package/dist/{types-tThrTH_c.d.ts.map → types-BTq-St7H.d.ts.map} +1 -1
  93. package/dist/{types-BfmDXMrz.d.ts → types-Bsn62tJB.d.ts} +1 -1
  94. package/dist/{types-BfmDXMrz.d.ts.map → types-Bsn62tJB.d.ts.map} +1 -1
  95. package/dist/{types-9JRQnd7a.d.ts → types-C04Q_Fan.d.ts} +1 -1
  96. package/dist/{types-9JRQnd7a.d.ts.map → types-C04Q_Fan.d.ts.map} +1 -1
  97. package/dist/types-CNbvfWjh.d.ts +31 -0
  98. package/dist/types-CNbvfWjh.d.ts.map +1 -0
  99. package/dist/ui/components/button/button.d.ts +1 -1
  100. package/dist/ui/components/button/button.js +3 -3
  101. package/dist/ui/components/button/button.js.map +1 -1
  102. package/dist/ui/components/character-counter/character-counter.d.ts +1 -1
  103. package/dist/ui/components/character-counter/character-counter.js +6 -6
  104. package/dist/ui/components/character-counter/character-counter.js.map +1 -1
  105. package/dist/ui/components/checkbox/checkbox-base.d.ts +1 -1
  106. package/dist/ui/components/checkbox/checkbox-base.js +3 -3
  107. package/dist/ui/components/checkbox/checkbox-base.js.map +1 -1
  108. package/dist/ui/components/checkbox/checkbox.d.ts +1 -1
  109. package/dist/ui/components/checkbox/checkbox.js +4 -4
  110. package/dist/ui/components/checkbox/checkbox.js.map +1 -1
  111. package/dist/ui/components/command/command.d.ts +1 -1
  112. package/dist/ui/components/command/command.js +9 -8
  113. package/dist/ui/components/command/command.js.map +1 -1
  114. package/dist/ui/components/enum-field/enum-field.d.ts +1 -1
  115. package/dist/ui/components/enum-field/types.d.ts +1 -1
  116. package/dist/ui/components/form/form.d.ts +1 -1
  117. package/dist/ui/components/form-description/form-description.d.ts +1 -1
  118. package/dist/ui/components/form-description/form-description.js +2 -2
  119. package/dist/ui/components/form-description/form-description.js.map +1 -1
  120. package/dist/ui/components/form-group/form-group.d.ts +1 -1
  121. package/dist/ui/components/form-label/form-label.d.ts +1 -1
  122. package/dist/ui/components/form-label/form-label.js +5 -4
  123. package/dist/ui/components/form-label/form-label.js.map +1 -1
  124. package/dist/ui/components/form-message/form-message.d.ts +1 -1
  125. package/dist/ui/components/form-message/form-message.js +5 -5
  126. package/dist/ui/components/form-message/form-message.js.map +1 -1
  127. package/dist/ui/components/form-message/form-server-error-message.d.ts +1 -1
  128. package/dist/ui/components/form-message/message-list.d.ts +1 -1
  129. package/dist/ui/components/form-message/message-list.js +6 -6
  130. package/dist/ui/components/form-message/message-list.js.map +1 -1
  131. package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.d.ts +1 -1
  132. package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js +10 -9
  133. package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js.map +1 -1
  134. package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.d.ts +1 -1
  135. package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js +20 -19
  136. package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js.map +1 -1
  137. package/dist/ui/components/id-autocomplete/id-autocomplete-list.d.ts +1 -1
  138. package/dist/ui/components/id-autocomplete/id-autocomplete-list.js +6 -6
  139. package/dist/ui/components/id-autocomplete/id-autocomplete-list.js.map +1 -1
  140. package/dist/ui/components/id-autocomplete/id-autocomplete.d.ts +1 -1
  141. package/dist/ui/components/id-autocomplete/id-autocomplete.js +4 -4
  142. package/dist/ui/components/id-autocomplete/id-autocomplete.js.map +1 -1
  143. package/dist/ui/components/id-autocomplete/types.d.ts +1 -1
  144. package/dist/ui/components/id-autocomplete/use-id-autocomplete.d.ts +1 -1
  145. package/dist/ui/components/index.d.ts +40 -37
  146. package/dist/ui/components/index.js +3 -1
  147. package/dist/ui/components/input/input.d.ts +1 -1
  148. package/dist/ui/components/input/input.js +2 -6
  149. package/dist/ui/components/input/input.js.map +1 -1
  150. package/dist/ui/components/input/splitted-input-diff.d.ts +1 -1
  151. package/dist/ui/components/input/splitted-input-diff.js +12 -11
  152. package/dist/ui/components/input/splitted-input-diff.js.map +1 -1
  153. package/dist/ui/components/input/subcomponent/input-diff.js +2 -2
  154. package/dist/ui/components/input/subcomponent/input-diff.js.map +1 -1
  155. package/dist/ui/components/input/subcomponent/text-diff.d.ts +1 -1
  156. package/dist/ui/components/input/subcomponent/text-diff.js +5 -5
  157. package/dist/ui/components/input/subcomponent/text-diff.js.map +1 -1
  158. package/dist/ui/components/json-viewer/json-viewer.d.ts +1 -1
  159. package/dist/ui/components/popover/popover.d.ts +1 -1
  160. package/dist/ui/components/popover/popover.js +3 -3
  161. package/dist/ui/components/popover/popover.js.map +1 -1
  162. package/dist/ui/components/radio-group-field/radio-group-field.d.ts +1 -1
  163. package/dist/ui/components/radio-group-field/radio-group-field.js +2 -2
  164. package/dist/ui/components/radio-group-field/radio-group-field.js.map +1 -1
  165. package/dist/ui/components/radio-group-field/radio-group.d.ts +1 -1
  166. package/dist/ui/components/radio-group-field/radio.d.ts +1 -1
  167. package/dist/ui/components/radio-group-field/radio.js +4 -4
  168. package/dist/ui/components/radio-group-field/radio.js.map +1 -1
  169. package/dist/ui/components/search-autocomplete/index.d.ts +3 -3
  170. package/dist/ui/components/search-autocomplete/search-autocomplete.d.ts +1 -1
  171. package/dist/ui/components/search-autocomplete/search-autocomplete.js +16 -16
  172. package/dist/ui/components/search-autocomplete/search-autocomplete.js.map +1 -1
  173. package/dist/ui/components/search-autocomplete/types.d.ts +1 -1
  174. package/dist/ui/components/search-autocomplete/use-search-autocomplete.d.ts +1 -1
  175. package/dist/ui/components/select-field/content.d.ts +1 -1
  176. package/dist/ui/components/select-field/content.js +10 -9
  177. package/dist/ui/components/select-field/content.js.map +1 -1
  178. package/dist/ui/components/select-field/select-field.d.ts +1 -1
  179. package/dist/ui/components/select-field/select-field.js +2 -2
  180. package/dist/ui/components/select-field/select-field.js.map +1 -1
  181. package/dist/ui/components/select-field/selected-content.d.ts +1 -1
  182. package/dist/ui/components/select-field/selected-content.js +11 -10
  183. package/dist/ui/components/select-field/selected-content.js.map +1 -1
  184. package/dist/ui/components/select-field/subcomponents/CommandItemList.d.ts +1 -1
  185. package/dist/ui/components/select-field/subcomponents/CommandItemList.d.ts.map +1 -1
  186. package/dist/ui/components/select-field/subcomponents/CommandItemList.js +11 -10
  187. package/dist/ui/components/select-field/subcomponents/CommandItemList.js.map +1 -1
  188. package/dist/ui/components/select-field/use-select-field.d.ts +1 -1
  189. package/dist/ui/components/sidebar/index.d.ts +4 -0
  190. package/dist/ui/components/sidebar/index.js +3 -0
  191. package/dist/ui/components/sidebar/sidebar.d.ts +2 -0
  192. package/dist/ui/components/sidebar/sidebar.js +110 -0
  193. package/dist/ui/components/sidebar/sidebar.js.map +1 -0
  194. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.d.ts +14 -0
  195. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.d.ts.map +1 -0
  196. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js +56 -0
  197. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js.map +1 -0
  198. package/dist/ui/components/sidebar/subcomponents/sidebar-header.d.ts +11 -0
  199. package/dist/ui/components/sidebar/subcomponents/sidebar-header.d.ts.map +1 -0
  200. package/dist/ui/components/sidebar/subcomponents/sidebar-header.js +45 -0
  201. package/dist/ui/components/sidebar/subcomponents/sidebar-header.js.map +1 -0
  202. package/dist/ui/components/sidebar/subcomponents/sidebar-item.d.ts +35 -0
  203. package/dist/ui/components/sidebar/subcomponents/sidebar-item.d.ts.map +1 -0
  204. package/dist/ui/components/sidebar/subcomponents/sidebar-item.js +156 -0
  205. package/dist/ui/components/sidebar/subcomponents/sidebar-item.js.map +1 -0
  206. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.d.ts +7 -0
  207. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.d.ts.map +1 -0
  208. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.js +30 -0
  209. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.js.map +1 -0
  210. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/index.d.ts +2 -0
  211. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/index.js +2 -0
  212. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.d.ts +2 -0
  213. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.js +268 -0
  214. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.js.map +1 -0
  215. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.d.ts +92 -0
  216. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.d.ts.map +1 -0
  217. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.js +107 -0
  218. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.js.map +1 -0
  219. package/dist/ui/components/sidebar/subcomponents/sidebar-search/index.d.ts +4 -0
  220. package/dist/ui/components/sidebar/subcomponents/sidebar-search/index.js +4 -0
  221. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.d.ts +10 -0
  222. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.d.ts.map +1 -0
  223. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.js +22 -0
  224. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.js.map +1 -0
  225. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.d.ts +10 -0
  226. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.d.ts.map +1 -0
  227. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.js +22 -0
  228. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.js.map +1 -0
  229. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.d.ts +8 -0
  230. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.d.ts.map +1 -0
  231. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js +85 -0
  232. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js.map +1 -0
  233. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.d.ts +16 -0
  234. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.d.ts.map +1 -0
  235. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js +21 -0
  236. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js.map +1 -0
  237. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.d.ts +7 -0
  238. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.d.ts.map +1 -0
  239. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.js +63 -0
  240. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.js.map +1 -0
  241. package/dist/ui/components/sidebar/subcomponents/status-icon.d.ts +16 -0
  242. package/dist/ui/components/sidebar/subcomponents/status-icon.d.ts.map +1 -0
  243. package/dist/ui/components/sidebar/subcomponents/status-icon.js +43 -0
  244. package/dist/ui/components/sidebar/subcomponents/status-icon.js.map +1 -0
  245. package/dist/ui/components/sidebar/types.d.ts +2 -0
  246. package/dist/ui/components/sidebar/types.js +14 -0
  247. package/dist/ui/components/sidebar/types.js.map +1 -0
  248. package/dist/ui/components/sidebar/use-ellipsis.d.ts +10 -0
  249. package/dist/ui/components/sidebar/use-ellipsis.d.ts.map +1 -0
  250. package/dist/ui/components/sidebar/use-ellipsis.js +26 -0
  251. package/dist/ui/components/sidebar/use-ellipsis.js.map +1 -0
  252. package/dist/ui/components/sidebar/use-sidebar-resize.d.ts +22 -0
  253. package/dist/ui/components/sidebar/use-sidebar-resize.d.ts.map +1 -0
  254. package/dist/ui/components/sidebar/use-sidebar-resize.js +72 -0
  255. package/dist/ui/components/sidebar/use-sidebar-resize.js.map +1 -0
  256. package/dist/ui/components/sidebar/utils.d.ts +14 -0
  257. package/dist/ui/components/sidebar/utils.d.ts.map +1 -0
  258. package/dist/ui/components/sidebar/utils.js +118 -0
  259. package/dist/ui/components/sidebar/utils.js.map +1 -0
  260. package/dist/ui/components/text-field/text-field.d.ts +1 -1
  261. package/dist/ui/components/text-input/text-input-diff.d.ts +1 -1
  262. package/dist/ui/components/text-input/text-input.d.ts +1 -1
  263. package/dist/ui/components/text-input/text-input.js +2 -2
  264. package/dist/ui/components/text-input/text-input.js.map +1 -1
  265. package/dist/ui/components/text-input/types.d.ts +1 -1
  266. package/dist/ui/components/tooltip/tooltip.d.ts +1 -1
  267. package/dist/ui/components/tooltip/tooltip.js +2 -2
  268. package/dist/ui/components/tooltip/tooltip.js.map +1 -1
  269. package/dist/ui/components/types.d.ts +1 -1
  270. package/dist/ui/components/value-transformer/value-transformer.d.ts +1 -1
  271. package/dist/ui/components/with-field-validation/with-field-validation.d.ts +1 -1
  272. package/dist/ui/index.d.ts +42 -39
  273. package/dist/ui/index.js +3 -1
  274. package/dist/ui/lib/date-picker.d.ts +1 -1
  275. package/dist/ui/lib/shared-value-transformers.d.ts +1 -1
  276. package/dist/ui/lib/types.d.ts +1 -1
  277. package/dist/ui/types.d.ts +2 -2
  278. package/dist/{use-id-autocomplete-BcL_O50p.d.ts → use-id-autocomplete-By7YSChC.d.ts} +2 -2
  279. package/dist/{use-id-autocomplete-BcL_O50p.d.ts.map → use-id-autocomplete-By7YSChC.d.ts.map} +1 -1
  280. package/dist/{use-search-autocomplete-Xf7shCtk.d.ts → use-search-autocomplete-IfcQ_gKh.d.ts} +2 -2
  281. package/dist/{use-search-autocomplete-Xf7shCtk.d.ts.map → use-search-autocomplete-IfcQ_gKh.d.ts.map} +1 -1
  282. package/dist/{value-transformer-DCiU65Qa.d.ts → value-transformer-DQjqtNih.d.ts} +2 -2
  283. package/dist/{value-transformer-DCiU65Qa.d.ts.map → value-transformer-DQjqtNih.d.ts.map} +1 -1
  284. package/dist/{with-field-validation-BIac25Sm.d.ts → with-field-validation-Di5D8vU-.d.ts} +2 -2
  285. package/dist/{with-field-validation-BIac25Sm.d.ts.map → with-field-validation-Di5D8vU-.d.ts.map} +1 -1
  286. package/package.json +9 -5
  287. package/theme.css +60 -14
  288. package/dist/command-CThXmS49.d.ts.map +0 -1
  289. package/dist/form-group-BauWlFkQ.d.ts.map +0 -1
  290. package/dist/form-label-Cz_gcj-B.d.ts.map +0 -1
  291. package/dist/index-BEiWWMW2.d.ts.map +0 -1
  292. package/dist/input-D11GgWGm.d.ts.map +0 -1
  293. package/dist/selected-content-HHOKK679.d.ts.map +0 -1
  294. package/dist/splitted-input-diff-DZ_0mBKD.d.ts.map +0 -1
  295. package/dist/src-BgKEHW0i.js.map +0 -1
  296. /package/dist/{index-CWsYGvaO.d.ts → index--okzibnx.d.ts} +0 -0
  297. /package/dist/{index-qM4PwHTs.d.ts → index-BLwMeReG.d.ts} +0 -0
  298. /package/dist/{index-uQcTfU6c.d.ts → index-Cw3C7_1f.d.ts} +0 -0
@@ -0,0 +1,30 @@
1
+ import { SidebarItem } from "./sidebar-item.js";
2
+ import { useSidebar } from "./sidebar-provider/sidebar-provider.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/ui/components/sidebar/subcomponents/sidebar-pinning-area.tsx
5
+ const SidebarPinningArea = () => {
6
+ const { pinnedNodePath, togglePin, activeNodeId, onActiveNodeChange } = useSidebar();
7
+ return /* @__PURE__ */ jsx("div", {
8
+ className: "flex flex-col gap-1 border-b border-gray-300 bg-gray-100 px-2 pt-2 pb-0.5 dark:border-slate-800 dark:bg-slate-700",
9
+ children: pinnedNodePath.map((node, index) => /* @__PURE__ */ jsx(SidebarItem, {
10
+ node: {
11
+ ...node,
12
+ depth: 0,
13
+ isExpanded: false
14
+ },
15
+ togglePin,
16
+ searchTerm: "",
17
+ searchResults: [],
18
+ activeSearchIndex: 0,
19
+ allowPinning: true,
20
+ pinnedMode: true,
21
+ isPinned: index === pinnedNodePath.length - 1,
22
+ isActive: activeNodeId === node.id,
23
+ onChange: onActiveNodeChange
24
+ }, node.id))
25
+ });
26
+ };
27
+ //#endregion
28
+ export { SidebarPinningArea };
29
+
30
+ //# sourceMappingURL=sidebar-pinning-area.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-pinning-area.js","names":["SidebarItem","useSidebar","SidebarPinningArea","pinnedNodePath","togglePin","activeNodeId","onActiveNodeChange","map","node","index","id","depth","isExpanded","length"],"sources":["../../../../../src/ui/components/sidebar/subcomponents/sidebar-pinning-area.tsx"],"sourcesContent":["import { SidebarItem } from \"./sidebar-item.js\";\nimport { useSidebar } from \"./sidebar-provider/index.js\";\n\nexport const SidebarPinningArea = () => {\n const { pinnedNodePath, togglePin, activeNodeId, onActiveNodeChange } =\n useSidebar();\n\n return (\n <div className=\"flex flex-col gap-1 border-b border-gray-300 bg-gray-100 px-2 pt-2 pb-0.5 dark:border-slate-800 dark:bg-slate-700\">\n {pinnedNodePath.map((node, index) => (\n <SidebarItem\n key={node.id}\n node={{\n ...node,\n depth: 0,\n isExpanded: false,\n }}\n togglePin={togglePin}\n searchTerm=\"\"\n searchResults={[]}\n activeSearchIndex={0}\n allowPinning={true}\n pinnedMode={true}\n isPinned={index === pinnedNodePath.length - 1}\n isActive={activeNodeId === node.id}\n onChange={onActiveNodeChange}\n />\n ))}\n </div>\n );\n};\n"],"mappings":";;;;AAGA,MAAaE,2BAA2B;CACtC,MAAM,EAAEC,gBAAgBC,WAAWC,cAAcC,uBAC/CL,YAAY;AAEd,QACE,oBAAC,OAAD;EAAK,WAAU;YACZE,eAAeI,KAAKC,MAAMC,UACzB,oBAAC,aAAD;GAEE,MAAM;IACJ,GAAGD;IACHG,OAAO;IACPC,YAAY;IACb;GACUR;GACX,YAAW;GACX,eAAe,EAAE;GACjB,mBAAmB;GACnB,cAAc;GACd,YAAY;GACZ,UAAUK,UAAUN,eAAeU,SAAS;GAC5C,UAAUR,iBAAiBG,KAAKE;GAChC,UAAUJ;GAEb,EAhBQE,KAAKE,GAgBb,CAAC;EACE,CAAA"}
@@ -0,0 +1,2 @@
1
+ import { n as useSidebar, t as SidebarProvider } from "../../../../../sidebar-provider-C2eyz9TL.js";
2
+ export { SidebarProvider, useSidebar };
@@ -0,0 +1,2 @@
1
+ import { SidebarProvider, useSidebar } from "./sidebar-provider.js";
2
+ export { SidebarProvider, useSidebar };
@@ -0,0 +1,2 @@
1
+ import { n as useSidebar, t as SidebarProvider } from "../../../../../sidebar-provider-C2eyz9TL.js";
2
+ export { SidebarProvider, useSidebar };
@@ -0,0 +1,268 @@
1
+ import { NodeStatus } from "../../types.js";
2
+ import { filterStatuses, getMaxDepth, getNodePath, getOpenLevels, isOpenLevel, nodesSearch, sortNodes } from "../../utils.js";
3
+ import { SidebarActionType, initialSidebarState, sidebarReducer } from "./sidebar-reducer.js";
4
+ import { createContext, createRef, useCallback, useContext, useEffect, useMemo, useReducer, useRef, useState } from "react";
5
+ import { jsx } from "react/jsx-runtime";
6
+ //#region src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.tsx
7
+ const SidebarContext = /* @__PURE__ */ createContext({
8
+ nodes: [],
9
+ flattenedNodes: [],
10
+ expandedNodes: /* @__PURE__ */ new Set(),
11
+ pinnedNodePath: [],
12
+ maxDepth: 4,
13
+ searchTerm: "",
14
+ searchResults: [],
15
+ isSearching: false,
16
+ activeSearchIndex: 0,
17
+ activeNodeId: void 0,
18
+ isStatusFilterEnabled: false,
19
+ nodeSortType: void 0,
20
+ nodeSortOrder: "asc",
21
+ virtualListRef: /* @__PURE__ */ createRef(),
22
+ toggleNode: () => void 0,
23
+ openNode: () => void 0,
24
+ closeNode: () => void 0,
25
+ togglePin: () => void 0,
26
+ openLevel: () => void 0,
27
+ changeSearchTerm: () => void 0,
28
+ nextSearchResult: () => void 0,
29
+ previousSearchResult: () => void 0,
30
+ setNodes: () => void 0,
31
+ syncActiveNodeId: () => void 0,
32
+ onActiveNodeChange: () => void 0,
33
+ setActiveNodeChangeCallback: () => void 0,
34
+ toggleStatusFilter: () => void 0
35
+ });
36
+ const SidebarProvider = ({ children, nodes: initialNodes }) => {
37
+ const [_state, dispatch] = useReducer(sidebarReducer, {
38
+ ...initialSidebarState,
39
+ nodes: initialNodes || []
40
+ });
41
+ const stateRef = useRef(_state);
42
+ const flattenedNodesRef = useRef([]);
43
+ useEffect(() => {
44
+ stateRef.current = _state;
45
+ }, [_state]);
46
+ const virtualListRef = useRef(null);
47
+ const [onActiveNodeChange, setOnActiveNodeChange] = useState(() => () => void 0);
48
+ const currentRoots = useMemo(() => {
49
+ let roots = _state.nodes;
50
+ if (_state.pinnedNodePath.length > 0) roots = _state.pinnedNodePath[_state.pinnedNodePath.length - 1].children ?? [];
51
+ if (_state.isStatusFilterEnabled) roots = filterStatuses(roots, [
52
+ NodeStatus.CREATED,
53
+ NodeStatus.MODIFIED,
54
+ NodeStatus.REMOVED,
55
+ NodeStatus.MOVED,
56
+ NodeStatus.DUPLICATED
57
+ ]);
58
+ if (_state.nodeSortType !== void 0) return sortNodes(roots, _state.nodeSortType, _state.nodeSortOrder);
59
+ return roots;
60
+ }, [
61
+ _state.nodes,
62
+ _state.pinnedNodePath,
63
+ _state.isStatusFilterEnabled,
64
+ _state.nodeSortType,
65
+ _state.nodeSortOrder
66
+ ]);
67
+ const flattenTree = useCallback((nodes) => {
68
+ const flattened = [];
69
+ const dfs = (node, depth) => {
70
+ const flatNode = {
71
+ ...node,
72
+ depth,
73
+ isExpanded: _state.expandedNodes.has(node.id)
74
+ };
75
+ flattened.push(flatNode);
76
+ if (Array.isArray(node.children) && _state.expandedNodes.has(node.id)) for (const child of node.children) dfs(child, depth + 1);
77
+ };
78
+ for (const node of nodes) dfs(node, 0);
79
+ return flattened;
80
+ }, [_state.expandedNodes]);
81
+ const flattenedNodes = useMemo(() => {
82
+ return flattenTree(currentRoots);
83
+ }, [currentRoots, flattenTree]);
84
+ useEffect(() => {
85
+ flattenedNodesRef.current = flattenedNodes;
86
+ }, [flattenedNodes]);
87
+ const setActiveNodeChangeCallback = useCallback((callback) => {
88
+ setOnActiveNodeChange(() => callback);
89
+ }, []);
90
+ const syncActiveNodeId = useCallback((nodeId) => {
91
+ dispatch({
92
+ type: SidebarActionType.SYNC_ACTIVE_NODE_ID,
93
+ payload: nodeId
94
+ });
95
+ }, []);
96
+ const openPathToNode = useCallback((nodeId) => {
97
+ const nodePath = getNodePath(currentRoots, nodeId);
98
+ if (nodePath) for (const node of nodePath) dispatch({
99
+ type: SidebarActionType.OPEN_NODE,
100
+ payload: node.id
101
+ });
102
+ }, [currentRoots]);
103
+ const toggleNode = useCallback((nodeId) => {
104
+ dispatch({
105
+ type: SidebarActionType.TOGGLE_NODE,
106
+ payload: nodeId
107
+ });
108
+ }, []);
109
+ const openNode = useCallback((nodeId, openPath, scrollTo) => {
110
+ dispatch({
111
+ type: SidebarActionType.OPEN_NODE,
112
+ payload: nodeId
113
+ });
114
+ if (openPath) openPathToNode(nodeId);
115
+ if (scrollTo) {
116
+ const nodeIndex = flattenedNodesRef.current.findIndex((node) => node.id === nodeId);
117
+ setTimeout(() => {
118
+ virtualListRef.current?.scrollToRow(nodeIndex);
119
+ }, 100);
120
+ }
121
+ }, [openPathToNode]);
122
+ const closeNode = useCallback((nodeId) => {
123
+ dispatch({
124
+ type: SidebarActionType.CLOSE_NODE,
125
+ payload: nodeId
126
+ });
127
+ }, []);
128
+ const maxDepth = useMemo(() => {
129
+ if (_state.pinnedNodePath.length > 0) return getMaxDepth(_state.pinnedNodePath[_state.pinnedNodePath.length - 1].children ?? []);
130
+ return getMaxDepth(_state.nodes);
131
+ }, [_state.nodes, _state.pinnedNodePath]);
132
+ const togglePin = useCallback((nodeId) => {
133
+ const nodePath = stateRef.current.pinnedNodePath.length > 0 && stateRef.current.pinnedNodePath[stateRef.current.pinnedNodePath.length - 1].id === nodeId ? [] : getNodePath(stateRef.current.nodes, nodeId) ?? [];
134
+ dispatch({
135
+ type: SidebarActionType.SET_PINNED_NODE_PATH,
136
+ payload: nodePath
137
+ });
138
+ }, []);
139
+ const openLevel = useCallback((targetLevel) => {
140
+ if (isOpenLevel(currentRoots, stateRef.current.expandedNodes, targetLevel - 1)) dispatch({
141
+ type: SidebarActionType.SET_EXPANDED_NODES,
142
+ payload: /* @__PURE__ */ new Set()
143
+ });
144
+ else dispatch({
145
+ type: SidebarActionType.SET_EXPANDED_NODES,
146
+ payload: getOpenLevels(currentRoots, targetLevel)
147
+ });
148
+ }, [currentRoots]);
149
+ const toggleStatusFilter = useCallback(() => {
150
+ dispatch({ type: SidebarActionType.TOGGLE_STATUS_FILTER });
151
+ }, []);
152
+ const [activeSearchIndex, setActiveSearchIndex] = useState(0);
153
+ useEffect(() => {
154
+ const DEBOUNCE_MS = 300;
155
+ let timeoutId;
156
+ if (_state.searchTerm) {
157
+ dispatch({
158
+ type: SidebarActionType.SET_IS_SEARCHING,
159
+ payload: true
160
+ });
161
+ timeoutId = setTimeout(() => {
162
+ const results = nodesSearch(currentRoots, _state.searchTerm, "dfs");
163
+ dispatch({
164
+ type: SidebarActionType.SET_SEARCH_RESULTS,
165
+ payload: results
166
+ });
167
+ setActiveSearchIndex(0);
168
+ if (results.length > 0) openPathToNode(results[0].id);
169
+ dispatch({
170
+ type: SidebarActionType.SET_IS_SEARCHING,
171
+ payload: false
172
+ });
173
+ }, DEBOUNCE_MS);
174
+ } else {
175
+ dispatch({
176
+ type: SidebarActionType.SET_SEARCH_RESULTS,
177
+ payload: []
178
+ });
179
+ dispatch({
180
+ type: SidebarActionType.SET_IS_SEARCHING,
181
+ payload: false
182
+ });
183
+ }
184
+ return () => {
185
+ clearTimeout(timeoutId);
186
+ };
187
+ }, [
188
+ currentRoots,
189
+ _state.searchTerm,
190
+ openPathToNode
191
+ ]);
192
+ useEffect(() => {
193
+ if (stateRef.current.searchResults.length > 0 && activeSearchIndex >= 0 && activeSearchIndex < stateRef.current.searchResults.length) {
194
+ const { id } = stateRef.current.searchResults[activeSearchIndex];
195
+ for (let i = 0; i < flattenedNodesRef.current.length; i++) if (flattenedNodesRef.current[i].id === id) {
196
+ virtualListRef.current?.scrollToRow(i);
197
+ break;
198
+ }
199
+ }
200
+ }, [activeSearchIndex]);
201
+ const nextSearchResult = useCallback(() => {
202
+ const nextIndex = Math.min(stateRef.current.searchResults.length - 1, activeSearchIndex + 1);
203
+ if (nextIndex !== activeSearchIndex) {
204
+ openPathToNode(stateRef.current.searchResults[nextIndex].id);
205
+ setActiveSearchIndex(nextIndex);
206
+ }
207
+ }, [activeSearchIndex, openPathToNode]);
208
+ const previousSearchResult = useCallback(() => {
209
+ const previousIndex = Math.max(0, activeSearchIndex - 1);
210
+ if (previousIndex !== activeSearchIndex) {
211
+ openPathToNode(stateRef.current.searchResults[previousIndex].id);
212
+ setActiveSearchIndex(previousIndex);
213
+ }
214
+ }, [activeSearchIndex, openPathToNode]);
215
+ const setNodes = useCallback((newNodes, sortType, sortOrder) => {
216
+ dispatch({
217
+ type: SidebarActionType.SET_NODES,
218
+ payload: {
219
+ nodes: newNodes,
220
+ sortType,
221
+ sortOrder
222
+ }
223
+ });
224
+ }, [dispatch]);
225
+ const changeSearchTerm = useCallback((newTerm) => {
226
+ dispatch({
227
+ type: SidebarActionType.CHANGE_SEARCH_TERM,
228
+ payload: newTerm
229
+ });
230
+ }, [dispatch]);
231
+ return /* @__PURE__ */ jsx(SidebarContext.Provider, {
232
+ value: {
233
+ nodes: _state.nodes,
234
+ flattenedNodes,
235
+ expandedNodes: _state.expandedNodes,
236
+ pinnedNodePath: _state.pinnedNodePath,
237
+ maxDepth,
238
+ searchTerm: _state.searchTerm,
239
+ searchResults: _state.searchResults,
240
+ isSearching: _state.isSearching,
241
+ activeSearchIndex,
242
+ isStatusFilterEnabled: _state.isStatusFilterEnabled,
243
+ nodeSortType: _state.nodeSortType,
244
+ nodeSortOrder: _state.nodeSortOrder,
245
+ virtualListRef,
246
+ toggleNode,
247
+ openNode,
248
+ closeNode,
249
+ togglePin,
250
+ openLevel,
251
+ changeSearchTerm,
252
+ nextSearchResult,
253
+ previousSearchResult,
254
+ setNodes,
255
+ activeNodeId: _state.activeNodeId,
256
+ syncActiveNodeId,
257
+ onActiveNodeChange,
258
+ setActiveNodeChangeCallback,
259
+ toggleStatusFilter
260
+ },
261
+ children
262
+ });
263
+ };
264
+ const useSidebar = () => useContext(SidebarContext);
265
+ //#endregion
266
+ export { SidebarProvider, useSidebar };
267
+
268
+ //# sourceMappingURL=sidebar-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-provider.js","names":["createContext","createRef","useCallback","useContext","useEffect","useMemo","useReducer","useRef","useState","NodeStatus","filterStatuses","getMaxDepth","getNodePath","getOpenLevels","isOpenLevel","nodesSearch","sortNodes","initialSidebarState","SidebarActionType","sidebarReducer","SidebarContext","nodes","flattenedNodes","expandedNodes","Set","pinnedNodePath","maxDepth","searchTerm","searchResults","isSearching","activeSearchIndex","activeNodeId","undefined","isStatusFilterEnabled","nodeSortType","nodeSortOrder","virtualListRef","toggleNode","openNode","closeNode","togglePin","openLevel","changeSearchTerm","nextSearchResult","previousSearchResult","setNodes","syncActiveNodeId","onActiveNodeChange","setActiveNodeChangeCallback","toggleStatusFilter","SidebarProvider","children","initialNodes","_state","dispatch","stateRef","flattenedNodesRef","current","setOnActiveNodeChange","currentRoots","roots","length","CREATED","MODIFIED","REMOVED","MOVED","DUPLICATED","flattenTree","flattened","dfs","node","depth","flatNode","isExpanded","has","id","push","Array","isArray","child","callback","nodeId","type","SYNC_ACTIVE_NODE_ID","payload","openPathToNode","nodePath","OPEN_NODE","TOGGLE_NODE","openPath","scrollTo","nodeIndex","findIndex","setTimeout","scrollToRow","CLOSE_NODE","isPinned","SET_PINNED_NODE_PATH","targetLevel","isTargetLevelOpen","SET_EXPANDED_NODES","TOGGLE_STATUS_FILTER","setActiveSearchIndex","DEBOUNCE_MS","timeoutId","SET_IS_SEARCHING","results","SET_SEARCH_RESULTS","clearTimeout","i","nextIndex","Math","min","previousIndex","max","newNodes","sortType","sortOrder","SET_NODES","newTerm","CHANGE_SEARCH_TERM","useSidebar"],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.tsx"],"sourcesContent":["import {\n createContext,\n createRef,\n type RefObject,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\nimport type { List } from \"react-virtualized\";\nimport {\n type FlattenedNode,\n type NodeSortOrder,\n type NodeSortType,\n NodeStatus,\n type SidebarNode,\n} from \"../../types.js\";\nimport {\n filterStatuses,\n getMaxDepth,\n getNodePath,\n getOpenLevels,\n isOpenLevel,\n nodesSearch,\n sortNodes,\n} from \"../../utils.js\";\nimport {\n initialSidebarState,\n SidebarActionType,\n sidebarReducer,\n type SidebarState,\n} from \"./sidebar-reducer.js\";\n\ninterface SidebarContextType {\n nodes: SidebarNode[];\n flattenedNodes: FlattenedNode[];\n expandedNodes: Set<string>;\n pinnedNodePath: SidebarNode[];\n maxDepth: number;\n searchTerm: string;\n searchResults: SidebarNode[];\n isSearching: boolean;\n activeSearchIndex: number;\n activeNodeId?: string;\n isStatusFilterEnabled: boolean;\n nodeSortType?: NodeSortType;\n nodeSortOrder: NodeSortOrder;\n virtualListRef: RefObject<List | null>;\n toggleNode: (nodeId: string) => void;\n openNode: (nodeId: string, openPath?: boolean, scrollTo?: boolean) => void;\n closeNode: (nodeId: string) => void;\n togglePin: (nodeId: string) => void;\n openLevel: (level: number) => void;\n changeSearchTerm: (newTerm: string) => void;\n nextSearchResult: () => void;\n previousSearchResult: () => void;\n setNodes: (\n newNodes: SidebarNode[],\n sortType?: NodeSortType,\n sortOrder?: NodeSortOrder,\n ) => void;\n syncActiveNodeId: (nodeId?: string) => void;\n onActiveNodeChange: (node: SidebarNode) => void;\n setActiveNodeChangeCallback: (callback: (node: SidebarNode) => void) => void;\n toggleStatusFilter: () => void;\n}\n\nconst SidebarContext = createContext<SidebarContextType>({\n nodes: [],\n flattenedNodes: [],\n expandedNodes: new Set<string>(),\n pinnedNodePath: [],\n maxDepth: 4,\n searchTerm: \"\",\n searchResults: [],\n isSearching: false,\n activeSearchIndex: 0,\n activeNodeId: undefined,\n isStatusFilterEnabled: false,\n nodeSortType: undefined,\n nodeSortOrder: \"asc\",\n virtualListRef: createRef<List>(),\n toggleNode: () => undefined,\n openNode: () => undefined,\n closeNode: () => undefined,\n togglePin: () => undefined,\n openLevel: () => undefined,\n changeSearchTerm: () => undefined,\n nextSearchResult: () => undefined,\n previousSearchResult: () => undefined,\n setNodes: () => undefined,\n syncActiveNodeId: () => undefined,\n onActiveNodeChange: () => undefined,\n setActiveNodeChangeCallback: () => undefined,\n toggleStatusFilter: () => undefined,\n});\n\ninterface SidebarProviderProps extends React.PropsWithChildren {\n nodes?: SidebarNode[];\n}\n\nconst SidebarProvider = ({\n children,\n nodes: initialNodes,\n}: SidebarProviderProps) => {\n const [_state, dispatch] = useReducer(sidebarReducer, {\n ...initialSidebarState,\n nodes: initialNodes || [],\n });\n // Stable snapshots for callbacks that read state without triggering re-renders\n const stateRef = useRef<SidebarState>(_state);\n const flattenedNodesRef = useRef<FlattenedNode[]>([]);\n useEffect(() => {\n stateRef.current = _state;\n }, [_state]);\n\n const virtualListRef = useRef<List>(null);\n const [onActiveNodeChange, setOnActiveNodeChange] = useState<\n (nodeId: SidebarNode) => void\n >(() => () => undefined);\n\n const currentRoots = useMemo(() => {\n let roots = _state.nodes;\n if (_state.pinnedNodePath.length > 0) {\n roots =\n _state.pinnedNodePath[_state.pinnedNodePath.length - 1].children ?? [];\n }\n if (_state.isStatusFilterEnabled) {\n roots = filterStatuses(roots, [\n NodeStatus.CREATED,\n NodeStatus.MODIFIED,\n NodeStatus.REMOVED,\n NodeStatus.MOVED,\n NodeStatus.DUPLICATED,\n ]);\n }\n if (_state.nodeSortType !== undefined) {\n return sortNodes(roots, _state.nodeSortType, _state.nodeSortOrder);\n }\n return roots;\n }, [\n _state.nodes,\n _state.pinnedNodePath,\n _state.isStatusFilterEnabled,\n _state.nodeSortType,\n _state.nodeSortOrder,\n ]);\n\n const flattenTree = useCallback(\n (nodes: SidebarNode[]): FlattenedNode[] => {\n const flattened: FlattenedNode[] = [];\n\n const dfs = (node: SidebarNode, depth: number) => {\n const flatNode: FlattenedNode = {\n ...node,\n depth,\n isExpanded: _state.expandedNodes.has(node.id),\n };\n flattened.push(flatNode);\n\n if (Array.isArray(node.children) && _state.expandedNodes.has(node.id)) {\n for (const child of node.children) {\n dfs(child, depth + 1);\n }\n }\n };\n\n for (const node of nodes) {\n dfs(node, 0);\n }\n\n return flattened;\n },\n [_state.expandedNodes],\n );\n\n const flattenedNodes = useMemo(() => {\n return flattenTree(currentRoots);\n }, [currentRoots, flattenTree]);\n\n useEffect(() => {\n flattenedNodesRef.current = flattenedNodes;\n }, [flattenedNodes]);\n\n const setActiveNodeChangeCallback = useCallback(\n (callback: (node: SidebarNode) => void) => {\n setOnActiveNodeChange(() => callback);\n },\n [],\n );\n\n const syncActiveNodeId = useCallback((nodeId?: string) => {\n dispatch({\n type: SidebarActionType.SYNC_ACTIVE_NODE_ID,\n payload: nodeId,\n });\n }, []);\n\n const openPathToNode = useCallback(\n (nodeId: string) => {\n const nodePath = getNodePath(currentRoots, nodeId);\n if (nodePath) {\n for (const node of nodePath) {\n dispatch({\n type: SidebarActionType.OPEN_NODE,\n payload: node.id,\n });\n }\n }\n },\n [currentRoots],\n );\n\n const toggleNode = useCallback((nodeId: string) => {\n dispatch({\n type: SidebarActionType.TOGGLE_NODE,\n payload: nodeId,\n });\n }, []);\n\n const openNode = useCallback(\n (nodeId: string, openPath?: boolean, scrollTo?: boolean) => {\n dispatch({\n type: SidebarActionType.OPEN_NODE,\n payload: nodeId,\n });\n if (openPath) {\n openPathToNode(nodeId);\n }\n if (scrollTo) {\n const nodeIndex = flattenedNodesRef.current.findIndex(\n (node) => node.id === nodeId,\n );\n setTimeout(() => {\n virtualListRef.current?.scrollToRow(nodeIndex);\n }, 100);\n }\n },\n [openPathToNode],\n );\n\n const closeNode = useCallback((nodeId: string) => {\n dispatch({\n type: SidebarActionType.CLOSE_NODE,\n payload: nodeId,\n });\n }, []);\n\n const maxDepth = useMemo(() => {\n if (_state.pinnedNodePath.length > 0) {\n return getMaxDepth(\n _state.pinnedNodePath[_state.pinnedNodePath.length - 1].children ?? [],\n );\n }\n return getMaxDepth(_state.nodes);\n }, [_state.nodes, _state.pinnedNodePath]);\n\n const togglePin = useCallback((nodeId: string) => {\n const isPinned =\n stateRef.current.pinnedNodePath.length > 0 &&\n stateRef.current.pinnedNodePath[\n stateRef.current.pinnedNodePath.length - 1\n ].id === nodeId;\n\n const nodePath = isPinned\n ? [] // unpin\n : (getNodePath(stateRef.current.nodes, nodeId) ?? []);\n dispatch({\n type: SidebarActionType.SET_PINNED_NODE_PATH,\n payload: nodePath,\n });\n }, []);\n\n const openLevel = useCallback(\n (targetLevel: number) => {\n const isTargetLevelOpen = isOpenLevel(\n currentRoots,\n stateRef.current.expandedNodes,\n targetLevel - 1,\n );\n\n if (isTargetLevelOpen) {\n dispatch({\n type: SidebarActionType.SET_EXPANDED_NODES,\n payload: new Set(),\n });\n } else {\n dispatch({\n type: SidebarActionType.SET_EXPANDED_NODES,\n payload: getOpenLevels(currentRoots, targetLevel),\n });\n }\n },\n [currentRoots],\n );\n\n const toggleStatusFilter = useCallback(() => {\n dispatch({\n type: SidebarActionType.TOGGLE_STATUS_FILTER,\n });\n }, []);\n\n const [activeSearchIndex, setActiveSearchIndex] = useState(0);\n\n useEffect(() => {\n const DEBOUNCE_MS = 300;\n let timeoutId: NodeJS.Timeout;\n\n if (_state.searchTerm) {\n dispatch({ type: SidebarActionType.SET_IS_SEARCHING, payload: true });\n\n timeoutId = setTimeout(() => {\n const results = nodesSearch(currentRoots, _state.searchTerm, \"dfs\");\n dispatch({\n type: SidebarActionType.SET_SEARCH_RESULTS,\n payload: results,\n });\n setActiveSearchIndex(0);\n if (results.length > 0) {\n openPathToNode(results[0].id);\n }\n dispatch({ type: SidebarActionType.SET_IS_SEARCHING, payload: false });\n }, DEBOUNCE_MS);\n } else {\n dispatch({ type: SidebarActionType.SET_SEARCH_RESULTS, payload: [] });\n dispatch({ type: SidebarActionType.SET_IS_SEARCHING, payload: false });\n }\n\n return () => {\n clearTimeout(timeoutId);\n };\n }, [currentRoots, _state.searchTerm, openPathToNode]);\n\n useEffect(() => {\n if (\n stateRef.current.searchResults.length > 0 &&\n activeSearchIndex >= 0 &&\n activeSearchIndex < stateRef.current.searchResults.length\n ) {\n const { id } = stateRef.current.searchResults[activeSearchIndex];\n for (let i = 0; i < flattenedNodesRef.current.length; i++) {\n if (flattenedNodesRef.current[i].id === id) {\n virtualListRef.current?.scrollToRow(i);\n break;\n }\n }\n }\n }, [activeSearchIndex]);\n\n const nextSearchResult = useCallback(() => {\n const nextIndex = Math.min(\n stateRef.current.searchResults.length - 1,\n activeSearchIndex + 1,\n );\n if (nextIndex !== activeSearchIndex) {\n openPathToNode(stateRef.current.searchResults[nextIndex].id);\n setActiveSearchIndex(nextIndex);\n }\n }, [activeSearchIndex, openPathToNode]);\n\n const previousSearchResult = useCallback(() => {\n const previousIndex = Math.max(0, activeSearchIndex - 1);\n if (previousIndex !== activeSearchIndex) {\n openPathToNode(stateRef.current.searchResults[previousIndex].id);\n setActiveSearchIndex(previousIndex);\n }\n }, [activeSearchIndex, openPathToNode]);\n\n const setNodes = useCallback(\n (\n newNodes: SidebarNode[],\n sortType?: NodeSortType,\n sortOrder?: NodeSortOrder,\n ) => {\n dispatch({\n type: SidebarActionType.SET_NODES,\n payload: { nodes: newNodes, sortType, sortOrder },\n });\n },\n [dispatch],\n );\n\n const changeSearchTerm = useCallback(\n (newTerm: string) => {\n dispatch({\n type: SidebarActionType.CHANGE_SEARCH_TERM,\n payload: newTerm,\n });\n },\n [dispatch],\n );\n\n return (\n <SidebarContext.Provider\n value={{\n nodes: _state.nodes,\n flattenedNodes,\n expandedNodes: _state.expandedNodes,\n pinnedNodePath: _state.pinnedNodePath,\n maxDepth,\n searchTerm: _state.searchTerm,\n searchResults: _state.searchResults,\n isSearching: _state.isSearching,\n activeSearchIndex,\n isStatusFilterEnabled: _state.isStatusFilterEnabled,\n nodeSortType: _state.nodeSortType,\n nodeSortOrder: _state.nodeSortOrder,\n virtualListRef,\n toggleNode,\n openNode,\n closeNode,\n togglePin,\n openLevel,\n changeSearchTerm,\n nextSearchResult,\n previousSearchResult,\n setNodes,\n activeNodeId: _state.activeNodeId,\n syncActiveNodeId,\n onActiveNodeChange,\n setActiveNodeChangeCallback,\n toggleStatusFilter,\n }}\n >\n {children}\n </SidebarContext.Provider>\n );\n};\n\nconst useSidebar = () => useContext(SidebarContext);\n\nexport { SidebarProvider, useSidebar };\n"],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ import { i as NodeSortType, r as NodeSortOrder, s as SidebarNode } from "../../../../../types-CNbvfWjh.js";
2
+
3
+ //#region src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.d.ts
4
+ interface SidebarState {
5
+ nodes: SidebarNode[];
6
+ expandedNodes: Set<string>;
7
+ pinnedNodePath: SidebarNode[];
8
+ searchTerm: string;
9
+ searchResults: SidebarNode[];
10
+ isSearching: boolean;
11
+ activeSearchIndex: number;
12
+ activeNodeId?: string;
13
+ isStatusFilterEnabled: boolean;
14
+ nodeSortType?: NodeSortType;
15
+ nodeSortOrder: NodeSortOrder;
16
+ }
17
+ declare const initialSidebarState: SidebarState;
18
+ declare enum SidebarActionType {
19
+ SET_NODES = "SET_NODES",
20
+ TOGGLE_NODE = "TOGGLE_NODE",
21
+ OPEN_NODE = "OPEN_NODE",
22
+ CLOSE_NODE = "CLOSE_NODE",
23
+ CHANGE_SEARCH_TERM = "CHANGE_SEARCH_TERM",
24
+ SET_SEARCH_RESULTS = "SET_SEARCH_RESULTS",
25
+ SET_IS_SEARCHING = "SET_IS_SEARCHING",
26
+ SYNC_ACTIVE_NODE_ID = "SYNC_ACTIVE_NODE_ID",
27
+ TOGGLE_STATUS_FILTER = "TOGGLE_STATUS_FILTER",
28
+ SET_PINNED_NODE_PATH = "SET_PINNED_NODE_PATH",
29
+ SET_EXPANDED_NODES = "SET_EXPANDED_NODES",
30
+ SET_NODES_SORT_TYPE = "SET_NODES_SORT_TYPE",
31
+ SET_NODES_SORT_ORDER = "SET_NODES_SORT_ORDER"
32
+ }
33
+ interface SetNodesAction {
34
+ type: SidebarActionType.SET_NODES;
35
+ payload: {
36
+ nodes: SidebarNode[];
37
+ sortType?: NodeSortType;
38
+ sortOrder?: NodeSortOrder;
39
+ };
40
+ }
41
+ interface ToggleNodeAction {
42
+ type: SidebarActionType.TOGGLE_NODE;
43
+ payload: string;
44
+ }
45
+ interface OpenNodeAction {
46
+ type: SidebarActionType.OPEN_NODE;
47
+ payload: string;
48
+ }
49
+ interface CloseNodeAction {
50
+ type: SidebarActionType.CLOSE_NODE;
51
+ payload: string;
52
+ }
53
+ interface ChangeSearchTermAction {
54
+ type: SidebarActionType.CHANGE_SEARCH_TERM;
55
+ payload: string;
56
+ }
57
+ interface SetSearchResultsAction {
58
+ type: SidebarActionType.SET_SEARCH_RESULTS;
59
+ payload: SidebarNode[];
60
+ }
61
+ interface SetIsSearchingAction {
62
+ type: SidebarActionType.SET_IS_SEARCHING;
63
+ payload: boolean;
64
+ }
65
+ interface SyncActiveNodeIdAction {
66
+ type: SidebarActionType.SYNC_ACTIVE_NODE_ID;
67
+ payload: string | undefined;
68
+ }
69
+ interface ToggleStatusFilterAction {
70
+ type: SidebarActionType.TOGGLE_STATUS_FILTER;
71
+ }
72
+ interface SetPinnedNodePathAction {
73
+ type: SidebarActionType.SET_PINNED_NODE_PATH;
74
+ payload: SidebarNode[];
75
+ }
76
+ interface SetExpandedNodesAction {
77
+ type: SidebarActionType.SET_EXPANDED_NODES;
78
+ payload: Set<string>;
79
+ }
80
+ interface SetNodeSortTypeAction {
81
+ type: SidebarActionType.SET_NODES_SORT_TYPE;
82
+ payload: NodeSortType | undefined;
83
+ }
84
+ interface SetNodeSortOrderAction {
85
+ type: SidebarActionType.SET_NODES_SORT_ORDER;
86
+ payload: NodeSortOrder;
87
+ }
88
+ type SidebarAction = SetNodesAction | ToggleNodeAction | OpenNodeAction | CloseNodeAction | ChangeSearchTermAction | SetSearchResultsAction | SetIsSearchingAction | SyncActiveNodeIdAction | ToggleStatusFilterAction | SetPinnedNodePathAction | SetExpandedNodesAction | SetNodeSortTypeAction | SetNodeSortOrderAction;
89
+ declare const sidebarReducer: (state: SidebarState | undefined, action: SidebarAction) => SidebarState;
90
+ //#endregion
91
+ export { SidebarAction, SidebarActionType, SidebarState, initialSidebarState, sidebarReducer };
92
+ //# sourceMappingURL=sidebar-reducer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-reducer.d.ts","names":[],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.ts"],"mappings":";;;UAGiB,YAAA;EACf,KAAA,EAAO,WAAA;EACP,aAAA,EAAe,GAAA;EACf,cAAA,EAAgB,WAAA;EAChB,UAAA;EACA,aAAA,EAAe,WAAA;EACf,WAAA;EACA,iBAAA;EACA,YAAA;EACA,qBAAA;EACA,YAAA,GAAe,YAAA;EACf,aAAA,EAAe,aAAA;AAAA;AAAA,cAIJ,mBAAA,EAAqB,YAAA;AAAA,aAetB,iBAAA;EACV,SAAA;EACA,WAAA;EACA,SAAA;EACA,UAAA;EACA,kBAAA;EACA,kBAAA;EACA,gBAAA;EACA,mBAAA;EACA,oBAAA;EACA,oBAAA;EACA,kBAAA;EACA,mBAAA;EACA,oBAAA;AAAA;AAAA,UAIQ,cAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,SAAA;EACxB,OAAA;IACE,KAAA,EAAO,WAAA;IACP,QAAA,GAAW,YAAA;IACX,SAAA,GAAY,aAAA;EAAA;AAAA;AAAA,UAIN,gBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,WAAA;EACxB,OAAA;AAAA;AAAA,UAGQ,cAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,SAAA;EACxB,OAAA;AAAA;AAAA,UAGQ,eAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,UAAA;EACxB,OAAA;AAAA;AAAA,UAGQ,sBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,kBAAA;EACxB,OAAA;AAAA;AAAA,UAGQ,sBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,kBAAA;EACxB,OAAA,EAAS,WAAA;AAAA;AAAA,UAGD,oBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,gBAAA;EACxB,OAAA;AAAA;AAAA,UAGQ,sBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,mBAAA;EACxB,OAAA;AAAA;AAAA,UAGQ,wBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,oBAAA;AAAA;AAAA,UAGhB,uBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,oBAAA;EACxB,OAAA,EAAS,WAAA;AAAA;AAAA,UAGD,sBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,kBAAA;EACxB,OAAA,EAAS,GAAA;AAAA;AAAA,UAGD,qBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,mBAAA;EACxB,OAAA,EAAS,YAAA;AAAA;AAAA,UAGD,sBAAA;EACR,IAAA,EAAM,iBAAA,CAAkB,oBAAA;EACxB,OAAA,EAAS,aAAA;AAAA;AAAA,KAIC,aAAA,GACR,cAAA,GACA,gBAAA,GACA,cAAA,GACA,eAAA,GACA,sBAAA,GACA,sBAAA,GACA,oBAAA,GACA,sBAAA,GACA,wBAAA,GACA,uBAAA,GACA,sBAAA,GACA,qBAAA,GACA,sBAAA;AAAA,cAGS,cAAA,GACX,KAAA,EAAO,YAAA,cACP,MAAA,EAAQ,aAAA,KACP,YAAA"}
@@ -0,0 +1,107 @@
1
+ //#region src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.ts
2
+ const initialSidebarState = {
3
+ nodes: [],
4
+ expandedNodes: /* @__PURE__ */ new Set(),
5
+ pinnedNodePath: [],
6
+ searchTerm: "",
7
+ searchResults: [],
8
+ isSearching: false,
9
+ activeSearchIndex: 0,
10
+ activeNodeId: void 0,
11
+ isStatusFilterEnabled: false,
12
+ nodeSortType: void 0,
13
+ nodeSortOrder: "asc"
14
+ };
15
+ let SidebarActionType = /* @__PURE__ */ function(SidebarActionType) {
16
+ SidebarActionType["SET_NODES"] = "SET_NODES";
17
+ SidebarActionType["TOGGLE_NODE"] = "TOGGLE_NODE";
18
+ SidebarActionType["OPEN_NODE"] = "OPEN_NODE";
19
+ SidebarActionType["CLOSE_NODE"] = "CLOSE_NODE";
20
+ SidebarActionType["CHANGE_SEARCH_TERM"] = "CHANGE_SEARCH_TERM";
21
+ SidebarActionType["SET_SEARCH_RESULTS"] = "SET_SEARCH_RESULTS";
22
+ SidebarActionType["SET_IS_SEARCHING"] = "SET_IS_SEARCHING";
23
+ SidebarActionType["SYNC_ACTIVE_NODE_ID"] = "SYNC_ACTIVE_NODE_ID";
24
+ SidebarActionType["TOGGLE_STATUS_FILTER"] = "TOGGLE_STATUS_FILTER";
25
+ SidebarActionType["SET_PINNED_NODE_PATH"] = "SET_PINNED_NODE_PATH";
26
+ SidebarActionType["SET_EXPANDED_NODES"] = "SET_EXPANDED_NODES";
27
+ SidebarActionType["SET_NODES_SORT_TYPE"] = "SET_NODES_SORT_TYPE";
28
+ SidebarActionType["SET_NODES_SORT_ORDER"] = "SET_NODES_SORT_ORDER";
29
+ return SidebarActionType;
30
+ }({});
31
+ const sidebarReducer = (state = initialSidebarState, action) => {
32
+ switch (action.type) {
33
+ case SidebarActionType.SET_NODES: return {
34
+ ...state,
35
+ pinnedNodePath: [],
36
+ nodes: action.payload.nodes,
37
+ nodeSortType: action.payload.sortType ?? state.nodeSortType,
38
+ nodeSortOrder: action.payload.sortOrder ?? state.nodeSortOrder
39
+ };
40
+ case SidebarActionType.TOGGLE_NODE: {
41
+ const newExpandedNodes = new Set(state.expandedNodes);
42
+ if (newExpandedNodes.has(action.payload)) newExpandedNodes.delete(action.payload);
43
+ else newExpandedNodes.add(action.payload);
44
+ return {
45
+ ...state,
46
+ expandedNodes: newExpandedNodes
47
+ };
48
+ }
49
+ case SidebarActionType.OPEN_NODE: {
50
+ const newExpandedNodes = new Set(state.expandedNodes);
51
+ newExpandedNodes.add(action.payload);
52
+ return {
53
+ ...state,
54
+ expandedNodes: newExpandedNodes
55
+ };
56
+ }
57
+ case SidebarActionType.CLOSE_NODE: {
58
+ const newExpandedNodes = new Set(state.expandedNodes);
59
+ newExpandedNodes.delete(action.payload);
60
+ return {
61
+ ...state,
62
+ expandedNodes: newExpandedNodes
63
+ };
64
+ }
65
+ case SidebarActionType.CHANGE_SEARCH_TERM: return {
66
+ ...state,
67
+ searchTerm: action.payload
68
+ };
69
+ case SidebarActionType.SET_SEARCH_RESULTS: return {
70
+ ...state,
71
+ searchResults: action.payload
72
+ };
73
+ case SidebarActionType.SET_IS_SEARCHING: return {
74
+ ...state,
75
+ isSearching: action.payload
76
+ };
77
+ case SidebarActionType.SYNC_ACTIVE_NODE_ID: return {
78
+ ...state,
79
+ activeNodeId: action.payload
80
+ };
81
+ case SidebarActionType.TOGGLE_STATUS_FILTER: return {
82
+ ...state,
83
+ isStatusFilterEnabled: !state.isStatusFilterEnabled
84
+ };
85
+ case SidebarActionType.SET_PINNED_NODE_PATH: return {
86
+ ...state,
87
+ pinnedNodePath: action.payload
88
+ };
89
+ case SidebarActionType.SET_EXPANDED_NODES: return {
90
+ ...state,
91
+ expandedNodes: action.payload
92
+ };
93
+ case SidebarActionType.SET_NODES_SORT_TYPE: return {
94
+ ...state,
95
+ nodeSortType: action.payload
96
+ };
97
+ case SidebarActionType.SET_NODES_SORT_ORDER: return {
98
+ ...state,
99
+ nodeSortOrder: action.payload
100
+ };
101
+ default: return state;
102
+ }
103
+ };
104
+ //#endregion
105
+ export { SidebarActionType, initialSidebarState, sidebarReducer };
106
+
107
+ //# sourceMappingURL=sidebar-reducer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-reducer.js","names":["initialSidebarState","nodes","expandedNodes","Set","pinnedNodePath","searchTerm","searchResults","isSearching","activeSearchIndex","activeNodeId","undefined","isStatusFilterEnabled","nodeSortType","nodeSortOrder","SidebarActionType","sidebarReducer","state","action","type","SET_NODES","payload","sortType","sortOrder","TOGGLE_NODE","newExpandedNodes","has","delete","add","OPEN_NODE","CLOSE_NODE","CHANGE_SEARCH_TERM","SET_SEARCH_RESULTS","SET_IS_SEARCHING","SYNC_ACTIVE_NODE_ID","TOGGLE_STATUS_FILTER","SET_PINNED_NODE_PATH","SET_EXPANDED_NODES","SET_NODES_SORT_TYPE","SET_NODES_SORT_ORDER"],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.ts"],"sourcesContent":["import type { NodeSortOrder, NodeSortType, SidebarNode } from \"../../types.js\";\n\n// State interface\nexport interface SidebarState {\n nodes: SidebarNode[];\n expandedNodes: Set<string>;\n pinnedNodePath: SidebarNode[];\n searchTerm: string;\n searchResults: SidebarNode[];\n isSearching: boolean;\n activeSearchIndex: number;\n activeNodeId?: string;\n isStatusFilterEnabled: boolean;\n nodeSortType?: NodeSortType;\n nodeSortOrder: NodeSortOrder;\n}\n\n// Initial state\nexport const initialSidebarState: SidebarState = {\n nodes: [],\n expandedNodes: new Set<string>(),\n pinnedNodePath: [],\n searchTerm: \"\",\n searchResults: [],\n isSearching: false,\n activeSearchIndex: 0,\n activeNodeId: undefined,\n isStatusFilterEnabled: false,\n nodeSortType: undefined,\n nodeSortOrder: \"asc\",\n};\n\n// Action types\nexport enum SidebarActionType {\n SET_NODES = \"SET_NODES\",\n TOGGLE_NODE = \"TOGGLE_NODE\",\n OPEN_NODE = \"OPEN_NODE\",\n CLOSE_NODE = \"CLOSE_NODE\",\n CHANGE_SEARCH_TERM = \"CHANGE_SEARCH_TERM\",\n SET_SEARCH_RESULTS = \"SET_SEARCH_RESULTS\",\n SET_IS_SEARCHING = \"SET_IS_SEARCHING\",\n SYNC_ACTIVE_NODE_ID = \"SYNC_ACTIVE_NODE_ID\",\n TOGGLE_STATUS_FILTER = \"TOGGLE_STATUS_FILTER\",\n SET_PINNED_NODE_PATH = \"SET_PINNED_NODE_PATH\",\n SET_EXPANDED_NODES = \"SET_EXPANDED_NODES\",\n SET_NODES_SORT_TYPE = \"SET_NODES_SORT_TYPE\",\n SET_NODES_SORT_ORDER = \"SET_NODES_SORT_ORDER\",\n}\n\n// Action interfaces\ninterface SetNodesAction {\n type: SidebarActionType.SET_NODES;\n payload: {\n nodes: SidebarNode[];\n sortType?: NodeSortType;\n sortOrder?: NodeSortOrder;\n };\n}\n\ninterface ToggleNodeAction {\n type: SidebarActionType.TOGGLE_NODE;\n payload: string; // nodeId\n}\n\ninterface OpenNodeAction {\n type: SidebarActionType.OPEN_NODE;\n payload: string; // nodeId\n}\n\ninterface CloseNodeAction {\n type: SidebarActionType.CLOSE_NODE;\n payload: string; // nodeId\n}\n\ninterface ChangeSearchTermAction {\n type: SidebarActionType.CHANGE_SEARCH_TERM;\n payload: string;\n}\n\ninterface SetSearchResultsAction {\n type: SidebarActionType.SET_SEARCH_RESULTS;\n payload: SidebarNode[];\n}\n\ninterface SetIsSearchingAction {\n type: SidebarActionType.SET_IS_SEARCHING;\n payload: boolean;\n}\n\ninterface SyncActiveNodeIdAction {\n type: SidebarActionType.SYNC_ACTIVE_NODE_ID;\n payload: string | undefined;\n}\n\ninterface ToggleStatusFilterAction {\n type: SidebarActionType.TOGGLE_STATUS_FILTER;\n}\n\ninterface SetPinnedNodePathAction {\n type: SidebarActionType.SET_PINNED_NODE_PATH;\n payload: SidebarNode[];\n}\n\ninterface SetExpandedNodesAction {\n type: SidebarActionType.SET_EXPANDED_NODES;\n payload: Set<string>;\n}\n\ninterface SetNodeSortTypeAction {\n type: SidebarActionType.SET_NODES_SORT_TYPE;\n payload: NodeSortType | undefined;\n}\n\ninterface SetNodeSortOrderAction {\n type: SidebarActionType.SET_NODES_SORT_ORDER;\n payload: NodeSortOrder;\n}\n\n// Union type for all actions\nexport type SidebarAction =\n | SetNodesAction\n | ToggleNodeAction\n | OpenNodeAction\n | CloseNodeAction\n | ChangeSearchTermAction\n | SetSearchResultsAction\n | SetIsSearchingAction\n | SyncActiveNodeIdAction\n | ToggleStatusFilterAction\n | SetPinnedNodePathAction\n | SetExpandedNodesAction\n | SetNodeSortTypeAction\n | SetNodeSortOrderAction;\n\n// Reducer function\nexport const sidebarReducer = (\n state: SidebarState = initialSidebarState,\n action: SidebarAction,\n): SidebarState => {\n switch (action.type) {\n case SidebarActionType.SET_NODES: {\n return {\n ...state,\n pinnedNodePath: [],\n nodes: action.payload.nodes,\n nodeSortType: action.payload.sortType ?? state.nodeSortType,\n nodeSortOrder: action.payload.sortOrder ?? state.nodeSortOrder,\n };\n }\n\n case SidebarActionType.TOGGLE_NODE: {\n const newExpandedNodes = new Set(state.expandedNodes);\n if (newExpandedNodes.has(action.payload)) {\n newExpandedNodes.delete(action.payload);\n } else {\n newExpandedNodes.add(action.payload);\n }\n return {\n ...state,\n expandedNodes: newExpandedNodes,\n };\n }\n\n case SidebarActionType.OPEN_NODE: {\n const newExpandedNodes = new Set(state.expandedNodes);\n newExpandedNodes.add(action.payload);\n return {\n ...state,\n expandedNodes: newExpandedNodes,\n };\n }\n\n case SidebarActionType.CLOSE_NODE: {\n const newExpandedNodes = new Set(state.expandedNodes);\n newExpandedNodes.delete(action.payload);\n return {\n ...state,\n expandedNodes: newExpandedNodes,\n };\n }\n\n case SidebarActionType.CHANGE_SEARCH_TERM:\n return {\n ...state,\n searchTerm: action.payload,\n };\n\n case SidebarActionType.SET_SEARCH_RESULTS:\n return {\n ...state,\n searchResults: action.payload,\n };\n\n case SidebarActionType.SET_IS_SEARCHING:\n return {\n ...state,\n isSearching: action.payload,\n };\n\n case SidebarActionType.SYNC_ACTIVE_NODE_ID:\n return {\n ...state,\n activeNodeId: action.payload,\n };\n\n case SidebarActionType.TOGGLE_STATUS_FILTER:\n return {\n ...state,\n isStatusFilterEnabled: !state.isStatusFilterEnabled,\n };\n\n case SidebarActionType.SET_PINNED_NODE_PATH: {\n return {\n ...state,\n pinnedNodePath: action.payload,\n };\n }\n\n case SidebarActionType.SET_EXPANDED_NODES:\n return {\n ...state,\n expandedNodes: action.payload,\n };\n\n case SidebarActionType.SET_NODES_SORT_TYPE:\n return {\n ...state,\n nodeSortType: action.payload,\n };\n\n case SidebarActionType.SET_NODES_SORT_ORDER:\n return {\n ...state,\n nodeSortOrder: action.payload,\n };\n\n default:\n return state;\n }\n};\n"],"mappings":";AAkBA,MAAaA,sBAAoC;CAC/CC,OAAO,EAAE;CACTC,+BAAe,IAAIC,KAAa;CAChCC,gBAAgB,EAAE;CAClBC,YAAY;CACZC,eAAe,EAAE;CACjBC,aAAa;CACbC,mBAAmB;CACnBC,cAAcC,KAAAA;CACdC,uBAAuB;CACvBC,cAAcF,KAAAA;CACdG,eAAe;CAChB;AAGD,IAAYC,oBAAiB,yBAAjBA,mBAAiB;AAAjBA,mBAAiB,eAAA;AAAjBA,mBAAiB,iBAAA;AAAjBA,mBAAiB,eAAA;AAAjBA,mBAAiB,gBAAA;AAAjBA,mBAAiB,wBAAA;AAAjBA,mBAAiB,wBAAA;AAAjBA,mBAAiB,sBAAA;AAAjBA,mBAAiB,yBAAA;AAAjBA,mBAAiB,0BAAA;AAAjBA,mBAAiB,0BAAA;AAAjBA,mBAAiB,wBAAA;AAAjBA,mBAAiB,yBAAA;AAAjBA,mBAAiB,0BAAA;AAAA,QAAjBA;EAAiB,EAAA,CAAA;AAsG7B,MAAaC,kBACXC,QAAsBhB,qBACtBiB,WACiB;AACjB,SAAQA,OAAOC,MAAf;EACE,KAAKJ,kBAAkBK,UACrB,QAAO;GACL,GAAGH;GACHZ,gBAAgB,EAAE;GAClBH,OAAOgB,OAAOG,QAAQnB;GACtBW,cAAcK,OAAOG,QAAQC,YAAYL,MAAMJ;GAC/CC,eAAeI,OAAOG,QAAQE,aAAaN,MAAMH;GAClD;EAGH,KAAKC,kBAAkBS,aAAa;GAClC,MAAMC,mBAAmB,IAAIrB,IAAIa,MAAMd,cAAc;AACrD,OAAIsB,iBAAiBC,IAAIR,OAAOG,QAAQ,CACtCI,kBAAiBE,OAAOT,OAAOG,QAAQ;OAEvCI,kBAAiBG,IAAIV,OAAOG,QAAQ;AAEtC,UAAO;IACL,GAAGJ;IACHd,eAAesB;IAChB;;EAGH,KAAKV,kBAAkBc,WAAW;GAChC,MAAMJ,mBAAmB,IAAIrB,IAAIa,MAAMd,cAAc;AACrDsB,oBAAiBG,IAAIV,OAAOG,QAAQ;AACpC,UAAO;IACL,GAAGJ;IACHd,eAAesB;IAChB;;EAGH,KAAKV,kBAAkBe,YAAY;GACjC,MAAML,mBAAmB,IAAIrB,IAAIa,MAAMd,cAAc;AACrDsB,oBAAiBE,OAAOT,OAAOG,QAAQ;AACvC,UAAO;IACL,GAAGJ;IACHd,eAAesB;IAChB;;EAGH,KAAKV,kBAAkBgB,mBACrB,QAAO;GACL,GAAGd;GACHX,YAAYY,OAAOG;GACpB;EAEH,KAAKN,kBAAkBiB,mBACrB,QAAO;GACL,GAAGf;GACHV,eAAeW,OAAOG;GACvB;EAEH,KAAKN,kBAAkBkB,iBACrB,QAAO;GACL,GAAGhB;GACHT,aAAaU,OAAOG;GACrB;EAEH,KAAKN,kBAAkBmB,oBACrB,QAAO;GACL,GAAGjB;GACHP,cAAcQ,OAAOG;GACtB;EAEH,KAAKN,kBAAkBoB,qBACrB,QAAO;GACL,GAAGlB;GACHL,uBAAuB,CAACK,MAAML;GAC/B;EAEH,KAAKG,kBAAkBqB,qBACrB,QAAO;GACL,GAAGnB;GACHZ,gBAAgBa,OAAOG;GACxB;EAGH,KAAKN,kBAAkBsB,mBACrB,QAAO;GACL,GAAGpB;GACHd,eAAee,OAAOG;GACvB;EAEH,KAAKN,kBAAkBuB,oBACrB,QAAO;GACL,GAAGrB;GACHJ,cAAcK,OAAOG;GACtB;EAEH,KAAKN,kBAAkBwB,qBACrB,QAAO;GACL,GAAGtB;GACHH,eAAeI,OAAOG;GACvB;EAEH,QACE,QAAOJ"}
@@ -0,0 +1,4 @@
1
+ import { SearchNavigationArrow } from "./search-navigation-arrow.js";
2
+ import { SearchResultCounter } from "./search-result-counter.js";
3
+ import { SidebarSearch } from "./sidebar-search.js";
4
+ export { SearchNavigationArrow, SearchResultCounter, SidebarSearch };
@@ -0,0 +1,4 @@
1
+ import { SearchNavigationArrow } from "./search-navigation-arrow.js";
2
+ import { SearchResultCounter } from "./search-result-counter.js";
3
+ import { SidebarSearch } from "./sidebar-search.js";
4
+ export { SearchNavigationArrow, SearchResultCounter, SidebarSearch };
@@ -0,0 +1,10 @@
1
+ //#region src/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.d.ts
2
+ interface SearchNavigationArrowProps {
3
+ direction: "down" | "up";
4
+ isDisabled: boolean;
5
+ onClick: () => void;
6
+ }
7
+ declare const SearchNavigationArrow: React.FC<SearchNavigationArrowProps>;
8
+ //#endregion
9
+ export { SearchNavigationArrow };
10
+ //# sourceMappingURL=search-navigation-arrow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-navigation-arrow.d.ts","names":[],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.tsx"],"mappings":";UAEU,0BAAA;EACR,SAAA;EACA,UAAA;EACA,OAAA;AAAA;AAAA,cAGW,qBAAA,EAAuB,KAAA,CAAM,EAAA,CAAG,0BAAA"}
@@ -0,0 +1,22 @@
1
+ import { twMerge } from "tailwind-merge";
2
+ import { jsx } from "react/jsx-runtime";
3
+ //#region src/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.tsx
4
+ const SearchNavigationArrow = ({ direction, isDisabled, onClick }) => /* @__PURE__ */ jsx("div", {
5
+ className: twMerge("cursor-pointer px-1 py-0.5 hover:text-gray-700 dark:hover:text-slate-300", isDisabled && "cursor-not-allowed text-gray-200 dark:text-slate-900"),
6
+ onClick,
7
+ children: /* @__PURE__ */ jsx("svg", {
8
+ width: "8",
9
+ height: "6",
10
+ viewBox: "0 0 8 6",
11
+ fill: "none",
12
+ xmlns: "http://www.w3.org/2000/svg",
13
+ children: /* @__PURE__ */ jsx("path", {
14
+ d: direction === "up" ? "M0.266663 5.6001H7.73333L4 0.800097L0.266663 5.6001Z" : "M0.266663 0.399902H7.73333L4 5.1999L0.266663 0.399902Z",
15
+ fill: "currentcolor"
16
+ })
17
+ })
18
+ });
19
+ //#endregion
20
+ export { SearchNavigationArrow };
21
+
22
+ //# sourceMappingURL=search-navigation-arrow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-navigation-arrow.js","names":["twMerge","SearchNavigationArrow","direction","isDisabled","onClick"],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\n\ninterface SearchNavigationArrowProps {\n direction: \"down\" | \"up\";\n isDisabled: boolean;\n onClick: () => void;\n}\n\nexport const SearchNavigationArrow: React.FC<SearchNavigationArrowProps> = ({\n direction,\n isDisabled,\n onClick,\n}) => (\n <div\n className={twMerge(\n \"cursor-pointer px-1 py-0.5 hover:text-gray-700 dark:hover:text-slate-300\",\n isDisabled && \"cursor-not-allowed text-gray-200 dark:text-slate-900\",\n )}\n onClick={onClick}\n >\n <svg\n width=\"8\"\n height=\"6\"\n viewBox=\"0 0 8 6\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d={\n direction === \"up\"\n ? \"M0.266663 5.6001H7.73333L4 0.800097L0.266663 5.6001Z\"\n : \"M0.266663 0.399902H7.73333L4 5.1999L0.266663 0.399902Z\"\n }\n fill=\"currentcolor\"\n />\n </svg>\n </div>\n);\n"],"mappings":";;;AAQA,MAAaC,yBAA+D,EAC1EC,WACAC,YACAC,cAEA,oBAAC,OAAD;CACE,WAAWJ,QACT,4EACAG,cAAc,uDACf;CACQC;WAET,oBAAC,OAAD;EACE,OAAM;EACN,QAAO;EACP,SAAQ;EACR,MAAK;EACL,OAAM;YAEN,oBAAC,QAAD;GACE,GACEF,cAAc,OACV,yDACA;GAEN,MAAK;GAAc,CAAA;EAElB,CAAA;CAER,CAAA"}
@@ -0,0 +1,10 @@
1
+ //#region src/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.d.ts
2
+ interface SearchResultCounterProps {
3
+ isSearching: boolean;
4
+ activeIndex: number;
5
+ totalResults: number;
6
+ }
7
+ declare const SearchResultCounter: React.FC<SearchResultCounterProps>;
8
+ //#endregion
9
+ export { SearchResultCounter };
10
+ //# sourceMappingURL=search-result-counter.d.ts.map