@mastra/playground-ui 51.1.0 → 51.2.0-alpha.1

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 (125) hide show
  1. package/CHANGELOG.md +89 -0
  2. package/dist/Composer.css +1 -4
  3. package/dist/components/Comment.cjs.js +170 -0
  4. package/dist/components/Comment.cjs.js.map +1 -0
  5. package/dist/components/Comment.d.ts +2 -0
  6. package/dist/components/Comment.es.js +156 -0
  7. package/dist/components/Comment.es.js.map +1 -0
  8. package/dist/components/Composer.cjs.js +1 -1
  9. package/dist/components/Composer.cjs.js.map +1 -1
  10. package/dist/components/Composer.es.js +1 -1
  11. package/dist/components/Composer.es.js.map +1 -1
  12. package/dist/components/DataList.cjs.js +9 -9
  13. package/dist/components/DataList.cjs.js.map +1 -1
  14. package/dist/components/DataList.es.js +9 -9
  15. package/dist/components/DataList.es.js.map +1 -1
  16. package/dist/components/DateTimePicker.cjs.js +1 -1
  17. package/dist/components/DateTimePicker.es.js +1 -1
  18. package/dist/components/EnvironmentVariablesEditor.cjs.js +6 -6
  19. package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
  20. package/dist/components/EnvironmentVariablesEditor.es.js +6 -6
  21. package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
  22. package/dist/components/FormFieldBlocks.cjs.js +1 -1
  23. package/dist/components/FormFieldBlocks.es.js +1 -1
  24. package/dist/components/JSONSchemaForm.cjs.js +1 -1
  25. package/dist/components/JSONSchemaForm.es.js +1 -1
  26. package/dist/components/LogsDataList.cjs.js +2 -3
  27. package/dist/components/LogsDataList.cjs.js.map +1 -1
  28. package/dist/components/LogsDataList.es.js +2 -3
  29. package/dist/components/LogsDataList.es.js.map +1 -1
  30. package/dist/components/MainSidebar.cjs.js +1 -1
  31. package/dist/components/MainSidebar.cjs.js.map +1 -1
  32. package/dist/components/MainSidebar.es.js +1 -1
  33. package/dist/components/MainSidebar.es.js.map +1 -1
  34. package/dist/components/SettingsRow.cjs.js +35 -14
  35. package/dist/components/SettingsRow.cjs.js.map +1 -1
  36. package/dist/components/SettingsRow.es.js +35 -14
  37. package/dist/components/SettingsRow.es.js.map +1 -1
  38. package/dist/components/ai/tool-call.cjs.js +1 -1
  39. package/dist/components/ai/tool-call.cjs.js.map +1 -1
  40. package/dist/components/ai/tool-call.es.js +1 -1
  41. package/dist/components/ai/tool-call.es.js.map +1 -1
  42. package/dist/{data-list-CfsEAR2E.js → data-list-BOI8fRuk.js} +7 -9
  43. package/dist/data-list-BOI8fRuk.js.map +1 -0
  44. package/dist/{data-list-BK_lJxMN.cjs → data-list-CCacNODd.cjs} +7 -9
  45. package/dist/data-list-CCacNODd.cjs.map +1 -0
  46. package/dist/{data-list-skeleton-dVbplSiW.cjs → data-list-skeleton-BHBSIQHN.cjs} +8 -4
  47. package/dist/data-list-skeleton-BHBSIQHN.cjs.map +1 -0
  48. package/dist/{data-list-skeleton-DQp3KwVO.js → data-list-skeleton-DDO_OE14.js} +8 -4
  49. package/dist/data-list-skeleton-DDO_OE14.js.map +1 -0
  50. package/dist/{data-list-top-cell-DyBSefIr.cjs → data-list-top-cell-BOXO5s7I.cjs} +55 -104
  51. package/dist/data-list-top-cell-BOXO5s7I.cjs.map +1 -0
  52. package/dist/{data-list-top-cell-DZiX9cTb.js → data-list-top-cell-CC5jjv5s.js} +54 -104
  53. package/dist/data-list-top-cell-CC5jjv5s.js.map +1 -0
  54. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
  55. package/dist/domains/logs/components/logs-list-view.es.js +2 -2
  56. package/dist/domains/metrics/components/memory-card-view.cjs.js +3 -3
  57. package/dist/domains/metrics/components/memory-card-view.cjs.js.map +1 -1
  58. package/dist/domains/metrics/components/memory-card-view.es.js +3 -3
  59. package/dist/domains/metrics/components/memory-card-view.es.js.map +1 -1
  60. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +2 -2
  61. package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js.map +1 -1
  62. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +2 -2
  63. package/dist/domains/metrics/components/model-usage-cost-card-view.es.js.map +1 -1
  64. package/dist/domains/metrics/components/scores-card-view.cjs.js +2 -2
  65. package/dist/domains/metrics/components/scores-card-view.cjs.js.map +1 -1
  66. package/dist/domains/metrics/components/scores-card-view.es.js +2 -2
  67. package/dist/domains/metrics/components/scores-card-view.es.js.map +1 -1
  68. package/dist/domains/traces/components/span-data-panel-view.cjs.js +1 -1
  69. package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
  70. package/dist/domains/traces/components/span-data-panel-view.es.js +1 -1
  71. package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
  72. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +16 -5
  73. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  74. package/dist/domains/traces/components/trace-data-panel-view.es.js +16 -5
  75. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  76. package/dist/domains/traces/components/traces-list-view.cjs.js +4 -4
  77. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  78. package/dist/domains/traces/components/traces-list-view.es.js +4 -4
  79. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  80. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +1 -1
  81. package/dist/ee/topics/components/topic-trace-summary-list.es.js +1 -1
  82. package/dist/{logs-data-list-COfm0LbS.js → logs-data-list-DRXJ89IZ.js} +7 -7
  83. package/dist/logs-data-list-DRXJ89IZ.js.map +1 -0
  84. package/dist/{logs-data-list-CEPdgKxp.cjs → logs-data-list-Xayqbjw4.cjs} +7 -7
  85. package/dist/logs-data-list-Xayqbjw4.cjs.map +1 -0
  86. package/dist/metrics-kpi-card-AhIw9eyu.js.map +1 -1
  87. package/dist/metrics-kpi-card-tAReOFYk.cjs.map +1 -1
  88. package/dist/src/domains/traces/components/trace-data-panel-view.d.ts +11 -2
  89. package/dist/src/ds/components/Comment/comment-composer.d.ts +12 -0
  90. package/dist/src/ds/components/Comment/comment-context.d.ts +3 -0
  91. package/dist/src/ds/components/Comment/comment.d.ts +21 -0
  92. package/dist/src/ds/components/Comment/comment.stories.d.ts +10 -0
  93. package/dist/src/ds/components/Comment/index.d.ts +5 -0
  94. package/dist/src/ds/components/DataList/data-list-cells.d.ts +16 -18
  95. package/dist/src/ds/components/DataList/data-list-root.d.ts +6 -7
  96. package/dist/src/ds/components/DataList/data-list-row-link.d.ts +1 -1
  97. package/dist/src/ds/components/DataList/data-list-row-wrapper.d.ts +2 -2
  98. package/dist/src/ds/components/DataList/data-list.d.ts +2 -2
  99. package/dist/src/ds/components/DataList/data-list.stories.d.ts +1 -1
  100. package/dist/src/ds/components/DataList/shared.d.ts +18 -18
  101. package/dist/src/ds/components/MetricsKpiCard/metrics-kpi-card-value.d.ts +2 -1
  102. package/dist/src/ds/components/SettingsRow/settings-row.d.ts +8 -3
  103. package/dist/src/ds/components/SettingsRow/settings-row.stories.d.ts +1 -0
  104. package/dist/style.css +67 -232
  105. package/dist/{text-field-block-BGlwSFYC.cjs → text-field-block-B4CvIwKh.cjs} +2 -1
  106. package/dist/text-field-block-B4CvIwKh.cjs.map +1 -0
  107. package/dist/{text-field-block-DOiM0dpY.js → text-field-block-Ddl2tJ6D.js} +2 -1
  108. package/dist/{text-field-block-DOiM0dpY.js.map → text-field-block-Ddl2tJ6D.js.map} +1 -1
  109. package/dist/{traces-data-list-CyaLRi1n.cjs → traces-data-list-BLZgf-Es.cjs} +7 -7
  110. package/dist/traces-data-list-BLZgf-Es.cjs.map +1 -0
  111. package/dist/{traces-data-list-BURMAmFH.js → traces-data-list-DmXGwe4Q.js} +7 -7
  112. package/dist/traces-data-list-DmXGwe4Q.js.map +1 -0
  113. package/package.json +7 -7
  114. package/theme.css +7 -0
  115. package/dist/data-list-BK_lJxMN.cjs.map +0 -1
  116. package/dist/data-list-CfsEAR2E.js.map +0 -1
  117. package/dist/data-list-skeleton-DQp3KwVO.js.map +0 -1
  118. package/dist/data-list-skeleton-dVbplSiW.cjs.map +0 -1
  119. package/dist/data-list-top-cell-DZiX9cTb.js.map +0 -1
  120. package/dist/data-list-top-cell-DyBSefIr.cjs.map +0 -1
  121. package/dist/logs-data-list-CEPdgKxp.cjs.map +0 -1
  122. package/dist/logs-data-list-COfm0LbS.js.map +0 -1
  123. package/dist/text-field-block-BGlwSFYC.cjs.map +0 -1
  124. package/dist/traces-data-list-BURMAmFH.js.map +0 -1
  125. package/dist/traces-data-list-CyaLRi1n.cjs.map +0 -1
