@mastra/playground-ui 56.0.0 → 57.0.0-alpha.0

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 (425) hide show
  1. package/dist/{EmptyState-CdRjFB06.cjs → EmptyState-0MgNiP40.cjs} +11 -5
  2. package/dist/EmptyState-0MgNiP40.cjs.map +1 -0
  3. package/dist/{EmptyState-UWXhBp5U.js → EmptyState-CiZVWvpH.js} +11 -5
  4. package/dist/EmptyState-CiZVWvpH.js.map +1 -0
  5. package/dist/ErrorState-C7-4A-rB.cjs +21 -0
  6. package/dist/ErrorState-C7-4A-rB.cjs.map +1 -0
  7. package/dist/ErrorState-l5gg5Nzw.js +19 -0
  8. package/dist/ErrorState-l5gg5Nzw.js.map +1 -0
  9. package/dist/Header-BVnFQlzE.js +31 -0
  10. package/dist/Header-BVnFQlzE.js.map +1 -0
  11. package/dist/Header-CGjhJ0nQ.cjs +36 -0
  12. package/dist/Header-CGjhJ0nQ.cjs.map +1 -0
  13. package/dist/{PermissionDenied-Dz5qXpQj.cjs → PermissionDenied-CwLIzjpC.cjs} +11 -6
  14. package/dist/PermissionDenied-CwLIzjpC.cjs.map +1 -0
  15. package/dist/{PermissionDenied-B6TSGolC.js → PermissionDenied-DPM04x0a.js} +11 -6
  16. package/dist/PermissionDenied-DPM04x0a.js.map +1 -0
  17. package/dist/{SessionExpired-CF0BGNo_.cjs → SessionExpired-07Lz91i3.cjs} +4 -5
  18. package/dist/SessionExpired-07Lz91i3.cjs.map +1 -0
  19. package/dist/{SessionExpired-Bq5LcsDu.js → SessionExpired-CnJ8zr5Y.js} +4 -5
  20. package/dist/SessionExpired-CnJ8zr5Y.js.map +1 -0
  21. package/dist/ask-user-B_O3GEjY.cjs +216 -0
  22. package/dist/ask-user-B_O3GEjY.cjs.map +1 -0
  23. package/dist/ask-user-gT9rODOe.js +206 -0
  24. package/dist/ask-user-gT9rODOe.js.map +1 -0
  25. package/dist/{combobox-BWM3VH-n.cjs → combobox-BTZyTiyL.cjs} +3 -4
  26. package/dist/{combobox-BWM3VH-n.cjs.map → combobox-BTZyTiyL.cjs.map} +1 -1
  27. package/dist/{combobox-D7xJFZuO.js → combobox-B_gv8nUN.js} +2 -3
  28. package/dist/{combobox-D7xJFZuO.js.map → combobox-B_gv8nUN.js.map} +1 -1
  29. package/dist/components/ActionRow.cjs.js +38 -0
  30. package/dist/components/ActionRow.cjs.js.map +1 -0
  31. package/dist/components/ActionRow.d.ts +2 -0
  32. package/dist/components/ActionRow.es.js +34 -0
  33. package/dist/components/ActionRow.es.js.map +1 -0
  34. package/dist/components/Combobox.cjs.js +1 -1
  35. package/dist/components/Combobox.es.js +1 -1
  36. package/dist/components/Comment.cjs.js +2 -3
  37. package/dist/components/Comment.cjs.js.map +1 -1
  38. package/dist/components/Comment.es.js +1 -2
  39. package/dist/components/Comment.es.js.map +1 -1
  40. package/dist/components/DataCodeSection.cjs.js +1 -1
  41. package/dist/components/DataCodeSection.es.js +1 -1
  42. package/dist/components/DataDetailsPanel.cjs.js +2 -2
  43. package/dist/components/DataDetailsPanel.cjs.js.map +1 -1
  44. package/dist/components/DataDetailsPanel.es.js +2 -2
  45. package/dist/components/DataDetailsPanel.es.js.map +1 -1
  46. package/dist/components/DataPanel.cjs.js +1 -1
  47. package/dist/components/DataPanel.es.js +1 -1
  48. package/dist/components/DateTimePicker.cjs.js +1 -1
  49. package/dist/components/DateTimePicker.es.js +1 -1
  50. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  51. package/dist/components/DateTimeRangePicker.es.js +1 -1
  52. package/dist/components/EmptyState.cjs.js +1 -1
  53. package/dist/components/EmptyState.es.js +1 -1
  54. package/dist/components/EnvironmentVariablesEditor.cjs.js +7 -8
  55. package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
  56. package/dist/components/EnvironmentVariablesEditor.es.js +1 -2
  57. package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
  58. package/dist/components/ErrorState.cjs.js +1 -1
  59. package/dist/components/ErrorState.es.js +1 -1
  60. package/dist/components/FilterBar.cjs.js +490 -38
  61. package/dist/components/FilterBar.cjs.js.map +1 -1
  62. package/dist/components/FilterBar.es.js +490 -42
  63. package/dist/components/FilterBar.es.js.map +1 -1
  64. package/dist/components/FormFieldBlocks.cjs.js +11 -12
  65. package/dist/components/FormFieldBlocks.cjs.js.map +1 -1
  66. package/dist/components/FormFieldBlocks.es.js +4 -5
  67. package/dist/components/FormFieldBlocks.es.js.map +1 -1
  68. package/dist/components/Header.cjs.js +6 -31
  69. package/dist/components/Header.cjs.js.map +1 -1
  70. package/dist/components/Header.es.js +1 -30
  71. package/dist/components/Header.es.js.map +1 -1
  72. package/dist/components/IntegrationDialog.cjs.js +1 -1
  73. package/dist/components/IntegrationDialog.es.js +1 -1
  74. package/dist/components/JSONSchemaForm.cjs.js +2 -2
  75. package/dist/components/JSONSchemaForm.es.js +2 -2
  76. package/dist/components/ListSearch.cjs.js +1 -1
  77. package/dist/components/ListSearch.es.js +1 -1
  78. package/dist/components/LogsDataList.cjs.js +2 -0
  79. package/dist/components/LogsDataList.cjs.js.map +1 -1
  80. package/dist/components/LogsDataList.es.js +2 -0
  81. package/dist/components/LogsDataList.es.js.map +1 -1
  82. package/dist/components/Message.cjs.js +1 -1
  83. package/dist/components/Message.es.js +2 -2
  84. package/dist/components/MetricsCard.cjs.js +1 -1
  85. package/dist/components/MetricsCard.es.js +1 -1
  86. package/dist/components/MetricsKpiCard.cjs.js +1 -1
  87. package/dist/components/MetricsKpiCard.es.js +1 -1
  88. package/dist/components/PageLayout.cjs.js +30 -8
  89. package/dist/components/PageLayout.cjs.js.map +1 -1
  90. package/dist/components/PageLayout.es.js +32 -3
  91. package/dist/components/PageLayout.es.js.map +1 -1
  92. package/dist/components/PermissionDenied.cjs.js +1 -1
  93. package/dist/components/PermissionDenied.es.js +1 -1
  94. package/dist/components/PropertyFilter.cjs.js +2 -2
  95. package/dist/components/PropertyFilter.es.js +3 -3
  96. package/dist/components/RadioGroup.cjs.js +3 -56
  97. package/dist/components/RadioGroup.cjs.js.map +1 -1
  98. package/dist/components/RadioGroup.es.js +1 -39
  99. package/dist/components/RadioGroup.es.js.map +1 -1
  100. package/dist/components/SessionExpired.cjs.js +1 -1
  101. package/dist/components/SessionExpired.es.js +1 -1
  102. package/dist/components/SideDialog.cjs.js +10 -2
  103. package/dist/components/SideDialog.cjs.js.map +1 -1
  104. package/dist/components/SideDialog.es.js +10 -2
  105. package/dist/components/SideDialog.es.js.map +1 -1
  106. package/dist/components/Spinner.cjs.js +1 -1
  107. package/dist/components/Spinner.es.js +1 -1
  108. package/dist/components/Steps.cjs.js +1 -1
  109. package/dist/components/Steps.es.js +1 -1
  110. package/dist/components/Workflow.cjs.js +6 -6
  111. package/dist/components/Workflow.cjs.js.map +1 -1
  112. package/dist/components/Workflow.es.js +6 -6
  113. package/dist/components/Workflow.es.js.map +1 -1
  114. package/dist/components/ai/ask-user.cjs.js +4 -3
  115. package/dist/components/ai/ask-user.cjs.js.map +1 -1
  116. package/dist/components/ai/ask-user.es.js +1 -1
  117. package/dist/components/ai/tool-call.cjs.js +1 -1
  118. package/dist/components/ai/tool-call.es.js +2 -2
  119. package/dist/{data-code-section-qujvEc6j.cjs → data-code-section-Dpd2hzmU.cjs} +4 -4
  120. package/dist/{data-code-section-qujvEc6j.cjs.map → data-code-section-Dpd2hzmU.cjs.map} +1 -1
  121. package/dist/{data-code-section-DKz9Okaz.js → data-code-section-O-DRRO6N.js} +4 -4
  122. package/dist/{data-code-section-DKz9Okaz.js.map → data-code-section-O-DRRO6N.js.map} +1 -1
  123. package/dist/{data-panel-CWjgS1Gh.js → data-panel-CDJMMCvz.js} +3 -3
  124. package/dist/{data-panel-CWjgS1Gh.js.map → data-panel-CDJMMCvz.js.map} +1 -1
  125. package/dist/{data-panel-CWZJKBeW.cjs → data-panel-DNPcL38C.cjs} +3 -3
  126. package/dist/{data-panel-CWZJKBeW.cjs.map → data-panel-DNPcL38C.cjs.map} +1 -1
  127. package/dist/{date-time-range-picker-BcjLbkGu.js → date-time-range-picker-B-C-PPI4.js} +2 -3
  128. package/dist/{date-time-range-picker-BcjLbkGu.js.map → date-time-range-picker-B-C-PPI4.js.map} +1 -1
  129. package/dist/{date-time-range-picker-C6hjZswK.cjs → date-time-range-picker-D_mHYCx_.cjs} +3 -4
  130. package/dist/{date-time-range-picker-C6hjZswK.cjs.map → date-time-range-picker-D_mHYCx_.cjs.map} +1 -1
  131. package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
  132. package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
  133. package/dist/domains/chat/components/loading-badge.cjs.js +1 -1
  134. package/dist/domains/chat/components/loading-badge.es.js +1 -1
  135. package/dist/domains/chat/messages/reasoning.cjs.js +1 -1
  136. package/dist/domains/chat/messages/reasoning.cjs.js.map +1 -1
  137. package/dist/domains/chat/messages/reasoning.es.js +1 -1
  138. package/dist/domains/chat/messages/reasoning.es.js.map +1 -1
  139. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +2 -2
  140. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js.map +1 -1
  141. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +2 -2
  142. package/dist/domains/chat/tools/badges/ask-user-badge.es.js.map +1 -1
  143. package/dist/domains/logs/components/logs-error-content.cjs.js +4 -7
  144. package/dist/domains/logs/components/logs-error-content.cjs.js.map +1 -1
  145. package/dist/domains/logs/components/logs-error-content.es.js +4 -7
  146. package/dist/domains/logs/components/logs-error-content.es.js.map +1 -1
  147. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  148. package/dist/domains/logs/components/logs-toolbar.cjs.js.map +1 -1
  149. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  150. package/dist/domains/logs/components/logs-toolbar.es.js.map +1 -1
  151. package/dist/domains/logs/components/no-logs-info.cjs.js +5 -5
  152. package/dist/domains/logs/components/no-logs-info.cjs.js.map +1 -1
  153. package/dist/domains/logs/components/no-logs-info.es.js +6 -6
  154. package/dist/domains/logs/components/no-logs-info.es.js.map +1 -1
  155. package/dist/domains/memory/components/flame-graph.cjs.js +6 -6
  156. package/dist/domains/memory/components/flame-graph.cjs.js.map +1 -1
  157. package/dist/domains/memory/components/flame-graph.es.js +6 -6
  158. package/dist/domains/memory/components/flame-graph.es.js.map +1 -1
  159. package/dist/domains/memory/components/observation-detail-view.cjs.js +10 -11
  160. package/dist/domains/memory/components/observation-detail-view.cjs.js.map +1 -1
  161. package/dist/domains/memory/components/observation-detail-view.es.js +10 -11
  162. package/dist/domains/memory/components/observation-detail-view.es.js.map +1 -1
  163. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  164. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  165. package/dist/domains/metrics/components/kpi-card-view.cjs.js +1 -1
  166. package/dist/domains/metrics/components/kpi-card-view.es.js +1 -1
  167. package/dist/domains/metrics/components/latency-card-view.cjs.js +1 -1
  168. package/dist/domains/metrics/components/latency-card-view.es.js +1 -1
  169. package/dist/domains/metrics/components/memory-card-view.cjs.js +1 -1
  170. package/dist/domains/metrics/components/memory-card-view.es.js +1 -1
  171. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +1 -1
  172. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +1 -1
  173. package/dist/domains/metrics/components/scores-card-view.cjs.js +1 -1
  174. package/dist/domains/metrics/components/scores-card-view.es.js +1 -1
  175. package/dist/domains/metrics/components/token-usage-by-agent-card-view.cjs.js +1 -1
  176. package/dist/domains/metrics/components/token-usage-by-agent-card-view.es.js +1 -1
  177. package/dist/domains/metrics/components/token-usage-timeline-card-view.cjs.js +1 -1
  178. package/dist/domains/metrics/components/token-usage-timeline-card-view.es.js +1 -1
  179. package/dist/domains/metrics/components/traces-volume-card-view.cjs.js +1 -1
  180. package/dist/domains/metrics/components/traces-volume-card-view.es.js +1 -1
  181. package/dist/domains/traces/components/no-traces-info.cjs.js +2 -3
  182. package/dist/domains/traces/components/no-traces-info.cjs.js.map +1 -1
  183. package/dist/domains/traces/components/no-traces-info.es.js +2 -3
  184. package/dist/domains/traces/components/no-traces-info.es.js.map +1 -1
  185. package/dist/domains/traces/components/span-data-panel-view.cjs.js +1 -1
  186. package/dist/domains/traces/components/span-data-panel-view.es.js +1 -1
  187. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  188. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  189. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  190. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  191. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +1 -1
  192. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +1 -1
  193. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
  194. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  195. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +1 -1
  196. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +1 -1
  197. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +2 -2
  198. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +2 -2
  199. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  200. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  201. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  202. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  203. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +1 -1
  204. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +1 -1
  205. package/dist/domains/traces/components/trace-columns-menu.cjs.js +4 -4
  206. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  207. package/dist/domains/traces/components/trace-columns-menu.es.js +2 -2
  208. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +2 -2
  209. package/dist/domains/traces/components/trace-data-panel-view.es.js +2 -2
  210. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  211. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  212. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  213. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  214. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
  215. package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
  216. package/dist/domains/traces/components/traces-error-content.cjs.js +3 -3
  217. package/dist/domains/traces/components/traces-error-content.cjs.js.map +1 -1
  218. package/dist/domains/traces/components/traces-error-content.es.js +3 -3
  219. package/dist/domains/traces/components/traces-error-content.es.js.map +1 -1
  220. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +2 -0
  221. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  222. package/dist/domains/traces/components/traces-page-skeleton.es.js +2 -0
  223. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  224. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js +4 -2
  225. package/dist/domains/traces/hooks/use-trace-url-state.cjs.js.map +1 -1
  226. package/dist/domains/traces/hooks/use-trace-url-state.es.js +5 -3
  227. package/dist/domains/traces/hooks/use-trace-url-state.es.js.map +1 -1
  228. package/dist/domains/traces/trace-filters.cjs.js +92 -11
  229. package/dist/domains/traces/trace-filters.cjs.js.map +1 -1
  230. package/dist/domains/traces/trace-filters.es.js +87 -13
  231. package/dist/domains/traces/trace-filters.es.js.map +1 -1
  232. package/dist/domains/traces/trace-query-filters.cjs.js +76 -45
  233. package/dist/domains/traces/trace-query-filters.cjs.js.map +1 -1
  234. package/dist/domains/traces/trace-query-filters.es.js +76 -46
  235. package/dist/domains/traces/trace-query-filters.es.js.map +1 -1
  236. package/dist/domains/traces.cjs.js +7 -0
  237. package/dist/domains/traces.cjs.js.map +1 -1
  238. package/dist/domains/traces.es.js +2 -2
  239. package/dist/ee/signals/components/entity-index-list.cjs.js +2 -0
  240. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  241. package/dist/ee/signals/components/entity-index-list.es.js +2 -0
  242. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  243. package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js +5 -7
  244. package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js.map +1 -1
  245. package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js +5 -7
  246. package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js.map +1 -1
  247. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +11 -13
  248. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  249. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +12 -14
  250. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  251. package/dist/ee/signals/sankey-signals.cjs.js +2 -2
  252. package/dist/ee/signals/sankey-signals.cjs.js.map +1 -1
  253. package/dist/ee/signals/sankey-signals.es.js +2 -2
  254. package/dist/ee/signals/sankey-signals.es.js.map +1 -1
  255. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +10 -11
  256. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js.map +1 -1
  257. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +3 -4
  258. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js.map +1 -1
  259. package/dist/ee/topics/components/topics-layout.cjs.js +1 -1
  260. package/dist/ee/topics/components/topics-layout.cjs.js.map +1 -1
  261. package/dist/ee/topics/components/topics-layout.es.js +1 -1
  262. package/dist/ee/topics/components/topics-layout.es.js.map +1 -1
  263. package/dist/{field-block-DWkbNcsV.js → field-error-id-BLxISyNV.js} +4 -2
  264. package/dist/field-error-id-BLxISyNV.js.map +1 -0
  265. package/dist/{field-block-Dy1IaWbv.cjs → field-error-id-CXi0XkjZ.cjs} +4 -1
  266. package/dist/field-error-id-CXi0XkjZ.cjs.map +1 -0
  267. package/dist/{filter-bar-chip-BxI0NgEz.cjs → filter-bar-chip-D-IRgccJ.cjs} +296 -65
  268. package/dist/filter-bar-chip-D-IRgccJ.cjs.map +1 -0
  269. package/dist/{filter-bar-chip-C-JxWUU8.js → filter-bar-chip-luoMVy8-.js} +293 -67
  270. package/dist/filter-bar-chip-luoMVy8-.js.map +1 -0
  271. package/dist/filter-bar-chip.css +33 -1
  272. package/dist/layout/tabbed-container.cjs.js +2 -2
  273. package/dist/layout/tabbed-container.es.js +2 -2
  274. package/dist/{list-search-vyxsZMAK.cjs → list-search-BEDvqI5f.cjs} +2 -2
  275. package/dist/{list-search-vyxsZMAK.cjs.map → list-search-BEDvqI5f.cjs.map} +1 -1
  276. package/dist/{list-search-BTW0Neuc.js → list-search-BcOawrgy.js} +2 -2
  277. package/dist/{list-search-BTW0Neuc.js.map → list-search-BcOawrgy.js.map} +1 -1
  278. package/dist/{message-BrwbcLPi.js → message-Cs8NW-MR.js} +2 -2
  279. package/dist/{message-BrwbcLPi.js.map → message-Cs8NW-MR.js.map} +1 -1
  280. package/dist/{message-CszposMZ.cjs → message-D9b33Pf_.cjs} +2 -2
  281. package/dist/{message-CszposMZ.cjs.map → message-D9b33Pf_.cjs.map} +1 -1
  282. package/dist/{metrics-card-BUJxiwec.cjs → metrics-card-D-VjFkUM.cjs} +3 -3
  283. package/dist/{metrics-card-BUJxiwec.cjs.map → metrics-card-D-VjFkUM.cjs.map} +1 -1
  284. package/dist/{metrics-card-BlBt1WHw.js → metrics-card-jjLRvic4.js} +3 -3
  285. package/dist/{metrics-card-BlBt1WHw.js.map → metrics-card-jjLRvic4.js.map} +1 -1
  286. package/dist/{metrics-kpi-card-CBSNmtc5.js → metrics-kpi-card-CY6F7nTX.js} +2 -2
  287. package/dist/{metrics-kpi-card-CBSNmtc5.js.map → metrics-kpi-card-CY6F7nTX.js.map} +1 -1
  288. package/dist/{metrics-kpi-card-CgqmNcEC.cjs → metrics-kpi-card-krK6uG7U.cjs} +2 -2
  289. package/dist/{metrics-kpi-card-CgqmNcEC.cjs.map → metrics-kpi-card-krK6uG7U.cjs.map} +1 -1
  290. package/dist/new/layout/app-shell.cjs.js +23 -28
  291. package/dist/new/layout/app-shell.cjs.js.map +1 -1
  292. package/dist/new/layout/app-shell.es.js +23 -28
  293. package/dist/new/layout/app-shell.es.js.map +1 -1
  294. package/dist/{property-filter-applied-BmxCPe2d.cjs → property-filter-applied-CAiO4FBw.cjs} +2 -2
  295. package/dist/{property-filter-applied-BmxCPe2d.cjs.map → property-filter-applied-CAiO4FBw.cjs.map} +1 -1
  296. package/dist/{property-filter-applied-BBiUbtr0.js → property-filter-applied-MIKU9okW.js} +2 -2
  297. package/dist/{property-filter-applied-BBiUbtr0.js.map → property-filter-applied-MIKU9okW.js.map} +1 -1
  298. package/dist/radio-group-BdEPWGzi.cjs +62 -0
  299. package/dist/radio-group-BdEPWGzi.cjs.map +1 -0
  300. package/dist/radio-group-CFZXUXZ5.js +40 -0
  301. package/dist/radio-group-CFZXUXZ5.js.map +1 -0
  302. package/dist/{search-field-block-D0PUUCAE.cjs → search-field-block-DAdvPs1N.cjs} +8 -9
  303. package/dist/{search-field-block-D0PUUCAE.cjs.map → search-field-block-DAdvPs1N.cjs.map} +1 -1
  304. package/dist/{search-field-block-B5vUVTpl.js → search-field-block-DjN9AgLw.js} +2 -3
  305. package/dist/{search-field-block-B5vUVTpl.js.map → search-field-block-DjN9AgLw.js.map} +1 -1
  306. package/dist/{select-field-block-W2u2WmN3.cjs → select-field-block-7EHxArfT.cjs} +8 -9
  307. package/dist/{select-field-block-W2u2WmN3.cjs.map → select-field-block-7EHxArfT.cjs.map} +1 -1
  308. package/dist/{select-field-block-Bu7UXI2H.js → select-field-block-CBte2DyW.js} +2 -3
  309. package/dist/{select-field-block-Bu7UXI2H.js.map → select-field-block-CBte2DyW.js.map} +1 -1
  310. package/dist/{span-payload-primitives-DnRsP93D.cjs → span-payload-primitives-BLKf0qn0.cjs} +2 -2
  311. package/dist/{span-payload-primitives-DnRsP93D.cjs.map → span-payload-primitives-BLKf0qn0.cjs.map} +1 -1
  312. package/dist/{span-payload-primitives-sbxk4CHC.js → span-payload-primitives-CDLOoJfp.js} +2 -2
  313. package/dist/{span-payload-primitives-sbxk4CHC.js.map → span-payload-primitives-CDLOoJfp.js.map} +1 -1
  314. package/dist/{spinner-CqP-NaB2.cjs → spinner-BCpN7LL9.cjs} +9 -3
  315. package/dist/spinner-BCpN7LL9.cjs.map +1 -0
  316. package/dist/{spinner-D2C2DYw8.js → spinner-ylbE0TJA.js} +9 -3
  317. package/dist/spinner-ylbE0TJA.js.map +1 -0
  318. package/dist/src/domains/traces/components/traces-error-content.d.ts +2 -2
  319. package/dist/src/domains/traces/hooks/use-trace-url-state.d.ts +5 -3
  320. package/dist/src/domains/traces/trace-filters.d.ts +19 -4
  321. package/dist/src/domains/traces/trace-query-filters.d.ts +13 -1
  322. package/dist/src/ds/components/ActionRow/action-row.d.ts +9 -0
  323. package/dist/src/ds/components/ActionRow/action-row.stories.d.ts +8 -0
  324. package/dist/src/ds/components/ActionRow/index.d.ts +5 -0
  325. package/dist/src/ds/components/ButtonsGroup/buttons-group.stories.d.ts +7 -5
  326. package/dist/src/ds/components/EmptyState/EmptyState.d.ts +8 -2
  327. package/dist/src/ds/components/EmptyState/empty-state.stories.d.ts +1 -0
  328. package/dist/src/ds/components/ErrorState/ErrorState.d.ts +3 -1
  329. package/dist/src/ds/components/ErrorState/error-state.stories.d.ts +1 -0
  330. package/dist/src/ds/components/FilterBar/filter-bar-advanced-chip.d.ts +10 -0
  331. package/dist/src/ds/components/FilterBar/filter-bar-context.d.ts +46 -9
  332. package/dist/src/ds/components/FilterBar/filter-bar-group-editor.d.ts +25 -0
  333. package/dist/src/ds/components/FilterBar/filter-bar-input.d.ts +8 -1
  334. package/dist/src/ds/components/FilterBar/filter-bar-option-list.d.ts +5 -0
  335. package/dist/src/ds/components/FilterBar/filter-bar-tree.d.ts +36 -0
  336. package/dist/src/ds/components/FilterBar/filter-bar.d.ts +28 -7
  337. package/dist/src/ds/components/FilterBar/filter-bar.stories.d.ts +3 -0
  338. package/dist/src/ds/components/FilterBar/index.d.ts +6 -1
  339. package/dist/src/ds/components/FilterBar/types.d.ts +36 -0
  340. package/dist/src/ds/components/FilterBar/use-settle-on-leave.d.ts +2 -0
  341. package/dist/src/ds/components/PageLayout/index.d.ts +1 -2
  342. package/dist/src/ds/components/PageLayout/page-layout.d.ts +13 -11
  343. package/dist/src/ds/components/PageLayout/page-layout.stories.d.ts +1 -2
  344. package/dist/src/ds/components/PermissionDenied/PermissionDenied.d.ts +3 -1
  345. package/dist/src/ds/components/PermissionDenied/permission-denied.stories.d.ts +1 -0
  346. package/dist/src/ds/components/SessionExpired/SessionExpired.d.ts +3 -1
  347. package/dist/src/ds/components/SessionExpired/session-expired.stories.d.ts +1 -0
  348. package/dist/src/ds/components/Spinner/spinner.d.ts +6 -3
  349. package/dist/src/ds/components/Spinner/spinner.stories.d.ts +1 -0
  350. package/dist/src/ds/components/ai/ask-user/ask-user.d.ts +13 -8
  351. package/dist/src/ds/new/layout/app-shell/app-shell.d.ts +2 -8
  352. package/dist/src/ds/new/layout/app-shell/app-shell.stories.d.ts +0 -1
  353. package/dist/style.css +42 -92
  354. package/dist/{text-field-block--EUJKlY_.js → text-field-block-DBesvdaa.js} +2 -3
  355. package/dist/{text-field-block--EUJKlY_.js.map → text-field-block-DBesvdaa.js.map} +1 -1
  356. package/dist/{text-field-block-BLpLWmu8.cjs → text-field-block-DUMc8MTJ.cjs} +8 -9
  357. package/dist/{text-field-block-BLpLWmu8.cjs.map → text-field-block-DUMc8MTJ.cjs.map} +1 -1
  358. package/dist/{tool-call-K147tCug.js → tool-call-Du8XIzfo.js} +2 -2
  359. package/dist/{tool-call-K147tCug.js.map → tool-call-Du8XIzfo.js.map} +1 -1
  360. package/dist/{tool-call-CMRvRE-v.cjs → tool-call-ZKSbU3LR.cjs} +2 -2
  361. package/dist/{tool-call-CMRvRE-v.cjs.map → tool-call-ZKSbU3LR.cjs.map} +1 -1
  362. package/dist/types-CIPrYAzY.js +9 -0
  363. package/dist/types-CIPrYAzY.js.map +1 -0
  364. package/dist/types-Ns4ZNp-g.cjs +12 -0
  365. package/dist/types-Ns4ZNp-g.cjs.map +1 -0
  366. package/package.json +6 -6
  367. package/dist/EmptyState-CdRjFB06.cjs.map +0 -1
  368. package/dist/EmptyState-UWXhBp5U.js.map +0 -1
  369. package/dist/ErrorState-B3uTRAEd.cjs +0 -16
  370. package/dist/ErrorState-B3uTRAEd.cjs.map +0 -1
  371. package/dist/ErrorState-DqRx8Dw_.js +0 -14
  372. package/dist/ErrorState-DqRx8Dw_.js.map +0 -1
  373. package/dist/PermissionDenied-B6TSGolC.js.map +0 -1
  374. package/dist/PermissionDenied-Dz5qXpQj.cjs.map +0 -1
  375. package/dist/SessionExpired-Bq5LcsDu.js.map +0 -1
  376. package/dist/SessionExpired-CF0BGNo_.cjs.map +0 -1
  377. package/dist/ask-user-CS2e6Re4.cjs +0 -147
  378. package/dist/ask-user-CS2e6Re4.cjs.map +0 -1
  379. package/dist/ask-user-gS3Y1bCc.js +0 -138
  380. package/dist/ask-user-gS3Y1bCc.js.map +0 -1
  381. package/dist/components/MainContent.cjs.js +0 -81
  382. package/dist/components/MainContent.cjs.js.map +0 -1
  383. package/dist/components/MainContent.d.ts +0 -2
  384. package/dist/components/MainContent.es.js +0 -75
  385. package/dist/components/MainContent.es.js.map +0 -1
  386. package/dist/field-block-DWkbNcsV.js.map +0 -1
  387. package/dist/field-block-Dy1IaWbv.cjs.map +0 -1
  388. package/dist/field-error-id-B3Z2Zu5y.cjs +0 -6
  389. package/dist/field-error-id-B3Z2Zu5y.cjs.map +0 -1
  390. package/dist/field-error-id-D3yg1nBh.js +0 -4
  391. package/dist/field-error-id-D3yg1nBh.js.map +0 -1
  392. package/dist/filter-bar-chip-BxI0NgEz.cjs.map +0 -1
  393. package/dist/filter-bar-chip-C-JxWUU8.js.map +0 -1
  394. package/dist/new/layout/page-shell.cjs.js +0 -34
  395. package/dist/new/layout/page-shell.cjs.js.map +0 -1
  396. package/dist/new/layout/page-shell.d.ts +0 -2
  397. package/dist/new/layout/page-shell.es.js +0 -30
  398. package/dist/new/layout/page-shell.es.js.map +0 -1
  399. package/dist/no-data-page-layout-DcVPjj-J.js +0 -9
  400. package/dist/no-data-page-layout-DcVPjj-J.js.map +0 -1
  401. package/dist/no-data-page-layout-Drzbg_w8.cjs +0 -11
  402. package/dist/no-data-page-layout-Drzbg_w8.cjs.map +0 -1
  403. package/dist/page-heading-context-D3yjYoJE.js +0 -9
  404. package/dist/page-heading-context-D3yjYoJE.js.map +0 -1
  405. package/dist/page-heading-context-Du-CpxAx.cjs +0 -12
  406. package/dist/page-heading-context-Du-CpxAx.cjs.map +0 -1
  407. package/dist/page-layout-C9ifD9Q8.cjs +0 -99
  408. package/dist/page-layout-C9ifD9Q8.cjs.map +0 -1
  409. package/dist/page-layout-xcM8IR-B.js +0 -97
  410. package/dist/page-layout-xcM8IR-B.js.map +0 -1
  411. package/dist/spinner-CqP-NaB2.cjs.map +0 -1
  412. package/dist/spinner-D2C2DYw8.js.map +0 -1
  413. package/dist/src/ds/components/MainContent/index.d.ts +0 -1
  414. package/dist/src/ds/components/MainContent/main-content.d.ts +0 -21
  415. package/dist/src/ds/components/MainContent/main-content.stories.d.ts +0 -10
  416. package/dist/src/ds/components/PageLayout/no-data-page-layout.d.ts +0 -6
  417. package/dist/src/ds/components/PageLayout/page-heading-context.d.ts +0 -2
  418. package/dist/src/ds/components/PageLayout/page-layout-column.d.ts +0 -5
  419. package/dist/src/ds/components/PageLayout/page-layout-main-area.d.ts +0 -7
  420. package/dist/src/ds/components/PageLayout/page-layout-root.d.ts +0 -7
  421. package/dist/src/ds/components/PageLayout/page-layout-row.d.ts +0 -11
  422. package/dist/src/ds/components/PageLayout/page-layout-top-area.d.ts +0 -5
  423. package/dist/src/ds/new/layout/page-shell/index.d.ts +0 -1
  424. package/dist/src/ds/new/layout/page-shell/page-shell.d.ts +0 -24
  425. package/dist/src/ds/new/layout/page-shell/page-shell.stories.d.ts +0 -63
