@uipath/apollo-react 4.60.0 → 4.61.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 (133) hide show
  1. package/dist/canvas/components/BaseNode/BaseNode.cjs +23 -42
  2. package/dist/canvas/components/BaseNode/BaseNode.d.ts.map +1 -1
  3. package/dist/canvas/components/BaseNode/BaseNode.js +23 -42
  4. package/dist/canvas/components/BaseNode/BaseNodeConfigContext.d.ts.map +1 -1
  5. package/dist/canvas/stores/animatedViewportManager.cjs +4 -4
  6. package/dist/canvas/stores/animatedViewportManager.d.ts.map +1 -1
  7. package/dist/canvas/stores/animatedViewportManager.js +4 -4
  8. package/dist/canvas/styles/tailwind.canvas.css +1 -1
  9. package/dist/material/components/ap-model-picker/ModelPicker.cjs +543 -0
  10. package/dist/material/components/ap-model-picker/ModelPicker.d.ts +56 -0
  11. package/dist/material/components/ap-model-picker/ModelPicker.d.ts.map +1 -0
  12. package/dist/material/components/ap-model-picker/ModelPicker.js +494 -0
  13. package/dist/material/components/ap-model-picker/ModelTagChip.cjs +140 -0
  14. package/dist/material/components/ap-model-picker/ModelTagChip.d.ts +11 -0
  15. package/dist/material/components/ap-model-picker/ModelTagChip.d.ts.map +1 -0
  16. package/dist/material/components/ap-model-picker/ModelTagChip.js +90 -0
  17. package/dist/material/components/ap-model-picker/badges.cjs +53 -0
  18. package/dist/material/components/ap-model-picker/badges.d.ts +9 -0
  19. package/dist/material/components/ap-model-picker/badges.d.ts.map +1 -0
  20. package/dist/material/components/ap-model-picker/badges.js +19 -0
  21. package/dist/material/components/ap-model-picker/i18n.cjs +187 -0
  22. package/dist/material/components/ap-model-picker/i18n.d.ts +53 -0
  23. package/dist/material/components/ap-model-picker/i18n.d.ts.map +1 -0
  24. package/dist/material/components/ap-model-picker/i18n.js +117 -0
  25. package/dist/material/components/ap-model-picker/index.cjs +112 -0
  26. package/dist/material/components/ap-model-picker/index.d.ts +31 -0
  27. package/dist/material/components/ap-model-picker/index.d.ts.map +1 -0
  28. package/dist/material/components/ap-model-picker/index.js +15 -0
  29. package/dist/material/components/ap-model-picker/locales/de.cjs +36 -0
  30. package/dist/material/components/ap-model-picker/locales/de.d.ts +3 -0
  31. package/dist/material/components/ap-model-picker/locales/de.d.ts.map +1 -0
  32. package/dist/material/components/ap-model-picker/locales/de.js +2 -0
  33. package/dist/material/components/ap-model-picker/locales/en.cjs +36 -0
  34. package/dist/material/components/ap-model-picker/locales/en.d.ts +3 -0
  35. package/dist/material/components/ap-model-picker/locales/en.d.ts.map +1 -0
  36. package/dist/material/components/ap-model-picker/locales/en.js +2 -0
  37. package/dist/material/components/ap-model-picker/locales/es-MX.cjs +36 -0
  38. package/dist/material/components/ap-model-picker/locales/es-MX.d.ts +3 -0
  39. package/dist/material/components/ap-model-picker/locales/es-MX.d.ts.map +1 -0
  40. package/dist/material/components/ap-model-picker/locales/es-MX.js +2 -0
  41. package/dist/material/components/ap-model-picker/locales/es.cjs +36 -0
  42. package/dist/material/components/ap-model-picker/locales/es.d.ts +3 -0
  43. package/dist/material/components/ap-model-picker/locales/es.d.ts.map +1 -0
  44. package/dist/material/components/ap-model-picker/locales/es.js +2 -0
  45. package/dist/material/components/ap-model-picker/locales/fr.cjs +36 -0
  46. package/dist/material/components/ap-model-picker/locales/fr.d.ts +3 -0
  47. package/dist/material/components/ap-model-picker/locales/fr.d.ts.map +1 -0
  48. package/dist/material/components/ap-model-picker/locales/fr.js +2 -0
  49. package/dist/material/components/ap-model-picker/locales/ja.cjs +36 -0
  50. package/dist/material/components/ap-model-picker/locales/ja.d.ts +3 -0
  51. package/dist/material/components/ap-model-picker/locales/ja.d.ts.map +1 -0
  52. package/dist/material/components/ap-model-picker/locales/ja.js +2 -0
  53. package/dist/material/components/ap-model-picker/locales/ko.cjs +36 -0
  54. package/dist/material/components/ap-model-picker/locales/ko.d.ts +3 -0
  55. package/dist/material/components/ap-model-picker/locales/ko.d.ts.map +1 -0
  56. package/dist/material/components/ap-model-picker/locales/ko.js +2 -0
  57. package/dist/material/components/ap-model-picker/locales/pt-BR.cjs +36 -0
  58. package/dist/material/components/ap-model-picker/locales/pt-BR.d.ts +3 -0
  59. package/dist/material/components/ap-model-picker/locales/pt-BR.d.ts.map +1 -0
  60. package/dist/material/components/ap-model-picker/locales/pt-BR.js +2 -0
  61. package/dist/material/components/ap-model-picker/locales/pt.cjs +36 -0
  62. package/dist/material/components/ap-model-picker/locales/pt.d.ts +3 -0
  63. package/dist/material/components/ap-model-picker/locales/pt.d.ts.map +1 -0
  64. package/dist/material/components/ap-model-picker/locales/pt.js +2 -0
  65. package/dist/material/components/ap-model-picker/locales/ru.cjs +36 -0
  66. package/dist/material/components/ap-model-picker/locales/ru.d.ts +3 -0
  67. package/dist/material/components/ap-model-picker/locales/ru.d.ts.map +1 -0
  68. package/dist/material/components/ap-model-picker/locales/ru.js +2 -0
  69. package/dist/material/components/ap-model-picker/locales/tr.cjs +36 -0
  70. package/dist/material/components/ap-model-picker/locales/tr.d.ts +3 -0
  71. package/dist/material/components/ap-model-picker/locales/tr.d.ts.map +1 -0
  72. package/dist/material/components/ap-model-picker/locales/tr.js +2 -0
  73. package/dist/material/components/ap-model-picker/locales/zh-CN.cjs +36 -0
  74. package/dist/material/components/ap-model-picker/locales/zh-CN.d.ts +3 -0
  75. package/dist/material/components/ap-model-picker/locales/zh-CN.d.ts.map +1 -0
  76. package/dist/material/components/ap-model-picker/locales/zh-CN.js +2 -0
  77. package/dist/material/components/ap-model-picker/locales/zh-TW.cjs +36 -0
  78. package/dist/material/components/ap-model-picker/locales/zh-TW.d.ts +3 -0
  79. package/dist/material/components/ap-model-picker/locales/zh-TW.d.ts.map +1 -0
  80. package/dist/material/components/ap-model-picker/locales/zh-TW.js +2 -0
  81. package/dist/material/components/ap-model-picker/primitives/FolderSwitcher.cjs +236 -0
  82. package/dist/material/components/ap-model-picker/primitives/FolderSwitcher.d.ts +15 -0
  83. package/dist/material/components/ap-model-picker/primitives/FolderSwitcher.d.ts.map +1 -0
  84. package/dist/material/components/ap-model-picker/primitives/FolderSwitcher.js +181 -0
  85. package/dist/material/components/ap-model-picker/primitives/GroupHeader.cjs +139 -0
  86. package/dist/material/components/ap-model-picker/primitives/GroupHeader.d.ts +16 -0
  87. package/dist/material/components/ap-model-picker/primitives/GroupHeader.d.ts.map +1 -0
  88. package/dist/material/components/ap-model-picker/primitives/GroupHeader.js +92 -0
  89. package/dist/material/components/ap-model-picker/primitives/ModelOptionRow.cjs +258 -0
  90. package/dist/material/components/ap-model-picker/primitives/ModelOptionRow.d.ts +29 -0
  91. package/dist/material/components/ap-model-picker/primitives/ModelOptionRow.d.ts.map +1 -0
  92. package/dist/material/components/ap-model-picker/primitives/ModelOptionRow.js +199 -0
  93. package/dist/material/components/ap-model-picker/primitives/OptionList.cjs +287 -0
  94. package/dist/material/components/ap-model-picker/primitives/OptionList.d.ts +31 -0
  95. package/dist/material/components/ap-model-picker/primitives/OptionList.d.ts.map +1 -0
  96. package/dist/material/components/ap-model-picker/primitives/OptionList.js +235 -0
  97. package/dist/material/components/ap-model-picker/primitives/PickerPopup.cjs +110 -0
  98. package/dist/material/components/ap-model-picker/primitives/PickerPopup.d.ts +16 -0
  99. package/dist/material/components/ap-model-picker/primitives/PickerPopup.d.ts.map +1 -0
  100. package/dist/material/components/ap-model-picker/primitives/PickerPopup.js +63 -0
  101. package/dist/material/components/ap-model-picker/primitives/PickerSearchInput.cjs +143 -0
  102. package/dist/material/components/ap-model-picker/primitives/PickerSearchInput.d.ts +18 -0
  103. package/dist/material/components/ap-model-picker/primitives/PickerSearchInput.d.ts.map +1 -0
  104. package/dist/material/components/ap-model-picker/primitives/PickerSearchInput.js +97 -0
  105. package/dist/material/components/ap-model-picker/primitives/PickerTrigger.cjs +195 -0
  106. package/dist/material/components/ap-model-picker/primitives/PickerTrigger.d.ts +25 -0
  107. package/dist/material/components/ap-model-picker/primitives/PickerTrigger.d.ts.map +1 -0
  108. package/dist/material/components/ap-model-picker/primitives/PickerTrigger.js +148 -0
  109. package/dist/material/components/ap-model-picker/types.cjs +18 -0
  110. package/dist/material/components/ap-model-picker/types.d.ts +77 -0
  111. package/dist/material/components/ap-model-picker/types.d.ts.map +1 -0
  112. package/dist/material/components/ap-model-picker/types.js +0 -0
  113. package/dist/material/components/ap-model-picker/useDiscoveryModels.cjs +113 -0
  114. package/dist/material/components/ap-model-picker/useDiscoveryModels.d.ts +9 -0
  115. package/dist/material/components/ap-model-picker/useDiscoveryModels.d.ts.map +1 -0
  116. package/dist/material/components/ap-model-picker/useDiscoveryModels.js +79 -0
  117. package/dist/material/components/ap-model-picker/useModelPickerState.cjs +175 -0
  118. package/dist/material/components/ap-model-picker/useModelPickerState.d.ts +40 -0
  119. package/dist/material/components/ap-model-picker/useModelPickerState.d.ts.map +1 -0
  120. package/dist/material/components/ap-model-picker/useModelPickerState.js +141 -0
  121. package/dist/material/components/ap-model-picker/usePlatformAccess.cjs +184 -0
  122. package/dist/material/components/ap-model-picker/usePlatformAccess.d.ts +32 -0
  123. package/dist/material/components/ap-model-picker/usePlatformAccess.d.ts.map +1 -0
  124. package/dist/material/components/ap-model-picker/usePlatformAccess.js +141 -0
  125. package/dist/material/components/ap-model-picker/utils.cjs +309 -0
  126. package/dist/material/components/ap-model-picker/utils.d.ts +23 -0
  127. package/dist/material/components/ap-model-picker/utils.d.ts.map +1 -0
  128. package/dist/material/components/ap-model-picker/utils.js +263 -0
  129. package/dist/material/components/index.cjs +31 -24
  130. package/dist/material/components/index.d.ts +1 -0
  131. package/dist/material/components/index.d.ts.map +1 -1
  132. package/dist/material/components/index.js +1 -0
  133. package/package.json +2 -1
