@powerhousedao/design-system 6.1.0-dev.13 → 6.1.0-dev.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) hide show
  1. package/dist/Removed-CO_5C1ce.js +178 -0
  2. package/dist/Removed-CO_5C1ce.js.map +1 -0
  3. package/dist/Tabler-FjvVqX5a.js +65 -0
  4. package/dist/Tabler-FjvVqX5a.js.map +1 -0
  5. package/dist/{button-49Walvwn.d.ts → button-C8doazjv.d.ts} +1 -1
  6. package/dist/{button-49Walvwn.d.ts.map → button-C8doazjv.d.ts.map} +1 -1
  7. package/dist/{character-counter-BcuG4STA.d.ts → character-counter-BWoglM2P.d.ts} +1 -1
  8. package/dist/{character-counter-BcuG4STA.d.ts.map → character-counter-BWoglM2P.d.ts.map} +1 -1
  9. package/dist/{checkbox-Bxc7-H_k.d.ts → checkbox-CGBtXQnI.d.ts} +3 -3
  10. package/dist/{checkbox-Bxc7-H_k.d.ts.map → checkbox-CGBtXQnI.d.ts.map} +1 -1
  11. package/dist/{checkbox-base-8xXJvAbj.d.ts → checkbox-base-CZo-4eL0.d.ts} +1 -1
  12. package/dist/{checkbox-base-8xXJvAbj.d.ts.map → checkbox-base-CZo-4eL0.d.ts.map} +1 -1
  13. package/dist/{command-BBihfa1C.d.ts → command-tFzjgzge.d.ts} +9 -9
  14. package/dist/command-tFzjgzge.d.ts.map +1 -0
  15. package/dist/connect/components/toast/toast.d.ts.map +1 -1
  16. package/dist/connect/components/toast/toast.js +6 -6
  17. package/dist/connect/components/toast/toast.js.map +1 -1
  18. package/dist/connect/index.d.ts +49 -91
  19. package/dist/connect/index.d.ts.map +1 -1
  20. package/dist/connect/index.js +1032 -843
  21. package/dist/connect/index.js.map +1 -1
  22. package/dist/{content-Ce1V2wTc.d.ts → content-BHWIqmio.d.ts} +2 -2
  23. package/dist/{content-Ce1V2wTc.d.ts.map → content-BHWIqmio.d.ts.map} +1 -1
  24. package/dist/{enum-field-B1rL13j-.d.ts → enum-field-CwZVs3Ux.d.ts} +4 -4
  25. package/dist/{enum-field-B1rL13j-.d.ts.map → enum-field-CwZVs3Ux.d.ts.map} +1 -1
  26. package/dist/{form-B9JNvrH6.d.ts → form-CKRKn0TQ.d.ts} +1 -1
  27. package/dist/{form-B9JNvrH6.d.ts.map → form-CKRKn0TQ.d.ts.map} +1 -1
  28. package/dist/{form-description-BpST5Ww-.d.ts → form-description-CYkcMEzm.d.ts} +1 -1
  29. package/dist/{form-description-BpST5Ww-.d.ts.map → form-description-CYkcMEzm.d.ts.map} +1 -1
  30. package/dist/{form-group-BauWlFkQ.d.ts → form-group-C8kL6pdZ.d.ts} +1 -1
  31. package/dist/form-group-C8kL6pdZ.d.ts.map +1 -0
  32. package/dist/{form-label-Cz_gcj-B.d.ts → form-label-b6nQi0XO.d.ts} +1 -1
  33. package/dist/form-label-b6nQi0XO.d.ts.map +1 -0
  34. package/dist/{form-message-BPqNM4gG.d.ts → form-message-Dq72nBXz.d.ts} +1 -1
  35. package/dist/{form-message-BPqNM4gG.d.ts.map → form-message-Dq72nBXz.d.ts.map} +1 -1
  36. package/dist/{form-server-error-message-CzMQQ8ru.d.ts → form-server-error-message-DXbaiTfF.d.ts} +1 -1
  37. package/dist/{form-server-error-message-CzMQQ8ru.d.ts.map → form-server-error-message-DXbaiTfF.d.ts.map} +1 -1
  38. package/dist/{src-BgKEHW0i.js → icon-C4QOpsdI.js} +14 -964
  39. package/dist/icon-C4QOpsdI.js.map +1 -0
  40. package/dist/{id-autocomplete-ClooY-ur.d.ts → id-autocomplete-C-hwriS5.d.ts} +2 -2
  41. package/dist/{id-autocomplete-ClooY-ur.d.ts.map → id-autocomplete-C-hwriS5.d.ts.map} +1 -1
  42. package/dist/{id-autocomplete-input-container-O7l0T0zJ.d.ts → id-autocomplete-input-container-DFEyPh5p.d.ts} +2 -2
  43. package/dist/{id-autocomplete-input-container-O7l0T0zJ.d.ts.map → id-autocomplete-input-container-DFEyPh5p.d.ts.map} +1 -1
  44. package/dist/{id-autocomplete-list-CpPWWmw0.d.ts → id-autocomplete-list-EzLpF23C.d.ts} +2 -2
  45. package/dist/{id-autocomplete-list-CpPWWmw0.d.ts.map → id-autocomplete-list-EzLpF23C.d.ts.map} +1 -1
  46. package/dist/{id-autocomplete-list-option-QmSvQwgn.d.ts → id-autocomplete-list-option-CB5B07Hi.d.ts} +2 -2
  47. package/dist/{id-autocomplete-list-option-QmSvQwgn.d.ts.map → id-autocomplete-list-option-CB5B07Hi.d.ts.map} +1 -1
  48. package/dist/{index-BEiWWMW2.d.ts → index--hDSfvJT.d.ts} +2 -15
  49. package/dist/index--hDSfvJT.d.ts.map +1 -0
  50. package/dist/index-E7Wvm5uX.d.ts +1 -0
  51. package/dist/index-J3R2mDFQ.d.ts +1 -0
  52. package/dist/index.d.ts +3 -3
  53. package/dist/index.js +3 -2
  54. package/dist/{input-D11GgWGm.d.ts → input-BpEQjaWV.d.ts} +1 -1
  55. package/dist/input-BpEQjaWV.d.ts.map +1 -0
  56. package/dist/{json-viewer-vWp8vOvz.d.ts → json-viewer-DaTgmzkS.d.ts} +1 -1
  57. package/dist/{json-viewer-vWp8vOvz.d.ts.map → json-viewer-DaTgmzkS.d.ts.map} +1 -1
  58. package/dist/{message-list-aysvo-xf.d.ts → message-list-C4mPpBBa.d.ts} +2 -2
  59. package/dist/{message-list-aysvo-xf.d.ts.map → message-list-C4mPpBBa.d.ts.map} +1 -1
  60. package/dist/{popover-glLRVxPS.d.ts → popover-XSBOuSih.d.ts} +1 -1
  61. package/dist/{popover-glLRVxPS.d.ts.map → popover-XSBOuSih.d.ts.map} +1 -1
  62. package/dist/{radio-DZ4xl9oz.d.ts → radio-eL0Oy86J.d.ts} +1 -1
  63. package/dist/{radio-DZ4xl9oz.d.ts.map → radio-eL0Oy86J.d.ts.map} +1 -1
  64. package/dist/{radio-group-DjJbcDzB.d.ts → radio-group-Bkli6nUz.d.ts} +1 -1
  65. package/dist/{radio-group-DjJbcDzB.d.ts.map → radio-group-Bkli6nUz.d.ts.map} +1 -1
  66. package/dist/{radio-group-field-BkD0Nl0j.d.ts → radio-group-field-wlqeiLN3.d.ts} +3 -3
  67. package/dist/{radio-group-field-BkD0Nl0j.d.ts.map → radio-group-field-wlqeiLN3.d.ts.map} +1 -1
  68. package/dist/{search-autocomplete-OeZbE-VN.d.ts → search-autocomplete-BJJkrZ1i.d.ts} +2 -2
  69. package/dist/{search-autocomplete-OeZbE-VN.d.ts.map → search-autocomplete-BJJkrZ1i.d.ts.map} +1 -1
  70. package/dist/{select-field-B9KcyWc1.d.ts → select-field-C97QIhUL.d.ts} +2 -2
  71. package/dist/{select-field-B9KcyWc1.d.ts.map → select-field-C97QIhUL.d.ts.map} +1 -1
  72. package/dist/{selected-content-HHOKK679.d.ts → selected-content-CGsK5PR4.d.ts} +2 -2
  73. package/dist/selected-content-CGsK5PR4.d.ts.map +1 -0
  74. package/dist/sidebar-DOoE4krt.d.ts +102 -0
  75. package/dist/sidebar-DOoE4krt.d.ts.map +1 -0
  76. package/dist/sidebar-provider-C2eyz9TL.d.ts +46 -0
  77. package/dist/sidebar-provider-C2eyz9TL.d.ts.map +1 -0
  78. package/dist/{splitted-input-diff-DZ_0mBKD.d.ts → splitted-input-diff-CwPedpov.d.ts} +2 -2
  79. package/dist/splitted-input-diff-CwPedpov.d.ts.map +1 -0
  80. package/dist/src-BrrPQVce.js +710 -0
  81. package/dist/src-BrrPQVce.js.map +1 -0
  82. package/dist/style.css +84 -4173
  83. package/dist/{text-field-CwxxUhUk.d.ts → text-field-DSInH67J.d.ts} +3 -3
  84. package/dist/{text-field-CwxxUhUk.d.ts.map → text-field-DSInH67J.d.ts.map} +1 -1
  85. package/dist/{text-input-By73a1-n.d.ts → text-input-8zXIWHLi.d.ts} +3 -3
  86. package/dist/{text-input-By73a1-n.d.ts.map → text-input-8zXIWHLi.d.ts.map} +1 -1
  87. package/dist/{text-input-diff-C6OK2A4u.d.ts → text-input-diff-B0vLSKQm.d.ts} +2 -2
  88. package/dist/{text-input-diff-C6OK2A4u.d.ts.map → text-input-diff-B0vLSKQm.d.ts.map} +1 -1
  89. package/dist/{tooltip-Cf5jSzdt.d.ts → tooltip-BxS9HpML.d.ts} +1 -1
  90. package/dist/{tooltip-Cf5jSzdt.d.ts.map → tooltip-BxS9HpML.d.ts.map} +1 -1
  91. package/dist/{types-tThrTH_c.d.ts → types-BTq-St7H.d.ts} +1 -1
  92. package/dist/{types-tThrTH_c.d.ts.map → types-BTq-St7H.d.ts.map} +1 -1
  93. package/dist/{types-BfmDXMrz.d.ts → types-Bsn62tJB.d.ts} +1 -1
  94. package/dist/{types-BfmDXMrz.d.ts.map → types-Bsn62tJB.d.ts.map} +1 -1
  95. package/dist/{types-9JRQnd7a.d.ts → types-C04Q_Fan.d.ts} +1 -1
  96. package/dist/{types-9JRQnd7a.d.ts.map → types-C04Q_Fan.d.ts.map} +1 -1
  97. package/dist/types-CNbvfWjh.d.ts +31 -0
  98. package/dist/types-CNbvfWjh.d.ts.map +1 -0
  99. package/dist/ui/components/button/button.d.ts +1 -1
  100. package/dist/ui/components/button/button.js +3 -3
  101. package/dist/ui/components/button/button.js.map +1 -1
  102. package/dist/ui/components/character-counter/character-counter.d.ts +1 -1
  103. package/dist/ui/components/character-counter/character-counter.js +6 -6
  104. package/dist/ui/components/character-counter/character-counter.js.map +1 -1
  105. package/dist/ui/components/checkbox/checkbox-base.d.ts +1 -1
  106. package/dist/ui/components/checkbox/checkbox-base.js +3 -3
  107. package/dist/ui/components/checkbox/checkbox-base.js.map +1 -1
  108. package/dist/ui/components/checkbox/checkbox.d.ts +1 -1
  109. package/dist/ui/components/checkbox/checkbox.js +4 -4
  110. package/dist/ui/components/checkbox/checkbox.js.map +1 -1
  111. package/dist/ui/components/command/command.d.ts +1 -1
  112. package/dist/ui/components/command/command.js +9 -8
  113. package/dist/ui/components/command/command.js.map +1 -1
  114. package/dist/ui/components/enum-field/enum-field.d.ts +1 -1
  115. package/dist/ui/components/enum-field/types.d.ts +1 -1
  116. package/dist/ui/components/form/form.d.ts +1 -1
  117. package/dist/ui/components/form-description/form-description.d.ts +1 -1
  118. package/dist/ui/components/form-description/form-description.js +2 -2
  119. package/dist/ui/components/form-description/form-description.js.map +1 -1
  120. package/dist/ui/components/form-group/form-group.d.ts +1 -1
  121. package/dist/ui/components/form-label/form-label.d.ts +1 -1
  122. package/dist/ui/components/form-label/form-label.js +5 -4
  123. package/dist/ui/components/form-label/form-label.js.map +1 -1
  124. package/dist/ui/components/form-message/form-message.d.ts +1 -1
  125. package/dist/ui/components/form-message/form-message.js +5 -5
  126. package/dist/ui/components/form-message/form-message.js.map +1 -1
  127. package/dist/ui/components/form-message/form-server-error-message.d.ts +1 -1
  128. package/dist/ui/components/form-message/message-list.d.ts +1 -1
  129. package/dist/ui/components/form-message/message-list.js +6 -6
  130. package/dist/ui/components/form-message/message-list.js.map +1 -1
  131. package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.d.ts +1 -1
  132. package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js +10 -9
  133. package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js.map +1 -1
  134. package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.d.ts +1 -1
  135. package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js +20 -19
  136. package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js.map +1 -1
  137. package/dist/ui/components/id-autocomplete/id-autocomplete-list.d.ts +1 -1
  138. package/dist/ui/components/id-autocomplete/id-autocomplete-list.js +6 -6
  139. package/dist/ui/components/id-autocomplete/id-autocomplete-list.js.map +1 -1
  140. package/dist/ui/components/id-autocomplete/id-autocomplete.d.ts +1 -1
  141. package/dist/ui/components/id-autocomplete/id-autocomplete.js +4 -4
  142. package/dist/ui/components/id-autocomplete/id-autocomplete.js.map +1 -1
  143. package/dist/ui/components/id-autocomplete/types.d.ts +1 -1
  144. package/dist/ui/components/id-autocomplete/use-id-autocomplete.d.ts +1 -1
  145. package/dist/ui/components/index.d.ts +40 -37
  146. package/dist/ui/components/index.js +3 -1
  147. package/dist/ui/components/input/input.d.ts +1 -1
  148. package/dist/ui/components/input/input.js +2 -6
  149. package/dist/ui/components/input/input.js.map +1 -1
  150. package/dist/ui/components/input/splitted-input-diff.d.ts +1 -1
  151. package/dist/ui/components/input/splitted-input-diff.js +12 -11
  152. package/dist/ui/components/input/splitted-input-diff.js.map +1 -1
  153. package/dist/ui/components/input/subcomponent/input-diff.js +2 -2
  154. package/dist/ui/components/input/subcomponent/input-diff.js.map +1 -1
  155. package/dist/ui/components/input/subcomponent/text-diff.d.ts +1 -1
  156. package/dist/ui/components/input/subcomponent/text-diff.js +5 -5
  157. package/dist/ui/components/input/subcomponent/text-diff.js.map +1 -1
  158. package/dist/ui/components/json-viewer/json-viewer.d.ts +1 -1
  159. package/dist/ui/components/popover/popover.d.ts +1 -1
  160. package/dist/ui/components/popover/popover.js +3 -3
  161. package/dist/ui/components/popover/popover.js.map +1 -1
  162. package/dist/ui/components/radio-group-field/radio-group-field.d.ts +1 -1
  163. package/dist/ui/components/radio-group-field/radio-group-field.js +2 -2
  164. package/dist/ui/components/radio-group-field/radio-group-field.js.map +1 -1
  165. package/dist/ui/components/radio-group-field/radio-group.d.ts +1 -1
  166. package/dist/ui/components/radio-group-field/radio.d.ts +1 -1
  167. package/dist/ui/components/radio-group-field/radio.js +4 -4
  168. package/dist/ui/components/radio-group-field/radio.js.map +1 -1
  169. package/dist/ui/components/search-autocomplete/index.d.ts +3 -3
  170. package/dist/ui/components/search-autocomplete/search-autocomplete.d.ts +1 -1
  171. package/dist/ui/components/search-autocomplete/search-autocomplete.js +16 -16
  172. package/dist/ui/components/search-autocomplete/search-autocomplete.js.map +1 -1
  173. package/dist/ui/components/search-autocomplete/types.d.ts +1 -1
  174. package/dist/ui/components/search-autocomplete/use-search-autocomplete.d.ts +1 -1
  175. package/dist/ui/components/select-field/content.d.ts +1 -1
  176. package/dist/ui/components/select-field/content.js +10 -9
  177. package/dist/ui/components/select-field/content.js.map +1 -1
  178. package/dist/ui/components/select-field/select-field.d.ts +1 -1
  179. package/dist/ui/components/select-field/select-field.js +2 -2
  180. package/dist/ui/components/select-field/select-field.js.map +1 -1
  181. package/dist/ui/components/select-field/selected-content.d.ts +1 -1
  182. package/dist/ui/components/select-field/selected-content.js +11 -10
  183. package/dist/ui/components/select-field/selected-content.js.map +1 -1
  184. package/dist/ui/components/select-field/subcomponents/CommandItemList.d.ts +1 -1
  185. package/dist/ui/components/select-field/subcomponents/CommandItemList.d.ts.map +1 -1
  186. package/dist/ui/components/select-field/subcomponents/CommandItemList.js +11 -10
  187. package/dist/ui/components/select-field/subcomponents/CommandItemList.js.map +1 -1
  188. package/dist/ui/components/select-field/use-select-field.d.ts +1 -1
  189. package/dist/ui/components/sidebar/index.d.ts +4 -0
  190. package/dist/ui/components/sidebar/index.js +3 -0
  191. package/dist/ui/components/sidebar/sidebar.d.ts +2 -0
  192. package/dist/ui/components/sidebar/sidebar.js +110 -0
  193. package/dist/ui/components/sidebar/sidebar.js.map +1 -0
  194. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.d.ts +14 -0
  195. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.d.ts.map +1 -0
  196. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js +56 -0
  197. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js.map +1 -0
  198. package/dist/ui/components/sidebar/subcomponents/sidebar-header.d.ts +11 -0
  199. package/dist/ui/components/sidebar/subcomponents/sidebar-header.d.ts.map +1 -0
  200. package/dist/ui/components/sidebar/subcomponents/sidebar-header.js +45 -0
  201. package/dist/ui/components/sidebar/subcomponents/sidebar-header.js.map +1 -0
  202. package/dist/ui/components/sidebar/subcomponents/sidebar-item.d.ts +35 -0
  203. package/dist/ui/components/sidebar/subcomponents/sidebar-item.d.ts.map +1 -0
  204. package/dist/ui/components/sidebar/subcomponents/sidebar-item.js +156 -0
  205. package/dist/ui/components/sidebar/subcomponents/sidebar-item.js.map +1 -0
  206. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.d.ts +7 -0
  207. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.d.ts.map +1 -0
  208. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.js +30 -0
  209. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.js.map +1 -0
  210. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/index.d.ts +2 -0
  211. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/index.js +2 -0
  212. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.d.ts +2 -0
  213. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.js +268 -0
  214. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.js.map +1 -0
  215. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.d.ts +92 -0
  216. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.d.ts.map +1 -0
  217. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.js +107 -0
  218. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.js.map +1 -0
  219. package/dist/ui/components/sidebar/subcomponents/sidebar-search/index.d.ts +4 -0
  220. package/dist/ui/components/sidebar/subcomponents/sidebar-search/index.js +4 -0
  221. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.d.ts +10 -0
  222. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.d.ts.map +1 -0
  223. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.js +22 -0
  224. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.js.map +1 -0
  225. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.d.ts +10 -0
  226. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.d.ts.map +1 -0
  227. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.js +22 -0
  228. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.js.map +1 -0
  229. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.d.ts +8 -0
  230. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.d.ts.map +1 -0
  231. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js +85 -0
  232. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js.map +1 -0
  233. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.d.ts +16 -0
  234. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.d.ts.map +1 -0
  235. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js +21 -0
  236. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js.map +1 -0
  237. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.d.ts +7 -0
  238. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.d.ts.map +1 -0
  239. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.js +63 -0
  240. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.js.map +1 -0
  241. package/dist/ui/components/sidebar/subcomponents/status-icon.d.ts +16 -0
  242. package/dist/ui/components/sidebar/subcomponents/status-icon.d.ts.map +1 -0
  243. package/dist/ui/components/sidebar/subcomponents/status-icon.js +43 -0
  244. package/dist/ui/components/sidebar/subcomponents/status-icon.js.map +1 -0
  245. package/dist/ui/components/sidebar/types.d.ts +2 -0
  246. package/dist/ui/components/sidebar/types.js +14 -0
  247. package/dist/ui/components/sidebar/types.js.map +1 -0
  248. package/dist/ui/components/sidebar/use-ellipsis.d.ts +10 -0
  249. package/dist/ui/components/sidebar/use-ellipsis.d.ts.map +1 -0
  250. package/dist/ui/components/sidebar/use-ellipsis.js +26 -0
  251. package/dist/ui/components/sidebar/use-ellipsis.js.map +1 -0
  252. package/dist/ui/components/sidebar/use-sidebar-resize.d.ts +22 -0
  253. package/dist/ui/components/sidebar/use-sidebar-resize.d.ts.map +1 -0
  254. package/dist/ui/components/sidebar/use-sidebar-resize.js +72 -0
  255. package/dist/ui/components/sidebar/use-sidebar-resize.js.map +1 -0
  256. package/dist/ui/components/sidebar/utils.d.ts +14 -0
  257. package/dist/ui/components/sidebar/utils.d.ts.map +1 -0
  258. package/dist/ui/components/sidebar/utils.js +118 -0
  259. package/dist/ui/components/sidebar/utils.js.map +1 -0
  260. package/dist/ui/components/text-field/text-field.d.ts +1 -1
  261. package/dist/ui/components/text-input/text-input-diff.d.ts +1 -1
  262. package/dist/ui/components/text-input/text-input.d.ts +1 -1
  263. package/dist/ui/components/text-input/text-input.js +2 -2
  264. package/dist/ui/components/text-input/text-input.js.map +1 -1
  265. package/dist/ui/components/text-input/types.d.ts +1 -1
  266. package/dist/ui/components/tooltip/tooltip.d.ts +1 -1
  267. package/dist/ui/components/tooltip/tooltip.js +2 -2
  268. package/dist/ui/components/tooltip/tooltip.js.map +1 -1
  269. package/dist/ui/components/types.d.ts +1 -1
  270. package/dist/ui/components/value-transformer/value-transformer.d.ts +1 -1
  271. package/dist/ui/components/with-field-validation/with-field-validation.d.ts +1 -1
  272. package/dist/ui/index.d.ts +42 -39
  273. package/dist/ui/index.js +3 -1
  274. package/dist/ui/lib/date-picker.d.ts +1 -1
  275. package/dist/ui/lib/shared-value-transformers.d.ts +1 -1
  276. package/dist/ui/lib/types.d.ts +1 -1
  277. package/dist/ui/types.d.ts +2 -2
  278. package/dist/{use-id-autocomplete-BcL_O50p.d.ts → use-id-autocomplete-By7YSChC.d.ts} +2 -2
  279. package/dist/{use-id-autocomplete-BcL_O50p.d.ts.map → use-id-autocomplete-By7YSChC.d.ts.map} +1 -1
  280. package/dist/{use-search-autocomplete-Xf7shCtk.d.ts → use-search-autocomplete-IfcQ_gKh.d.ts} +2 -2
  281. package/dist/{use-search-autocomplete-Xf7shCtk.d.ts.map → use-search-autocomplete-IfcQ_gKh.d.ts.map} +1 -1
  282. package/dist/{value-transformer-DCiU65Qa.d.ts → value-transformer-DQjqtNih.d.ts} +2 -2
  283. package/dist/{value-transformer-DCiU65Qa.d.ts.map → value-transformer-DQjqtNih.d.ts.map} +1 -1
  284. package/dist/{with-field-validation-BIac25Sm.d.ts → with-field-validation-Di5D8vU-.d.ts} +2 -2
  285. package/dist/{with-field-validation-BIac25Sm.d.ts.map → with-field-validation-Di5D8vU-.d.ts.map} +1 -1
  286. package/package.json +9 -5
  287. package/theme.css +60 -14
  288. package/dist/command-BBihfa1C.d.ts.map +0 -1
  289. package/dist/form-group-BauWlFkQ.d.ts.map +0 -1
  290. package/dist/form-label-Cz_gcj-B.d.ts.map +0 -1
  291. package/dist/index-BEiWWMW2.d.ts.map +0 -1
  292. package/dist/input-D11GgWGm.d.ts.map +0 -1
  293. package/dist/selected-content-HHOKK679.d.ts.map +0 -1
  294. package/dist/splitted-input-diff-DZ_0mBKD.d.ts.map +0 -1
  295. package/dist/src-BgKEHW0i.js.map +0 -1
  296. /package/dist/{index-CWsYGvaO.d.ts → index--okzibnx.d.ts} +0 -0
  297. /package/dist/{index-qM4PwHTs.d.ts → index-BLwMeReG.d.ts} +0 -0
  298. /package/dist/{index-uQcTfU6c.d.ts → index-Cw3C7_1f.d.ts} +0 -0
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,22 @@
1
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
+ //#region src/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.tsx
3
+ const SearchResultCounter = ({ isSearching, activeIndex, totalResults }) => {
4
+ if (isSearching) return /* @__PURE__ */ jsx("div", { className: "h-4 w-6 animate-pulse rounded-sm bg-gray-200 dark:bg-slate-800" });
5
+ return /* @__PURE__ */ jsx("div", {
6
+ className: "text-xs",
7
+ children: totalResults > 0 ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("span", {
8
+ className: "text-gray-700 dark:text-slate-50",
9
+ children: activeIndex + 1
10
+ }), /* @__PURE__ */ jsxs("span", {
11
+ className: "text-gray-500 dark:text-slate-700",
12
+ children: ["/", totalResults]
13
+ })] }) : /* @__PURE__ */ jsx("span", {
14
+ className: "text-gray-500 dark:text-slate-700",
15
+ children: "0/0"
16
+ })
17
+ });
18
+ };
19
+ //#endregion
20
+ export { SearchResultCounter };
21
+
22
+ //# sourceMappingURL=search-result-counter.js.map
@@ -0,0 +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 (\n <div className=\"h-4 w-6 animate-pulse rounded-sm bg-gray-200 dark:bg-slate-800\" />\n );\n }\n\n return (\n <div className=\"text-xs\">\n {totalResults > 0 ? (\n <>\n <span className=\"text-gray-700 dark:text-slate-50\">\n {activeIndex + 1}\n </span>\n <span className=\"text-gray-500 dark:text-slate-700\">\n /{totalResults}\n </span>\n </>\n ) : (\n <span className=\"text-gray-500 dark:text-slate-700\">0/0</span>\n )}\n </div>\n );\n};\n"],"mappings":";;AAMA,MAAaA,uBAA2D,EACtEC,aACAC,aACAC,mBACI;AACJ,KAAIF,YACF,QACE,oBAAC,OAAD,EAAK,WAAU,kEAAmE,CAAA;AAItF,QACE,oBAAC,OAAD;EAAK,WAAU;YACZE,eAAe,IACd,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,QAAD;GAAM,WAAU;aACbD,cAAc;GACX,CAAA,EACN,qBAAC,QAAD;GAAM,WAAU;aAAhB,CAAmD,KAC/CC,aACE;KACL,EAAA,CAAA,GAEH,oBAAC,QAAD;GAAM,WAAU;aAAoC;GACrD,CAAA;EACG,CAAA"}
@@ -0,0 +1,8 @@
1
+ //#region src/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.d.ts
2
+ interface SidebarSearchProps {
3
+ showStatusFilter: boolean;
4
+ }
5
+ declare const SidebarSearch: React.FC<SidebarSearchProps>;
6
+ //#endregion
7
+ export { SidebarSearch };
8
+ //# sourceMappingURL=sidebar-search.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,85 @@
1
+ import { n as Search, r as CrossCircle, t as Tabler } from "../../../../../Tabler-FjvVqX5a.js";
2
+ import { Input } from "../../../input/input.js";
3
+ import { useSidebar } from "../sidebar-provider/sidebar-provider.js";
4
+ import { SearchNavigationArrow } from "./search-navigation-arrow.js";
5
+ import { SearchResultCounter } from "./search-result-counter.js";
6
+ import { useLayoutEffect, useRef, useState } from "react";
7
+ import { twMerge } from "tailwind-merge";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ //#region src/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.tsx
10
+ const SidebarSearch = ({ showStatusFilter }) => {
11
+ const { searchTerm, isSearching, searchResults, activeSearchIndex, isStatusFilterEnabled, changeSearchTerm, nextSearchResult, previousSearchResult, toggleStatusFilter } = useSidebar();
12
+ const searchControlsRef = useRef(null);
13
+ const [searchControlsPaddingRight, setSearchControlsPaddingRight] = useState(16);
14
+ useLayoutEffect(() => {
15
+ if (searchControlsRef.current) setSearchControlsPaddingRight(searchControlsRef.current.clientWidth + 16);
16
+ }, [searchTerm]);
17
+ return /* @__PURE__ */ jsxs("div", {
18
+ className: "flex w-full gap-2 border-t border-gray-300 p-2 dark:border-slate-800",
19
+ children: [/* @__PURE__ */ jsxs("div", {
20
+ className: "relative flex-1",
21
+ children: [
22
+ /* @__PURE__ */ jsx(Input, {
23
+ type: "search",
24
+ value: searchTerm,
25
+ onChange: (e) => changeSearchTerm(e.target.value),
26
+ onKeyDown: (e) => {
27
+ if (e.key === "ArrowDown" || e.key === "Enter") nextSearchResult();
28
+ else if (e.key === "ArrowUp") previousSearchResult();
29
+ },
30
+ tabIndex: 1,
31
+ placeholder: "Search",
32
+ className: "w-full appearance-none pl-8 [&::-webkit-search-cancel-button]:hidden",
33
+ style: { paddingRight: searchControlsPaddingRight }
34
+ }),
35
+ /* @__PURE__ */ jsx(Search, {
36
+ height: 16,
37
+ width: 16,
38
+ className: "absolute top-1/2 left-2 -translate-y-1/2 text-gray-700 dark:text-slate-50"
39
+ }),
40
+ searchTerm && /* @__PURE__ */ jsxs("div", {
41
+ ref: searchControlsRef,
42
+ className: "absolute top-1/2 right-2 flex -translate-y-1/2 items-center gap-2 select-none",
43
+ children: [
44
+ /* @__PURE__ */ jsx(SearchResultCounter, {
45
+ isSearching,
46
+ activeIndex: activeSearchIndex,
47
+ totalResults: searchResults.length
48
+ }),
49
+ /* @__PURE__ */ jsxs("div", {
50
+ className: "flex flex-col text-gray-500 dark:text-slate-700",
51
+ children: [/* @__PURE__ */ jsx(SearchNavigationArrow, {
52
+ direction: "up",
53
+ isDisabled: activeSearchIndex === 0,
54
+ onClick: previousSearchResult
55
+ }), /* @__PURE__ */ jsx(SearchNavigationArrow, {
56
+ direction: "down",
57
+ isDisabled: activeSearchIndex === searchResults.length - 1,
58
+ onClick: nextSearchResult
59
+ })]
60
+ }),
61
+ /* @__PURE__ */ jsx(CrossCircle, {
62
+ onClick: () => changeSearchTerm(""),
63
+ height: 16,
64
+ width: 16,
65
+ className: "cursor-pointer text-gray-500 hover:text-gray-700 active:text-gray-900 dark:text-slate-700 dark:hover:text-slate-600 dark:active:text-slate-300"
66
+ })
67
+ ]
68
+ })
69
+ ]
70
+ }), showStatusFilter && /* @__PURE__ */ jsx("button", {
71
+ type: "button",
72
+ onClick: toggleStatusFilter,
73
+ tabIndex: 1,
74
+ className: twMerge("rounded-md border border-gray-300 px-2 py-1 text-sm text-gray-500", isStatusFilterEnabled ? "border-blue-500 bg-blue-100 text-blue-900" : "hover:bg-gray-100 hover:text-gray-700"),
75
+ children: /* @__PURE__ */ jsx(Tabler, {
76
+ height: 16,
77
+ width: 16
78
+ })
79
+ })]
80
+ });
81
+ };
82
+ //#endregion
83
+ export { SidebarSearch };
84
+
85
+ //# sourceMappingURL=sidebar-search.js.map
@@ -0,0 +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-gray-300 p-2 dark:border-slate-800\">\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-gray-700 dark:text-slate-50\"\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-gray-500 dark:text-slate-700\">\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-gray-500 hover:text-gray-700 active:text-gray-900 dark:text-slate-700 dark:hover:text-slate-600 dark:active:text-slate-300\"\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-gray-300 px-2 py-1 text-sm text-gray-500\",\n isStatusFilterEnabled\n ? \"border-blue-500 bg-blue-100 text-blue-900\"\n : \"hover:bg-gray-100 hover:text-gray-700\",\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;KAA2E,CAAA;IAItFV,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;OAAgJ,CAAA;MAG/J;;IACE;MAEJN,oBACC,oBAAC,UAAD;GACE,MAAK;GACL,SAASS;GACT,UAAU;GACV,WAAWlB,QACT,qEACAc,wBACI,8CACA,wCACL;aAED,oBAAC,QAAD;IAAQ,QAAQ;IAAI,OAAO;IAAG,CAAA;GAEjC,CAAA,CACG"}
@@ -0,0 +1,16 @@
1
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+
3
+ //#region src/ui/components/sidebar/subcomponents/sidebar-skeleton-item.d.ts
4
+ interface SidebarSkeletonItemProps {
5
+ depth: number;
6
+ textWidth: string;
7
+ style?: React.CSSProperties;
8
+ }
9
+ declare const SidebarSkeletonItem: ({
10
+ depth,
11
+ textWidth,
12
+ style
13
+ }: SidebarSkeletonItemProps) => react_jsx_runtime0.JSX.Element;
14
+ //#endregion
15
+ export { SidebarSkeletonItem };
16
+ //# sourceMappingURL=sidebar-skeleton-item.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,21 @@
1
+ import { twMerge } from "tailwind-merge";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ //#region src/ui/components/sidebar/subcomponents/sidebar-skeleton-item.tsx
4
+ const SidebarSkeletonItem = ({ depth, textWidth, style }) => {
5
+ return /* @__PURE__ */ jsx("div", {
6
+ style,
7
+ className: "flex items-center px-2",
8
+ children: /* @__PURE__ */ jsxs("div", {
9
+ className: "flex h-8 w-full items-center gap-2 px-2 py-1",
10
+ style: { paddingLeft: depth * 24 + 8 },
11
+ children: [/* @__PURE__ */ jsx("div", {
12
+ className: "flex size-4 min-w-4 items-center justify-center",
13
+ children: /* @__PURE__ */ jsx("div", { className: "size-4 min-w-4 animate-pulse rounded-sm bg-gray-200 dark:bg-slate-600" })
14
+ }), /* @__PURE__ */ jsx("div", { className: twMerge("h-4 animate-pulse rounded-sm bg-gray-200 dark:bg-slate-600", textWidth) })]
15
+ })
16
+ });
17
+ };
18
+ //#endregion
19
+ export { SidebarSkeletonItem };
20
+
21
+ //# sourceMappingURL=sidebar-skeleton-item.js.map
@@ -0,0 +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-gray-200 dark:bg-slate-600\" />\n </div>\n\n {/* Text content skeleton */}\n <div\n className={twMerge(\n \"h-4 animate-pulse rounded-sm bg-gray-200 dark:bg-slate-600\",\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,yEAAuE,CAAA;IACnF,CAAA,EAGL,oBAAC,OAAD,EACE,WAAWF,QACT,8DACAG,UACD,EAAC,CAAA,CAED;;EACD,CAAA"}
@@ -0,0 +1,7 @@
1
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
2
+
3
+ //#region src/ui/components/sidebar/subcomponents/sidebar-skeleton.d.ts
4
+ declare const SidebarSkeleton: () => react_jsx_runtime0.JSX.Element;
5
+ //#endregion
6
+ export { SidebarSkeleton };
7
+ //# sourceMappingURL=sidebar-skeleton.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,63 @@
1
+ import { SidebarSkeletonItem } from "./sidebar-skeleton-item.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ //#region src/ui/components/sidebar/subcomponents/sidebar-skeleton.tsx
4
+ const skeletonItems = [
5
+ {
6
+ depth: 0,
7
+ textWidth: "w-32"
8
+ },
9
+ {
10
+ depth: 1,
11
+ textWidth: "w-28"
12
+ },
13
+ {
14
+ depth: 1,
15
+ textWidth: "w-36"
16
+ },
17
+ {
18
+ depth: 2,
19
+ textWidth: "w-24"
20
+ },
21
+ {
22
+ depth: 2,
23
+ textWidth: "w-30"
24
+ },
25
+ {
26
+ depth: 0,
27
+ textWidth: "w-40"
28
+ },
29
+ {
30
+ depth: 1,
31
+ textWidth: "w-26"
32
+ },
33
+ {
34
+ depth: 1,
35
+ textWidth: "w-34"
36
+ },
37
+ {
38
+ depth: 2,
39
+ textWidth: "w-22"
40
+ },
41
+ {
42
+ depth: 0,
43
+ textWidth: "w-38"
44
+ }
45
+ ];
46
+ const SidebarSkeleton = () => {
47
+ return /* @__PURE__ */ jsx("div", {
48
+ className: "flex-1 overflow-hidden p-2",
49
+ role: "status",
50
+ "aria-label": "Loading sidebar content",
51
+ children: /* @__PURE__ */ jsx("div", {
52
+ className: "flex flex-col gap-2",
53
+ children: skeletonItems.map((item, index) => /* @__PURE__ */ jsx(SidebarSkeletonItem, {
54
+ depth: item.depth,
55
+ textWidth: item.textWidth
56
+ }, index))
57
+ })
58
+ });
59
+ };
60
+ //#endregion
61
+ export { SidebarSkeleton };
62
+
63
+ //# sourceMappingURL=sidebar-skeleton.js.map
@@ -0,0 +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"}
@@ -0,0 +1,16 @@
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
+
5
+ //#region src/ui/components/sidebar/subcomponents/status-icon.d.ts
6
+ interface StatusIconProps {
7
+ status: NodeStatus;
8
+ isDescendenceModified?: boolean;
9
+ }
10
+ declare const StatusIcon: ({
11
+ status,
12
+ isDescendenceModified
13
+ }: StatusIconProps) => string | number | bigint | boolean | react_jsx_runtime0.JSX.Element | Iterable<react.ReactNode> | Promise<string | number | bigint | boolean | react.ReactPortal | react.ReactElement<unknown, string | react.JSXElementConstructor<any>> | Iterable<react.ReactNode> | null | undefined> | null | undefined;
14
+ //#endregion
15
+ export { StatusIcon };
16
+ //# sourceMappingURL=status-icon.d.ts.map
@@ -0,0 +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,kBAAA,CAAA,GAAA,CAAA,OAAA,GAAA,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"}
@@ -0,0 +1,43 @@
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";
2
+ import { NodeStatus } from "../types.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/ui/components/sidebar/subcomponents/status-icon.tsx
5
+ const STATUS_ICON_MAP = {
6
+ [NodeStatus.CREATED]: { icon: /* @__PURE__ */ jsx(Created, {
7
+ height: 16,
8
+ width: 16,
9
+ className: "text-green-900"
10
+ }) },
11
+ [NodeStatus.MODIFIED]: { icon: /* @__PURE__ */ jsx(Modified, {
12
+ height: 16,
13
+ width: 16,
14
+ className: "text-blue-900"
15
+ }) },
16
+ [NodeStatus.REMOVED]: { icon: /* @__PURE__ */ jsx(Removed, {
17
+ height: 16,
18
+ width: 16,
19
+ className: "text-red-900"
20
+ }) },
21
+ [NodeStatus.MOVED]: { icon: /* @__PURE__ */ jsx(Moved, {
22
+ height: 16,
23
+ width: 16,
24
+ className: "text-blue-900"
25
+ }) },
26
+ [NodeStatus.DUPLICATED]: { icon: /* @__PURE__ */ jsx(Duplicated, {
27
+ height: 16,
28
+ width: 16,
29
+ className: "text-blue-900"
30
+ }) }
31
+ };
32
+ const StatusIcon = ({ status, isDescendenceModified }) => {
33
+ if (status === NodeStatus.UNCHANGED) return isDescendenceModified ? /* @__PURE__ */ jsx(DescendenceModified, {
34
+ height: 16,
35
+ width: 16,
36
+ className: "text-gray-500"
37
+ }) : null;
38
+ return STATUS_ICON_MAP[status].icon;
39
+ };
40
+ //#endregion
41
+ export { StatusIcon };
42
+
43
+ //# sourceMappingURL=status-icon.js.map
@@ -0,0 +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-green-900\" />,\n },\n [NodeStatus.MODIFIED]: {\n icon: <Modified height={16} width={16} className=\"text-blue-900\" />,\n },\n [NodeStatus.REMOVED]: {\n icon: <Removed height={16} width={16} className=\"text-red-900\" />,\n },\n [NodeStatus.MOVED]: {\n icon: <Moved height={16} width={16} className=\"text-blue-900\" />,\n },\n [NodeStatus.DUPLICATED]: {\n icon: <Duplicated height={16} width={16} className=\"text-blue-900\" />,\n },\n};\n\nexport const StatusIcon = ({\n status,\n isDescendenceModified,\n}: StatusIconProps) => {\n if (status === NodeStatus.UNCHANGED) {\n return isDescendenceModified ? (\n <DescendenceModified height={16} width={16} className=\"text-gray-500\" />\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;EAAgB,CAAA,EACjE;EACAH,WAAWI,WAAW,EACrBD,MAAM,oBAAC,UAAD;EAAU,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAe,CAAA,EACjE;EACAH,WAAWK,UAAU,EACpBF,MAAM,oBAAC,SAAD;EAAS,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAc,CAAA,EAC/D;EACAH,WAAWM,QAAQ,EAClBH,MAAM,oBAAC,OAAD;EAAO,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAe,CAAA,EAC9D;EACAH,WAAWO,aAAa,EACvBJ,MAAM,oBAAC,YAAD;EAAY,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAe,CAAA,EACpE;CACD;AAED,MAAaK,cAAc,EACzBC,QACAC,4BACqB;AACrB,KAAID,WAAWT,WAAWW,UACxB,QAAOD,wBACL,oBAAC,qBAAD;EAAqB,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAkB,CAAA,GACtE;AAGN,QAAOT,gBAAgBQ,QAAQN"}
@@ -0,0 +1,2 @@
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 };
@@ -0,0 +1,14 @@
1
+ //#region src/ui/components/sidebar/types.ts
2
+ let NodeStatus = /* @__PURE__ */ function(NodeStatus) {
3
+ NodeStatus["CREATED"] = "CREATED";
4
+ NodeStatus["MODIFIED"] = "MODIFIED";
5
+ NodeStatus["REMOVED"] = "REMOVED";
6
+ NodeStatus["MOVED"] = "MOVED";
7
+ NodeStatus["DUPLICATED"] = "DUPLICATED";
8
+ NodeStatus["UNCHANGED"] = "UNCHANGED";
9
+ return NodeStatus;
10
+ }({});
11
+ //#endregion
12
+ export { NodeStatus };
13
+
14
+ //# sourceMappingURL=types.js.map
@@ -0,0 +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"}
@@ -0,0 +1,10 @@
1
+ //#region src/ui/components/sidebar/use-ellipsis.d.ts
2
+ /**
3
+ * Custom hook to detect if an element's text is truncated with ellipsis
4
+ * @param ref - The ref of the element to detect ellipsis on
5
+ * @returns Whether the element's text is truncated with ellipsis
6
+ */
7
+ declare const useEllipsis: <T extends HTMLElement>(ref: React.RefObject<T | null>) => boolean;
8
+ //#endregion
9
+ export { useEllipsis };
10
+ //# sourceMappingURL=use-ellipsis.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,26 @@
1
+ import { useEffect, useState } from "react";
2
+ //#region src/ui/components/sidebar/use-ellipsis.ts
3
+ /**
4
+ * Custom hook to detect if an element's text is truncated with ellipsis
5
+ * @param ref - The ref of the element to detect ellipsis on
6
+ * @returns Whether the element's text is truncated with ellipsis
7
+ */
8
+ const useEllipsis = (ref) => {
9
+ const [hasEllipsis, setHasEllipsis] = useState(false);
10
+ useEffect(() => {
11
+ const element = ref.current;
12
+ if (!element) return;
13
+ const observer = new ResizeObserver(() => {
14
+ setHasEllipsis(element.offsetWidth < element.scrollWidth);
15
+ });
16
+ observer.observe(element);
17
+ return () => {
18
+ observer.disconnect();
19
+ };
20
+ }, [ref]);
21
+ return hasEllipsis;
22
+ };
23
+ //#endregion
24
+ export { useEllipsis };
25
+
26
+ //# sourceMappingURL=use-ellipsis.js.map
@@ -0,0 +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"}
@@ -0,0 +1,22 @@
1
+ import * as react from "react";
2
+
3
+ //#region src/ui/components/sidebar/use-sidebar-resize.d.ts
4
+ interface SidebarResizeProps {
5
+ defaultWidth?: number;
6
+ minWidth?: number;
7
+ maxWidth?: number;
8
+ }
9
+ declare const useSidebarResize: ({
10
+ defaultWidth,
11
+ minWidth,
12
+ maxWidth
13
+ }: SidebarResizeProps) => {
14
+ sidebarRef: react.RefObject<HTMLDivElement | null>;
15
+ startResizing: () => void;
16
+ isResizing: boolean;
17
+ isSidebarOpen: boolean;
18
+ handleToggleSidebar: () => void;
19
+ };
20
+ //#endregion
21
+ export { useSidebarResize };
22
+ //# sourceMappingURL=use-sidebar-resize.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,72 @@
1
+ import { triggerEvent } from "./utils.js";
2
+ import { useCallback, useEffect, useRef, useState } from "react";
3
+ //#region src/ui/components/sidebar/use-sidebar-resize.ts
4
+ const useSidebarResize = ({ defaultWidth = 300, minWidth = 100, maxWidth }) => {
5
+ const [isResizing, setIsResizing] = useState(false);
6
+ const [sidebarWidth, setSidebarWidth] = useState(Math.max(defaultWidth, minWidth));
7
+ const sidebarRef = useRef(null);
8
+ const [isSidebarOpen, setIsSidebarOpen] = useState(true);
9
+ const handleToggleSidebar = useCallback(() => {
10
+ const newState = !isSidebarOpen;
11
+ setIsSidebarOpen(newState);
12
+ triggerEvent("sidebar:resize:toggle", { isSidebarOpen: newState }, sidebarRef.current);
13
+ }, [isSidebarOpen]);
14
+ useEffect(() => {
15
+ const width = isSidebarOpen ? sidebarWidth : 8;
16
+ document.documentElement.style.setProperty("--sidebar-width", `${width}px`);
17
+ }, [isSidebarOpen, sidebarWidth]);
18
+ const startResizing = useCallback(() => {
19
+ if (!isSidebarOpen) return;
20
+ setIsResizing(true);
21
+ triggerEvent("sidebar:resize:start", { isSidebarOpen }, sidebarRef.current);
22
+ }, [isSidebarOpen]);
23
+ const stopResizing = useCallback(() => {
24
+ if (!isResizing) return;
25
+ setIsResizing(false);
26
+ triggerEvent("sidebar:resize", {
27
+ isSidebarOpen,
28
+ sidebarWidth: isSidebarOpen ? sidebarWidth : 8
29
+ }, sidebarRef.current);
30
+ }, [
31
+ isResizing,
32
+ isSidebarOpen,
33
+ sidebarWidth
34
+ ]);
35
+ const resize = useCallback((mouseMoveEvent) => {
36
+ if (!isResizing || !sidebarRef.current) return;
37
+ const sidebarLeft = sidebarRef.current.getBoundingClientRect().left;
38
+ let newWidth = mouseMoveEvent.clientX - sidebarLeft;
39
+ newWidth = Math.max(newWidth, minWidth);
40
+ if (maxWidth !== void 0) newWidth = Math.min(newWidth, maxWidth);
41
+ setSidebarWidth(newWidth);
42
+ triggerEvent("sidebar:resize:active", {
43
+ isSidebarOpen,
44
+ sidebarWidth: newWidth
45
+ }, sidebarRef.current);
46
+ }, [
47
+ isResizing,
48
+ minWidth,
49
+ maxWidth,
50
+ isSidebarOpen
51
+ ]);
52
+ useEffect(() => {
53
+ if (typeof window === "undefined") return;
54
+ window.addEventListener("mousemove", resize);
55
+ window.addEventListener("mouseup", stopResizing);
56
+ return () => {
57
+ window.removeEventListener("mousemove", resize);
58
+ window.removeEventListener("mouseup", stopResizing);
59
+ };
60
+ }, [resize, stopResizing]);
61
+ return {
62
+ sidebarRef,
63
+ startResizing,
64
+ isResizing,
65
+ isSidebarOpen,
66
+ handleToggleSidebar
67
+ };
68
+ };
69
+ //#endregion
70
+ export { useSidebarResize };
71
+
72
+ //# sourceMappingURL=use-sidebar-resize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sidebar-resize.js","names":["useCallback","useEffect","useRef","useState","triggerEvent","useSidebarResize","defaultWidth","minWidth","maxWidth","isResizing","setIsResizing","sidebarWidth","setSidebarWidth","Math","max","sidebarRef","isSidebarOpen","setIsSidebarOpen","handleToggleSidebar","newState","current","width","document","documentElement","style","setProperty","startResizing","stopResizing","resize","mouseMoveEvent","sidebarLeft","getBoundingClientRect","left","newWidth","clientX","undefined","min","window","addEventListener","removeEventListener"],"sources":["../../../../src/ui/components/sidebar/use-sidebar-resize.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from \"react\";\nimport { triggerEvent } from \"./utils.js\";\n\ninterface SidebarResizeProps {\n defaultWidth?: number;\n minWidth?: number;\n maxWidth?: number;\n}\n\nexport const useSidebarResize = ({\n defaultWidth = 300,\n minWidth = 100,\n maxWidth,\n}: SidebarResizeProps) => {\n const [isResizing, setIsResizing] = useState<boolean>(false);\n\n const [sidebarWidth, setSidebarWidth] = useState<number>(\n Math.max(defaultWidth, minWidth),\n );\n\n const sidebarRef = useRef<HTMLDivElement>(null);\n\n const [isSidebarOpen, setIsSidebarOpen] = useState<boolean>(true);\n\n const handleToggleSidebar = useCallback(() => {\n const newState = !isSidebarOpen;\n setIsSidebarOpen(newState);\n\n // Trigger custom event for external listeners\n triggerEvent(\n \"sidebar:resize:toggle\",\n { isSidebarOpen: newState },\n sidebarRef.current,\n );\n }, [isSidebarOpen]);\n\n // Update CSS variable when sidebar width or open state changes\n useEffect(() => {\n const width = isSidebarOpen ? sidebarWidth : 8;\n document.documentElement.style.setProperty(\"--sidebar-width\", `${width}px`);\n }, [isSidebarOpen, sidebarWidth]);\n\n const startResizing = useCallback(() => {\n if (!isSidebarOpen) return;\n\n setIsResizing(true);\n\n // Trigger custom event for external listeners\n triggerEvent(\"sidebar:resize:start\", { isSidebarOpen }, sidebarRef.current);\n }, [isSidebarOpen]);\n\n const stopResizing = useCallback(() => {\n if (!isResizing) return;\n\n setIsResizing(false);\n\n // Trigger custom event for external listeners\n triggerEvent(\n \"sidebar:resize\",\n {\n isSidebarOpen,\n sidebarWidth: isSidebarOpen ? sidebarWidth : 8,\n },\n sidebarRef.current,\n );\n }, [isResizing, isSidebarOpen, sidebarWidth]);\n\n const resize = useCallback(\n (mouseMoveEvent: MouseEvent) => {\n if (!isResizing || !sidebarRef.current) return;\n\n const sidebarLeft = sidebarRef.current.getBoundingClientRect().left;\n let newWidth = mouseMoveEvent.clientX - sidebarLeft;\n\n newWidth = Math.max(newWidth, minWidth);\n if (maxWidth !== undefined) {\n newWidth = Math.min(newWidth, maxWidth);\n }\n\n setSidebarWidth(newWidth);\n\n // Trigger custom event for external listeners\n triggerEvent(\n \"sidebar:resize:active\",\n {\n isSidebarOpen,\n sidebarWidth: newWidth,\n },\n sidebarRef.current,\n );\n },\n [isResizing, minWidth, maxWidth, isSidebarOpen],\n );\n\n // Set up and clean up event listeners for resize operation\n useEffect(() => {\n if (typeof window === \"undefined\") return;\n\n window.addEventListener(\"mousemove\", resize);\n window.addEventListener(\"mouseup\", stopResizing);\n\n return () => {\n window.removeEventListener(\"mousemove\", resize);\n window.removeEventListener(\"mouseup\", stopResizing);\n };\n }, [resize, stopResizing]);\n\n return {\n sidebarRef,\n startResizing,\n isResizing,\n isSidebarOpen,\n handleToggleSidebar,\n };\n};\n"],"mappings":";;;AASA,MAAaK,oBAAoB,EAC/BC,eAAe,KACfC,WAAW,KACXC,eACwB;CACxB,MAAM,CAACC,YAAYC,iBAAiBP,SAAkB,MAAM;CAE5D,MAAM,CAACQ,cAAcC,mBAAmBT,SACtCU,KAAKC,IAAIR,cAAcC,SACzB,CAAC;CAED,MAAMQ,aAAab,OAAuB,KAAK;CAE/C,MAAM,CAACc,eAAeC,oBAAoBd,SAAkB,KAAK;CAEjE,MAAMe,sBAAsBlB,kBAAkB;EAC5C,MAAMmB,WAAW,CAACH;AAClBC,mBAAiBE,SAAS;AAG1Bf,eACE,yBACA,EAAEY,eAAeG,UAAU,EAC3BJ,WAAWK,QACZ;IACA,CAACJ,cAAc,CAAC;AAGnBf,iBAAgB;EACd,MAAMoB,QAAQL,gBAAgBL,eAAe;AAC7CW,WAASC,gBAAgBC,MAAMC,YAAY,mBAAmB,GAAGJ,MAAK,IAAK;IAC1E,CAACL,eAAeL,aAAa,CAAC;CAEjC,MAAMe,gBAAgB1B,kBAAkB;AACtC,MAAI,CAACgB,cAAe;AAEpBN,gBAAc,KAAK;AAGnBN,eAAa,wBAAwB,EAAEY,eAAe,EAAED,WAAWK,QAAQ;IAC1E,CAACJ,cAAc,CAAC;CAEnB,MAAMW,eAAe3B,kBAAkB;AACrC,MAAI,CAACS,WAAY;AAEjBC,gBAAc,MAAM;AAGpBN,eACE,kBACA;GACEY;GACAL,cAAcK,gBAAgBL,eAAe;GAC9C,EACDI,WAAWK,QACZ;IACA;EAACX;EAAYO;EAAeL;EAAa,CAAC;CAE7C,MAAMiB,SAAS5B,aACZ6B,mBAA+B;AAC9B,MAAI,CAACpB,cAAc,CAACM,WAAWK,QAAS;EAExC,MAAMU,cAAcf,WAAWK,QAAQW,uBAAuB,CAACC;EAC/D,IAAIC,WAAWJ,eAAeK,UAAUJ;AAExCG,aAAWpB,KAAKC,IAAImB,UAAU1B,SAAS;AACvC,MAAIC,aAAa2B,KAAAA,EACfF,YAAWpB,KAAKuB,IAAIH,UAAUzB,SAAS;AAGzCI,kBAAgBqB,SAAS;AAGzB7B,eACE,yBACA;GACEY;GACAL,cAAcsB;GACf,EACDlB,WAAWK,QACZ;IAEH;EAACX;EAAYF;EAAUC;EAAUQ;EACnC,CAAC;AAGDf,iBAAgB;AACd,MAAI,OAAOoC,WAAW,YAAa;AAEnCA,SAAOC,iBAAiB,aAAaV,OAAO;AAC5CS,SAAOC,iBAAiB,WAAWX,aAAa;AAEhD,eAAa;AACXU,UAAOE,oBAAoB,aAAaX,OAAO;AAC/CS,UAAOE,oBAAoB,WAAWZ,aAAa;;IAEpD,CAACC,QAAQD,aAAa,CAAC;AAE1B,QAAO;EACLZ;EACAW;EACAjB;EACAO;EACAE;EACD"}
@@ -0,0 +1,14 @@
1
+ import { a as NodeStatus, i as NodeSortType, r as NodeSortOrder, s as SidebarNode } from "../../../types-CNbvfWjh.js";
2
+
3
+ //#region src/ui/components/sidebar/utils.d.ts
4
+ declare const nodesSearch: (nodes: SidebarNode[], searchTerm: string, searchType?: "bfs" | "dfs") => SidebarNode[];
5
+ declare const getOpenLevels: (items: SidebarNode[], level: number) => Set<string>;
6
+ declare const isOpenLevel: (items: SidebarNode[], expandedNodes: Set<string>, level: number) => boolean;
7
+ declare const getNodePath: (items: SidebarNode[], nodeId: string) => SidebarNode[] | null;
8
+ declare const getMaxDepth: (items: SidebarNode[]) => number;
9
+ declare const filterStatuses: (nodes: SidebarNode[], statuses: NodeStatus[]) => SidebarNode[];
10
+ declare const triggerEvent: (eventType: string, data: unknown, element?: Document | HTMLElement | null) => void;
11
+ declare const sortNodes: (nodes: SidebarNode[], sortType: NodeSortType, sortOrder: NodeSortOrder) => SidebarNode[];
12
+ //#endregion
13
+ export { filterStatuses, getMaxDepth, getNodePath, getOpenLevels, isOpenLevel, nodesSearch, sortNodes, triggerEvent };
14
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","names":[],"sources":["../../../../src/ui/components/sidebar/utils.ts"],"mappings":";;;cAQa,WAAA,GACX,KAAA,EAAO,WAAA,IACP,UAAA,UACA,UAAA,qBACC,WAAA;AAAA,cAmDU,aAAA,GACX,KAAA,EAAO,WAAA,IACP,KAAA,aACC,GAAA;AAAA,cAsBU,WAAA,GACX,KAAA,EAAO,WAAA,IACP,aAAA,EAAe,GAAA,UACf,KAAA;AAAA,cAuCW,WAAA,GACX,KAAA,EAAO,WAAA,IACP,MAAA,aACC,WAAA;AAAA,cA2CU,WAAA,GAAe,KAAA,EAAO,WAAA;AAAA,cA2BtB,cAAA,GACX,KAAA,EAAO,WAAA,IACP,QAAA,EAAU,UAAA,OACT,WAAA;AAAA,cA6BU,YAAA,GACX,SAAA,UACA,IAAA,WACA,OAAA,GAAS,QAAA,GAAW,WAAA;AAAA,cAgBT,SAAA,GACX,KAAA,EAAO,WAAA,IACP,QAAA,EAAU,YAAA,EACV,SAAA,EAAW,aAAA,KACV,WAAA"}