@powerhousedao/design-system 6.1.0-dev.2 → 6.1.0-dev.21

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 (303) 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-dqrYEK5V.d.ts → checkbox-CGBtXQnI.d.ts} +3 -3
  10. package/dist/{checkbox-dqrYEK5V.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-DFzB66Ou.d.ts} +5 -5
  14. package/dist/command-DFzB66Ou.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 +55 -91
  19. package/dist/connect/index.d.ts.map +1 -1
  20. package/dist/connect/index.js +1056 -857
  21. package/dist/connect/index.js.map +1 -1
  22. package/dist/{content-OpXUtrTe.d.ts → content-BHWIqmio.d.ts} +2 -2
  23. package/dist/{content-OpXUtrTe.d.ts.map → content-BHWIqmio.d.ts.map} +1 -1
  24. package/dist/{enum-field-CjTSTf1e.d.ts → enum-field-UxIet5Lp.d.ts} +3 -3
  25. package/dist/{enum-field-CjTSTf1e.d.ts.map → enum-field-UxIet5Lp.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-BgCjYazJ.js → icon-C4QOpsdI.js} +14 -964
  39. package/dist/icon-C4QOpsdI.js.map +1 -0
  40. package/dist/{id-autocomplete-jkaREmPP.d.ts → id-autocomplete-C-hwriS5.d.ts} +2 -2
  41. package/dist/{id-autocomplete-jkaREmPP.d.ts.map → id-autocomplete-C-hwriS5.d.ts.map} +1 -1
  42. package/dist/{id-autocomplete-input-container-NIuWfCB_.d.ts → id-autocomplete-input-container-DFEyPh5p.d.ts} +2 -2
  43. package/dist/{id-autocomplete-input-container-NIuWfCB_.d.ts.map → id-autocomplete-input-container-DFEyPh5p.d.ts.map} +1 -1
  44. package/dist/{id-autocomplete-list-Bi2IXdXg.d.ts → id-autocomplete-list-EzLpF23C.d.ts} +2 -2
  45. package/dist/{id-autocomplete-list-Bi2IXdXg.d.ts.map → id-autocomplete-list-EzLpF23C.d.ts.map} +1 -1
  46. package/dist/{id-autocomplete-list-option-CA9HIqEh.d.ts → id-autocomplete-list-option-CB5B07Hi.d.ts} +2 -2
  47. package/dist/{id-autocomplete-list-option-CA9HIqEh.d.ts.map → id-autocomplete-list-option-CB5B07Hi.d.ts.map} +1 -1
  48. package/dist/{index-DtPJq-vz.d.ts → index--hDSfvJT.d.ts} +3 -16
  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-DNapUn2b.d.ts → radio-group-field-wlqeiLN3.d.ts} +3 -3
  67. package/dist/{radio-group-field-DNapUn2b.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-BClhLm83.d.ts → select-field-C97QIhUL.d.ts} +2 -2
  71. package/dist/{select-field-BClhLm83.d.ts.map → select-field-C97QIhUL.d.ts.map} +1 -1
  72. package/dist/{selected-content-q33DjCYy.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-Ch6IKdEa.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-Cx-EfZP6.d.ts → text-field-DSInH67J.d.ts} +3 -3
  84. package/dist/{text-field-Cx-EfZP6.d.ts.map → text-field-DSInH67J.d.ts.map} +1 -1
  85. package/dist/{text-input-DUddj4-C.d.ts → text-input-8zXIWHLi.d.ts} +3 -3
  86. package/dist/{text-input-DUddj4-C.d.ts.map → text-input-8zXIWHLi.d.ts.map} +1 -1
  87. package/dist/{text-input-diff-4i2zuulO.d.ts → text-input-diff-B0vLSKQm.d.ts} +2 -2
  88. package/dist/{text-input-diff-4i2zuulO.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/form.js +1 -1
  118. package/dist/ui/components/form/form.js.map +1 -1
  119. package/dist/ui/components/form-description/form-description.d.ts +1 -1
  120. package/dist/ui/components/form-description/form-description.js +2 -2
  121. package/dist/ui/components/form-description/form-description.js.map +1 -1
  122. package/dist/ui/components/form-group/form-group.d.ts +1 -1
  123. package/dist/ui/components/form-label/form-label.d.ts +1 -1
  124. package/dist/ui/components/form-label/form-label.js +5 -4
  125. package/dist/ui/components/form-label/form-label.js.map +1 -1
  126. package/dist/ui/components/form-message/form-message.d.ts +1 -1
  127. package/dist/ui/components/form-message/form-message.js +5 -5
  128. package/dist/ui/components/form-message/form-message.js.map +1 -1
  129. package/dist/ui/components/form-message/form-server-error-message.d.ts +1 -1
  130. package/dist/ui/components/form-message/message-list.d.ts +1 -1
  131. package/dist/ui/components/form-message/message-list.js +6 -6
  132. package/dist/ui/components/form-message/message-list.js.map +1 -1
  133. package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.d.ts +1 -1
  134. package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js +10 -9
  135. package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js.map +1 -1
  136. package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.d.ts +1 -1
  137. package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js +20 -19
  138. package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js.map +1 -1
  139. package/dist/ui/components/id-autocomplete/id-autocomplete-list.d.ts +1 -1
  140. package/dist/ui/components/id-autocomplete/id-autocomplete-list.js +6 -6
  141. package/dist/ui/components/id-autocomplete/id-autocomplete-list.js.map +1 -1
  142. package/dist/ui/components/id-autocomplete/id-autocomplete.d.ts +1 -1
  143. package/dist/ui/components/id-autocomplete/id-autocomplete.js +4 -4
  144. package/dist/ui/components/id-autocomplete/id-autocomplete.js.map +1 -1
  145. package/dist/ui/components/id-autocomplete/types.d.ts +1 -1
  146. package/dist/ui/components/id-autocomplete/use-id-autocomplete.d.ts +1 -1
  147. package/dist/ui/components/index.d.ts +40 -37
  148. package/dist/ui/components/index.js +3 -1
  149. package/dist/ui/components/input/input.d.ts +1 -1
  150. package/dist/ui/components/input/input.js +2 -6
  151. package/dist/ui/components/input/input.js.map +1 -1
  152. package/dist/ui/components/input/splitted-input-diff.d.ts +1 -1
  153. package/dist/ui/components/input/splitted-input-diff.js +12 -11
  154. package/dist/ui/components/input/splitted-input-diff.js.map +1 -1
  155. package/dist/ui/components/input/subcomponent/input-diff.js +2 -2
  156. package/dist/ui/components/input/subcomponent/input-diff.js.map +1 -1
  157. package/dist/ui/components/input/subcomponent/text-diff.d.ts +1 -1
  158. package/dist/ui/components/input/subcomponent/text-diff.js +5 -5
  159. package/dist/ui/components/input/subcomponent/text-diff.js.map +1 -1
  160. package/dist/ui/components/json-viewer/json-viewer.d.ts +1 -1
  161. package/dist/ui/components/popover/popover.d.ts +1 -1
  162. package/dist/ui/components/popover/popover.js +3 -3
  163. package/dist/ui/components/popover/popover.js.map +1 -1
  164. package/dist/ui/components/radio-group-field/radio-group-field.d.ts +1 -1
  165. package/dist/ui/components/radio-group-field/radio-group-field.js +2 -2
  166. package/dist/ui/components/radio-group-field/radio-group-field.js.map +1 -1
  167. package/dist/ui/components/radio-group-field/radio-group.d.ts +1 -1
  168. package/dist/ui/components/radio-group-field/radio.d.ts +1 -1
  169. package/dist/ui/components/radio-group-field/radio.js +4 -4
  170. package/dist/ui/components/radio-group-field/radio.js.map +1 -1
  171. package/dist/ui/components/search-autocomplete/index.d.ts +3 -3
  172. package/dist/ui/components/search-autocomplete/search-autocomplete.d.ts +1 -1
  173. package/dist/ui/components/search-autocomplete/search-autocomplete.js +16 -16
  174. package/dist/ui/components/search-autocomplete/search-autocomplete.js.map +1 -1
  175. package/dist/ui/components/search-autocomplete/types.d.ts +1 -1
  176. package/dist/ui/components/search-autocomplete/use-search-autocomplete.d.ts +1 -1
  177. package/dist/ui/components/search-autocomplete/use-search-autocomplete.js.map +1 -1
  178. package/dist/ui/components/select-field/content.d.ts +1 -1
  179. package/dist/ui/components/select-field/content.js +10 -9
  180. package/dist/ui/components/select-field/content.js.map +1 -1
  181. package/dist/ui/components/select-field/select-field.d.ts +1 -1
  182. package/dist/ui/components/select-field/select-field.js +2 -2
  183. package/dist/ui/components/select-field/select-field.js.map +1 -1
  184. package/dist/ui/components/select-field/selected-content.d.ts +1 -1
  185. package/dist/ui/components/select-field/selected-content.js +11 -10
  186. package/dist/ui/components/select-field/selected-content.js.map +1 -1
  187. package/dist/ui/components/select-field/subcomponents/CommandItemList.d.ts +1 -1
  188. package/dist/ui/components/select-field/subcomponents/CommandItemList.d.ts.map +1 -1
  189. package/dist/ui/components/select-field/subcomponents/CommandItemList.js +11 -10
  190. package/dist/ui/components/select-field/subcomponents/CommandItemList.js.map +1 -1
  191. package/dist/ui/components/select-field/use-select-field.d.ts +1 -1
  192. package/dist/ui/components/sidebar/index.d.ts +4 -0
  193. package/dist/ui/components/sidebar/index.js +3 -0
  194. package/dist/ui/components/sidebar/sidebar.d.ts +2 -0
  195. package/dist/ui/components/sidebar/sidebar.js +110 -0
  196. package/dist/ui/components/sidebar/sidebar.js.map +1 -0
  197. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.d.ts +14 -0
  198. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.d.ts.map +1 -0
  199. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js +56 -0
  200. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js.map +1 -0
  201. package/dist/ui/components/sidebar/subcomponents/sidebar-header.d.ts +11 -0
  202. package/dist/ui/components/sidebar/subcomponents/sidebar-header.d.ts.map +1 -0
  203. package/dist/ui/components/sidebar/subcomponents/sidebar-header.js +45 -0
  204. package/dist/ui/components/sidebar/subcomponents/sidebar-header.js.map +1 -0
  205. package/dist/ui/components/sidebar/subcomponents/sidebar-item.d.ts +35 -0
  206. package/dist/ui/components/sidebar/subcomponents/sidebar-item.d.ts.map +1 -0
  207. package/dist/ui/components/sidebar/subcomponents/sidebar-item.js +156 -0
  208. package/dist/ui/components/sidebar/subcomponents/sidebar-item.js.map +1 -0
  209. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.d.ts +7 -0
  210. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.d.ts.map +1 -0
  211. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.js +30 -0
  212. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.js.map +1 -0
  213. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/index.d.ts +2 -0
  214. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/index.js +2 -0
  215. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.d.ts +2 -0
  216. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.js +268 -0
  217. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-provider.js.map +1 -0
  218. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.d.ts +92 -0
  219. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.d.ts.map +1 -0
  220. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.js +107 -0
  221. package/dist/ui/components/sidebar/subcomponents/sidebar-provider/sidebar-reducer.js.map +1 -0
  222. package/dist/ui/components/sidebar/subcomponents/sidebar-search/index.d.ts +4 -0
  223. package/dist/ui/components/sidebar/subcomponents/sidebar-search/index.js +4 -0
  224. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.d.ts +10 -0
  225. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.d.ts.map +1 -0
  226. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.js +22 -0
  227. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.js.map +1 -0
  228. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.d.ts +10 -0
  229. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.d.ts.map +1 -0
  230. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.js +22 -0
  231. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.js.map +1 -0
  232. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.d.ts +8 -0
  233. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.d.ts.map +1 -0
  234. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js +85 -0
  235. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js.map +1 -0
  236. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.d.ts +16 -0
  237. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.d.ts.map +1 -0
  238. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js +21 -0
  239. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js.map +1 -0
  240. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.d.ts +7 -0
  241. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.d.ts.map +1 -0
  242. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.js +63 -0
  243. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton.js.map +1 -0
  244. package/dist/ui/components/sidebar/subcomponents/status-icon.d.ts +16 -0
  245. package/dist/ui/components/sidebar/subcomponents/status-icon.d.ts.map +1 -0
  246. package/dist/ui/components/sidebar/subcomponents/status-icon.js +43 -0
  247. package/dist/ui/components/sidebar/subcomponents/status-icon.js.map +1 -0
  248. package/dist/ui/components/sidebar/types.d.ts +2 -0
  249. package/dist/ui/components/sidebar/types.js +14 -0
  250. package/dist/ui/components/sidebar/types.js.map +1 -0
  251. package/dist/ui/components/sidebar/use-ellipsis.d.ts +10 -0
  252. package/dist/ui/components/sidebar/use-ellipsis.d.ts.map +1 -0
  253. package/dist/ui/components/sidebar/use-ellipsis.js +26 -0
  254. package/dist/ui/components/sidebar/use-ellipsis.js.map +1 -0
  255. package/dist/ui/components/sidebar/use-sidebar-resize.d.ts +22 -0
  256. package/dist/ui/components/sidebar/use-sidebar-resize.d.ts.map +1 -0
  257. package/dist/ui/components/sidebar/use-sidebar-resize.js +72 -0
  258. package/dist/ui/components/sidebar/use-sidebar-resize.js.map +1 -0
  259. package/dist/ui/components/sidebar/utils.d.ts +14 -0
  260. package/dist/ui/components/sidebar/utils.d.ts.map +1 -0
  261. package/dist/ui/components/sidebar/utils.js +118 -0
  262. package/dist/ui/components/sidebar/utils.js.map +1 -0
  263. package/dist/ui/components/text-field/text-field.d.ts +1 -1
  264. package/dist/ui/components/text-input/text-input-diff.d.ts +1 -1
  265. package/dist/ui/components/text-input/text-input.d.ts +1 -1
  266. package/dist/ui/components/text-input/text-input.js +2 -2
  267. package/dist/ui/components/text-input/text-input.js.map +1 -1
  268. package/dist/ui/components/text-input/types.d.ts +1 -1
  269. package/dist/ui/components/tooltip/tooltip.d.ts +1 -1
  270. package/dist/ui/components/tooltip/tooltip.js +2 -2
  271. package/dist/ui/components/tooltip/tooltip.js.map +1 -1
  272. package/dist/ui/components/types.d.ts +1 -1
  273. package/dist/ui/components/value-transformer/value-transformer.d.ts +1 -1
  274. package/dist/ui/components/with-field-validation/with-field-validation.d.ts +1 -1
  275. package/dist/ui/components/with-field-validation/with-field-validation.js +1 -1
  276. package/dist/ui/components/with-field-validation/with-field-validation.js.map +1 -1
  277. package/dist/ui/index.d.ts +42 -39
  278. package/dist/ui/index.js +3 -1
  279. package/dist/ui/lib/date-picker.d.ts +1 -1
  280. package/dist/ui/lib/shared-value-transformers.d.ts +1 -1
  281. package/dist/ui/lib/types.d.ts +1 -1
  282. package/dist/ui/types.d.ts +2 -2
  283. package/dist/{use-id-autocomplete-BPHVmVE8.d.ts → use-id-autocomplete-By7YSChC.d.ts} +2 -2
  284. package/dist/{use-id-autocomplete-BPHVmVE8.d.ts.map → use-id-autocomplete-By7YSChC.d.ts.map} +1 -1
  285. package/dist/{use-search-autocomplete-Xf7shCtk.d.ts → use-search-autocomplete-IfcQ_gKh.d.ts} +2 -2
  286. package/dist/{use-search-autocomplete-Xf7shCtk.d.ts.map → use-search-autocomplete-IfcQ_gKh.d.ts.map} +1 -1
  287. package/dist/{value-transformer-DCiU65Qa.d.ts → value-transformer-DQjqtNih.d.ts} +2 -2
  288. package/dist/{value-transformer-DCiU65Qa.d.ts.map → value-transformer-DQjqtNih.d.ts.map} +1 -1
  289. package/dist/{with-field-validation-vt0l1Sp7.d.ts → with-field-validation-Di5D8vU-.d.ts} +2 -2
  290. package/dist/{with-field-validation-vt0l1Sp7.d.ts.map → with-field-validation-Di5D8vU-.d.ts.map} +1 -1
  291. package/package.json +9 -5
  292. package/theme.css +60 -14
  293. package/dist/command-BBihfa1C.d.ts.map +0 -1
  294. package/dist/form-group-BauWlFkQ.d.ts.map +0 -1
  295. package/dist/form-label-Cz_gcj-B.d.ts.map +0 -1
  296. package/dist/index-DtPJq-vz.d.ts.map +0 -1
  297. package/dist/input-D11GgWGm.d.ts.map +0 -1
  298. package/dist/selected-content-q33DjCYy.d.ts.map +0 -1
  299. package/dist/splitted-input-diff-Ch6IKdEa.d.ts.map +0 -1
  300. package/dist/src-BgCjYazJ.js.map +0 -1
  301. /package/dist/{index-CWsYGvaO.d.ts → index--okzibnx.d.ts} +0 -0
  302. /package/dist/{index-qM4PwHTs.d.ts → index-BLwMeReG.d.ts} +0 -0
  303. /package/dist/{index-uQcTfU6c.d.ts → index-Cw3C7_1f.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"src-BrrPQVce.js","names":["forwardRef","twJoin","twMerge","PowerhouseButton","props","ref","color","size","className","children","icon","iconPosition","delegatedProps","sizeStyles","small","medium","colorStyles","light","dark","red","blue","colorAndSizeStyle","finalClassName","Content","Item","Label","Portal","Root","Trigger","forwardRef","DropdownMenu","DropdownMenuTrigger","DropdownMenuContent","children","delegatedProps","forwardedRef","DropdownMenuLabel","DropdownMenuItem","Content","Description","Overlay","Portal","Root","Title","VisuallyHidden","twMerge","Modal","props","title","open","onOpenChange","contentProps","overlayProps","children","delegated","className","useEffect","useRef","useState","FRAME_DURATION","HOLD_LAST_FRAME","frames","color","PackageAnimation","animate","loop","size","onComplete","frameIndex","setFrameIndex","timerRef","isRunning","current","totalFrames","length","tick","setTimeout","clearTimeout","display","alignItems","justifyContent","width","height","flexShrink","transform","transformOrigin","twMerge","PowerhouseButton","PaginationButton","active","props","className","propClassName","restProps","mergedClassName","children","Icon","PaginationButton","Pagination","props","pages","goToFirstPage","goToLastPage","goToNextPage","goToPreviousPage","goToPage","isNextPageAvailable","isPreviousPageAvailable","hiddenNextPages","firstPageLabel","lastPageLabel","nextPageLabel","previousPageLabel","map","page","active","index","number","useEffect","useRef","useState","twMerge","SidebarPanel","className","children","props","hasScroll","setHasScroll","checkContentScroll","target","scrollHeight","scrollTop","clientHeight","containerRef","current","observer","ResizeObserver","entries","entry","pop","observe","disconnect","e","currentTarget","boxShadow","useRef","twMerge","SidebarHeader","className","props","SidebarFooter","Sidebar","maxWidth","_maxWidth","minWidth","children","ref","width","useCallback","useLayoutEffect","useRef","useState","ReactDOM","useEnterAnimation","ref","isReady","isEntering","setEntering","useAnimation","useExitAnimation","isOpen","isExiting","setExiting","exitState","setExitState","current","isActive","onEnd","prevAnimation","window","getComputedStyle","animation","computedStyle","animationName","onAnimationEnd","e","target","element","removeEventListener","flushSync","addEventListener","useCallback","useMemo","useState","usePagination","items","options","itemsPerPage","initialPage","pageRange","currentPage","setCurrentPage","pageCount","Math","ceil","length","isNextPageAvailable","isPreviousPageAvailable","goToNextPage","prev","goToPreviousPage","goToLastPage","goToFirstPage","goToPage","page","pageOffset","floor","availableRange","min","maxStartIndex","max","startIndex","pages","range","i","push","index","active","number","pageItems","slice","hiddenNextPages","useEffect","useState","useWindowSize","windowSize","setWindowSize","innerWidth","window","innerHeight","windowSizeHandler","addEventListener","removeEventListener"],"sources":["../src/powerhouse/components/button/button.tsx","../src/powerhouse/components/dropdown-menu/dropdown-menu.tsx","../src/powerhouse/components/modal/modal.tsx","../src/powerhouse/components/package-animation/package-animation.tsx","../src/powerhouse/components/pagination/pagination-button.tsx","../src/powerhouse/components/pagination/pagination.tsx","../src/powerhouse/components/sidebar/sidebar-panel.tsx","../src/powerhouse/components/sidebar/sidebar.tsx","../src/powerhouse/hooks/animation.ts","../src/powerhouse/hooks/usePagination.ts","../src/powerhouse/hooks/useWindowSize.ts"],"sourcesContent":["import type { ComponentPropsWithRef, ForwardedRef } from \"react\";\nimport { forwardRef } from \"react\";\nimport { twJoin, twMerge } from \"tailwind-merge\";\n\nexport type PowerhouseButtonProps = ComponentPropsWithRef<\"button\"> & {\n readonly color?: \"light\" | \"dark\" | \"red\" | \"blue\";\n readonly size?: \"small\" | \"medium\";\n readonly icon?: React.JSX.Element;\n readonly iconPosition?: \"left\" | \"right\";\n};\n\nexport const PowerhouseButton = forwardRef(function PowerhouseButton(\n props: PowerhouseButtonProps,\n ref: ForwardedRef<HTMLButtonElement>,\n) {\n const {\n color = \"dark\",\n size = \"medium\",\n className = \"\",\n children,\n icon,\n iconPosition = \"left\",\n ...delegatedProps\n } = props;\n\n const sizeStyles = {\n small: \"px-2 py-1.5 text-xs rounded-md font-medium\",\n medium: \"px-6 py-3 text-base rounded-xl font-semibold tracking-wide\",\n };\n\n const colorStyles = {\n light:\n \"bg-gray-200 text-gray-700 hover:text-gray-800 hover:border-gray-300 active:border-gray-100 active:text-gray-700 disabled:text-gray-400 dark:bg-slate-600 dark:hover:border-slate-500 dark:active:border-slate-500 dark:disabled:text-slate-500 dark:hover:bg-slate-600 dark:active:bg-slate-600 dark:text-slate-100 dark:hover:text-slate-100 dark:active:text-slate-100\",\n dark: \"bg-gray-800 text-gray-50 hover:bg-gray-800 active:border-gray-700 disabled:bg-gray-300 disabled:text-gray-100 dark:bg-slate-100 dark:text-slate-900 dark:hover:bg-slate-100 dark:active:border-slate-200 dark:disabled:bg-slate-600 dark:disabled:text-slate-100\",\n red: \"bg-red-900 text-gray-50 hover:opacity-80 active:border-red-800 disabled:text-red-400 disabled:opacity-100 dark:bg-red-50 dark:text-slate-900 dark:active:border-red-100 dark:disabled:text-red-100\",\n blue: \"bg-blue-900 text-gray-50 hover:opacity-80 active:border-blue-800 disabled:text-blue-400 disabled:opacity-100 dark:bg-blue-50 dark:text-slate-900 dark:active:border-blue-100 dark:disabled:text-blue-100\",\n };\n\n const colorAndSizeStyle = twJoin(colorStyles[color], sizeStyles[size]);\n\n const finalClassName = twMerge(\n \"flex items-center justify-center gap-2 border border-none transition outline-none disabled:cursor-not-allowed\",\n colorAndSizeStyle,\n className,\n );\n\n return (\n <button className={finalClassName} ref={ref} {...delegatedProps}>\n {iconPosition === \"left\" && icon}\n {children}\n {iconPosition === \"right\" && icon}\n </button>\n );\n});\n","import type {\n DropdownMenuContentProps,\n DropdownMenuProps,\n} from \"@radix-ui/react-dropdown-menu\";\nimport {\n Content,\n Item,\n Label,\n Portal,\n Root,\n Trigger,\n} from \"@radix-ui/react-dropdown-menu\";\nimport type { ForwardedRef } from \"react\";\nimport { forwardRef } from \"react\";\n\nexport const DropdownMenu: React.FC<DropdownMenuProps> = Root;\nexport const DropdownMenuTrigger = Trigger;\n\nexport const DropdownMenuContent = forwardRef(function DropdownMenuContent(\n { children, ...delegatedProps }: DropdownMenuContentProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n) {\n return (\n <Portal>\n <Content {...delegatedProps} ref={forwardedRef}>\n {children}\n </Content>\n </Portal>\n );\n});\n\nexport const DropdownMenuLabel = Label;\nexport const DropdownMenuItem = Item;\n","import {\n Content,\n Description,\n Overlay,\n Portal,\n Root,\n Title,\n} from \"@radix-ui/react-dialog\";\nimport { Root as VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\nimport type { ComponentPropsWithoutRef } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\ntype Props = {\n readonly title?: string;\n readonly children?: React.ReactNode;\n readonly open?: boolean;\n readonly onOpenChange?: (open: boolean) => void;\n readonly overlayProps?: ComponentPropsWithoutRef<typeof Overlay>;\n readonly contentProps?: ComponentPropsWithoutRef<typeof Content>;\n};\nexport function Modal(props: Props) {\n const {\n title,\n open,\n onOpenChange,\n contentProps,\n overlayProps,\n children,\n ...delegated\n } = props;\n return (\n <Root defaultOpen={open} onOpenChange={onOpenChange} open={open}>\n <Portal>\n <Overlay\n {...overlayProps}\n className={twMerge(\n \"fixed inset-0 grid place-items-center overflow-y-auto bg-slate-50/50 data-[state=closed]:animate-fade-out data-[state=open]:animate-fade-in dark:bg-slate-900/90\",\n overlayProps?.className,\n )}\n >\n <Content\n {...delegated}\n {...contentProps}\n className={twMerge(\n \"overflow-hidden rounded-3xl bg-gray-50 data-[state=closed]:animate-zoom-out data-[state=open]:animate-zoom-in dark:bg-slate-700\",\n contentProps?.className,\n )}\n >\n <VisuallyHidden>\n <Title>{title || \"Modal\"}</Title>\n <Description>{title || \"Modal\"}</Description>\n </VisuallyHidden>\n {children}\n </Content>\n </Overlay>\n </Portal>\n </Root>\n );\n}\n","import { useEffect, useRef, useState } from \"react\";\n\nconst FRAME_DURATION = 60;\nconst HOLD_LAST_FRAME = 800;\n\nconst frames = [\n // frame 1\n (color: string) => (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M15.3998 27.782C15.6431 27.9224 15.919 27.9963 16.1998 27.9963C16.4807 27.9963 16.7566 27.9224 16.9998 27.782L22.5997 24.5821C22.8427 24.4418 23.0445 24.24 23.1849 23.9971C23.3253 23.7542 23.3994 23.4787 23.3996 23.1981V16.7982C23.3994 16.5177 23.3253 16.2421 23.1849 15.9992C23.0445 15.7563 22.8427 15.5546 22.5997 15.4143L16.9998 12.2144C16.7566 12.0739 16.4807 12 16.1998 12C15.919 12 15.6431 12.0739 15.3998 12.2144L9.79998 15.4143C9.557 15.5546 9.35518 15.7563 9.21476 15.9992C9.07435 16.2421 9.00029 16.5177 9 16.7982V23.1981C9.00029 23.4787 9.07435 23.7542 9.21476 23.9971C9.35518 24.24 9.557 24.4418 9.79998 24.5821L15.3999 27.782Z\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.1997 27.9979V19.998\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M9.23193 15.9985L16.1998 19.9984L23.1676 15.9985\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M12.6001 13.8145L19.7999 17.9344\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n ),\n // frame 2\n (color: string) => (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M19.7996 13.8145L16.8801 15.5\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M12.9998 14L18.9998 17.5\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M16.1998 27.9963C16.4807 27.9963 16.7566 27.9224 16.9998 27.782L22.5997 24.5821C22.8427 24.4418 23.0445 24.24 23.1849 23.9971C23.3253 23.7542 23.3994 23.4787 23.3997 23.1981V16.7982C23.3994 16.5177 23.3253 16.2421 23.1849 15.9992C23.0445 15.7563 22.8427 15.5546 22.5997 15.4143L16.9998 12.2144C16.7566 12.0739 16.4807 12 16.1998 12C15.919 12 15.6431 12.0739 15.3999 12.2144L9.79999 15.4143C9.55701 15.5546 9 16 9 16.5L9.00001 20.5V23.1981C9.0003 23.4787 9.07436 23.7542 9.21477 23.9971C9.35518 24.24 9.55701 24.4418 9.79999 24.5821L15.3999 27.782C15.6431 27.9224 15.919 27.9963 16.1998 27.9963Z\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.1997 27.9979V19.998\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M23.1677 15.9985L16.1999 19.9984L9.23207 15.9985\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.001 11.8061V9.76617C16.001 8.98888 16.8489 8.50877 17.5155 8.90867L22.4298 11.8572C23.0322 12.2186 23.4008 12.8697 23.4008 13.5722V16.8833\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n />\n </svg>\n ),\n // frame 3\n (color: string) => (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.00001 20.5V23.1981C9.0003 23.4787 9.07436 23.7542 9.21477 23.9971C9.35518 24.24 9.55701 24.4418 9.79999 24.5821L15.3999 27.782C15.6431 27.9224 15.919 27.9963 16.1998 27.9963C16.4807 27.9963 16.7566 27.9224 16.9998 27.782L22.5997 24.5821C22.8427 24.4418 23.0445 24.24 23.1849 23.9971C23.3253 23.7542 23.3994 23.4787 23.3997 23.1981V16.7982C23.3994 16.5177 23.3253 16.2421 23.1849 15.9992C23.0445 15.7563 22.8427 15.5546 22.5997 15.4143L16.9998 12.2144C16.7566 12.0739 16.4807 12 16.1998 12C15.919 12 15.6431 12.0739 15.3999 12.2144\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.2 27.9979V19.998\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M23.1677 15.9985L16.1999 19.9984L9.23207 15.9985\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M19.7998 13.8145L16.0143 16\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.5002 19.7472L24.1167 15.3498C24.385 15.1982 24.6081 14.978 24.7634 14.7118C24.9187 14.4456 25.0005 14.143 25.0005 13.8348C25.0005 13.5266 24.9187 13.224 24.7634 12.9578C24.6081 12.6916 24.385 12.4715 24.1167 12.3198L20.3291 10.1915C20.1045 10.0659 19.8515 10 19.5941 10C19.3368 10 19.0837 10.0659 18.8591 10.1915L12.5487 13.8348\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M9.00024 20.8833V13.7662C9.00024 12.9889 9.84821 12.5088 10.5147 12.9087L15.2265 15.7357C15.8289 16.0971 16.1975 16.7481 16.1975 17.4507V20.7618\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n />\n </svg>\n ),\n // frame 4\n (color: string) => (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M9.79998 15.4143L15.3998 12.2144C15.6431 12.0739 15.919 12 16.1998 12C16.4807 12 16.7566 12.0739 16.9998 12.2144L22.5997 15.4143C22.8427 15.5546 23.0445 15.7563 23.1849 15.9992C23.3253 16.2421 23.3994 16.5177 23.3996 16.7982V23.1981C23.3994 23.4787 23.3253 23.7542 23.1849 23.9971C23.0445 24.24 22.8427 24.4418 22.5997 24.5821L16.9998 27.782C16.7566 27.9224 16.4807 27.9963 16.1998 27.9963C15.919 27.9963 15.6431 27.9224 15.3998 27.782L9.79998 24.5821C9.557 24.4418 9.35518 24.24 9.21476 23.9971C9.07435 23.7542 9.00029 23.4787 9 23.1981V19.9982\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.1997 27.9979V19.998\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M9.23193 15.9985L16.1998 19.9984L23.1676 15.9985\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M19.0996 14L12.5997 17.7527\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M18.8589 10.0099C19.0835 9.8843 19.3365 9.81836 19.5939 9.81836C19.8512 9.81836 20.1042 9.8843 20.3289 10.0099L24.1165 12.1381C24.3847 12.2898 24.6079 12.51 24.7632 12.7762C24.9185 13.0424 25.0003 13.345 25.0003 13.6532C25.0003 13.9613 24.9185 14.264 24.7632 14.5301C24.6079 14.7963 24.3847 15.0165 24.1165 15.1682L13.1324 21.3546C12.9071 21.4831 12.6522 21.5506 12.3929 21.5506C12.1335 21.5506 11.8787 21.4831 11.6534 21.3546L7.88378 19.2263C7.61553 19.0746 7.39237 18.8544 7.23709 18.5883C7.08182 18.3221 7 18.0194 7 17.7113C7 17.4031 7.08182 17.1005 7.23709 16.8343C7.39237 16.5681 7.61553 16.3479 7.88378 16.1963L18.8589 10.0099Z\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.2463 11.1364L16.2179 8.7419C16.2087 7.96996 15.3654 7.49911 14.7034 7.89629L9.98488 10.7274C9.37494 11.0933 9.00526 11.7557 9.01401 12.467L9.04907 15.3181\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n />\n </svg>\n ),\n // frame 5\n (color: string) => (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M23.1849 15.9993C23.3253 16.2422 23.3994 16.5177 23.3996 16.7983V23.1982C23.3994 23.4787 23.3253 23.7543 23.1849 23.9972C23.0445 24.2401 22.8427 24.4418 22.5997 24.5821L16.9998 27.782C16.7566 27.9225 16.4807 27.9964 16.1998 27.9964C15.919 27.9964 15.6431 27.9225 15.3998 27.782L9.79998 24.5821C9.557 24.4418 9.35518 24.2401 9.21476 23.9972C9.07435 23.7543 9.00029 23.4787 9 23.1982V20.5001\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.1997 27.9979V19.998\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M18.8589 10.2045C19.0835 10.0789 19.3365 10.0129 19.5939 10.0129C19.8512 10.0129 20.1042 10.0789 20.3289 10.2045L24.1165 12.3327C24.3847 12.4844 24.6079 12.7046 24.7632 12.9708C24.9185 13.2369 25.0003 13.5396 25.0003 13.8477C25.0003 14.1559 24.9185 14.4585 24.7632 14.7247C24.6079 14.9909 24.3847 15.2111 24.1165 15.3628L13.1324 21.5491C12.9071 21.6776 12.6522 21.7452 12.3929 21.7452C12.1335 21.7452 11.8787 21.6776 11.6534 21.5491L7.88378 19.4209C7.61553 19.2692 7.39237 19.049 7.23709 18.7828C7.08182 18.5167 7 18.214 7 17.9059C7 17.5977 7.08182 17.2951 7.23709 17.0289C7.39237 16.7627 7.61553 16.5425 7.88378 16.3908L18.8589 10.2045Z\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M18.8649 13.5L13.1414 10.1956C12.9176 10.0674 12.6642 10 12.4064 10C12.1485 10 11.8952 10.0674 11.6714 10.1956L7.88378 12.3328C7.61553 12.4845 7.39237 12.7047 7.23709 12.9709C7.08182 13.2371 7 13.5397 7 13.8479C7 14.156 7.08182 14.4587 7.23709 14.7248C7.39237 14.991 7.61553 15.2112 7.88378 15.3629L16 20\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M23.1972 15.5L23.1972 12.7662C23.1972 11.9889 22.3493 11.5088 21.6827 11.9087L16.971 14.7357C16.3686 15.0971 16 15.7482 16 16.4507L16.0001 19.5\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n />\n </svg>\n ),\n // frame 6\n (color: string) => (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M23.3996 20V23.1982C23.3994 23.4788 23.3253 23.7543 23.1849 23.9972C23.0445 24.2401 22.8427 24.4419 22.5997 24.5821L16.9998 27.7821C16.7566 27.9225 16.4807 27.9964 16.1998 27.9964C15.919 27.9964 15.6431 27.9225 15.3998 27.7821L9.79998 24.5821C9.557 24.4419 9.35518 24.2401 9.21476 23.9972C9.07435 23.7543 9.00029 23.4788 9 23.1982V20.5001\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.1997 27.9979V19.998\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M18.8589 10.2045C19.0835 10.0789 19.3365 10.0129 19.5939 10.0129C19.8512 10.0129 20.1042 10.0789 20.3289 10.2045L24.1165 12.3327C24.3847 12.4844 24.6079 12.7046 24.7632 12.9708C24.9185 13.2369 25.0003 13.5396 25.0003 13.8477C25.0003 14.1559 24.9185 14.4585 24.7632 14.7247C24.6079 14.9909 24.3847 15.2111 24.1165 15.3628L13.1324 21.5491C12.9071 21.6776 12.6522 21.7452 12.3929 21.7452C12.1335 21.7452 11.8787 21.6776 11.6534 21.5491L7.88378 19.4209C7.61553 19.2692 7.39237 19.049 7.23709 18.7828C7.08182 18.5167 7 18.214 7 17.9059C7 17.5977 7.08182 17.2951 7.23709 17.0289C7.39237 16.7627 7.61553 16.5425 7.88378 16.3908L18.8589 10.2045Z\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M24.1162 19.4209C24.3845 19.2693 24.6076 19.0491 24.7629 18.7829C24.9182 18.5167 25 18.2141 25 17.9059C25 17.5978 24.9182 17.2951 24.7629 17.029C24.6076 16.7628 24.3845 16.5426 24.1162 16.3909L13.1413 10.1955C12.9175 10.0674 12.6642 10 12.4063 10C12.1485 10 11.8951 10.0674 11.6713 10.1955L7.88377 12.3328C7.61552 12.4845 7.39236 12.7047 7.23709 12.9709C7.08182 13.237 7 13.5397 7 13.8478C7 14.156 7.08182 14.4586 7.23709 14.7248C7.39236 14.991 7.61552 15.2112 7.88377 15.3629L18.8677 21.5492C19.0914 21.6777 19.3448 21.7453 19.6027 21.7453C19.8606 21.7453 20.114 21.6777 20.3377 21.5492L24.1162 19.4209Z\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n ),\n // frame 7\n (color: string) => (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M23.3996 20V23.1982C23.3994 23.4788 23.3253 23.7543 23.1849 23.9972C23.0445 24.2401 22.8427 24.4419 22.5997 24.5821L16.9998 27.7821C16.7566 27.9225 16.4807 27.9964 16.1998 27.9964C15.919 27.9964 15.6431 27.9225 15.3998 27.7821L9.79998 24.5821C9.557 24.4419 9.35518 24.2401 9.21476 23.9972C9.07435 23.7543 9.00029 23.4788 9 23.1982V20.5001\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16.1997 27.9979V19.998\"\n stroke={color}\n strokeWidth=\"1.59996\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M18.8589 10.2045C19.0835 10.0789 19.3365 10.0129 19.5939 10.0129C19.8512 10.0129 20.1042 10.0789 20.3289 10.2045L24.1165 12.3327C24.3847 12.4844 24.6079 12.7046 24.7632 12.9708C24.9185 13.2369 25.0003 13.5396 25.0003 13.8477C25.0003 14.1559 24.9185 14.4585 24.7632 14.7247C24.6079 14.9909 24.3847 15.2111 24.1165 15.3628L13.1324 21.5491C12.9071 21.6776 12.6522 21.7452 12.3929 21.7452C12.1335 21.7452 11.8787 21.6776 11.6534 21.5491L7.88378 19.4209C7.61553 19.2692 7.39237 19.049 7.23709 18.7828C7.08182 18.5167 7 18.214 7 17.9059C7 17.5977 7.08182 17.2951 7.23709 17.0289C7.39237 16.7627 7.61553 16.5425 7.88378 16.3908L18.8589 10.2045Z\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M24.1162 19.4209C24.3845 19.2693 24.6076 19.0491 24.7629 18.7829C24.9182 18.5167 25 18.2141 25 17.9059C25 17.5978 24.9182 17.2951 24.7629 17.029C24.6076 16.7628 24.3845 16.5426 24.1162 16.3909L13.1413 10.1955C12.9175 10.0674 12.6642 10 12.4063 10C12.1485 10 11.8951 10.0674 11.6713 10.1955L7.88377 12.3328C7.61552 12.4845 7.39236 12.7047 7.23709 12.9709C7.08182 13.237 7 13.5397 7 13.8478C7 14.156 7.08182 14.4586 7.23709 14.7248C7.39236 14.991 7.61552 15.2112 7.88377 15.3629L18.8677 21.5492C19.0914 21.6777 19.3448 21.7453 19.6027 21.7453C19.8606 21.7453 20.114 21.6777 20.3377 21.5492L24.1162 19.4209Z\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M16 7V4\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M19 8L21 7\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n />\n <path\n d=\"M13 8L11 7\"\n stroke={color}\n strokeWidth=\"1.6\"\n strokeLinecap=\"round\"\n />\n </svg>\n ),\n];\n\nexport interface PackageAnimationProps {\n readonly animate?: boolean;\n readonly loop?: boolean;\n readonly color?: string;\n readonly size?: number;\n readonly onComplete?: () => void;\n}\n\nexport function PackageAnimation({\n animate = false,\n loop = false,\n color = \"currentColor\",\n size = 32,\n onComplete,\n}: PackageAnimationProps) {\n const [frameIndex, setFrameIndex] = useState(0);\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const isRunning = useRef(false);\n\n useEffect(() => {\n if (!animate || isRunning.current) return;\n\n isRunning.current = true;\n setFrameIndex(0);\n\n let current = 0;\n const totalFrames = frames.length;\n\n const tick = () => {\n current += 1;\n if (current < totalFrames - 1) {\n setFrameIndex(current);\n timerRef.current = setTimeout(tick, FRAME_DURATION);\n } else {\n setFrameIndex(totalFrames - 1);\n timerRef.current = setTimeout(() => {\n if (loop) {\n current = 0;\n setFrameIndex(0);\n timerRef.current = setTimeout(tick, FRAME_DURATION);\n } else {\n isRunning.current = false;\n onComplete?.();\n }\n }, HOLD_LAST_FRAME);\n }\n };\n\n timerRef.current = setTimeout(tick, FRAME_DURATION);\n return () => {\n isRunning.current = false;\n if (timerRef.current) clearTimeout(timerRef.current);\n };\n }, [animate, loop]);\n\n return (\n <span\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: size,\n height: size,\n flexShrink: 0,\n }}\n >\n <span\n style={{\n transform: `scale(${size / 32})`,\n transformOrigin: \"center\",\n display: \"block\",\n width: 32,\n height: 32,\n }}\n >\n {frames[frameIndex](color)}\n </span>\n </span>\n );\n}\n","import { twMerge } from \"tailwind-merge\";\nimport {\n PowerhouseButton,\n type PowerhouseButtonProps,\n} from \"../button/button.js\";\n\nexport interface PaginationButtonProps extends PowerhouseButtonProps {\n readonly active?: boolean;\n}\n\nexport const PaginationButton: React.FC<PaginationButtonProps> = ({\n active = false,\n ...props\n}) => {\n const { className: propClassName, ...restProps } = props;\n const mergedClassName = twMerge(\n \"h-8 min-w-8 border border-solid border-gray-300 bg-gray-50 px-3 py-1 text-xs text-gray-900 hover:bg-gray-100 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700\",\n !active && \"border-0\",\n typeof propClassName === \"string\" && propClassName,\n );\n\n return (\n <PowerhouseButton\n color=\"light\"\n size=\"small\"\n className={mergedClassName}\n {...restProps}\n >\n {props.children}\n </PowerhouseButton>\n );\n};\n","import type {\n PageItem,\n UsePaginationBaseResult,\n} from \"../../hooks/usePagination.js\";\nimport { Icon } from \"../icon/icon.js\";\nimport { PaginationButton } from \"./pagination-button.js\";\n\nexport type PaginationEvent = {\n event: \"first\" | \"previous\" | \"next\" | \"last\";\n};\n\nexport type PaginationPageEvent = {\n event: \"page\";\n page: PageItem;\n};\n\nexport interface PaginationProps extends Omit<\n UsePaginationBaseResult,\n \"pageCount\" | \"currentPage\"\n> {\n displayPagesLeftIndicator?: boolean;\n firstPageLabel?: React.ReactNode;\n lastPageLabel?: React.ReactNode;\n nextPageLabel?: React.ReactNode;\n previousPageLabel?: React.ReactNode;\n}\n\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n const {\n pages = [],\n goToFirstPage,\n goToLastPage,\n goToNextPage,\n goToPreviousPage,\n goToPage,\n isNextPageAvailable,\n isPreviousPageAvailable,\n hiddenNextPages,\n firstPageLabel = \"First\",\n lastPageLabel = \"Last\",\n nextPageLabel = \"Next\",\n previousPageLabel = \"Previous\",\n } = props;\n\n return (\n <div className=\"flex gap-x-1\">\n {firstPageLabel ? (\n <PaginationButton\n disabled={!isPreviousPageAvailable}\n onClick={() => goToFirstPage()}\n >\n {firstPageLabel}\n </PaginationButton>\n ) : null}\n {previousPageLabel ? (\n <PaginationButton\n disabled={!isPreviousPageAvailable}\n onClick={() => goToPreviousPage()}\n >\n <Icon className=\"rotate-90\" name=\"ChevronDown\" size={16} />\n {previousPageLabel}\n </PaginationButton>\n ) : null}\n {pages.map((page) => (\n <PaginationButton\n active={page.active}\n key={page.index}\n onClick={() => goToPage(page.index)}\n >\n {page.number}\n </PaginationButton>\n ))}\n {hiddenNextPages ? (\n <span className=\"flex items-center justify-center px-2\">...</span>\n ) : null}\n {nextPageLabel ? (\n <PaginationButton\n disabled={!isNextPageAvailable}\n onClick={() => goToNextPage()}\n >\n {nextPageLabel}\n <Icon className=\"-rotate-90\" name=\"ChevronDown\" size={16} />\n </PaginationButton>\n ) : null}\n {lastPageLabel ? (\n <PaginationButton\n disabled={!isNextPageAvailable}\n onClick={() => goToLastPage()}\n >\n {lastPageLabel}\n </PaginationButton>\n ) : null}\n </div>\n );\n};\n","import { useEffect, useRef, useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport type SidebarPanelProps = React.HTMLAttributes<HTMLDivElement>;\n\nexport function SidebarPanel({\n className,\n children,\n ...props\n}: SidebarPanelProps) {\n const [hasScroll, setHasScroll] = useState(false);\n\n function checkContentScroll(target: Element) {\n setHasScroll(\n target.scrollHeight - target.scrollTop - target.clientHeight > 1,\n );\n }\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n // listen for resize events to update shadow\n useEffect(() => {\n if (!containerRef.current) {\n return;\n }\n\n const observer = new ResizeObserver((entries: ResizeObserverEntry[]) => {\n const entry = entries.pop();\n if (!entry) {\n return;\n }\n\n const { target } = entry;\n checkContentScroll(target);\n });\n observer.observe(containerRef.current);\n return () => {\n observer.disconnect();\n };\n }, []);\n\n return (\n <>\n <div\n className={twMerge(\n \"scrollbar-none flex-1 overflow-auto text-gray-900 transition-shadow dark:text-slate-50\",\n className,\n )}\n onScroll={(e) => checkContentScroll(e.currentTarget)}\n ref={containerRef}\n {...props}\n >\n {children}\n </div>\n {hasScroll ? (\n <div\n className=\"pointer-events-none z-10 -mt-12 h-12 w-full\"\n style={{\n boxShadow: \"inset 0px -33px 32px -16px rgba(0,0,0,0.1)\",\n }}\n />\n ) : null}\n </>\n );\n}\n","import { useRef, type HTMLAttributes } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function SidebarHeader({\n className,\n ...props\n}: HTMLAttributes<HTMLElement>) {\n return <div className={twMerge(\"shrink-0\", className)} {...props} />;\n}\n\nexport function SidebarFooter({\n className,\n ...props\n}: HTMLAttributes<HTMLElement>) {\n return <div className={twMerge(\"shrink-0\", className)} {...props} />;\n}\n\ntype SidebarProps = HTMLAttributes<HTMLElement> & {\n maxWidth: string;\n minWidth: string;\n};\nexport function Sidebar({\n maxWidth: _maxWidth = \"304px\",\n minWidth = \"80px\",\n className,\n children,\n ...props\n}: SidebarProps) {\n const ref = useRef<HTMLDivElement>(null);\n\n return (\n <div\n {...props}\n className={twMerge(\n `group z-1 flex h-full flex-col bg-slate-50 dark:bg-slate-700`,\n className,\n )}\n ref={ref}\n style={{\n width: minWidth,\n }}\n >\n {children}\n </div>\n );\n}\n","/*\n * https://github.com/adobe/react-spectrum/blob/main/packages/react-aria-components/src/utils.tsx#L215\n */\n\nimport type { RefObject } from \"react\";\nimport { useCallback, useLayoutEffect, useRef, useState } from \"react\";\nimport ReactDOM from \"react-dom\";\n\nexport function useEnterAnimation(ref: RefObject<HTMLElement>, isReady = true) {\n const [isEntering, setEntering] = useState(true);\n useAnimation(\n ref,\n isEntering && isReady,\n useCallback(() => setEntering(false), []),\n );\n return isEntering && isReady;\n}\n\nexport function useExitAnimation(ref: RefObject<HTMLElement>, isOpen: boolean) {\n // State to trigger a re-render after animation is complete, which causes the element to be removed from the DOM.\n // Ref to track the state we're in, so we don't immediately reset isExiting to true after the animation.\n const [isExiting, setExiting] = useState(false);\n const [exitState, setExitState] = useState(\"idle\");\n\n // If isOpen becomes false, set isExiting to true.\n if (!isOpen && ref.current && exitState === \"idle\") {\n setExiting(true);\n setExitState(\"exiting\");\n }\n\n // If we exited, and the element has been removed, reset exit state to idle.\n if (!ref.current && exitState === \"exited\") {\n setExitState(\"idle\");\n }\n\n useAnimation(\n ref,\n isExiting,\n useCallback(() => {\n setExitState(\"exited\");\n setExiting(false);\n }, []),\n );\n\n return isExiting;\n}\n\nexport function useAnimation(\n ref: RefObject<HTMLElement>,\n isActive: boolean,\n onEnd: () => void,\n) {\n const prevAnimation = useRef<string | null>(null);\n if (isActive && ref.current) {\n // This is ok because we only read it in the layout effect below, immediately after the commit phase.\n // We could move this to another effect that runs every render, but this would be unnecessarily slow.\n // We only need the computed style right before the animation becomes active.\n prevAnimation.current = window.getComputedStyle(ref.current).animation;\n }\n\n useLayoutEffect(() => {\n if (isActive && ref.current) {\n // Make sure there's actually an animation, and it wasn't there before we triggered the update.\n const computedStyle = window.getComputedStyle(ref.current);\n if (\n computedStyle.animationName !== \"none\" &&\n computedStyle.animation !== prevAnimation.current\n ) {\n const onAnimationEnd = (e: AnimationEvent) => {\n if (e.target === ref.current) {\n element.removeEventListener(\"animationend\", onAnimationEnd);\n ReactDOM.flushSync(() => {\n onEnd();\n });\n }\n };\n\n const element = ref.current;\n element.addEventListener(\"animationend\", onAnimationEnd);\n return () => {\n element.removeEventListener(\"animationend\", onAnimationEnd);\n };\n } else {\n onEnd();\n }\n }\n }, [ref, isActive, onEnd]);\n}\n","import { useCallback, useMemo, useState } from \"react\";\n\nexport type PageItem = {\n index: number;\n number: number;\n active: boolean;\n};\n\nexport interface UsePaginationOptions {\n pageRange?: number;\n initialPage?: number;\n itemsPerPage?: number;\n}\n\nexport interface UsePaginationBaseResult {\n pages: PageItem[];\n goToPage: (page: number) => void;\n pageCount: number;\n currentPage: number;\n goToLastPage: () => void;\n goToFirstPage: () => void;\n goToNextPage: () => void;\n goToPreviousPage: () => void;\n isNextPageAvailable: boolean;\n isPreviousPageAvailable: boolean;\n hiddenNextPages: boolean;\n}\nexport interface UsePaginationResult<T> extends UsePaginationBaseResult {\n pageItems: T[];\n}\n\n/**\n * Custom hook for pagination.\n *\n * @template T - The type of items in the pagination.\n * @param {T[]} items - The array of items to paginate.\n * @param {UsePaginationOptions} [options] - The pagination options.\n * @returns {{\n * pages: PageItem[]; - The array of page items.\n * goToPage: (page: number) => void; - The function to go to a specific page.\n * pageItems: T[]; - The array of items for the current page.\n * pageCount: number; - The total number of pages.\n * currentPage: number; - The current page index.\n * goToLastPage: () => void; - The function to go to the last page.\n * goToFirstPage: () => void; - The function to go to the first page.\n * goToNextPage: () => void; - The function to go to the next page.\n * goToPreviousPage: () => void; - The function to go to the previous page.\n * isNextPageAvailable: boolean; - The flag to indicate if the next page is available.\n * isPreviousPageAvailable: boolean; - The flag to indicate if the previous page is available.\n * }} - The pagination object with various functions and properties.\n */\n\nexport function usePagination<T>(\n items: T[],\n options?: UsePaginationOptions,\n): UsePaginationResult<T> {\n const { itemsPerPage = 20, initialPage = 0, pageRange = 3 } = options || {};\n\n const [currentPage, setCurrentPage] = useState(initialPage);\n\n const pageCount = Math.ceil(items.length / itemsPerPage);\n const isNextPageAvailable = currentPage < pageCount - 1;\n const isPreviousPageAvailable = currentPage > 0;\n\n const goToNextPage = useCallback(() => {\n if (isNextPageAvailable) {\n setCurrentPage((prev) => prev + 1);\n }\n }, [isNextPageAvailable, setCurrentPage]);\n\n const goToPreviousPage = useCallback(() => {\n if (isPreviousPageAvailable) {\n setCurrentPage((prev) => prev - 1);\n }\n }, [isPreviousPageAvailable, setCurrentPage]);\n\n const goToLastPage = useCallback(() => {\n setCurrentPage(pageCount - 1);\n }, [pageCount]);\n\n const goToFirstPage = useCallback(() => {\n setCurrentPage(0);\n }, []);\n\n const goToPage = useCallback(\n (page: number) => {\n if (page >= 0 && page < pageCount) {\n setCurrentPage(page);\n }\n },\n [pageCount],\n );\n\n const pageOffset = Math.floor((pageRange - 1) / 2);\n const availableRange = Math.min(pageRange, pageCount);\n const maxStartIndex = Math.max(pageCount - availableRange);\n const startIndex = Math.min(\n maxStartIndex,\n Math.max(currentPage - pageOffset, 0),\n );\n\n const pages = useMemo(() => {\n const range: PageItem[] = [];\n for (let i = startIndex; i < availableRange + startIndex; i++) {\n range.push({\n index: i,\n active: i === currentPage,\n number: i + 1,\n });\n }\n return range;\n }, [availableRange, startIndex, currentPage]);\n\n const pageItems = items.slice(\n currentPage * itemsPerPage,\n (currentPage + 1) * itemsPerPage,\n );\n\n const hiddenNextPages =\n pages.length > 0 && pages.slice(-1)[0].index < pageCount - 1;\n\n return {\n pages,\n goToPage,\n pageItems,\n pageCount,\n currentPage,\n goToLastPage,\n goToFirstPage,\n goToNextPage,\n hiddenNextPages,\n goToPreviousPage,\n isNextPageAvailable,\n isPreviousPageAvailable,\n };\n}\n","import { useEffect, useState } from \"react\";\n\nexport const useWindowSize = () => {\n const [windowSize, setWindowSize] = useState({\n innerWidth: window.innerWidth,\n innerHeight: window.innerHeight,\n });\n\n useEffect(() => {\n const windowSizeHandler = () => {\n setWindowSize({\n innerWidth: window.innerWidth,\n innerHeight: window.innerHeight,\n });\n };\n\n window.addEventListener(\"resize\", windowSizeHandler);\n\n return () => {\n window.removeEventListener(\"resize\", windowSizeHandler);\n };\n }, []);\n\n return windowSize;\n};\n"],"mappings":";;;;;;;;;AAWA,MAAaG,mBAAmBH,2BAAW,SAASG,iBAClDC,OACAC,KACA;CACA,MAAM,EACJC,QAAQ,QACRC,OAAO,UACPC,YAAY,IACZC,UACAC,MACAC,eAAe,QACf,GAAGC,mBACDR;AAuBJ,QACE,qBAAC,UAAD;EAAQ,WAPaF,QACrB,iHAHwBD,OARN;GAClBgB,OACE;GACFC,MAAM;GACNC,KAAK;GACLC,MAAM;GACP,CAE4Cd,QAb1B;GACjBQ,OAAO;GACPC,QAAQ;GACT,CAU+DR,MAAM,EAKpEC,UACD;EAGyCH;EAAK,GAAIO;YAAjD;GACGD,iBAAiB,UAAUD;GAC3BD;GACAE,iBAAiB,WAAWD;GACtB;;EAEX;;;ACtCF,MAAaoB,eAA4CH;AACzD,MAAaI,sBAAsBH;AAEnC,MAAaI,sBAAsBH,2BAAW,SAASG,oBACrD,EAAEC,UAAU,GAAGC,kBACfC,cACA;AACA,QACE,oBAAC,QAAD,EAAA,UACE,oBAAC,SAAD;EAAS,GAAID;EAAgB,KAAKC;EAC/BF;EACM,CAAA,EACF,CAAA;EAEX;AAEF,MAAaG,oBAAoBX;AACjC,MAAaY,mBAAmBb;;;ACZhC,SAAgBsB,MAAMC,OAAc;CAClC,MAAM,EACJC,OACAC,MACAC,cACAC,cACAC,cACAC,UACA,GAAGC,cACDP;AACJ,QACE,oBAAC,QAAD;EAAM,aAAaE;EAAoBC;EAAoBD;YACzD,oBAAC,UAAD,EAAA,UACE,oBAAC,SAAD;GACE,GAAIG;GACJ,WAAWP,QACT,oKACAO,cAAcG,UACf;aAED,qBAAC,WAAD;IACE,GAAID;IACJ,GAAIH;IACJ,WAAWN,QACT,mIACAM,cAAcI,UACf;cANH,CAQE,qBAAC,QAAD,EAAA,UAAA,CACE,oBAAC,OAAD,EAAA,UAAQP,SAAS,SAAe,CAAA,EAChC,oBAAC,aAAD,EAAA,UAAcA,SAAS,SAAqB,CAAA,CAC9B,EAAA,CAAA,EACfK,SACM;;GACF,CAAA,EACH,CAAA;EACH,CAAA;;;;ACtDX,MAAMM,iBAAiB;AACvB,MAAMC,kBAAkB;AAExB,MAAMC,SAAS;EAEZC,UACC,qBAAC,OAAD;EACE,OAAM;EACN,QAAO;EACP,SAAQ;EACR,MAAK;EACL,OAAM;YALR;GAOE,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAG3B;;EAEAA,UACC,qBAAC,OAAD;EACE,OAAM;EACN,QAAO;EACP,SAAQ;EACR,MAAK;EACL,OAAM;YALR;GAOE,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IAAO,CAAA;GAEvB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IAAO,CAAA;GAG1B;;EAEAA,UACC,qBAAC,OAAD;EACE,OAAM;EACN,QAAO;EACP,SAAQ;EACR,MAAK;EACL,OAAM;YALR;GAOE,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IAAO,CAAA;GAG1B;;EAEAA,UACC,qBAAC,OAAD;EACE,OAAM;EACN,QAAO;EACP,SAAQ;EACR,MAAK;EACL,OAAM;YALR;GAOE,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IAAO,CAAA;GAG1B;;EAEAA,UACC,qBAAC,OAAD;EACE,OAAM;EACN,QAAO;EACP,SAAQ;EACR,MAAK;EACL,OAAM;YALR;GAOE,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IAAO,CAAA;GAG1B;;EAEAA,UACC,qBAAC,OAAD;EACE,OAAM;EACN,QAAO;EACP,SAAQ;EACR,MAAK;EACL,OAAM;YALR;GAOE,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAG3B;;EAEAA,UACC,qBAAC,OAAD;EACE,OAAM;EACN,QAAO;EACP,SAAQ;EACR,MAAK;EACL,OAAM;YALR;GAOE,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IACd,gBAAe;IAAO,CAAA;GAExB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IAAO,CAAA;GAEvB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IAAO,CAAA;GAEvB,oBAAC,QAAD;IACE,GAAE;IACF,QAAQA;IACR,aAAY;IACZ,eAAc;IAAO,CAAA;GAG1B;;CACF;AAUD,SAAgBC,iBAAiB,EAC/BC,UAAU,OACVC,OAAO,OACPH,QAAQ,gBACRI,OAAO,IACPC,cACwB;CACxB,MAAM,CAACC,YAAYC,iBAAiBX,SAAS,EAAE;CAC/C,MAAMY,WAAWb,OAA6C,KAAK;CACnE,MAAMc,YAAYd,OAAO,MAAM;AAE/BD,iBAAgB;AACd,MAAI,CAACQ,WAAWO,UAAUC,QAAS;AAEnCD,YAAUC,UAAU;AACpBH,gBAAc,EAAE;EAEhB,IAAIG,UAAU;EACd,MAAMC,cAAcZ,OAAOa;EAE3B,MAAMC,aAAa;AACjBH,cAAW;AACX,OAAIA,UAAUC,cAAc,GAAG;AAC7BJ,kBAAcG,QAAQ;AACtBF,aAASE,UAAUI,WAAWD,MAAMhB,eAAe;UAC9C;AACLU,kBAAcI,cAAc,EAAE;AAC9BH,aAASE,UAAUI,iBAAiB;AAClC,SAAIX,MAAM;AACRO,gBAAU;AACVH,oBAAc,EAAE;AAChBC,eAASE,UAAUI,WAAWD,MAAMhB,eAAe;YAC9C;AACLY,gBAAUC,UAAU;AACpBL,oBAAc;;OAEfP,gBAAgB;;;AAIvBU,WAASE,UAAUI,WAAWD,MAAMhB,eAAe;AACnD,eAAa;AACXY,aAAUC,UAAU;AACpB,OAAIF,SAASE,QAASK,cAAaP,SAASE,QAAQ;;IAErD,CAACR,SAASC,KAAK,CAAC;AAEnB,QACE,oBAAC,QAAD;EACE,OAAO;GACLa,SAAS;GACTC,YAAY;GACZC,gBAAgB;GAChBC,OAAOf;GACPgB,QAAQhB;GACRiB,YAAY;GACb;YAED,oBAAC,QAAD;GACE,OAAO;IACLC,WAAW,SAASlB,OAAO,GAAE;IAC7BmB,iBAAiB;IACjBP,SAAS;IACTG,OAAO;IACPC,QAAQ;IACT;aAEArB,OAAOO,YAAYN,MAAM;GACtB,CAAA;EACD,CAAA;;;;AC1ZX,MAAa0B,oBAAqD,EAChEC,SAAS,OACT,GAAGC,YACC;CACJ,MAAM,EAAEC,WAAWC,eAAe,GAAGC,cAAcH;AAOnD,QACE,oBAAC,kBAAD;EACE,OAAM;EACN,MAAK;EACL,WAVoBJ,QACtB,oMACA,CAACG,UAAU,YACX,OAAOG,kBAAkB,YAAYA,cACtC;EAOG,GAAIC;YAEHH,MAAMK;EACU,CAAA;;;;ACFvB,MAAaG,cAAyCC,UAAU;CAC9D,MAAM,EACJC,QAAQ,EAAE,EACVC,eACAC,cACAC,cACAC,kBACAC,UACAC,qBACAC,yBACAC,iBACAC,iBAAiB,SACjBC,gBAAgB,QAChBC,gBAAgB,QAChBC,oBAAoB,eAClBb;AAEJ,QACE,qBAAC,OAAD;EAAK,WAAU;YAAf;GACGU,iBACC,oBAAC,kBAAD;IACE,UAAU,CAACF;IACX,eAAeN,eAAe;cAE7BQ;IACgB,CAAA,GACjB;GACHG,oBACC,qBAAC,kBAAD;IACE,UAAU,CAACL;IACX,eAAeH,kBAAkB;cAFnC,CAIE,oBAAC,MAAD;KAAM,WAAU;KAAY,MAAK;KAAc,MAAM;KAAG,CAAA,EACvDQ,kBACgB;QACjB;GACHZ,MAAMa,KAAKC,SACV,oBAAC,kBAAD;IACE,QAAQA,KAAKC;IAEb,eAAeV,SAASS,KAAKE,MAAM;cAElCF,KAAKG;IAET,EALQH,KAAKE,MAKb,CAAC;GACDR,kBACC,oBAAC,QAAD;IAAM,WAAU;cAAwC;IAAU,CAAA,GAChE;GACHG,gBACC,qBAAC,kBAAD;IACE,UAAU,CAACL;IACX,eAAeH,cAAc;cAF/B,CAIGQ,eACD,oBAAC,MAAD;KAAM,WAAU;KAAa,MAAK;KAAc,MAAM;KAAG,CAAA,CACxC;QACjB;GACHD,gBACC,oBAAC,kBAAD;IACE,UAAU,CAACJ;IACX,eAAeJ,cAAc;cAE5BQ;IACgB,CAAA,GACjB;GACA;;;;;ACvFV,SAAgBY,aAAa,EAC3BC,WACAC,UACA,GAAGC,SACiB;CACpB,MAAM,CAACC,WAAWC,gBAAgBP,SAAS,MAAM;CAEjD,SAASQ,mBAAmBC,QAAiB;AAC3CF,eACEE,OAAOC,eAAeD,OAAOE,YAAYF,OAAOG,eAAe,EAChE;;CAGH,MAAMC,eAAed,OAAuB,KAAK;AAGjDD,iBAAgB;AACd,MAAI,CAACe,aAAaC,QAChB;EAGF,MAAMC,WAAW,IAAIC,gBAAgBC,YAAmC;GACtE,MAAMC,QAAQD,QAAQE,KAAK;AAC3B,OAAI,CAACD,MACH;GAGF,MAAM,EAAET,WAAWS;AACnBV,sBAAmBC,OAAO;IAC1B;AACFM,WAASK,QAAQP,aAAaC,QAAQ;AACtC,eAAa;AACXC,YAASM,YAAY;;IAEtB,EAAE,CAAC;AAEN,QACE,qBAAA,YAAA,EAAA,UAAA,CACE,oBAAC,OAAD;EACE,WAAWpB,QACT,0FACAE,UACD;EACD,WAAWmB,MAAMd,mBAAmBc,EAAEC,cAAc;EACpD,KAAKV;EACL,GAAIR;EAEHD;EACE,CAAA,EACJE,YACC,oBAAC,OAAD;EACE,WAAU;EACV,OAAO,EACLkB,WAAW,8CACZ;EACD,CAAA,GACA,KACH,EAAA,CAAA;;;;AC3DP,SAAgBG,cAAc,EAC5BC,WACA,GAAGC,SAC2B;AAC9B,QAAO,oBAAC,OAAD;EAAK,WAAWH,QAAQ,YAAYE,UAAU;EAAE,GAAIC;EAAS,CAAA;;AAGtE,SAAgBC,cAAc,EAC5BF,WACA,GAAGC,SAC2B;AAC9B,QAAO,oBAAC,OAAD;EAAK,WAAWH,QAAQ,YAAYE,UAAU;EAAE,GAAIC;EAAS,CAAA;;AAOtE,SAAgBE,QAAQ,EACtBC,UAAUC,YAAY,SACtBC,WAAW,QACXN,WACAO,UACA,GAAGN,SACY;CACf,MAAMO,MAAMX,OAAuB,KAAK;AAExC,QACE,oBAAC,OAAD;EACE,GAAII;EACJ,WAAWH,QACT,gEACAE,UACD;EACIQ;EACL,OAAO,EACLC,OAAOH,UACR;EAEAC;EACG,CAAA;;;;ACnCV,SAAgBQ,kBAAkBC,KAA6BC,UAAU,MAAM;CAC7E,MAAM,CAACC,YAAYC,eAAeN,SAAS,KAAK;AAChDO,cACEJ,KACAE,cAAcD,SACdP,kBAAkBS,YAAY,MAAM,EAAE,EAAE,CAC1C,CAAC;AACD,QAAOD,cAAcD;;AAGvB,SAAgBI,iBAAiBL,KAA6BM,QAAiB;CAG7E,MAAM,CAACC,WAAWC,cAAcX,SAAS,MAAM;CAC/C,MAAM,CAACY,WAAWC,gBAAgBb,SAAS,OAAO;AAGlD,KAAI,CAACS,UAAUN,IAAIW,WAAWF,cAAc,QAAQ;AAClDD,aAAW,KAAK;AAChBE,eAAa,UAAU;;AAIzB,KAAI,CAACV,IAAIW,WAAWF,cAAc,SAChCC,cAAa,OAAO;AAGtBN,cACEJ,KACAO,WACAb,kBAAkB;AAChBgB,eAAa,SAAS;AACtBF,aAAW,MAAM;IAChB,EAAE,CACP,CAAC;AAED,QAAOD;;AAGT,SAAgBH,aACdJ,KACAY,UACAC,OACA;CACA,MAAMC,gBAAgBlB,OAAsB,KAAK;AACjD,KAAIgB,YAAYZ,IAAIW,QAIlBG,eAAcH,UAAUI,OAAOC,iBAAiBhB,IAAIW,QAAQ,CAACM;AAG/DtB,uBAAsB;AACpB,MAAIiB,YAAYZ,IAAIW,SAAS;GAE3B,MAAMO,gBAAgBH,OAAOC,iBAAiBhB,IAAIW,QAAQ;AAC1D,OACEO,cAAcC,kBAAkB,UAChCD,cAAcD,cAAcH,cAAcH,SAC1C;IACA,MAAMS,kBAAkBC,MAAsB;AAC5C,SAAIA,EAAEC,WAAWtB,IAAIW,SAAS;AAC5BY,cAAQC,oBAAoB,gBAAgBJ,eAAe;AAC3DtB,eAAS2B,gBAAgB;AACvBZ,cAAO;QACP;;;IAIN,MAAMU,UAAUvB,IAAIW;AACpBY,YAAQG,iBAAiB,gBAAgBN,eAAe;AACxD,iBAAa;AACXG,aAAQC,oBAAoB,gBAAgBJ,eAAe;;SAG7DP,QAAO;;IAGV;EAACb;EAAKY;EAAUC;EAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;AClC5B,SAAgBiB,cACdC,OACAC,SACwB;CACxB,MAAM,EAAEC,eAAe,IAAIC,cAAc,GAAGC,YAAY,MAAMH,WAAW,EAAE;CAE3E,MAAM,CAACI,aAAaC,kBAAkBR,SAASK,YAAY;CAE3D,MAAMI,YAAYC,KAAKC,KAAKT,MAAMU,SAASR,aAAa;CACxD,MAAMS,sBAAsBN,cAAcE,YAAY;CACtD,MAAMK,0BAA0BP,cAAc;CAE9C,MAAMQ,eAAejB,kBAAkB;AACrC,MAAIe,oBACFL,iBAAgBQ,SAASA,OAAO,EAAE;IAEnC,CAACH,qBAAqBL,eAAe,CAAC;CAEzC,MAAMS,mBAAmBnB,kBAAkB;AACzC,MAAIgB,wBACFN,iBAAgBQ,SAASA,OAAO,EAAE;IAEnC,CAACF,yBAAyBN,eAAe,CAAC;CAE7C,MAAMU,eAAepB,kBAAkB;AACrCU,iBAAeC,YAAY,EAAE;IAC5B,CAACA,UAAU,CAAC;CAEf,MAAMU,gBAAgBrB,kBAAkB;AACtCU,iBAAe,EAAE;IAChB,EAAE,CAAC;CAEN,MAAMY,WAAWtB,aACduB,SAAiB;AAChB,MAAIA,QAAQ,KAAKA,OAAOZ,UACtBD,gBAAea,KAAK;IAGxB,CAACZ,UACH,CAAC;CAED,MAAMa,aAAaZ,KAAKa,OAAOjB,YAAY,KAAK,EAAE;CAClD,MAAMkB,iBAAiBd,KAAKe,IAAInB,WAAWG,UAAU;CACrD,MAAMiB,gBAAgBhB,KAAKiB,IAAIlB,YAAYe,eAAe;CAC1D,MAAMI,aAAalB,KAAKe,IACtBC,eACAhB,KAAKiB,IAAIpB,cAAce,YAAY,EACrC,CAAC;CAED,MAAMO,QAAQ9B,cAAc;EAC1B,MAAM+B,QAAoB,EAAE;AAC5B,OAAK,IAAIC,IAAIH,YAAYG,IAAIP,iBAAiBI,YAAYG,IACxDD,OAAME,KAAK;GACTC,OAAOF;GACPG,QAAQH,MAAMxB;GACd4B,QAAQJ,IAAI;GACb,CAAC;AAEJ,SAAOD;IACN;EAACN;EAAgBI;EAAYrB;EAAY,CAAC;AAU7C,QAAO;EACLsB;EACAT;EACAgB,WAXgBlC,MAAMmC,MACtB9B,cAAcH,eACbG,cAAc,KAAKH,aACrB;EASCK;EACAF;EACAW;EACAC;EACAJ;EACAuB,iBAXAT,MAAMjB,SAAS,KAAKiB,MAAMQ,MAAM,GAAG,CAAC,GAAGJ,QAAQxB,YAAY;EAY3DQ;EACAJ;EACAC;EACD;;;;ACpIH,MAAa2B,sBAAsB;CACjC,MAAM,CAACC,YAAYC,iBAAiBH,SAAS;EAC3CI,YAAYC,OAAOD;EACnBE,aAAaD,OAAOC;EACrB,CAAC;AAEFP,iBAAgB;EACd,MAAMQ,0BAA0B;AAC9BJ,iBAAc;IACZC,YAAYC,OAAOD;IACnBE,aAAaD,OAAOC;IACrB,CAAC;;AAGJD,SAAOG,iBAAiB,UAAUD,kBAAkB;AAEpD,eAAa;AACXF,UAAOI,oBAAoB,UAAUF,kBAAkB;;IAExD,EAAE,CAAC;AAEN,QAAOL"}