@@ -2,12 +2,12 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const dataList = require('../data-list-BK_lJxMN.cjs');
6
- const dataListSkeleton = require('../data-list-skeleton-dVbplSiW.cjs');
5
+ const dataList = require('../data-list-CCacNODd.cjs');
6
+ const dataListSkeleton = require('../data-list-skeleton-BHBSIQHN.cjs');
7
7
  const jsxRuntime = require('react/jsx-runtime');
8
- const dataListTopCell = require('../data-list-top-cell-DyBSefIr.cjs');
8
+ const dataListTopCell = require('../data-list-top-cell-BOXO5s7I.cjs');
9
9
  const dateFns = require('date-fns');
10
- const tracesDataList = require('../traces-data-list-CyaLRi1n.cjs');
10
+ const tracesDataList = require('../traces-data-list-BLZgf-Es.cjs');
11
11
  const useDataListKeyboard = require('../use-data-list-keyboard-k5D-WlNX.cjs');
12
12
 
13
13
  function toDate(value) {
@@ -16,23 +16,23 @@ function toDate(value) {
16
16
  }
17
17
  function ScoresDataListDateCell({ timestamp }) {
18
18
  const date = toDate(timestamp);
19
- return /* @__PURE__ */ jsxRuntime.jsx(dataListTopCell.DataListCell, { height: "compact", className: "text-ui-smd text-neutral2", children: date ? dateFns.isToday(date) ? "Today" : dateFns.format(date, "MMM dd") : "-" });
19
+ return /* @__PURE__ */ jsxRuntime.jsx(dataListTopCell.DataListCell, { className: "text-ui-smd text-neutral2", children: date ? dateFns.isToday(date) ? "Today" : dateFns.format(date, "MMM dd") : "-" });
20
20
  }
21
21
  function ScoresDataListTimeCell({ timestamp }) {
22
22
  const date = toDate(timestamp);
23
- return /* @__PURE__ */ jsxRuntime.jsx(dataListTopCell.DataListCell, { height: "compact", className: "text-ui-smd text-neutral3", children: date ? dateFns.format(date, "h:mm:ss aaa") : "-" });
23
+ return /* @__PURE__ */ jsxRuntime.jsx(dataListTopCell.DataListCell, { className: "text-ui-smd text-neutral3", children: date ? dateFns.format(date, "h:mm:ss aaa") : "-" });
24
24
  }
25
25
  function ScoresDataListInputCell({ input }) {
26
26
  const display = input != null ? JSON.stringify(input) : "-";
27
- return /* @__PURE__ */ jsxRuntime.jsx(dataListTopCell.DataListCell, { height: "compact", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-ui-smd text-neutral3 block max-w-full min-w-0 truncate font-mono", title: display, children: display }) });
27
+ return /* @__PURE__ */ jsxRuntime.jsx(dataListTopCell.DataListCell, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-ui-smd text-neutral3 block max-w-full min-w-0 truncate font-mono", title: display, children: display }) });
28
28
  }
29
29
  function ScoresDataListEntityCell({ entityId }) {
30
30
  const display = entityId || "-";
31
- return /* @__PURE__ */ jsxRuntime.jsx(dataListTopCell.DataListCell, { height: "compact", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-ui-smd block max-w-full min-w-0 truncate", title: display, children: display }) });
31
+ return /* @__PURE__ */ jsxRuntime.jsx(dataListTopCell.DataListCell, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-ui-smd block max-w-full min-w-0 truncate", title: display, children: display }) });
32
32
  }
33
33
  function ScoresDataListScoreCell({ score }) {
34
34
  const display = score == null ? "-" : typeof score === "object" ? JSON.stringify(score) : String(score);
35
- return /* @__PURE__ */ jsxRuntime.jsx(dataListTopCell.DataListCell, { height: "compact", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-ui-smd text-neutral3 block max-w-full min-w-0 truncate font-mono", title: display, children: display }) });
35
+ return /* @__PURE__ */ jsxRuntime.jsx(dataListTopCell.DataListCell, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-ui-smd text-neutral3 block max-w-full min-w-0 truncate font-mono", title: display, children: display }) });
36
36
  }
37
37
 
38
38
  function ScoresDataListRoot(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"DataList.cjs.js","sources":["../../src/ds/components/DataList/ScoresDataList/scores-data-list-cells.tsx","../../src/ds/components/DataList/ScoresDataList/scores-data-list.tsx"],"sourcesContent":["import { format, isToday } from 'date-fns';\nimport { DataListCell } from '../data-list-cells';\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction toDate(value: Date | string): Date | null {\n const date = value instanceof Date ? value : new Date(value);\n return isNaN(date.getTime()) ? null : date;\n}\n\n// ---------------------------------------------------------------------------\n// DateCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListDateCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListDateCell({ timestamp }: ScoresDataListDateCellProps) {\n const date = toDate(timestamp);\n return (\n <DataListCell height=\"compact\" className=\"text-ui-smd text-neutral2\">\n {date ? (isToday(date) ? 'Today' : format(date, 'MMM dd')) : '-'}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// TimeCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListTimeCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListTimeCell({ timestamp }: ScoresDataListTimeCellProps) {\n const date = toDate(timestamp);\n return (\n <DataListCell height=\"compact\" className=\"text-ui-smd text-neutral3\">\n {date ? format(date, 'h:mm:ss aaa') : '-'}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListInputCellProps {\n input?: unknown;\n}\n\nexport function ScoresDataListInputCell({ input }: ScoresDataListInputCellProps) {\n const display = input != null ? JSON.stringify(input) : '-';\n return (\n <DataListCell height=\"compact\">\n <span className=\"text-ui-smd text-neutral3 block max-w-full min-w-0 truncate font-mono\" title={display}>\n {display}\n </span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListEntityCellProps {\n entityId?: string | null;\n}\n\nexport function ScoresDataListEntityCell({ entityId }: ScoresDataListEntityCellProps) {\n const display = entityId || '-';\n return (\n <DataListCell height=\"compact\">\n <span className=\"text-ui-smd block max-w-full min-w-0 truncate\" title={display}>\n {display}\n </span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// ScoreCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListScoreCellProps {\n score?: unknown;\n}\n\nexport function ScoresDataListScoreCell({ score }: ScoresDataListScoreCellProps) {\n const display = score == null ? '-' : typeof score === 'object' ? JSON.stringify(score) : String(score);\n return (\n <DataListCell height=\"compact\">\n <span className=\"text-ui-smd text-neutral3 block max-w-full min-w-0 truncate font-mono\" title={display}>\n {display}\n </span>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell } from '../data-list-top-cell';\nimport {\n ScoresDataListDateCell,\n ScoresDataListTimeCell,\n ScoresDataListInputCell,\n ScoresDataListEntityCell,\n ScoresDataListScoreCell,\n} from './scores-data-list-cells';\n\nfunction ScoresDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const ScoresDataList = Object.assign(ScoresDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n NextPageLoading: DataListNextPageLoading,\n DateCell: ScoresDataListDateCell,\n TimeCell: ScoresDataListTimeCell,\n InputCell: ScoresDataListInputCell,\n EntityCell: ScoresDataListEntityCell,\n ScoreCell: ScoresDataListScoreCell,\n});\n"],"names":["jsx","DataListCell","isToday","format","DataListRoot","DataListTop","DataListTopCell","DataListRowButton","DataListNoMatch","DataListNextPageLoading"],"mappings":"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"}
1
+ {"version":3,"file":"DataList.cjs.js","sources":["../../src/ds/components/DataList/ScoresDataList/scores-data-list-cells.tsx","../../src/ds/components/DataList/ScoresDataList/scores-data-list.tsx"],"sourcesContent":["import { format, isToday } from 'date-fns';\nimport { DataListCell } from '../data-list-cells';\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction toDate(value: Date | string): Date | null {\n const date = value instanceof Date ? value : new Date(value);\n return isNaN(date.getTime()) ? null : date;\n}\n\n// ---------------------------------------------------------------------------\n// DateCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListDateCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListDateCell({ timestamp }: ScoresDataListDateCellProps) {\n const date = toDate(timestamp);\n return (\n <DataListCell className=\"text-ui-smd text-neutral2\">\n {date ? (isToday(date) ? 'Today' : format(date, 'MMM dd')) : '-'}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// TimeCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListTimeCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListTimeCell({ timestamp }: ScoresDataListTimeCellProps) {\n const date = toDate(timestamp);\n return <DataListCell className=\"text-ui-smd text-neutral3\">{date ? format(date, 'h:mm:ss aaa') : '-'}</DataListCell>;\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListInputCellProps {\n input?: unknown;\n}\n\nexport function ScoresDataListInputCell({ input }: ScoresDataListInputCellProps) {\n const display = input != null ? JSON.stringify(input) : '-';\n return (\n <DataListCell>\n <span className=\"text-ui-smd text-neutral3 block max-w-full min-w-0 truncate font-mono\" title={display}>\n {display}\n </span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListEntityCellProps {\n entityId?: string | null;\n}\n\nexport function ScoresDataListEntityCell({ entityId }: ScoresDataListEntityCellProps) {\n const display = entityId || '-';\n return (\n <DataListCell>\n <span className=\"text-ui-smd block max-w-full min-w-0 truncate\" title={display}>\n {display}\n </span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// ScoreCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListScoreCellProps {\n score?: unknown;\n}\n\nexport function ScoresDataListScoreCell({ score }: ScoresDataListScoreCellProps) {\n const display = score == null ? '-' : typeof score === 'object' ? JSON.stringify(score) : String(score);\n return (\n <DataListCell>\n <span className=\"text-ui-smd text-neutral3 block max-w-full min-w-0 truncate font-mono\" title={display}>\n {display}\n </span>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell } from '../data-list-top-cell';\nimport {\n ScoresDataListDateCell,\n ScoresDataListTimeCell,\n ScoresDataListInputCell,\n ScoresDataListEntityCell,\n ScoresDataListScoreCell,\n} from './scores-data-list-cells';\n\nfunction ScoresDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const ScoresDataList = Object.assign(ScoresDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n NextPageLoading: DataListNextPageLoading,\n DateCell: ScoresDataListDateCell,\n TimeCell: ScoresDataListTimeCell,\n InputCell: ScoresDataListInputCell,\n EntityCell: ScoresDataListEntityCell,\n ScoreCell: ScoresDataListScoreCell,\n});\n"],"names":["jsx","DataListCell","isToday","format","DataListRoot","DataListTop","DataListTopCell","DataListRowButton","DataListNoMatch","DataListNextPageLoading"],"mappings":";;;;;;;;;;;;AAOA,SAAS,OAAO,KAAA,EAAmC;AACjD,EAAA,MAAM,OAAO,KAAA,YAAiB,IAAA,GAAO,KAAA,GAAQ,IAAI,KAAK,KAAK,CAAA;AAC3D,EAAA,OAAO,KAAA,CAAM,IAAA,CAAK,OAAA,EAAS,IAAI,IAAA,GAAO,IAAA;AACxC;AAUO,SAAS,sBAAA,CAAuB,EAAE,SAAA,EAAU,EAAgC;AACjF,EAAA,MAAM,IAAA,GAAO,OAAO,SAAS,CAAA;AAC7B,EAAA,uBACEA,cAAA,CAACC,4BAAA,EAAA,EAAa,SAAA,EAAU,2BAAA,EACrB,QAAA,EAAA,IAAA,GAAQC,eAAA,CAAQ,IAAI,CAAA,GAAI,OAAA,GAAUC,cAAA,CAAO,IAAA,EAAM,QAAQ,IAAK,GAAA,EAC/D,CAAA;AAEJ;AAUO,SAAS,sBAAA,CAAuB,EAAE,SAAA,EAAU,EAAgC;AACjF,EAAA,MAAM,IAAA,GAAO,OAAO,SAAS,CAAA;AAC7B,EAAA,uBAAOH,cAAA,CAACC,gCAAa,SAAA,EAAU,2BAAA,EAA6B,iBAAOE,cAAA,CAAO,IAAA,EAAM,aAAa,CAAA,GAAI,GAAA,EAAI,CAAA;AACvG;AAUO,SAAS,uBAAA,CAAwB,EAAE,KAAA,EAAM,EAAiC;AAC/E,EAAA,MAAM,UAAU,KAAA,IAAS,IAAA,GAAO,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,GAAI,GAAA;AACxD,EAAA,uBACEH,cAAA,CAACC,gCACC,QAAA,kBAAAD,cAAA,CAAC,MAAA,EAAA,EAAK,WAAU,uEAAA,EAAwE,KAAA,EAAO,OAAA,EAC5F,QAAA,EAAA,OAAA,EACH,CAAA,EACF,CAAA;AAEJ;AAUO,SAAS,wBAAA,CAAyB,EAAE,QAAA,EAAS,EAAkC;AACpF,EAAA,MAAM,UAAU,QAAA,IAAY,GAAA;AAC5B,EAAA,uBACEA,cAAA,CAACC,gCACC,QAAA,kBAAAD,cAAA,CAAC,MAAA,EAAA,EAAK,WAAU,+CAAA,EAAgD,KAAA,EAAO,OAAA,EACpE,QAAA,EAAA,OAAA,EACH,CAAA,EACF,CAAA;AAEJ;AAUO,SAAS,uBAAA,CAAwB,EAAE,KAAA,EAAM,EAAiC;AAC/E,EAAA,MAAM,OAAA,GAAU,KAAA,IAAS,IAAA,GAAO,GAAA,GAAM,OAAO,KAAA,KAAU,QAAA,GAAW,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,GAAI,MAAA,CAAO,KAAK,CAAA;AACtG,EAAA,uBACEA,cAAA,CAACC,gCACC,QAAA,kBAAAD,cAAA,CAAC,MAAA,EAAA,EAAK,WAAU,uEAAA,EAAwE,KAAA,EAAO,OAAA,EAC5F,QAAA,EAAA,OAAA,EACH,CAAA,EACF,CAAA;AAEJ;;AClFA,SAAS,mBAAmB,KAAA,EAA4C;AACtE,EAAA,uBAAOA,cAAA,CAACI,4BAAA,EAAA,EAAc,GAAG,KAAA,EAAO,CAAA;AAClC;AAEO,MAAM,cAAA,GAAiB,MAAA,CAAO,MAAA,CAAO,kBAAA,EAAoB;AAAA,EAC9D,GAAA,EAAKC,2BAAA;AAAA,EACL,OAAA,EAASC,+BAAA;AAAA,EACT,SAAA,EAAWC,iCAAA;AAAA,EACX,OAAA,EAASC,+BAAA;AAAA,EACT,eAAA,EAAiBC,uCAAA;AAAA,EACjB,QAAA,EAAU,sBAAA;AAAA,EACV,QAAA,EAAU,sBAAA;AAAA,EACV,SAAA,EAAW,uBAAA;AAAA,EACX,UAAA,EAAY,wBAAA;AAAA,EACZ,SAAA,EAAW;AACb,CAAC;;;;;;;;"}
@@ -1,9 +1,9 @@
1
- export { D as DataList } from '../data-list-CfsEAR2E.js';
2
- export { D as DataListSkeleton } from '../data-list-skeleton-DQp3KwVO.js';
1
+ export { D as DataList } from '../data-list-BOI8fRuk.js';
2
+ export { D as DataListSkeleton } from '../data-list-skeleton-DDO_OE14.js';
3
3
  import { jsx } from 'react/jsx-runtime';
4
- import { a as DataListCell, c as DataListNextPageLoading, f as DataListNoMatch, i as DataListRowButton, m as DataListTopCell, n as DataListTop, D as DataListRoot } from '../data-list-top-cell-DZiX9cTb.js';
4
+ import { a as DataListCell, c as DataListNextPageLoading, g as DataListNoMatch, j as DataListRowButton, n as DataListTopCell, o as DataListTop, D as DataListRoot } from '../data-list-top-cell-CC5jjv5s.js';
5
5
  import { format, isToday } from 'date-fns';
6
- export { T as TracesDataList } from '../traces-data-list-BURMAmFH.js';
6
+ export { T as TracesDataList } from '../traces-data-list-DmXGwe4Q.js';
7
7
  export { u as useDataListKeyboard } from '../use-data-list-keyboard-BzZmvqE_.js';
8
8
 
9
9
  function toDate(value) {
@@ -12,23 +12,23 @@ function toDate(value) {
12
12
  }
13
13
  function ScoresDataListDateCell({ timestamp }) {
14
14
  const date = toDate(timestamp);
15
- return /* @__PURE__ */ jsx(DataListCell, { height: "compact", className: "text-ui-smd text-neutral2", children: date ? isToday(date) ? "Today" : format(date, "MMM dd") : "-" });
15
+ return /* @__PURE__ */ jsx(DataListCell, { className: "text-ui-smd text-neutral2", children: date ? isToday(date) ? "Today" : format(date, "MMM dd") : "-" });
16
16
  }
17
17
  function ScoresDataListTimeCell({ timestamp }) {
18
18
  const date = toDate(timestamp);
19
- return /* @__PURE__ */ jsx(DataListCell, { height: "compact", className: "text-ui-smd text-neutral3", children: date ? format(date, "h:mm:ss aaa") : "-" });
19
+ return /* @__PURE__ */ jsx(DataListCell, { className: "text-ui-smd text-neutral3", children: date ? format(date, "h:mm:ss aaa") : "-" });
20
20
  }
21
21
  function ScoresDataListInputCell({ input }) {
22
22
  const display = input != null ? JSON.stringify(input) : "-";
23
- return /* @__PURE__ */ jsx(DataListCell, { height: "compact", children: /* @__PURE__ */ jsx("span", { className: "text-ui-smd text-neutral3 block max-w-full min-w-0 truncate font-mono", title: display, children: display }) });
23
+ return /* @__PURE__ */ jsx(DataListCell, { children: /* @__PURE__ */ jsx("span", { className: "text-ui-smd text-neutral3 block max-w-full min-w-0 truncate font-mono", title: display, children: display }) });
24
24
  }
25
25
  function ScoresDataListEntityCell({ entityId }) {
26
26
  const display = entityId || "-";
27
- return /* @__PURE__ */ jsx(DataListCell, { height: "compact", children: /* @__PURE__ */ jsx("span", { className: "text-ui-smd block max-w-full min-w-0 truncate", title: display, children: display }) });
27
+ return /* @__PURE__ */ jsx(DataListCell, { children: /* @__PURE__ */ jsx("span", { className: "text-ui-smd block max-w-full min-w-0 truncate", title: display, children: display }) });
28
28
  }
29
29
  function ScoresDataListScoreCell({ score }) {
30
30
  const display = score == null ? "-" : typeof score === "object" ? JSON.stringify(score) : String(score);
31
- return /* @__PURE__ */ jsx(DataListCell, { height: "compact", children: /* @__PURE__ */ jsx("span", { className: "text-ui-smd text-neutral3 block max-w-full min-w-0 truncate font-mono", title: display, children: display }) });
31
+ return /* @__PURE__ */ jsx(DataListCell, { children: /* @__PURE__ */ jsx("span", { className: "text-ui-smd text-neutral3 block max-w-full min-w-0 truncate font-mono", title: display, children: display }) });
32
32
  }
33
33
 
34
34
  function ScoresDataListRoot(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"DataList.es.js","sources":["../../src/ds/components/DataList/ScoresDataList/scores-data-list-cells.tsx","../../src/ds/components/DataList/ScoresDataList/scores-data-list.tsx"],"sourcesContent":["import { format, isToday } from 'date-fns';\nimport { DataListCell } from '../data-list-cells';\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction toDate(value: Date | string): Date | null {\n const date = value instanceof Date ? value : new Date(value);\n return isNaN(date.getTime()) ? null : date;\n}\n\n// ---------------------------------------------------------------------------\n// DateCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListDateCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListDateCell({ timestamp }: ScoresDataListDateCellProps) {\n const date = toDate(timestamp);\n return (\n <DataListCell height=\"compact\" className=\"text-ui-smd text-neutral2\">\n {date ? (isToday(date) ? 'Today' : format(date, 'MMM dd')) : '-'}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// TimeCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListTimeCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListTimeCell({ timestamp }: ScoresDataListTimeCellProps) {\n const date = toDate(timestamp);\n return (\n <DataListCell height=\"compact\" className=\"text-ui-smd text-neutral3\">\n {date ? format(date, 'h:mm:ss aaa') : '-'}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListInputCellProps {\n input?: unknown;\n}\n\nexport function ScoresDataListInputCell({ input }: ScoresDataListInputCellProps) {\n const display = input != null ? JSON.stringify(input) : '-';\n return (\n <DataListCell height=\"compact\">\n <span className=\"text-ui-smd text-neutral3 block max-w-full min-w-0 truncate font-mono\" title={display}>\n {display}\n </span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListEntityCellProps {\n entityId?: string | null;\n}\n\nexport function ScoresDataListEntityCell({ entityId }: ScoresDataListEntityCellProps) {\n const display = entityId || '-';\n return (\n <DataListCell height=\"compact\">\n <span className=\"text-ui-smd block max-w-full min-w-0 truncate\" title={display}>\n {display}\n </span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// ScoreCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListScoreCellProps {\n score?: unknown;\n}\n\nexport function ScoresDataListScoreCell({ score }: ScoresDataListScoreCellProps) {\n const display = score == null ? '-' : typeof score === 'object' ? JSON.stringify(score) : String(score);\n return (\n <DataListCell height=\"compact\">\n <span className=\"text-ui-smd text-neutral3 block max-w-full min-w-0 truncate font-mono\" title={display}>\n {display}\n </span>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell } from '../data-list-top-cell';\nimport {\n ScoresDataListDateCell,\n ScoresDataListTimeCell,\n ScoresDataListInputCell,\n ScoresDataListEntityCell,\n ScoresDataListScoreCell,\n} from './scores-data-list-cells';\n\nfunction ScoresDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const ScoresDataList = Object.assign(ScoresDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n NextPageLoading: DataListNextPageLoading,\n DateCell: ScoresDataListDateCell,\n TimeCell: ScoresDataListTimeCell,\n InputCell: ScoresDataListInputCell,\n EntityCell: ScoresDataListEntityCell,\n ScoreCell: ScoresDataListScoreCell,\n});\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataList.es.js","sources":["../../src/ds/components/DataList/ScoresDataList/scores-data-list-cells.tsx","../../src/ds/components/DataList/ScoresDataList/scores-data-list.tsx"],"sourcesContent":["import { format, isToday } from 'date-fns';\nimport { DataListCell } from '../data-list-cells';\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction toDate(value: Date | string): Date | null {\n const date = value instanceof Date ? value : new Date(value);\n return isNaN(date.getTime()) ? null : date;\n}\n\n// ---------------------------------------------------------------------------\n// DateCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListDateCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListDateCell({ timestamp }: ScoresDataListDateCellProps) {\n const date = toDate(timestamp);\n return (\n <DataListCell className=\"text-ui-smd text-neutral2\">\n {date ? (isToday(date) ? 'Today' : format(date, 'MMM dd')) : '-'}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// TimeCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListTimeCellProps {\n timestamp: Date | string;\n}\n\nexport function ScoresDataListTimeCell({ timestamp }: ScoresDataListTimeCellProps) {\n const date = toDate(timestamp);\n return <DataListCell className=\"text-ui-smd text-neutral3\">{date ? format(date, 'h:mm:ss aaa') : '-'}</DataListCell>;\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListInputCellProps {\n input?: unknown;\n}\n\nexport function ScoresDataListInputCell({ input }: ScoresDataListInputCellProps) {\n const display = input != null ? JSON.stringify(input) : '-';\n return (\n <DataListCell>\n <span className=\"text-ui-smd text-neutral3 block max-w-full min-w-0 truncate font-mono\" title={display}>\n {display}\n </span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListEntityCellProps {\n entityId?: string | null;\n}\n\nexport function ScoresDataListEntityCell({ entityId }: ScoresDataListEntityCellProps) {\n const display = entityId || '-';\n return (\n <DataListCell>\n <span className=\"text-ui-smd block max-w-full min-w-0 truncate\" title={display}>\n {display}\n </span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// ScoreCell\n// ---------------------------------------------------------------------------\n\nexport interface ScoresDataListScoreCellProps {\n score?: unknown;\n}\n\nexport function ScoresDataListScoreCell({ score }: ScoresDataListScoreCellProps) {\n const display = score == null ? '-' : typeof score === 'object' ? JSON.stringify(score) : String(score);\n return (\n <DataListCell>\n <span className=\"text-ui-smd text-neutral3 block max-w-full min-w-0 truncate font-mono\" title={display}>\n {display}\n </span>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell } from '../data-list-top-cell';\nimport {\n ScoresDataListDateCell,\n ScoresDataListTimeCell,\n ScoresDataListInputCell,\n ScoresDataListEntityCell,\n ScoresDataListScoreCell,\n} from './scores-data-list-cells';\n\nfunction ScoresDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const ScoresDataList = Object.assign(ScoresDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n NextPageLoading: DataListNextPageLoading,\n DateCell: ScoresDataListDateCell,\n TimeCell: ScoresDataListTimeCell,\n InputCell: ScoresDataListInputCell,\n EntityCell: ScoresDataListEntityCell,\n ScoreCell: ScoresDataListScoreCell,\n});\n"],"names":[],"mappings":";;;;;;;;AAOA,SAAS,OAAO,KAAA,EAAmC;AACjD,EAAA,MAAM,OAAO,KAAA,YAAiB,IAAA,GAAO,KAAA,GAAQ,IAAI,KAAK,KAAK,CAAA;AAC3D,EAAA,OAAO,KAAA,CAAM,IAAA,CAAK,OAAA,EAAS,IAAI,IAAA,GAAO,IAAA;AACxC;AAUO,SAAS,sBAAA,CAAuB,EAAE,SAAA,EAAU,EAAgC;AACjF,EAAA,MAAM,IAAA,GAAO,OAAO,SAAS,CAAA;AAC7B,EAAA,uBACE,GAAA,CAAC,YAAA,EAAA,EAAa,SAAA,EAAU,2BAAA,EACrB,QAAA,EAAA,IAAA,GAAQ,OAAA,CAAQ,IAAI,CAAA,GAAI,OAAA,GAAU,MAAA,CAAO,IAAA,EAAM,QAAQ,IAAK,GAAA,EAC/D,CAAA;AAEJ;AAUO,SAAS,sBAAA,CAAuB,EAAE,SAAA,EAAU,EAAgC;AACjF,EAAA,MAAM,IAAA,GAAO,OAAO,SAAS,CAAA;AAC7B,EAAA,uBAAO,GAAA,CAAC,gBAAa,SAAA,EAAU,2BAAA,EAA6B,iBAAO,MAAA,CAAO,IAAA,EAAM,aAAa,CAAA,GAAI,GAAA,EAAI,CAAA;AACvG;AAUO,SAAS,uBAAA,CAAwB,EAAE,KAAA,EAAM,EAAiC;AAC/E,EAAA,MAAM,UAAU,KAAA,IAAS,IAAA,GAAO,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,GAAI,GAAA;AACxD,EAAA,uBACE,GAAA,CAAC,gBACC,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,WAAU,uEAAA,EAAwE,KAAA,EAAO,OAAA,EAC5F,QAAA,EAAA,OAAA,EACH,CAAA,EACF,CAAA;AAEJ;AAUO,SAAS,wBAAA,CAAyB,EAAE,QAAA,EAAS,EAAkC;AACpF,EAAA,MAAM,UAAU,QAAA,IAAY,GAAA;AAC5B,EAAA,uBACE,GAAA,CAAC,gBACC,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,WAAU,+CAAA,EAAgD,KAAA,EAAO,OAAA,EACpE,QAAA,EAAA,OAAA,EACH,CAAA,EACF,CAAA;AAEJ;AAUO,SAAS,uBAAA,CAAwB,EAAE,KAAA,EAAM,EAAiC;AAC/E,EAAA,MAAM,OAAA,GAAU,KAAA,IAAS,IAAA,GAAO,GAAA,GAAM,OAAO,KAAA,KAAU,QAAA,GAAW,IAAA,CAAK,SAAA,CAAU,KAAK,CAAA,GAAI,MAAA,CAAO,KAAK,CAAA;AACtG,EAAA,uBACE,GAAA,CAAC,gBACC,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,WAAU,uEAAA,EAAwE,KAAA,EAAO,OAAA,EAC5F,QAAA,EAAA,OAAA,EACH,CAAA,EACF,CAAA;AAEJ;;AClFA,SAAS,mBAAmB,KAAA,EAA4C;AACtE,EAAA,uBAAO,GAAA,CAAC,YAAA,EAAA,EAAc,GAAG,KAAA,EAAO,CAAA;AAClC;AAEO,MAAM,cAAA,GAAiB,MAAA,CAAO,MAAA,CAAO,kBAAA,EAAoB;AAAA,EAC9D,GAAA,EAAK,WAAA;AAAA,EACL,OAAA,EAAS,eAAA;AAAA,EACT,SAAA,EAAW,iBAAA;AAAA,EACX,OAAA,EAAS,eAAA;AAAA,EACT,eAAA,EAAiB,uBAAA;AAAA,EACjB,QAAA,EAAU,sBAAA;AAAA,EACV,QAAA,EAAU,sBAAA;AAAA,EACV,SAAA,EAAW,uBAAA;AAAA,EACX,UAAA,EAAY,wBAAA;AAAA,EACZ,SAAA,EAAW;AACb,CAAC;;;;"}
@@ -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-BGlwSFYC.cjs');
10
+ const textFieldBlock = require('../text-field-block-B4CvIwKh.cjs');
11
11
  const datePicker = require('../date-picker-DrWmUawi.cjs');
12
12
  const timePicker = require('../time-picker-CpR2IP4l.cjs');
13
13
  const Button = require('../Button-DA5XLUon.cjs');
@@ -3,7 +3,7 @@ import { format, isValid, formatDate } from 'date-fns';
3
3
  import { CircleAlertIcon, 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-DOiM0dpY.js';
6
+ import { T as TextFieldBlock } from '../text-field-block-Ddl2tJ6D.js';
7
7
  import { D as DatePicker } from '../date-picker-BpKciwOX.js';
8
8
  import { T as TimePicker } from '../time-picker-63iBILK9.js';
9
9
  import { B as Button } from '../Button-vr_I4iME.js';
@@ -10,7 +10,7 @@ const Button = require('../Button-DA5XLUon.cjs');
10
10
  const Notice = require('../Notice-BoT3Qi4U.cjs');
11
11
  const envFile = require('../env-file-BU2hStkm.cjs');
12
12
  const Txt = require('../Txt-I5lK8zy7.cjs');
13
- const dataList = require('../data-list-BK_lJxMN.cjs');
13
+ const dataList = require('../data-list-CCacNODd.cjs');
14
14
  const hooks_useCopyToClipboard = require('../hooks/use-copy-to-clipboard.cjs.js');
15
15
  const fieldBlock = require('../field-block-BcTR08I7.cjs');
16
16
  const inputGroup = require('../input-group-4EQi2l7H.cjs');
@@ -136,9 +136,9 @@ function EnvironmentVariablesEditorReadOnlyItem({
136
136
  copyToClipboard(resolvedCopyValue);
137
137
  }
138
138
  return /* @__PURE__ */ jsxRuntime.jsxs(dataList.DataList.RowStatic, { className: utils_cn.cn("min-h-14", className), ...props, children: [
139
- showIcon && /* @__PURE__ */ jsxRuntime.jsx(dataList.DataList.Cell, { height: "compact", className: "justify-items-center overflow-visible", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "border-border1 text-neutral3 flex size-7 items-center justify-center rounded-full border [&>svg]:size-3.5", children: leadingIcon }) }),
140
- /* @__PURE__ */ jsxRuntime.jsx(dataList.DataList.MonoCell, { height: "compact", className: "text-ui-sm text-neutral6", children: name }),
141
- /* @__PURE__ */ jsxRuntime.jsx(dataList.DataList.Cell, { height: "compact", className: "min-w-0", children: value !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 items-center gap-2", children: [
139
+ showIcon && /* @__PURE__ */ jsxRuntime.jsx(dataList.DataList.Cell, { className: "justify-items-center overflow-visible", children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "border-border1 text-neutral3 flex size-7 items-center justify-center rounded-full border [&>svg]:size-3.5", children: leadingIcon }) }),
140
+ /* @__PURE__ */ jsxRuntime.jsx(dataList.DataList.TextCell, { font: "mono", className: "text-ui-sm text-neutral6", children: name }),
141
+ /* @__PURE__ */ jsxRuntime.jsx(dataList.DataList.Cell, { className: "min-w-0", children: value !== void 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 items-center gap-2", children: [
142
142
  /* @__PURE__ */ jsxRuntime.jsx(
143
143
  Button.Button,
144
144
  {
@@ -176,7 +176,7 @@ function EnvironmentVariablesEditorReadOnlyItem({
176
176
  )
177
177
  ] })
178
178
  ] }) }),
179
- /* @__PURE__ */ jsxRuntime.jsx(dataList.DataList.Cell, { height: "compact", className: "text-ui-xs text-neutral3 min-w-0 justify-items-end", children: (updatedAt || actor) && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 items-center gap-2", children: [
179
+ /* @__PURE__ */ jsxRuntime.jsx(dataList.DataList.Cell, { className: "text-ui-xs text-neutral3 min-w-0 justify-items-end", children: (updatedAt || actor) && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex min-w-0 items-center gap-2", children: [
180
180
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "truncate", children: updatedAt }),
181
181
  actor
182
182
  ] }) })
@@ -201,7 +201,7 @@ function EnvironmentVariablesEditorReadOnlyList({
201
201
  nameLabel,
202
202
  valueLabel,
203
203
  updatedAtLabel,
204
- variant = "lined",
204
+ variant = "plain",
205
205
  scrollRef,
206
206
  ...props
207
207
  }) {
@@ -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-border1 h-px flex-1\" />\n <Button type=\"button\" variant=\"ghost\" size=\"sm\" disabled={disabled} onClick={() => editor.appendRow()}>\n <PlusIcon />\n {children ?? 'Add Variable'}\n </Button>\n <span aria-hidden=\"true\" className=\"bg-border1 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=\"ui-xs\" className={cn('text-right text-neutral4', 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 height=\"compact\" className=\"justify-items-center overflow-visible\">\n <span className=\"border-border1 text-neutral3 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.MonoCell height=\"compact\" className=\"text-ui-sm text-neutral6\">\n {name}\n </DataList.MonoCell>\n\n <DataList.Cell height=\"compact\" 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-xs\"\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-ui-xs text-neutral4',\n canCopyValue && 'pr-7',\n )}\n >\n {displayedValue}\n </span>\n {canCopyValue && (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-xs\"\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 height=\"compact\" className=\"text-ui-xs text-neutral3 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 variant = 'lined',\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\n columns={resolvedColumns}\n variant={variant}\n scrollRef={scrollRef}\n className={cn('min-h-0', className)}\n {...props}\n >\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 } 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 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>{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 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>{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 {...props}\n >\n <UploadIcon />\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","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-border1 h-px flex-1\" />\n <Button type=\"button\" variant=\"ghost\" size=\"sm\" disabled={disabled} onClick={() => editor.appendRow()}>\n <PlusIcon />\n {children ?? 'Add Variable'}\n </Button>\n <span aria-hidden=\"true\" className=\"bg-border1 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=\"ui-xs\" className={cn('text-right text-neutral4', 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-border1 text-neutral3 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-ui-sm text-neutral6\">\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-xs\"\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-ui-xs text-neutral4',\n canCopyValue && 'pr-7',\n )}\n >\n {displayedValue}\n </span>\n {canCopyValue && (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon-xs\"\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-ui-xs text-neutral3 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 variant = 'plain',\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\n columns={resolvedColumns}\n variant={variant}\n scrollRef={scrollRef}\n className={cn('min-h-0', className)}\n {...props}\n >\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 } 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 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>{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 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>{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 {...props}\n >\n <UploadIcon />\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","InputGroupAddon","InputGroupButton","TrashIcon","Fragment","UploadIcon"],"mappings":"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"}
@@ -6,7 +6,7 @@ import { B as Button } from '../Button-vr_I4iME.js';
6
6
  import { N as Notice } from '../Notice-XR_HdGMF.js';
7
7
  import { D as DUPLICATE_ENVIRONMENT_VARIABLE_MESSAGE } from '../env-file-BITYowCx.js';
8
8
  import { T as Txt } from '../Txt-Df42XG5p.js';
9
- import { D as DataList } from '../data-list-CfsEAR2E.js';
9
+ import { D as DataList } from '../data-list-BOI8fRuk.js';
10
10
  import { useCopyToClipboard } from '../hooks/use-copy-to-clipboard.es.js';
11
11
  import { F as FieldBlock } from '../field-block-B63CpA4d.js';
12
12
  import { I as InputGroup, c as InputGroupInput, a as InputGroupAddon, b as InputGroupButton } from '../input-group-U2f3A4Ya.js';
@@ -132,9 +132,9 @@ function EnvironmentVariablesEditorReadOnlyItem({
132
132
  copyToClipboard(resolvedCopyValue);
133
133
  }
134
134
  return /* @__PURE__ */ jsxs(DataList.RowStatic, { className: cn("min-h-14", className), ...props, children: [
135
- showIcon && /* @__PURE__ */ jsx(DataList.Cell, { height: "compact", className: "justify-items-center overflow-visible", children: /* @__PURE__ */ jsx("span", { className: "border-border1 text-neutral3 flex size-7 items-center justify-center rounded-full border [&>svg]:size-3.5", children: leadingIcon }) }),
136
- /* @__PURE__ */ jsx(DataList.MonoCell, { height: "compact", className: "text-ui-sm text-neutral6", children: name }),
137
- /* @__PURE__ */ jsx(DataList.Cell, { height: "compact", className: "min-w-0", children: value !== void 0 && /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 items-center gap-2", children: [
135
+ showIcon && /* @__PURE__ */ jsx(DataList.Cell, { className: "justify-items-center overflow-visible", children: /* @__PURE__ */ jsx("span", { className: "border-border1 text-neutral3 flex size-7 items-center justify-center rounded-full border [&>svg]:size-3.5", children: leadingIcon }) }),
136
+ /* @__PURE__ */ jsx(DataList.TextCell, { font: "mono", className: "text-ui-sm text-neutral6", children: name }),
137
+ /* @__PURE__ */ jsx(DataList.Cell, { className: "min-w-0", children: value !== void 0 && /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 items-center gap-2", children: [
138
138
  /* @__PURE__ */ jsx(
139
139
  Button,
140
140
  {
@@ -172,7 +172,7 @@ function EnvironmentVariablesEditorReadOnlyItem({
172
172
  )
173
173
  ] })
174
174
  ] }) }),
175
- /* @__PURE__ */ jsx(DataList.Cell, { height: "compact", className: "text-ui-xs text-neutral3 min-w-0 justify-items-end", children: (updatedAt || actor) && /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 items-center gap-2", children: [
175
+ /* @__PURE__ */ jsx(DataList.Cell, { className: "text-ui-xs text-neutral3 min-w-0 justify-items-end", children: (updatedAt || actor) && /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 items-center gap-2", children: [
176
176
  /* @__PURE__ */ jsx("span", { className: "truncate", children: updatedAt }),
177
177
  actor
178
178
  ] }) })
@@ -197,7 +197,7 @@ function EnvironmentVariablesEditorReadOnlyList({
197
197
  nameLabel,
198
198
  valueLabel,
199
199
  updatedAtLabel,
200
- variant = "lined",
200
+ variant = "plain",
201
201
  scrollRef,
202
202
  ...props
203
203
  }) {