@@ -1 +1 @@
1
- {"version":3,"file":"DataDetailsPanel.es.js","sources":["../../src/ds/components/DataDetailsPanel/data-details-panel.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-close-button.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-code-section.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-content.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-header.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-heading.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-key-value-list.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-loading-data.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-no-data.tsx","../../src/ds/components/DataDetailsPanel/index.ts"],"sourcesContent":["import { cn } from '@/lib/utils';\n\nexport interface DataDetailsPanelProps {\n collapsed?: boolean;\n children: React.ReactNode;\n}\n\nexport function DataDetailsPanel({ collapsed, children }: DataDetailsPanelProps) {\n return (\n <section\n className={cn(\n 'flex flex-col overflow-hidden rounded-xl border border-border bg-background',\n collapsed ? 'h-auto' : 'h-full',\n )}\n >\n {children}\n </section>\n );\n}\n","import { XIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\n\nexport interface DataDetailsPanelCloseButtonProps {\n onClick: () => void;\n tooltip?: string;\n className?: string;\n}\n\nexport function DataDetailsPanelCloseButton({\n onClick,\n tooltip = 'Close panel',\n className,\n}: DataDetailsPanelCloseButtonProps) {\n return (\n <Button size=\"md\" onClick={onClick} aria-label=\"Close Panel\" tooltip={tooltip} className={className}>\n <XIcon />\n </Button>\n );\n}\n","import { json } from '@codemirror/lang-json';\nimport { HighlightStyle, syntaxHighlighting } from '@codemirror/language';\nimport type { Extension } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\nimport { tags as t } from '@lezer/highlight';\nimport { draculaInit } from '@uiw/codemirror-theme-dracula';\nimport ReactCodeMirror from '@uiw/react-codemirror';\nimport { AlignJustifyIcon, AlignLeftIcon } from 'lucide-react';\nimport { useMemo, useState } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { useTheme } from '@/ds/components/ThemeProvider';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nfunction buildDarkTheme(): Extension {\n return draculaInit({\n settings: {\n fontFamily: 'var(--font-mono)',\n fontSize: 'var(--text-caption)',\n lineHighlight: 'transparent',\n gutterBackground: 'transparent',\n gutterForeground: '#939393',\n background: 'transparent',\n },\n styles: [{ tag: [t.className, t.propertyName] }],\n });\n}\n\nfunction buildLightTheme(): Extension {\n const editorTheme = EditorView.theme({\n '&': {\n backgroundColor: 'transparent',\n color: 'var(--foreground)',\n fontSize: 'var(--text-caption)',\n },\n '&.cm-editor .cm-scroller': {\n fontFamily: 'var(--font-mono)',\n },\n '.cm-gutters': {\n backgroundColor: 'transparent',\n color: 'var(--placeholder)',\n borderRight: 'none',\n },\n '.cm-content': {\n color: 'var(--foreground)',\n caretColor: 'var(--foreground)',\n },\n '.cm-activeLine': {\n backgroundColor: 'transparent',\n },\n '.cm-activeLineGutter': {\n backgroundColor: 'transparent',\n },\n '.cm-cursor, .cm-dropCursor': {\n borderLeftColor: 'var(--foreground)',\n },\n });\n\n const highlightStyle = HighlightStyle.define([\n { tag: [t.comment, t.bracket], color: 'var(--placeholder)' },\n { tag: [t.string, t.meta, t.regexp], color: 'var(--accent1)' },\n { tag: [t.atom, t.bool, t.special(t.variableName)], color: 'var(--accent6)' },\n { tag: [t.keyword, t.operator, t.tagName], color: 'var(--accent2)' },\n { tag: [t.function(t.propertyName), t.propertyName], color: 'var(--accent5)' },\n {\n tag: [t.definition(t.variableName), t.function(t.variableName), t.className, t.attributeName],\n color: 'var(--accent3)',\n },\n { tag: [t.variableName, t.number], color: 'var(--accent5)' },\n { tag: [t.name, t.quote], color: 'var(--accent1)' },\n ]);\n\n return [editorTheme, syntaxHighlighting(highlightStyle)];\n}\n\nconst useCodemirrorTheme = (): Extension => {\n const isDark = useTheme().resolvedTheme === 'dark';\n return useMemo(() => (isDark ? buildDarkTheme() : buildLightTheme()), [isDark]);\n};\n\nexport interface DataDetailsPanelCodeSectionProps {\n title: React.ReactNode;\n icon?: React.ReactNode;\n codeStr?: string;\n simplified?: boolean;\n className?: string;\n /** Extra controls rendered in the header, before the built-in copy button. */\n actions?: React.ReactNode;\n}\n\nexport function DataDetailsPanelCodeSection({\n codeStr = '',\n title,\n icon,\n simplified = false,\n className,\n actions,\n}: DataDetailsPanelCodeSectionProps) {\n const theme = useCodemirrorTheme();\n const [showAsMultilineText, setShowAsMultilineText] = useState(false);\n const hasMultilineText = useMemo(() => {\n try {\n const parsed = JSON.parse(codeStr);\n return containsInnerNewline(parsed || '');\n } catch {\n return false;\n }\n }, [codeStr]);\n\n const finalCodeStr = showAsMultilineText ? codeStr?.replace(/\\\\n/g, '\\n') : codeStr;\n const usePlainTextView = simplified || showAsMultilineText;\n\n if (!codeStr || codeStr === 'null') return null;\n\n return (\n <div className={cn('flex flex-col gap-2', className)}>\n <div className=\"flex items-center justify-between\">\n <div\n className={cn(\n 'flex items-center gap-1.5 text-meta tracking-widest text-placeholder uppercase',\n '[&>svg]:size-3.5',\n )}\n >\n {icon}\n {title}\n </div>\n <div className=\"flex items-center gap-2\">\n {actions}\n <ButtonsGroup>\n <CopyButton content={codeStr || 'No content'} size=\"sm\" />\n {hasMultilineText && (\n <Button\n size=\"sm\"\n aria-label={showAsMultilineText ? 'Show escaped newlines' : 'Show multiline text'}\n onClick={() => setShowAsMultilineText(v => !v)}\n >\n {showAsMultilineText ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n </ButtonsGroup>\n </div>\n </div>\n <div\n className={cn(\n raisedSurfaceStyle,\n 'text-caption text-muted-foreground max-h-[30vh] overflow-hidden overflow-y-auto rounded-lg p-3 break-all',\n )}\n >\n {usePlainTextView ? (\n <div className=\"text-muted-foreground font-mono break-all\">\n <pre className=\"text-wrap\">{finalCodeStr}</pre>\n </div>\n ) : (\n <ReactCodeMirror\n extensions={[json(), EditorView.lineWrapping]}\n theme={theme}\n value={codeStr}\n editable={false}\n />\n )}\n </div>\n </div>\n );\n}\n\nfunction containsInnerNewline(obj: unknown): boolean {\n if (typeof obj === 'string') {\n const idx = obj.indexOf('\\n');\n return idx !== -1 && idx !== obj.length - 1;\n } else if (Array.isArray(obj)) {\n return obj.some(item => containsInnerNewline(item));\n } else if (obj && typeof obj === 'object') {\n return Object.values(obj).some(value => containsInnerNewline(value));\n }\n return false;\n}\n","import type { ReactNode } from 'react';\n\nexport interface DataDetailsPanelContentProps {\n children: ReactNode;\n}\n\nexport function DataDetailsPanelContent({ children }: DataDetailsPanelContentProps) {\n return <div className=\"flex-1 overflow-y-auto p-4\">{children}</div>;\n}\n","import { cn } from '@/lib/utils';\n\nexport interface DataDetailsPanelHeaderProps {\n className?: string;\n children: React.ReactNode;\n}\n\nexport function DataDetailsPanelHeader({ className, children }: DataDetailsPanelHeaderProps) {\n return (\n <div className={cn('mx-4 flex items-center justify-between gap-2 border-b border-border py-3', className)}>\n {children}\n </div>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport interface DataDetailsPanelHeadingProps {\n className?: string;\n children: React.ReactNode;\n}\n\nexport function DataDetailsPanelHeading({ className, children }: DataDetailsPanelHeadingProps) {\n return (\n <h3\n className={cn('flex gap-2 text-body text-muted-foreground [&>b]:text-caption [&>b]:text-placeholder', className)}\n >\n {children}\n </h3>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport interface DataDetailsPanelKeyValueListProps {\n className?: string;\n children: React.ReactNode;\n}\n\nfunction Root({ className, children }: DataDetailsPanelKeyValueListProps) {\n return <dl className={cn('grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5', className)}>{children}</dl>;\n}\n\nexport interface DataDetailsPanelKeyValueListKeyProps {\n className?: string;\n children: React.ReactNode;\n}\n\nfunction Key({ className, children }: DataDetailsPanelKeyValueListKeyProps) {\n return <dt className={cn('shrink-0 py-0.5 text-body-sm text-placeholder', className)}>{children}</dt>;\n}\n\nexport interface DataDetailsPanelKeyValueListValueProps {\n className?: string;\n children: React.ReactNode;\n}\n\nfunction Value({ className, children }: DataDetailsPanelKeyValueListValueProps) {\n return <dd className={cn('min-w-0 truncate py-0.5 text-body-sm text-muted-foreground', className)}>{children}</dd>;\n}\n\nexport interface DataDetailsPanelKeyValueListHeaderProps {\n className?: string;\n children: React.ReactNode;\n}\n\nfunction Header({ className, children }: DataDetailsPanelKeyValueListHeaderProps) {\n return (\n <dt className={cn('col-span-2 py-3 text-caption tracking-widest text-placeholder uppercase', className)}>\n {children}\n </dt>\n );\n}\n\nexport const DataDetailsPanelKeyValueList = Object.assign(Root, {\n Key,\n Value,\n Header,\n});\n","import type { ReactNode } from 'react';\nimport { Spinner } from '@/ds/components/Spinner';\n\nexport interface DataDetailsPanelLoadingDataProps {\n children?: ReactNode;\n}\n\nexport function DataDetailsPanelLoadingData({ children }: DataDetailsPanelLoadingDataProps) {\n return (\n <div className=\"text-caption text-muted-foreground flex items-center justify-center gap-2 px-4 py-6\">\n <Spinner size=\"sm\" variant=\"pulse\" className=\"text-muted-foreground\" /> {children ?? 'Loading...'}\n </div>\n );\n}\n","export interface DataDetailsPanelNoDataProps {\n children?: React.ReactNode;\n}\n\nexport function DataDetailsPanelNoData({ children }: DataDetailsPanelNoDataProps) {\n return <p className=\"text-caption text-placeholder px-4 py-6\">{children ?? 'No data found.'}</p>;\n}\n","import { DataDetailsPanel as Root } from './data-details-panel';\nimport { DataDetailsPanelCloseButton } from './data-details-panel-close-button';\nimport { DataDetailsPanelCodeSection } from './data-details-panel-code-section';\nimport { DataDetailsPanelContent } from './data-details-panel-content';\nimport { DataDetailsPanelHeader } from './data-details-panel-header';\nimport { DataDetailsPanelHeading } from './data-details-panel-heading';\nimport { DataDetailsPanelKeyValueList } from './data-details-panel-key-value-list';\nimport { DataDetailsPanelLoadingData } from './data-details-panel-loading-data';\nimport { DataDetailsPanelNoData } from './data-details-panel-no-data';\n\nconst DataDetailsPanel = Object.assign(Root, {\n Header: DataDetailsPanelHeader,\n Heading: DataDetailsPanelHeading,\n CloseButton: DataDetailsPanelCloseButton,\n LoadingData: DataDetailsPanelLoadingData,\n NoData: DataDetailsPanelNoData,\n Content: DataDetailsPanelContent,\n KeyValueList: DataDetailsPanelKeyValueList,\n CodeSection: DataDetailsPanelCodeSection,\n});\n\nexport { DataDetailsPanel };\nexport type { DataDetailsPanelProps } from './data-details-panel';\nexport type { DataDetailsPanelHeaderProps } from './data-details-panel-header';\nexport type { DataDetailsPanelHeadingProps } from './data-details-panel-heading';\nexport type { DataDetailsPanelCloseButtonProps } from './data-details-panel-close-button';\nexport type { DataDetailsPanelLoadingDataProps } from './data-details-panel-loading-data';\nexport type { DataDetailsPanelNoDataProps } from './data-details-panel-no-data';\nexport type { DataDetailsPanelContentProps } from './data-details-panel-content';\nexport type {\n DataDetailsPanelKeyValueListProps,\n DataDetailsPanelKeyValueListKeyProps,\n DataDetailsPanelKeyValueListValueProps,\n DataDetailsPanelKeyValueListHeaderProps,\n} from './data-details-panel-key-value-list';\nexport type { DataDetailsPanelCodeSectionProps } from './data-details-panel-code-section';\n"],"names":["DataDetailsPanel","t","Root"],"mappings":"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"}
1
+ {"version":3,"file":"DataDetailsPanel.es.js","sources":["../../src/ds/components/DataDetailsPanel/data-details-panel.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-close-button.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-code-section.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-content.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-header.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-heading.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-key-value-list.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-loading-data.tsx","../../src/ds/components/DataDetailsPanel/data-details-panel-no-data.tsx","../../src/ds/components/DataDetailsPanel/index.ts"],"sourcesContent":["import { cn } from '@/lib/utils';\n\nexport interface DataDetailsPanelProps {\n collapsed?: boolean;\n children: React.ReactNode;\n}\n\nexport function DataDetailsPanel({ collapsed, children }: DataDetailsPanelProps) {\n return (\n <section\n className={cn(\n 'flex flex-col overflow-hidden rounded-xl border border-border bg-background',\n collapsed ? 'h-auto' : 'h-full',\n )}\n >\n {children}\n </section>\n );\n}\n","import { XIcon } from 'lucide-react';\nimport { Button } from '@/ds/components/Button';\n\nexport interface DataDetailsPanelCloseButtonProps {\n onClick: () => void;\n tooltip?: string;\n className?: string;\n}\n\nexport function DataDetailsPanelCloseButton({\n onClick,\n tooltip = 'Close panel',\n className,\n}: DataDetailsPanelCloseButtonProps) {\n return (\n <Button size=\"md\" onClick={onClick} aria-label=\"Close Panel\" tooltip={tooltip} className={className}>\n <XIcon />\n </Button>\n );\n}\n","import { json } from '@codemirror/lang-json';\nimport { HighlightStyle, syntaxHighlighting } from '@codemirror/language';\nimport type { Extension } from '@codemirror/state';\nimport { EditorView } from '@codemirror/view';\nimport { tags as t } from '@lezer/highlight';\nimport { draculaInit } from '@uiw/codemirror-theme-dracula';\nimport ReactCodeMirror from '@uiw/react-codemirror';\nimport { AlignJustifyIcon, AlignLeftIcon } from 'lucide-react';\nimport { useMemo, useState } from 'react';\nimport { Button } from '@/ds/components/Button';\nimport { ButtonsGroup } from '@/ds/components/ButtonsGroup';\nimport { CopyButton } from '@/ds/components/CopyButton';\nimport { useTheme } from '@/ds/components/ThemeProvider';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\nfunction buildDarkTheme(): Extension {\n return draculaInit({\n settings: {\n fontFamily: 'var(--font-mono)',\n fontSize: 'var(--text-caption)',\n lineHighlight: 'transparent',\n gutterBackground: 'transparent',\n gutterForeground: '#939393',\n background: 'transparent',\n },\n styles: [{ tag: [t.className, t.propertyName] }],\n });\n}\n\nfunction buildLightTheme(): Extension {\n const editorTheme = EditorView.theme({\n '&': {\n backgroundColor: 'transparent',\n color: 'var(--foreground)',\n fontSize: 'var(--text-caption)',\n },\n '&.cm-editor .cm-scroller': {\n fontFamily: 'var(--font-mono)',\n },\n '.cm-gutters': {\n backgroundColor: 'transparent',\n color: 'var(--placeholder)',\n borderRight: 'none',\n },\n '.cm-content': {\n color: 'var(--foreground)',\n caretColor: 'var(--foreground)',\n },\n '.cm-activeLine': {\n backgroundColor: 'transparent',\n },\n '.cm-activeLineGutter': {\n backgroundColor: 'transparent',\n },\n '.cm-cursor, .cm-dropCursor': {\n borderLeftColor: 'var(--foreground)',\n },\n });\n\n const highlightStyle = HighlightStyle.define([\n { tag: [t.comment, t.bracket], color: 'var(--placeholder)' },\n { tag: [t.string, t.meta, t.regexp], color: 'var(--accent1)' },\n { tag: [t.atom, t.bool, t.special(t.variableName)], color: 'var(--accent6)' },\n { tag: [t.keyword, t.operator, t.tagName], color: 'var(--accent2)' },\n { tag: [t.function(t.propertyName), t.propertyName], color: 'var(--accent5)' },\n {\n tag: [t.definition(t.variableName), t.function(t.variableName), t.className, t.attributeName],\n color: 'var(--accent3)',\n },\n { tag: [t.variableName, t.number], color: 'var(--accent5)' },\n { tag: [t.name, t.quote], color: 'var(--accent1)' },\n ]);\n\n return [editorTheme, syntaxHighlighting(highlightStyle)];\n}\n\nconst useCodemirrorTheme = (): Extension => {\n const isDark = useTheme().resolvedTheme === 'dark';\n return useMemo(() => (isDark ? buildDarkTheme() : buildLightTheme()), [isDark]);\n};\n\nexport interface DataDetailsPanelCodeSectionProps {\n title: React.ReactNode;\n icon?: React.ReactNode;\n codeStr?: string;\n simplified?: boolean;\n className?: string;\n /** Extra controls rendered in the header, before the built-in copy button. */\n actions?: React.ReactNode;\n}\n\nexport function DataDetailsPanelCodeSection({\n codeStr = '',\n title,\n icon,\n simplified = false,\n className,\n actions,\n}: DataDetailsPanelCodeSectionProps) {\n const theme = useCodemirrorTheme();\n const [showAsMultilineText, setShowAsMultilineText] = useState(false);\n const hasMultilineText = useMemo(() => {\n try {\n const parsed = JSON.parse(codeStr);\n return containsInnerNewline(parsed || '');\n } catch {\n return false;\n }\n }, [codeStr]);\n\n const finalCodeStr = showAsMultilineText ? codeStr?.replace(/\\\\n/g, '\\n') : codeStr;\n const usePlainTextView = simplified || showAsMultilineText;\n\n if (!codeStr || codeStr === 'null') return null;\n\n return (\n <div className={cn('flex flex-col gap-2', className)}>\n <div className=\"flex items-center justify-between\">\n <div\n className={cn(\n 'flex items-center gap-1.5 text-meta tracking-widest text-placeholder uppercase',\n '[&>svg]:size-3.5',\n )}\n >\n {icon}\n {title}\n </div>\n <div className=\"flex items-center gap-2\">\n {actions}\n <ButtonsGroup>\n <CopyButton content={codeStr || 'No content'} size=\"sm\" />\n {hasMultilineText && (\n <Button\n size=\"sm\"\n aria-label={showAsMultilineText ? 'Show escaped newlines' : 'Show multiline text'}\n onClick={() => setShowAsMultilineText(v => !v)}\n >\n {showAsMultilineText ? <AlignLeftIcon /> : <AlignJustifyIcon />}\n </Button>\n )}\n </ButtonsGroup>\n </div>\n </div>\n <div\n className={cn(\n raisedSurfaceStyle,\n 'max-h-[30vh] overflow-hidden overflow-y-auto rounded-lg p-3 text-caption break-all text-muted-foreground',\n )}\n >\n {usePlainTextView ? (\n <div className=\"text-muted-foreground font-mono break-all\">\n <pre className=\"text-wrap\">{finalCodeStr}</pre>\n </div>\n ) : (\n <ReactCodeMirror\n extensions={[json(), EditorView.lineWrapping]}\n theme={theme}\n value={codeStr}\n editable={false}\n />\n )}\n </div>\n </div>\n );\n}\n\nfunction containsInnerNewline(obj: unknown): boolean {\n if (typeof obj === 'string') {\n const idx = obj.indexOf('\\n');\n return idx !== -1 && idx !== obj.length - 1;\n } else if (Array.isArray(obj)) {\n return obj.some(item => containsInnerNewline(item));\n } else if (obj && typeof obj === 'object') {\n return Object.values(obj).some(value => containsInnerNewline(value));\n }\n return false;\n}\n","import type { ReactNode } from 'react';\n\nexport interface DataDetailsPanelContentProps {\n children: ReactNode;\n}\n\nexport function DataDetailsPanelContent({ children }: DataDetailsPanelContentProps) {\n return <div className=\"flex-1 overflow-y-auto p-4\">{children}</div>;\n}\n","import { cn } from '@/lib/utils';\n\nexport interface DataDetailsPanelHeaderProps {\n className?: string;\n children: React.ReactNode;\n}\n\nexport function DataDetailsPanelHeader({ className, children }: DataDetailsPanelHeaderProps) {\n return (\n <div className={cn('mx-4 flex items-center justify-between gap-2 border-b border-border py-3', className)}>\n {children}\n </div>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport interface DataDetailsPanelHeadingProps {\n className?: string;\n children: React.ReactNode;\n}\n\nexport function DataDetailsPanelHeading({ className, children }: DataDetailsPanelHeadingProps) {\n return (\n <h3\n className={cn('flex gap-2 text-body text-muted-foreground [&>b]:text-caption [&>b]:text-placeholder', className)}\n >\n {children}\n </h3>\n );\n}\n","import { cn } from '@/lib/utils';\n\nexport interface DataDetailsPanelKeyValueListProps {\n className?: string;\n children: React.ReactNode;\n}\n\nfunction Root({ className, children }: DataDetailsPanelKeyValueListProps) {\n return <dl className={cn('grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5', className)}>{children}</dl>;\n}\n\nexport interface DataDetailsPanelKeyValueListKeyProps {\n className?: string;\n children: React.ReactNode;\n}\n\nfunction Key({ className, children }: DataDetailsPanelKeyValueListKeyProps) {\n return <dt className={cn('shrink-0 py-0.5 text-body-sm text-placeholder', className)}>{children}</dt>;\n}\n\nexport interface DataDetailsPanelKeyValueListValueProps {\n className?: string;\n children: React.ReactNode;\n}\n\nfunction Value({ className, children }: DataDetailsPanelKeyValueListValueProps) {\n return <dd className={cn('min-w-0 truncate py-0.5 text-body-sm text-muted-foreground', className)}>{children}</dd>;\n}\n\nexport interface DataDetailsPanelKeyValueListHeaderProps {\n className?: string;\n children: React.ReactNode;\n}\n\nfunction Header({ className, children }: DataDetailsPanelKeyValueListHeaderProps) {\n return (\n <dt className={cn('col-span-2 py-3 text-caption tracking-widest text-placeholder uppercase', className)}>\n {children}\n </dt>\n );\n}\n\nexport const DataDetailsPanelKeyValueList = Object.assign(Root, {\n Key,\n Value,\n Header,\n});\n","import type { ReactNode } from 'react';\nimport { Spinner } from '@/ds/components/Spinner';\n\nexport interface DataDetailsPanelLoadingDataProps {\n children?: ReactNode;\n}\n\nexport function DataDetailsPanelLoadingData({ children }: DataDetailsPanelLoadingDataProps) {\n return (\n <div className=\"text-caption text-muted-foreground flex items-center justify-center gap-2 px-4 py-6\">\n <Spinner size=\"sm\" variant=\"pulse\" className=\"text-muted-foreground\" /> {children ?? 'Loading...'}\n </div>\n );\n}\n","export interface DataDetailsPanelNoDataProps {\n children?: React.ReactNode;\n}\n\nexport function DataDetailsPanelNoData({ children }: DataDetailsPanelNoDataProps) {\n return <p className=\"text-caption text-placeholder px-4 py-6\">{children ?? 'No data found.'}</p>;\n}\n","import { DataDetailsPanel as Root } from './data-details-panel';\nimport { DataDetailsPanelCloseButton } from './data-details-panel-close-button';\nimport { DataDetailsPanelCodeSection } from './data-details-panel-code-section';\nimport { DataDetailsPanelContent } from './data-details-panel-content';\nimport { DataDetailsPanelHeader } from './data-details-panel-header';\nimport { DataDetailsPanelHeading } from './data-details-panel-heading';\nimport { DataDetailsPanelKeyValueList } from './data-details-panel-key-value-list';\nimport { DataDetailsPanelLoadingData } from './data-details-panel-loading-data';\nimport { DataDetailsPanelNoData } from './data-details-panel-no-data';\n\nconst DataDetailsPanel = Object.assign(Root, {\n Header: DataDetailsPanelHeader,\n Heading: DataDetailsPanelHeading,\n CloseButton: DataDetailsPanelCloseButton,\n LoadingData: DataDetailsPanelLoadingData,\n NoData: DataDetailsPanelNoData,\n Content: DataDetailsPanelContent,\n KeyValueList: DataDetailsPanelKeyValueList,\n CodeSection: DataDetailsPanelCodeSection,\n});\n\nexport { DataDetailsPanel };\nexport type { DataDetailsPanelProps } from './data-details-panel';\nexport type { DataDetailsPanelHeaderProps } from './data-details-panel-header';\nexport type { DataDetailsPanelHeadingProps } from './data-details-panel-heading';\nexport type { DataDetailsPanelCloseButtonProps } from './data-details-panel-close-button';\nexport type { DataDetailsPanelLoadingDataProps } from './data-details-panel-loading-data';\nexport type { DataDetailsPanelNoDataProps } from './data-details-panel-no-data';\nexport type { DataDetailsPanelContentProps } from './data-details-panel-content';\nexport type {\n DataDetailsPanelKeyValueListProps,\n DataDetailsPanelKeyValueListKeyProps,\n DataDetailsPanelKeyValueListValueProps,\n DataDetailsPanelKeyValueListHeaderProps,\n} from './data-details-panel-key-value-list';\nexport type { DataDetailsPanelCodeSectionProps } from './data-details-panel-code-section';\n"],"names":["DataDetailsPanel","t","Root"],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const dataPanel = require('../data-panel-CWZJKBeW.cjs');
5
+ const dataPanel = require('../data-panel-DNPcL38C.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { D as DataPanel } from '../data-panel-CWjgS1Gh.js';
1
+ export { D as DataPanel } from '../data-panel-CDJMMCvz.js';
2
2
  //# sourceMappingURL=DataPanel.es.js.map
@@ -7,7 +7,7 @@ const dateFns = require('date-fns');
7
7
  const lucideReact = require('lucide-react');
8
8
  const React = require('react');
9
9
  const useDebounce = require('use-debounce');
10
- const textFieldBlock = require('../text-field-block-BLpLWmu8.cjs');
10
+ const textFieldBlock = require('../text-field-block-DUMc8MTJ.cjs');
11
11
  const datePicker = require('../date-picker-dRZF8frf.cjs');
12
12
  const timePicker = require('../time-picker-Dlm-C-n4.cjs');
13
13
  const Button = require('../Button-CVewl8nT.cjs');
@@ -3,7 +3,7 @@ import { format, isValid, formatDate } from 'date-fns';
3
3
  import { X, Check, CalendarIcon } from 'lucide-react';
4
4
  import * as React from 'react';
5
5
  import { useDebouncedCallback } from 'use-debounce';
6
- import { T as TextFieldBlock } from '../text-field-block--EUJKlY_.js';
6
+ import { T as TextFieldBlock } from '../text-field-block-DBesvdaa.js';
7
7
  import { D as DatePicker } from '../date-picker-DgWTsiJ7.js';
8
8
  import { T as TimePicker } from '../time-picker-DVt1ZUsS.js';
9
9
  import { B as Button } from '../Button-cWcBEd-G.js';
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const dateTimeRangePicker = require('../date-time-range-picker-C6hjZswK.cjs');
5
+ const dateTimeRangePicker = require('../date-time-range-picker-D_mHYCx_.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { D as DateTimeRangePicker } from '../date-time-range-picker-BcjLbkGu.js';
1
+ export { D as DateTimeRangePicker } from '../date-time-range-picker-B-C-PPI4.js';
2
2
  //# sourceMappingURL=DateTimeRangePicker.es.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const EmptyState = require('../EmptyState-CdRjFB06.cjs');
5
+ const EmptyState = require('../EmptyState-0MgNiP40.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,2 +1,2 @@
1
- export { E as EmptyState } from '../EmptyState-UWXhBp5U.js';
1
+ export { E as EmptyState } from '../EmptyState-CiZVWvpH.js';
2
2
  //# sourceMappingURL=EmptyState.es.js.map
@@ -12,8 +12,7 @@ const envFile = require('../env-file-BU2hStkm.cjs');
12
12
  const Txt = require('../Txt-B4-2nLaI.cjs');
13
13
  const dataList = require('../data-list-CypPKOQ_.cjs');
14
14
  const hooks_useCopyToClipboard = require('../hooks/use-copy-to-clipboard.cjs.js');
15
- const fieldBlock = require('../field-block-Dy1IaWbv.cjs');
16
- const fieldErrorId = require('../field-error-id-B3Z2Zu5y.cjs');
15
+ const fieldErrorId = require('../field-error-id-CXi0XkjZ.cjs');
17
16
  const inputGroup = require('../input-group-CvWwK1Vz.cjs');
18
17
 
19
18
  function EnvironmentVariablesEditorActions({ className, ...props }) {
@@ -299,8 +298,8 @@ function EnvironmentVariablesEditorRow({
299
298
  return editor.handlePaste(index, text);
300
299
  }
301
300
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: utils_cn.cn("flex flex-col items-stretch gap-2 sm:flex-row sm:items-start", className), ...props, children: [
302
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(fieldBlock.FieldBlock.Layout, { children: /* @__PURE__ */ jsxRuntime.jsxs(fieldBlock.FieldBlock.Column, { children: [
303
- /* @__PURE__ */ jsxRuntime.jsx(fieldBlock.FieldBlock.Label, { name: keyFieldName, children: keyLabel }),
301
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(fieldErrorId.FieldBlock.Layout, { children: /* @__PURE__ */ jsxRuntime.jsxs(fieldErrorId.FieldBlock.Column, { children: [
302
+ /* @__PURE__ */ jsxRuntime.jsx(fieldErrorId.FieldBlock.Label, { name: keyFieldName, children: keyLabel }),
304
303
  /* @__PURE__ */ jsxRuntime.jsx(inputGroup.InputGroup, { className: "w-full", children: /* @__PURE__ */ jsxRuntime.jsx(
305
304
  inputGroup.InputGroupInput,
306
305
  {
@@ -319,10 +318,10 @@ function EnvironmentVariablesEditorRow({
319
318
  }
320
319
  }
321
320
  ) }),
322
- keyError && /* @__PURE__ */ jsxRuntime.jsx(fieldBlock.FieldBlock.ErrorMsg, { name: keyFieldName, children: keyError })
321
+ keyError && /* @__PURE__ */ jsxRuntime.jsx(fieldErrorId.FieldBlock.ErrorMsg, { name: keyFieldName, children: keyError })
323
322
  ] }) }) }),
324
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(fieldBlock.FieldBlock.Layout, { children: /* @__PURE__ */ jsxRuntime.jsxs(fieldBlock.FieldBlock.Column, { children: [
325
- /* @__PURE__ */ jsxRuntime.jsx(fieldBlock.FieldBlock.Label, { name: valueFieldName, children: valueLabel }),
323
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(fieldErrorId.FieldBlock.Layout, { children: /* @__PURE__ */ jsxRuntime.jsxs(fieldErrorId.FieldBlock.Column, { children: [
324
+ /* @__PURE__ */ jsxRuntime.jsx(fieldErrorId.FieldBlock.Label, { name: valueFieldName, children: valueLabel }),
326
325
  /* @__PURE__ */ jsxRuntime.jsxs(inputGroup.InputGroup, { className: "w-full", children: [
327
326
  /* @__PURE__ */ jsxRuntime.jsx(
328
327
  inputGroup.InputGroupInput,
@@ -357,7 +356,7 @@ function EnvironmentVariablesEditorRow({
357
356
  }
358
357
  ) })
359
358
  ] }),
360
- valueError && /* @__PURE__ */ jsxRuntime.jsx(fieldBlock.FieldBlock.ErrorMsg, { name: valueFieldName, children: valueError })
359
+ valueError && /* @__PURE__ */ jsxRuntime.jsx(fieldErrorId.FieldBlock.ErrorMsg, { name: valueFieldName, children: valueError })
361
360
  ] }) }) }),
362
361
  !readOnly && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2 self-end sm:self-auto sm:pt-7", children: /* @__PURE__ */ jsxRuntime.jsx(
363
362
  Button.Button,
@@ -1 +1 @@
1
- {"version":3,"file":"EnvironmentVariablesEditor.cjs.js","sources":["../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-actions.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-context.ts","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-add-button.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-messages.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-duplicate-keys-error.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-paste-hint.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-read-only-empty.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-read-only-header.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-read-only-item.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-read-only-list.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-root.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-row.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-rows.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-upload-button.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-upload.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-upload-error.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor.tsx"],"sourcesContent":["import type { EnvironmentVariablesEditorActionsProps } from './environment-variables-editor.types';\nimport { cn } from '@/lib/utils';\n\nexport function EnvironmentVariablesEditorActions({ className, ...props }: EnvironmentVariablesEditorActionsProps) {\n return <div className={cn('flex flex-wrap items-center gap-2', className)} {...props} />;\n}\n","import { createContext, use } from 'react';\n\nimport type { EnvironmentVariablesEditorRowErrors } from './environment-variables-editor.types';\nimport type { EnvironmentVariablesEditorController } from '@/hooks/use-environment-variables-editor';\nimport type { EnvironmentVariableEntry } from '@/lib/env-file';\n\ntype EnvironmentVariablesEditorRenderController = Pick<\n EnvironmentVariablesEditorController<EnvironmentVariableEntry>,\n | 'rows'\n | 'uploadError'\n | 'fileInputRef'\n | 'hasDuplicateKeys'\n | 'updateRow'\n | 'removeRow'\n | 'handleFileUpload'\n | 'handlePaste'\n | 'getRowId'\n | 'isValueRevealed'\n | 'toggleValueVisibility'\n | 'rowHasDuplicateKey'\n> & {\n appendRow: () => void;\n};\n\nexport interface EnvironmentVariablesEditorContextValue {\n editor: EnvironmentVariablesEditorRenderController;\n disabled: boolean;\n readOnly: boolean;\n rowErrors?: EnvironmentVariablesEditorRowErrors;\n}\n\nexport const EnvironmentVariablesEditorContext = createContext<EnvironmentVariablesEditorContextValue | null>(null);\n\nexport const EnvironmentVariablesEditorReadOnlyListContext = createContext({\n showIcon: false,\n});\n\nexport function useEnvironmentVariablesEditorContext(componentName: string) {\n const context = use(EnvironmentVariablesEditorContext);\n\n if (!context) {\n throw new Error(`${componentName} must be used within EnvironmentVariablesEditor.Root`);\n }\n\n return context;\n}\n","import { PlusIcon } from 'lucide-react';\n\nimport { useEnvironmentVariablesEditorContext } from './environment-variables-editor-context';\nimport type { EnvironmentVariablesEditorAddButtonProps } from './environment-variables-editor.types';\nimport { Button } from '@/ds/components/Button';\nimport { cn } from '@/lib/utils';\n\nexport function EnvironmentVariablesEditorAddButton({\n className,\n children,\n ...props\n}: EnvironmentVariablesEditorAddButtonProps) {\n const { editor, disabled, readOnly } = useEnvironmentVariablesEditorContext('EnvironmentVariablesEditor.AddButton');\n\n if (readOnly) return null;\n\n return (\n <div className={cn('flex items-center gap-2', className)} {...props}>\n <span aria-hidden=\"true\" className=\"bg-border h-px flex-1\" />\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n disabled={disabled}\n onClick={() => editor.appendRow()}\n icon={<PlusIcon />}\n >\n {children ?? 'Add Variable'}\n </Button>\n <span aria-hidden=\"true\" className=\"bg-border h-px flex-1\" />\n </div>\n );\n}\n","import type { EnvironmentVariablesEditorMessagesProps } from './environment-variables-editor.types';\nimport { Notice } from '@/ds/components/Notice';\n\nexport function EnvironmentVariablesEditorMessages({\n error,\n children,\n variant = 'destructive',\n ...props\n}: EnvironmentVariablesEditorMessagesProps) {\n const message = children ?? error;\n\n if (!message) return null;\n\n return (\n <Notice variant={variant} {...props}>\n <Notice.Message>{message}</Notice.Message>\n </Notice>\n );\n}\n","import { useEnvironmentVariablesEditorContext } from './environment-variables-editor-context';\nimport { EnvironmentVariablesEditorMessages } from './environment-variables-editor-messages';\nimport type { EnvironmentVariablesEditorDuplicateKeysErrorProps } from './environment-variables-editor.types';\nimport { DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE } from '@/lib/env-file';\n\nexport function EnvironmentVariablesEditorDuplicateKeysError({\n message = DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE,\n ...props\n}: EnvironmentVariablesEditorDuplicateKeysErrorProps) {\n const { editor } = useEnvironmentVariablesEditorContext('EnvironmentVariablesEditor.DuplicateKeysError');\n\n if (!editor.hasDuplicateKeys) return null;\n\n return <EnvironmentVariablesEditorMessages error={message} {...props} />;\n}\n","import { useEnvironmentVariablesEditorContext } from './environment-variables-editor-context';\nimport type { EnvironmentVariablesEditorPasteHintProps } from './environment-variables-editor.types';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nexport const DEFAULT_ENVIRONMENT_VARIABLE_PASTE_HINT = 'Tip: paste a .env file into any field to import it';\n\nexport function EnvironmentVariablesEditorPasteHint({\n className,\n children,\n ...props\n}: EnvironmentVariablesEditorPasteHintProps) {\n const { readOnly } = useEnvironmentVariablesEditorContext('EnvironmentVariablesEditor.PasteHint');\n\n if (readOnly) return null;\n\n return (\n <Txt as=\"p\" variant=\"meta\" tone=\"muted\" className={cn('text-right', className)} {...props}>\n {children ?? DEFAULT_ENVIRONMENT_VARIABLE_PASTE_HINT}\n </Txt>\n );\n}\n","import type { EnvironmentVariablesEditorReadOnlyEmptyProps } from './environment-variables-editor.types';\nimport { DataList } from '@/ds/components/DataList/data-list';\n\nexport function EnvironmentVariablesEditorReadOnlyEmpty({\n message = 'No environment variables found',\n ...props\n}: EnvironmentVariablesEditorReadOnlyEmptyProps) {\n return <DataList.NoMatch message={message} {...props} />;\n}\n","import { use } from 'react';\n\nimport { EnvironmentVariablesEditorReadOnlyListContext } from './environment-variables-editor-context';\nimport type { EnvironmentVariablesEditorReadOnlyHeaderProps } from './environment-variables-editor.types';\nimport { DataList } from '@/ds/components/DataList/data-list';\n\nexport function EnvironmentVariablesEditorReadOnlyHeader({\n className,\n nameLabel = 'Key',\n valueLabel = 'Value',\n updatedAtLabel = 'Last Updated',\n ...props\n}: EnvironmentVariablesEditorReadOnlyHeaderProps) {\n const { showIcon } = use(EnvironmentVariablesEditorReadOnlyListContext);\n\n return (\n <DataList.Top className={className} {...props}>\n {showIcon && (\n <DataList.TopCell aria-hidden=\"true\" className=\"justify-center\">\n <span />\n </DataList.TopCell>\n )}\n <DataList.TopCell>{nameLabel}</DataList.TopCell>\n <DataList.TopCell>{valueLabel}</DataList.TopCell>\n <DataList.TopCell className=\"justify-end\">{updatedAtLabel}</DataList.TopCell>\n </DataList.Top>\n );\n}\n","import { CheckIcon, Code2Icon, CopyIcon, EyeIcon, EyeOffIcon } from 'lucide-react';\nimport { use, useState } from 'react';\nimport type { ReactNode } from 'react';\n\nimport { EnvironmentVariablesEditorReadOnlyListContext } from './environment-variables-editor-context';\nimport type { EnvironmentVariablesEditorReadOnlyItemProps } from './environment-variables-editor.types';\nimport { Button } from '@/ds/components/Button';\nimport { DataList } from '@/ds/components/DataList/data-list';\nimport { useCopyToClipboard } from '@/hooks/use-copy-to-clipboard';\nimport { cn } from '@/lib/utils';\n\nexport function EnvironmentVariablesEditorReadOnlyItem({\n className,\n name,\n value,\n copyValue,\n copyLabel = 'Copy value',\n updatedAt,\n revealed,\n defaultRevealed,\n onRevealedChange,\n actor,\n icon,\n ...props\n}: EnvironmentVariablesEditorReadOnlyItemProps) {\n const { showIcon } = use(EnvironmentVariablesEditorReadOnlyListContext);\n const [uncontrolledRevealed, setUncontrolledRevealed] = useState(defaultRevealed ?? false);\n const { isCopied, copyToClipboard } = useCopyToClipboard({ copiedDuration: 1500, showToast: false });\n const isRevealed = revealed ?? uncontrolledRevealed;\n const displayedValue = isRevealed ? value : '************';\n const leadingIcon = icon ?? <Code2Icon />;\n const resolvedCopyValue = copyValue ?? getCopyableReadOnlyValue(value);\n const canCopyValue = isRevealed && Boolean(resolvedCopyValue);\n\n function toggleRevealed() {\n const nextRevealed = !isRevealed;\n\n if (revealed === undefined) {\n setUncontrolledRevealed(nextRevealed);\n }\n\n onRevealedChange?.(nextRevealed);\n }\n\n function handleCopyValue() {\n if (!resolvedCopyValue) return;\n\n copyToClipboard(resolvedCopyValue);\n }\n\n return (\n <DataList.RowStatic className={cn('min-h-14', className)} {...props}>\n {showIcon && (\n <DataList.Cell className=\"justify-items-center overflow-visible\">\n <span className=\"border-border text-muted-foreground flex size-7 items-center justify-center rounded-full border [&>svg]:size-3.5\">\n {leadingIcon}\n </span>\n </DataList.Cell>\n )}\n\n <DataList.TextCell font=\"mono\" className=\"text-caption text-foreground\">\n {name}\n </DataList.TextCell>\n\n <DataList.Cell className=\"min-w-0\">\n {value !== undefined && (\n <span className=\"flex min-w-0 items-center gap-2\">\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label={isRevealed ? 'Hide value' : 'Show value'}\n onClick={toggleRevealed}\n >\n {isRevealed ? <EyeOffIcon aria-hidden /> : <EyeIcon aria-hidden />}\n </Button>\n <span className=\"group relative flex min-w-0 flex-1 items-center\">\n <span\n className={cn(\n 'block min-w-0 flex-1 truncate font-mono text-meta text-muted-foreground',\n canCopyValue && 'pr-7',\n )}\n >\n {displayedValue}\n </span>\n {canCopyValue && (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label={isCopied ? 'Copied value' : copyLabel}\n tooltip={isCopied ? 'Copied' : copyLabel}\n className=\"absolute right-0 opacity-0 transition-opacity group-hover:opacity-100 focus:opacity-100 focus-visible:opacity-100\"\n onClick={handleCopyValue}\n >\n {isCopied ? <CheckIcon aria-hidden /> : <CopyIcon aria-hidden />}\n </Button>\n )}\n </span>\n </span>\n )}\n </DataList.Cell>\n\n <DataList.Cell className=\"text-meta text-muted-foreground min-w-0 justify-items-end\">\n {(updatedAt || actor) && (\n <span className=\"flex min-w-0 items-center gap-2\">\n <span className=\"truncate\">{updatedAt}</span>\n {actor}\n </span>\n )}\n </DataList.Cell>\n </DataList.RowStatic>\n );\n}\n\nfunction getCopyableReadOnlyValue(value: ReactNode) {\n if (typeof value === 'string' || typeof value === 'number') {\n return String(value);\n }\n\n return undefined;\n}\n","import { useMemo } from 'react';\n\nimport { EnvironmentVariablesEditorReadOnlyListContext } from './environment-variables-editor-context';\nimport { EnvironmentVariablesEditorReadOnlyHeader } from './environment-variables-editor-read-only-header';\nimport type { EnvironmentVariablesEditorReadOnlyListProps } from './environment-variables-editor.types';\nimport { DataList } from '@/ds/components/DataList/data-list';\nimport { cn } from '@/lib/utils';\n\nconst READ_ONLY_COLUMNS = 'minmax(12rem,1.4fr) minmax(8rem,0.9fr) minmax(8rem,auto)';\nconst READ_ONLY_COLUMNS_WITH_ICON = `auto ${READ_ONLY_COLUMNS}`;\n\nexport function EnvironmentVariablesEditorReadOnlyList({\n className,\n children,\n columns,\n header,\n showHeader = true,\n showIcon = false,\n nameLabel,\n valueLabel,\n updatedAtLabel,\n scrollRef,\n ...props\n}: EnvironmentVariablesEditorReadOnlyListProps) {\n const resolvedColumns = columns ?? (showIcon ? READ_ONLY_COLUMNS_WITH_ICON : READ_ONLY_COLUMNS);\n const contextValue = useMemo(() => ({ showIcon }), [showIcon]);\n\n return (\n <EnvironmentVariablesEditorReadOnlyListContext.Provider value={contextValue}>\n <DataList columns={resolvedColumns} scrollRef={scrollRef} className={cn('min-h-0', className)} {...props}>\n {showHeader &&\n (header ?? (\n <EnvironmentVariablesEditorReadOnlyHeader\n nameLabel={nameLabel}\n valueLabel={valueLabel}\n updatedAtLabel={updatedAtLabel}\n />\n ))}\n {children}\n </DataList>\n </EnvironmentVariablesEditorReadOnlyListContext.Provider>\n );\n}\n","import { useMemo } from 'react';\n\nimport { EnvironmentVariablesEditorContext } from './environment-variables-editor-context';\nimport type { EnvironmentVariablesEditorContextValue } from './environment-variables-editor-context';\nimport { EnvironmentVariablesEditorPasteHint } from './environment-variables-editor-paste-hint';\nimport type { EnvironmentVariablesEditorRootProps } from './environment-variables-editor.types';\nimport type { EnvironmentVariableEntry } from '@/lib/env-file';\n\nexport function EnvironmentVariablesEditorRoot<TRow extends EnvironmentVariableEntry = EnvironmentVariableEntry>({\n editor,\n className,\n children,\n disabled,\n readOnly,\n rowErrors,\n hidePasteHint,\n ...props\n}: EnvironmentVariablesEditorRootProps<TRow>) {\n const contextValue = useMemo<EnvironmentVariablesEditorContextValue>(\n () => ({\n editor: {\n rows: editor.rows,\n uploadError: editor.uploadError,\n fileInputRef: editor.fileInputRef,\n hasDuplicateKeys: editor.hasDuplicateKeys,\n updateRow: editor.updateRow,\n removeRow: editor.removeRow,\n handleFileUpload: editor.handleFileUpload,\n handlePaste: editor.handlePaste,\n getRowId: editor.getRowId,\n isValueRevealed: editor.isValueRevealed,\n toggleValueVisibility: editor.toggleValueVisibility,\n rowHasDuplicateKey: editor.rowHasDuplicateKey,\n appendRow: () => editor.appendRow(),\n },\n disabled: Boolean(disabled),\n readOnly: Boolean(readOnly),\n rowErrors,\n }),\n [editor, disabled, readOnly, rowErrors],\n );\n\n return (\n <EnvironmentVariablesEditorContext.Provider value={contextValue}>\n <div className={className} {...props}>\n {children}\n {!readOnly && !hidePasteHint && <EnvironmentVariablesEditorPasteHint />}\n </div>\n </EnvironmentVariablesEditorContext.Provider>\n );\n}\n","import { EyeIcon, EyeOffIcon, TrashIcon } from 'lucide-react';\n\nimport { useEnvironmentVariablesEditorContext } from './environment-variables-editor-context';\nimport type { EnvironmentVariablesEditorRowProps } from './environment-variables-editor.types';\nimport { Button } from '@/ds/components/Button';\nimport { FieldBlock, fieldErrorId } from '@/ds/components/FormFieldBlocks';\nimport { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from '@/ds/components/InputGroup';\nimport { DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE } from '@/lib/env-file';\nimport { cn } from '@/lib/utils';\n\nexport function EnvironmentVariablesEditorRow({\n row,\n index,\n rowErrors,\n keyLabel = 'Key',\n valueLabel = 'Value',\n keyPlaceholder = 'e.g: OPEN_AI_KEY',\n valuePlaceholder = 'e.g: sk-xxxxxxxx',\n duplicateKeyMessage = DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE,\n className,\n ...props\n}: EnvironmentVariablesEditorRowProps) {\n const {\n editor,\n disabled,\n readOnly,\n rowErrors: contextRowErrors,\n } = useEnvironmentVariablesEditorContext('EnvironmentVariablesEditor.Row');\n const isDisabled = disabled || readOnly;\n const resolvedRowErrors = rowErrors ?? contextRowErrors;\n const keyError = resolvedRowErrors?.[index]?.key ?? (editor.rowHasDuplicateKey(index) ? duplicateKeyMessage : null);\n const valueError = resolvedRowErrors?.[index]?.value;\n const keyFieldName = `env-key-${index}`;\n const valueFieldName = `env-value-${index}`;\n const keyInputId = `input-${keyFieldName}`;\n const valueInputId = `input-${valueFieldName}`;\n const revealValueLabel = editor.isValueRevealed(index) ? 'Hide value' : 'Show value';\n const removeRowLabel = `Remove environment variable ${row.key.trim() || index + 1}`;\n\n function handlePaste(text: string) {\n return editor.handlePaste(index, text);\n }\n\n return (\n <div className={cn('flex flex-col items-stretch gap-2 sm:flex-row sm:items-start', className)} {...props}>\n <div className=\"flex-1\">\n <FieldBlock.Layout>\n <FieldBlock.Column>\n <FieldBlock.Label name={keyFieldName}>{keyLabel}</FieldBlock.Label>\n <InputGroup className=\"w-full\">\n <InputGroupInput\n id={keyInputId}\n placeholder={keyPlaceholder}\n className=\"font-mono\"\n value={row.key}\n disabled={isDisabled}\n error={Boolean(keyError)}\n aria-describedby={keyError ? fieldErrorId(keyFieldName) : undefined}\n onChange={event => editor.updateRow(index, { key: event.target.value })}\n onPaste={event => {\n if (handlePaste(event.clipboardData.getData('text'))) {\n event.preventDefault();\n }\n }}\n />\n </InputGroup>\n {keyError && <FieldBlock.ErrorMsg name={keyFieldName}>{keyError}</FieldBlock.ErrorMsg>}\n </FieldBlock.Column>\n </FieldBlock.Layout>\n </div>\n\n <div className=\"flex-1\">\n <FieldBlock.Layout>\n <FieldBlock.Column>\n <FieldBlock.Label name={valueFieldName}>{valueLabel}</FieldBlock.Label>\n <InputGroup className=\"w-full\">\n <InputGroupInput\n id={valueInputId}\n placeholder={valuePlaceholder}\n className=\"font-mono\"\n type={editor.isValueRevealed(index) ? 'text' : 'password'}\n value={row.value}\n disabled={isDisabled}\n error={Boolean(valueError)}\n aria-describedby={valueError ? fieldErrorId(valueFieldName) : undefined}\n onChange={event => editor.updateRow(index, { value: event.target.value })}\n onPaste={event => {\n if (handlePaste(event.clipboardData.getData('text'))) {\n event.preventDefault();\n }\n }}\n />\n <InputGroupAddon align=\"inline-end\">\n <InputGroupButton\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n disabled={isDisabled}\n aria-label={revealValueLabel}\n tooltip={revealValueLabel}\n onClick={() => editor.toggleValueVisibility(index)}\n >\n {editor.isValueRevealed(index) ? <EyeOffIcon aria-hidden /> : <EyeIcon aria-hidden />}\n </InputGroupButton>\n </InputGroupAddon>\n </InputGroup>\n {valueError && <FieldBlock.ErrorMsg name={valueFieldName}>{valueError}</FieldBlock.ErrorMsg>}\n </FieldBlock.Column>\n </FieldBlock.Layout>\n </div>\n\n {!readOnly && (\n <div className=\"flex items-center gap-2 self-end sm:self-auto sm:pt-7\">\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-md\"\n disabled={disabled}\n aria-label={removeRowLabel}\n tooltip=\"Remove variable\"\n onClick={() => editor.removeRow(index)}\n >\n <TrashIcon />\n </Button>\n </div>\n )}\n </div>\n );\n}\n","import { useEnvironmentVariablesEditorContext } from './environment-variables-editor-context';\nimport { EnvironmentVariablesEditorRow } from './environment-variables-editor-row';\nimport type { EnvironmentVariablesEditorRowsProps } from './environment-variables-editor.types';\nimport { cn } from '@/lib/utils';\n\nexport function EnvironmentVariablesEditorRows({\n className,\n rowErrors,\n keyLabel,\n valueLabel,\n keyPlaceholder,\n valuePlaceholder,\n duplicateKeyMessage,\n ...props\n}: EnvironmentVariablesEditorRowsProps) {\n const { editor, rowErrors: contextRowErrors } = useEnvironmentVariablesEditorContext(\n 'EnvironmentVariablesEditor.Rows',\n );\n const resolvedRowErrors = rowErrors ?? contextRowErrors;\n\n return (\n <div className={cn('space-y-2', className)} {...props}>\n {editor.rows.map((row, index) => (\n <EnvironmentVariablesEditorRow\n key={editor.getRowId(index)}\n row={row}\n index={index}\n rowErrors={resolvedRowErrors}\n keyLabel={keyLabel}\n valueLabel={valueLabel}\n keyPlaceholder={keyPlaceholder}\n valuePlaceholder={valuePlaceholder}\n duplicateKeyMessage={duplicateKeyMessage}\n />\n ))}\n </div>\n );\n}\n","import { UploadIcon } from 'lucide-react';\n\nimport { useEnvironmentVariablesEditorContext } from './environment-variables-editor-context';\nimport type { EnvironmentVariablesEditorUploadButtonProps } from './environment-variables-editor.types';\nimport { Button } from '@/ds/components/Button';\n\nexport function EnvironmentVariablesEditorUploadButton({\n children = 'Import .env',\n inputLabel = 'Import .env file',\n disabled,\n onClick,\n type = 'button',\n variant = 'ghost',\n size = 'sm',\n ...props\n}: EnvironmentVariablesEditorUploadButtonProps) {\n const {\n editor,\n disabled: contextDisabled,\n readOnly,\n } = useEnvironmentVariablesEditorContext('EnvironmentVariablesEditor.UploadButton');\n const isDisabled = contextDisabled || disabled;\n\n if (readOnly) return null;\n\n return (\n <>\n <input\n ref={editor.fileInputRef}\n type=\"file\"\n accept=\".env,text/plain\"\n aria-label={inputLabel}\n className=\"hidden\"\n disabled={isDisabled}\n onChange={editor.handleFileUpload}\n />\n <Button\n type={type}\n variant={variant}\n size={size}\n disabled={isDisabled}\n onClick={event => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n editor.fileInputRef.current?.click();\n }\n }}\n icon={<UploadIcon />}\n {...props}\n >\n {children}\n </Button>\n </>\n );\n}\n","import { useEnvironmentVariablesEditorContext } from './environment-variables-editor-context';\nimport { EnvironmentVariablesEditorUploadButton } from './environment-variables-editor-upload-button';\nimport type { EnvironmentVariablesEditorUploadProps } from './environment-variables-editor.types';\nimport { cn } from '@/lib/utils';\n\nexport function EnvironmentVariablesEditorUpload({\n className,\n children,\n ...props\n}: EnvironmentVariablesEditorUploadProps) {\n const { readOnly } = useEnvironmentVariablesEditorContext('EnvironmentVariablesEditor.Upload');\n\n if (readOnly) return null;\n\n return (\n <div className={cn('flex flex-wrap items-center justify-end gap-2', className)} {...props}>\n {children ?? <EnvironmentVariablesEditorUploadButton />}\n </div>\n );\n}\n","import { useEnvironmentVariablesEditorContext } from './environment-variables-editor-context';\nimport { EnvironmentVariablesEditorMessages } from './environment-variables-editor-messages';\nimport type { EnvironmentVariablesEditorUploadErrorProps } from './environment-variables-editor.types';\n\nexport function EnvironmentVariablesEditorUploadError(props: EnvironmentVariablesEditorUploadErrorProps) {\n const { editor } = useEnvironmentVariablesEditorContext('EnvironmentVariablesEditor.UploadError');\n\n if (!editor.uploadError) return null;\n\n return <EnvironmentVariablesEditorMessages error={editor.uploadError} {...props} />;\n}\n","import { EnvironmentVariablesEditorActions } from './environment-variables-editor-actions';\nimport { EnvironmentVariablesEditorAddButton } from './environment-variables-editor-add-button';\nimport { EnvironmentVariablesEditorDuplicateKeysError } from './environment-variables-editor-duplicate-keys-error';\nimport { EnvironmentVariablesEditorMessages } from './environment-variables-editor-messages';\nimport { EnvironmentVariablesEditorPasteHint } from './environment-variables-editor-paste-hint';\nimport { EnvironmentVariablesEditorReadOnlyEmpty } from './environment-variables-editor-read-only-empty';\nimport { EnvironmentVariablesEditorReadOnlyHeader } from './environment-variables-editor-read-only-header';\nimport { EnvironmentVariablesEditorReadOnlyItem } from './environment-variables-editor-read-only-item';\nimport { EnvironmentVariablesEditorReadOnlyList } from './environment-variables-editor-read-only-list';\nimport { EnvironmentVariablesEditorRoot } from './environment-variables-editor-root';\nimport { EnvironmentVariablesEditorRow } from './environment-variables-editor-row';\nimport { EnvironmentVariablesEditorRows } from './environment-variables-editor-rows';\nimport { EnvironmentVariablesEditorUpload } from './environment-variables-editor-upload';\nimport { EnvironmentVariablesEditorUploadButton } from './environment-variables-editor-upload-button';\nimport { EnvironmentVariablesEditorUploadError } from './environment-variables-editor-upload-error';\nimport type { EnvironmentVariablesEditorProps } from './environment-variables-editor.types';\nimport type { EnvironmentVariableEntry } from '@/lib/env-file';\nimport { DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE } from '@/lib/env-file';\nimport { cn } from '@/lib/utils';\n\nconst renderEnvironmentVariablesEditor = <TRow extends EnvironmentVariableEntry = EnvironmentVariableEntry>({\n className,\n children,\n addLabel = 'Add Variable',\n keyLabel = 'Key',\n valueLabel = 'Value',\n keyPlaceholder = 'e.g: OPEN_AI_KEY',\n valuePlaceholder = 'e.g: sk-xxxxxxxx',\n duplicateKeyMessage = DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE,\n rowErrors,\n error,\n actions,\n ...props\n}: EnvironmentVariablesEditorProps<TRow>) => {\n return (\n <EnvironmentVariablesEditorRoot\n className={cn(!children && 'space-y-3', className)}\n rowErrors={rowErrors}\n {...props}\n >\n {children ?? (\n <>\n <EnvironmentVariablesEditorUpload>\n <EnvironmentVariablesEditorUploadButton />\n </EnvironmentVariablesEditorUpload>\n <EnvironmentVariablesEditorUploadError />\n <EnvironmentVariablesEditorRows\n rowErrors={rowErrors}\n keyLabel={keyLabel}\n valueLabel={valueLabel}\n keyPlaceholder={keyPlaceholder}\n valuePlaceholder={valuePlaceholder}\n duplicateKeyMessage={duplicateKeyMessage}\n />\n <EnvironmentVariablesEditorAddButton>{addLabel}</EnvironmentVariablesEditorAddButton>\n <EnvironmentVariablesEditorDuplicateKeysError message={duplicateKeyMessage} />\n <EnvironmentVariablesEditorMessages error={error} />\n {actions && <EnvironmentVariablesEditorActions>{actions}</EnvironmentVariablesEditorActions>}\n </>\n )}\n </EnvironmentVariablesEditorRoot>\n );\n};\n\nexport const EnvironmentVariablesEditor = Object.assign(renderEnvironmentVariablesEditor, {\n Root: EnvironmentVariablesEditorRoot,\n Upload: EnvironmentVariablesEditorUpload,\n UploadButton: EnvironmentVariablesEditorUploadButton,\n UploadError: EnvironmentVariablesEditorUploadError,\n Rows: EnvironmentVariablesEditorRows,\n Row: EnvironmentVariablesEditorRow,\n AddButton: EnvironmentVariablesEditorAddButton,\n PasteHint: EnvironmentVariablesEditorPasteHint,\n Messages: EnvironmentVariablesEditorMessages,\n DuplicateKeysError: EnvironmentVariablesEditorDuplicateKeysError,\n Actions: EnvironmentVariablesEditorActions,\n ReadOnlyList: EnvironmentVariablesEditorReadOnlyList,\n ReadOnlyHeader: EnvironmentVariablesEditorReadOnlyHeader,\n ReadOnlyEmpty: EnvironmentVariablesEditorReadOnlyEmpty,\n ReadOnlyItem: EnvironmentVariablesEditorReadOnlyItem,\n});\n\nexport type {\n EnvironmentVariablesEditorActionsProps,\n EnvironmentVariablesEditorAddButtonProps,\n EnvironmentVariablesEditorDuplicateKeysErrorProps,\n EnvironmentVariablesEditorMessagesProps,\n EnvironmentVariablesEditorPasteHintProps,\n EnvironmentVariablesEditorProps,\n EnvironmentVariablesEditorReadOnlyEmptyProps,\n EnvironmentVariablesEditorReadOnlyHeaderProps,\n EnvironmentVariablesEditorReadOnlyItemProps,\n EnvironmentVariablesEditorReadOnlyListProps,\n EnvironmentVariablesEditorRootProps,\n EnvironmentVariablesEditorRowErrors,\n EnvironmentVariablesEditorRowProps,\n EnvironmentVariablesEditorRowsProps,\n EnvironmentVariablesEditorUploadButtonProps,\n EnvironmentVariablesEditorUploadErrorProps,\n EnvironmentVariablesEditorUploadProps,\n} from './environment-variables-editor.types';\n"],"names":["jsx","cn","createContext","use","jsxs","Button","PlusIcon","Notice","DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE","Txt","DataList","useState","useCopyToClipboard","Code2Icon","EyeOffIcon","EyeIcon","CheckIcon","CopyIcon","useMemo","FieldBlock","InputGroup","InputGroupInput","fieldErrorId","InputGroupAddon","InputGroupButton","TrashIcon","Fragment","UploadIcon"],"mappings":"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"}
1
+ {"version":3,"file":"EnvironmentVariablesEditor.cjs.js","sources":["../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-actions.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-context.ts","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-add-button.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-messages.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-duplicate-keys-error.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-paste-hint.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-read-only-empty.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-read-only-header.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-read-only-item.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-read-only-list.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-root.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-row.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-rows.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-upload-button.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-upload.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-upload-error.tsx","../../src/ds/components/EnvironmentVariablesEditor/environment-variables-editor.tsx"],"sourcesContent":["import type { EnvironmentVariablesEditorActionsProps } from './environment-variables-editor.types';\nimport { cn } from '@/lib/utils';\n\nexport function EnvironmentVariablesEditorActions({ className, ...props }: EnvironmentVariablesEditorActionsProps) {\n return <div className={cn('flex flex-wrap items-center gap-2', className)} {...props} />;\n}\n","import { createContext, use } from 'react';\n\nimport type { EnvironmentVariablesEditorRowErrors } from './environment-variables-editor.types';\nimport type { EnvironmentVariablesEditorController } from '@/hooks/use-environment-variables-editor';\nimport type { EnvironmentVariableEntry } from '@/lib/env-file';\n\ntype EnvironmentVariablesEditorRenderController = Pick<\n EnvironmentVariablesEditorController<EnvironmentVariableEntry>,\n | 'rows'\n | 'uploadError'\n | 'fileInputRef'\n | 'hasDuplicateKeys'\n | 'updateRow'\n | 'removeRow'\n | 'handleFileUpload'\n | 'handlePaste'\n | 'getRowId'\n | 'isValueRevealed'\n | 'toggleValueVisibility'\n | 'rowHasDuplicateKey'\n> & {\n appendRow: () => void;\n};\n\nexport interface EnvironmentVariablesEditorContextValue {\n editor: EnvironmentVariablesEditorRenderController;\n disabled: boolean;\n readOnly: boolean;\n rowErrors?: EnvironmentVariablesEditorRowErrors;\n}\n\nexport const EnvironmentVariablesEditorContext = createContext<EnvironmentVariablesEditorContextValue | null>(null);\n\nexport const EnvironmentVariablesEditorReadOnlyListContext = createContext({\n showIcon: false,\n});\n\nexport function useEnvironmentVariablesEditorContext(componentName: string) {\n const context = use(EnvironmentVariablesEditorContext);\n\n if (!context) {\n throw new Error(`${componentName} must be used within EnvironmentVariablesEditor.Root`);\n }\n\n return context;\n}\n","import { PlusIcon } from 'lucide-react';\n\nimport { useEnvironmentVariablesEditorContext } from './environment-variables-editor-context';\nimport type { EnvironmentVariablesEditorAddButtonProps } from './environment-variables-editor.types';\nimport { Button } from '@/ds/components/Button';\nimport { cn } from '@/lib/utils';\n\nexport function EnvironmentVariablesEditorAddButton({\n className,\n children,\n ...props\n}: EnvironmentVariablesEditorAddButtonProps) {\n const { editor, disabled, readOnly } = useEnvironmentVariablesEditorContext('EnvironmentVariablesEditor.AddButton');\n\n if (readOnly) return null;\n\n return (\n <div className={cn('flex items-center gap-2', className)} {...props}>\n <span aria-hidden=\"true\" className=\"bg-border h-px flex-1\" />\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n disabled={disabled}\n onClick={() => editor.appendRow()}\n icon={<PlusIcon />}\n >\n {children ?? 'Add Variable'}\n </Button>\n <span aria-hidden=\"true\" className=\"bg-border h-px flex-1\" />\n </div>\n );\n}\n","import type { EnvironmentVariablesEditorMessagesProps } from './environment-variables-editor.types';\nimport { Notice } from '@/ds/components/Notice';\n\nexport function EnvironmentVariablesEditorMessages({\n error,\n children,\n variant = 'destructive',\n ...props\n}: EnvironmentVariablesEditorMessagesProps) {\n const message = children ?? error;\n\n if (!message) return null;\n\n return (\n <Notice variant={variant} {...props}>\n <Notice.Message>{message}</Notice.Message>\n </Notice>\n );\n}\n","import { useEnvironmentVariablesEditorContext } from './environment-variables-editor-context';\nimport { EnvironmentVariablesEditorMessages } from './environment-variables-editor-messages';\nimport type { EnvironmentVariablesEditorDuplicateKeysErrorProps } from './environment-variables-editor.types';\nimport { DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE } from '@/lib/env-file';\n\nexport function EnvironmentVariablesEditorDuplicateKeysError({\n message = DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE,\n ...props\n}: EnvironmentVariablesEditorDuplicateKeysErrorProps) {\n const { editor } = useEnvironmentVariablesEditorContext('EnvironmentVariablesEditor.DuplicateKeysError');\n\n if (!editor.hasDuplicateKeys) return null;\n\n return <EnvironmentVariablesEditorMessages error={message} {...props} />;\n}\n","import { useEnvironmentVariablesEditorContext } from './environment-variables-editor-context';\nimport type { EnvironmentVariablesEditorPasteHintProps } from './environment-variables-editor.types';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\n\nexport const DEFAULT_ENVIRONMENT_VARIABLE_PASTE_HINT = 'Tip: paste a .env file into any field to import it';\n\nexport function EnvironmentVariablesEditorPasteHint({\n className,\n children,\n ...props\n}: EnvironmentVariablesEditorPasteHintProps) {\n const { readOnly } = useEnvironmentVariablesEditorContext('EnvironmentVariablesEditor.PasteHint');\n\n if (readOnly) return null;\n\n return (\n <Txt as=\"p\" variant=\"meta\" tone=\"muted\" className={cn('text-right', className)} {...props}>\n {children ?? DEFAULT_ENVIRONMENT_VARIABLE_PASTE_HINT}\n </Txt>\n );\n}\n","import type { EnvironmentVariablesEditorReadOnlyEmptyProps } from './environment-variables-editor.types';\nimport { DataList } from '@/ds/components/DataList/data-list';\n\nexport function EnvironmentVariablesEditorReadOnlyEmpty({\n message = 'No environment variables found',\n ...props\n}: EnvironmentVariablesEditorReadOnlyEmptyProps) {\n return <DataList.NoMatch message={message} {...props} />;\n}\n","import { use } from 'react';\n\nimport { EnvironmentVariablesEditorReadOnlyListContext } from './environment-variables-editor-context';\nimport type { EnvironmentVariablesEditorReadOnlyHeaderProps } from './environment-variables-editor.types';\nimport { DataList } from '@/ds/components/DataList/data-list';\n\nexport function EnvironmentVariablesEditorReadOnlyHeader({\n className,\n nameLabel = 'Key',\n valueLabel = 'Value',\n updatedAtLabel = 'Last Updated',\n ...props\n}: EnvironmentVariablesEditorReadOnlyHeaderProps) {\n const { showIcon } = use(EnvironmentVariablesEditorReadOnlyListContext);\n\n return (\n <DataList.Top className={className} {...props}>\n {showIcon && (\n <DataList.TopCell aria-hidden=\"true\" className=\"justify-center\">\n <span />\n </DataList.TopCell>\n )}\n <DataList.TopCell>{nameLabel}</DataList.TopCell>\n <DataList.TopCell>{valueLabel}</DataList.TopCell>\n <DataList.TopCell className=\"justify-end\">{updatedAtLabel}</DataList.TopCell>\n </DataList.Top>\n );\n}\n","import { CheckIcon, Code2Icon, CopyIcon, EyeIcon, EyeOffIcon } from 'lucide-react';\nimport { use, useState } from 'react';\nimport type { ReactNode } from 'react';\n\nimport { EnvironmentVariablesEditorReadOnlyListContext } from './environment-variables-editor-context';\nimport type { EnvironmentVariablesEditorReadOnlyItemProps } from './environment-variables-editor.types';\nimport { Button } from '@/ds/components/Button';\nimport { DataList } from '@/ds/components/DataList/data-list';\nimport { useCopyToClipboard } from '@/hooks/use-copy-to-clipboard';\nimport { cn } from '@/lib/utils';\n\nexport function EnvironmentVariablesEditorReadOnlyItem({\n className,\n name,\n value,\n copyValue,\n copyLabel = 'Copy value',\n updatedAt,\n revealed,\n defaultRevealed,\n onRevealedChange,\n actor,\n icon,\n ...props\n}: EnvironmentVariablesEditorReadOnlyItemProps) {\n const { showIcon } = use(EnvironmentVariablesEditorReadOnlyListContext);\n const [uncontrolledRevealed, setUncontrolledRevealed] = useState(defaultRevealed ?? false);\n const { isCopied, copyToClipboard } = useCopyToClipboard({ copiedDuration: 1500, showToast: false });\n const isRevealed = revealed ?? uncontrolledRevealed;\n const displayedValue = isRevealed ? value : '************';\n const leadingIcon = icon ?? <Code2Icon />;\n const resolvedCopyValue = copyValue ?? getCopyableReadOnlyValue(value);\n const canCopyValue = isRevealed && Boolean(resolvedCopyValue);\n\n function toggleRevealed() {\n const nextRevealed = !isRevealed;\n\n if (revealed === undefined) {\n setUncontrolledRevealed(nextRevealed);\n }\n\n onRevealedChange?.(nextRevealed);\n }\n\n function handleCopyValue() {\n if (!resolvedCopyValue) return;\n\n copyToClipboard(resolvedCopyValue);\n }\n\n return (\n <DataList.RowStatic className={cn('min-h-14', className)} {...props}>\n {showIcon && (\n <DataList.Cell className=\"justify-items-center overflow-visible\">\n <span className=\"border-border text-muted-foreground flex size-7 items-center justify-center rounded-full border [&>svg]:size-3.5\">\n {leadingIcon}\n </span>\n </DataList.Cell>\n )}\n\n <DataList.TextCell font=\"mono\" className=\"text-caption text-foreground\">\n {name}\n </DataList.TextCell>\n\n <DataList.Cell className=\"min-w-0\">\n {value !== undefined && (\n <span className=\"flex min-w-0 items-center gap-2\">\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label={isRevealed ? 'Hide value' : 'Show value'}\n onClick={toggleRevealed}\n >\n {isRevealed ? <EyeOffIcon aria-hidden /> : <EyeIcon aria-hidden />}\n </Button>\n <span className=\"group relative flex min-w-0 flex-1 items-center\">\n <span\n className={cn(\n 'block min-w-0 flex-1 truncate font-mono text-meta text-muted-foreground',\n canCopyValue && 'pr-7',\n )}\n >\n {displayedValue}\n </span>\n {canCopyValue && (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n aria-label={isCopied ? 'Copied value' : copyLabel}\n tooltip={isCopied ? 'Copied' : copyLabel}\n className=\"absolute right-0 opacity-0 transition-opacity group-hover:opacity-100 focus:opacity-100 focus-visible:opacity-100\"\n onClick={handleCopyValue}\n >\n {isCopied ? <CheckIcon aria-hidden /> : <CopyIcon aria-hidden />}\n </Button>\n )}\n </span>\n </span>\n )}\n </DataList.Cell>\n\n <DataList.Cell className=\"text-meta text-muted-foreground min-w-0 justify-items-end\">\n {(updatedAt || actor) && (\n <span className=\"flex min-w-0 items-center gap-2\">\n <span className=\"truncate\">{updatedAt}</span>\n {actor}\n </span>\n )}\n </DataList.Cell>\n </DataList.RowStatic>\n );\n}\n\nfunction getCopyableReadOnlyValue(value: ReactNode) {\n if (typeof value === 'string' || typeof value === 'number') {\n return String(value);\n }\n\n return undefined;\n}\n","import { useMemo } from 'react';\n\nimport { EnvironmentVariablesEditorReadOnlyListContext } from './environment-variables-editor-context';\nimport { EnvironmentVariablesEditorReadOnlyHeader } from './environment-variables-editor-read-only-header';\nimport type { EnvironmentVariablesEditorReadOnlyListProps } from './environment-variables-editor.types';\nimport { DataList } from '@/ds/components/DataList/data-list';\nimport { cn } from '@/lib/utils';\n\nconst READ_ONLY_COLUMNS = 'minmax(12rem,1.4fr) minmax(8rem,0.9fr) minmax(8rem,auto)';\nconst READ_ONLY_COLUMNS_WITH_ICON = `auto ${READ_ONLY_COLUMNS}`;\n\nexport function EnvironmentVariablesEditorReadOnlyList({\n className,\n children,\n columns,\n header,\n showHeader = true,\n showIcon = false,\n nameLabel,\n valueLabel,\n updatedAtLabel,\n scrollRef,\n ...props\n}: EnvironmentVariablesEditorReadOnlyListProps) {\n const resolvedColumns = columns ?? (showIcon ? READ_ONLY_COLUMNS_WITH_ICON : READ_ONLY_COLUMNS);\n const contextValue = useMemo(() => ({ showIcon }), [showIcon]);\n\n return (\n <EnvironmentVariablesEditorReadOnlyListContext.Provider value={contextValue}>\n <DataList columns={resolvedColumns} scrollRef={scrollRef} className={cn('min-h-0', className)} {...props}>\n {showHeader &&\n (header ?? (\n <EnvironmentVariablesEditorReadOnlyHeader\n nameLabel={nameLabel}\n valueLabel={valueLabel}\n updatedAtLabel={updatedAtLabel}\n />\n ))}\n {children}\n </DataList>\n </EnvironmentVariablesEditorReadOnlyListContext.Provider>\n );\n}\n","import { useMemo } from 'react';\n\nimport { EnvironmentVariablesEditorContext } from './environment-variables-editor-context';\nimport type { EnvironmentVariablesEditorContextValue } from './environment-variables-editor-context';\nimport { EnvironmentVariablesEditorPasteHint } from './environment-variables-editor-paste-hint';\nimport type { EnvironmentVariablesEditorRootProps } from './environment-variables-editor.types';\nimport type { EnvironmentVariableEntry } from '@/lib/env-file';\n\nexport function EnvironmentVariablesEditorRoot<TRow extends EnvironmentVariableEntry = EnvironmentVariableEntry>({\n editor,\n className,\n children,\n disabled,\n readOnly,\n rowErrors,\n hidePasteHint,\n ...props\n}: EnvironmentVariablesEditorRootProps<TRow>) {\n const contextValue = useMemo<EnvironmentVariablesEditorContextValue>(\n () => ({\n editor: {\n rows: editor.rows,\n uploadError: editor.uploadError,\n fileInputRef: editor.fileInputRef,\n hasDuplicateKeys: editor.hasDuplicateKeys,\n updateRow: editor.updateRow,\n removeRow: editor.removeRow,\n handleFileUpload: editor.handleFileUpload,\n handlePaste: editor.handlePaste,\n getRowId: editor.getRowId,\n isValueRevealed: editor.isValueRevealed,\n toggleValueVisibility: editor.toggleValueVisibility,\n rowHasDuplicateKey: editor.rowHasDuplicateKey,\n appendRow: () => editor.appendRow(),\n },\n disabled: Boolean(disabled),\n readOnly: Boolean(readOnly),\n rowErrors,\n }),\n [editor, disabled, readOnly, rowErrors],\n );\n\n return (\n <EnvironmentVariablesEditorContext.Provider value={contextValue}>\n <div className={className} {...props}>\n {children}\n {!readOnly && !hidePasteHint && <EnvironmentVariablesEditorPasteHint />}\n </div>\n </EnvironmentVariablesEditorContext.Provider>\n );\n}\n","import { EyeIcon, EyeOffIcon, TrashIcon } from 'lucide-react';\n\nimport { useEnvironmentVariablesEditorContext } from './environment-variables-editor-context';\nimport type { EnvironmentVariablesEditorRowProps } from './environment-variables-editor.types';\nimport { Button } from '@/ds/components/Button';\nimport { FieldBlock, fieldErrorId } from '@/ds/components/FormFieldBlocks';\nimport { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput } from '@/ds/components/InputGroup';\nimport { DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE } from '@/lib/env-file';\nimport { cn } from '@/lib/utils';\n\nexport function EnvironmentVariablesEditorRow({\n row,\n index,\n rowErrors,\n keyLabel = 'Key',\n valueLabel = 'Value',\n keyPlaceholder = 'e.g: OPEN_AI_KEY',\n valuePlaceholder = 'e.g: sk-xxxxxxxx',\n duplicateKeyMessage = DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE,\n className,\n ...props\n}: EnvironmentVariablesEditorRowProps) {\n const {\n editor,\n disabled,\n readOnly,\n rowErrors: contextRowErrors,\n } = useEnvironmentVariablesEditorContext('EnvironmentVariablesEditor.Row');\n const isDisabled = disabled || readOnly;\n const resolvedRowErrors = rowErrors ?? contextRowErrors;\n const keyError = resolvedRowErrors?.[index]?.key ?? (editor.rowHasDuplicateKey(index) ? duplicateKeyMessage : null);\n const valueError = resolvedRowErrors?.[index]?.value;\n const keyFieldName = `env-key-${index}`;\n const valueFieldName = `env-value-${index}`;\n const keyInputId = `input-${keyFieldName}`;\n const valueInputId = `input-${valueFieldName}`;\n const revealValueLabel = editor.isValueRevealed(index) ? 'Hide value' : 'Show value';\n const removeRowLabel = `Remove environment variable ${row.key.trim() || index + 1}`;\n\n function handlePaste(text: string) {\n return editor.handlePaste(index, text);\n }\n\n return (\n <div className={cn('flex flex-col items-stretch gap-2 sm:flex-row sm:items-start', className)} {...props}>\n <div className=\"flex-1\">\n <FieldBlock.Layout>\n <FieldBlock.Column>\n <FieldBlock.Label name={keyFieldName}>{keyLabel}</FieldBlock.Label>\n <InputGroup className=\"w-full\">\n <InputGroupInput\n id={keyInputId}\n placeholder={keyPlaceholder}\n className=\"font-mono\"\n value={row.key}\n disabled={isDisabled}\n error={Boolean(keyError)}\n aria-describedby={keyError ? fieldErrorId(keyFieldName) : undefined}\n onChange={event => editor.updateRow(index, { key: event.target.value })}\n onPaste={event => {\n if (handlePaste(event.clipboardData.getData('text'))) {\n event.preventDefault();\n }\n }}\n />\n </InputGroup>\n {keyError && <FieldBlock.ErrorMsg name={keyFieldName}>{keyError}</FieldBlock.ErrorMsg>}\n </FieldBlock.Column>\n </FieldBlock.Layout>\n </div>\n\n <div className=\"flex-1\">\n <FieldBlock.Layout>\n <FieldBlock.Column>\n <FieldBlock.Label name={valueFieldName}>{valueLabel}</FieldBlock.Label>\n <InputGroup className=\"w-full\">\n <InputGroupInput\n id={valueInputId}\n placeholder={valuePlaceholder}\n className=\"font-mono\"\n type={editor.isValueRevealed(index) ? 'text' : 'password'}\n value={row.value}\n disabled={isDisabled}\n error={Boolean(valueError)}\n aria-describedby={valueError ? fieldErrorId(valueFieldName) : undefined}\n onChange={event => editor.updateRow(index, { value: event.target.value })}\n onPaste={event => {\n if (handlePaste(event.clipboardData.getData('text'))) {\n event.preventDefault();\n }\n }}\n />\n <InputGroupAddon align=\"inline-end\">\n <InputGroupButton\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-sm\"\n disabled={isDisabled}\n aria-label={revealValueLabel}\n tooltip={revealValueLabel}\n onClick={() => editor.toggleValueVisibility(index)}\n >\n {editor.isValueRevealed(index) ? <EyeOffIcon aria-hidden /> : <EyeIcon aria-hidden />}\n </InputGroupButton>\n </InputGroupAddon>\n </InputGroup>\n {valueError && <FieldBlock.ErrorMsg name={valueFieldName}>{valueError}</FieldBlock.ErrorMsg>}\n </FieldBlock.Column>\n </FieldBlock.Layout>\n </div>\n\n {!readOnly && (\n <div className=\"flex items-center gap-2 self-end sm:self-auto sm:pt-7\">\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-md\"\n disabled={disabled}\n aria-label={removeRowLabel}\n tooltip=\"Remove variable\"\n onClick={() => editor.removeRow(index)}\n >\n <TrashIcon />\n </Button>\n </div>\n )}\n </div>\n );\n}\n","import { useEnvironmentVariablesEditorContext } from './environment-variables-editor-context';\nimport { EnvironmentVariablesEditorRow } from './environment-variables-editor-row';\nimport type { EnvironmentVariablesEditorRowsProps } from './environment-variables-editor.types';\nimport { cn } from '@/lib/utils';\n\nexport function EnvironmentVariablesEditorRows({\n className,\n rowErrors,\n keyLabel,\n valueLabel,\n keyPlaceholder,\n valuePlaceholder,\n duplicateKeyMessage,\n ...props\n}: EnvironmentVariablesEditorRowsProps) {\n const { editor, rowErrors: contextRowErrors } = useEnvironmentVariablesEditorContext(\n 'EnvironmentVariablesEditor.Rows',\n );\n const resolvedRowErrors = rowErrors ?? contextRowErrors;\n\n return (\n <div className={cn('space-y-2', className)} {...props}>\n {editor.rows.map((row, index) => (\n <EnvironmentVariablesEditorRow\n key={editor.getRowId(index)}\n row={row}\n index={index}\n rowErrors={resolvedRowErrors}\n keyLabel={keyLabel}\n valueLabel={valueLabel}\n keyPlaceholder={keyPlaceholder}\n valuePlaceholder={valuePlaceholder}\n duplicateKeyMessage={duplicateKeyMessage}\n />\n ))}\n </div>\n );\n}\n","import { UploadIcon } from 'lucide-react';\n\nimport { useEnvironmentVariablesEditorContext } from './environment-variables-editor-context';\nimport type { EnvironmentVariablesEditorUploadButtonProps } from './environment-variables-editor.types';\nimport { Button } from '@/ds/components/Button';\n\nexport function EnvironmentVariablesEditorUploadButton({\n children = 'Import .env',\n inputLabel = 'Import .env file',\n disabled,\n onClick,\n type = 'button',\n variant = 'ghost',\n size = 'sm',\n ...props\n}: EnvironmentVariablesEditorUploadButtonProps) {\n const {\n editor,\n disabled: contextDisabled,\n readOnly,\n } = useEnvironmentVariablesEditorContext('EnvironmentVariablesEditor.UploadButton');\n const isDisabled = contextDisabled || disabled;\n\n if (readOnly) return null;\n\n return (\n <>\n <input\n ref={editor.fileInputRef}\n type=\"file\"\n accept=\".env,text/plain\"\n aria-label={inputLabel}\n className=\"hidden\"\n disabled={isDisabled}\n onChange={editor.handleFileUpload}\n />\n <Button\n type={type}\n variant={variant}\n size={size}\n disabled={isDisabled}\n onClick={event => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n editor.fileInputRef.current?.click();\n }\n }}\n icon={<UploadIcon />}\n {...props}\n >\n {children}\n </Button>\n </>\n );\n}\n","import { useEnvironmentVariablesEditorContext } from './environment-variables-editor-context';\nimport { EnvironmentVariablesEditorUploadButton } from './environment-variables-editor-upload-button';\nimport type { EnvironmentVariablesEditorUploadProps } from './environment-variables-editor.types';\nimport { cn } from '@/lib/utils';\n\nexport function EnvironmentVariablesEditorUpload({\n className,\n children,\n ...props\n}: EnvironmentVariablesEditorUploadProps) {\n const { readOnly } = useEnvironmentVariablesEditorContext('EnvironmentVariablesEditor.Upload');\n\n if (readOnly) return null;\n\n return (\n <div className={cn('flex flex-wrap items-center justify-end gap-2', className)} {...props}>\n {children ?? <EnvironmentVariablesEditorUploadButton />}\n </div>\n );\n}\n","import { useEnvironmentVariablesEditorContext } from './environment-variables-editor-context';\nimport { EnvironmentVariablesEditorMessages } from './environment-variables-editor-messages';\nimport type { EnvironmentVariablesEditorUploadErrorProps } from './environment-variables-editor.types';\n\nexport function EnvironmentVariablesEditorUploadError(props: EnvironmentVariablesEditorUploadErrorProps) {\n const { editor } = useEnvironmentVariablesEditorContext('EnvironmentVariablesEditor.UploadError');\n\n if (!editor.uploadError) return null;\n\n return <EnvironmentVariablesEditorMessages error={editor.uploadError} {...props} />;\n}\n","import { EnvironmentVariablesEditorActions } from './environment-variables-editor-actions';\nimport { EnvironmentVariablesEditorAddButton } from './environment-variables-editor-add-button';\nimport { EnvironmentVariablesEditorDuplicateKeysError } from './environment-variables-editor-duplicate-keys-error';\nimport { EnvironmentVariablesEditorMessages } from './environment-variables-editor-messages';\nimport { EnvironmentVariablesEditorPasteHint } from './environment-variables-editor-paste-hint';\nimport { EnvironmentVariablesEditorReadOnlyEmpty } from './environment-variables-editor-read-only-empty';\nimport { EnvironmentVariablesEditorReadOnlyHeader } from './environment-variables-editor-read-only-header';\nimport { EnvironmentVariablesEditorReadOnlyItem } from './environment-variables-editor-read-only-item';\nimport { EnvironmentVariablesEditorReadOnlyList } from './environment-variables-editor-read-only-list';\nimport { EnvironmentVariablesEditorRoot } from './environment-variables-editor-root';\nimport { EnvironmentVariablesEditorRow } from './environment-variables-editor-row';\nimport { EnvironmentVariablesEditorRows } from './environment-variables-editor-rows';\nimport { EnvironmentVariablesEditorUpload } from './environment-variables-editor-upload';\nimport { EnvironmentVariablesEditorUploadButton } from './environment-variables-editor-upload-button';\nimport { EnvironmentVariablesEditorUploadError } from './environment-variables-editor-upload-error';\nimport type { EnvironmentVariablesEditorProps } from './environment-variables-editor.types';\nimport type { EnvironmentVariableEntry } from '@/lib/env-file';\nimport { DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE } from '@/lib/env-file';\nimport { cn } from '@/lib/utils';\n\nconst renderEnvironmentVariablesEditor = <TRow extends EnvironmentVariableEntry = EnvironmentVariableEntry>({\n className,\n children,\n addLabel = 'Add Variable',\n keyLabel = 'Key',\n valueLabel = 'Value',\n keyPlaceholder = 'e.g: OPEN_AI_KEY',\n valuePlaceholder = 'e.g: sk-xxxxxxxx',\n duplicateKeyMessage = DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE,\n rowErrors,\n error,\n actions,\n ...props\n}: EnvironmentVariablesEditorProps<TRow>) => {\n return (\n <EnvironmentVariablesEditorRoot\n className={cn(!children && 'space-y-3', className)}\n rowErrors={rowErrors}\n {...props}\n >\n {children ?? (\n <>\n <EnvironmentVariablesEditorUpload>\n <EnvironmentVariablesEditorUploadButton />\n </EnvironmentVariablesEditorUpload>\n <EnvironmentVariablesEditorUploadError />\n <EnvironmentVariablesEditorRows\n rowErrors={rowErrors}\n keyLabel={keyLabel}\n valueLabel={valueLabel}\n keyPlaceholder={keyPlaceholder}\n valuePlaceholder={valuePlaceholder}\n duplicateKeyMessage={duplicateKeyMessage}\n />\n <EnvironmentVariablesEditorAddButton>{addLabel}</EnvironmentVariablesEditorAddButton>\n <EnvironmentVariablesEditorDuplicateKeysError message={duplicateKeyMessage} />\n <EnvironmentVariablesEditorMessages error={error} />\n {actions && <EnvironmentVariablesEditorActions>{actions}</EnvironmentVariablesEditorActions>}\n </>\n )}\n </EnvironmentVariablesEditorRoot>\n );\n};\n\nexport const EnvironmentVariablesEditor = Object.assign(renderEnvironmentVariablesEditor, {\n Root: EnvironmentVariablesEditorRoot,\n Upload: EnvironmentVariablesEditorUpload,\n UploadButton: EnvironmentVariablesEditorUploadButton,\n UploadError: EnvironmentVariablesEditorUploadError,\n Rows: EnvironmentVariablesEditorRows,\n Row: EnvironmentVariablesEditorRow,\n AddButton: EnvironmentVariablesEditorAddButton,\n PasteHint: EnvironmentVariablesEditorPasteHint,\n Messages: EnvironmentVariablesEditorMessages,\n DuplicateKeysError: EnvironmentVariablesEditorDuplicateKeysError,\n Actions: EnvironmentVariablesEditorActions,\n ReadOnlyList: EnvironmentVariablesEditorReadOnlyList,\n ReadOnlyHeader: EnvironmentVariablesEditorReadOnlyHeader,\n ReadOnlyEmpty: EnvironmentVariablesEditorReadOnlyEmpty,\n ReadOnlyItem: EnvironmentVariablesEditorReadOnlyItem,\n});\n\nexport type {\n EnvironmentVariablesEditorActionsProps,\n EnvironmentVariablesEditorAddButtonProps,\n EnvironmentVariablesEditorDuplicateKeysErrorProps,\n EnvironmentVariablesEditorMessagesProps,\n EnvironmentVariablesEditorPasteHintProps,\n EnvironmentVariablesEditorProps,\n EnvironmentVariablesEditorReadOnlyEmptyProps,\n EnvironmentVariablesEditorReadOnlyHeaderProps,\n EnvironmentVariablesEditorReadOnlyItemProps,\n EnvironmentVariablesEditorReadOnlyListProps,\n EnvironmentVariablesEditorRootProps,\n EnvironmentVariablesEditorRowErrors,\n EnvironmentVariablesEditorRowProps,\n EnvironmentVariablesEditorRowsProps,\n EnvironmentVariablesEditorUploadButtonProps,\n EnvironmentVariablesEditorUploadErrorProps,\n EnvironmentVariablesEditorUploadProps,\n} from './environment-variables-editor.types';\n"],"names":["jsx","cn","createContext","use","jsxs","Button","PlusIcon","Notice","DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE","Txt","DataList","useState","useCopyToClipboard","Code2Icon","EyeOffIcon","EyeIcon","CheckIcon","CopyIcon","useMemo","FieldBlock","InputGroup","InputGroupInput","fieldErrorId","InputGroupAddon","InputGroupButton","TrashIcon","Fragment","UploadIcon"],"mappings":";;;;;;;;;;;;;;;;;AAGO,SAAS,iCAAA,CAAkC,EAAE,SAAA,EAAW,GAAG,OAAM,EAA2C;AACjH,EAAA,uBAAOA,cAAA,CAAC,SAAI,SAAA,EAAWC,WAAA,CAAG,qCAAqC,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO,CAAA;AACxF;;AC0BO,MAAM,iCAAA,GAAoCC,oBAA6D,IAAI,CAAA;AAE3G,MAAM,gDAAgDA,mBAAA,CAAc;AAAA,EACzE,QAAA,EAAU;AACZ,CAAC,CAAA;AAEM,SAAS,qCAAqC,aAAA,EAAuB;AAC1E,EAAA,MAAM,OAAA,GAAUC,UAAI,iCAAiC,CAAA;AAErD,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,MAAM,IAAI,KAAA,CAAM,CAAA,EAAG,aAAa,CAAA,oDAAA,CAAsD,CAAA;AAAA,EACxF;AAEA,EAAA,OAAO,OAAA;AACT;;ACtCO,SAAS,mCAAA,CAAoC;AAAA,EAClD,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA6C;AAC3C,EAAA,MAAM,EAAE,MAAA,EAAQ,QAAA,EAAU,QAAA,EAAS,GAAI,qCAAqC,sCAAsC,CAAA;AAElH,EAAA,IAAI,UAAU,OAAO,IAAA;AAErB,EAAA,uBACEC,eAAA,CAAC,SAAI,SAAA,EAAWH,WAAA,CAAG,2BAA2B,SAAS,CAAA,EAAI,GAAG,KAAA,EAC5D,QAAA,EAAA;AAAA,oBAAAD,cAAA,CAAC,MAAA,EAAA,EAAK,aAAA,EAAY,MAAA,EAAO,SAAA,EAAU,uBAAA,EAAwB,CAAA;AAAA,oBAC3DA,cAAA;AAAA,MAACK,aAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,QAAA;AAAA,QACL,OAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAK,IAAA;AAAA,QACL,QAAA;AAAA,QACA,OAAA,EAAS,MAAM,MAAA,CAAO,SAAA,EAAU;AAAA,QAChC,IAAA,iCAAOC,oBAAA,EAAA,EAAS,CAAA;AAAA,QAEf,QAAA,EAAA,QAAA,IAAY;AAAA;AAAA,KACf;AAAA,oBACAN,cAAA,CAAC,MAAA,EAAA,EAAK,aAAA,EAAY,MAAA,EAAO,WAAU,uBAAA,EAAwB;AAAA,GAAA,EAC7D,CAAA;AAEJ;;AC7BO,SAAS,kCAAA,CAAmC;AAAA,EACjD,KAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA,GAAU,aAAA;AAAA,EACV,GAAG;AACL,CAAA,EAA4C;AAC1C,EAAA,MAAM,UAAU,QAAA,IAAY,KAAA;AAE5B,EAAA,IAAI,CAAC,SAAS,OAAO,IAAA;AAErB,EAAA,uBACEA,cAAA,CAACO,aAAA,EAAA,EAAO,OAAA,EAAmB,GAAG,KAAA,EAC5B,yCAACA,aAAA,CAAO,OAAA,EAAP,EAAgB,QAAA,EAAA,OAAA,EAAQ,CAAA,EAC3B,CAAA;AAEJ;;ACbO,SAAS,4CAAA,CAA6C;AAAA,EAC3D,OAAA,GAAUC,8CAAA;AAAA,EACV,GAAG;AACL,CAAA,EAAsD;AACpD,EAAA,MAAM,EAAE,MAAA,EAAO,GAAI,oCAAA,CAAqC,+CAA+C,CAAA;AAEvG,EAAA,IAAI,CAAC,MAAA,CAAO,gBAAA,EAAkB,OAAO,IAAA;AAErC,EAAA,uBAAOR,cAAA,CAAC,kCAAA,EAAA,EAAmC,KAAA,EAAO,OAAA,EAAU,GAAG,KAAA,EAAO,CAAA;AACxE;;ACTO,MAAM,uCAAA,GAA0C,oDAAA;AAEhD,SAAS,mCAAA,CAAoC;AAAA,EAClD,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA6C;AAC3C,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,oCAAA,CAAqC,sCAAsC,CAAA;AAEhG,EAAA,IAAI,UAAU,OAAO,IAAA;AAErB,EAAA,sCACGS,OAAA,EAAA,EAAI,EAAA,EAAG,GAAA,EAAI,OAAA,EAAQ,QAAO,IAAA,EAAK,OAAA,EAAQ,SAAA,EAAWR,WAAA,CAAG,cAAc,SAAS,CAAA,EAAI,GAAG,KAAA,EACjF,sBAAY,uCAAA,EACf,CAAA;AAEJ;;AClBO,SAAS,uCAAA,CAAwC;AAAA,EACtD,OAAA,GAAU,gCAAA;AAAA,EACV,GAAG;AACL,CAAA,EAAiD;AAC/C,EAAA,sCAAQS,iBAAA,CAAS,OAAA,EAAT,EAAiB,OAAA,EAAmB,GAAG,KAAA,EAAO,CAAA;AACxD;;ACFO,SAAS,wCAAA,CAAyC;AAAA,EACvD,SAAA;AAAA,EACA,SAAA,GAAY,KAAA;AAAA,EACZ,UAAA,GAAa,OAAA;AAAA,EACb,cAAA,GAAiB,cAAA;AAAA,EACjB,GAAG;AACL,CAAA,EAAkD;AAChD,EAAA,MAAM,EAAE,QAAA,EAAS,GAAIP,SAAA,CAAI,6CAA6C,CAAA;AAEtE,EAAA,uCACGO,iBAAA,CAAS,GAAA,EAAT,EAAa,SAAA,EAAuB,GAAG,KAAA,EACrC,QAAA,EAAA;AAAA,IAAA,QAAA,oBACCV,cAAA,CAACU,iBAAA,CAAS,OAAA,EAAT,EAAiB,aAAA,EAAY,QAAO,SAAA,EAAU,gBAAA,EAC7C,QAAA,kBAAAV,cAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EACR,CAAA;AAAA,oBAEFA,cAAA,CAACU,iBAAA,CAAS,OAAA,EAAT,EAAkB,QAAA,EAAA,SAAA,EAAU,CAAA;AAAA,oBAC7BV,cAAA,CAACU,iBAAA,CAAS,OAAA,EAAT,EAAkB,QAAA,EAAA,UAAA,EAAW,CAAA;AAAA,mCAC7BA,iBAAA,CAAS,OAAA,EAAT,EAAiB,SAAA,EAAU,eAAe,QAAA,EAAA,cAAA,EAAe;AAAA,GAAA,EAC5D,CAAA;AAEJ;;AChBO,SAAS,sCAAA,CAAuC;AAAA,EACrD,SAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA,GAAY,YAAA;AAAA,EACZ,SAAA;AAAA,EACA,QAAA;AAAA,EACA,eAAA;AAAA,EACA,gBAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAgD;AAC9C,EAAA,MAAM,EAAE,QAAA,EAAS,GAAIP,SAAA,CAAI,6CAA6C,CAAA;AACtE,EAAA,MAAM,CAAC,oBAAA,EAAsB,uBAAuB,CAAA,GAAIQ,cAAA,CAAS,mBAAmB,KAAK,CAAA;AACzF,EAAA,MAAM,EAAE,QAAA,EAAU,eAAA,EAAgB,GAAIC,2CAAA,CAAmB,EAAE,cAAA,EAAgB,IAAA,EAAM,SAAA,EAAW,KAAA,EAAO,CAAA;AACnG,EAAA,MAAM,aAAa,QAAA,IAAY,oBAAA;AAC/B,EAAA,MAAM,cAAA,GAAiB,aAAa,KAAA,GAAQ,cAAA;AAC5C,EAAA,MAAM,WAAA,GAAc,IAAA,oBAAQZ,cAAA,CAACa,qBAAA,EAAA,EAAU,CAAA;AACvC,EAAA,MAAM,iBAAA,GAAoB,SAAA,IAAa,wBAAA,CAAyB,KAAK,CAAA;AACrE,EAAA,MAAM,YAAA,GAAe,UAAA,IAAc,OAAA,CAAQ,iBAAiB,CAAA;AAE5D,EAAA,SAAS,cAAA,GAAiB;AACxB,IAAA,MAAM,eAAe,CAAC,UAAA;AAEtB,IAAA,IAAI,aAAa,MAAA,EAAW;AAC1B,MAAA,uBAAA,CAAwB,YAAY,CAAA;AAAA,IACtC;AAEA,IAAA,gBAAA,GAAmB,YAAY,CAAA;AAAA,EACjC;AAEA,EAAA,SAAS,eAAA,GAAkB;AACzB,IAAA,IAAI,CAAC,iBAAA,EAAmB;AAExB,IAAA,eAAA,CAAgB,iBAAiB,CAAA;AAAA,EACnC;AAEA,EAAA,uBACET,eAAA,CAACM,iBAAA,CAAS,SAAA,EAAT,EAAmB,SAAA,EAAWT,YAAG,UAAA,EAAY,SAAS,CAAA,EAAI,GAAG,KAAA,EAC3D,QAAA,EAAA;AAAA,IAAA,QAAA,oBACCD,cAAA,CAACU,iBAAA,CAAS,IAAA,EAAT,EAAc,SAAA,EAAU,uCAAA,EACvB,QAAA,kBAAAV,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,kHAAA,EACb,QAAA,EAAA,WAAA,EACH,CAAA,EACF,CAAA;AAAA,oBAGFA,cAAA,CAACU,kBAAS,QAAA,EAAT,EAAkB,MAAK,MAAA,EAAO,SAAA,EAAU,gCACtC,QAAA,EAAA,IAAA,EACH,CAAA;AAAA,oBAEAV,cAAA,CAACU,iBAAA,CAAS,IAAA,EAAT,EAAc,SAAA,EAAU,SAAA,EACtB,QAAA,EAAA,KAAA,KAAU,MAAA,oBACTN,eAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,iCAAA,EACd,QAAA,EAAA;AAAA,sBAAAJ,cAAA;AAAA,QAACK,aAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAK,QAAA;AAAA,UACL,OAAA,EAAQ,OAAA;AAAA,UACR,IAAA,EAAK,SAAA;AAAA,UACL,YAAA,EAAY,aAAa,YAAA,GAAe,YAAA;AAAA,UACxC,OAAA,EAAS,cAAA;AAAA,UAER,QAAA,EAAA,UAAA,kCAAcS,sBAAA,EAAA,EAAW,aAAA,EAAW,MAAC,CAAA,mBAAKd,cAAA,CAACe,mBAAA,EAAA,EAAQ,aAAA,EAAW,IAAA,EAAC;AAAA;AAAA,OAClE;AAAA,sBACAX,eAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,iDAAA,EACd,QAAA,EAAA;AAAA,wBAAAJ,cAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAWC,WAAA;AAAA,cACT,yEAAA;AAAA,cACA,YAAA,IAAgB;AAAA,aAClB;AAAA,YAEC,QAAA,EAAA;AAAA;AAAA,SACH;AAAA,QACC,YAAA,oBACCD,cAAA;AAAA,UAACK,aAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,QAAA;AAAA,YACL,OAAA,EAAQ,OAAA;AAAA,YACR,IAAA,EAAK,SAAA;AAAA,YACL,YAAA,EAAY,WAAW,cAAA,GAAiB,SAAA;AAAA,YACxC,OAAA,EAAS,WAAW,QAAA,GAAW,SAAA;AAAA,YAC/B,SAAA,EAAU,mHAAA;AAAA,YACV,OAAA,EAAS,eAAA;AAAA,YAER,QAAA,EAAA,QAAA,kCAAYW,qBAAA,EAAA,EAAU,aAAA,EAAW,MAAC,CAAA,mBAAKhB,cAAA,CAACiB,oBAAA,EAAA,EAAS,aAAA,EAAW,IAAA,EAAC;AAAA;AAAA;AAChE,OAAA,EAEJ;AAAA,KAAA,EACF,CAAA,EAEJ,CAAA;AAAA,oBAEAjB,cAAA,CAACU,iBAAA,CAAS,IAAA,EAAT,EAAc,SAAA,EAAU,2DAAA,EACrB,QAAA,EAAA,CAAA,SAAA,IAAa,KAAA,qBACbN,eAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,iCAAA,EACd,QAAA,EAAA;AAAA,sBAAAJ,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,UAAA,EAAY,QAAA,EAAA,SAAA,EAAU,CAAA;AAAA,MACrC;AAAA,KAAA,EACH,CAAA,EAEJ;AAAA,GAAA,EACF,CAAA;AAEJ;AAEA,SAAS,yBAAyB,KAAA,EAAkB;AAClD,EAAA,IAAI,OAAO,KAAA,KAAU,QAAA,IAAY,OAAO,UAAU,QAAA,EAAU;AAC1D,IAAA,OAAO,OAAO,KAAK,CAAA;AAAA,EACrB;AAEA,EAAA,OAAO,MAAA;AACT;;ACjHA,MAAM,iBAAA,GAAoB,0DAAA;AAC1B,MAAM,2BAAA,GAA8B,QAAQ,iBAAiB,CAAA,CAAA;AAEtD,SAAS,sCAAA,CAAuC;AAAA,EACrD,SAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA,GAAa,IAAA;AAAA,EACb,QAAA,GAAW,KAAA;AAAA,EACX,SAAA;AAAA,EACA,UAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAgD;AAC9C,EAAA,MAAM,eAAA,GAAkB,OAAA,KAAY,QAAA,GAAW,2BAAA,GAA8B,iBAAA,CAAA;AAC7E,EAAA,MAAM,YAAA,GAAekB,cAAQ,OAAO,EAAE,UAAS,CAAA,EAAI,CAAC,QAAQ,CAAC,CAAA;AAE7D,EAAA,sCACG,6CAAA,CAA8C,QAAA,EAA9C,EAAuD,KAAA,EAAO,cAC7D,QAAA,kBAAAd,eAAA,CAACM,iBAAA,EAAA,EAAS,OAAA,EAAS,eAAA,EAAiB,WAAsB,SAAA,EAAWT,WAAA,CAAG,WAAW,SAAS,CAAA,EAAI,GAAG,KAAA,EAChG,QAAA,EAAA;AAAA,IAAA,UAAA,KACE,MAAA,oBACCD,cAAA;AAAA,MAAC,wCAAA;AAAA,MAAA;AAAA,QACC,SAAA;AAAA,QACA,UAAA;AAAA,QACA;AAAA;AAAA,KACF,CAAA;AAAA,IAEH;AAAA,GAAA,EACH,CAAA,EACF,CAAA;AAEJ;;AClCO,SAAS,8BAAA,CAAiG;AAAA,EAC/G,MAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA8C;AAC5C,EAAA,MAAM,YAAA,GAAekB,aAAA;AAAA,IACnB,OAAO;AAAA,MACL,MAAA,EAAQ;AAAA,QACN,MAAM,MAAA,CAAO,IAAA;AAAA,QACb,aAAa,MAAA,CAAO,WAAA;AAAA,QACpB,cAAc,MAAA,CAAO,YAAA;AAAA,QACrB,kBAAkB,MAAA,CAAO,gBAAA;AAAA,QACzB,WAAW,MAAA,CAAO,SAAA;AAAA,QAClB,WAAW,MAAA,CAAO,SAAA;AAAA,QAClB,kBAAkB,MAAA,CAAO,gBAAA;AAAA,QACzB,aAAa,MAAA,CAAO,WAAA;AAAA,QACpB,UAAU,MAAA,CAAO,QAAA;AAAA,QACjB,iBAAiB,MAAA,CAAO,eAAA;AAAA,QACxB,uBAAuB,MAAA,CAAO,qBAAA;AAAA,QAC9B,oBAAoB,MAAA,CAAO,kBAAA;AAAA,QAC3B,SAAA,EAAW,MAAM,MAAA,CAAO,SAAA;AAAU,OACpC;AAAA,MACA,QAAA,EAAU,QAAQ,QAAQ,CAAA;AAAA,MAC1B,QAAA,EAAU,QAAQ,QAAQ,CAAA;AAAA,MAC1B;AAAA,KACF,CAAA;AAAA,IACA,CAAC,MAAA,EAAQ,QAAA,EAAU,QAAA,EAAU,SAAS;AAAA,GACxC;AAEA,EAAA,uBACElB,cAAA,CAAC,iCAAA,CAAkC,QAAA,EAAlC,EAA2C,KAAA,EAAO,cACjD,QAAA,kBAAAI,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAuB,GAAG,KAAA,EAC5B,QAAA,EAAA;AAAA,IAAA,QAAA;AAAA,IACA,CAAC,QAAA,IAAY,CAAC,aAAA,mCAAkB,mCAAA,EAAA,EAAoC;AAAA,GAAA,EACvE,CAAA,EACF,CAAA;AAEJ;;ACxCO,SAAS,6BAAA,CAA8B;AAAA,EAC5C,GAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,UAAA,GAAa,OAAA;AAAA,EACb,cAAA,GAAiB,kBAAA;AAAA,EACjB,gBAAA,GAAmB,kBAAA;AAAA,EACnB,mBAAA,GAAsBI,8CAAA;AAAA,EACtB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAuC;AACrC,EAAA,MAAM;AAAA,IACJ,MAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,SAAA,EAAW;AAAA,GACb,GAAI,qCAAqC,gCAAgC,CAAA;AACzE,EAAA,MAAM,aAAa,QAAA,IAAY,QAAA;AAC/B,EAAA,MAAM,oBAAoB,SAAA,IAAa,gBAAA;AACvC,EAAA,MAAM,QAAA,GAAW,oBAAoB,KAAK,CAAA,EAAG,QAAQ,MAAA,CAAO,kBAAA,CAAmB,KAAK,CAAA,GAAI,mBAAA,GAAsB,IAAA,CAAA;AAC9G,EAAA,MAAM,UAAA,GAAa,iBAAA,GAAoB,KAAK,CAAA,EAAG,KAAA;AAC/C,EAAA,MAAM,YAAA,GAAe,WAAW,KAAK,CAAA,CAAA;AACrC,EAAA,MAAM,cAAA,GAAiB,aAAa,KAAK,CAAA,CAAA;AACzC,EAAA,MAAM,UAAA,GAAa,SAAS,YAAY,CAAA,CAAA;AACxC,EAAA,MAAM,YAAA,GAAe,SAAS,cAAc,CAAA,CAAA;AAC5C,EAAA,MAAM,gBAAA,GAAmB,MAAA,CAAO,eAAA,CAAgB,KAAK,IAAI,YAAA,GAAe,YAAA;AACxE,EAAA,MAAM,iBAAiB,CAAA,4BAAA,EAA+B,GAAA,CAAI,IAAI,IAAA,EAAK,IAAK,QAAQ,CAAC,CAAA,CAAA;AAEjF,EAAA,SAAS,YAAY,IAAA,EAAc;AACjC,IAAA,OAAO,MAAA,CAAO,WAAA,CAAY,KAAA,EAAO,IAAI,CAAA;AAAA,EACvC;AAEA,EAAA,uBACEJ,eAAA,CAAC,SAAI,SAAA,EAAWH,WAAA,CAAG,gEAAgE,SAAS,CAAA,EAAI,GAAG,KAAA,EACjG,QAAA,EAAA;AAAA,oBAAAD,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,QAAA,EACb,QAAA,kBAAAA,cAAA,CAACmB,uBAAA,CAAW,QAAX,EACC,QAAA,kBAAAf,eAAA,CAACe,uBAAA,CAAW,MAAA,EAAX,EACC,QAAA,EAAA;AAAA,sBAAAnB,cAAA,CAACmB,uBAAA,CAAW,KAAA,EAAX,EAAiB,IAAA,EAAM,cAAe,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,sBAChDnB,cAAA,CAACoB,qBAAA,EAAA,EAAW,SAAA,EAAU,QAAA,EACpB,QAAA,kBAAApB,cAAA;AAAA,QAACqB,0BAAA;AAAA,QAAA;AAAA,UACC,EAAA,EAAI,UAAA;AAAA,UACJ,WAAA,EAAa,cAAA;AAAA,UACb,SAAA,EAAU,WAAA;AAAA,UACV,OAAO,GAAA,CAAI,GAAA;AAAA,UACX,QAAA,EAAU,UAAA;AAAA,UACV,KAAA,EAAO,QAAQ,QAAQ,CAAA;AAAA,UACvB,kBAAA,EAAkB,QAAA,GAAWC,yBAAA,CAAa,YAAY,CAAA,GAAI,MAAA;AAAA,UAC1D,QAAA,EAAU,CAAA,KAAA,KAAS,MAAA,CAAO,SAAA,CAAU,KAAA,EAAO,EAAE,GAAA,EAAK,KAAA,CAAM,MAAA,CAAO,KAAA,EAAO,CAAA;AAAA,UACtE,SAAS,CAAA,KAAA,KAAS;AAChB,YAAA,IAAI,YAAY,KAAA,CAAM,aAAA,CAAc,OAAA,CAAQ,MAAM,CAAC,CAAA,EAAG;AACpD,cAAA,KAAA,CAAM,cAAA,EAAe;AAAA,YACvB;AAAA,UACF;AAAA;AAAA,OACF,EACF,CAAA;AAAA,MACC,4BAAYtB,cAAA,CAACmB,uBAAA,CAAW,UAAX,EAAoB,IAAA,EAAM,cAAe,QAAA,EAAA,QAAA,EAAS;AAAA,KAAA,EAClE,GACF,CAAA,EACF,CAAA;AAAA,oBAEAnB,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,QAAA,EACb,QAAA,kBAAAA,cAAA,CAACmB,uBAAA,CAAW,MAAA,EAAX,EACC,QAAA,kBAAAf,eAAA,CAACe,uBAAA,CAAW,MAAA,EAAX,EACC,QAAA,EAAA;AAAA,sBAAAnB,cAAA,CAACmB,uBAAA,CAAW,KAAA,EAAX,EAAiB,IAAA,EAAM,gBAAiB,QAAA,EAAA,UAAA,EAAW,CAAA;AAAA,sBACpDf,eAAA,CAACgB,qBAAA,EAAA,EAAW,SAAA,EAAU,QAAA,EACpB,QAAA,EAAA;AAAA,wBAAApB,cAAA;AAAA,UAACqB,0BAAA;AAAA,UAAA;AAAA,YACC,EAAA,EAAI,YAAA;AAAA,YACJ,WAAA,EAAa,gBAAA;AAAA,YACb,SAAA,EAAU,WAAA;AAAA,YACV,IAAA,EAAM,MAAA,CAAO,eAAA,CAAgB,KAAK,IAAI,MAAA,GAAS,UAAA;AAAA,YAC/C,OAAO,GAAA,CAAI,KAAA;AAAA,YACX,QAAA,EAAU,UAAA;AAAA,YACV,KAAA,EAAO,QAAQ,UAAU,CAAA;AAAA,YACzB,kBAAA,EAAkB,UAAA,GAAaC,yBAAA,CAAa,cAAc,CAAA,GAAI,MAAA;AAAA,YAC9D,QAAA,EAAU,CAAA,KAAA,KAAS,MAAA,CAAO,SAAA,CAAU,KAAA,EAAO,EAAE,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,KAAA,EAAO,CAAA;AAAA,YACxE,SAAS,CAAA,KAAA,KAAS;AAChB,cAAA,IAAI,YAAY,KAAA,CAAM,aAAA,CAAc,OAAA,CAAQ,MAAM,CAAC,CAAA,EAAG;AACpD,gBAAA,KAAA,CAAM,cAAA,EAAe;AAAA,cACvB;AAAA,YACF;AAAA;AAAA,SACF;AAAA,wBACAtB,cAAA,CAACuB,0BAAA,EAAA,EAAgB,KAAA,EAAM,YAAA,EACrB,QAAA,kBAAAvB,cAAA;AAAA,UAACwB,2BAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,QAAA;AAAA,YACL,OAAA,EAAQ,OAAA;AAAA,YACR,IAAA,EAAK,SAAA;AAAA,YACL,QAAA,EAAU,UAAA;AAAA,YACV,YAAA,EAAY,gBAAA;AAAA,YACZ,OAAA,EAAS,gBAAA;AAAA,YACT,OAAA,EAAS,MAAM,MAAA,CAAO,qBAAA,CAAsB,KAAK,CAAA;AAAA,YAEhD,QAAA,EAAA,MAAA,CAAO,eAAA,CAAgB,KAAK,CAAA,mBAAIxB,cAAA,CAACc,sBAAA,EAAA,EAAW,aAAA,EAAW,IAAA,EAAC,CAAA,mBAAKd,cAAA,CAACe,mBAAA,EAAA,EAAQ,aAAA,EAAW,IAAA,EAAC;AAAA;AAAA,SACrF,EACF;AAAA,OAAA,EACF,CAAA;AAAA,MACC,8BAAcf,cAAA,CAACmB,uBAAA,CAAW,UAAX,EAAoB,IAAA,EAAM,gBAAiB,QAAA,EAAA,UAAA,EAAW;AAAA,KAAA,EACxE,GACF,CAAA,EACF,CAAA;AAAA,IAEC,CAAC,QAAA,oBACAnB,cAAA,CAAC,KAAA,EAAA,EAAI,WAAU,uDAAA,EACb,QAAA,kBAAAA,cAAA;AAAA,MAACK,aAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,QAAA;AAAA,QACL,OAAA,EAAQ,OAAA;AAAA,QACR,IAAA,EAAK,SAAA;AAAA,QACL,QAAA;AAAA,QACA,YAAA,EAAY,cAAA;AAAA,QACZ,OAAA,EAAQ,iBAAA;AAAA,QACR,OAAA,EAAS,MAAM,MAAA,CAAO,SAAA,CAAU,KAAK,CAAA;AAAA,QAErC,yCAACoB,qBAAA,EAAA,EAAU;AAAA;AAAA,KACb,EACF;AAAA,GAAA,EAEJ,CAAA;AAEJ;;AC3HO,SAAS,8BAAA,CAA+B;AAAA,EAC7C,SAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,cAAA;AAAA,EACA,gBAAA;AAAA,EACA,mBAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAwC;AACtC,EAAA,MAAM,EAAE,MAAA,EAAQ,SAAA,EAAW,gBAAA,EAAiB,GAAI,oCAAA;AAAA,IAC9C;AAAA,GACF;AACA,EAAA,MAAM,oBAAoB,SAAA,IAAa,gBAAA;AAEvC,EAAA,uBACEzB,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAWC,WAAA,CAAG,aAAa,SAAS,CAAA,EAAI,GAAG,KAAA,EAC7C,QAAA,EAAA,MAAA,CAAO,IAAA,CAAK,GAAA,CAAI,CAAC,KAAK,KAAA,qBACrBD,cAAA;AAAA,IAAC,6BAAA;AAAA,IAAA;AAAA,MAEC,GAAA;AAAA,MACA,KAAA;AAAA,MACA,SAAA,EAAW,iBAAA;AAAA,MACX,QAAA;AAAA,MACA,UAAA;AAAA,MACA,cAAA;AAAA,MACA,gBAAA;AAAA,MACA;AAAA,KAAA;AAAA,IARK,MAAA,CAAO,SAAS,KAAK;AAAA,GAU7B,CAAA,EACH,CAAA;AAEJ;;AC/BO,SAAS,sCAAA,CAAuC;AAAA,EACrD,QAAA,GAAW,aAAA;AAAA,EACX,UAAA,GAAa,kBAAA;AAAA,EACb,QAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA,GAAO,QAAA;AAAA,EACP,OAAA,GAAU,OAAA;AAAA,EACV,IAAA,GAAO,IAAA;AAAA,EACP,GAAG;AACL,CAAA,EAAgD;AAC9C,EAAA,MAAM;AAAA,IACJ,MAAA;AAAA,IACA,QAAA,EAAU,eAAA;AAAA,IACV;AAAA,GACF,GAAI,qCAAqC,yCAAyC,CAAA;AAClF,EAAA,MAAM,aAAa,eAAA,IAAmB,QAAA;AAEtC,EAAA,IAAI,UAAU,OAAO,IAAA;AAErB,EAAA,uBACEI,eAAA,CAAAsB,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA1B,cAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,KAAK,MAAA,CAAO,YAAA;AAAA,QACZ,IAAA,EAAK,MAAA;AAAA,QACL,MAAA,EAAO,iBAAA;AAAA,QACP,YAAA,EAAY,UAAA;AAAA,QACZ,SAAA,EAAU,QAAA;AAAA,QACV,QAAA,EAAU,UAAA;AAAA,QACV,UAAU,MAAA,CAAO;AAAA;AAAA,KACnB;AAAA,oBACAA,cAAA;AAAA,MAACK,aAAA;AAAA,MAAA;AAAA,QACC,IAAA;AAAA,QACA,OAAA;AAAA,QACA,IAAA;AAAA,QACA,QAAA,EAAU,UAAA;AAAA,QACV,SAAS,CAAA,KAAA,KAAS;AAChB,UAAA,OAAA,GAAU,KAAK,CAAA;AACf,UAAA,IAAI,CAAC,MAAM,gBAAA,EAAkB;AAC3B,YAAA,MAAA,CAAO,YAAA,CAAa,SAAS,KAAA,EAAM;AAAA,UACrC;AAAA,QACF,CAAA;AAAA,QACA,IAAA,iCAAOsB,sBAAA,EAAA,EAAW,CAAA;AAAA,QACjB,GAAG,KAAA;AAAA,QAEH;AAAA;AAAA;AACH,GAAA,EACF,CAAA;AAEJ;;ACjDO,SAAS,gCAAA,CAAiC;AAAA,EAC/C,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0C;AACxC,EAAA,MAAM,EAAE,QAAA,EAAS,GAAI,oCAAA,CAAqC,mCAAmC,CAAA;AAE7F,EAAA,IAAI,UAAU,OAAO,IAAA;AAErB,EAAA,uBACE3B,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAWC,WAAA,CAAG,+CAAA,EAAiD,SAAS,CAAA,EAAI,GAAG,KAAA,EACjF,QAAA,EAAA,QAAA,oBAAYD,cAAA,CAAC,sCAAA,EAAA,EAAuC,CAAA,EACvD,CAAA;AAEJ;;ACfO,SAAS,sCAAsC,KAAA,EAAmD;AACvG,EAAA,MAAM,EAAE,MAAA,EAAO,GAAI,oCAAA,CAAqC,wCAAwC,CAAA;AAEhG,EAAA,IAAI,CAAC,MAAA,CAAO,WAAA,EAAa,OAAO,IAAA;AAEhC,EAAA,sCAAQ,kCAAA,EAAA,EAAmC,KAAA,EAAO,MAAA,CAAO,WAAA,EAAc,GAAG,KAAA,EAAO,CAAA;AACnF;;ACUA,MAAM,mCAAmC,CAAmE;AAAA,EAC1G,SAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA,GAAW,cAAA;AAAA,EACX,QAAA,GAAW,KAAA;AAAA,EACX,UAAA,GAAa,OAAA;AAAA,EACb,cAAA,GAAiB,kBAAA;AAAA,EACjB,gBAAA,GAAmB,kBAAA;AAAA,EACnB,mBAAA,GAAsBQ,8CAAA;AAAA,EACtB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAG;AACL,CAAA,KAA6C;AAC3C,EAAA,uBACER,cAAA;AAAA,IAAC,8BAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,WAAA,CAAG,CAAC,QAAA,IAAY,aAAa,SAAS,CAAA;AAAA,MACjD,SAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,sCACCG,eAAA,CAAAsB,mBAAA,EAAA,EACE,QAAA,EAAA;AAAA,wBAAA1B,cAAA,CAAC,gCAAA,EAAA,EACC,QAAA,kBAAAA,cAAA,CAAC,sCAAA,EAAA,EAAuC,CAAA,EAC1C,CAAA;AAAA,uCACC,qCAAA,EAAA,EAAsC,CAAA;AAAA,wBACvCA,cAAA;AAAA,UAAC,8BAAA;AAAA,UAAA;AAAA,YACC,SAAA;AAAA,YACA,QAAA;AAAA,YACA,UAAA;AAAA,YACA,cAAA;AAAA,YACA,gBAAA;AAAA,YACA;AAAA;AAAA,SACF;AAAA,wBACAA,cAAA,CAAC,uCAAqC,QAAA,EAAA,QAAA,EAAS,CAAA;AAAA,wBAC/CA,cAAA,CAAC,4CAAA,EAAA,EAA6C,OAAA,EAAS,mBAAA,EAAqB,CAAA;AAAA,wBAC5EA,cAAA,CAAC,sCAAmC,KAAA,EAAc,CAAA;AAAA,QACjD,OAAA,oBAAWA,cAAA,CAAC,iCAAA,EAAA,EAAmC,QAAA,EAAA,OAAA,EAAQ;AAAA,OAAA,EAC1D;AAAA;AAAA,GAEJ;AAEJ,CAAA;AAEO,MAAM,0BAAA,GAA6B,MAAA,CAAO,MAAA,CAAO,gCAAA,EAAkC;AAAA,EACxF,IAAA,EAAM,8BAAA;AAAA,EACN,MAAA,EAAQ,gCAAA;AAAA,EACR,YAAA,EAAc,sCAAA;AAAA,EACd,WAAA,EAAa,qCAAA;AAAA,EACb,IAAA,EAAM,8BAAA;AAAA,EACN,GAAA,EAAK,6BAAA;AAAA,EACL,SAAA,EAAW,mCAAA;AAAA,EACX,SAAA,EAAW,mCAAA;AAAA,EACX,QAAA,EAAU,kCAAA;AAAA,EACV,kBAAA,EAAoB,4CAAA;AAAA,EACpB,OAAA,EAAS,iCAAA;AAAA,EACT,YAAA,EAAc,sCAAA;AAAA,EACd,cAAA,EAAgB,wCAAA;AAAA,EAChB,aAAA,EAAe,uCAAA;AAAA,EACf,YAAA,EAAc;AAChB,CAAC;;;;"}
@@ -8,8 +8,7 @@ import { D as DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE } from '../env-file-BITYowC
8
8
  import { T as Txt } from '../Txt-DTh3Pa_a.js';
9
9
  import { D as DataList } from '../data-list-DnSdaRES.js';
10
10
  import { useCopyToClipboard } from '../hooks/use-copy-to-clipboard.es.js';
11
- import { F as FieldBlock } from '../field-block-DWkbNcsV.js';
12
- import { f as fieldErrorId } from '../field-error-id-D3yg1nBh.js';
11
+ import { F as FieldBlock, f as fieldErrorId } from '../field-error-id-BLxISyNV.js';
13
12
  import { I as InputGroup, c as InputGroupInput, a as InputGroupAddon, b as InputGroupButton } from '../input-group-BEdHivvy.js';
14
13
 
15
14
  function EnvironmentVariablesEditorActions({ className, ...props }) {