@powerhousedao/design-system 6.2.3-dev.5 → 6.2.3-dev.51

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 (372) hide show
  1. package/dist/{Removed-CO_5C1ce.js → Removed-OP4eTrAN.js} +1 -1
  2. package/dist/{Removed-CO_5C1ce.js.map → Removed-OP4eTrAN.js.map} +1 -1
  3. package/dist/{Tabler-FjvVqX5a.js → Tabler-rjLxlzUV.js} +1 -1
  4. package/dist/{Tabler-FjvVqX5a.js.map → Tabler-rjLxlzUV.js.map} +1 -1
  5. package/dist/button-BYcXvZXr.d.ts +13 -0
  6. package/dist/button-BYcXvZXr.d.ts.map +1 -0
  7. package/dist/{character-counter-BWoglM2P.d.ts → character-counter-BZmZZCHN.d.ts} +2 -1
  8. package/dist/character-counter-BZmZZCHN.d.ts.map +1 -0
  9. package/dist/{checkbox-CGBtXQnI.d.ts → checkbox-BmTXBcCE.d.ts} +4 -4
  10. package/dist/checkbox-BmTXBcCE.d.ts.map +1 -0
  11. package/dist/{checkbox-base-CZo-4eL0.d.ts → checkbox-base-Bm0GPWgm.d.ts} +2 -2
  12. package/dist/checkbox-base-Bm0GPWgm.d.ts.map +1 -0
  13. package/dist/{command-DFzB66Ou.d.ts → command-DHHTsHfH.d.ts} +9 -9
  14. package/dist/command-DHHTsHfH.d.ts.map +1 -0
  15. package/dist/connect/components/toast/toast.d.ts +8 -10
  16. package/dist/connect/components/toast/toast.d.ts.map +1 -1
  17. package/dist/connect/components/toast/toast.js +4 -4
  18. package/dist/connect/components/toast/toast.js.map +1 -1
  19. package/dist/connect/index.d.ts +376 -355
  20. package/dist/connect/index.d.ts.map +1 -1
  21. package/dist/connect/index.js +779 -151
  22. package/dist/connect/index.js.map +1 -1
  23. package/dist/{content-BHWIqmio.d.ts → content-BMXLcwWY.d.ts} +3 -3
  24. package/dist/content-BMXLcwWY.d.ts.map +1 -0
  25. package/dist/{enum-field-UxIet5Lp.d.ts → enum-field-qgV9wsyI.d.ts} +5 -5
  26. package/dist/enum-field-qgV9wsyI.d.ts.map +1 -0
  27. package/dist/{form-CKRKn0TQ.d.ts → form-Brj5AQNr.d.ts} +3 -4
  28. package/dist/form-Brj5AQNr.d.ts.map +1 -0
  29. package/dist/{form-description-CYkcMEzm.d.ts → form-description-DJrDJzJi.d.ts} +2 -1
  30. package/dist/form-description-DJrDJzJi.d.ts.map +1 -0
  31. package/dist/{form-group-C8kL6pdZ.d.ts → form-group-Ckd28lpW.d.ts} +2 -1
  32. package/dist/form-group-Ckd28lpW.d.ts.map +1 -0
  33. package/dist/{form-label-b6nQi0XO.d.ts → form-label-C8ghd_lR.d.ts} +2 -1
  34. package/dist/form-label-C8ghd_lR.d.ts.map +1 -0
  35. package/dist/{form-message-Dq72nBXz.d.ts → form-message-CnKUkvlj.d.ts} +2 -1
  36. package/dist/form-message-CnKUkvlj.d.ts.map +1 -0
  37. package/dist/form-server-error-message-D2tFtDZ0.d.ts +6 -0
  38. package/dist/form-server-error-message-D2tFtDZ0.d.ts.map +1 -0
  39. package/dist/{icon-C4QOpsdI.js → icon-01W_S_9A.js} +3 -3
  40. package/dist/{icon-C4QOpsdI.js.map → icon-01W_S_9A.js.map} +1 -1
  41. package/dist/{id-autocomplete-C-hwriS5.d.ts → id-autocomplete-CHvGhffo.d.ts} +3 -3
  42. package/dist/id-autocomplete-CHvGhffo.d.ts.map +1 -0
  43. package/dist/{id-autocomplete-input-container-DFEyPh5p.d.ts → id-autocomplete-input-container-BqRQGpcs.d.ts} +3 -3
  44. package/dist/id-autocomplete-input-container-BqRQGpcs.d.ts.map +1 -0
  45. package/dist/{id-autocomplete-list-EzLpF23C.d.ts → id-autocomplete-list-ChQsiJDg.d.ts} +3 -3
  46. package/dist/id-autocomplete-list-ChQsiJDg.d.ts.map +1 -0
  47. package/dist/{id-autocomplete-list-option-CB5B07Hi.d.ts → id-autocomplete-list-option-MsqKeLXD.d.ts} +3 -3
  48. package/dist/id-autocomplete-list-option-MsqKeLXD.d.ts.map +1 -0
  49. package/dist/{index--hDSfvJT.d.ts → index-C05uhexJ.d.ts} +14 -45
  50. package/dist/index-C05uhexJ.d.ts.map +1 -0
  51. package/dist/index-CpSqVZKp.d.ts +2 -0
  52. package/dist/index-D6Zk5OLV.d.ts +4 -0
  53. package/dist/index-DSknqh8u.d.ts +30 -0
  54. package/dist/index-DU-WgcAh.d.ts +4 -0
  55. package/dist/index-DaRBrjZI.d.ts +3 -0
  56. package/dist/index.d.ts +4 -3
  57. package/dist/index.js +2 -2
  58. package/dist/{input-BpEQjaWV.d.ts → input-WDvjJFqf.d.ts} +2 -2
  59. package/dist/input-WDvjJFqf.d.ts.map +1 -0
  60. package/dist/json-viewer-Kg0IBIt-.d.ts +7 -0
  61. package/dist/json-viewer-Kg0IBIt-.d.ts.map +1 -0
  62. package/dist/{message-list-C4mPpBBa.d.ts → message-list-D8d2ltLd.d.ts} +3 -3
  63. package/dist/message-list-D8d2ltLd.d.ts.map +1 -0
  64. package/dist/{popover-XSBOuSih.d.ts → popover-TvQxa0RU.d.ts} +2 -2
  65. package/dist/popover-TvQxa0RU.d.ts.map +1 -0
  66. package/dist/{radio-eL0Oy86J.d.ts → radio-CTS4WsNy.d.ts} +2 -2
  67. package/dist/radio-CTS4WsNy.d.ts.map +1 -0
  68. package/dist/{radio-group-Bkli6nUz.d.ts → radio-group-CROIwgYz.d.ts} +2 -2
  69. package/dist/radio-group-CROIwgYz.d.ts.map +1 -0
  70. package/dist/{radio-group-field-wlqeiLN3.d.ts → radio-group-field-CjX_Zt0C.d.ts} +5 -6
  71. package/dist/radio-group-field-CjX_Zt0C.d.ts.map +1 -0
  72. package/dist/{search-autocomplete-BJJkrZ1i.d.ts → search-autocomplete-COvFRZIb.d.ts} +3 -3
  73. package/dist/search-autocomplete-COvFRZIb.d.ts.map +1 -0
  74. package/dist/{select-field-C97QIhUL.d.ts → select-field-BuXjM43L.d.ts} +5 -5
  75. package/dist/select-field-BuXjM43L.d.ts.map +1 -0
  76. package/dist/{selected-content-CGsK5PR4.d.ts → selected-content-C49jmTLU.d.ts} +3 -3
  77. package/dist/selected-content-C49jmTLU.d.ts.map +1 -0
  78. package/dist/{sidebar-DOoE4krt.d.ts → sidebar-4juLhREX.d.ts} +3 -3
  79. package/dist/sidebar-4juLhREX.d.ts.map +1 -0
  80. package/dist/{sidebar-provider-C2eyz9TL.d.ts → sidebar-provider-CMG6WQWo.d.ts} +4 -8
  81. package/dist/sidebar-provider-CMG6WQWo.d.ts.map +1 -0
  82. package/dist/splitted-input-diff-DBkgDh9Q.d.ts +11 -0
  83. package/dist/splitted-input-diff-DBkgDh9Q.d.ts.map +1 -0
  84. package/dist/{src-CVV6HzQZ.js → src-CrUksCLW.js} +17 -14
  85. package/dist/{src-CVV6HzQZ.js.map → src-CrUksCLW.js.map} +1 -1
  86. package/dist/text-field-3j4fLJ-7.d.ts +9 -0
  87. package/dist/text-field-3j4fLJ-7.d.ts.map +1 -0
  88. package/dist/text-input-diff-B7iFyzTK.d.ts +12 -0
  89. package/dist/text-input-diff-B7iFyzTK.d.ts.map +1 -0
  90. package/dist/{text-input-8zXIWHLi.d.ts → text-input-tkqggbWx.d.ts} +5 -6
  91. package/dist/text-input-tkqggbWx.d.ts.map +1 -0
  92. package/dist/{tooltip-BxS9HpML.d.ts → tooltip-B4uQJPUm.d.ts} +3 -4
  93. package/dist/tooltip-B4uQJPUm.d.ts.map +1 -0
  94. package/dist/{types-Bsn62tJB.d.ts → types-BNTIrhb5.d.ts} +2 -1
  95. package/dist/types-BNTIrhb5.d.ts.map +1 -0
  96. package/dist/{types-BTq-St7H.d.ts → types-CpFPFB1a.d.ts} +2 -1
  97. package/dist/types-CpFPFB1a.d.ts.map +1 -0
  98. package/dist/{types-C04Q_Fan.d.ts → types-D4CirgNk.d.ts} +2 -2
  99. package/dist/types-D4CirgNk.d.ts.map +1 -0
  100. package/dist/{types-CNbvfWjh.d.ts → types-DDSmPhHp.d.ts} +3 -3
  101. package/dist/types-DDSmPhHp.d.ts.map +1 -0
  102. package/dist/ui/components/button/button.d.ts +3 -2
  103. package/dist/ui/components/button/button.js +1 -1
  104. package/dist/ui/components/button/button.js.map +1 -1
  105. package/dist/ui/components/character-counter/character-counter.d.ts +3 -2
  106. package/dist/ui/components/character-counter/character-counter.js.map +1 -1
  107. package/dist/ui/components/checkbox/checkbox-base.d.ts +3 -2
  108. package/dist/ui/components/checkbox/checkbox-base.js +1 -1
  109. package/dist/ui/components/checkbox/checkbox-base.js.map +1 -1
  110. package/dist/ui/components/checkbox/checkbox.d.ts +3 -2
  111. package/dist/ui/components/checkbox/checkbox.js +1 -1
  112. package/dist/ui/components/checkbox/checkbox.js.map +1 -1
  113. package/dist/ui/components/command/command.d.ts +3 -2
  114. package/dist/ui/components/command/command.js +8 -8
  115. package/dist/ui/components/command/command.js.map +1 -1
  116. package/dist/ui/components/enum-field/enum-field.d.ts +3 -2
  117. package/dist/ui/components/enum-field/enum-field.js +1 -1
  118. package/dist/ui/components/enum-field/enum-field.js.map +1 -1
  119. package/dist/ui/components/enum-field/types.d.ts +3 -2
  120. package/dist/ui/components/form/form.d.ts +3 -2
  121. package/dist/ui/components/form/form.js +1 -1
  122. package/dist/ui/components/form/form.js.map +1 -1
  123. package/dist/ui/components/form/utils.d.ts +4 -4
  124. package/dist/ui/components/form/utils.d.ts.map +1 -1
  125. package/dist/ui/components/form/utils.js.map +1 -1
  126. package/dist/ui/components/form-description/form-description.d.ts +3 -2
  127. package/dist/ui/components/form-description/form-description.js.map +1 -1
  128. package/dist/ui/components/form-group/form-group.d.ts +3 -2
  129. package/dist/ui/components/form-group/form-group.js.map +1 -1
  130. package/dist/ui/components/form-label/form-label.d.ts +3 -2
  131. package/dist/ui/components/form-label/form-label.js +3 -2
  132. package/dist/ui/components/form-label/form-label.js.map +1 -1
  133. package/dist/ui/components/form-message/form-message.d.ts +3 -2
  134. package/dist/ui/components/form-message/form-message.js.map +1 -1
  135. package/dist/ui/components/form-message/form-server-error-message.d.ts +3 -2
  136. package/dist/ui/components/form-message/form-server-error-message.js.map +1 -1
  137. package/dist/ui/components/form-message/message-list.d.ts +3 -2
  138. package/dist/ui/components/form-message/message-list.js.map +1 -1
  139. package/dist/ui/components/id-autocomplete/id-autocomplete-context.d.ts +3 -5
  140. package/dist/ui/components/id-autocomplete/id-autocomplete-context.d.ts.map +1 -1
  141. package/dist/ui/components/id-autocomplete/id-autocomplete-context.js +1 -1
  142. package/dist/ui/components/id-autocomplete/id-autocomplete-context.js.map +1 -1
  143. package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.d.ts +3 -2
  144. package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js +2 -2
  145. package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js.map +1 -1
  146. package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.d.ts +3 -2
  147. package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js +2 -2
  148. package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js.map +1 -1
  149. package/dist/ui/components/id-autocomplete/id-autocomplete-list.d.ts +3 -2
  150. package/dist/ui/components/id-autocomplete/id-autocomplete-list.js.map +1 -1
  151. package/dist/ui/components/id-autocomplete/id-autocomplete.d.ts +3 -2
  152. package/dist/ui/components/id-autocomplete/id-autocomplete.js +1 -1
  153. package/dist/ui/components/id-autocomplete/id-autocomplete.js.map +1 -1
  154. package/dist/ui/components/id-autocomplete/types.d.ts +3 -2
  155. package/dist/ui/components/id-autocomplete/use-id-autocomplete.d.ts +3 -2
  156. package/dist/ui/components/id-autocomplete/use-id-autocomplete.js.map +1 -1
  157. package/dist/ui/components/index.d.ts +42 -40
  158. package/dist/ui/components/input/input.d.ts +3 -2
  159. package/dist/ui/components/input/input.js +1 -1
  160. package/dist/ui/components/input/input.js.map +1 -1
  161. package/dist/ui/components/input/splitted-input-diff.d.ts +3 -2
  162. package/dist/ui/components/input/splitted-input-diff.js +10 -9
  163. package/dist/ui/components/input/splitted-input-diff.js.map +1 -1
  164. package/dist/ui/components/input/subcomponent/input-diff.d.ts +2 -11
  165. package/dist/ui/components/input/subcomponent/input-diff.d.ts.map +1 -1
  166. package/dist/ui/components/input/subcomponent/input-diff.js.map +1 -1
  167. package/dist/ui/components/input/subcomponent/text-diff.d.ts +3 -12
  168. package/dist/ui/components/input/subcomponent/text-diff.d.ts.map +1 -1
  169. package/dist/ui/components/input/subcomponent/text-diff.js.map +1 -1
  170. package/dist/ui/components/json-viewer/json-viewer.d.ts +3 -2
  171. package/dist/ui/components/json-viewer/json-viewer.js +1 -1
  172. package/dist/ui/components/json-viewer/json-viewer.js.map +1 -1
  173. package/dist/ui/components/popover/popover.d.ts +3 -2
  174. package/dist/ui/components/popover/popover.js +1 -1
  175. package/dist/ui/components/popover/popover.js.map +1 -1
  176. package/dist/ui/components/radio-group-field/radio-group-field.d.ts +3 -2
  177. package/dist/ui/components/radio-group-field/radio-group-field.js +4 -3
  178. package/dist/ui/components/radio-group-field/radio-group-field.js.map +1 -1
  179. package/dist/ui/components/radio-group-field/radio-group.d.ts +3 -2
  180. package/dist/ui/components/radio-group-field/radio-group.js +1 -1
  181. package/dist/ui/components/radio-group-field/radio-group.js.map +1 -1
  182. package/dist/ui/components/radio-group-field/radio.d.ts +3 -2
  183. package/dist/ui/components/radio-group-field/radio.js +1 -1
  184. package/dist/ui/components/radio-group-field/radio.js.map +1 -1
  185. package/dist/ui/components/search-autocomplete/index.d.ts +6 -4
  186. package/dist/ui/components/search-autocomplete/search-autocomplete.d.ts +3 -2
  187. package/dist/ui/components/search-autocomplete/search-autocomplete.js.map +1 -1
  188. package/dist/ui/components/search-autocomplete/types.d.ts +3 -2
  189. package/dist/ui/components/search-autocomplete/use-search-autocomplete.d.ts +3 -2
  190. package/dist/ui/components/search-autocomplete/use-search-autocomplete.js.map +1 -1
  191. package/dist/ui/components/select-field/content.d.ts +3 -2
  192. package/dist/ui/components/select-field/content.js +1 -1
  193. package/dist/ui/components/select-field/content.js.map +1 -1
  194. package/dist/ui/components/select-field/select-field.d.ts +3 -2
  195. package/dist/ui/components/select-field/select-field.js +1 -1
  196. package/dist/ui/components/select-field/select-field.js.map +1 -1
  197. package/dist/ui/components/select-field/selected-content.d.ts +3 -2
  198. package/dist/ui/components/select-field/selected-content.js +1 -1
  199. package/dist/ui/components/select-field/selected-content.js.map +1 -1
  200. package/dist/ui/components/select-field/subcomponents/CommandItemList.d.ts +3 -4
  201. package/dist/ui/components/select-field/subcomponents/CommandItemList.d.ts.map +1 -1
  202. package/dist/ui/components/select-field/subcomponents/CommandItemList.js +1 -1
  203. package/dist/ui/components/select-field/subcomponents/CommandItemList.js.map +1 -1
  204. package/dist/ui/components/select-field/use-select-field.d.ts +4 -12
  205. package/dist/ui/components/select-field/use-select-field.d.ts.map +1 -1
  206. package/dist/ui/components/select-field/use-select-field.js.map +1 -1
  207. package/dist/ui/components/sidebar/index.d.ts +6 -4
  208. package/dist/ui/components/sidebar/sidebar.d.ts +3 -2
  209. package/dist/ui/components/sidebar/sidebar.js +1 -1
  210. package/dist/ui/components/sidebar/sidebar.js.map +1 -1
  211. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.d.ts +2 -7
  212. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.d.ts.map +1 -1
  213. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js +1 -1
  214. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js.map +1 -1
  215. package/dist/ui/components/sidebar/subcomponents/sidebar-header.d.ts +2 -2
  216. package/dist/ui/components/sidebar/subcomponents/sidebar-header.d.ts.map +1 -1
  217. package/dist/ui/components/sidebar/subcomponents/sidebar-header.js.map +1 -1
  218. package/dist/ui/components/sidebar/subcomponents/sidebar-item.d.ts +3 -18
  219. package/dist/ui/components/sidebar/subcomponents/sidebar-item.d.ts.map +1 -1
  220. package/dist/ui/components/sidebar/subcomponents/sidebar-item.js +3 -3
  221. package/dist/ui/components/sidebar/subcomponents/sidebar-item.js.map +1 -1
  222. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.d.ts +2 -4
  223. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.d.ts.map +1 -1
  224. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.js.map +1 -1
  225. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/index.d.ts +4 -2
  226. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.d.ts +3 -2
  227. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.js +2 -2
  228. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.js.map +1 -1
  229. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.d.ts +7 -8
  230. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.d.ts.map +1 -1
  231. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.js +1 -1
  232. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.js.map +1 -1
  233. package/dist/ui/components/sidebar/subcomponents/sidebar-search/index.d.ts +2 -1
  234. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.d.ts +2 -2
  235. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.d.ts.map +1 -1
  236. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.js.map +1 -1
  237. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.d.ts +2 -2
  238. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.d.ts.map +1 -1
  239. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.js.map +1 -1
  240. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.d.ts +2 -2
  241. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.d.ts.map +1 -1
  242. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js +1 -1
  243. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js.map +1 -1
  244. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.d.ts +2 -8
  245. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.d.ts.map +1 -1
  246. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js +2 -1
  247. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js.map +1 -1
  248. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.d.ts +2 -4
  249. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.d.ts.map +1 -1
  250. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.js.map +1 -1
  251. package/dist/ui/components/sidebar/subcomponents/status-icon.d.ts +3 -9
  252. package/dist/ui/components/sidebar/subcomponents/status-icon.d.ts.map +1 -1
  253. package/dist/ui/components/sidebar/subcomponents/status-icon.js +1 -1
  254. package/dist/ui/components/sidebar/subcomponents/status-icon.js.map +1 -1
  255. package/dist/ui/components/sidebar/types.d.ts +3 -2
  256. package/dist/ui/components/sidebar/types.js +1 -1
  257. package/dist/ui/components/sidebar/types.js.map +1 -1
  258. package/dist/ui/components/sidebar/use-ellipsis.d.ts +2 -2
  259. package/dist/ui/components/sidebar/use-ellipsis.d.ts.map +1 -1
  260. package/dist/ui/components/sidebar/use-ellipsis.js.map +1 -1
  261. package/dist/ui/components/sidebar/use-sidebar-resize.d.ts +3 -9
  262. package/dist/ui/components/sidebar/use-sidebar-resize.d.ts.map +1 -1
  263. package/dist/ui/components/sidebar/use-sidebar-resize.js.map +1 -1
  264. package/dist/ui/components/sidebar/utils.d.ts +10 -11
  265. package/dist/ui/components/sidebar/utils.d.ts.map +1 -1
  266. package/dist/ui/components/sidebar/utils.js.map +1 -1
  267. package/dist/ui/components/text-field/text-field.d.ts +3 -2
  268. package/dist/ui/components/text-field/text-field.js +3 -2
  269. package/dist/ui/components/text-field/text-field.js.map +1 -1
  270. package/dist/ui/components/text-input/text-input-diff.d.ts +3 -2
  271. package/dist/ui/components/text-input/text-input-diff.js.map +1 -1
  272. package/dist/ui/components/text-input/text-input.d.ts +3 -2
  273. package/dist/ui/components/text-input/text-input.js +1 -1
  274. package/dist/ui/components/text-input/text-input.js.map +1 -1
  275. package/dist/ui/components/text-input/types.d.ts +3 -2
  276. package/dist/ui/components/tooltip/tooltip.d.ts +3 -2
  277. package/dist/ui/components/tooltip/tooltip.js +1 -1
  278. package/dist/ui/components/tooltip/tooltip.js.map +1 -1
  279. package/dist/ui/components/types.d.ts +3 -2
  280. package/dist/ui/components/value-transformer/value-transformer.d.ts +3 -2
  281. package/dist/ui/components/value-transformer/value-transformer.js +5 -3
  282. package/dist/ui/components/value-transformer/value-transformer.js.map +1 -1
  283. package/dist/ui/components/with-field-validation/with-field-validation.d.ts +3 -2
  284. package/dist/ui/components/with-field-validation/with-field-validation.js +1 -1
  285. package/dist/ui/components/with-field-validation/with-field-validation.js.map +1 -1
  286. package/dist/ui/index.d.ts +44 -42
  287. package/dist/ui/lib/date-picker.d.ts +4 -5
  288. package/dist/ui/lib/date-picker.d.ts.map +1 -1
  289. package/dist/ui/lib/date-picker.js +2 -1
  290. package/dist/ui/lib/date-picker.js.map +1 -1
  291. package/dist/ui/lib/date-time-picker.d.ts +6 -6
  292. package/dist/ui/lib/date-time-picker.d.ts.map +1 -1
  293. package/dist/ui/lib/date-time-picker.js.map +1 -1
  294. package/dist/ui/lib/deep-equal.d.ts +2 -2
  295. package/dist/ui/lib/deep-equal.d.ts.map +1 -1
  296. package/dist/ui/lib/deep-equal.js.map +1 -1
  297. package/dist/ui/lib/index.d.ts +2 -1
  298. package/dist/ui/lib/is-empty.d.ts +2 -2
  299. package/dist/ui/lib/is-empty.d.ts.map +1 -1
  300. package/dist/ui/lib/is-empty.js.map +1 -1
  301. package/dist/ui/lib/shared-value-transformers.d.ts +3 -4
  302. package/dist/ui/lib/shared-value-transformers.d.ts.map +1 -1
  303. package/dist/ui/lib/shared-value-transformers.js.map +1 -1
  304. package/dist/ui/lib/types.d.ts +3 -2
  305. package/dist/ui/lib/value-cast.d.ts +4 -4
  306. package/dist/ui/lib/value-cast.d.ts.map +1 -1
  307. package/dist/ui/lib/value-cast.js +10 -4
  308. package/dist/ui/lib/value-cast.js.map +1 -1
  309. package/dist/ui/types.d.ts +4 -3
  310. package/dist/{use-id-autocomplete-By7YSChC.d.ts → use-id-autocomplete-wdw3CfYc.d.ts} +5 -16
  311. package/dist/use-id-autocomplete-wdw3CfYc.d.ts.map +1 -0
  312. package/dist/{use-search-autocomplete-IfcQ_gKh.d.ts → use-search-autocomplete-vSvcsvcB.d.ts} +5 -6
  313. package/dist/use-search-autocomplete-vSvcsvcB.d.ts.map +1 -0
  314. package/dist/{value-transformer-DQjqtNih.d.ts → value-transformer-BAD6r8Ol.d.ts} +5 -7
  315. package/dist/value-transformer-BAD6r8Ol.d.ts.map +1 -0
  316. package/dist/{with-field-validation-Di5D8vU-.d.ts → with-field-validation-Bt02MQn2.d.ts} +3 -3
  317. package/dist/with-field-validation-Bt02MQn2.d.ts.map +1 -0
  318. package/package.json +9 -10
  319. package/dist/button-C8doazjv.d.ts +0 -15
  320. package/dist/button-C8doazjv.d.ts.map +0 -1
  321. package/dist/character-counter-BWoglM2P.d.ts.map +0 -1
  322. package/dist/checkbox-CGBtXQnI.d.ts.map +0 -1
  323. package/dist/checkbox-base-CZo-4eL0.d.ts.map +0 -1
  324. package/dist/command-DFzB66Ou.d.ts.map +0 -1
  325. package/dist/content-BHWIqmio.d.ts.map +0 -1
  326. package/dist/enum-field-UxIet5Lp.d.ts.map +0 -1
  327. package/dist/form-CKRKn0TQ.d.ts.map +0 -1
  328. package/dist/form-description-CYkcMEzm.d.ts.map +0 -1
  329. package/dist/form-group-C8kL6pdZ.d.ts.map +0 -1
  330. package/dist/form-label-b6nQi0XO.d.ts.map +0 -1
  331. package/dist/form-message-Dq72nBXz.d.ts.map +0 -1
  332. package/dist/form-server-error-message-DXbaiTfF.d.ts +0 -7
  333. package/dist/form-server-error-message-DXbaiTfF.d.ts.map +0 -1
  334. package/dist/id-autocomplete-C-hwriS5.d.ts.map +0 -1
  335. package/dist/id-autocomplete-input-container-DFEyPh5p.d.ts.map +0 -1
  336. package/dist/id-autocomplete-list-EzLpF23C.d.ts.map +0 -1
  337. package/dist/id-autocomplete-list-option-CB5B07Hi.d.ts.map +0 -1
  338. package/dist/index--hDSfvJT.d.ts.map +0 -1
  339. package/dist/index--okzibnx.d.ts +0 -1
  340. package/dist/index-BLwMeReG.d.ts +0 -1
  341. package/dist/index-Cw3C7_1f.d.ts +0 -1
  342. package/dist/index-E7Wvm5uX.d.ts +0 -1
  343. package/dist/index-J3R2mDFQ.d.ts +0 -1
  344. package/dist/input-BpEQjaWV.d.ts.map +0 -1
  345. package/dist/json-viewer-DaTgmzkS.d.ts +0 -8
  346. package/dist/json-viewer-DaTgmzkS.d.ts.map +0 -1
  347. package/dist/message-list-C4mPpBBa.d.ts.map +0 -1
  348. package/dist/popover-XSBOuSih.d.ts.map +0 -1
  349. package/dist/radio-eL0Oy86J.d.ts.map +0 -1
  350. package/dist/radio-group-Bkli6nUz.d.ts.map +0 -1
  351. package/dist/radio-group-field-wlqeiLN3.d.ts.map +0 -1
  352. package/dist/search-autocomplete-BJJkrZ1i.d.ts.map +0 -1
  353. package/dist/select-field-C97QIhUL.d.ts.map +0 -1
  354. package/dist/selected-content-CGsK5PR4.d.ts.map +0 -1
  355. package/dist/sidebar-DOoE4krt.d.ts.map +0 -1
  356. package/dist/sidebar-provider-C2eyz9TL.d.ts.map +0 -1
  357. package/dist/splitted-input-diff-CwPedpov.d.ts +0 -18
  358. package/dist/splitted-input-diff-CwPedpov.d.ts.map +0 -1
  359. package/dist/text-field-DSInH67J.d.ts +0 -10
  360. package/dist/text-field-DSInH67J.d.ts.map +0 -1
  361. package/dist/text-input-8zXIWHLi.d.ts.map +0 -1
  362. package/dist/text-input-diff-B0vLSKQm.d.ts +0 -20
  363. package/dist/text-input-diff-B0vLSKQm.d.ts.map +0 -1
  364. package/dist/tooltip-BxS9HpML.d.ts.map +0 -1
  365. package/dist/types-BTq-St7H.d.ts.map +0 -1
  366. package/dist/types-Bsn62tJB.d.ts.map +0 -1
  367. package/dist/types-C04Q_Fan.d.ts.map +0 -1
  368. package/dist/types-CNbvfWjh.d.ts.map +0 -1
  369. package/dist/use-id-autocomplete-By7YSChC.d.ts.map +0 -1
  370. package/dist/use-search-autocomplete-IfcQ_gKh.d.ts.map +0 -1
  371. package/dist/value-transformer-DQjqtNih.d.ts.map +0 -1
  372. package/dist/with-field-validation-Di5D8vU-.d.ts.map +0 -1
