@uipath/apollo-react 4.60.0 → 4.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/dist/canvas/styles/tailwind.canvas.css +1 -1
  2. package/dist/material/components/ap-model-picker/ModelPicker.cjs +543 -0
  3. package/dist/material/components/ap-model-picker/ModelPicker.d.ts +56 -0
  4. package/dist/material/components/ap-model-picker/ModelPicker.d.ts.map +1 -0
  5. package/dist/material/components/ap-model-picker/ModelPicker.js +494 -0
  6. package/dist/material/components/ap-model-picker/ModelTagChip.cjs +140 -0
  7. package/dist/material/components/ap-model-picker/ModelTagChip.d.ts +11 -0
  8. package/dist/material/components/ap-model-picker/ModelTagChip.d.ts.map +1 -0
  9. package/dist/material/components/ap-model-picker/ModelTagChip.js +90 -0
  10. package/dist/material/components/ap-model-picker/badges.cjs +53 -0
  11. package/dist/material/components/ap-model-picker/badges.d.ts +9 -0
  12. package/dist/material/components/ap-model-picker/badges.d.ts.map +1 -0
  13. package/dist/material/components/ap-model-picker/badges.js +19 -0
  14. package/dist/material/components/ap-model-picker/i18n.cjs +187 -0
  15. package/dist/material/components/ap-model-picker/i18n.d.ts +53 -0
  16. package/dist/material/components/ap-model-picker/i18n.d.ts.map +1 -0
  17. package/dist/material/components/ap-model-picker/i18n.js +117 -0
  18. package/dist/material/components/ap-model-picker/index.cjs +112 -0
  19. package/dist/material/components/ap-model-picker/index.d.ts +31 -0
  20. package/dist/material/components/ap-model-picker/index.d.ts.map +1 -0
  21. package/dist/material/components/ap-model-picker/index.js +15 -0
  22. package/dist/material/components/ap-model-picker/locales/de.cjs +36 -0
  23. package/dist/material/components/ap-model-picker/locales/de.d.ts +3 -0
  24. package/dist/material/components/ap-model-picker/locales/de.d.ts.map +1 -0
  25. package/dist/material/components/ap-model-picker/locales/de.js +2 -0
  26. package/dist/material/components/ap-model-picker/locales/en.cjs +36 -0
  27. package/dist/material/components/ap-model-picker/locales/en.d.ts +3 -0
  28. package/dist/material/components/ap-model-picker/locales/en.d.ts.map +1 -0
  29. package/dist/material/components/ap-model-picker/locales/en.js +2 -0
  30. package/dist/material/components/ap-model-picker/locales/es-MX.cjs +36 -0
  31. package/dist/material/components/ap-model-picker/locales/es-MX.d.ts +3 -0
  32. package/dist/material/components/ap-model-picker/locales/es-MX.d.ts.map +1 -0
  33. package/dist/material/components/ap-model-picker/locales/es-MX.js +2 -0
  34. package/dist/material/components/ap-model-picker/locales/es.cjs +36 -0
  35. package/dist/material/components/ap-model-picker/locales/es.d.ts +3 -0
  36. package/dist/material/components/ap-model-picker/locales/es.d.ts.map +1 -0
  37. package/dist/material/components/ap-model-picker/locales/es.js +2 -0
  38. package/dist/material/components/ap-model-picker/locales/fr.cjs +36 -0
  39. package/dist/material/components/ap-model-picker/locales/fr.d.ts +3 -0
  40. package/dist/material/components/ap-model-picker/locales/fr.d.ts.map +1 -0
  41. package/dist/material/components/ap-model-picker/locales/fr.js +2 -0
  42. package/dist/material/components/ap-model-picker/locales/ja.cjs +36 -0
  43. package/dist/material/components/ap-model-picker/locales/ja.d.ts +3 -0
  44. package/dist/material/components/ap-model-picker/locales/ja.d.ts.map +1 -0
  45. package/dist/material/components/ap-model-picker/locales/ja.js +2 -0
  46. package/dist/material/components/ap-model-picker/locales/ko.cjs +36 -0
  47. package/dist/material/components/ap-model-picker/locales/ko.d.ts +3 -0
  48. package/dist/material/components/ap-model-picker/locales/ko.d.ts.map +1 -0
  49. package/dist/material/components/ap-model-picker/locales/ko.js +2 -0
  50. package/dist/material/components/ap-model-picker/locales/pt-BR.cjs +36 -0
  51. package/dist/material/components/ap-model-picker/locales/pt-BR.d.ts +3 -0
  52. package/dist/material/components/ap-model-picker/locales/pt-BR.d.ts.map +1 -0
  53. package/dist/material/components/ap-model-picker/locales/pt-BR.js +2 -0
  54. package/dist/material/components/ap-model-picker/locales/pt.cjs +36 -0
  55. package/dist/material/components/ap-model-picker/locales/pt.d.ts +3 -0
  56. package/dist/material/components/ap-model-picker/locales/pt.d.ts.map +1 -0
  57. package/dist/material/components/ap-model-picker/locales/pt.js +2 -0
  58. package/dist/material/components/ap-model-picker/locales/ru.cjs +36 -0
  59. package/dist/material/components/ap-model-picker/locales/ru.d.ts +3 -0
  60. package/dist/material/components/ap-model-picker/locales/ru.d.ts.map +1 -0
  61. package/dist/material/components/ap-model-picker/locales/ru.js +2 -0
  62. package/dist/material/components/ap-model-picker/locales/tr.cjs +36 -0
  63. package/dist/material/components/ap-model-picker/locales/tr.d.ts +3 -0
  64. package/dist/material/components/ap-model-picker/locales/tr.d.ts.map +1 -0
  65. package/dist/material/components/ap-model-picker/locales/tr.js +2 -0
  66. package/dist/material/components/ap-model-picker/locales/zh-CN.cjs +36 -0
  67. package/dist/material/components/ap-model-picker/locales/zh-CN.d.ts +3 -0
  68. package/dist/material/components/ap-model-picker/locales/zh-CN.d.ts.map +1 -0
  69. package/dist/material/components/ap-model-picker/locales/zh-CN.js +2 -0
  70. package/dist/material/components/ap-model-picker/locales/zh-TW.cjs +36 -0
  71. package/dist/material/components/ap-model-picker/locales/zh-TW.d.ts +3 -0
  72. package/dist/material/components/ap-model-picker/locales/zh-TW.d.ts.map +1 -0
  73. package/dist/material/components/ap-model-picker/locales/zh-TW.js +2 -0
  74. package/dist/material/components/ap-model-picker/primitives/FolderSwitcher.cjs +236 -0
  75. package/dist/material/components/ap-model-picker/primitives/FolderSwitcher.d.ts +15 -0
  76. package/dist/material/components/ap-model-picker/primitives/FolderSwitcher.d.ts.map +1 -0
  77. package/dist/material/components/ap-model-picker/primitives/FolderSwitcher.js +181 -0
  78. package/dist/material/components/ap-model-picker/primitives/GroupHeader.cjs +139 -0
  79. package/dist/material/components/ap-model-picker/primitives/GroupHeader.d.ts +16 -0
  80. package/dist/material/components/ap-model-picker/primitives/GroupHeader.d.ts.map +1 -0
  81. package/dist/material/components/ap-model-picker/primitives/GroupHeader.js +92 -0
  82. package/dist/material/components/ap-model-picker/primitives/ModelOptionRow.cjs +258 -0
  83. package/dist/material/components/ap-model-picker/primitives/ModelOptionRow.d.ts +29 -0
  84. package/dist/material/components/ap-model-picker/primitives/ModelOptionRow.d.ts.map +1 -0
  85. package/dist/material/components/ap-model-picker/primitives/ModelOptionRow.js +199 -0
  86. package/dist/material/components/ap-model-picker/primitives/OptionList.cjs +287 -0
  87. package/dist/material/components/ap-model-picker/primitives/OptionList.d.ts +31 -0
  88. package/dist/material/components/ap-model-picker/primitives/OptionList.d.ts.map +1 -0
  89. package/dist/material/components/ap-model-picker/primitives/OptionList.js +235 -0
  90. package/dist/material/components/ap-model-picker/primitives/PickerPopup.cjs +110 -0
  91. package/dist/material/components/ap-model-picker/primitives/PickerPopup.d.ts +16 -0
  92. package/dist/material/components/ap-model-picker/primitives/PickerPopup.d.ts.map +1 -0
  93. package/dist/material/components/ap-model-picker/primitives/PickerPopup.js +63 -0
  94. package/dist/material/components/ap-model-picker/primitives/PickerSearchInput.cjs +143 -0
  95. package/dist/material/components/ap-model-picker/primitives/PickerSearchInput.d.ts +18 -0
  96. package/dist/material/components/ap-model-picker/primitives/PickerSearchInput.d.ts.map +1 -0
  97. package/dist/material/components/ap-model-picker/primitives/PickerSearchInput.js +97 -0
  98. package/dist/material/components/ap-model-picker/primitives/PickerTrigger.cjs +195 -0
  99. package/dist/material/components/ap-model-picker/primitives/PickerTrigger.d.ts +25 -0
  100. package/dist/material/components/ap-model-picker/primitives/PickerTrigger.d.ts.map +1 -0
  101. package/dist/material/components/ap-model-picker/primitives/PickerTrigger.js +148 -0
  102. package/dist/material/components/ap-model-picker/types.cjs +18 -0
  103. package/dist/material/components/ap-model-picker/types.d.ts +77 -0
  104. package/dist/material/components/ap-model-picker/types.d.ts.map +1 -0
  105. package/dist/material/components/ap-model-picker/types.js +0 -0
  106. package/dist/material/components/ap-model-picker/useDiscoveryModels.cjs +113 -0
  107. package/dist/material/components/ap-model-picker/useDiscoveryModels.d.ts +9 -0
  108. package/dist/material/components/ap-model-picker/useDiscoveryModels.d.ts.map +1 -0
  109. package/dist/material/components/ap-model-picker/useDiscoveryModels.js +79 -0
  110. package/dist/material/components/ap-model-picker/useModelPickerState.cjs +175 -0
  111. package/dist/material/components/ap-model-picker/useModelPickerState.d.ts +40 -0
  112. package/dist/material/components/ap-model-picker/useModelPickerState.d.ts.map +1 -0
  113. package/dist/material/components/ap-model-picker/useModelPickerState.js +141 -0
  114. package/dist/material/components/ap-model-picker/usePlatformAccess.cjs +184 -0
  115. package/dist/material/components/ap-model-picker/usePlatformAccess.d.ts +32 -0
  116. package/dist/material/components/ap-model-picker/usePlatformAccess.d.ts.map +1 -0
  117. package/dist/material/components/ap-model-picker/usePlatformAccess.js +141 -0
  118. package/dist/material/components/ap-model-picker/utils.cjs +309 -0
  119. package/dist/material/components/ap-model-picker/utils.d.ts +23 -0
  120. package/dist/material/components/ap-model-picker/utils.d.ts.map +1 -0
  121. package/dist/material/components/ap-model-picker/utils.js +263 -0
  122. package/dist/material/components/index.cjs +31 -24
  123. package/dist/material/components/index.d.ts +1 -0
  124. package/dist/material/components/index.d.ts.map +1 -1
  125. package/dist/material/components/index.js +1 -0
  126. package/package.json +2 -1
