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

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 (302) 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-xYnJkB5j.d.ts} +14 -14
  14. package/dist/{command-BBihfa1C.d.ts.map → command-xYnJkB5j.d.ts.map} +1 -1
  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-Cct-i2Uz.d.ts} +3 -3
  25. package/dist/{enum-field-CjTSTf1e.d.ts.map → enum-field-Cct-i2Uz.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-BN654-SO.d.ts} +3 -3
  67. package/dist/{radio-group-field-DNapUn2b.d.ts.map → radio-group-field-BN654-SO.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/form-group-BauWlFkQ.d.ts.map +0 -1
  294. package/dist/form-label-Cz_gcj-B.d.ts.map +0 -1
  295. package/dist/index-DtPJq-vz.d.ts.map +0 -1
  296. package/dist/input-D11GgWGm.d.ts.map +0 -1
  297. package/dist/selected-content-q33DjCYy.d.ts.map +0 -1
  298. package/dist/splitted-input-diff-Ch6IKdEa.d.ts.map +0 -1
  299. package/dist/src-BgCjYazJ.js.map +0 -1
  300. /package/dist/{index-CWsYGvaO.d.ts → index--okzibnx.d.ts} +0 -0
  301. /package/dist/{index-qM4PwHTs.d.ts → index-BLwMeReG.d.ts} +0 -0
  302. /package/dist/{index-uQcTfU6c.d.ts → index-Cw3C7_1f.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"form-description.js","names":["cn","FormDescription","children","as","className","Component"],"sources":["../../../../src/ui/components/form-description/form-description.tsx"],"sourcesContent":["import { cn } from \"#design-system\";\n\nexport interface FormDescriptionProps extends React.PropsWithChildren {\n as?: React.ElementType;\n className?: string;\n}\n\nconst FormDescription: React.FC<FormDescriptionProps> = ({\n children,\n as,\n className,\n}) => {\n const Component = as ?? \"p\";\n\n return (\n <Component\n className={cn(\n \"font-sans text-sm/5 font-normal text-gray-600 dark:text-gray-500\",\n className,\n )}\n >\n {children}\n </Component>\n );\n};\n\nexport { FormDescription };\n"],"mappings":";;;AAOA,MAAMC,mBAAmD,EACvDC,UACAC,IACAC,gBACI;AAGJ,QACE,oBAHgBD,MAAM,KAGtB;EACE,WAAWH,GACT,oEACAI,UACD;EAEAF;EACS,CAAA"}
1
+ {"version":3,"file":"form-description.js","names":["twMerge","FormDescription","children","as","className","Component"],"sources":["../../../../src/ui/components/form-description/form-description.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\n\nexport interface FormDescriptionProps extends React.PropsWithChildren {\n as?: React.ElementType;\n className?: string;\n}\n\nconst FormDescription: React.FC<FormDescriptionProps> = ({\n children,\n as,\n className,\n}) => {\n const Component = as ?? \"p\";\n\n return (\n <Component\n className={twMerge(\n \"font-sans text-sm/5 font-normal text-gray-700 dark:text-slate-200\",\n className,\n )}\n >\n {children}\n </Component>\n );\n};\n\nexport { FormDescription };\n"],"mappings":";;;AAOA,MAAMC,mBAAmD,EACvDC,UACAC,IACAC,gBACI;AAGJ,QACE,oBAHgBD,MAAM,KAGtB;EACE,WAAWH,QACT,qEACAI,UACD;EAEAF;EACS,CAAA"}
@@ -1,2 +1,2 @@
1
- import { t as FormGroup } from "../../../form-group-BauWlFkQ.js";
1
+ import { t as FormGroup } from "../../../form-group-C8kL6pdZ.js";
2
2
  export { FormGroup };
@@ -1,2 +1,2 @@
1
- import { n as FormLabelProps, t as FormLabel } from "../../../form-label-Cz_gcj-B.js";
1
+ import { n as FormLabelProps, t as FormLabel } from "../../../form-label-b6nQi0XO.js";
2
2
  export { FormLabel, FormLabelProps };
@@ -1,9 +1,10 @@
1
- import { h as Icon, t as cn } from "../../../src-BgCjYazJ.js";
1
+ import { t as Icon } from "../../../icon-C4QOpsdI.js";
2
2
  import { Tooltip, TooltipProvider as Provider } from "../tooltip/tooltip.js";
3
+ import { twMerge } from "tailwind-merge";
3
4
  import { jsx, jsxs } from "react/jsx-runtime";
4
5
  //#region src/ui/components/form-label/form-label.tsx
5
6
  const FormLabel = ({ children, required, disabled, description, hasError, inline, className, ...htmlLabelProps }) => {
6
- const classes = cn("inline-flex items-center text-sm font-medium", inline ? "leading-[22px]" : "leading-4", `text-gray-900 ${inline ? "dark:text-gray-400" : "dark:text-gray-50"}`, hasError && "group-hover:text-red-900! dark:group-hover:text-red-900!", hasError && inline && "text-red-800 dark:text-red-800", hasError && !inline && "text-red-900 dark:text-red-900", disabled && `cursor-not-allowed text-gray-700 ${inline ? "dark:text-gray-600" : "dark:text-gray-300"}`, inline ? !disabled && "group-hover:text-gray-900 dark:group-hover:text-slate-50" : "mb-[3px]", className);
7
+ const classes = twMerge("inline-flex items-center text-sm font-medium", inline ? "leading-[22px]" : "leading-4", `text-gray-900 dark:text-slate-100 ${inline ? "" : ""}`, hasError && "group-hover:text-red-900 dark:group-hover:text-red-100", hasError && inline && "text-red-800 dark:text-red-100", hasError && !inline && "text-red-900 dark:text-red-400", disabled && `cursor-not-allowed text-gray-700 dark:text-slate-300 ${inline ? "" : ""}`, inline ? !disabled && "group-hover:text-gray-900 dark:group-hover:text-slate-50" : "mb-[3px]", className);
7
8
  if (!children) return null;
8
9
  return /* @__PURE__ */ jsxs("label", {
9
10
  className: classes,
@@ -11,7 +12,7 @@ const FormLabel = ({ children, required, disabled, description, hasError, inline
11
12
  children: [
12
13
  children,
13
14
  required && /* @__PURE__ */ jsx("span", {
14
- className: cn("ml-1 text-gray-800 group-hover:text-gray-900 dark:text-gray-400 dark:group-hover:text-slate-50", hasError && `${inline ? "text-red-800!" : "text-red-900!"} group-hover:text-red-900!`),
15
+ className: twMerge("ml-1 text-gray-900 group-hover:text-gray-900 dark:text-slate-100 dark:group-hover:text-slate-50", hasError && `${inline ? "text-red-800 dark:text-red-100" : "text-red-900 dark:text-red-100"} group-hover:text-red-900`),
15
16
  children: "*"
16
17
  }),
17
18
  description && /* @__PURE__ */ jsx(Provider, { children: /* @__PURE__ */ jsx(Tooltip, {
@@ -19,7 +20,7 @@ const FormLabel = ({ children, required, disabled, description, hasError, inline
19
20
  children: /* @__PURE__ */ jsx(Icon, {
20
21
  name: "CircleInfo",
21
22
  size: 16,
22
- className: cn("ml-1 cursor-pointer text-gray-600 hover:text-gray-500 dark:text-gray-500 dark:hover:text-gray-500", disabled && "text-gray-500")
23
+ className: twMerge("ml-1 cursor-pointer text-gray-700 hover:text-gray-500 dark:text-slate-200 dark:hover:text-slate-400", disabled && "text-gray-500 dark:text-slate-400")
23
24
  })
24
25
  }) })
25
26
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"form-label.js","names":["cn","Icon","Tooltip","TooltipProvider","FormLabel","children","required","disabled","description","hasError","inline","className","htmlLabelProps","classes","extraProps"],"sources":["../../../../src/ui/components/form-label/form-label.tsx"],"sourcesContent":["import { cn, Icon } from \"#design-system\";\nimport { Tooltip, TooltipProvider } from \"../tooltip/tooltip.js\";\n\nexport interface FormLabelProps\n extends React.PropsWithChildren, React.LabelHTMLAttributes<HTMLLabelElement> {\n required?: boolean;\n disabled?: boolean;\n description?: string;\n hasError?: boolean;\n inline?: boolean;\n className?: string;\n}\n\nexport const FormLabel: React.FC<FormLabelProps> = ({\n children,\n required,\n disabled,\n description,\n hasError,\n inline,\n className,\n ...htmlLabelProps\n}) => {\n const classes = cn(\n \"inline-flex items-center text-sm font-medium\",\n inline ? \"leading-[22px]\" : \"leading-4\",\n `text-gray-900 ${inline ? \"dark:text-gray-400\" : \"dark:text-gray-50\"}`,\n hasError && \"group-hover:text-red-900! dark:group-hover:text-red-900!\",\n hasError && inline && \"text-red-800 dark:text-red-800\",\n hasError && !inline && \"text-red-900 dark:text-red-900\",\n disabled &&\n `cursor-not-allowed text-gray-700 ${\n inline ? \"dark:text-gray-600\" : \"dark:text-gray-300\"\n }`,\n inline\n ? !disabled && \"group-hover:text-gray-900 dark:group-hover:text-slate-50\"\n : \"mb-[3px]\",\n className,\n );\n\n if (!children) {\n // no label provided\n return null;\n }\n\n const extraProps = {\n ...htmlLabelProps,\n };\n\n return (\n <label className={classes} {...extraProps}>\n {children}\n {required && (\n <span\n className={cn(\n \"ml-1 text-gray-800 group-hover:text-gray-900 dark:text-gray-400 dark:group-hover:text-slate-50\",\n hasError &&\n `${inline ? \"text-red-800!\" : \"text-red-900!\"} group-hover:text-red-900!`,\n )}\n >\n *\n </span>\n )}\n\n {description && (\n <TooltipProvider>\n <Tooltip content={description}>\n <Icon\n name=\"CircleInfo\"\n size={16}\n className={cn(\n \"ml-1 cursor-pointer text-gray-600 hover:text-gray-500 dark:text-gray-500 dark:hover:text-gray-500\",\n disabled && \"text-gray-500\",\n )}\n />\n </Tooltip>\n </TooltipProvider>\n )}\n </label>\n );\n};\n"],"mappings":";;;;AAaA,MAAaI,aAAuC,EAClDC,UACAC,UACAC,UACAC,aACAC,UACAC,QACAC,WACA,GAAGC,qBACC;CACJ,MAAMC,UAAUb,GACd,gDACAU,SAAS,mBAAmB,aAC5B,iBAAiBA,SAAS,uBAAuB,uBACjDD,YAAY,4DACZA,YAAYC,UAAU,kCACtBD,YAAY,CAACC,UAAU,kCACvBH,YACE,oCACEG,SAAS,uBAAuB,wBAEpCA,SACI,CAACH,YAAY,6DACb,YACJI,UACD;AAED,KAAI,CAACN,SAEH,QAAO;AAOT,QACE,qBAAC,SAAD;EAAO,WAAWQ;EAJlB,GAAGD;YAIH;GACGP;GACAC,YACC,oBAAC,QAAD;IACE,WAAWN,GACT,kGACAS,YACE,GAAGC,SAAS,kBAAkB,gBAAe,4BAChD;cAAC;IAIL,CAAA;GAEAF,eACC,oBAAC,UAAD,EAAA,UACE,oBAAC,SAAD;IAAS,SAASA;cAChB,oBAAC,MAAD;KACE,MAAK;KACL,MAAM;KACN,WAAWR,GACT,qGACAO,YAAY,gBACb;KAAC,CAAA;IAEG,CAAA,EAEZ,CAAA;GACK"}
1
+ {"version":3,"file":"form-label.js","names":["Icon","twMerge","Tooltip","TooltipProvider","FormLabel","children","required","disabled","description","hasError","inline","className","htmlLabelProps","classes","extraProps"],"sources":["../../../../src/ui/components/form-label/form-label.tsx"],"sourcesContent":["import { Icon } from \"#design-system\";\nimport { twMerge } from \"tailwind-merge\";\nimport { Tooltip, TooltipProvider } from \"../tooltip/tooltip.js\";\n\nexport interface FormLabelProps\n extends React.PropsWithChildren, React.LabelHTMLAttributes<HTMLLabelElement> {\n required?: boolean;\n disabled?: boolean;\n description?: string;\n hasError?: boolean;\n inline?: boolean;\n className?: string;\n}\n\nexport const FormLabel: React.FC<FormLabelProps> = ({\n children,\n required,\n disabled,\n description,\n hasError,\n inline,\n className,\n ...htmlLabelProps\n}) => {\n const classes = twMerge(\n \"inline-flex items-center text-sm font-medium\",\n inline ? \"leading-[22px]\" : \"leading-4\",\n `text-gray-900 dark:text-slate-100 ${inline ? \"\" : \"\"}`,\n hasError && \"group-hover:text-red-900 dark:group-hover:text-red-100\",\n hasError && inline && \"text-red-800 dark:text-red-100\",\n hasError && !inline && \"text-red-900 dark:text-red-400\",\n disabled &&\n `cursor-not-allowed text-gray-700 dark:text-slate-300 ${inline ? \"\" : \"\"}`,\n inline\n ? !disabled && \"group-hover:text-gray-900 dark:group-hover:text-slate-50\"\n : \"mb-[3px]\",\n className,\n );\n\n if (!children) {\n // no label provided\n return null;\n }\n\n const extraProps = {\n ...htmlLabelProps,\n };\n\n return (\n <label className={classes} {...extraProps}>\n {children}\n {required && (\n <span\n className={twMerge(\n \"ml-1 text-gray-900 group-hover:text-gray-900 dark:text-slate-100 dark:group-hover:text-slate-50\",\n hasError &&\n `${inline ? \"text-red-800 dark:text-red-100\" : \"text-red-900 dark:text-red-100\"} group-hover:text-red-900`,\n )}\n >\n *\n </span>\n )}\n\n {description && (\n <TooltipProvider>\n <Tooltip content={description}>\n <Icon\n name=\"CircleInfo\"\n size={16}\n className={twMerge(\n \"ml-1 cursor-pointer text-gray-700 hover:text-gray-500 dark:text-slate-200 dark:hover:text-slate-400\",\n disabled && \"text-gray-500 dark:text-slate-400\",\n )}\n />\n </Tooltip>\n </TooltipProvider>\n )}\n </label>\n );\n};\n"],"mappings":";;;;;AAcA,MAAaI,aAAuC,EAClDC,UACAC,UACAC,UACAC,aACAC,UACAC,QACAC,WACA,GAAGC,qBACC;CACJ,MAAMC,UAAUZ,QACd,gDACAS,SAAS,mBAAmB,aAC5B,qCAAqCA,SAAS,KAAK,MACnDD,YAAY,0DACZA,YAAYC,UAAU,kCACtBD,YAAY,CAACC,UAAU,kCACvBH,YACE,wDAAwDG,SAAS,KAAK,MACxEA,SACI,CAACH,YAAY,6DACb,YACJI,UACD;AAED,KAAI,CAACN,SAEH,QAAO;AAOT,QACE,qBAAC,SAAD;EAAO,WAAWQ;EAJlB,GAAGD;YAIH;GACGP;GACAC,YACC,oBAAC,QAAD;IACE,WAAWL,QACT,mGACAQ,YACE,GAAGC,SAAS,mCAAmC,iCAAgC,2BAClF;cAAC;IAIL,CAAA;GAEAF,eACC,oBAAC,UAAD,EAAA,UACE,oBAAC,SAAD;IAAS,SAASA;cAChB,oBAAC,MAAD;KACE,MAAK;KACL,MAAM;KACN,WAAWP,QACT,uGACAM,YAAY,oCACb;KAAC,CAAA;IAEG,CAAA,EAEZ,CAAA;GACK"}
@@ -1,2 +1,2 @@
1
- import { n as FormMessageProps, r as FormMessageType, t as FormMessage } from "../../../form-message-BPqNM4gG.js";
1
+ import { n as FormMessageProps, r as FormMessageType, t as FormMessage } from "../../../form-message-Dq72nBXz.js";
2
2
  export { FormMessage, FormMessageProps, FormMessageType };
@@ -1,13 +1,13 @@
1
- import { t as cn } from "../../../src-BgCjYazJ.js";
1
+ import { twMerge } from "tailwind-merge";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  //#region src/ui/components/form-message/form-message.tsx
4
4
  const defaultElement = "p";
5
5
  const FormMessage = ({ children, type = "info", as, className, ...props }) => {
6
6
  const Component = as || defaultElement;
7
- const classes = cn("mb-0 inline-flex items-center text-xs font-medium", {
8
- error: "text-red-900 dark:text-red-900",
9
- info: "text-blue-900 dark:text-blue-900",
10
- warning: "text-yellow-900 dark:text-yellow-900"
7
+ const classes = twMerge("mb-0 inline-flex items-center text-xs font-medium", {
8
+ error: "text-red-900 dark:text-red-400",
9
+ info: "text-blue-900 dark:text-blue-100",
10
+ warning: "text-yellow-900 dark:text-yellow-100"
11
11
  }[type], className);
12
12
  return /* @__PURE__ */ jsx(Component, {
13
13
  "data-type": type,
@@ -1 +1 @@
1
- {"version":3,"file":"form-message.js","names":["cn","defaultElement","FormMessage","children","type","as","className","props","Component","typeClasses","error","info","warning","classes"],"sources":["../../../../src/ui/components/form-message/form-message.tsx"],"sourcesContent":["import { cn } from \"#design-system\";\n\nexport type FormMessageType = \"error\" | \"info\" | \"warning\";\n\ntype FormMessageOwnProps<E extends React.ElementType = React.ElementType> = {\n type?: FormMessageType;\n as?: E;\n className?: string;\n};\n\nexport type FormMessageProps<E extends React.ElementType> =\n FormMessageOwnProps<E> &\n Omit<React.ComponentPropsWithoutRef<E>, keyof FormMessageOwnProps>;\n\nconst defaultElement = \"p\";\n\nexport const FormMessage: <E extends React.ElementType = typeof defaultElement>(\n props: FormMessageProps<E>,\n) => React.ReactElement | null = ({\n children,\n type = \"info\",\n as,\n className,\n ...props\n}) => {\n const Component = as || defaultElement;\n\n const typeClasses: Record<FormMessageType, string> = {\n error: \"text-red-900 dark:text-red-900\",\n info: \"text-blue-900 dark:text-blue-900\",\n warning: \"text-yellow-900 dark:text-yellow-900\",\n };\n\n const classes = cn(\n \"mb-0 inline-flex items-center text-xs font-medium\",\n typeClasses[type],\n className,\n );\n\n // TODO: add icon\n return (\n <Component data-type={type} className={classes} {...props}>\n {children}\n </Component>\n );\n};\n"],"mappings":";;;AAcA,MAAMC,iBAAiB;AAEvB,MAAaC,eAEqB,EAChCC,UACAC,OAAO,QACPC,IACAC,WACA,GAAGC,YACC;CACJ,MAAMC,YAAYH,MAAMJ;CAQxB,MAAMY,UAAUb,GACd,qDAPmD;EACnDU,OAAO;EACPC,MAAM;EACNC,SAAS;EACV,CAIaR,OACZE,UACD;AAGD,QACE,oBAAC,WAAD;EAAW,aAAWF;EAAM,WAAWS;EAAS,GAAIN;EACjDJ;EACS,CAAA"}
1
+ {"version":3,"file":"form-message.js","names":["twMerge","defaultElement","FormMessage","children","type","as","className","props","Component","typeClasses","error","info","warning","classes"],"sources":["../../../../src/ui/components/form-message/form-message.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\n\nexport type FormMessageType = \"error\" | \"info\" | \"warning\";\n\ntype FormMessageOwnProps<E extends React.ElementType = React.ElementType> = {\n type?: FormMessageType;\n as?: E;\n className?: string;\n};\n\nexport type FormMessageProps<E extends React.ElementType> =\n FormMessageOwnProps<E> &\n Omit<React.ComponentPropsWithoutRef<E>, keyof FormMessageOwnProps>;\n\nconst defaultElement = \"p\";\n\nexport const FormMessage: <E extends React.ElementType = typeof defaultElement>(\n props: FormMessageProps<E>,\n) => React.ReactElement | null = ({\n children,\n type = \"info\",\n as,\n className,\n ...props\n}) => {\n const Component = as || defaultElement;\n\n const typeClasses: Record<FormMessageType, string> = {\n error: \"text-red-900 dark:text-red-400\",\n info: \"text-blue-900 dark:text-blue-100\",\n warning: \"text-yellow-900 dark:text-yellow-100\",\n };\n\n const classes = twMerge(\n \"mb-0 inline-flex items-center text-xs font-medium\",\n typeClasses[type],\n className,\n );\n\n // TODO: add icon\n return (\n <Component data-type={type} className={classes} {...props}>\n {children}\n </Component>\n );\n};\n"],"mappings":";;;AAcA,MAAMC,iBAAiB;AAEvB,MAAaC,eAEqB,EAChCC,UACAC,OAAO,QACPC,IACAC,WACA,GAAGC,YACC;CACJ,MAAMC,YAAYH,MAAMJ;CAQxB,MAAMY,UAAUb,QACd,qDAPmD;EACnDU,OAAO;EACPC,MAAM;EACNC,SAAS;EACV,CAIaR,OACZE,UACD;AAGD,QACE,oBAAC,WAAD;EAAW,aAAWF;EAAM,WAAWS;EAAS,GAAIN;EACjDJ;EACS,CAAA"}
@@ -1,2 +1,2 @@
1
- import { t as FormServerErrorMessage } from "../../../form-server-error-message-CzMQQ8ru.js";
1
+ import { t as FormServerErrorMessage } from "../../../form-server-error-message-DXbaiTfF.js";
2
2
  export { FormServerErrorMessage };
@@ -1,2 +1,2 @@
1
- import { t as FormMessageList } from "../../../message-list-aysvo-xf.js";
1
+ import { t as FormMessageList } from "../../../message-list-C4mPpBBa.js";
2
2
  export { FormMessageList };
@@ -1,5 +1,5 @@
1
- import { t as cn } from "../../../src-BgCjYazJ.js";
2
1
  import { FormMessage } from "./form-message.js";
2
+ import { twMerge } from "tailwind-merge";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  //#region src/ui/components/form-message/message-list.tsx
5
5
  const FormMessageList = ({ messages, type = "info", className, ...props }) => {
@@ -10,17 +10,17 @@ const FormMessageList = ({ messages, type = "info", className, ...props }) => {
10
10
  children: messages[0]
11
11
  });
12
12
  const typeClasses = {
13
- error: "before:bg-red-900 dark:before:bg-red-900",
14
- info: "before:bg-blue-900 dark:before:bg-blue-900",
15
- warning: "before:bg-orange-900 dark:before:bg-orange-900"
13
+ error: "before:bg-red-900 dark:before:bg-red-50",
14
+ info: "before:bg-blue-900 dark:before:bg-blue-50",
15
+ warning: "before:bg-orange-900 dark:before:bg-orange-50"
16
16
  };
17
17
  return /* @__PURE__ */ jsx("ul", {
18
- className: cn("flex flex-col gap-1", className),
18
+ className: twMerge("flex flex-col gap-1", className),
19
19
  ...props,
20
20
  children: messages.map((message) => /* @__PURE__ */ jsx(FormMessage, {
21
21
  as: "li",
22
22
  type,
23
- className: cn("relative pl-4", "before:absolute before:top-[0.4em] before:left-0 before:size-2 before:rounded-full", typeClasses[type]),
23
+ className: twMerge("relative pl-4", "before:absolute before:top-[0.4em] before:left-0 before:size-2 before:rounded-full", typeClasses[type]),
24
24
  children: message
25
25
  }, message))
26
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"message-list.js","names":["cn","FormMessage","FormMessageList","messages","type","className","props","length","typeClasses","error","info","warning","map","message"],"sources":["../../../../src/ui/components/form-message/message-list.tsx"],"sourcesContent":["import { cn } from \"#design-system\";\nimport type { FormMessageType } from \"./form-message.js\";\nimport { FormMessage } from \"./form-message.js\";\n\ninterface FormMessageListProps {\n messages: string[];\n type?: FormMessageType;\n className?: string;\n}\n\nexport const FormMessageList: React.FC<FormMessageListProps> = ({\n messages,\n type = \"info\",\n className,\n ...props\n}) => {\n if (messages.length === 0) {\n return null;\n }\n\n if (messages.length === 1) {\n return (\n <FormMessage type={type} {...props}>\n {messages[0]}\n </FormMessage>\n );\n }\n\n const typeClasses: Record<FormMessageType, string> = {\n error: \"before:bg-red-900 dark:before:bg-red-900\",\n info: \"before:bg-blue-900 dark:before:bg-blue-900\",\n warning: \"before:bg-orange-900 dark:before:bg-orange-900\",\n };\n\n return (\n <ul className={cn(\"flex flex-col gap-1\", className)} {...props}>\n {messages.map((message) => (\n <FormMessage\n key={message}\n as=\"li\"\n type={type}\n className={cn(\n // Layout\n \"relative pl-4\",\n // Visual styles\n \"before:absolute before:top-[0.4em] before:left-0 before:size-2 before:rounded-full\",\n typeClasses[type],\n )}\n >\n {message}\n </FormMessage>\n ))}\n </ul>\n );\n};\n"],"mappings":";;;;AAUA,MAAaE,mBAAmD,EAC9DC,UACAC,OAAO,QACPC,WACA,GAAGC,YACC;AACJ,KAAIH,SAASI,WAAW,EACtB,QAAO;AAGT,KAAIJ,SAASI,WAAW,EACtB,QACE,oBAAC,aAAD;EAAmBH;EAAM,GAAIE;YAC1BH,SAAS;EACE,CAAA;CAIlB,MAAMK,cAA+C;EACnDC,OAAO;EACPC,MAAM;EACNC,SAAS;EACV;AAED,QACE,oBAAC,MAAD;EAAI,WAAWX,GAAG,uBAAuBK,UAAU;EAAE,GAAIC;YACtDH,SAASS,KAAKC,YACb,oBAAC,aAAD;GAEE,IAAG;GACGT;GACN,WAAWJ,GAET,iBAEA,sFACAQ,YAAYJ,MACb;aAEAS;GAEJ,EAbQA,QAaR,CAAC;EACC,CAAA"}
1
+ {"version":3,"file":"message-list.js","names":["twMerge","FormMessage","FormMessageList","messages","type","className","props","length","typeClasses","error","info","warning","map","message"],"sources":["../../../../src/ui/components/form-message/message-list.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\nimport type { FormMessageType } from \"./form-message.js\";\nimport { FormMessage } from \"./form-message.js\";\n\ninterface FormMessageListProps {\n messages: string[];\n type?: FormMessageType;\n className?: string;\n}\n\nexport const FormMessageList: React.FC<FormMessageListProps> = ({\n messages,\n type = \"info\",\n className,\n ...props\n}) => {\n if (messages.length === 0) {\n return null;\n }\n\n if (messages.length === 1) {\n return (\n <FormMessage type={type} {...props}>\n {messages[0]}\n </FormMessage>\n );\n }\n\n const typeClasses: Record<FormMessageType, string> = {\n error: \"before:bg-red-900 dark:before:bg-red-50\",\n info: \"before:bg-blue-900 dark:before:bg-blue-50\",\n warning: \"before:bg-orange-900 dark:before:bg-orange-50\",\n };\n\n return (\n <ul className={twMerge(\"flex flex-col gap-1\", className)} {...props}>\n {messages.map((message) => (\n <FormMessage\n key={message}\n as=\"li\"\n type={type}\n className={twMerge(\n // Layout\n \"relative pl-4\",\n // Visual styles\n \"before:absolute before:top-[0.4em] before:left-0 before:size-2 before:rounded-full\",\n typeClasses[type],\n )}\n >\n {message}\n </FormMessage>\n ))}\n </ul>\n );\n};\n"],"mappings":";;;;AAUA,MAAaE,mBAAmD,EAC9DC,UACAC,OAAO,QACPC,WACA,GAAGC,YACC;AACJ,KAAIH,SAASI,WAAW,EACtB,QAAO;AAGT,KAAIJ,SAASI,WAAW,EACtB,QACE,oBAAC,aAAD;EAAmBH;EAAM,GAAIE;YAC1BH,SAAS;EACE,CAAA;CAIlB,MAAMK,cAA+C;EACnDC,OAAO;EACPC,MAAM;EACNC,SAAS;EACV;AAED,QACE,oBAAC,MAAD;EAAI,WAAWX,QAAQ,uBAAuBK,UAAU;EAAE,GAAIC;YAC3DH,SAASS,KAAKC,YACb,oBAAC,aAAD;GAEE,IAAG;GACGT;GACN,WAAWJ,QAET,iBAEA,sFACAQ,YAAYJ,MACb;aAEAS;GAEJ,EAbQA,QAaR,CAAC;EACC,CAAA"}
@@ -1,2 +1,2 @@
1
- import { n as IdAutocompleteInputContainerProps, t as IdAutocompleteInputContainer } from "../../../id-autocomplete-input-container-NIuWfCB_.js";
1
+ import { n as IdAutocompleteInputContainerProps, t as IdAutocompleteInputContainer } from "../../../id-autocomplete-input-container-DFEyPh5p.js";
2
2
  export { IdAutocompleteInputContainer, IdAutocompleteInputContainerProps };
@@ -1,9 +1,10 @@
1
- import { h as Icon, t as cn } from "../../../src-BgCjYazJ.js";
1
+ import { t as Icon } from "../../../icon-C4QOpsdI.js";
2
2
  import { Tooltip, TooltipProvider as Provider } from "../tooltip/tooltip.js";
3
3
  import { sharedValueTransformers } from "../../lib/shared-value-transformers.js";
4
4
  import { Input } from "../input/input.js";
5
5
  import { ValueTransformer } from "../value-transformer/value-transformer.js";
6
6
  import React, { useMemo, useState } from "react";
7
+ import { twMerge } from "tailwind-merge";
7
8
  import { jsx, jsxs } from "react/jsx-runtime";
8
9
  import { Command } from "cmdk";
9
10
  import { useMediaQuery } from "usehooks-ts";
@@ -13,7 +14,7 @@ const IdAutocompleteInputContainer = /* @__PURE__ */ React.forwardRef(({ id, nam
13
14
  const hasHover = useMediaQuery("(hover: hover) and (pointer: fine)");
14
15
  const transformers = useMemo(() => [sharedValueTransformers.trimOnBlur(), sharedValueTransformers.trimOnEnter()], []);
15
16
  return /* @__PURE__ */ jsxs("div", {
16
- className: cn("group relative"),
17
+ className: twMerge("group relative"),
17
18
  children: [/* @__PURE__ */ jsx(ValueTransformer, {
18
19
  transformers,
19
20
  children: /* @__PURE__ */ jsx(Command.Input, {
@@ -22,7 +23,7 @@ const IdAutocompleteInputContainer = /* @__PURE__ */ React.forwardRef(({ id, nam
22
23
  id,
23
24
  name,
24
25
  value,
25
- className: cn("pr-9", className),
26
+ className: twMerge("pr-9", className),
26
27
  disabled,
27
28
  onChange,
28
29
  onBlur,
@@ -67,19 +68,19 @@ const IdAutocompleteInputContainer = /* @__PURE__ */ React.forwardRef(({ id, nam
67
68
  })
68
69
  })
69
70
  }), /* @__PURE__ */ jsxs("div", {
70
- className: cn("absolute top-1/2 right-3 flex size-4 -translate-y-1/2 items-center", !isLoading && !haveFetchError && !selectedOption && "pointer-events-none"),
71
+ className: twMerge("absolute top-1/2 right-3 flex size-4 -translate-y-1/2 items-center", !isLoading && !haveFetchError && !selectedOption && "pointer-events-none"),
71
72
  children: [
72
73
  isLoading && /* @__PURE__ */ jsx(Icon, {
73
74
  name: "Reload",
74
75
  size: 16,
75
- className: cn("animate-spin text-gray-500 dark:text-gray-600")
76
+ className: twMerge("animate-spin text-gray-500 dark:text-slate-400")
76
77
  }),
77
78
  haveFetchError && /* @__PURE__ */ jsx(Provider, { children: /* @__PURE__ */ jsx(Tooltip, {
78
79
  content: "Network error!",
79
80
  children: /* @__PURE__ */ jsx(Icon, {
80
81
  name: "Error",
81
82
  size: 16,
82
- className: cn("text-red-900")
83
+ className: twMerge("text-red-900 dark:text-red-400")
83
84
  })
84
85
  }) }),
85
86
  selectedOption && !isLoading && !haveFetchError && /* @__PURE__ */ jsx(Provider, { children: /* @__PURE__ */ jsx(Tooltip, {
@@ -93,14 +94,14 @@ const IdAutocompleteInputContainer = /* @__PURE__ */ React.forwardRef(({ id, nam
93
94
  setHasCopied(true);
94
95
  setTimeout(() => setHasCopied(false), 2e3);
95
96
  }).catch((error) => {
96
- console.error("Failed to copy value: ", error);
97
+ console.error("Failed to copy value:", error);
97
98
  });
98
99
  },
99
- className: cn("focus-visible:outline-none [&_svg]:pointer-events-none", hasHover && "opacity-0 transition-opacity duration-500 group-hover:opacity-100"),
100
+ className: twMerge("focus-visible:outline-none [&_svg]:pointer-events-none", hasHover && "opacity-0 transition-opacity duration-500 group-hover:opacity-100"),
100
101
  children: /* @__PURE__ */ jsx(Icon, {
101
102
  name: "Copy",
102
103
  size: 16,
103
- className: cn("text-gray-500 dark:text-gray-600")
104
+ className: twMerge("text-gray-500 dark:text-slate-400")
104
105
  })
105
106
  })
106
107
  }) })
@@ -1 +1 @@
1
- {"version":3,"file":"id-autocomplete-input-container.js","names":["cn","Icon","sharedValueTransformers","Command","CommandPrimitive","React","useMemo","useState","useMediaQuery","Input","Tooltip","TooltipProvider","ValueTransformer","IdAutocompleteInputContainer","forwardRef","id","name","value","className","isLoading","haveFetchError","disabled","onChange","onBlur","onClick","selectedOption","optionsLength","handleOpenChange","onKeyDown","onMouseDown","placeholder","hasError","label","required","isPopoverOpen","maxLength","handlePaste","onPaste","props","ref","hasCopied","setHasCopied","hasHover","transformers","trimOnBlur","trimOnEnter","e","input","target","isOptionsRelatedKey","includes","key","preventDefault","stopPropagation","contains","document","activeElement","requestAnimationFrame","select","undefined","navigator","clipboard","writeText","then","setTimeout","catch","error","console"],"sources":["../../../../src/ui/components/id-autocomplete/id-autocomplete-input-container.tsx"],"sourcesContent":["import type { TransformerType } from \"#design-system\";\nimport { cn, Icon } from \"#design-system\";\nimport { sharedValueTransformers } from \"#design-system/ui/lib\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport React, { useMemo, useState } from \"react\";\nimport { useMediaQuery } from \"usehooks-ts\";\nimport type { InputBaseProps } from \"../../types.js\";\nimport { Input } from \"../input/input.js\";\nimport { Tooltip, TooltipProvider } from \"../tooltip/tooltip.js\";\nimport { ValueTransformer } from \"../value-transformer/value-transformer.js\";\nimport type { IdAutocompleteOption } from \"./types.js\";\n\ninterface IdAutocompleteInputContainerProps extends Omit<\n InputBaseProps<string>,\n \"defaultValue\" | \"errors\" | \"warnings\"\n> {\n isLoading: boolean;\n haveFetchError: boolean;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;\n onClick?: (e: React.MouseEvent<HTMLInputElement>) => void;\n selectedOption?: IdAutocompleteOption;\n optionsLength: number;\n handleOpenChange?: (open: boolean) => void;\n onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void;\n onMouseDown?: (e: React.MouseEvent<HTMLInputElement>) => void;\n placeholder?: string;\n hasError: boolean;\n isPopoverOpen: boolean;\n maxLength?: number;\n handlePaste?: (e: React.ClipboardEvent<HTMLInputElement>) => void;\n onPaste?: (e: React.ClipboardEvent<HTMLInputElement>) => void;\n}\n\nconst IdAutocompleteInputContainer = React.forwardRef<\n HTMLInputElement,\n IdAutocompleteInputContainerProps\n>(\n (\n {\n id,\n name,\n value,\n className,\n isLoading,\n haveFetchError,\n disabled,\n onChange,\n onBlur,\n onClick,\n selectedOption,\n optionsLength,\n handleOpenChange,\n onKeyDown,\n onMouseDown,\n placeholder,\n hasError,\n label,\n required,\n isPopoverOpen,\n maxLength,\n handlePaste,\n onPaste,\n ...props\n },\n ref,\n ) => {\n const [hasCopied, setHasCopied] = useState(false);\n const hasHover = useMediaQuery(\"(hover: hover) and (pointer: fine)\");\n\n const transformers: TransformerType = useMemo(\n () => [\n sharedValueTransformers.trimOnBlur(),\n sharedValueTransformers.trimOnEnter(),\n ],\n [],\n );\n\n return (\n <div className={cn(\"group relative\")}>\n <ValueTransformer transformers={transformers}>\n <CommandPrimitive.Input asChild>\n <Input\n id={id}\n name={name}\n value={value}\n className={cn(\"pr-9\", className)}\n disabled={disabled}\n onChange={onChange}\n onBlur={onBlur}\n onClick={(e) => {\n const input = e.target as HTMLInputElement;\n if (\n !(isLoading || haveFetchError) &&\n !selectedOption &&\n input.value !== \"\"\n ) {\n handleOpenChange?.(true);\n }\n onClick?.(e);\n }}\n onKeyDown={(e) => {\n onKeyDown?.(e);\n const isOptionsRelatedKey = [\n \"ArrowUp\",\n \"ArrowDown\",\n \"Enter\",\n ].includes(e.key);\n\n if (e.key === \"Enter\" && isPopoverOpen && optionsLength === 0) {\n handleOpenChange?.(false);\n e.preventDefault();\n return;\n }\n if (\n !(isOptionsRelatedKey && isPopoverOpen && optionsLength > 0)\n ) {\n e.stopPropagation();\n }\n }}\n onMouseDown={(e) => {\n const input = e.target as HTMLInputElement;\n if (!input.contains(document.activeElement)) {\n // wait for the next tick to ensure the focus occurs first\n requestAnimationFrame(() => {\n input.select();\n });\n }\n onMouseDown?.(e);\n }}\n onPaste={(e) => {\n handlePaste?.(e);\n onPaste?.(e);\n }}\n placeholder={placeholder}\n aria-invalid={hasError}\n aria-label={!label ? \"Id Autocomplete\" : undefined}\n aria-required={required}\n aria-expanded={isPopoverOpen}\n maxLength={maxLength}\n {...props}\n ref={ref}\n />\n </CommandPrimitive.Input>\n </ValueTransformer>\n <div\n className={cn(\n \"absolute top-1/2 right-3 flex size-4 -translate-y-1/2 items-center\",\n !isLoading &&\n !haveFetchError &&\n !selectedOption &&\n \"pointer-events-none\",\n )}\n >\n {isLoading && (\n <Icon\n name=\"Reload\"\n size={16}\n className={cn(\"animate-spin text-gray-500 dark:text-gray-600\")}\n />\n )}\n {haveFetchError && (\n <TooltipProvider>\n <Tooltip content=\"Network error!\">\n <Icon name=\"Error\" size={16} className={cn(\"text-red-900\")} />\n </Tooltip>\n </TooltipProvider>\n )}\n {selectedOption && !isLoading && !haveFetchError && (\n <TooltipProvider>\n <Tooltip content=\"Copied!\" open={hasCopied} triggerAsChild>\n <button\n type=\"button\"\n onClick={() => {\n navigator.clipboard\n .writeText(selectedOption.value)\n .then(() => {\n setHasCopied(true);\n setTimeout(() => setHasCopied(false), 2000);\n })\n .catch((error) => {\n console.error(\"Failed to copy value: \", error);\n });\n }}\n className={cn(\n \"focus-visible:outline-none [&_svg]:pointer-events-none\",\n hasHover &&\n \"opacity-0 transition-opacity duration-500 group-hover:opacity-100\",\n )}\n >\n <Icon\n name=\"Copy\"\n size={16}\n className={cn(\"text-gray-500 dark:text-gray-600\")}\n />\n </button>\n </Tooltip>\n </TooltipProvider>\n )}\n </div>\n </div>\n );\n },\n);\n\nexport { IdAutocompleteInputContainer, type IdAutocompleteInputContainerProps };\n"],"mappings":"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"}
1
+ {"version":3,"file":"id-autocomplete-input-container.js","names":["Icon","twMerge","sharedValueTransformers","Command","CommandPrimitive","React","useMemo","useState","useMediaQuery","Input","Tooltip","TooltipProvider","ValueTransformer","IdAutocompleteInputContainer","forwardRef","id","name","value","className","isLoading","haveFetchError","disabled","onChange","onBlur","onClick","selectedOption","optionsLength","handleOpenChange","onKeyDown","onMouseDown","placeholder","hasError","label","required","isPopoverOpen","maxLength","handlePaste","onPaste","props","ref","hasCopied","setHasCopied","hasHover","transformers","trimOnBlur","trimOnEnter","e","input","target","isOptionsRelatedKey","includes","key","preventDefault","stopPropagation","contains","document","activeElement","requestAnimationFrame","select","undefined","navigator","clipboard","writeText","then","setTimeout","catch","error","console"],"sources":["../../../../src/ui/components/id-autocomplete/id-autocomplete-input-container.tsx"],"sourcesContent":["import type { TransformerType } from \"#design-system\";\nimport { Icon } from \"#design-system\";\nimport { twMerge } from \"tailwind-merge\";\nimport { sharedValueTransformers } from \"#design-system/ui/lib\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport React, { useMemo, useState } from \"react\";\nimport { useMediaQuery } from \"usehooks-ts\";\nimport type { InputBaseProps } from \"../../types.js\";\nimport { Input } from \"../input/input.js\";\nimport { Tooltip, TooltipProvider } from \"../tooltip/tooltip.js\";\nimport { ValueTransformer } from \"../value-transformer/value-transformer.js\";\nimport type { IdAutocompleteOption } from \"./types.js\";\n\ninterface IdAutocompleteInputContainerProps extends Omit<\n InputBaseProps<string>,\n \"defaultValue\" | \"errors\" | \"warnings\"\n> {\n isLoading: boolean;\n haveFetchError: boolean;\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;\n onClick?: (e: React.MouseEvent<HTMLInputElement>) => void;\n selectedOption?: IdAutocompleteOption;\n optionsLength: number;\n handleOpenChange?: (open: boolean) => void;\n onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void;\n onMouseDown?: (e: React.MouseEvent<HTMLInputElement>) => void;\n placeholder?: string;\n hasError: boolean;\n isPopoverOpen: boolean;\n maxLength?: number;\n handlePaste?: (e: React.ClipboardEvent<HTMLInputElement>) => void;\n onPaste?: (e: React.ClipboardEvent<HTMLInputElement>) => void;\n}\n\nconst IdAutocompleteInputContainer = React.forwardRef<\n HTMLInputElement,\n IdAutocompleteInputContainerProps\n>(\n (\n {\n id,\n name,\n value,\n className,\n isLoading,\n haveFetchError,\n disabled,\n onChange,\n onBlur,\n onClick,\n selectedOption,\n optionsLength,\n handleOpenChange,\n onKeyDown,\n onMouseDown,\n placeholder,\n hasError,\n label,\n required,\n isPopoverOpen,\n maxLength,\n handlePaste,\n onPaste,\n ...props\n },\n ref,\n ) => {\n const [hasCopied, setHasCopied] = useState(false);\n const hasHover = useMediaQuery(\"(hover: hover) and (pointer: fine)\");\n\n const transformers: TransformerType = useMemo(\n () => [\n sharedValueTransformers.trimOnBlur(),\n sharedValueTransformers.trimOnEnter(),\n ],\n [],\n );\n\n return (\n <div className={twMerge(\"group relative\")}>\n <ValueTransformer transformers={transformers}>\n <CommandPrimitive.Input asChild>\n <Input\n id={id}\n name={name}\n value={value}\n className={twMerge(\"pr-9\", className)}\n disabled={disabled}\n onChange={onChange}\n onBlur={onBlur}\n onClick={(e) => {\n const input = e.target as HTMLInputElement;\n if (\n !(isLoading || haveFetchError) &&\n !selectedOption &&\n input.value !== \"\"\n ) {\n handleOpenChange?.(true);\n }\n onClick?.(e);\n }}\n onKeyDown={(e) => {\n onKeyDown?.(e);\n const isOptionsRelatedKey = [\n \"ArrowUp\",\n \"ArrowDown\",\n \"Enter\",\n ].includes(e.key);\n\n if (e.key === \"Enter\" && isPopoverOpen && optionsLength === 0) {\n handleOpenChange?.(false);\n e.preventDefault();\n return;\n }\n if (\n !(isOptionsRelatedKey && isPopoverOpen && optionsLength > 0)\n ) {\n e.stopPropagation();\n }\n }}\n onMouseDown={(e) => {\n const input = e.target as HTMLInputElement;\n if (!input.contains(document.activeElement)) {\n // wait for the next tick to ensure the focus occurs first\n requestAnimationFrame(() => {\n input.select();\n });\n }\n onMouseDown?.(e);\n }}\n onPaste={(e) => {\n handlePaste?.(e);\n onPaste?.(e);\n }}\n placeholder={placeholder}\n aria-invalid={hasError}\n aria-label={!label ? \"Id Autocomplete\" : undefined}\n aria-required={required}\n aria-expanded={isPopoverOpen}\n maxLength={maxLength}\n {...props}\n ref={ref}\n />\n </CommandPrimitive.Input>\n </ValueTransformer>\n <div\n className={twMerge(\n \"absolute top-1/2 right-3 flex size-4 -translate-y-1/2 items-center\",\n !isLoading &&\n !haveFetchError &&\n !selectedOption &&\n \"pointer-events-none\",\n )}\n >\n {isLoading && (\n <Icon\n name=\"Reload\"\n size={16}\n className={twMerge(\n \"animate-spin text-gray-500 dark:text-slate-400\",\n )}\n />\n )}\n {haveFetchError && (\n <TooltipProvider>\n <Tooltip content=\"Network error!\">\n <Icon\n name=\"Error\"\n size={16}\n className={twMerge(\"text-red-900 dark:text-red-400\")}\n />\n </Tooltip>\n </TooltipProvider>\n )}\n {selectedOption && !isLoading && !haveFetchError && (\n <TooltipProvider>\n <Tooltip content=\"Copied!\" open={hasCopied} triggerAsChild>\n <button\n type=\"button\"\n onClick={() => {\n navigator.clipboard\n .writeText(selectedOption.value)\n .then(() => {\n setHasCopied(true);\n setTimeout(() => setHasCopied(false), 2000);\n })\n .catch((error) => {\n console.error(\"Failed to copy value:\", error);\n });\n }}\n className={twMerge(\n \"focus-visible:outline-none [&_svg]:pointer-events-none\",\n hasHover &&\n \"opacity-0 transition-opacity duration-500 group-hover:opacity-100\",\n )}\n >\n <Icon\n name=\"Copy\"\n size={16}\n className={twMerge(\"text-gray-500 dark:text-slate-400\")}\n />\n </button>\n </Tooltip>\n </TooltipProvider>\n )}\n </div>\n </div>\n );\n },\n);\n\nexport { IdAutocompleteInputContainer, type IdAutocompleteInputContainerProps };\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { n as IdAutocompleteListOptionProps, t as IdAutocompleteListOption } from "../../../id-autocomplete-list-option-CA9HIqEh.js";
1
+ import { n as IdAutocompleteListOptionProps, t as IdAutocompleteListOption } from "../../../id-autocomplete-list-option-CB5B07Hi.js";
2
2
  export { IdAutocompleteListOption, IdAutocompleteListOptionProps };
@@ -1,12 +1,13 @@
1
- import { h as Icon, t as cn } from "../../../src-BgCjYazJ.js";
1
+ import { t as Icon } from "../../../icon-C4QOpsdI.js";
2
2
  import React from "react";
3
+ import { twMerge } from "tailwind-merge";
3
4
  import { jsx, jsxs } from "react/jsx-runtime";
4
5
  //#region src/ui/components/id-autocomplete/id-autocomplete-list-option.tsx
5
6
  const IconRenderer = ({ customIcon, asPlaceholder }) => {
6
7
  if (typeof customIcon === "string") return /* @__PURE__ */ jsx(Icon, {
7
8
  name: customIcon,
8
9
  size: 24,
9
- className: cn("shrink-0", asPlaceholder ? "text-gray-400 dark:text-gray-700" : "text-gray-900 dark:text-gray-300")
10
+ className: twMerge("shrink-0", asPlaceholder ? "text-gray-400 dark:text-slate-500" : "text-gray-900 dark:text-slate-50")
10
11
  });
11
12
  if (/* @__PURE__ */ React.isValidElement(customIcon)) return /* @__PURE__ */ jsx("div", {
12
13
  className: "size-6 shrink-0 overflow-hidden",
@@ -20,45 +21,45 @@ const ReloadButton = ({ isLoadingSelectedOption, handleFetchSelectedOption, isFe
20
21
  onClick: () => {
21
22
  if (!isLoadingSelectedOption && !isFetchSelectedOptionSync) handleFetchSelectedOption(value);
22
23
  },
23
- className: cn("mt-0.5 focus-visible:outline-none", "disabled:pointer-events-none [&_svg]:pointer-events-none"),
24
+ className: twMerge("mt-0.5 focus-visible:outline-none", "disabled:pointer-events-none [&_svg]:pointer-events-none"),
24
25
  "aria-label": isLoadingSelectedOption ? "Loading" : isFetchSelectedOptionSync ? "Success" : "Reload",
25
26
  children: /* @__PURE__ */ jsx(Icon, {
26
27
  name: isFetchSelectedOptionSync ? "Checkmark" : "Reload",
27
28
  size: 16,
28
- className: cn("text-gray-500 dark:text-gray-600", isLoadingSelectedOption && "animate-spin", isFetchSelectedOptionSync && "animate-fade-in duration-500")
29
+ className: twMerge("text-gray-500 dark:text-slate-400", isLoadingSelectedOption && "animate-spin", isFetchSelectedOptionSync && "animate-fade-in duration-500")
29
30
  })
30
31
  }) });
31
32
  const IdAutocompleteListOption = ({ variant = "withValue", icon, title = "Title not available", path = "Path not available", value, description = "Description not available", asPlaceholder, showValue = true, isLoadingSelectedOption, handleFetchSelectedOption, isFetchSelectedOptionSync, className, placeholderIcon = "PowerhouseLogoSmall", ...extraProps }) => {
32
33
  const renderWithValue = () => /* @__PURE__ */ jsx("div", {
33
- className: cn("flex w-full items-center"),
34
+ className: twMerge("flex w-full items-center"),
34
35
  children: /* @__PURE__ */ jsx("span", {
35
- className: cn("truncate text-xs/5", asPlaceholder ? "text-gray-400 dark:text-gray-700" : "text-gray-500 dark:text-gray-600"),
36
+ className: twMerge("truncate text-xs/5", asPlaceholder ? "text-gray-400 dark:text-slate-500" : "text-gray-500 dark:text-slate-400"),
36
37
  children: value
37
38
  })
38
39
  });
39
40
  const renderWithValueTitleAndDescription = (showDescription = true) => /* @__PURE__ */ jsxs("div", {
40
- className: cn("flex w-full flex-col gap-1"),
41
+ className: twMerge("flex w-full flex-col gap-1"),
41
42
  children: [
42
43
  /* @__PURE__ */ jsxs("div", {
43
- className: cn("flex gap-2"),
44
+ className: twMerge("flex gap-2"),
44
45
  children: [
45
46
  /* @__PURE__ */ jsx(IconRenderer, {
46
47
  customIcon: asPlaceholder ? placeholderIcon : icon,
47
48
  asPlaceholder
48
49
  }),
49
50
  /* @__PURE__ */ jsxs("div", {
50
- className: cn("flex min-w-0 grow flex-col gap-[-2px]"),
51
+ className: twMerge("flex min-w-0 grow flex-col gap-[-2px]"),
51
52
  children: [/* @__PURE__ */ jsx("span", {
52
- className: cn("truncate text-sm/5 font-bold", asPlaceholder ? "text-gray-400 dark:text-gray-700" : "text-gray-900 dark:text-gray-300"),
53
+ className: twMerge("truncate text-sm/5 font-bold", asPlaceholder ? "text-gray-400 dark:text-slate-500" : "text-gray-900 dark:text-slate-50"),
53
54
  children: title
54
55
  }), !showValue && typeof path === "object" ? /* @__PURE__ */ jsx("a", {
55
56
  href: path.url,
56
57
  target: "_blank",
57
58
  rel: "noopener noreferrer",
58
- className: cn("truncate text-xs/5 text-blue-900 hover:underline focus-visible:outline-none"),
59
+ className: twMerge("truncate text-xs/5 text-blue-900 hover:underline focus-visible:outline-none dark:text-blue-100"),
59
60
  children: path.text
60
61
  }) : /* @__PURE__ */ jsx("span", {
61
- className: cn("truncate text-xs/5", asPlaceholder ? "text-gray-400 dark:text-gray-700" : "text-gray-500 dark:text-gray-600"),
62
+ className: twMerge("truncate text-xs/5", asPlaceholder ? "text-gray-400 dark:text-slate-500" : "text-gray-500 dark:text-slate-400"),
62
63
  children: typeof path === "object" ? path.text : path
63
64
  })]
64
65
  }),
@@ -71,30 +72,30 @@ const IdAutocompleteListOption = ({ variant = "withValue", icon, title = "Title
71
72
  ]
72
73
  }),
73
74
  showValue && /* @__PURE__ */ jsx("div", {
74
- className: cn("flex max-w-full items-center"),
75
+ className: twMerge("flex max-w-full items-center"),
75
76
  children: /* @__PURE__ */ jsx("span", {
76
- className: cn("truncate text-xs/5", asPlaceholder ? "text-gray-400 dark:text-gray-700" : "text-gray-500 dark:text-gray-600"),
77
+ className: twMerge("truncate text-xs/5", asPlaceholder ? "text-gray-400 dark:text-slate-500" : "text-gray-500 dark:text-slate-400"),
77
78
  children: value
78
79
  })
79
80
  }),
80
81
  showDescription && /* @__PURE__ */ jsx("div", {
81
- className: cn("flex flex-col"),
82
+ className: twMerge("flex flex-col"),
82
83
  children: /* @__PURE__ */ jsx("p", {
83
- className: cn("line-clamp-2 text-xs/5", asPlaceholder ? "text-gray-400 dark:text-gray-700" : "text-gray-900 dark:text-gray-300"),
84
+ className: twMerge("line-clamp-2 text-xs/5", asPlaceholder ? "text-gray-400 dark:text-slate-500" : "text-gray-900 dark:text-slate-50"),
84
85
  children: description
85
86
  })
86
87
  }),
87
88
  showDescription && "agentType" in extraProps && typeof extraProps.agentType === "string" && /* @__PURE__ */ jsx("div", {
88
- className: cn("flex max-w-full items-center justify-end"),
89
+ className: twMerge("flex max-w-full items-center justify-end"),
89
90
  children: /* @__PURE__ */ jsx("span", {
90
- className: cn("truncate text-xs/5", asPlaceholder ? "text-gray-400 dark:text-gray-700" : "text-gray-500 dark:text-gray-600"),
91
+ className: twMerge("truncate text-xs/5", asPlaceholder ? "text-gray-400 dark:text-slate-500" : "text-gray-500 dark:text-slate-400"),
91
92
  children: extraProps.agentType
92
93
  })
93
94
  })
94
95
  ]
95
96
  });
96
97
  return /* @__PURE__ */ jsxs("div", {
97
- className: cn("w-full max-w-full rounded-md bg-transparent px-3 pb-2", variant === "withValue" ? "pt-2" : "pt-3", className),
98
+ className: twMerge("w-full max-w-full rounded-md bg-transparent px-3 pb-2", variant === "withValue" ? "pt-2" : "pt-3", className),
98
99
  children: [
99
100
  variant === "withValue" && renderWithValue(),
100
101
  variant === "withValueAndTitle" && renderWithValueTitleAndDescription(false),
@@ -1 +1 @@
1
- {"version":3,"file":"id-autocomplete-list-option.js","names":["cn","Icon","React","IconRenderer","customIcon","asPlaceholder","isValidElement","ReloadButton","isLoadingSelectedOption","handleFetchSelectedOption","isFetchSelectedOptionSync","value","IdAutocompleteListOption","variant","icon","title","path","description","showValue","className","placeholderIcon","extraProps","renderWithValue","renderWithValueTitleAndDescription","showDescription","url","text","agentType"],"sources":["../../../../src/ui/components/id-autocomplete/id-autocomplete-list-option.tsx"],"sourcesContent":["import type { IconName } from \"#design-system\";\nimport { cn, Icon } from \"#design-system\";\nimport React from \"react\";\nimport type { IdAutocompleteOption, IdAutocompleteProps } from \"./types.js\";\n\nconst IconRenderer: React.FC<{\n customIcon?: IconName | React.ReactElement;\n asPlaceholder?: boolean;\n}> = ({ customIcon, asPlaceholder }) => {\n if (typeof customIcon === \"string\") {\n return (\n <Icon\n name={customIcon}\n size={24}\n className={cn(\n \"shrink-0\",\n asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-900 dark:text-gray-300\",\n )}\n />\n );\n }\n if (React.isValidElement(customIcon)) {\n return <div className=\"size-6 shrink-0 overflow-hidden\">{customIcon}</div>;\n }\n return null;\n};\n\nconst ReloadButton: React.FC<{\n isLoadingSelectedOption?: boolean;\n handleFetchSelectedOption: (value: string) => void;\n isFetchSelectedOptionSync?: boolean;\n value: string;\n}> = ({\n isLoadingSelectedOption,\n handleFetchSelectedOption,\n isFetchSelectedOptionSync,\n value,\n}) => (\n <div>\n <button\n type=\"button\"\n disabled={isLoadingSelectedOption || isFetchSelectedOptionSync}\n onClick={() => {\n if (!isLoadingSelectedOption && !isFetchSelectedOptionSync) {\n handleFetchSelectedOption(value);\n }\n }}\n className={cn(\n \"mt-0.5 focus-visible:outline-none\",\n \"disabled:pointer-events-none [&_svg]:pointer-events-none\",\n )}\n aria-label={\n isLoadingSelectedOption\n ? \"Loading\"\n : isFetchSelectedOptionSync\n ? \"Success\"\n : \"Reload\"\n }\n >\n <Icon\n name={isFetchSelectedOptionSync ? \"Checkmark\" : \"Reload\"}\n size={16}\n className={cn(\n \"text-gray-500 dark:text-gray-600\",\n isLoadingSelectedOption && \"animate-spin\",\n isFetchSelectedOptionSync && \"animate-fade-in duration-500\",\n )}\n />\n </button>\n </div>\n);\n\ntype IdAutocompleteListOptionProps = {\n variant: IdAutocompleteProps[\"variant\"];\n asPlaceholder?: boolean;\n showValue?: boolean;\n isLoadingSelectedOption?: boolean;\n handleFetchSelectedOption?: (value: string) => void;\n isFetchSelectedOptionSync?: boolean;\n className?: string;\n placeholderIcon?: IconName | React.ReactElement;\n} & IdAutocompleteOption<Record<string, unknown>>;\n\nconst IdAutocompleteListOption: React.FC<IdAutocompleteListOptionProps> = ({\n variant = \"withValue\",\n icon,\n title = \"Title not available\",\n path = \"Path not available\",\n value,\n description = \"Description not available\",\n asPlaceholder,\n showValue = true,\n isLoadingSelectedOption,\n handleFetchSelectedOption,\n isFetchSelectedOptionSync,\n className,\n placeholderIcon = \"PowerhouseLogoSmall\",\n ...extraProps\n}) => {\n const renderWithValue = () => (\n <div className={cn(\"flex w-full items-center\")}>\n <span\n className={cn(\n \"truncate text-xs/5\",\n asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-500 dark:text-gray-600\",\n )}\n >\n {value}\n </span>\n </div>\n );\n\n const renderWithValueTitleAndDescription = (showDescription = true) => (\n <div className={cn(\"flex w-full flex-col gap-1\")}>\n <div className={cn(\"flex gap-2\")}>\n <IconRenderer\n customIcon={asPlaceholder ? placeholderIcon : icon}\n asPlaceholder={asPlaceholder}\n />\n <div className={cn(\"flex min-w-0 grow flex-col gap-[-2px]\")}>\n <span\n className={cn(\n \"truncate text-sm/5 font-bold\",\n asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-900 dark:text-gray-300\",\n )}\n >\n {title}\n </span>\n {!showValue && typeof path === \"object\" ? (\n <a\n href={path.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={cn(\n \"truncate text-xs/5 text-blue-900 hover:underline focus-visible:outline-none\",\n )}\n >\n {path.text}\n </a>\n ) : (\n <span\n className={cn(\n \"truncate text-xs/5\",\n asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-500 dark:text-gray-600\",\n )}\n >\n {typeof path === \"object\" ? path.text : path}\n </span>\n )}\n </div>\n {asPlaceholder === false && handleFetchSelectedOption && (\n <ReloadButton\n isLoadingSelectedOption={isLoadingSelectedOption}\n handleFetchSelectedOption={handleFetchSelectedOption}\n isFetchSelectedOptionSync={isFetchSelectedOptionSync}\n value={value}\n />\n )}\n </div>\n {showValue && (\n <div className={cn(\"flex max-w-full items-center\")}>\n <span\n className={cn(\n \"truncate text-xs/5\",\n asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-500 dark:text-gray-600\",\n )}\n >\n {value}\n </span>\n </div>\n )}\n {showDescription && (\n <div className={cn(\"flex flex-col\")}>\n <p\n className={cn(\n \"line-clamp-2 text-xs/5\",\n asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-900 dark:text-gray-300\",\n )}\n >\n {description}\n </p>\n </div>\n )}\n {showDescription &&\n \"agentType\" in extraProps &&\n typeof extraProps.agentType === \"string\" && (\n <div className={cn(\"flex max-w-full items-center justify-end\")}>\n <span\n className={cn(\n \"truncate text-xs/5\",\n asPlaceholder\n ? \"text-gray-400 dark:text-gray-700\"\n : \"text-gray-500 dark:text-gray-600\",\n )}\n >\n {extraProps.agentType}\n </span>\n </div>\n )}\n </div>\n );\n\n return (\n <div\n className={cn(\n \"w-full max-w-full rounded-md bg-transparent px-3 pb-2\",\n variant === \"withValue\" ? \"pt-2\" : \"pt-3\",\n className,\n )}\n >\n {variant === \"withValue\" && renderWithValue()}\n {variant === \"withValueAndTitle\" &&\n renderWithValueTitleAndDescription(false)}\n {variant === \"withValueTitleAndDescription\" &&\n renderWithValueTitleAndDescription()}\n </div>\n );\n};\n\nexport { IdAutocompleteListOption, type IdAutocompleteListOptionProps };\n"],"mappings":"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"}
1
+ {"version":3,"file":"id-autocomplete-list-option.js","names":["Icon","twMerge","React","IconRenderer","customIcon","asPlaceholder","isValidElement","ReloadButton","isLoadingSelectedOption","handleFetchSelectedOption","isFetchSelectedOptionSync","value","IdAutocompleteListOption","variant","icon","title","path","description","showValue","className","placeholderIcon","extraProps","renderWithValue","renderWithValueTitleAndDescription","showDescription","url","text","agentType"],"sources":["../../../../src/ui/components/id-autocomplete/id-autocomplete-list-option.tsx"],"sourcesContent":["import type { IconName } from \"#design-system\";\nimport { Icon } from \"#design-system\";\nimport { twMerge } from \"tailwind-merge\";\nimport React from \"react\";\nimport type { IdAutocompleteOption, IdAutocompleteProps } from \"./types.js\";\n\nconst IconRenderer: React.FC<{\n customIcon?: IconName | React.ReactElement;\n asPlaceholder?: boolean;\n}> = ({ customIcon, asPlaceholder }) => {\n if (typeof customIcon === \"string\") {\n return (\n <Icon\n name={customIcon}\n size={24}\n className={twMerge(\n \"shrink-0\",\n asPlaceholder\n ? \"text-gray-400 dark:text-slate-500\"\n : \"text-gray-900 dark:text-slate-50\",\n )}\n />\n );\n }\n if (React.isValidElement(customIcon)) {\n return <div className=\"size-6 shrink-0 overflow-hidden\">{customIcon}</div>;\n }\n return null;\n};\n\nconst ReloadButton: React.FC<{\n isLoadingSelectedOption?: boolean;\n handleFetchSelectedOption: (value: string) => void;\n isFetchSelectedOptionSync?: boolean;\n value: string;\n}> = ({\n isLoadingSelectedOption,\n handleFetchSelectedOption,\n isFetchSelectedOptionSync,\n value,\n}) => (\n <div>\n <button\n type=\"button\"\n disabled={isLoadingSelectedOption || isFetchSelectedOptionSync}\n onClick={() => {\n if (!isLoadingSelectedOption && !isFetchSelectedOptionSync) {\n handleFetchSelectedOption(value);\n }\n }}\n className={twMerge(\n \"mt-0.5 focus-visible:outline-none\",\n \"disabled:pointer-events-none [&_svg]:pointer-events-none\",\n )}\n aria-label={\n isLoadingSelectedOption\n ? \"Loading\"\n : isFetchSelectedOptionSync\n ? \"Success\"\n : \"Reload\"\n }\n >\n <Icon\n name={isFetchSelectedOptionSync ? \"Checkmark\" : \"Reload\"}\n size={16}\n className={twMerge(\n \"text-gray-500 dark:text-slate-400\",\n isLoadingSelectedOption && \"animate-spin\",\n isFetchSelectedOptionSync && \"animate-fade-in duration-500\",\n )}\n />\n </button>\n </div>\n);\n\ntype IdAutocompleteListOptionProps = {\n variant: IdAutocompleteProps[\"variant\"];\n asPlaceholder?: boolean;\n showValue?: boolean;\n isLoadingSelectedOption?: boolean;\n handleFetchSelectedOption?: (value: string) => void;\n isFetchSelectedOptionSync?: boolean;\n className?: string;\n placeholderIcon?: IconName | React.ReactElement;\n} & IdAutocompleteOption<Record<string, unknown>>;\n\nconst IdAutocompleteListOption: React.FC<IdAutocompleteListOptionProps> = ({\n variant = \"withValue\",\n icon,\n title = \"Title not available\",\n path = \"Path not available\",\n value,\n description = \"Description not available\",\n asPlaceholder,\n showValue = true,\n isLoadingSelectedOption,\n handleFetchSelectedOption,\n isFetchSelectedOptionSync,\n className,\n placeholderIcon = \"PowerhouseLogoSmall\",\n ...extraProps\n}) => {\n const renderWithValue = () => (\n <div className={twMerge(\"flex w-full items-center\")}>\n <span\n className={twMerge(\n \"truncate text-xs/5\",\n asPlaceholder\n ? \"text-gray-400 dark:text-slate-500\"\n : \"text-gray-500 dark:text-slate-400\",\n )}\n >\n {value}\n </span>\n </div>\n );\n\n const renderWithValueTitleAndDescription = (showDescription = true) => (\n <div className={twMerge(\"flex w-full flex-col gap-1\")}>\n <div className={twMerge(\"flex gap-2\")}>\n <IconRenderer\n customIcon={asPlaceholder ? placeholderIcon : icon}\n asPlaceholder={asPlaceholder}\n />\n <div className={twMerge(\"flex min-w-0 grow flex-col gap-[-2px]\")}>\n <span\n className={twMerge(\n \"truncate text-sm/5 font-bold\",\n asPlaceholder\n ? \"text-gray-400 dark:text-slate-500\"\n : \"text-gray-900 dark:text-slate-50\",\n )}\n >\n {title}\n </span>\n {!showValue && typeof path === \"object\" ? (\n <a\n href={path.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={twMerge(\n \"truncate text-xs/5 text-blue-900 hover:underline focus-visible:outline-none dark:text-blue-100\",\n )}\n >\n {path.text}\n </a>\n ) : (\n <span\n className={twMerge(\n \"truncate text-xs/5\",\n asPlaceholder\n ? \"text-gray-400 dark:text-slate-500\"\n : \"text-gray-500 dark:text-slate-400\",\n )}\n >\n {typeof path === \"object\" ? path.text : path}\n </span>\n )}\n </div>\n {asPlaceholder === false && handleFetchSelectedOption && (\n <ReloadButton\n isLoadingSelectedOption={isLoadingSelectedOption}\n handleFetchSelectedOption={handleFetchSelectedOption}\n isFetchSelectedOptionSync={isFetchSelectedOptionSync}\n value={value}\n />\n )}\n </div>\n {showValue && (\n <div className={twMerge(\"flex max-w-full items-center\")}>\n <span\n className={twMerge(\n \"truncate text-xs/5\",\n asPlaceholder\n ? \"text-gray-400 dark:text-slate-500\"\n : \"text-gray-500 dark:text-slate-400\",\n )}\n >\n {value}\n </span>\n </div>\n )}\n {showDescription && (\n <div className={twMerge(\"flex flex-col\")}>\n <p\n className={twMerge(\n \"line-clamp-2 text-xs/5\",\n asPlaceholder\n ? \"text-gray-400 dark:text-slate-500\"\n : \"text-gray-900 dark:text-slate-50\",\n )}\n >\n {description}\n </p>\n </div>\n )}\n {showDescription &&\n \"agentType\" in extraProps &&\n typeof extraProps.agentType === \"string\" && (\n <div className={twMerge(\"flex max-w-full items-center justify-end\")}>\n <span\n className={twMerge(\n \"truncate text-xs/5\",\n asPlaceholder\n ? \"text-gray-400 dark:text-slate-500\"\n : \"text-gray-500 dark:text-slate-400\",\n )}\n >\n {extraProps.agentType}\n </span>\n </div>\n )}\n </div>\n );\n\n return (\n <div\n className={twMerge(\n \"w-full max-w-full rounded-md bg-transparent px-3 pb-2\",\n variant === \"withValue\" ? \"pt-2\" : \"pt-3\",\n className,\n )}\n >\n {variant === \"withValue\" && renderWithValue()}\n {variant === \"withValueAndTitle\" &&\n renderWithValueTitleAndDescription(false)}\n {variant === \"withValueTitleAndDescription\" &&\n renderWithValueTitleAndDescription()}\n </div>\n );\n};\n\nexport { IdAutocompleteListOption, type IdAutocompleteListOptionProps };\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { n as IdAutocompleteListProps, t as IdAutocompleteList } from "../../../id-autocomplete-list-Bi2IXdXg.js";
1
+ import { n as IdAutocompleteListProps, t as IdAutocompleteList } from "../../../id-autocomplete-list-EzLpF23C.js";
2
2
  export { IdAutocompleteList, IdAutocompleteListProps };
@@ -1,7 +1,7 @@
1
- import { t as cn } from "../../../src-BgCjYazJ.js";
2
1
  import { CommandEmpty, CommandGroup, CommandItem, CommandList } from "../command/command.js";
3
2
  import { IdAutocompleteListOption } from "./id-autocomplete-list-option.js";
4
3
  import { useEffect } from "react";
4
+ import { twMerge } from "tailwind-merge";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
6
  import { useCommandState } from "cmdk";
7
7
  //#region src/ui/components/id-autocomplete/id-autocomplete-list.tsx
@@ -22,11 +22,11 @@ const IdAutocompleteList = ({ variant, commandListRef, selectedValue, options =
22
22
  return /* @__PURE__ */ jsxs(CommandList, {
23
23
  ref: commandListRef,
24
24
  children: [/* @__PURE__ */ jsx(CommandEmpty, {
25
- className: cn("h-full p-1"),
25
+ className: twMerge("h-full p-1"),
26
26
  children: renderOption ? renderOption(defaultOption, {
27
27
  asPlaceholder: true,
28
28
  showValue: true,
29
- className: cn("pb-0")
29
+ className: twMerge("pb-0")
30
30
  }) : /* @__PURE__ */ jsx(IdAutocompleteListOption, {
31
31
  variant,
32
32
  icon: defaultOption.icon,
@@ -35,16 +35,16 @@ const IdAutocompleteList = ({ variant, commandListRef, selectedValue, options =
35
35
  value: defaultOption.value,
36
36
  description: defaultOption.description,
37
37
  asPlaceholder: true,
38
- className: cn("pb-0")
38
+ className: twMerge("pb-0")
39
39
  })
40
40
  }), /* @__PURE__ */ jsx(CommandGroup, {
41
- className: cn("px-1"),
41
+ className: twMerge("px-1"),
42
42
  children: options.map((opt) => {
43
43
  const isSelected = selectedValue === opt.value;
44
44
  return /* @__PURE__ */ jsx(CommandItem, {
45
45
  value: opt.value,
46
46
  onSelect: () => toggleOption?.(opt.value),
47
- className: cn("h-full cursor-pointer border-y-0 p-0", "data-[selected=true]:bg-gray-100 dark:data-[selected=true]:bg-gray-900"),
47
+ className: twMerge("h-full cursor-pointer border-y-0 p-0", "data-[selected=true]:bg-gray-100 dark:data-[selected=true]:bg-slate-900"),
48
48
  role: "option",
49
49
  "aria-selected": isSelected,
50
50
  children: renderOption ? renderOption(opt, {
@@ -1 +1 @@
1
- {"version":3,"file":"id-autocomplete-list.js","names":["cn","useCommandState","React","useEffect","CommandEmpty","CommandGroup","CommandItem","CommandList","IdAutocompleteListOption","IdAutocompleteList","variant","commandListRef","selectedValue","options","toggleOption","renderOption","previewPlaceholder","cmdkSearch","state","search","defaultOption","value","title","path","description","current","scrollTo","top","behavior","asPlaceholder","showValue","className","icon","map","opt","isSelected"],"sources":["../../../../src/ui/components/id-autocomplete/id-autocomplete-list.tsx"],"sourcesContent":["import { cn } from \"#design-system\";\nimport { useCommandState } from \"cmdk\";\nimport React, { useEffect } from \"react\";\nimport {\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandList,\n} from \"../command/command.js\";\nimport { IdAutocompleteListOption } from \"./id-autocomplete-list-option.js\";\nimport type { IdAutocompleteOption, IdAutocompleteProps } from \"./types.js\";\n\ninterface IdAutocompleteListProps {\n variant: IdAutocompleteProps[\"variant\"];\n commandListRef?: React.RefObject<HTMLDivElement | null>;\n selectedValue?: string;\n options?: IdAutocompleteOption[];\n toggleOption?: (value: string) => void;\n renderOption?: (\n option: IdAutocompleteOption,\n displayProps?: {\n asPlaceholder?: boolean;\n showValue?: boolean;\n isLoadingSelectedOption?: boolean;\n handleFetchSelectedOption?: (value: string) => void;\n className?: string;\n },\n ) => React.ReactNode;\n previewPlaceholder?: IdAutocompleteOption;\n}\n\nconst IdAutocompleteList: React.FC<IdAutocompleteListProps> = ({\n variant,\n commandListRef,\n selectedValue,\n options = [],\n toggleOption,\n renderOption,\n previewPlaceholder,\n}) => {\n const cmdkSearch = useCommandState((state) => state.search);\n const defaultOption: IdAutocompleteOption = previewPlaceholder || {\n value: \"value not available\",\n title: \"Title not available\",\n path: \"Path not available\",\n description: \"Description not available\",\n };\n\n useEffect(() => {\n commandListRef?.current?.scrollTo({ top: 0, behavior: \"instant\" });\n }, [commandListRef, cmdkSearch]);\n\n return (\n <CommandList ref={commandListRef}>\n <CommandEmpty className={cn(\"h-full p-1\")}>\n {renderOption ? (\n renderOption(defaultOption, {\n asPlaceholder: true,\n showValue: true,\n className: cn(\"pb-0\"),\n })\n ) : (\n <IdAutocompleteListOption\n variant={variant}\n icon={defaultOption.icon}\n title={defaultOption.title}\n path={defaultOption.path}\n value={defaultOption.value}\n description={defaultOption.description}\n asPlaceholder\n className={cn(\"pb-0\")}\n />\n )}\n </CommandEmpty>\n <CommandGroup className={cn(\"px-1\")}>\n {options.map((opt) => {\n const isSelected = selectedValue === opt.value;\n\n return (\n <CommandItem\n key={opt.value}\n value={opt.value}\n onSelect={() => toggleOption?.(opt.value)}\n className={cn(\n \"h-full cursor-pointer border-y-0 p-0\",\n \"data-[selected=true]:bg-gray-100 dark:data-[selected=true]:bg-gray-900\",\n )}\n role=\"option\"\n aria-selected={isSelected}\n >\n {renderOption ? (\n renderOption(opt, {\n asPlaceholder: false,\n showValue: true,\n })\n ) : (\n <IdAutocompleteListOption variant={variant} {...opt} />\n )}\n </CommandItem>\n );\n })}\n </CommandGroup>\n </CommandList>\n );\n};\n\nexport { IdAutocompleteList, type IdAutocompleteListProps };\n"],"mappings":";;;;;;;AA+BA,MAAMS,sBAAyD,EAC7DC,SACAC,gBACAC,eACAC,UAAU,EAAE,EACZC,cACAC,cACAC,yBACI;CACJ,MAAMC,aAAahB,iBAAiBiB,UAAUA,MAAMC,OAAO;CAC3D,MAAMC,gBAAsCJ,sBAAsB;EAChEK,OAAO;EACPC,OAAO;EACPC,MAAM;EACNC,aAAa;EACd;AAEDrB,iBAAgB;AACdQ,kBAAgBc,SAASC,SAAS;GAAEC,KAAK;GAAGC,UAAU;GAAW,CAAC;IACjE,CAACjB,gBAAgBM,WAAW,CAAC;AAEhC,QACE,qBAAC,aAAD;EAAa,KAAKN;YAAlB,CACE,oBAAC,cAAD;GAAc,WAAWX,GAAG,aAAa;aACtCe,eACCA,aAAaK,eAAe;IAC1BS,eAAe;IACfC,WAAW;IACXC,WAAW/B,GAAG,OAAM;IACrB,CAAC,GAEF,oBAAC,0BAAD;IACWU;IACT,MAAMU,cAAcY;IACpB,OAAOZ,cAAcE;IACrB,MAAMF,cAAcG;IACpB,OAAOH,cAAcC;IACrB,aAAaD,cAAcI;IAC3B,eAAA;IACA,WAAWxB,GAAG,OAAO;IAExB,CAAA;GACW,CAAA,EACd,oBAAC,cAAD;GAAc,WAAWA,GAAG,OAAO;aAChCa,QAAQoB,KAAKC,QAAQ;IACpB,MAAMC,aAAavB,kBAAkBsB,IAAIb;AAEzC,WACE,oBAAC,aAAD;KAEE,OAAOa,IAAIb;KACX,gBAAgBP,eAAeoB,IAAIb,MAAM;KACzC,WAAWrB,GACT,wCACA,yEACD;KACD,MAAK;KACL,iBAAemC;eAEdpB,eACCA,aAAamB,KAAK;MAChBL,eAAe;MACfC,WAAW;MACZ,CAAC,GAEF,oBAAC,0BAAD;MAAmCpB;MAAS,GAAIwB;MACjD,CAAA;KACW,EAlBPA,IAAIb,MAkBG;KAEhB;GACU,CAAA,CACF"}
1
+ {"version":3,"file":"id-autocomplete-list.js","names":["twMerge","useCommandState","React","useEffect","CommandEmpty","CommandGroup","CommandItem","CommandList","IdAutocompleteListOption","IdAutocompleteList","variant","commandListRef","selectedValue","options","toggleOption","renderOption","previewPlaceholder","cmdkSearch","state","search","defaultOption","value","title","path","description","current","scrollTo","top","behavior","asPlaceholder","showValue","className","icon","map","opt","isSelected"],"sources":["../../../../src/ui/components/id-autocomplete/id-autocomplete-list.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\nimport { useCommandState } from \"cmdk\";\nimport React, { useEffect } from \"react\";\nimport {\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandList,\n} from \"../command/command.js\";\nimport { IdAutocompleteListOption } from \"./id-autocomplete-list-option.js\";\nimport type { IdAutocompleteOption, IdAutocompleteProps } from \"./types.js\";\n\ninterface IdAutocompleteListProps {\n variant: IdAutocompleteProps[\"variant\"];\n commandListRef?: React.RefObject<HTMLDivElement | null>;\n selectedValue?: string;\n options?: IdAutocompleteOption[];\n toggleOption?: (value: string) => void;\n renderOption?: (\n option: IdAutocompleteOption,\n displayProps?: {\n asPlaceholder?: boolean;\n showValue?: boolean;\n isLoadingSelectedOption?: boolean;\n handleFetchSelectedOption?: (value: string) => void;\n className?: string;\n },\n ) => React.ReactNode;\n previewPlaceholder?: IdAutocompleteOption;\n}\n\nconst IdAutocompleteList: React.FC<IdAutocompleteListProps> = ({\n variant,\n commandListRef,\n selectedValue,\n options = [],\n toggleOption,\n renderOption,\n previewPlaceholder,\n}) => {\n const cmdkSearch = useCommandState((state) => state.search);\n const defaultOption: IdAutocompleteOption = previewPlaceholder || {\n value: \"value not available\",\n title: \"Title not available\",\n path: \"Path not available\",\n description: \"Description not available\",\n };\n\n useEffect(() => {\n commandListRef?.current?.scrollTo({ top: 0, behavior: \"instant\" });\n }, [commandListRef, cmdkSearch]);\n\n return (\n <CommandList ref={commandListRef}>\n <CommandEmpty className={twMerge(\"h-full p-1\")}>\n {renderOption ? (\n renderOption(defaultOption, {\n asPlaceholder: true,\n showValue: true,\n className: twMerge(\"pb-0\"),\n })\n ) : (\n <IdAutocompleteListOption\n variant={variant}\n icon={defaultOption.icon}\n title={defaultOption.title}\n path={defaultOption.path}\n value={defaultOption.value}\n description={defaultOption.description}\n asPlaceholder\n className={twMerge(\"pb-0\")}\n />\n )}\n </CommandEmpty>\n <CommandGroup className={twMerge(\"px-1\")}>\n {options.map((opt) => {\n const isSelected = selectedValue === opt.value;\n\n return (\n <CommandItem\n key={opt.value}\n value={opt.value}\n onSelect={() => toggleOption?.(opt.value)}\n className={twMerge(\n \"h-full cursor-pointer border-y-0 p-0\",\n \"data-[selected=true]:bg-gray-100 dark:data-[selected=true]:bg-slate-900\",\n )}\n role=\"option\"\n aria-selected={isSelected}\n >\n {renderOption ? (\n renderOption(opt, {\n asPlaceholder: false,\n showValue: true,\n })\n ) : (\n <IdAutocompleteListOption variant={variant} {...opt} />\n )}\n </CommandItem>\n );\n })}\n </CommandGroup>\n </CommandList>\n );\n};\n\nexport { IdAutocompleteList, type IdAutocompleteListProps };\n"],"mappings":";;;;;;;AA+BA,MAAMS,sBAAyD,EAC7DC,SACAC,gBACAC,eACAC,UAAU,EAAE,EACZC,cACAC,cACAC,yBACI;CACJ,MAAMC,aAAahB,iBAAiBiB,UAAUA,MAAMC,OAAO;CAC3D,MAAMC,gBAAsCJ,sBAAsB;EAChEK,OAAO;EACPC,OAAO;EACPC,MAAM;EACNC,aAAa;EACd;AAEDrB,iBAAgB;AACdQ,kBAAgBc,SAASC,SAAS;GAAEC,KAAK;GAAGC,UAAU;GAAW,CAAC;IACjE,CAACjB,gBAAgBM,WAAW,CAAC;AAEhC,QACE,qBAAC,aAAD;EAAa,KAAKN;YAAlB,CACE,oBAAC,cAAD;GAAc,WAAWX,QAAQ,aAAa;aAC3Ce,eACCA,aAAaK,eAAe;IAC1BS,eAAe;IACfC,WAAW;IACXC,WAAW/B,QAAQ,OAAM;IAC1B,CAAC,GAEF,oBAAC,0BAAD;IACWU;IACT,MAAMU,cAAcY;IACpB,OAAOZ,cAAcE;IACrB,MAAMF,cAAcG;IACpB,OAAOH,cAAcC;IACrB,aAAaD,cAAcI;IAC3B,eAAA;IACA,WAAWxB,QAAQ,OAAO;IAE7B,CAAA;GACW,CAAA,EACd,oBAAC,cAAD;GAAc,WAAWA,QAAQ,OAAO;aACrCa,QAAQoB,KAAKC,QAAQ;IACpB,MAAMC,aAAavB,kBAAkBsB,IAAIb;AAEzC,WACE,oBAAC,aAAD;KAEE,OAAOa,IAAIb;KACX,gBAAgBP,eAAeoB,IAAIb,MAAM;KACzC,WAAWrB,QACT,wCACA,0EACD;KACD,MAAK;KACL,iBAAemC;eAEdpB,eACCA,aAAamB,KAAK;MAChBL,eAAe;MACfC,WAAW;MACZ,CAAC,GAEF,oBAAC,0BAAD;MAAmCpB;MAAS,GAAIwB;MACjD,CAAA;KACW,EAlBPA,IAAIb,MAkBG;KAEhB;GACU,CAAA,CACF"}
@@ -1,2 +1,2 @@
1
- import { t as IdAutocomplete } from "../../../id-autocomplete-jkaREmPP.js";
1
+ import { t as IdAutocomplete } from "../../../id-autocomplete-C-hwriS5.js";
2
2
  export { IdAutocomplete };