@@ -0,0 +1,543 @@
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
+ ModelPicker: ()=>ModelPicker
37
+ });
38
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
39
+ const Add_namespaceObject = require("@mui/icons-material/Add");
40
+ var Add_default = /*#__PURE__*/ __webpack_require__.n(Add_namespaceObject);
41
+ const Box_namespaceObject = require("@mui/material/Box");
42
+ var Box_default = /*#__PURE__*/ __webpack_require__.n(Box_namespaceObject);
43
+ const ButtonBase_namespaceObject = require("@mui/material/ButtonBase");
44
+ var ButtonBase_default = /*#__PURE__*/ __webpack_require__.n(ButtonBase_namespaceObject);
45
+ const CircularProgress_namespaceObject = require("@mui/material/CircularProgress");
46
+ var CircularProgress_default = /*#__PURE__*/ __webpack_require__.n(CircularProgress_namespaceObject);
47
+ const Typography_namespaceObject = require("@mui/material/Typography");
48
+ var Typography_default = /*#__PURE__*/ __webpack_require__.n(Typography_namespaceObject);
49
+ const apollo_core_namespaceObject = require("@uipath/apollo-core");
50
+ const external_react_namespaceObject = require("react");
51
+ var external_react_default = /*#__PURE__*/ __webpack_require__.n(external_react_namespaceObject);
52
+ const index_cjs_namespaceObject = require("../../../i18n/index.cjs");
53
+ const FolderSwitcher_cjs_namespaceObject = require("./primitives/FolderSwitcher.cjs");
54
+ const ModelOptionRow_cjs_namespaceObject = require("./primitives/ModelOptionRow.cjs");
55
+ const OptionList_cjs_namespaceObject = require("./primitives/OptionList.cjs");
56
+ const PickerPopup_cjs_namespaceObject = require("./primitives/PickerPopup.cjs");
57
+ const PickerSearchInput_cjs_namespaceObject = require("./primitives/PickerSearchInput.cjs");
58
+ const PickerTrigger_cjs_namespaceObject = require("./primitives/PickerTrigger.cjs");
59
+ const external_useModelPickerState_cjs_namespaceObject = require("./useModelPickerState.cjs");
60
+ const external_usePlatformAccess_cjs_namespaceObject = require("./usePlatformAccess.cjs");
61
+ const REQUIRED_INDICATOR = '*';
62
+ const AUTO_VIRTUALIZE_THRESHOLD = 120;
63
+ const ModelPicker = /*#__PURE__*/ external_react_default().forwardRef(({ models, value, onChange, label, required, placeholder, disabled, invalid, errorText, variant = 'searchable', groupBy = "subscription", allowGroupingChange = true, homeRegion, recommendedModelIds, previewModelIds, filter, badgesFor, customTagsFor, customTagVariants, canManageByo, onUseCustomModel, requestContext, enableFolders = false, folders, folder = null, onFolderChange, allFoldersLabel, loading, error, showGroupHeaders = true, slots }, forwardedRef)=>{
64
+ const { _ } = (0, index_cjs_namespaceObject.useSafeLingui)();
65
+ const i18n = external_react_default().useMemo(()=>({
66
+ _
67
+ }), [
68
+ _
69
+ ]);
70
+ const resolvedLabel = label ?? _({
71
+ id: 'modelPicker.label.default',
72
+ message: 'Model'
73
+ });
74
+ const resolvedPlaceholder = placeholder ?? _({
75
+ id: 'modelPicker.placeholder.selectAModel',
76
+ message: 'Select a model'
77
+ });
78
+ const initiallyCollapsedGroups = external_react_default().useMemo(()=>[], []);
79
+ const state = (0, external_useModelPickerState_cjs_namespaceObject.useModelPickerState)({
80
+ models,
81
+ value,
82
+ onChange,
83
+ groupBy,
84
+ recommendedModelIds,
85
+ previewModelIds,
86
+ filter,
87
+ initiallyCollapsedGroups,
88
+ i18n
89
+ });
90
+ const { open, setOpen, query, setQuery, groupBy: activeGroupBy, setGroupBy, filtered, groupCounts, collapsedGroups, toggleGroup, selected, unknownValue, activeIndex, setActiveIndex, onSearchKeyDown, choose, id, triggerRef, searchRef } = state;
91
+ const listboxId = `${id}-listbox`;
92
+ const List = 'virtualized' === variant || filtered.length > AUTO_VIRTUALIZE_THRESHOLD ? OptionList_cjs_namespaceObject.VirtualOptionList : OptionList_cjs_namespaceObject.GroupedOptionList;
93
+ const handleTriggerRef = external_react_default().useCallback((node)=>{
94
+ triggerRef.current = node;
95
+ if ('function' == typeof forwardedRef) forwardedRef(node);
96
+ else if (forwardedRef) forwardedRef.current = node;
97
+ }, [
98
+ forwardedRef,
99
+ triggerRef
100
+ ]);
101
+ const closePopup = external_react_default().useCallback(()=>setOpen(false), [
102
+ setOpen
103
+ ]);
104
+ const slotCtx = external_react_default().useMemo(()=>({
105
+ selected,
106
+ close: closePopup
107
+ }), [
108
+ selected,
109
+ closePopup
110
+ ]);
111
+ const { canManage: isOrgAdmin } = (0, external_usePlatformAccess_cjs_namespaceObject.useCanManageByo)(void 0 === canManageByo && requestContext ? requestContext : null);
112
+ const effectiveCanManageByo = canManageByo ?? isOrgAdmin ?? false;
113
+ const { folders: fetchedFolders } = (0, external_usePlatformAccess_cjs_namespaceObject.useUserFolders)(enableFolders && !folders && requestContext ? requestContext : null);
114
+ const effectiveFolders = folders ?? (enableFolders ? fetchedFolders : void 0);
115
+ const selectedFolderNumericId = external_react_default().useMemo(()=>effectiveFolders?.find((f)=>f.id === folder)?.numericId, [
116
+ effectiveFolders,
117
+ folder
118
+ ]);
119
+ const navigateToLlmConfigurations = external_react_default().useMemo(()=>{
120
+ if (!requestContext) return;
121
+ return (link)=>{
122
+ external_usePlatformAccess_cjs_namespaceObject.platformNavigation.assign((0, external_usePlatformAccess_cjs_namespaceObject.buildLlmConfigurationsUrl)(requestContext, {
123
+ ...link,
124
+ folderNumericId: selectedFolderNumericId
125
+ }));
126
+ };
127
+ }, [
128
+ requestContext,
129
+ selectedFolderNumericId
130
+ ]);
131
+ external_react_default().useEffect(()=>{
132
+ if ("u" < typeof process || 'production' === process.env['NODE_ENV'] || !effectiveFolders) return;
133
+ const seen = new Set();
134
+ for (const f of effectiveFolders){
135
+ if (seen.has(f.id)) return void console.warn(`[ModelPicker] Duplicate folder id "${f.id}" — folder selection will misbehave.`);
136
+ seen.add(f.id);
137
+ }
138
+ }, [
139
+ effectiveFolders
140
+ ]);
141
+ const tagContext = external_react_default().useMemo(()=>({
142
+ i18n,
143
+ homeRegion,
144
+ recommendedModelIds,
145
+ previewModelIds,
146
+ badgesFor,
147
+ customTagsFor
148
+ }), [
149
+ i18n,
150
+ homeRegion,
151
+ recommendedModelIds,
152
+ previewModelIds,
153
+ badgesFor,
154
+ customTagsFor
155
+ ]);
156
+ const rowHideTagKinds = external_react_default().useMemo(()=>"subscription" === activeGroupBy ? [
157
+ 'recommended',
158
+ 'preview'
159
+ ] : void 0, [
160
+ activeGroupBy
161
+ ]);
162
+ const renderRowActions = external_react_default().useMemo(()=>{
163
+ if (slots?.optionActions) return slots.optionActions;
164
+ if (!effectiveCanManageByo || !navigateToLlmConfigurations) return ()=>null;
165
+ return (m)=>(0, ModelOptionRow_cjs_namespaceObject.defaultRowActions)(m, {
166
+ i18n,
167
+ onEdit: (model)=>navigateToLlmConfigurations({
168
+ intent: 'edit',
169
+ configurationId: model.byomDetails?.productLlmConfigurationId
170
+ })
171
+ });
172
+ }, [
173
+ slots?.optionActions,
174
+ effectiveCanManageByo,
175
+ navigateToLlmConfigurations,
176
+ i18n
177
+ ]);
178
+ const footerNode = external_react_default().useMemo(()=>{
179
+ if (slots && Object.hasOwn(slots, 'popupFooter')) return slots.popupFooter ? slots.popupFooter(slotCtx) : null;
180
+ if (!effectiveCanManageByo) return null;
181
+ const activate = onUseCustomModel ?? (navigateToLlmConfigurations ? ()=>navigateToLlmConfigurations({
182
+ intent: 'add'
183
+ }) : void 0);
184
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(UseCustomModelFooter, {
185
+ onActivate: ()=>{
186
+ closePopup();
187
+ activate?.();
188
+ },
189
+ disabled: !activate
190
+ });
191
+ }, [
192
+ slots,
193
+ effectiveCanManageByo,
194
+ onUseCustomModel,
195
+ navigateToLlmConfigurations,
196
+ slotCtx,
197
+ closePopup
198
+ ]);
199
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(Box_default(), {
200
+ className: "apollo-model-picker",
201
+ sx: {
202
+ width: '100%',
203
+ fontFamily: apollo_core_namespaceObject.FontFamily.FontNormal
204
+ },
205
+ children: [
206
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(Typography_default(), {
207
+ component: "label",
208
+ htmlFor: `${id}-trigger`,
209
+ sx: {
210
+ display: 'block',
211
+ fontSize: 13,
212
+ fontWeight: 600,
213
+ color: `var(--color-foreground-de-emp, ${apollo_core_namespaceObject.Colors.ColorGray550})`,
214
+ mb: 0.875
215
+ },
216
+ children: [
217
+ resolvedLabel,
218
+ required && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Box_default(), {
219
+ component: "span",
220
+ "aria-hidden": true,
221
+ sx: {
222
+ color: `var(--color-error-text, ${apollo_core_namespaceObject.Colors.ColorRed700})`,
223
+ ml: 0.25
224
+ },
225
+ children: REQUIRED_INDICATOR
226
+ })
227
+ ]
228
+ }),
229
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(PickerTrigger_cjs_namespaceObject.PickerTrigger, {
230
+ id: `${id}-trigger`,
231
+ triggerRef: handleTriggerRef,
232
+ selected: selected,
233
+ unknownValue: unknownValue,
234
+ placeholder: resolvedPlaceholder,
235
+ disabled: disabled,
236
+ invalid: !!invalid || !!error || !!unknownValue,
237
+ required: required,
238
+ open: open,
239
+ controlsId: listboxId,
240
+ describedById: errorText ?? error ? `${id}-error` : void 0,
241
+ tagContext: tagContext,
242
+ tagVariants: customTagVariants,
243
+ extra: slots?.triggerExtra?.(selected),
244
+ onClick: ()=>setOpen(!open)
245
+ }),
246
+ (errorText ?? error) && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Typography_default(), {
247
+ id: `${id}-error`,
248
+ variant: "caption",
249
+ role: "alert",
250
+ sx: {
251
+ display: 'block',
252
+ color: `var(--color-error-text, ${apollo_core_namespaceObject.Colors.ColorRed700})`,
253
+ mt: 0.5,
254
+ fontSize: 12
255
+ },
256
+ children: errorText ?? error?.message
257
+ }),
258
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(PickerPopup_cjs_namespaceObject.PickerPopup, {
259
+ open: open,
260
+ anchorEl: triggerRef.current,
261
+ onClose: closePopup,
262
+ header: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
263
+ children: [
264
+ slots?.popupHeader?.(),
265
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(PickerSearchInput_cjs_namespaceObject.PickerSearchInput, {
266
+ value: query,
267
+ onChange: (next)=>{
268
+ setQuery(next);
269
+ setActiveIndex(0);
270
+ },
271
+ onKeyDown: onSearchKeyDown,
272
+ inputRef: searchRef,
273
+ listboxId: listboxId,
274
+ activeDescendantId: filtered[activeIndex] ? (0, OptionList_cjs_namespaceObject.optionDomId)(listboxId, filtered[activeIndex].modelId) : void 0,
275
+ leading: slots?.searchLeading?.() ?? (effectiveFolders && effectiveFolders.length > 0 && onFolderChange ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FolderSwitcher_cjs_namespaceObject.FolderSwitcher, {
276
+ folders: effectiveFolders,
277
+ value: folder ?? null,
278
+ onChange: onFolderChange,
279
+ allFoldersLabel: allFoldersLabel
280
+ }) : void 0),
281
+ trailing: allowGroupingChange ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(GroupBySegmented, {
282
+ value: activeGroupBy,
283
+ onChange: setGroupBy
284
+ }) : void 0
285
+ })
286
+ ]
287
+ }),
288
+ footer: footerNode,
289
+ children: [
290
+ loading && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Box_default(), {
291
+ role: "status",
292
+ "aria-live": "polite",
293
+ "aria-label": _({
294
+ id: 'modelPicker.loading.label',
295
+ message: 'Loading models'
296
+ }),
297
+ sx: {
298
+ py: 3,
299
+ display: 'flex',
300
+ justifyContent: 'center',
301
+ color: `var(--color-foreground-de-emp, ${apollo_core_namespaceObject.Colors.ColorGray550})`
302
+ },
303
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(CircularProgress_default(), {
304
+ size: 20
305
+ })
306
+ }),
307
+ error && !loading && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Box_default(), {
308
+ role: "alert",
309
+ sx: {
310
+ py: 2,
311
+ px: 2,
312
+ textAlign: 'center',
313
+ color: `var(--color-error-text, ${apollo_core_namespaceObject.Colors.ColorRed700})`,
314
+ fontSize: 13
315
+ },
316
+ children: error.message
317
+ }),
318
+ !loading && !error && 0 === filtered.length && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Box_default(), {
319
+ role: "status",
320
+ "aria-live": "polite",
321
+ sx: {
322
+ py: 3,
323
+ textAlign: 'center',
324
+ color: `var(--color-foreground-de-emp, ${apollo_core_namespaceObject.Colors.ColorGray550})`,
325
+ fontSize: 13
326
+ },
327
+ children: query.trim() ? _({
328
+ id: 'modelPicker.empty.noMatch',
329
+ message: 'No models match "{query}".',
330
+ values: {
331
+ query: query.trim()
332
+ }
333
+ }) : _({
334
+ id: 'modelPicker.empty.noModels',
335
+ message: 'No models available.'
336
+ })
337
+ }),
338
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Box_default(), {
339
+ "aria-live": "polite",
340
+ "aria-atomic": "true",
341
+ sx: {
342
+ position: 'absolute',
343
+ width: '1px',
344
+ height: '1px',
345
+ margin: '-1px',
346
+ padding: 0,
347
+ overflow: 'hidden',
348
+ clip: 'rect(0 0 0 0)',
349
+ whiteSpace: 'nowrap',
350
+ border: 0
351
+ },
352
+ children: loading || error || !(filtered.length > 0) ? '' : 1 === filtered.length ? _({
353
+ id: 'modelPicker.count.one',
354
+ message: '{n} model',
355
+ values: {
356
+ n: filtered.length
357
+ }
358
+ }) : _({
359
+ id: 'modelPicker.count.many',
360
+ message: '{n} models',
361
+ values: {
362
+ n: filtered.length
363
+ }
364
+ })
365
+ }),
366
+ !loading && !error && filtered.length > 0 && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(jsx_runtime_namespaceObject.Fragment, {
367
+ children: [
368
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(List, {
369
+ id: listboxId,
370
+ options: filtered,
371
+ activeIndex: activeIndex,
372
+ setActiveIndex: setActiveIndex,
373
+ selectedId: value ?? null,
374
+ onSelect: choose,
375
+ tagContext: tagContext,
376
+ tagVariants: customTagVariants,
377
+ groupCounts: groupCounts,
378
+ collapsedGroups: collapsedGroups,
379
+ onGroupToggle: toggleGroup,
380
+ hideGroupHeaders: !showGroupHeaders || 'flat' === activeGroupBy,
381
+ hideTagKinds: rowHideTagKinds,
382
+ renderRowActions: renderRowActions,
383
+ renderRowMeta: slots?.optionMeta
384
+ }),
385
+ slots?.listFooter?.(slotCtx)
386
+ ]
387
+ })
388
+ ]
389
+ })
390
+ ]
391
+ });
392
+ });
393
+ ModelPicker.displayName = 'ModelPicker';
394
+ const GroupBySegmented = ({ value, onChange })=>{
395
+ const { _ } = (0, index_cjs_namespaceObject.useSafeLingui)();
396
+ const groupByOptions = [
397
+ {
398
+ key: "subscription",
399
+ label: _({
400
+ id: 'modelPicker.groupBy.category',
401
+ message: 'Category'
402
+ })
403
+ },
404
+ {
405
+ key: 'vendor',
406
+ label: _({
407
+ id: 'modelPicker.groupBy.provider',
408
+ message: 'Provider'
409
+ })
410
+ }
411
+ ];
412
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Box_default(), {
413
+ role: "group",
414
+ "aria-label": _({
415
+ id: 'modelPicker.groupBy.ariaLabel',
416
+ message: 'Group models by'
417
+ }),
418
+ sx: {
419
+ display: 'inline-flex',
420
+ backgroundColor: `var(--color-background-secondary, ${apollo_core_namespaceObject.Colors.ColorGray150})`,
421
+ borderRadius: '8px',
422
+ p: '3px',
423
+ gap: '3px'
424
+ },
425
+ children: groupByOptions.map((opt)=>{
426
+ const active = opt.key === value;
427
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(ButtonBase_default(), {
428
+ onClick: ()=>onChange(opt.key),
429
+ "aria-pressed": active,
430
+ sx: {
431
+ fontSize: 12.5,
432
+ fontWeight: 600,
433
+ lineHeight: 1.2,
434
+ px: 1.25,
435
+ py: 0.625,
436
+ borderRadius: '6px',
437
+ color: active ? `var(--color-primary, ${apollo_core_namespaceObject.Colors.ColorBlue500})` : `var(--color-foreground-de-emp, ${apollo_core_namespaceObject.Colors.ColorGray550})`,
438
+ backgroundColor: active ? `var(--color-background-raised, ${apollo_core_namespaceObject.Colors.ColorWhite})` : 'transparent',
439
+ boxShadow: active ? '0 1px 2px rgba(16, 24, 40, 0.14)' : 'none',
440
+ transition: 'background-color 120ms, color 120ms, box-shadow 120ms',
441
+ '&:hover': {
442
+ backgroundColor: active ? `var(--color-background-raised, ${apollo_core_namespaceObject.Colors.ColorWhite})` : "var(--color-background-hover, rgba(82, 96, 105, 0.078))"
443
+ }
444
+ },
445
+ children: opt.label
446
+ }, opt.key);
447
+ })
448
+ });
449
+ };
450
+ const UseCustomModelFooter = ({ onActivate, disabled })=>{
451
+ const { _ } = (0, index_cjs_namespaceObject.useSafeLingui)();
452
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(ButtonBase_default(), {
453
+ onClick: disabled ? void 0 : onActivate,
454
+ disabled: disabled,
455
+ title: disabled ? _({
456
+ id: 'modelPicker.useCustomModel.disabledHint',
457
+ message: 'Pass onUseCustomModel or a requestContext to the picker to wire this action.'
458
+ }) : void 0,
459
+ sx: {
460
+ width: '100%',
461
+ display: 'flex',
462
+ alignItems: 'center',
463
+ justifyContent: 'flex-start',
464
+ gap: 1.25,
465
+ px: 2,
466
+ py: 1.5,
467
+ textAlign: 'left',
468
+ color: `var(--color-primary, ${apollo_core_namespaceObject.Colors.ColorBlue500})`,
469
+ transition: 'background-color 120ms',
470
+ '&:hover': {
471
+ backgroundColor: disabled ? 'transparent' : "var(--color-primary-lighter, rgba(0, 103, 223, 0.06))"
472
+ },
473
+ '&:focus-visible': {
474
+ outline: 'none',
475
+ boxShadow: "inset 0 0 0 2px var(--color-primary-focused, rgba(0, 103, 223, 0.2))"
476
+ },
477
+ '&.Mui-disabled': {
478
+ opacity: 0.55
479
+ }
480
+ },
481
+ children: [
482
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Box_default(), {
483
+ sx: {
484
+ flexShrink: 0,
485
+ width: 30,
486
+ height: 30,
487
+ borderRadius: '8px',
488
+ display: 'flex',
489
+ alignItems: 'center',
490
+ justifyContent: 'center',
491
+ backgroundColor: "var(--color-primary-lighter, rgba(0, 103, 223, 0.10))",
492
+ color: `var(--color-primary, ${apollo_core_namespaceObject.Colors.ColorBlue500})`
493
+ },
494
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Add_default(), {
495
+ sx: {
496
+ fontSize: 18
497
+ }
498
+ })
499
+ }),
500
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(Box_default(), {
501
+ sx: {
502
+ display: 'flex',
503
+ flexDirection: 'column',
504
+ minWidth: 0
505
+ },
506
+ children: [
507
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Box_default(), {
508
+ component: "span",
509
+ sx: {
510
+ fontSize: 13.5,
511
+ fontWeight: 600,
512
+ lineHeight: 1.3
513
+ },
514
+ children: _({
515
+ id: 'modelPicker.useCustomModel.title',
516
+ message: 'Use custom model'
517
+ })
518
+ }),
519
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Box_default(), {
520
+ component: "span",
521
+ sx: {
522
+ fontSize: 12,
523
+ color: `var(--color-foreground-de-emp, ${apollo_core_namespaceObject.Colors.ColorGray550})`,
524
+ fontWeight: 400,
525
+ lineHeight: 1.3
526
+ },
527
+ children: _({
528
+ id: 'modelPicker.useCustomModel.subtitle',
529
+ message: 'Bring a model from your own connection'
530
+ })
531
+ })
532
+ ]
533
+ })
534
+ ]
535
+ });
536
+ };
537
+ exports.ModelPicker = __webpack_exports__.ModelPicker;
538
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
539
+ "ModelPicker"
540
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
541
+ Object.defineProperty(exports, '__esModule', {
542
+ value: true
543
+ });
@@ -0,0 +1,56 @@
1
+ import React from 'react';
2
+ import type { ModelBadgeKind } from './badges';
3
+ import { type FolderSwitcherFolder } from './primitives/FolderSwitcher';
4
+ import type { DiscoveryModel, ModelTag } from './types';
5
+ import { type PlatformRequestContext } from './usePlatformAccess';
6
+ import type { GroupStrategy } from './utils';
7
+ export type ModelPickerVariant = 'searchable' | 'virtualized';
8
+ export type ModelPickerChangeHandler = (model: DiscoveryModel) => void;
9
+ export interface ModelPickerSlotContext {
10
+ selected: DiscoveryModel | null;
11
+ close: () => void;
12
+ }
13
+ export interface ModelPickerSlots {
14
+ triggerExtra?: (model: DiscoveryModel | null) => React.ReactNode;
15
+ popupHeader?: () => React.ReactNode;
16
+ searchLeading?: () => React.ReactNode;
17
+ listFooter?: (ctx: ModelPickerSlotContext) => React.ReactNode;
18
+ popupFooter?: null | ((ctx: ModelPickerSlotContext) => React.ReactNode);
19
+ optionMeta?: (model: DiscoveryModel) => React.ReactNode;
20
+ optionActions?: (model: DiscoveryModel) => React.ReactNode;
21
+ }
22
+ export interface ModelPickerProps {
23
+ models: DiscoveryModel[];
24
+ value?: string | null;
25
+ onChange?: ModelPickerChangeHandler;
26
+ label?: string;
27
+ required?: boolean;
28
+ placeholder?: string;
29
+ disabled?: boolean;
30
+ invalid?: boolean;
31
+ errorText?: string;
32
+ variant?: ModelPickerVariant;
33
+ groupBy?: GroupStrategy;
34
+ allowGroupingChange?: boolean;
35
+ homeRegion?: string;
36
+ recommendedModelIds?: readonly string[];
37
+ previewModelIds?: readonly string[];
38
+ filter?: (model: DiscoveryModel) => boolean;
39
+ badgesFor?: (model: DiscoveryModel) => readonly ModelBadgeKind[];
40
+ customTagsFor?: (model: DiscoveryModel) => readonly ModelTag[];
41
+ customTagVariants?: Record<string, string>;
42
+ canManageByo?: boolean;
43
+ onUseCustomModel?: () => void;
44
+ requestContext?: PlatformRequestContext;
45
+ enableFolders?: boolean;
46
+ folders?: readonly FolderSwitcherFolder[];
47
+ folder?: string | null;
48
+ onFolderChange?: (next: string | null) => void;
49
+ allFoldersLabel?: string;
50
+ loading?: boolean;
51
+ error?: Error | null;
52
+ showGroupHeaders?: boolean;
53
+ slots?: ModelPickerSlots;
54
+ }
55
+ export declare const ModelPicker: React.ForwardRefExoticComponent<ModelPickerProps & React.RefAttributes<HTMLButtonElement>>;
56
+ //# sourceMappingURL=ModelPicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModelPicker.d.ts","sourceRoot":"","sources":["../../../../src/material/components/ap-model-picker/ModelPicker.tsx"],"names":[],"mappings":"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"}