@@ -0,0 +1,258 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.n = (module)=>{
5
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
6
+ __webpack_require__.d(getter, {
7
+ a: getter
8
+ });
9
+ return getter;
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.d = (exports1, definition)=>{
14
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
15
+ enumerable: true,
16
+ get: definition[key]
17
+ });
18
+ };
19
+ })();
20
+ (()=>{
21
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
22
+ })();
23
+ (()=>{
24
+ __webpack_require__.r = (exports1)=>{
25
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
26
+ value: 'Module'
27
+ });
28
+ Object.defineProperty(exports1, '__esModule', {
29
+ value: true
30
+ });
31
+ };
32
+ })();
33
+ var __webpack_exports__ = {};
34
+ __webpack_require__.r(__webpack_exports__);
35
+ __webpack_require__.d(__webpack_exports__, {
36
+ FULL_OPTION_HEIGHT: ()=>FULL_OPTION_HEIGHT,
37
+ defaultRowActions: ()=>defaultRowActions,
38
+ DENSE_OPTION_HEIGHT: ()=>DENSE_OPTION_HEIGHT,
39
+ ModelOptionRow: ()=>ModelOptionRow
40
+ });
41
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
42
+ const EditOutlined_namespaceObject = require("@mui/icons-material/EditOutlined");
43
+ var EditOutlined_default = /*#__PURE__*/ __webpack_require__.n(EditOutlined_namespaceObject);
44
+ const Box_namespaceObject = require("@mui/material/Box");
45
+ var Box_default = /*#__PURE__*/ __webpack_require__.n(Box_namespaceObject);
46
+ const ButtonBase_namespaceObject = require("@mui/material/ButtonBase");
47
+ var ButtonBase_default = /*#__PURE__*/ __webpack_require__.n(ButtonBase_namespaceObject);
48
+ const IconButton_namespaceObject = require("@mui/material/IconButton");
49
+ var IconButton_default = /*#__PURE__*/ __webpack_require__.n(IconButton_namespaceObject);
50
+ const Tooltip_namespaceObject = require("@mui/material/Tooltip");
51
+ var Tooltip_default = /*#__PURE__*/ __webpack_require__.n(Tooltip_namespaceObject);
52
+ const Typography_namespaceObject = require("@mui/material/Typography");
53
+ var Typography_default = /*#__PURE__*/ __webpack_require__.n(Typography_namespaceObject);
54
+ const apollo_core_namespaceObject = require("@uipath/apollo-core");
55
+ const external_react_namespaceObject = require("react");
56
+ var external_react_default = /*#__PURE__*/ __webpack_require__.n(external_react_namespaceObject);
57
+ const external_ModelTagChip_cjs_namespaceObject = require("../ModelTagChip.cjs");
58
+ const external_utils_cjs_namespaceObject = require("../utils.cjs");
59
+ const FULL_OPTION_HEIGHT = 64;
60
+ const DENSE_OPTION_HEIGHT = 44;
61
+ function formatContextWindow(tokens) {
62
+ if (null == tokens || tokens <= 0) return null;
63
+ if (tokens >= 1000000) {
64
+ const m = tokens / 1000000;
65
+ return `${m % 1 === 0 ? m.toFixed(0) : m.toFixed(1)}M context`;
66
+ }
67
+ if (tokens >= 1000) {
68
+ const k = Math.round(tokens / 1000);
69
+ return `${k}K context`;
70
+ }
71
+ return `${tokens} context`;
72
+ }
73
+ const ModelOptionRowInner = ({ model, index, active, selected, onSelect, onActivate, tagContext, tagVariants, renderActions, renderMeta, dense, hideTagKinds, id, 'data-testid': dataTestId })=>{
74
+ const inlineTags = (0, external_utils_cjs_namespaceObject.deriveModelTags)(model, tagContext ?? {}).filter((t)=>!hideTagKinds?.includes(t.kind));
75
+ const primaryLabel = model.displayName ?? null;
76
+ const primary = primaryLabel ?? model.modelName;
77
+ const usesFriendlyName = !!primaryLabel && primaryLabel !== model.modelId;
78
+ const techId = usesFriendlyName ? model.modelId : null;
79
+ const minHeight = dense ? DENSE_OPTION_HEIGHT : FULL_OPTION_HEIGHT;
80
+ const contextLabel = formatContextWindow(model.modelDetails?.contextWindowTokens);
81
+ const rowActions = renderActions ? renderActions(model) : null;
82
+ const meta = renderMeta?.(model);
83
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(ButtonBase_default(), {
84
+ component: "div",
85
+ id: id,
86
+ role: "option",
87
+ "aria-selected": selected,
88
+ "data-testid": dataTestId,
89
+ tabIndex: -1,
90
+ onClick: ()=>onSelect(model),
91
+ onMouseEnter: onActivate ? ()=>onActivate(index) : void 0,
92
+ sx: {
93
+ width: '100%',
94
+ minHeight,
95
+ px: dense ? 1.5 : 1.75,
96
+ py: dense ? 0.875 : 1.375,
97
+ display: 'flex',
98
+ alignItems: 'flex-start',
99
+ gap: dense ? 1 : 1.5,
100
+ justifyContent: 'flex-start',
101
+ textAlign: 'left',
102
+ position: 'relative',
103
+ boxShadow: selected ? `inset 3px 0px 0px var(--color-primary, ${apollo_core_namespaceObject.Colors.ColorBlue500})` : 'none',
104
+ backgroundColor: selected ? `var(--color-background-selected, ${apollo_core_namespaceObject.Colors.ColorBlue050})` : active ? "var(--color-background-hover, rgba(82, 96, 105, 0.078))" : 'transparent',
105
+ '&:hover': {
106
+ backgroundColor: selected ? `var(--color-background-selected, ${apollo_core_namespaceObject.Colors.ColorBlue050})` : "var(--color-background-hover, rgba(82, 96, 105, 0.078))"
107
+ }
108
+ },
109
+ children: [
110
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(Box_default(), {
111
+ sx: {
112
+ flex: 1,
113
+ minWidth: 0
114
+ },
115
+ children: [
116
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(Box_default(), {
117
+ sx: {
118
+ display: 'flex',
119
+ alignItems: 'center',
120
+ gap: 0.75,
121
+ flexWrap: 'nowrap',
122
+ minWidth: 0
123
+ },
124
+ children: [
125
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Typography_default(), {
126
+ variant: "body2",
127
+ sx: {
128
+ fontWeight: 600,
129
+ color: `var(--color-foreground, ${apollo_core_namespaceObject.Colors.ColorGray850})`,
130
+ lineHeight: 1.3,
131
+ fontSize: dense ? 13 : 14,
132
+ whiteSpace: 'nowrap',
133
+ overflow: 'hidden',
134
+ textOverflow: 'ellipsis',
135
+ flex: '0 1 auto',
136
+ minWidth: 0
137
+ },
138
+ children: primary
139
+ }),
140
+ inlineTags.map((t)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Box_default(), {
141
+ sx: {
142
+ flexShrink: 0
143
+ },
144
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_ModelTagChip_cjs_namespaceObject.ModelTagChip, {
145
+ tag: t,
146
+ variants: tagVariants
147
+ })
148
+ }, `${t.kind}-${t.label}`))
149
+ ]
150
+ }),
151
+ techId && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Typography_default(), {
152
+ variant: "caption",
153
+ sx: {
154
+ display: 'block',
155
+ color: `var(--color-foreground-de-emp, ${apollo_core_namespaceObject.Colors.ColorGray550})`,
156
+ mt: 0.25,
157
+ fontFamily: apollo_core_namespaceObject.FontFamily.FontMono,
158
+ fontSize: 11,
159
+ whiteSpace: 'nowrap',
160
+ overflow: 'hidden',
161
+ textOverflow: 'ellipsis'
162
+ },
163
+ children: techId
164
+ }),
165
+ model.byoConnectionLabel && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Typography_default(), {
166
+ variant: "caption",
167
+ sx: {
168
+ display: 'block',
169
+ color: `var(--color-foreground-de-emp, ${apollo_core_namespaceObject.Colors.ColorGray550})`,
170
+ mt: techId ? 0 : 0.25,
171
+ fontSize: 12,
172
+ whiteSpace: 'nowrap',
173
+ overflow: 'hidden',
174
+ textOverflow: 'ellipsis',
175
+ maxWidth: '100%'
176
+ },
177
+ children: model.byoConnectionLabel
178
+ })
179
+ ]
180
+ }),
181
+ (contextLabel ?? meta) && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(Box_default(), {
182
+ sx: {
183
+ flexShrink: 0,
184
+ display: 'flex',
185
+ flexDirection: 'column',
186
+ alignItems: 'flex-end',
187
+ gap: 0.5,
188
+ pt: 0.125
189
+ },
190
+ onClick: (e)=>e.stopPropagation(),
191
+ children: [
192
+ contextLabel && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Typography_default(), {
193
+ variant: "caption",
194
+ sx: {
195
+ color: `var(--color-foreground-de-emp, ${apollo_core_namespaceObject.Colors.ColorGray550})`,
196
+ fontSize: 11,
197
+ lineHeight: 1.2
198
+ },
199
+ children: contextLabel
200
+ }),
201
+ meta
202
+ ]
203
+ }),
204
+ rowActions && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Box_default(), {
205
+ sx: {
206
+ display: 'flex',
207
+ alignItems: 'center',
208
+ gap: 0.25,
209
+ color: `var(--color-foreground-de-emp, ${apollo_core_namespaceObject.Colors.ColorGray550})`,
210
+ flexShrink: 0,
211
+ pt: 0.125
212
+ },
213
+ onClick: (e)=>e.stopPropagation(),
214
+ children: rowActions
215
+ })
216
+ ]
217
+ });
218
+ };
219
+ const ModelOptionRow = /*#__PURE__*/ external_react_default().memo(ModelOptionRowInner);
220
+ ModelOptionRow.displayName = 'ModelOptionRow';
221
+ function defaultRowActions(model, options = {}) {
222
+ const { i18n, onEdit } = options;
223
+ if (!onEdit) return null;
224
+ const isByo = 'BYOMAdded' === model.modelSubscriptionType || 'BYOMReplacedAlternative' === model.modelSubscriptionType || 'BYOMReplacedLikeForLike' === model.modelSubscriptionType;
225
+ if (!isByo) return null;
226
+ const editTitle = i18n ? i18n._({
227
+ id: 'modelPicker.row.editConfiguration',
228
+ message: 'Edit configuration'
229
+ }) : 'Edit configuration';
230
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Tooltip_default(), {
231
+ title: editTitle,
232
+ arrow: true,
233
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(IconButton_default(), {
234
+ size: "small",
235
+ sx: {
236
+ color: 'inherit'
237
+ },
238
+ "aria-label": editTitle,
239
+ onClick: ()=>onEdit(model),
240
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(EditOutlined_default(), {
241
+ fontSize: "small"
242
+ })
243
+ })
244
+ });
245
+ }
246
+ exports.DENSE_OPTION_HEIGHT = __webpack_exports__.DENSE_OPTION_HEIGHT;
247
+ exports.FULL_OPTION_HEIGHT = __webpack_exports__.FULL_OPTION_HEIGHT;
248
+ exports.ModelOptionRow = __webpack_exports__.ModelOptionRow;
249
+ exports.defaultRowActions = __webpack_exports__.defaultRowActions;
250
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
251
+ "DENSE_OPTION_HEIGHT",
252
+ "FULL_OPTION_HEIGHT",
253
+ "ModelOptionRow",
254
+ "defaultRowActions"
255
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
256
+ Object.defineProperty(exports, '__esModule', {
257
+ value: true
258
+ });
@@ -0,0 +1,29 @@
1
+ import React from 'react';
2
+ import type { PickerTranslator } from '../i18n';
3
+ import type { DiscoveryModel } from '../types';
4
+ import { type DeriveModelTagsContext } from '../utils';
5
+ export interface ModelOptionRowProps {
6
+ model: DiscoveryModel;
7
+ index: number;
8
+ active: boolean;
9
+ selected: boolean;
10
+ onSelect: (model: DiscoveryModel) => void;
11
+ onActivate?: (index: number) => void;
12
+ tagContext?: DeriveModelTagsContext;
13
+ tagVariants?: Record<string, string>;
14
+ renderActions?: (model: DiscoveryModel) => React.ReactNode;
15
+ renderMeta?: (model: DiscoveryModel) => React.ReactNode;
16
+ dense?: boolean;
17
+ hideTagKinds?: readonly string[];
18
+ id?: string;
19
+ 'data-testid'?: string;
20
+ }
21
+ declare const FULL_OPTION_HEIGHT = 64;
22
+ declare const DENSE_OPTION_HEIGHT = 44;
23
+ export declare const ModelOptionRow: React.NamedExoticComponent<ModelOptionRowProps>;
24
+ export declare function defaultRowActions(model: DiscoveryModel, options?: {
25
+ i18n?: PickerTranslator;
26
+ onEdit?: (model: DiscoveryModel) => void;
27
+ }): React.ReactNode;
28
+ export { FULL_OPTION_HEIGHT, DENSE_OPTION_HEIGHT };
29
+ //# sourceMappingURL=ModelOptionRow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelOptionRow.d.ts","sourceRoot":"","sources":["../../../../../src/material/components/ap-model-picker/primitives/ModelOptionRow.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAGhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,KAAK,sBAAsB,EAAmB,MAAM,UAAU,CAAC;AAExE,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,cAAc,CAAC;IAMtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAMlB,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAK1C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAMrC,UAAU,CAAC,EAAE,sBAAsB,CAAC;IAMpC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAOrC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,KAAK,CAAC,SAAS,CAAC;IAK3D,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,KAAK,CAAC,SAAS,CAAC;IAMxD,KAAK,CAAC,EAAE,OAAO,CAAC;IAKhB,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAMjC,EAAE,CAAC,EAAE,MAAM,CAAC;IAGZ,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,QAAA,MAAM,kBAAkB,KAAK,CAAC;AAC9B,QAAA,MAAM,mBAAmB,KAAK,CAAC;AAyO/B,eAAO,MAAM,cAAc,iDAAkC,CAAC;AAiB9D,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE;IAKP,IAAI,CAAC,EAAE,gBAAgB,CAAC;IAExB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CACrC,GACL,KAAK,CAAC,SAAS,CA0BjB;AAED,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,CAAC"}
@@ -0,0 +1,199 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import EditOutlined from "@mui/icons-material/EditOutlined";
3
+ import Box from "@mui/material/Box";
4
+ import ButtonBase from "@mui/material/ButtonBase";
5
+ import IconButton from "@mui/material/IconButton";
6
+ import Tooltip from "@mui/material/Tooltip";
7
+ import Typography from "@mui/material/Typography";
8
+ import { Colors, FontFamily } from "@uipath/apollo-core";
9
+ import react from "react";
10
+ import { ModelTagChip } from "../ModelTagChip.js";
11
+ import { deriveModelTags } from "../utils.js";
12
+ const FULL_OPTION_HEIGHT = 64;
13
+ const DENSE_OPTION_HEIGHT = 44;
14
+ function formatContextWindow(tokens) {
15
+ if (null == tokens || tokens <= 0) return null;
16
+ if (tokens >= 1000000) {
17
+ const m = tokens / 1000000;
18
+ return `${m % 1 === 0 ? m.toFixed(0) : m.toFixed(1)}M context`;
19
+ }
20
+ if (tokens >= 1000) {
21
+ const k = Math.round(tokens / 1000);
22
+ return `${k}K context`;
23
+ }
24
+ return `${tokens} context`;
25
+ }
26
+ const ModelOptionRowInner = ({ model, index, active, selected, onSelect, onActivate, tagContext, tagVariants, renderActions, renderMeta, dense, hideTagKinds, id, 'data-testid': dataTestId })=>{
27
+ const inlineTags = deriveModelTags(model, tagContext ?? {}).filter((t)=>!hideTagKinds?.includes(t.kind));
28
+ const primaryLabel = model.displayName ?? null;
29
+ const primary = primaryLabel ?? model.modelName;
30
+ const usesFriendlyName = !!primaryLabel && primaryLabel !== model.modelId;
31
+ const techId = usesFriendlyName ? model.modelId : null;
32
+ const minHeight = dense ? DENSE_OPTION_HEIGHT : FULL_OPTION_HEIGHT;
33
+ const contextLabel = formatContextWindow(model.modelDetails?.contextWindowTokens);
34
+ const rowActions = renderActions ? renderActions(model) : null;
35
+ const meta = renderMeta?.(model);
36
+ return /*#__PURE__*/ jsxs(ButtonBase, {
37
+ component: "div",
38
+ id: id,
39
+ role: "option",
40
+ "aria-selected": selected,
41
+ "data-testid": dataTestId,
42
+ tabIndex: -1,
43
+ onClick: ()=>onSelect(model),
44
+ onMouseEnter: onActivate ? ()=>onActivate(index) : void 0,
45
+ sx: {
46
+ width: '100%',
47
+ minHeight,
48
+ px: dense ? 1.5 : 1.75,
49
+ py: dense ? 0.875 : 1.375,
50
+ display: 'flex',
51
+ alignItems: 'flex-start',
52
+ gap: dense ? 1 : 1.5,
53
+ justifyContent: 'flex-start',
54
+ textAlign: 'left',
55
+ position: 'relative',
56
+ boxShadow: selected ? `inset 3px 0px 0px var(--color-primary, ${Colors.ColorBlue500})` : 'none',
57
+ backgroundColor: selected ? `var(--color-background-selected, ${Colors.ColorBlue050})` : active ? "var(--color-background-hover, rgba(82, 96, 105, 0.078))" : 'transparent',
58
+ '&:hover': {
59
+ backgroundColor: selected ? `var(--color-background-selected, ${Colors.ColorBlue050})` : "var(--color-background-hover, rgba(82, 96, 105, 0.078))"
60
+ }
61
+ },
62
+ children: [
63
+ /*#__PURE__*/ jsxs(Box, {
64
+ sx: {
65
+ flex: 1,
66
+ minWidth: 0
67
+ },
68
+ children: [
69
+ /*#__PURE__*/ jsxs(Box, {
70
+ sx: {
71
+ display: 'flex',
72
+ alignItems: 'center',
73
+ gap: 0.75,
74
+ flexWrap: 'nowrap',
75
+ minWidth: 0
76
+ },
77
+ children: [
78
+ /*#__PURE__*/ jsx(Typography, {
79
+ variant: "body2",
80
+ sx: {
81
+ fontWeight: 600,
82
+ color: `var(--color-foreground, ${Colors.ColorGray850})`,
83
+ lineHeight: 1.3,
84
+ fontSize: dense ? 13 : 14,
85
+ whiteSpace: 'nowrap',
86
+ overflow: 'hidden',
87
+ textOverflow: 'ellipsis',
88
+ flex: '0 1 auto',
89
+ minWidth: 0
90
+ },
91
+ children: primary
92
+ }),
93
+ inlineTags.map((t)=>/*#__PURE__*/ jsx(Box, {
94
+ sx: {
95
+ flexShrink: 0
96
+ },
97
+ children: /*#__PURE__*/ jsx(ModelTagChip, {
98
+ tag: t,
99
+ variants: tagVariants
100
+ })
101
+ }, `${t.kind}-${t.label}`))
102
+ ]
103
+ }),
104
+ techId && /*#__PURE__*/ jsx(Typography, {
105
+ variant: "caption",
106
+ sx: {
107
+ display: 'block',
108
+ color: `var(--color-foreground-de-emp, ${Colors.ColorGray550})`,
109
+ mt: 0.25,
110
+ fontFamily: FontFamily.FontMono,
111
+ fontSize: 11,
112
+ whiteSpace: 'nowrap',
113
+ overflow: 'hidden',
114
+ textOverflow: 'ellipsis'
115
+ },
116
+ children: techId
117
+ }),
118
+ model.byoConnectionLabel && /*#__PURE__*/ jsx(Typography, {
119
+ variant: "caption",
120
+ sx: {
121
+ display: 'block',
122
+ color: `var(--color-foreground-de-emp, ${Colors.ColorGray550})`,
123
+ mt: techId ? 0 : 0.25,
124
+ fontSize: 12,
125
+ whiteSpace: 'nowrap',
126
+ overflow: 'hidden',
127
+ textOverflow: 'ellipsis',
128
+ maxWidth: '100%'
129
+ },
130
+ children: model.byoConnectionLabel
131
+ })
132
+ ]
133
+ }),
134
+ (contextLabel ?? meta) && /*#__PURE__*/ jsxs(Box, {
135
+ sx: {
136
+ flexShrink: 0,
137
+ display: 'flex',
138
+ flexDirection: 'column',
139
+ alignItems: 'flex-end',
140
+ gap: 0.5,
141
+ pt: 0.125
142
+ },
143
+ onClick: (e)=>e.stopPropagation(),
144
+ children: [
145
+ contextLabel && /*#__PURE__*/ jsx(Typography, {
146
+ variant: "caption",
147
+ sx: {
148
+ color: `var(--color-foreground-de-emp, ${Colors.ColorGray550})`,
149
+ fontSize: 11,
150
+ lineHeight: 1.2
151
+ },
152
+ children: contextLabel
153
+ }),
154
+ meta
155
+ ]
156
+ }),
157
+ rowActions && /*#__PURE__*/ jsx(Box, {
158
+ sx: {
159
+ display: 'flex',
160
+ alignItems: 'center',
161
+ gap: 0.25,
162
+ color: `var(--color-foreground-de-emp, ${Colors.ColorGray550})`,
163
+ flexShrink: 0,
164
+ pt: 0.125
165
+ },
166
+ onClick: (e)=>e.stopPropagation(),
167
+ children: rowActions
168
+ })
169
+ ]
170
+ });
171
+ };
172
+ const ModelOptionRow = /*#__PURE__*/ react.memo(ModelOptionRowInner);
173
+ ModelOptionRow.displayName = 'ModelOptionRow';
174
+ function defaultRowActions(model, options = {}) {
175
+ const { i18n, onEdit } = options;
176
+ if (!onEdit) return null;
177
+ const isByo = 'BYOMAdded' === model.modelSubscriptionType || 'BYOMReplacedAlternative' === model.modelSubscriptionType || 'BYOMReplacedLikeForLike' === model.modelSubscriptionType;
178
+ if (!isByo) return null;
179
+ const editTitle = i18n ? i18n._({
180
+ id: 'modelPicker.row.editConfiguration',
181
+ message: 'Edit configuration'
182
+ }) : 'Edit configuration';
183
+ return /*#__PURE__*/ jsx(Tooltip, {
184
+ title: editTitle,
185
+ arrow: true,
186
+ children: /*#__PURE__*/ jsx(IconButton, {
187
+ size: "small",
188
+ sx: {
189
+ color: 'inherit'
190
+ },
191
+ "aria-label": editTitle,
192
+ onClick: ()=>onEdit(model),
193
+ children: /*#__PURE__*/ jsx(EditOutlined, {
194
+ fontSize: "small"
195
+ })
196
+ })
197
+ });
198
+ }
199
+ export { DENSE_OPTION_HEIGHT, FULL_OPTION_HEIGHT, ModelOptionRow, defaultRowActions };