@@ -1 +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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"}
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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"}
@@ -1,7 +1,6 @@
1
- import { i as NodeSortType, r as NodeSortOrder, s as SidebarNode } from "../../../../../types-CNbvfWjh.js";
2
-
1
+ import { i as NodeSortType, r as NodeSortOrder, s as SidebarNode } from "../../../../../types-DDSmPhHp.js";
3
2
  //#region src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.d.ts
4
- interface SidebarState {
3
+ export interface SidebarState {
5
4
  nodes: SidebarNode[];
6
5
  expandedNodes: Set<string>;
7
6
  pinnedNodePath: SidebarNode[];
@@ -14,8 +13,8 @@ interface SidebarState {
14
13
  nodeSortType?: NodeSortType;
15
14
  nodeSortOrder: NodeSortOrder;
16
15
  }
17
- declare const initialSidebarState: SidebarState;
18
- declare enum SidebarActionType {
16
+ export declare const initialSidebarState: SidebarState;
17
+ export declare enum SidebarActionType {
19
18
  SET_NODES = "SET_NODES",
20
19
  TOGGLE_NODE = "TOGGLE_NODE",
21
20
  OPEN_NODE = "OPEN_NODE",
@@ -85,8 +84,8 @@ interface SetNodeSortOrderAction {
85
84
  type: SidebarActionType.SET_NODES_SORT_ORDER;
86
85
  payload: NodeSortOrder;
87
86
  }
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;
87
+ export type SidebarAction = SetNodesAction | ToggleNodeAction | OpenNodeAction | CloseNodeAction | ChangeSearchTermAction | SetSearchResultsAction | SetIsSearchingAction | SyncActiveNodeIdAction | ToggleStatusFilterAction | SetPinnedNodePathAction | SetExpandedNodesAction | SetNodeSortTypeAction | SetNodeSortOrderAction;
88
+ export declare const sidebarReducer: (state: SidebarState | undefined, action: SidebarAction) => SidebarState;
90
89
  //#endregion
91
- export { SidebarAction, SidebarActionType, SidebarState, initialSidebarState, sidebarReducer };
90
+ export {};
92
91
  //# sourceMappingURL=sidebar-reducer.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"sidebar-reducer.d.ts","names":[],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.ts"],"mappings":";;iBAGiB;EACf,OAAO;EACP,eAAe;EACf,gBAAgB;EAChB;EACA,eAAe;EACf;EACA;EACA;EACA;EACA,eAAe;EACf,eAAe;;qBAIJ,qBAAqB;oBAetB;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;UAIQ;EACR,MAAM,kBAAkB;EACxB;IACE,OAAO;IACP,WAAW;IACX,YAAY;;;UAIN;EACR,MAAM,kBAAkB;EACxB;;UAGQ;EACR,MAAM,kBAAkB;EACxB;;UAGQ;EACR,MAAM,kBAAkB;EACxB;;UAGQ;EACR,MAAM,kBAAkB;EACxB;;UAGQ;EACR,MAAM,kBAAkB;EACxB,SAAS;;UAGD;EACR,MAAM,kBAAkB;EACxB;;UAGQ;EACR,MAAM,kBAAkB;EACxB;;UAGQ;EACR,MAAM,kBAAkB;;UAGhB;EACR,MAAM,kBAAkB;EACxB,SAAS;;UAGD;EACR,MAAM,kBAAkB;EACxB,SAAS;;UAGD;EACR,MAAM,kBAAkB;EACxB,SAAS;;UAGD;EACR,MAAM,kBAAkB;EACxB,SAAS;;YAIC,gBACR,iBACA,mBACA,iBACA,kBACA,yBACA,yBACA,uBACA,yBACA,2BACA,0BACA,yBACA,wBACA;qBAGS,iBAAc,OAClB,0BAAY,QACX,kBACP"}
@@ -12,7 +12,7 @@ const initialSidebarState = {
12
12
  nodeSortType: void 0,
13
13
  nodeSortOrder: "asc"
14
14
  };
15
- let SidebarActionType = /* @__PURE__ */ function(SidebarActionType) {
15
+ let SidebarActionType = /*#__PURE__*/ function(SidebarActionType) {
16
16
  SidebarActionType["SET_NODES"] = "SET_NODES";
17
17
  SidebarActionType["TOGGLE_NODE"] = "TOGGLE_NODE";
18
18
  SidebarActionType["OPEN_NODE"] = "OPEN_NODE";
@@ -1 +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"}
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,CAAA;CACPC,+BAAe,IAAIC,IAAY;CAC/BC,gBAAgB,CAAA;CAChBC,YAAY;CACZC,eAAe,CAAA;CACfC,aAAa;CACbC,mBAAmB;CACnBC,cAAcC,KAAAA;CACdC,uBAAuB;CACvBC,cAAcF,KAAAA;CACdG,eAAe;AACjB;AAGA,IAAYC,oBAAiB,uBAAjBA,mBAAiB;CAAjBA,kBAAiB,eAAA;CAAjBA,kBAAiB,iBAAA;CAAjBA,kBAAiB,eAAA;CAAjBA,kBAAiB,gBAAA;CAAjBA,kBAAiB,wBAAA;CAAjBA,kBAAiB,wBAAA;CAAjBA,kBAAiB,sBAAA;CAAjBA,kBAAiB,yBAAA;CAAjBA,kBAAiB,0BAAA;CAAjBA,kBAAiB,0BAAA;CAAjBA,kBAAiB,wBAAA;CAAjBA,kBAAiB,yBAAA;CAAjBA,kBAAiB,0BAAA;CAAA,OAAjBA;AAAiB,EAAA,CAAA,CAAA;AAsG7B,MAAaC,kBACXC,QAAsBhB,qBACtBiB,WACiB;CACjB,QAAQA,OAAOC,MAAf;EACE,KAAKJ,kBAAkBK,WACrB,OAAO;GACL,GAAGH;GACHZ,gBAAgB,CAAA;GAChBH,OAAOgB,OAAOG,QAAQnB;GACtBW,cAAcK,OAAOG,QAAQC,YAAYL,MAAMJ;GAC/CC,eAAeI,OAAOG,QAAQE,aAAaN,MAAMH;EACnD;EAGF,KAAKC,kBAAkBS,aAAa;GAClC,MAAMC,mBAAmB,IAAIrB,IAAIa,MAAMd,aAAa;GACpD,IAAIsB,iBAAiBC,IAAIR,OAAOG,OAAO,GACrCI,iBAAiBE,OAAOT,OAAOG,OAAO;QAEtCI,iBAAiBG,IAAIV,OAAOG,OAAO;GAErC,OAAO;IACL,GAAGJ;IACHd,eAAesB;GACjB;EACF;EAEA,KAAKV,kBAAkBc,WAAW;GAChC,MAAMJ,mBAAmB,IAAIrB,IAAIa,MAAMd,aAAa;GACpDsB,iBAAiBG,IAAIV,OAAOG,OAAO;GACnC,OAAO;IACL,GAAGJ;IACHd,eAAesB;GACjB;EACF;EAEA,KAAKV,kBAAkBe,YAAY;GACjC,MAAML,mBAAmB,IAAIrB,IAAIa,MAAMd,aAAa;GACpDsB,iBAAiBE,OAAOT,OAAOG,OAAO;GACtC,OAAO;IACL,GAAGJ;IACHd,eAAesB;GACjB;EACF;EAEA,KAAKV,kBAAkBgB,oBACrB,OAAO;GACL,GAAGd;GACHX,YAAYY,OAAOG;EACrB;EAEF,KAAKN,kBAAkBiB,oBACrB,OAAO;GACL,GAAGf;GACHV,eAAeW,OAAOG;EACxB;EAEF,KAAKN,kBAAkBkB,kBACrB,OAAO;GACL,GAAGhB;GACHT,aAAaU,OAAOG;EACtB;EAEF,KAAKN,kBAAkBmB,qBACrB,OAAO;GACL,GAAGjB;GACHP,cAAcQ,OAAOG;EACvB;EAEF,KAAKN,kBAAkBoB,sBACrB,OAAO;GACL,GAAGlB;GACHL,uBAAuB,CAACK,MAAML;EAChC;EAEF,KAAKG,kBAAkBqB,sBACrB,OAAO;GACL,GAAGnB;GACHZ,gBAAgBa,OAAOG;EACzB;EAGF,KAAKN,kBAAkBsB,oBACrB,OAAO;GACL,GAAGpB;GACHd,eAAee,OAAOG;EACxB;EAEF,KAAKN,kBAAkBuB,qBACrB,OAAO;GACL,GAAGrB;GACHJ,cAAcK,OAAOG;EACvB;EAEF,KAAKN,kBAAkBwB,sBACrB,OAAO;GACL,GAAGtB;GACHH,eAAeI,OAAOG;EACxB;EAEF,SACE,OAAOJ;CACX;AACF"}
@@ -1,4 +1,5 @@
1
1
  import { SearchNavigationArrow } from "./search-navigation-arrow.js";
2
2
  import { SearchResultCounter } from "./search-result-counter.js";
3
3
  import { SidebarSearch } from "./sidebar-search.js";
4
- export { SearchNavigationArrow, SearchResultCounter, SidebarSearch };
4
+ export { SearchNavigationArrow, SearchResultCounter, SidebarSearch };
5
+ export {};
@@ -4,7 +4,7 @@ interface SearchNavigationArrowProps {
4
4
  isDisabled: boolean;
5
5
  onClick: () => void;
6
6
  }
7
- declare const SearchNavigationArrow: React.FC<SearchNavigationArrowProps>;
7
+ export declare const SearchNavigationArrow: React.FC<SearchNavigationArrowProps>;
8
8
  //#endregion
9
- export { SearchNavigationArrow };
9
+ export {};
10
10
  //# sourceMappingURL=search-navigation-arrow.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"search-navigation-arrow.d.ts","names":[],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.tsx"],"mappings":";UAEU;EACR;EACA;EACA;;qBAGW,uBAAuB,MAAM,GAAG"}
@@ -1 +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:hover-effect\",\n isDisabled && \"cursor-not-allowed text-muted-foreground\",\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,iDACAG,cAAc,2CACf;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"}
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:hover-effect\",\n isDisabled && \"cursor-not-allowed text-muted-foreground\",\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,iDACAG,cAAc,0CAChB;CACSC;CAET,UAAA,oBAAC,OAAD;EACE,OAAM;EACN,QAAO;EACP,SAAQ;EACR,MAAK;EACL,OAAM;EAEN,UAAA,oBAAC,QAAD;GACE,GACEF,cAAc,OACV,yDACA;GAEN,MAAK;EAAc,CAAA;CAElB,CAAA;AACF,CAAA"}
@@ -4,7 +4,7 @@ interface SearchResultCounterProps {
4
4
  activeIndex: number;
5
5
  totalResults: number;
6
6
  }
7
- declare const SearchResultCounter: React.FC<SearchResultCounterProps>;
7
+ export declare const SearchResultCounter: React.FC<SearchResultCounterProps>;
8
8
  //#endregion
9
- export { SearchResultCounter };
9
+ export {};
10
10
  //# sourceMappingURL=search-result-counter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-result-counter.d.ts","names":[],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.tsx"],"mappings":";UAAU,wBAAA;EACR,WAAA;EACA,WAAA;EACA,YAAA;AAAA;AAAA,cAGW,mBAAA,EAAqB,KAAA,CAAM,EAAA,CAAG,wBAAA"}
1
+ {"version":3,"file":"search-result-counter.d.ts","names":[],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.tsx"],"mappings":";UAAU;EACR;EACA;EACA;;qBAGW,qBAAqB,MAAM,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"search-result-counter.js","names":["SearchResultCounter","isSearching","activeIndex","totalResults"],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.tsx"],"sourcesContent":["interface SearchResultCounterProps {\n isSearching: boolean;\n activeIndex: number;\n totalResults: number;\n}\n\nexport const SearchResultCounter: React.FC<SearchResultCounterProps> = ({\n isSearching,\n activeIndex,\n totalResults,\n}) => {\n if (isSearching) {\n return <div className=\"h-4 w-6 animate-pulse rounded-sm bg-secondary\" />;\n }\n\n return (\n <div className=\"text-xs\">\n {totalResults > 0 ? (\n <>\n <span className=\"text-foreground\">{activeIndex + 1}</span>\n <span className=\"text-muted-foreground\">/{totalResults}</span>\n </>\n ) : (\n <span className=\"text-muted-foreground\">0/0</span>\n )}\n </div>\n );\n};\n"],"mappings":";;AAMA,MAAaA,uBAA2D,EACtEC,aACAC,aACAC,mBACI;AACJ,KAAIF,YACF,QAAO,oBAAC,OAAD,EAAK,WAAU,iDAAkD,CAAA;AAG1E,QACE,oBAAC,OAAD;EAAK,WAAU;YACZE,eAAe,IACd,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,QAAD;GAAM,WAAU;aAAmBD,cAAc;GAAQ,CAAA,EACzD,qBAAC,QAAD;GAAM,WAAU;aAAhB,CAAwC,KAAEC,aAAmB;KAC5D,EAAA,CAAA,GAEH,oBAAC,QAAD;GAAM,WAAU;aAAwB;GACzC,CAAA;EACG,CAAA"}
1
+ {"version":3,"file":"search-result-counter.js","names":["SearchResultCounter","isSearching","activeIndex","totalResults"],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.tsx"],"sourcesContent":["interface SearchResultCounterProps {\n isSearching: boolean;\n activeIndex: number;\n totalResults: number;\n}\n\nexport const SearchResultCounter: React.FC<SearchResultCounterProps> = ({\n isSearching,\n activeIndex,\n totalResults,\n}) => {\n if (isSearching) {\n return <div className=\"h-4 w-6 animate-pulse rounded-sm bg-secondary\" />;\n }\n\n return (\n <div className=\"text-xs\">\n {totalResults > 0 ? (\n <>\n <span className=\"text-foreground\">{activeIndex + 1}</span>\n <span className=\"text-muted-foreground\">/{totalResults}</span>\n </>\n ) : (\n <span className=\"text-muted-foreground\">0/0</span>\n )}\n </div>\n );\n};\n"],"mappings":";;AAMA,MAAaA,uBAA2D,EACtEC,aACAC,aACAC,mBACI;CACJ,IAAIF,aACF,OAAO,oBAAC,OAAD,EAAK,WAAU,gDAA+C,CAAA;CAGvE,OACE,oBAAC,OAAD;EAAK,WAAU;EACZE,UAAAA,eAAe,IACd,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,QAAD;GAAM,WAAU;GAAmBD,UAAAA,cAAc;EAAQ,CAAA,GACzD,qBAAC,QAAD;GAAM,WAAU;GAAhB,UAAA,CAAwC,KAAEC,YAAmB;EAC/D,CAAA,CAAA,EAAA,CAAA,IAEA,oBAAC,QAAD;GAAM,WAAU;GAAwB,UAAA;EAAS,CAAA;CAEhD,CAAA;AAET"}
@@ -2,7 +2,7 @@
2
2
  interface SidebarSearchProps {
3
3
  showStatusFilter: boolean;
4
4
  }
5
- declare const SidebarSearch: React.FC<SidebarSearchProps>;
5
+ export declare const SidebarSearch: React.FC<SidebarSearchProps>;
6
6
  //#endregion
7
- export { SidebarSearch };
7
+ export {};
8
8
  //# sourceMappingURL=sidebar-search.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-search.d.ts","names":[],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.tsx"],"mappings":";UAUU,kBAAA;EACR,gBAAA;AAAA;AAAA,cAGW,aAAA,EAAe,KAAA,CAAM,EAAA,CAAG,kBAAA"}
1
+ {"version":3,"file":"sidebar-search.d.ts","names":[],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.tsx"],"mappings":";UAUU;EACR;;qBAGW,eAAe,MAAM,GAAG"}
@@ -1,4 +1,4 @@
1
- import { n as Search, r as CrossCircle, t as Tabler } from "../../../../../Tabler-FjvVqX5a.js";
1
+ import { n as Search, r as CrossCircle, t as Tabler } from "../../../../../Tabler-rjLxlzUV.js";
2
2
  import { Input } from "../../../input/input.js";
3
3
  import { useSidebar } from "../sidebar-provider/sidebar-provider.js";
4
4
  import { SearchNavigationArrow } from "./search-navigation-arrow.js";
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-search.js","names":["useLayoutEffect","useRef","useState","twMerge","Input","CrossCircle","Search","Tabler","useSidebar","SearchNavigationArrow","SearchResultCounter","SidebarSearch","showStatusFilter","searchTerm","isSearching","searchResults","activeSearchIndex","isStatusFilterEnabled","changeSearchTerm","nextSearchResult","previousSearchResult","toggleStatusFilter","searchControlsRef","searchControlsPaddingRight","setSearchControlsPaddingRight","current","clientWidth","e","target","value","key","paddingRight","length"],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.tsx"],"sourcesContent":["import { useLayoutEffect, useRef, useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { Input } from \"../../../input/input.js\";\nimport CrossCircle from \"../../../../../powerhouse/components/icon-components/CrossCircle.js\";\nimport Search from \"../../../../../powerhouse/components/icon-components/Search.js\";\nimport Tabler from \"../../../../../powerhouse/components/icon-components/Tabler.js\";\nimport { useSidebar } from \"../sidebar-provider/index.js\";\nimport { SearchNavigationArrow } from \"./search-navigation-arrow.js\";\nimport { SearchResultCounter } from \"./search-result-counter.js\";\n\ninterface SidebarSearchProps {\n showStatusFilter: boolean;\n}\n\nexport const SidebarSearch: React.FC<SidebarSearchProps> = ({\n showStatusFilter,\n}) => {\n const {\n searchTerm,\n isSearching,\n searchResults,\n activeSearchIndex,\n isStatusFilterEnabled,\n changeSearchTerm,\n nextSearchResult,\n previousSearchResult,\n toggleStatusFilter,\n } = useSidebar();\n const searchControlsRef = useRef<HTMLDivElement>(null);\n const [searchControlsPaddingRight, setSearchControlsPaddingRight] =\n useState(16);\n\n useLayoutEffect(() => {\n if (searchControlsRef.current) {\n setSearchControlsPaddingRight(searchControlsRef.current.clientWidth + 16);\n }\n }, [searchTerm]);\n\n return (\n <div className=\"flex w-full gap-2 border-t border-sidebar-border p-2\">\n <div className=\"relative flex-1\">\n <Input\n type=\"search\"\n value={searchTerm}\n onChange={(e) => changeSearchTerm(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === \"ArrowDown\" || e.key === \"Enter\") {\n nextSearchResult();\n } else if (e.key === \"ArrowUp\") {\n previousSearchResult();\n }\n }}\n tabIndex={1}\n placeholder=\"Search\"\n className=\"w-full appearance-none pl-8 [&::-webkit-search-cancel-button]:hidden\"\n style={{ paddingRight: searchControlsPaddingRight }}\n />\n\n <Search\n height={16}\n width={16}\n className=\"absolute top-1/2 left-2 -translate-y-1/2 text-foreground\"\n />\n\n {/* Search controls - only shown when there's a search term */}\n {searchTerm && (\n <div\n ref={searchControlsRef}\n className=\"absolute top-1/2 right-2 flex -translate-y-1/2 items-center gap-2 select-none\"\n >\n <SearchResultCounter\n isSearching={isSearching}\n activeIndex={activeSearchIndex}\n totalResults={searchResults.length}\n />\n\n <div className=\"flex flex-col text-muted-foreground\">\n <SearchNavigationArrow\n direction=\"up\"\n isDisabled={activeSearchIndex === 0}\n onClick={previousSearchResult}\n />\n <SearchNavigationArrow\n direction=\"down\"\n isDisabled={activeSearchIndex === searchResults.length - 1}\n onClick={nextSearchResult}\n />\n </div>\n\n {/* Clear search button */}\n <CrossCircle\n onClick={() => changeSearchTerm(\"\")}\n height={16}\n width={16}\n className=\"cursor-pointer text-muted-foreground hover:hover-effect active:active-effect\"\n />\n </div>\n )}\n </div>\n\n {showStatusFilter && (\n <button\n type=\"button\"\n onClick={toggleStatusFilter}\n tabIndex={1}\n className={twMerge(\n \"rounded-md border border-border px-2 py-1 text-sm text-muted-foreground\",\n isStatusFilterEnabled\n ? \"border-info bg-info/10 text-info\"\n : \"hover:hover-effect\",\n )}\n >\n <Tabler height={16} width={16} />\n </button>\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;AAcA,MAAaW,iBAA+C,EAC1DC,uBACI;CACJ,MAAM,EACJC,YACAC,aACAC,eACAC,mBACAC,uBACAC,kBACAC,kBACAC,sBACAC,uBACEb,YAAY;CAChB,MAAMc,oBAAoBrB,OAAuB,KAAK;CACtD,MAAM,CAACsB,4BAA4BC,iCACjCtB,SAAS,GAAG;AAEdF,uBAAsB;AACpB,MAAIsB,kBAAkBG,QACpBD,+BAA8BF,kBAAkBG,QAAQC,cAAc,GAAG;IAE1E,CAACb,WAAW,CAAC;AAEhB,QACE,qBAAC,OAAD;EAAK,WAAU;YAAf,CACE,qBAAC,OAAD;GAAK,WAAU;aAAf;IACE,oBAAC,OAAD;KACE,MAAK;KACL,OAAOA;KACP,WAAWc,MAAMT,iBAAiBS,EAAEC,OAAOC,MAAM;KACjD,YAAYF,MAAM;AAChB,UAAIA,EAAEG,QAAQ,eAAeH,EAAEG,QAAQ,QACrCX,mBAAkB;eACTQ,EAAEG,QAAQ,UACnBV,uBAAsB;;KAG1B,UAAU;KACV,aAAY;KACZ,WAAU;KACV,OAAO,EAAEW,cAAcR,4BAA4B;KAAC,CAAA;IAGtD,oBAAC,QAAD;KACE,QAAQ;KACR,OAAO;KACP,WAAU;KAA0D,CAAA;IAIrEV,cACC,qBAAC,OAAD;KACE,KAAKS;KACL,WAAU;eAFZ;MAIE,oBAAC,qBAAD;OACeR;OACb,aAAaE;OACb,cAAcD,cAAciB;OAAO,CAAA;MAGrC,qBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,oBAAC,uBAAD;QACE,WAAU;QACV,YAAYhB,sBAAsB;QAClC,SAASI;QAAqB,CAAA,EAEhC,oBAAC,uBAAD;QACE,WAAU;QACV,YAAYJ,sBAAsBD,cAAciB,SAAS;QACzD,SAASb;QAAiB,CAAA,CAEzB;;MAGL,oBAAC,aAAD;OACE,eAAeD,iBAAiB,GAAG;OACnC,QAAQ;OACR,OAAO;OACP,WAAU;OAA8E,CAAA;MAG7F;;IACE;MAEJN,oBACC,oBAAC,UAAD;GACE,MAAK;GACL,SAASS;GACT,UAAU;GACV,WAAWlB,QACT,2EACAc,wBACI,qCACA,qBACL;aAED,oBAAC,QAAD;IAAQ,QAAQ;IAAI,OAAO;IAAG,CAAA;GAEjC,CAAA,CACG"}
1
+ {"version":3,"file":"sidebar-search.js","names":["useLayoutEffect","useRef","useState","twMerge","Input","CrossCircle","Search","Tabler","useSidebar","SearchNavigationArrow","SearchResultCounter","SidebarSearch","showStatusFilter","searchTerm","isSearching","searchResults","activeSearchIndex","isStatusFilterEnabled","changeSearchTerm","nextSearchResult","previousSearchResult","toggleStatusFilter","searchControlsRef","searchControlsPaddingRight","setSearchControlsPaddingRight","current","clientWidth","e","target","value","key","paddingRight","length"],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.tsx"],"sourcesContent":["import { useLayoutEffect, useRef, useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { Input } from \"../../../input/input.js\";\nimport CrossCircle from \"../../../../../powerhouse/components/icon-components/CrossCircle.js\";\nimport Search from \"../../../../../powerhouse/components/icon-components/Search.js\";\nimport Tabler from \"../../../../../powerhouse/components/icon-components/Tabler.js\";\nimport { useSidebar } from \"../sidebar-provider/index.js\";\nimport { SearchNavigationArrow } from \"./search-navigation-arrow.js\";\nimport { SearchResultCounter } from \"./search-result-counter.js\";\n\ninterface SidebarSearchProps {\n showStatusFilter: boolean;\n}\n\nexport const SidebarSearch: React.FC<SidebarSearchProps> = ({\n showStatusFilter,\n}) => {\n const {\n searchTerm,\n isSearching,\n searchResults,\n activeSearchIndex,\n isStatusFilterEnabled,\n changeSearchTerm,\n nextSearchResult,\n previousSearchResult,\n toggleStatusFilter,\n } = useSidebar();\n const searchControlsRef = useRef<HTMLDivElement>(null);\n const [searchControlsPaddingRight, setSearchControlsPaddingRight] =\n useState(16);\n\n useLayoutEffect(() => {\n if (searchControlsRef.current) {\n setSearchControlsPaddingRight(searchControlsRef.current.clientWidth + 16);\n }\n }, [searchTerm]);\n\n return (\n <div className=\"flex w-full gap-2 border-t border-sidebar-border p-2\">\n <div className=\"relative flex-1\">\n <Input\n type=\"search\"\n value={searchTerm}\n onChange={(e) => changeSearchTerm(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === \"ArrowDown\" || e.key === \"Enter\") {\n nextSearchResult();\n } else if (e.key === \"ArrowUp\") {\n previousSearchResult();\n }\n }}\n tabIndex={1}\n placeholder=\"Search\"\n className=\"w-full appearance-none pl-8 [&::-webkit-search-cancel-button]:hidden\"\n style={{ paddingRight: searchControlsPaddingRight }}\n />\n\n <Search\n height={16}\n width={16}\n className=\"absolute top-1/2 left-2 -translate-y-1/2 text-foreground\"\n />\n\n {/* Search controls - only shown when there's a search term */}\n {searchTerm && (\n <div\n ref={searchControlsRef}\n className=\"absolute top-1/2 right-2 flex -translate-y-1/2 items-center gap-2 select-none\"\n >\n <SearchResultCounter\n isSearching={isSearching}\n activeIndex={activeSearchIndex}\n totalResults={searchResults.length}\n />\n\n <div className=\"flex flex-col text-muted-foreground\">\n <SearchNavigationArrow\n direction=\"up\"\n isDisabled={activeSearchIndex === 0}\n onClick={previousSearchResult}\n />\n <SearchNavigationArrow\n direction=\"down\"\n isDisabled={activeSearchIndex === searchResults.length - 1}\n onClick={nextSearchResult}\n />\n </div>\n\n {/* Clear search button */}\n <CrossCircle\n onClick={() => changeSearchTerm(\"\")}\n height={16}\n width={16}\n className=\"cursor-pointer text-muted-foreground hover:hover-effect active:active-effect\"\n />\n </div>\n )}\n </div>\n\n {showStatusFilter && (\n <button\n type=\"button\"\n onClick={toggleStatusFilter}\n tabIndex={1}\n className={twMerge(\n \"rounded-md border border-border px-2 py-1 text-sm text-muted-foreground\",\n isStatusFilterEnabled\n ? \"border-info bg-info/10 text-info\"\n : \"hover:hover-effect\",\n )}\n >\n <Tabler height={16} width={16} />\n </button>\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;AAcA,MAAaW,iBAA+C,EAC1DC,uBACI;CACJ,MAAM,EACJC,YACAC,aACAC,eACAC,mBACAC,uBACAC,kBACAC,kBACAC,sBACAC,uBACEb,WAAW;CACf,MAAMc,oBAAoBrB,OAAuB,IAAI;CACrD,MAAM,CAACsB,4BAA4BC,iCACjCtB,SAAS,EAAE;CAEbF,sBAAsB;EACpB,IAAIsB,kBAAkBG,SACpBD,8BAA8BF,kBAAkBG,QAAQC,cAAc,EAAE;CAE5E,GAAG,CAACb,UAAU,CAAC;CAEf,OACE,qBAAC,OAAD;EAAK,WAAU;EAAf,UAAA,CACE,qBAAC,OAAD;GAAK,WAAU;GAAf,UAAA;IACE,oBAAC,OAAD;KACE,MAAK;KACL,OAAOA;KACP,WAAWc,MAAMT,iBAAiBS,EAAEC,OAAOC,KAAK;KAChD,YAAYF,MAAM;MAChB,IAAIA,EAAEG,QAAQ,eAAeH,EAAEG,QAAQ,SACrCX,iBAAiB;WACZ,IAAIQ,EAAEG,QAAQ,WACnBV,qBAAqB;KAEzB;KACA,UAAU;KACV,aAAY;KACZ,WAAU;KACV,OAAO,EAAEW,cAAcR,2BAA2B;IAAE,CAAA;IAGtD,oBAAC,QAAD;KACE,QAAQ;KACR,OAAO;KACP,WAAU;IAA0D,CAAA;IAIrEV,cACC,qBAAC,OAAD;KACE,KAAKS;KACL,WAAU;KAFZ,UAAA;MAIE,oBAAC,qBAAD;OACeR;OACb,aAAaE;OACb,cAAcD,cAAciB;MAAO,CAAA;MAGrC,qBAAC,OAAD;OAAK,WAAU;OAAf,UAAA,CACE,oBAAC,uBAAD;QACE,WAAU;QACV,YAAYhB,sBAAsB;QAClC,SAASI;OAAqB,CAAA,GAEhC,oBAAC,uBAAD;QACE,WAAU;QACV,YAAYJ,sBAAsBD,cAAciB,SAAS;QACzD,SAASb;OAAiB,CAAA,CAEzB;;MAGL,oBAAC,aAAD;OACE,eAAeD,iBAAiB,EAAE;OAClC,QAAQ;OACR,OAAO;OACP,WAAU;MAA8E,CAAA;KAEvF;;GAEJ;EAEJN,CAAAA,GAAAA,oBACC,oBAAC,UAAD;GACE,MAAK;GACL,SAASS;GACT,UAAU;GACV,WAAWlB,QACT,2EACAc,wBACI,qCACA,oBACN;GAEA,UAAA,oBAAC,QAAD;IAAQ,QAAQ;IAAI,OAAO;GAAG,CAAA;EACxB,CAAA,CAEP;;AAET"}
@@ -1,16 +1,10 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
-
3
1
  //#region src/ui/components/sidebar/subcomponents/sidebar-skeleton-item.d.ts
4
2
  interface SidebarSkeletonItemProps {
5
3
  depth: number;
6
4
  textWidth: string;
7
5
  style?: React.CSSProperties;
8
6
  }
9
- declare const SidebarSkeletonItem: ({
10
- depth,
11
- textWidth,
12
- style
13
- }: SidebarSkeletonItemProps) => react_jsx_runtime0.JSX.Element;
7
+ export declare const SidebarSkeletonItem: ({ depth, textWidth, style }: SidebarSkeletonItemProps) => import("react/jsx-runtime").JSX.Element;
14
8
  //#endregion
15
- export { SidebarSkeletonItem };
9
+ export {};
16
10
  //# sourceMappingURL=sidebar-skeleton-item.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-skeleton-item.d.ts","names":[],"sources":["../../../../../src/ui/components/sidebar/subcomponents/sidebar-skeleton-item.tsx"],"mappings":";;;UAEU,wBAAA;EACR,KAAA;EACA,SAAA;EACA,KAAA,GAAQ,KAAA,CAAM,aAAA;AAAA;AAAA,cAGH,mBAAA;EAAuB,KAAA;EAAA,SAAA;EAAA;AAAA,GAIjC,wBAAA,KAAwB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"sidebar-skeleton-item.d.ts","names":[],"sources":["../../../../../src/ui/components/sidebar/subcomponents/sidebar-skeleton-item.tsx"],"mappings":";UAEU;EACR;EACA;EACA,QAAQ,MAAM;;qBAGH,wBAAmB,OAAA,WAAA,SAI7B,yDAAwB,IAAA"}
@@ -2,12 +2,13 @@ import { twMerge } from "tailwind-merge";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  //#region src/ui/components/sidebar/subcomponents/sidebar-skeleton-item.tsx
4
4
  const SidebarSkeletonItem = ({ depth, textWidth, style }) => {
5
+ const paddingLeft = depth * 24;
5
6
  return /* @__PURE__ */ jsx("div", {
6
7
  style,
7
8
  className: "flex items-center px-2",
8
9
  children: /* @__PURE__ */ jsxs("div", {
9
10
  className: "flex h-8 w-full items-center gap-2 px-2 py-1",
10
- style: { paddingLeft: depth * 24 + 8 },
11
+ style: { paddingLeft: paddingLeft + 8 },
11
12
  children: [/* @__PURE__ */ jsx("div", {
12
13
  className: "flex size-4 min-w-4 items-center justify-center",
13
14
  children: /* @__PURE__ */ jsx("div", { className: "size-4 min-w-4 animate-pulse rounded-sm bg-secondary" })
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-skeleton-item.js","names":["twMerge","SidebarSkeletonItem","depth","textWidth","style","paddingLeft"],"sources":["../../../../../src/ui/components/sidebar/subcomponents/sidebar-skeleton-item.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\n\ninterface SidebarSkeletonItemProps {\n depth: number;\n textWidth: string;\n style?: React.CSSProperties;\n}\n\nexport const SidebarSkeletonItem = ({\n depth,\n textWidth,\n style,\n}: SidebarSkeletonItemProps) => {\n const paddingLeft = depth * 24;\n\n return (\n <div style={style} className=\"flex items-center px-2\">\n <div\n className=\"flex h-8 w-full items-center gap-2 px-2 py-1\"\n style={{ paddingLeft: paddingLeft + 8 }}\n >\n {/* Chevron icon skeleton */}\n <div className=\"flex size-4 min-w-4 items-center justify-center\">\n <div className=\"size-4 min-w-4 animate-pulse rounded-sm bg-secondary\" />\n </div>\n\n {/* Text content skeleton */}\n <div\n className={twMerge(\n \"h-4 animate-pulse rounded-sm bg-secondary\",\n textWidth,\n )}\n />\n </div>\n </div>\n );\n};\n"],"mappings":";;;AAQA,MAAaC,uBAAuB,EAClCC,OACAC,WACAC,YAC8B;AAG9B,QACE,oBAAC,OAAD;EAAYA;EAAO,WAAU;YAC3B,qBAAC,OAAD;GACE,WAAU;GACV,OAAO,EAAEC,aANKH,QAAQ,KAMc,GAAG;aAFzC,CAKE,oBAAC,OAAD;IAAK,WAAU;cACb,oBAAC,OAAD,EAAK,WAAU,wDAAsD,CAAA;IAClE,CAAA,EAGL,oBAAC,OAAD,EACE,WAAWF,QACT,6CACAG,UACD,EAAC,CAAA,CAED;;EACD,CAAA"}
1
+ {"version":3,"file":"sidebar-skeleton-item.js","names":["twMerge","SidebarSkeletonItem","depth","textWidth","style","paddingLeft"],"sources":["../../../../../src/ui/components/sidebar/subcomponents/sidebar-skeleton-item.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\n\ninterface SidebarSkeletonItemProps {\n depth: number;\n textWidth: string;\n style?: React.CSSProperties;\n}\n\nexport const SidebarSkeletonItem = ({\n depth,\n textWidth,\n style,\n}: SidebarSkeletonItemProps) => {\n const paddingLeft = depth * 24;\n\n return (\n <div style={style} className=\"flex items-center px-2\">\n <div\n className=\"flex h-8 w-full items-center gap-2 px-2 py-1\"\n style={{ paddingLeft: paddingLeft + 8 }}\n >\n {/* Chevron icon skeleton */}\n <div className=\"flex size-4 min-w-4 items-center justify-center\">\n <div className=\"size-4 min-w-4 animate-pulse rounded-sm bg-secondary\" />\n </div>\n\n {/* Text content skeleton */}\n <div\n className={twMerge(\n \"h-4 animate-pulse rounded-sm bg-secondary\",\n textWidth,\n )}\n />\n </div>\n </div>\n );\n};\n"],"mappings":";;;AAQA,MAAaC,uBAAuB,EAClCC,OACAC,WACAC,YAC8B;CAC9B,MAAMC,cAAcH,QAAQ;CAE5B,OACE,oBAAC,OAAD;EAAYE;EAAO,WAAU;EAC3B,UAAA,qBAAC,OAAD;GACE,WAAU;GACV,OAAO,EAAEC,aAAaA,cAAc,EAAE;GAFxC,UAAA,CAKE,oBAAC,OAAD;IAAK,WAAU;IACb,UAAA,oBAAC,OAAD,EAAK,WAAU,uDAAsD,CAAA;GAClE,CAAA,GAGL,oBAAC,OAAD,EACE,WAAWL,QACT,6CACAG,SACF,EAAE,CAAA,CAED;;CACF,CAAA;AAET"}
@@ -1,7 +1,5 @@
1
- import * as react_jsx_runtime0 from "react/jsx-runtime";
2
-
3
1
  //#region src/ui/components/sidebar/subcomponents/sidebar-skeleton.d.ts
4
- declare const SidebarSkeleton: () => react_jsx_runtime0.JSX.Element;
2
+ export declare const SidebarSkeleton: () => import("react/jsx-runtime").JSX.Element;
5
3
  //#endregion
6
- export { SidebarSkeleton };
4
+ export {};
7
5
  //# sourceMappingURL=sidebar-skeleton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-skeleton.d.ts","names":[],"sources":["../../../../../src/ui/components/sidebar/subcomponents/sidebar-skeleton.tsx"],"mappings":";;;cAea,eAAA,QAAe,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"sidebar-skeleton.d.ts","names":[],"sources":["../../../../../src/ui/components/sidebar/subcomponents/sidebar-skeleton.tsx"],"mappings":";qBAea,mDAAe,IAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-skeleton.js","names":["SidebarSkeletonItem","skeletonItems","depth","textWidth","SidebarSkeleton","map","item","index"],"sources":["../../../../../src/ui/components/sidebar/subcomponents/sidebar-skeleton.tsx"],"sourcesContent":["import { SidebarSkeletonItem } from \"./sidebar-skeleton-item.js\";\n\nconst skeletonItems = [\n { depth: 0, textWidth: \"w-32\" },\n { depth: 1, textWidth: \"w-28\" },\n { depth: 1, textWidth: \"w-36\" },\n { depth: 2, textWidth: \"w-24\" },\n { depth: 2, textWidth: \"w-30\" },\n { depth: 0, textWidth: \"w-40\" },\n { depth: 1, textWidth: \"w-26\" },\n { depth: 1, textWidth: \"w-34\" },\n { depth: 2, textWidth: \"w-22\" },\n { depth: 0, textWidth: \"w-38\" },\n];\n\nexport const SidebarSkeleton = () => {\n return (\n <div\n className=\"flex-1 overflow-hidden p-2\"\n role=\"status\"\n aria-label=\"Loading sidebar content\"\n >\n <div className=\"flex flex-col gap-2\">\n {skeletonItems.map((item, index) => (\n <SidebarSkeletonItem\n key={index}\n depth={item.depth}\n textWidth={item.textWidth}\n />\n ))}\n </div>\n </div>\n );\n};\n"],"mappings":";;;AAEA,MAAMC,gBAAgB;CACpB;EAAEC,OAAO;EAAGC,WAAW;EAAQ;CAC/B;EAAED,OAAO;EAAGC,WAAW;EAAQ;CAC/B;EAAED,OAAO;EAAGC,WAAW;EAAQ;CAC/B;EAAED,OAAO;EAAGC,WAAW;EAAQ;CAC/B;EAAED,OAAO;EAAGC,WAAW;EAAQ;CAC/B;EAAED,OAAO;EAAGC,WAAW;EAAQ;CAC/B;EAAED,OAAO;EAAGC,WAAW;EAAQ;CAC/B;EAAED,OAAO;EAAGC,WAAW;EAAQ;CAC/B;EAAED,OAAO;EAAGC,WAAW;EAAQ;CAC/B;EAAED,OAAO;EAAGC,WAAW;EAAQ;CAChC;AAED,MAAaC,wBAAwB;AACnC,QACE,oBAAC,OAAD;EACE,WAAU;EACV,MAAK;EACL,cAAW;YAEX,oBAAC,OAAD;GAAK,WAAU;aACZH,cAAcI,KAAKC,MAAMC,UACxB,oBAAC,qBAAD;IAEE,OAAOD,KAAKJ;IACZ,WAAWI,KAAKH;IAEnB,EAJQI,MAIR,CAAC;GACC,CAAA;EACD,CAAA"}
1
+ {"version":3,"file":"sidebar-skeleton.js","names":["SidebarSkeletonItem","skeletonItems","depth","textWidth","SidebarSkeleton","map","item","index"],"sources":["../../../../../src/ui/components/sidebar/subcomponents/sidebar-skeleton.tsx"],"sourcesContent":["import { SidebarSkeletonItem } from \"./sidebar-skeleton-item.js\";\n\nconst skeletonItems = [\n { depth: 0, textWidth: \"w-32\" },\n { depth: 1, textWidth: \"w-28\" },\n { depth: 1, textWidth: \"w-36\" },\n { depth: 2, textWidth: \"w-24\" },\n { depth: 2, textWidth: \"w-30\" },\n { depth: 0, textWidth: \"w-40\" },\n { depth: 1, textWidth: \"w-26\" },\n { depth: 1, textWidth: \"w-34\" },\n { depth: 2, textWidth: \"w-22\" },\n { depth: 0, textWidth: \"w-38\" },\n];\n\nexport const SidebarSkeleton = () => {\n return (\n <div\n className=\"flex-1 overflow-hidden p-2\"\n role=\"status\"\n aria-label=\"Loading sidebar content\"\n >\n <div className=\"flex flex-col gap-2\">\n {skeletonItems.map((item, index) => (\n <SidebarSkeletonItem\n key={index}\n depth={item.depth}\n textWidth={item.textWidth}\n />\n ))}\n </div>\n </div>\n );\n};\n"],"mappings":";;;AAEA,MAAMC,gBAAgB;CACpB;EAAEC,OAAO;EAAGC,WAAW;CAAO;CAC9B;EAAED,OAAO;EAAGC,WAAW;CAAO;CAC9B;EAAED,OAAO;EAAGC,WAAW;CAAO;CAC9B;EAAED,OAAO;EAAGC,WAAW;CAAO;CAC9B;EAAED,OAAO;EAAGC,WAAW;CAAO;CAC9B;EAAED,OAAO;EAAGC,WAAW;CAAO;CAC9B;EAAED,OAAO;EAAGC,WAAW;CAAO;CAC9B;EAAED,OAAO;EAAGC,WAAW;CAAO;CAC9B;EAAED,OAAO;EAAGC,WAAW;CAAO;CAC9B;EAAED,OAAO;EAAGC,WAAW;CAAO;AAAC;AAGjC,MAAaC,wBAAwB;CACnC,OACE,oBAAC,OAAD;EACE,WAAU;EACV,MAAK;EACL,cAAW;EAEX,UAAA,oBAAC,OAAD;GAAK,WAAU;GACZH,UAAAA,cAAcI,KAAKC,MAAMC,UACxB,oBAAC,qBAAD;IAEE,OAAOD,KAAKJ;IACZ,WAAWI,KAAKH;GAAU,GAFrBI,KAEqB,CAE7B;EACE,CAAA;CACF,CAAA;AAET"}
@@ -1,16 +1,10 @@
1
- import { a as NodeStatus } from "../../../../types-CNbvfWjh.js";
2
- import * as react from "react";
3
- import * as react_jsx_runtime0 from "react/jsx-runtime";
4
-
1
+ import { a as NodeStatus } from "../../../../types-DDSmPhHp.js";
5
2
  //#region src/ui/components/sidebar/subcomponents/status-icon.d.ts
6
3
  interface StatusIconProps {
7
4
  status: NodeStatus;
8
5
  isDescendenceModified?: boolean;
9
6
  }
10
- declare const StatusIcon: ({
11
- status,
12
- isDescendenceModified
13
- }: StatusIconProps) => string | number | bigint | boolean | Iterable<react.ReactNode> | Promise<string | number | bigint | boolean | react.ReactPortal | react.ReactElement<unknown, string | react.JSXElementConstructor<any>> | Iterable<react.ReactNode> | null | undefined> | react_jsx_runtime0.JSX.Element | null | undefined;
7
+ export declare const StatusIcon: ({ status, isDescendenceModified }: StatusIconProps) => string | number | bigint | boolean | import("react/jsx-runtime").JSX.Element | Iterable<import("react").ReactNode> | Promise<string | number | bigint | boolean | Iterable<import("react").ReactNode> | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | import("react").ReactPortal | null | undefined> | null | undefined;
14
8
  //#endregion
15
- export { StatusIcon };
9
+ export {};
16
10
  //# sourceMappingURL=status-icon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"status-icon.d.ts","names":[],"sources":["../../../../../src/ui/components/sidebar/subcomponents/status-icon.tsx"],"mappings":";;;;;UAQU,eAAA;EACR,MAAA,EAAQ,UAAA;EACR,qBAAA;AAAA;AAAA,cAwBW,UAAA;EAAc,MAAA;EAAA;AAAA,GAGxB,eAAA,0CAAe,QAAA,CAAA,KAAA,CAAA,SAAA,IAAA,OAAA,sCAAA,KAAA,CAAA,WAAA,GAAA,KAAA,CAAA,YAAA,mBAAA,KAAA,CAAA,qBAAA,SAAA,QAAA,CAAA,KAAA,CAAA,SAAA,wBAAA,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"status-icon.d.ts","names":[],"sources":["../../../../../src/ui/components/sidebar/subcomponents/status-icon.tsx"],"mappings":";;UAQU;EACR,QAAQ;EACR;;qBAwBW,eAAU,QAAA,yBAGpB,qFAAe,IAAA,UAAA,yBAAA,aAAA,6CAAA,yBAAA,6BAAA,+CAAA,8CAAA"}
@@ -1,4 +1,4 @@
1
- import { a as DescendenceModified, i as Duplicated, n as Moved, o as Created, r as Modified, t as Removed } from "../../../../Removed-CO_5C1ce.js";
1
+ import { a as DescendenceModified, i as Duplicated, n as Moved, o as Created, r as Modified, t as Removed } from "../../../../Removed-OP4eTrAN.js";
2
2
  import { NodeStatus } from "../types.js";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  //#region src/ui/components/sidebar/subcomponents/status-icon.tsx
@@ -1 +1 @@
1
- {"version":3,"file":"status-icon.js","names":["Created","DescendenceModified","Duplicated","Modified","Moved","Removed","NodeStatus","STATUS_ICON_MAP","CREATED","icon","MODIFIED","REMOVED","MOVED","DUPLICATED","StatusIcon","status","isDescendenceModified","UNCHANGED"],"sources":["../../../../../src/ui/components/sidebar/subcomponents/status-icon.tsx"],"sourcesContent":["import Created from \"../../../../powerhouse/components/icon-components/Created.js\";\nimport DescendenceModified from \"../../../../powerhouse/components/icon-components/DescendenceModified.js\";\nimport Duplicated from \"../../../../powerhouse/components/icon-components/Duplicated.js\";\nimport Modified from \"../../../../powerhouse/components/icon-components/Modified.js\";\nimport Moved from \"../../../../powerhouse/components/icon-components/Moved.js\";\nimport Removed from \"../../../../powerhouse/components/icon-components/Removed.js\";\nimport { NodeStatus } from \"../types.js\";\n\ninterface StatusIconProps {\n status: NodeStatus;\n isDescendenceModified?: boolean;\n}\n\nconst STATUS_ICON_MAP: Record<\n Exclude<NodeStatus, NodeStatus.UNCHANGED>,\n { icon: React.ReactNode }\n> = {\n [NodeStatus.CREATED]: {\n icon: <Created height={16} width={16} className=\"text-success\" />,\n },\n [NodeStatus.MODIFIED]: {\n icon: <Modified height={16} width={16} className=\"text-info\" />,\n },\n [NodeStatus.REMOVED]: {\n icon: <Removed height={16} width={16} className=\"text-destructive\" />,\n },\n [NodeStatus.MOVED]: {\n icon: <Moved height={16} width={16} className=\"text-info\" />,\n },\n [NodeStatus.DUPLICATED]: {\n icon: <Duplicated height={16} width={16} className=\"text-info\" />,\n },\n};\n\nexport const StatusIcon = ({\n status,\n isDescendenceModified,\n}: StatusIconProps) => {\n if (status === NodeStatus.UNCHANGED) {\n return isDescendenceModified ? (\n <DescendenceModified\n height={16}\n width={16}\n className=\"text-muted-foreground\"\n />\n ) : null;\n }\n\n return STATUS_ICON_MAP[status].icon;\n};\n"],"mappings":";;;;AAaA,MAAMO,kBAGF;EACDD,WAAWE,UAAU,EACpBC,MAAM,oBAAC,SAAD;EAAS,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAc,CAAA,EAC/D;EACAH,WAAWI,WAAW,EACrBD,MAAM,oBAAC,UAAD;EAAU,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAW,CAAA,EAC7D;EACAH,WAAWK,UAAU,EACpBF,MAAM,oBAAC,SAAD;EAAS,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAkB,CAAA,EACnE;EACAH,WAAWM,QAAQ,EAClBH,MAAM,oBAAC,OAAD;EAAO,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAW,CAAA,EAC1D;EACAH,WAAWO,aAAa,EACvBJ,MAAM,oBAAC,YAAD;EAAY,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAW,CAAA,EAChE;CACD;AAED,MAAaK,cAAc,EACzBC,QACAC,4BACqB;AACrB,KAAID,WAAWT,WAAWW,UACxB,QAAOD,wBACL,oBAAC,qBAAD;EACE,QAAQ;EACR,OAAO;EACP,WAAU;EACV,CAAA,GACA;AAGN,QAAOT,gBAAgBQ,QAAQN"}
1
+ {"version":3,"file":"status-icon.js","names":["Created","DescendenceModified","Duplicated","Modified","Moved","Removed","NodeStatus","STATUS_ICON_MAP","CREATED","icon","MODIFIED","REMOVED","MOVED","DUPLICATED","StatusIcon","status","isDescendenceModified","UNCHANGED"],"sources":["../../../../../src/ui/components/sidebar/subcomponents/status-icon.tsx"],"sourcesContent":["import Created from \"../../../../powerhouse/components/icon-components/Created.js\";\nimport DescendenceModified from \"../../../../powerhouse/components/icon-components/DescendenceModified.js\";\nimport Duplicated from \"../../../../powerhouse/components/icon-components/Duplicated.js\";\nimport Modified from \"../../../../powerhouse/components/icon-components/Modified.js\";\nimport Moved from \"../../../../powerhouse/components/icon-components/Moved.js\";\nimport Removed from \"../../../../powerhouse/components/icon-components/Removed.js\";\nimport { NodeStatus } from \"../types.js\";\n\ninterface StatusIconProps {\n status: NodeStatus;\n isDescendenceModified?: boolean;\n}\n\nconst STATUS_ICON_MAP: Record<\n Exclude<NodeStatus, NodeStatus.UNCHANGED>,\n { icon: React.ReactNode }\n> = {\n [NodeStatus.CREATED]: {\n icon: <Created height={16} width={16} className=\"text-success\" />,\n },\n [NodeStatus.MODIFIED]: {\n icon: <Modified height={16} width={16} className=\"text-info\" />,\n },\n [NodeStatus.REMOVED]: {\n icon: <Removed height={16} width={16} className=\"text-destructive\" />,\n },\n [NodeStatus.MOVED]: {\n icon: <Moved height={16} width={16} className=\"text-info\" />,\n },\n [NodeStatus.DUPLICATED]: {\n icon: <Duplicated height={16} width={16} className=\"text-info\" />,\n },\n};\n\nexport const StatusIcon = ({\n status,\n isDescendenceModified,\n}: StatusIconProps) => {\n if (status === NodeStatus.UNCHANGED) {\n return isDescendenceModified ? (\n <DescendenceModified\n height={16}\n width={16}\n className=\"text-muted-foreground\"\n />\n ) : null;\n }\n\n return STATUS_ICON_MAP[status].icon;\n};\n"],"mappings":";;;;AAaA,MAAMO,kBAGF;EACDD,WAAWE,UAAU,EACpBC,MAAM,oBAAC,SAAD;EAAS,QAAQ;EAAI,OAAO;EAAI,WAAU;CAAc,CAAA,EAChE;EACCH,WAAWI,WAAW,EACrBD,MAAM,oBAAC,UAAD;EAAU,QAAQ;EAAI,OAAO;EAAI,WAAU;CAAW,CAAA,EAC9D;EACCH,WAAWK,UAAU,EACpBF,MAAM,oBAAC,SAAD;EAAS,QAAQ;EAAI,OAAO;EAAI,WAAU;CAAkB,CAAA,EACpE;EACCH,WAAWM,QAAQ,EAClBH,MAAM,oBAAC,OAAD;EAAO,QAAQ;EAAI,OAAO;EAAI,WAAU;CAAW,CAAA,EAC3D;EACCH,WAAWO,aAAa,EACvBJ,MAAM,oBAAC,YAAD;EAAY,QAAQ;EAAI,OAAO;EAAI,WAAU;CAAW,CAAA,EAChE;AACF;AAEA,MAAaK,cAAc,EACzBC,QACAC,4BACqB;CACrB,IAAID,WAAWT,WAAWW,WACxB,OAAOD,wBACL,oBAAC,qBAAD;EACE,QAAQ;EACR,OAAO;EACP,WAAU;CAAuB,CAAA,IAEjC;CAGN,OAAOT,gBAAgBQ,OAAO,CAACN;AACjC"}
@@ -1,2 +1,3 @@
1
- import { a as NodeStatus, i as NodeSortType, n as NodeSortComparisonFn, o as SidebarIcon, r as NodeSortOrder, s as SidebarNode, t as FlattenedNode } from "../../../types-CNbvfWjh.js";
2
- export { FlattenedNode, NodeSortComparisonFn, NodeSortOrder, NodeSortType, NodeStatus, SidebarIcon, SidebarNode };
1
+ import { a as NodeStatus, i as NodeSortType, n as NodeSortComparisonFn, o as SidebarIcon, r as NodeSortOrder, s as SidebarNode, t as FlattenedNode } from "../../../types-DDSmPhHp.js";
2
+ export { FlattenedNode, NodeSortComparisonFn, NodeSortOrder, NodeSortType, NodeStatus, SidebarIcon, SidebarNode };
3
+ export {};
@@ -1,5 +1,5 @@
1
1
  //#region src/ui/components/sidebar/types.ts
2
- let NodeStatus = /* @__PURE__ */ function(NodeStatus) {
2
+ let NodeStatus = /*#__PURE__*/ function(NodeStatus) {
3
3
  NodeStatus["CREATED"] = "CREATED";
4
4
  NodeStatus["MODIFIED"] = "MODIFIED";
5
5
  NodeStatus["REMOVED"] = "REMOVED";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["NodeStatus"],"sources":["../../../../src/ui/components/sidebar/types.ts"],"sourcesContent":["import type { IconName } from \"../../../powerhouse/types.js\";\n\nexport enum NodeStatus {\n CREATED = \"CREATED\",\n MODIFIED = \"MODIFIED\",\n REMOVED = \"REMOVED\",\n MOVED = \"MOVED\",\n DUPLICATED = \"DUPLICATED\",\n UNCHANGED = \"UNCHANGED\", // default\n}\n\nexport type SidebarIcon = IconName | React.ReactElement;\n\nexport interface SidebarNode {\n title: string;\n id: string;\n children?: SidebarNode[];\n icon?: SidebarIcon;\n expandedIcon?: SidebarIcon;\n status?: NodeStatus;\n className?: string;\n}\n\nexport type NodeSortComparisonFn = (\n valueA: string,\n valueB: string,\n) => -1 | 0 | 1;\nexport type NodeSortType = \"alphabetical\" | \"natural\" | NodeSortComparisonFn;\nexport type NodeSortOrder = \"asc\" | \"desc\";\n\nexport interface FlattenedNode extends SidebarNode {\n depth: number;\n isExpanded: boolean;\n}\n"],"mappings":";AAEA,IAAYA,aAAU,yBAAVA,YAAU;AAAVA,YAAU,aAAA;AAAVA,YAAU,cAAA;AAAVA,YAAU,aAAA;AAAVA,YAAU,WAAA;AAAVA,YAAU,gBAAA;AAAVA,YAAU,eAAA;AAMK,QANfA;EAAU,EAAA,CAAA"}
1
+ {"version":3,"file":"types.js","names":["NodeStatus"],"sources":["../../../../src/ui/components/sidebar/types.ts"],"sourcesContent":["import type { IconName } from \"../../../powerhouse/types.js\";\n\nexport enum NodeStatus {\n CREATED = \"CREATED\",\n MODIFIED = \"MODIFIED\",\n REMOVED = \"REMOVED\",\n MOVED = \"MOVED\",\n DUPLICATED = \"DUPLICATED\",\n UNCHANGED = \"UNCHANGED\", // default\n}\n\nexport type SidebarIcon = IconName | React.ReactElement;\n\nexport interface SidebarNode {\n title: string;\n id: string;\n children?: SidebarNode[];\n icon?: SidebarIcon;\n expandedIcon?: SidebarIcon;\n status?: NodeStatus;\n className?: string;\n}\n\nexport type NodeSortComparisonFn = (\n valueA: string,\n valueB: string,\n) => -1 | 0 | 1;\nexport type NodeSortType = \"alphabetical\" | \"natural\" | NodeSortComparisonFn;\nexport type NodeSortOrder = \"asc\" | \"desc\";\n\nexport interface FlattenedNode extends SidebarNode {\n depth: number;\n isExpanded: boolean;\n}\n"],"mappings":";AAEA,IAAYA,aAAU,uBAAVA,YAAU;CAAVA,WAAU,aAAA;CAAVA,WAAU,cAAA;CAAVA,WAAU,aAAA;CAAVA,WAAU,WAAA;CAAVA,WAAU,gBAAA;CAAVA,WAAU,eAAA;CAMK,OANfA;AAAU,EAAA,CAAA,CAAA"}
@@ -4,7 +4,7 @@
4
4
  * @param ref - The ref of the element to detect ellipsis on
5
5
  * @returns Whether the element's text is truncated with ellipsis
6
6
  */
7
- declare const useEllipsis: <T extends HTMLElement>(ref: React.RefObject<T | null>) => boolean;
7
+ export declare const useEllipsis: <T extends HTMLElement>(ref: React.RefObject<T | null>) => boolean;
8
8
  //#endregion
9
- export { useEllipsis };
9
+ export {};
10
10
  //# sourceMappingURL=use-ellipsis.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-ellipsis.d.ts","names":[],"sources":["../../../../src/ui/components/sidebar/use-ellipsis.ts"],"mappings":";;AAOA;;;;cAAa,WAAA,aAAyB,WAAA,EACpC,GAAA,EAAK,KAAA,CAAM,SAAA,CAAU,CAAA"}
1
+ {"version":3,"file":"use-ellipsis.d.ts","names":[],"sources":["../../../../src/ui/components/sidebar/use-ellipsis.ts"],"mappings":";;;;;;qBAOa,cAAe,UAAU,aAAW,KAC1C,MAAM,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-ellipsis.js","names":["useEffect","useState","useEllipsis","ref","hasEllipsis","setHasEllipsis","element","current","observer","ResizeObserver","offsetWidth","scrollWidth","observe","disconnect"],"sources":["../../../../src/ui/components/sidebar/use-ellipsis.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\n/**\n * Custom hook to detect if an element's text is truncated with ellipsis\n * @param ref - The ref of the element to detect ellipsis on\n * @returns Whether the element's text is truncated with ellipsis\n */\nexport const useEllipsis = <T extends HTMLElement>(\n ref: React.RefObject<T | null>,\n): boolean => {\n const [hasEllipsis, setHasEllipsis] = useState(false);\n\n useEffect(() => {\n const element = ref.current;\n if (!element) return;\n\n const observer = new ResizeObserver(() => {\n setHasEllipsis(element.offsetWidth < element.scrollWidth);\n });\n observer.observe(element);\n\n return () => {\n observer.disconnect();\n };\n }, [ref]);\n\n return hasEllipsis;\n};\n"],"mappings":";;;;;;;AAOA,MAAaE,eACXC,QACY;CACZ,MAAM,CAACC,aAAaC,kBAAkBJ,SAAS,MAAM;AAErDD,iBAAgB;EACd,MAAMM,UAAUH,IAAII;AACpB,MAAI,CAACD,QAAS;EAEd,MAAME,WAAW,IAAIC,qBAAqB;AACxCJ,kBAAeC,QAAQI,cAAcJ,QAAQK,YAAY;IACzD;AACFH,WAASI,QAAQN,QAAQ;AAEzB,eAAa;AACXE,YAASK,YAAY;;IAEtB,CAACV,IAAI,CAAC;AAET,QAAOC"}
1
+ {"version":3,"file":"use-ellipsis.js","names":["useEffect","useState","useEllipsis","ref","hasEllipsis","setHasEllipsis","element","current","observer","ResizeObserver","offsetWidth","scrollWidth","observe","disconnect"],"sources":["../../../../src/ui/components/sidebar/use-ellipsis.ts"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\n/**\n * Custom hook to detect if an element's text is truncated with ellipsis\n * @param ref - The ref of the element to detect ellipsis on\n * @returns Whether the element's text is truncated with ellipsis\n */\nexport const useEllipsis = <T extends HTMLElement>(\n ref: React.RefObject<T | null>,\n): boolean => {\n const [hasEllipsis, setHasEllipsis] = useState(false);\n\n useEffect(() => {\n const element = ref.current;\n if (!element) return;\n\n const observer = new ResizeObserver(() => {\n setHasEllipsis(element.offsetWidth < element.scrollWidth);\n });\n observer.observe(element);\n\n return () => {\n observer.disconnect();\n };\n }, [ref]);\n\n return hasEllipsis;\n};\n"],"mappings":";;;;;;;AAOA,MAAaE,eACXC,QACY;CACZ,MAAM,CAACC,aAAaC,kBAAkBJ,SAAS,KAAK;CAEpDD,gBAAgB;EACd,MAAMM,UAAUH,IAAII;EACpB,IAAI,CAACD,SAAS;EAEd,MAAME,WAAW,IAAIC,qBAAqB;GACxCJ,eAAeC,QAAQI,cAAcJ,QAAQK,WAAW;EAC1D,CAAC;EACDH,SAASI,QAAQN,OAAO;EAExB,aAAa;GACXE,SAASK,WAAW;EACtB;CACF,GAAG,CAACV,GAAG,CAAC;CAER,OAAOC;AACT"}
@@ -1,22 +1,16 @@
1
- import * as react from "react";
2
-
3
1
  //#region src/ui/components/sidebar/use-sidebar-resize.d.ts
4
2
  interface SidebarResizeProps {
5
3
  defaultWidth?: number;
6
4
  minWidth?: number;
7
5
  maxWidth?: number;
8
6
  }
9
- declare const useSidebarResize: ({
10
- defaultWidth,
11
- minWidth,
12
- maxWidth
13
- }: SidebarResizeProps) => {
14
- sidebarRef: react.RefObject<HTMLDivElement | null>;
7
+ export declare const useSidebarResize: ({ defaultWidth, minWidth, maxWidth }: SidebarResizeProps) => {
8
+ sidebarRef: import("react").RefObject<HTMLDivElement | null>;
15
9
  startResizing: () => void;
16
10
  isResizing: boolean;
17
11
  isSidebarOpen: boolean;
18
12
  handleToggleSidebar: () => void;
19
13
  };
20
14
  //#endregion
21
- export { useSidebarResize };
15
+ export {};
22
16
  //# sourceMappingURL=use-sidebar-resize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-sidebar-resize.d.ts","names":[],"sources":["../../../../src/ui/components/sidebar/use-sidebar-resize.ts"],"mappings":";;;UAGU,kBAAA;EACR,YAAA;EACA,QAAA;EACA,QAAA;AAAA;AAAA,cAGW,gBAAA;EAAoB,YAAA;EAAA,QAAA;EAAA;AAAA,GAI9B,kBAAA"}
1
+ {"version":3,"file":"use-sidebar-resize.d.ts","names":[],"sources":["../../../../src/ui/components/sidebar/use-sidebar-resize.ts"],"mappings":";UAGU;EACR;EACA;EACA;;qBAGW,qBAAgB,cAAA,UAAA,YAI1B"}