windmill-components 1.444.1 → 1.447.4

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 (229) hide show
  1. package/package/autosize.js +1 -1
  2. package/package/components/AppConnectInner.svelte +2 -1
  3. package/package/components/ArgInput.svelte +37 -24
  4. package/package/components/CapturesInputs.svelte +16 -0
  5. package/package/components/CapturesInputs.svelte.d.ts +21 -0
  6. package/package/components/Dev.svelte +7 -1
  7. package/package/components/EditableSchemaForm.svelte +369 -290
  8. package/package/components/EditableSchemaForm.svelte.d.ts +12 -2
  9. package/package/components/Editor.svelte +5 -7
  10. package/package/components/FirstStepInputs.svelte +111 -0
  11. package/package/components/FirstStepInputs.svelte.d.ts +17 -0
  12. package/package/components/FlowBuilder.svelte +28 -7
  13. package/package/components/FlowPreviewContent.svelte +72 -1
  14. package/package/components/FlowPreviewContent.svelte.d.ts +1 -0
  15. package/package/components/GfmMarkdown.svelte +93 -2
  16. package/package/components/HighlightCode.svelte +2 -0
  17. package/package/components/HistoricInputs.svelte +193 -0
  18. package/package/components/HistoricInputs.svelte.d.ts +20 -0
  19. package/package/components/InfiniteList.svelte +161 -0
  20. package/package/components/InfiniteList.svelte.d.ts +40 -0
  21. package/package/components/LightweightArgInput.svelte +19 -15
  22. package/package/components/MoveDrawer.svelte +2 -1
  23. package/package/components/Path.svelte +7 -1
  24. package/package/components/Path.svelte.d.ts +1 -1
  25. package/package/components/ResourcePicker.svelte +2 -1
  26. package/package/components/ResourcePicker.svelte.d.ts +1 -0
  27. package/package/components/ResultJobLoader.svelte.d.ts +1 -1
  28. package/package/components/SaveInputsButton.svelte +53 -0
  29. package/package/components/SaveInputsButton.svelte.d.ts +24 -0
  30. package/package/components/SavedInputs.svelte +33 -61
  31. package/package/components/SavedInputsPicker.svelte +264 -0
  32. package/package/components/SavedInputsPicker.svelte.d.ts +20 -0
  33. package/package/components/ScheduleEditorInner.svelte +0 -1
  34. package/package/components/SchemaForm.svelte +22 -3
  35. package/package/components/ScriptBuilder.svelte +595 -562
  36. package/package/components/ScriptEditor.svelte +10 -3
  37. package/package/components/ScriptEditor.svelte.d.ts +5 -2
  38. package/package/components/ScriptSchema.svelte +1 -2
  39. package/package/components/Section.svelte +6 -4
  40. package/package/components/ShareModal.svelte.d.ts +2 -2
  41. package/package/components/SimpleEditor.svelte +39 -7
  42. package/package/components/SimpleEditor.svelte.d.ts +1 -4
  43. package/package/components/StringTypeNarrowing.svelte +3 -1
  44. package/package/components/TestConnection.svelte +5 -0
  45. package/package/components/TestJobLoader.svelte.d.ts +1 -1
  46. package/package/components/WorkerGroup.svelte +2 -1
  47. package/package/components/apps/components/inputs/AppS3FileInput.svelte +1 -0
  48. package/package/components/apps/editor/component/components.d.ts +79 -79
  49. package/package/components/apps/editor/component/default-codes.d.ts +1 -1
  50. package/package/components/apps/editor/component/default-codes.js +10 -10
  51. package/package/components/apps/editor/settingsPanel/inputEditor/StaticInputEditor.svelte +2 -1
  52. package/package/components/apps/inputType.d.ts +2 -2
  53. package/package/components/common/button/Button.svelte +10 -52
  54. package/package/components/common/button/PulseButton.svelte +81 -0
  55. package/package/components/common/button/PulseButton.svelte.d.ts +34 -0
  56. package/package/components/common/button/RoundIconButton.svelte +11 -0
  57. package/package/components/common/button/RoundIconButton.svelte.d.ts +19 -0
  58. package/package/components/common/button/model.d.ts +1 -0
  59. package/package/components/common/button/model.js +47 -0
  60. package/package/components/common/fileUpload/FileUpload.svelte +3 -1
  61. package/package/components/common/fileUpload/FileUpload.svelte.d.ts +1 -0
  62. package/package/components/common/languageIcons/LanguageIcon.svelte +3 -0
  63. package/package/components/common/layout/List.svelte +10 -4
  64. package/package/components/common/layout/List.svelte.d.ts +1 -0
  65. package/package/components/common/tabs/Tab.svelte +14 -1
  66. package/package/components/common/tabs/Tab.svelte.d.ts +1 -0
  67. package/package/components/copilot/ScriptGen.svelte +1 -1
  68. package/package/components/copilot/lib.js +1 -1
  69. package/package/components/copilot/prompts/edit.yaml +1 -1
  70. package/package/components/copilot/prompts/editPrompt.js +1 -1
  71. package/package/components/copilot/prompts/fix.yaml +1 -1
  72. package/package/components/copilot/prompts/fixPrompt.js +1 -1
  73. package/package/components/copilot/prompts/gen.yaml +1 -1
  74. package/package/components/copilot/prompts/genPrompt.js +1 -1
  75. package/package/components/custom_ui.d.ts +1 -0
  76. package/package/components/details/DetailPageDetailPanel.svelte +20 -19
  77. package/package/components/details/DetailPageDetailPanel.svelte.d.ts +4 -1
  78. package/package/components/details/DetailPageLayout.svelte +4 -1
  79. package/package/components/details/DetailPageLayout.svelte.d.ts +3 -0
  80. package/package/components/details/DetailPageTriggerPanel.svelte +84 -63
  81. package/package/components/details/DetailPageTriggerPanel.svelte.d.ts +3 -1
  82. package/package/components/details/EmailTriggerConfigSection.svelte +1 -1
  83. package/package/components/details/EmailTriggerConfigSection.svelte.d.ts +2 -1
  84. package/package/components/details/EmailTriggerPanel.svelte +2 -0
  85. package/package/components/details/EmailTriggerPanel.svelte.d.ts +2 -0
  86. package/package/components/flows/FlowEditor.svelte +8 -2
  87. package/package/components/flows/FlowEditor.svelte.d.ts +1 -0
  88. package/package/components/flows/common/FlowCard.svelte +12 -6
  89. package/package/components/flows/content/DynamicInputHelpBox.svelte +1 -0
  90. package/package/components/flows/content/FlowEditorPanel.svelte +15 -9
  91. package/package/components/flows/content/FlowEditorPanel.svelte.d.ts +1 -0
  92. package/package/components/flows/content/FlowInput.svelte +449 -98
  93. package/package/components/flows/content/FlowInput.svelte.d.ts +2 -0
  94. package/package/components/flows/content/FlowInputEditor.svelte +46 -0
  95. package/package/components/flows/content/FlowInputEditor.svelte.d.ts +25 -0
  96. package/package/components/flows/content/FlowInputsQuick.svelte +1 -1
  97. package/package/components/flows/content/FlowLoop.svelte +192 -194
  98. package/package/components/flows/content/FlowModuleComponent.svelte +372 -382
  99. package/package/components/flows/content/FlowModuleMock.svelte +6 -7
  100. package/package/components/flows/content/FlowPathViewer.svelte +2 -1
  101. package/package/components/flows/content/FlowSettings.svelte +25 -3
  102. package/package/components/flows/content/FlowWhileLoop.svelte +97 -99
  103. package/package/components/flows/flowStore.d.ts +13 -0
  104. package/package/components/flows/flowStore.js +41 -0
  105. package/package/components/flows/header/FlowPreviewButtons.svelte +10 -4
  106. package/package/components/flows/header/FlowPreviewButtons.svelte.d.ts +4 -2
  107. package/package/components/flows/header/FlowYamlEditor.svelte +3 -0
  108. package/package/components/flows/map/FlowModuleSchemaItem.svelte +8 -58
  109. package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte +67 -0
  110. package/package/components/flows/map/FlowModuleSchemaItemViewer.svelte.d.ts +24 -0
  111. package/package/components/flows/map/FlowModuleSchemaMap.svelte +2 -2
  112. package/package/components/flows/pickers/FlowScriptPicker.svelte +1 -1
  113. package/package/components/flows/previousResults.d.ts +1 -1
  114. package/package/components/flows/previousResults.js +7 -2
  115. package/package/components/flows/types.d.ts +7 -0
  116. package/package/components/flows/utils.d.ts +1 -0
  117. package/package/components/flows/utils.js +3 -0
  118. package/package/components/graph/graphBuilder.js +1 -1
  119. package/package/components/graph/renderers/triggers/TriggersBadge.svelte +22 -8
  120. package/package/components/graph/renderers/triggers/TriggersBadge.svelte.d.ts +1 -1
  121. package/package/components/icons/NatsIcon.svelte +19 -0
  122. package/package/components/icons/NatsIcon.svelte.d.ts +18 -0
  123. package/package/components/icons/OracleDBIcon.svelte +15 -0
  124. package/package/components/icons/OracleDBIcon.svelte.d.ts +25 -0
  125. package/package/components/icons/index.d.ts +7 -1
  126. package/package/components/icons/index.js +8 -2
  127. package/package/components/meltComponents/ButtonDropDown.svelte +32 -0
  128. package/package/components/meltComponents/ButtonDropDown.svelte.d.ts +27 -0
  129. package/package/components/meltComponents/Popover.svelte +7 -4
  130. package/package/components/meltComponents/Popover.svelte.d.ts +1 -0
  131. package/package/components/runs/RunsFilter.svelte +2 -2
  132. package/package/components/schema/AddPropertyFormV2.svelte +46 -0
  133. package/package/components/schema/AddPropertyFormV2.svelte.d.ts +18 -0
  134. package/package/components/schema/AddPropertyV2.svelte +151 -0
  135. package/package/components/schema/AddPropertyV2.svelte.d.ts +25 -0
  136. package/package/components/schema/EditableSchemaDrawer.svelte +17 -8
  137. package/package/components/schema/EditableSchemaWrapper.svelte +58 -14
  138. package/package/components/schema/EditableSchemaWrapper.svelte.d.ts +0 -1
  139. package/package/components/schema/FlowPropertyEditor.svelte +8 -3
  140. package/package/components/schema/JobSchemaPicker.svelte +32 -0
  141. package/package/components/schema/JobSchemaPicker.svelte.d.ts +19 -0
  142. package/package/components/schema/PropertyEditor.svelte +9 -1
  143. package/package/components/schema/RunningJobSchemaPicker.svelte +67 -0
  144. package/package/components/schema/RunningJobSchemaPicker.svelte.d.ts +21 -0
  145. package/package/components/schema/SchemaFormDND.svelte +1 -1
  146. package/package/components/schema/SchemaPicker.svelte +92 -0
  147. package/package/components/schema/SchemaPicker.svelte.d.ts +23 -0
  148. package/package/components/schema/SchemaPickerRow.svelte +95 -0
  149. package/package/components/schema/SchemaPickerRow.svelte.d.ts +22 -0
  150. package/package/components/scriptEditor/LogPanel.svelte +1 -1
  151. package/package/components/settings/ChangeWorkspaceColor.svelte +103 -0
  152. package/package/components/settings/ChangeWorkspaceColor.svelte.d.ts +16 -0
  153. package/package/components/settings/ChangeWorkspaceId.svelte +1 -0
  154. package/package/components/settings/ChangeWorkspaceName.svelte +4 -0
  155. package/package/components/sidebar/MenuButton.svelte +5 -2
  156. package/package/components/sidebar/MenuButton.svelte.d.ts +1 -0
  157. package/package/components/sidebar/SidebarContent.svelte +8 -0
  158. package/package/components/sidebar/WorkspaceMenu.svelte +40 -21
  159. package/package/components/table/DataTable.svelte +43 -3
  160. package/package/components/table/DataTable.svelte.d.ts +2 -0
  161. package/package/components/table/Head.svelte +1 -1
  162. package/package/components/table/Row.svelte +11 -1
  163. package/package/components/table/Row.svelte.d.ts +3 -0
  164. package/package/components/table/index.d.ts +3 -0
  165. package/package/components/table/index.js +3 -0
  166. package/package/components/triggers/CaptureButton.svelte +38 -4
  167. package/package/components/triggers/CaptureButton.svelte.d.ts +3 -1
  168. package/package/components/triggers/CaptureIcon.svelte +7 -4
  169. package/package/components/triggers/CaptureIcon.svelte.d.ts +7 -13
  170. package/package/components/triggers/CaptureSection.svelte +50 -17
  171. package/package/components/triggers/CaptureSection.svelte.d.ts +5 -3
  172. package/package/components/triggers/CaptureTable.svelte +239 -186
  173. package/package/components/triggers/CaptureTable.svelte.d.ts +9 -11
  174. package/package/components/triggers/CaptureWrapper.svelte +126 -109
  175. package/package/components/triggers/CaptureWrapper.svelte.d.ts +3 -1
  176. package/package/components/triggers/KafkaTriggerEditorInner.svelte +1 -0
  177. package/package/components/triggers/KafkaTriggersConfigSection.svelte +16 -4
  178. package/package/components/triggers/KafkaTriggersConfigSection.svelte.d.ts +3 -1
  179. package/package/components/triggers/KafkaTriggersPanel.svelte +2 -0
  180. package/package/components/triggers/KafkaTriggersPanel.svelte.d.ts +2 -0
  181. package/package/components/triggers/NatsTriggerEditor.svelte +19 -0
  182. package/package/components/triggers/NatsTriggerEditor.svelte.d.ts +21 -0
  183. package/package/components/triggers/NatsTriggerEditorInner.svelte +239 -0
  184. package/package/components/triggers/NatsTriggerEditorInner.svelte.d.ts +21 -0
  185. package/package/components/triggers/NatsTriggersConfigSection.svelte +276 -0
  186. package/package/components/triggers/NatsTriggersConfigSection.svelte.d.ts +37 -0
  187. package/package/components/triggers/NatsTriggersPanel.svelte +126 -0
  188. package/package/components/triggers/NatsTriggersPanel.svelte.d.ts +26 -0
  189. package/package/components/triggers/RouteEditorConfigSection.svelte +12 -2
  190. package/package/components/triggers/RouteEditorConfigSection.svelte.d.ts +5 -1
  191. package/package/components/triggers/RouteEditorInner.svelte +5 -0
  192. package/package/components/triggers/RoutesPanel.svelte +4 -0
  193. package/package/components/triggers/RoutesPanel.svelte.d.ts +3 -0
  194. package/package/components/triggers/TriggersEditor.svelte +146 -97
  195. package/package/components/triggers/TriggersEditor.svelte.d.ts +2 -0
  196. package/package/components/triggers/TriggersEditorSection.svelte +19 -13
  197. package/package/components/triggers/TriggersEditorSection.svelte.d.ts +3 -0
  198. package/package/components/triggers/TriggersWrapper.svelte +7 -3
  199. package/package/components/triggers/TriggersWrapper.svelte.d.ts +2 -1
  200. package/package/components/triggers/WebhooksConfigSection.svelte +7 -6
  201. package/package/components/triggers/WebhooksConfigSection.svelte.d.ts +2 -1
  202. package/package/components/triggers/WebhooksPanel.svelte +2 -0
  203. package/package/components/triggers/WebhooksPanel.svelte.d.ts +2 -0
  204. package/package/components/triggers/WebsocketEditorConfigSection.svelte +3 -1
  205. package/package/components/triggers/WebsocketEditorConfigSection.svelte.d.ts +2 -1
  206. package/package/components/triggers/WebsocketTriggersPanel.svelte +2 -0
  207. package/package/components/triggers/WebsocketTriggersPanel.svelte.d.ts +2 -0
  208. package/package/components/triggers.d.ts +2 -1
  209. package/package/components/triggers.js +2 -0
  210. package/package/components/vscode.js +12 -8
  211. package/package/consts.d.ts +1 -0
  212. package/package/consts.js +18 -0
  213. package/package/gen/core/OpenAPI.js +1 -1
  214. package/package/gen/schemas.gen.d.ts +207 -13
  215. package/package/gen/schemas.gen.js +207 -13
  216. package/package/gen/services.gen.d.ts +118 -10
  217. package/package/gen/services.gen.js +237 -17
  218. package/package/gen/types.gen.d.ts +400 -40
  219. package/package/hubPaths.json +2 -1
  220. package/package/infer.js +11 -2
  221. package/package/monaco_workers/build_workers.js +39 -37
  222. package/package/monaco_workers/graphql.worker.bundle.js +18371 -36513
  223. package/package/script_helpers.d.ts +5 -2
  224. package/package/script_helpers.js +46 -8
  225. package/package/scripts.js +4 -0
  226. package/package/stores.d.ts +2 -1
  227. package/package/stores.js +2 -1
  228. package/package.json +14 -16
  229. package/package/monaco_workers/graphql.worker.bundle.d.ts +0 -0
@@ -1,3 +1,3 @@
1
1
  import type { AppComponent } from '.';
2
2
  export declare function defaultCode(component: string, language: string): string | undefined;
3
- export declare const DEFAULT_CODES: Partial<Record<AppComponent['type'], Partial<Record<'deno' | 'python3' | 'go' | 'bash' | 'pgsql' | 'mysql' | 'postgresql' | 'snowflake' | 'mssql' | 'bigquery', string>>>>;
3
+ export declare const DEFAULT_CODES: Partial<Record<AppComponent['type'], Partial<Record<'deno' | 'python3' | 'go' | 'bash' | 'pgsql' | 'mysql' | 'postgresql' | 'snowflake' | 'mssql' | 'bigquery' | 'oracledb', string>>>>;
@@ -198,12 +198,12 @@ LIMIT @limit OFFSET @offset;`,
198
198
  SELECT * FROM demo
199
199
  WHERE LENGTH(?) = 0 OR CONCAT("ID") ILIKE CONCAT('%', ?, '%') OR CONCAT("NAME") ILIKE CONCAT('%', ?, '%')
200
200
  LIMIT 100 OFFSET 0`,
201
- mssql: `-- @p1 limit (int)
202
- -- @p2 offset (int)
203
- -- @p3 search (text)
204
- SELECT * FROM Demo WHERE (@p3 = '' OR CONCAT([col1], [col2], [col3]) LIKE '%' + @p3 + '%')
201
+ mssql: `-- @P1 limit (int)
202
+ -- @P2 offset (int)
203
+ -- @P3 search (text)
204
+ SELECT * FROM Demo WHERE (@P3 = '' OR CONCAT([col1], [col2], [col3]) LIKE '%' + @P3 + '%')
205
205
  ORDER BY col1
206
- OFFSET @p2 ROWS FETCH NEXT @p1 ROWS ONLY`
206
+ OFFSET @P2 ROWS FETCH NEXT @P1 ROWS ONLY`
207
207
  },
208
208
  aggridinfinitecomponentee: {
209
209
  deno: `type User = {
@@ -318,12 +318,12 @@ LIMIT @limit OFFSET @offset;`,
318
318
  SELECT * FROM demo
319
319
  WHERE LENGTH(?) = 0 OR CONCAT("ID") ILIKE CONCAT('%', ?, '%') OR CONCAT("NAME") ILIKE CONCAT('%', ?, '%')
320
320
  LIMIT 100 OFFSET 0`,
321
- mssql: `-- @p1 limit (int)
322
- -- @p2 offset (int)
323
- -- @p3 search (text)
324
- SELECT * FROM Demo WHERE (@p3 = '' OR CONCAT([col1], [col2], [col3]) LIKE '%' + @p3 + '%')
321
+ mssql: `-- @P1 limit (int)
322
+ -- @P2 offset (int)
323
+ -- @P3 search (text)
324
+ SELECT * FROM Demo WHERE (@P3 = '' OR CONCAT([col1], [col2], [col3]) LIKE '%' + @P3 + '%')
325
325
  ORDER BY col1
326
- OFFSET @p2 ROWS FETCH NEXT @p1 ROWS ONLY`
326
+ OFFSET @P2 ROWS FETCH NEXT @P1 ROWS ONLY`
327
327
  },
328
328
  textcomponent: {
329
329
  deno: `export async function main() {
@@ -67,7 +67,7 @@ $: componentInput && onchange?.();
67
67
  <IconSelectInput bind:value={componentInput.value} />
68
68
  {:else if fieldType === 'tab-select'}
69
69
  <TabSelectInput bind:componentInput />
70
- {:else if fieldType === 'resource' && subFieldType && ['mysql', 'postgres', 'ms_sql_server', 'snowflake', 'snowflake_oauth', 'bigquery'].includes(subFieldType)}
70
+ {:else if fieldType === 'resource' && subFieldType && ['mysql', 'postgres', 'ms_sql_server', 'snowflake', 'snowflake_oauth', 'bigquery', 'oracledb'].includes(subFieldType)}
71
71
  <ResourcePicker
72
72
  initialValue={componentInput.value?.split('$res:')?.[1] || ''}
73
73
  on:change={(e) => {
@@ -85,6 +85,7 @@ $: componentInput && onchange?.();
85
85
  />
86
86
  {:else if fieldType === 'resource' && subFieldType === 's3'}
87
87
  <ResourcePicker
88
+ placeholder="S3 resource (workspace s3 if empty)"
88
89
  initialValue={componentInput.value?.split('$res:')?.[1] || ''}
89
90
  on:change={(e) => {
90
91
  let path = e.detail
@@ -1,7 +1,7 @@
1
1
  import type { ReadFileAs } from '../common/fileInput/model';
2
2
  import type { DecisionTreeNode, TypedComponent } from './editor/component';
3
3
  import type { InlineScript } from './types';
4
- export type InputType = 'integer' | 'text' | 'textarea' | 'template' | 'number' | 'boolean' | 'select' | 'icon-select' | 'color' | 'date' | 'time' | 'datetime' | 'object' | 'array' | 'any' | 'labeledresource' | 'labeledselect' | 'tab-select' | 'schema' | 'ag-grid' | 'table-column' | 'plotly' | 'chartjs' | 'DecisionTreeNode' | 'ag-chart' | 'resource' | 'db-explorer' | 'db-table' | 's3' | 'number-tuple' | 'postgres' | 'mysql' | 'ms_sql_server' | 'snowflake' | 'snowflake_oauth' | 'bigquery' | 'app-path';
4
+ export type InputType = 'integer' | 'text' | 'textarea' | 'template' | 'number' | 'boolean' | 'select' | 'icon-select' | 'color' | 'date' | 'time' | 'datetime' | 'object' | 'array' | 'any' | 'labeledresource' | 'labeledselect' | 'tab-select' | 'schema' | 'ag-grid' | 'table-column' | 'plotly' | 'chartjs' | 'DecisionTreeNode' | 'ag-chart' | 'resource' | 'db-explorer' | 'db-table' | 's3' | 'number-tuple' | 'postgres' | 'mysql' | 'ms_sql_server' | 'snowflake' | 'snowflake_oauth' | 'bigquery' | 'oracledb' | 'app-path';
5
5
  export type InputConnection = {
6
6
  componentType?: TypedComponent['type'];
7
7
  componentId: string;
@@ -109,7 +109,7 @@ export type StaticOptions = {
109
109
  label: string;
110
110
  }[];
111
111
  };
112
- export type AppInput = AppInputSpec<'text', string> | AppInputSpec<'textarea', string> | AppInputSpec<'template', string> | AppInputSpec<'number', number> | AppInputSpec<'boolean', boolean> | AppInputSpec<'date', string> | AppInputSpec<'time', string> | AppInputSpec<'datetime', string> | AppInputSpec<'any', any> | AppInputSpec<'object', Record<string | number, any>> | AppInputSpec<'object', string> | (AppInputSpec<'select', string, 'db-table'> & StaticOptions) | AppInputSpec<'icon-select', string> | AppInputSpec<'color', string> | AppInputSpec<'array', string[], 'text'> | AppInputSpec<'array', string[], 'textarea'> | AppInputSpec<'array', number[], 'number'> | AppInputSpec<'array', boolean[], 'boolean'> | AppInputSpec<'array', string[], 'date'> | AppInputSpec<'array', string[], 'time'> | AppInputSpec<'array', string[], 'datetime'> | AppInputSpec<'array', object[], 'object'> | (AppInputSpec<'array', string[], 'select'> & StaticOptions) | AppInputSpec<'array', object[], 'labeledresource'> | AppInputSpec<'array', (object | string)[], 'labeledselect'> | AppInputSpec<'labeledselect', object> | AppInputSpec<'labeledresource', object> | AppInputSpec<'array', object[], 'tab-select'> | AppInputSpec<'schema', object> | AppInputSpec<'array', object[], 'ag-grid'> | AppInputSpec<'array', object[], 'db-explorer'> | AppInputSpec<'array', object[], 'table-column'> | AppInputSpec<'array', object[], 'plotly'> | AppInputSpec<'array', object[], 'chartjs'> | AppInputSpec<'array', DecisionTreeNode, 'DecisionTreeNode'> | AppInputSpec<'array', object[], 'ag-chart'> | AppInputSpec<'resource', string> | AppInputSpec<'resource', string, 's3'> | AppInputSpec<'resource', string, 'postgres'> | AppInputSpec<'resource', string, 'mysql'> | AppInputSpec<'resource', string, 'ms_sql_server'> | AppInputSpec<'resource', string, 'snowflake'> | AppInputSpec<'resource', string, 'snowflake_oauth'> | AppInputSpec<'resource', string, 'bigquery'> | AppInputSpec<'array', object[], 'number-tuple'> | AppInputSpec<'app-path', string>;
112
+ export type AppInput = AppInputSpec<'text', string> | AppInputSpec<'textarea', string> | AppInputSpec<'template', string> | AppInputSpec<'number', number> | AppInputSpec<'boolean', boolean> | AppInputSpec<'date', string> | AppInputSpec<'time', string> | AppInputSpec<'datetime', string> | AppInputSpec<'any', any> | AppInputSpec<'object', Record<string | number, any>> | AppInputSpec<'object', string> | (AppInputSpec<'select', string, 'db-table'> & StaticOptions) | AppInputSpec<'icon-select', string> | AppInputSpec<'color', string> | AppInputSpec<'array', string[], 'text'> | AppInputSpec<'array', string[], 'textarea'> | AppInputSpec<'array', number[], 'number'> | AppInputSpec<'array', boolean[], 'boolean'> | AppInputSpec<'array', string[], 'date'> | AppInputSpec<'array', string[], 'time'> | AppInputSpec<'array', string[], 'datetime'> | AppInputSpec<'array', object[], 'object'> | (AppInputSpec<'array', string[], 'select'> & StaticOptions) | AppInputSpec<'array', object[], 'labeledresource'> | AppInputSpec<'array', (object | string)[], 'labeledselect'> | AppInputSpec<'labeledselect', object> | AppInputSpec<'labeledresource', object> | AppInputSpec<'array', object[], 'tab-select'> | AppInputSpec<'schema', object> | AppInputSpec<'array', object[], 'ag-grid'> | AppInputSpec<'array', object[], 'db-explorer'> | AppInputSpec<'array', object[], 'table-column'> | AppInputSpec<'array', object[], 'plotly'> | AppInputSpec<'array', object[], 'chartjs'> | AppInputSpec<'array', DecisionTreeNode, 'DecisionTreeNode'> | AppInputSpec<'array', object[], 'ag-chart'> | AppInputSpec<'resource', string> | AppInputSpec<'resource', string, 's3'> | AppInputSpec<'resource', string, 'postgres'> | AppInputSpec<'resource', string, 'mysql'> | AppInputSpec<'resource', string, 'ms_sql_server'> | AppInputSpec<'resource', string, 'snowflake'> | AppInputSpec<'resource', string, 'snowflake_oauth'> | AppInputSpec<'resource', string, 'bigquery'> | AppInputSpec<'resource', string, 'oracledb'> | AppInputSpec<'array', object[], 'number-tuple'> | AppInputSpec<'app-path', string>;
113
113
  export type RowAppInput = Extract<AppInput, {
114
114
  type: 'row';
115
115
  }>;
@@ -44,53 +44,6 @@ export function focus() {
44
44
  }
45
45
  const dispatch = createEventDispatcher();
46
46
  // Order of classes: border, border modifier, bg, bg modifier, text, text modifier, everything else
47
- const colorVariants = {
48
- none: {
49
- border: '',
50
- contained: '',
51
- divider: ''
52
- },
53
- blue: {
54
- border: 'border-frost-500 dark:border-frost-300 hover:border-frost-700 dark:hover:border-frost-400 focus-visible:border-frost-700 bg-surface hover:bg-frost-100 dark:hover:bg-frost-900 focus-visible:bg-frost-100 focus-visible:dark:text-frost-100 dark:focus-visible:bg-frost-900 text-frost-500 dark:text-frost-300 dark:hover:text-frost-400 hover:text-frost-700 focus-visible:text-frost-700 focus-visible:ring-frost-300',
55
- contained: 'bg-frost-500 hover:bg-frost-700 focus-visible:bg-frost-700 text-white focus-visible:ring-frost-300 dark:bg-frost-500/90 dark:hover:bg-frost-600/90',
56
- divider: 'divide-x divide-frost-600'
57
- },
58
- marine: {
59
- border: 'border-marine-300 dark:border-marine-200 hover:border-marine-500 dark:hover:border-marine-400 focus-visible:border-marine-500 bg-surface hover:bg-marine-500 dark:hover:bg-marine-400 focus-visible:bg-marine-100 focus-visible:dark:text-marine-50 dark:focus-visible:bg-marine-500 text-marine-50 dark:text-marine-50 dark:hover:text-marine-50 hover:text-marine-50 focus-visible:text-marine-300 focus-visible:ring-marine-200',
60
- contained: 'bg-marine-300 hover:bg-marine-500 focus-visible:bg-marine-500 text-gray-50 focus-visible:ring-marine-200 dark:bg-marine-200 dark:hover:bg-marine-400',
61
- divider: 'divide-x divide-marine-500'
62
- },
63
- red: {
64
- border: 'border-red-600/60 hover:border-red-600 bg-surface hover:bg-red-100 text-red-600 hover:text-red-700 focus-visible:ring-red-300 dark:border-red-400/90 dark:text-red-400 dark:hover:border-red-400 dark:hover:bg-red-500/60 dark:hover:text-red-100',
65
- contained: 'bg-red-600 hover:bg-red-600 text-white focus-visible:ring-red-300 dark:border-red-400/70 dark:bg-red-700/90 dark:hover:bg-red-900 dark:hover:border-red-300 dark:text-primary',
66
- divider: 'divide-x divide-red-700'
67
- },
68
- green: {
69
- border: 'border-green-600 hover:border-green-700 bg-surface hover:bg-green-100 text-green-600 hover:text-green-700 focus-visible:ring-green-300 dark:hover:bg-green-800 dark:border-green-400/90',
70
- contained: 'bg-green-600 hover:bg-green-700 text-white focus-visible:ring-green-300 dark:bg-green-700/90 dark:hover:bg-green-800',
71
- divider: 'divide-x divide-green-700'
72
- },
73
- dark: {
74
- border: 'border-marine-300 bg-surface hover:bg-surface-hover focus-visible:bg-surface-hover text-primary hover:text-secondary focus-visible:text-secondary focus-visible:ring-surface-selected-inverse dark:border-marine-200',
75
- contained: 'bg-marine-400 hover:bg-marine-200 focus-visible:bg-surface-hover-inverse text-primary-inverse focus-visible:ring-surface-selected-inverse dark:bg-marine-50 dark:hover:bg-marine-50/70 dark:text-primary-inverse',
76
- divider: 'divide-x divide-gray-800 dark:divide-gray-200'
77
- },
78
- gray: {
79
- border: 'border-gray-500 dark:border-gray-300 hover:border-gray-700 dark:hover:border-gray-400 focus-visible:border-gray-700 bg-surface hover:bg-gray-100 dark:hover:bg-gray-900 focus-visible:bg-gray-100 focus-visible:dark:text-gray-100 dark:focus-visible:bg-gray-900 text-gray-500 dark:text-gray-300 dark:hover:text-gray-400 hover:text-gray-700 focus-visible:text-gray-700 focus-visible:ring-gray-300',
80
- contained: 'bg-gray-500 hover:bg-gray-700 focus-visible:bg-gray-700 text-white focus-visible:ring-gray-300',
81
- divider: 'divide-x divide-gray-600'
82
- },
83
- light: {
84
- border: 'border bg-surface hover:bg-surface-hover focus-visible:bg-surface-hover text-primary hover:text-secondary focus-visible:text-secondary focus-visible:ring-surface-selected',
85
- contained: 'bg-surface border-transparent hover:bg-surface-hover focus-visible:bg-surface-hover text-primary focus-visible:ring-surface-selected',
86
- divider: 'divide-x divide-gray-200 dark:divide-gray-700'
87
- },
88
- nord: {
89
- border: 'border-nord-200 bg-surface hover:bg-surface-hover focus-visible:bg-surface-hover text-primary hover:text-secondary focus-visible:text-secondary focus-visible:ring-surface-selected-inverse dark:border-nord-200',
90
- contained: 'bg-nord-300 hover:bg-nord-0 focus-visible:bg-surface-hover-inverse text-primary-inverse focus-visible:ring-surface-selected-inverse dark:bg-nord-400 dark:hover:bg-nord-600 dark:text-primary-inverse',
91
- divider: 'divide-x divide-gray-800 dark:divide-gray-200'
92
- }
93
- };
94
47
  async function onClick(event) {
95
48
  if (!nonCaptureEvent) {
96
49
  event.preventDefault();
@@ -102,8 +55,8 @@ async function onClick(event) {
102
55
  }
103
56
  }
104
57
  function getColorClass(color, variant) {
105
- if (color in colorVariants) {
106
- return colorVariants[color][variant];
58
+ if (color in ButtonType.ColorVariants) {
59
+ return ButtonType.ColorVariants[color][variant];
107
60
  }
108
61
  else {
109
62
  return color;
@@ -132,9 +85,14 @@ $: lucideIconSize = (iconMap[size] ?? 12) * 1;
132
85
  </script>
133
86
 
134
87
  <div
135
- class="{dropdownItems && dropdownItems.length > 0 && variant === 'contained'
136
- ? colorVariants[color].divider
137
- : ''} {wrapperClasses} flex flex-row"
88
+ class={twMerge(
89
+ dropdownItems && dropdownItems.length > 0 && variant === 'contained'
90
+ ? ButtonType.ColorVariants[color].divider
91
+ : '',
92
+ wrapperClasses,
93
+ 'flex flex-row',
94
+ disabled ? 'divide-text-disabled' : ''
95
+ )}
138
96
  style={wrapperStyle}
139
97
  >
140
98
  {#if href}
@@ -0,0 +1,81 @@
1
+ <script>
2
+ export let pulseDuration = 2
3
+ export let numberOfPulses = 3
4
+ export let scale = 1.2
5
+
6
+ let isPulsing = false
7
+ let pulseCount = 1
8
+
9
+ export function triggerPulse(count) {
10
+ if (pulseCount < 1) return
11
+ if (!isPulsing) {
12
+ pulseCount = count
13
+ isPulsing = true
14
+ setTimeout(() => {
15
+ isPulsing = false
16
+ }, pulseDuration * count * 1000)
17
+ }
18
+ }
19
+ </script>
20
+
21
+ <div class="relative">
22
+ <div>
23
+ <slot />
24
+ </div>
25
+ {#each Array(numberOfPulses) as _, i}
26
+ <div
27
+ class:deactivate={isPulsing}
28
+ style={`--pulse-duration: ${pulseDuration}s; --i:${i}; --scale:${scale}; --number-of-pulses:${numberOfPulses}; --pulse-count:${pulseCount};`}
29
+ >
30
+ <div class="pulse" class:active={isPulsing} />
31
+ </div>
32
+ {/each}
33
+ </div>
34
+
35
+ <style>
36
+ .relative {
37
+ position: relative;
38
+ display: inline-block;
39
+ }
40
+
41
+ .pulse {
42
+ position: absolute;
43
+ top: 50%;
44
+ left: 50%;
45
+ width: 100%;
46
+ height: 100%;
47
+ background: rgb(81, 151, 255);
48
+ border-radius: 8px;
49
+ transform: translate(-50%, -50%) scale(1);
50
+ z-index: 0;
51
+ pointer-events: none;
52
+ opacity: 0;
53
+ }
54
+
55
+ .pulse.active {
56
+ animation: pulse var(--pulse-duration) ease-out infinite;
57
+ animation-delay: calc(var(--i) * var(--pulse-duration) / var(--number-of-pulses));
58
+ opacity: 1;
59
+ }
60
+
61
+ .deactivate {
62
+ animation: fade calc(var(--pulse-duration) * 0.3) ease-out;
63
+ animation-delay: calc(var(--pulse-duration) * var(--pulse-count) - var(--pulse-duration) * 0.2);
64
+ opacity: 1;
65
+ }
66
+
67
+ @keyframes fade {
68
+ 0% {
69
+ opacity: 0.8;
70
+ }
71
+ 100% {
72
+ opacity: 0;
73
+ }
74
+ }
75
+
76
+ @keyframes pulse {
77
+ 100% {
78
+ transform: translate(-50%, -50%) scale(var(--scale));
79
+ opacity: 0;
80
+ }
81
+ }</style>
@@ -0,0 +1,34 @@
1
+ /** @typedef {typeof __propDef.props} PulseButtonProps */
2
+ /** @typedef {typeof __propDef.events} PulseButtonEvents */
3
+ /** @typedef {typeof __propDef.slots} PulseButtonSlots */
4
+ export default class PulseButton extends SvelteComponent<{
5
+ scale?: number | undefined;
6
+ pulseDuration?: number | undefined;
7
+ numberOfPulses?: number | undefined;
8
+ triggerPulse?: ((count: any) => void) | undefined;
9
+ }, {
10
+ [evt: string]: CustomEvent<any>;
11
+ }, {
12
+ default: {};
13
+ }> {
14
+ get triggerPulse(): (count: any) => void;
15
+ }
16
+ export type PulseButtonProps = typeof __propDef.props;
17
+ export type PulseButtonEvents = typeof __propDef.events;
18
+ export type PulseButtonSlots = typeof __propDef.slots;
19
+ import { SvelteComponent } from "svelte";
20
+ declare const __propDef: {
21
+ props: {
22
+ scale?: number | undefined;
23
+ pulseDuration?: number | undefined;
24
+ numberOfPulses?: number | undefined;
25
+ triggerPulse?: ((count: any) => void) | undefined;
26
+ };
27
+ events: {
28
+ [evt: string]: CustomEvent<any>;
29
+ };
30
+ slots: {
31
+ default: {};
32
+ };
33
+ };
34
+ export {};
@@ -0,0 +1,11 @@
1
+ <script>export let color = 'light';
2
+ export let border = false;
3
+ $: colorClasses = {
4
+ light: 'text-tertiary bg-surface hover:bg-surface-hover text-tertiary',
5
+ dark: 'text-tertiary hover:bg-surface-hover-dark text-tertiary'
6
+ }[color ?? 'light'];
7
+ </script>
8
+
9
+ <div class="rounded-full p-1 {colorClasses} {border ? 'border border-tertiary' : ''}">
10
+ <slot />
11
+ </div>
@@ -0,0 +1,19 @@
1
+ import { SvelteComponent } from "svelte";
2
+ declare const __propDef: {
3
+ props: {
4
+ color?: 'light' | 'dark' | undefined;
5
+ border?: boolean | undefined;
6
+ };
7
+ events: {
8
+ [evt: string]: CustomEvent<any>;
9
+ };
10
+ slots: {
11
+ default: {};
12
+ };
13
+ };
14
+ export type RoundIconButtonProps = typeof __propDef.props;
15
+ export type RoundIconButtonEvents = typeof __propDef.events;
16
+ export type RoundIconButtonSlots = typeof __propDef.slots;
17
+ export default class RoundIconButton extends SvelteComponent<RoundIconButtonProps, RoundIconButtonEvents, RoundIconButtonSlots> {
18
+ }
19
+ export {};
@@ -16,4 +16,5 @@ export declare namespace ButtonType {
16
16
  size: Size;
17
17
  color: Color;
18
18
  }
19
+ const ColorVariants: Record<ButtonType.Color, Record<ButtonType.Variant, string>>;
19
20
  }
@@ -47,4 +47,51 @@ export var ButtonType;
47
47
  divider: ''
48
48
  }
49
49
  };
50
+ ButtonType.ColorVariants = {
51
+ none: {
52
+ border: '',
53
+ contained: '',
54
+ divider: ''
55
+ },
56
+ blue: {
57
+ border: 'border-frost-500 dark:border-frost-300 hover:border-frost-700 dark:hover:border-frost-400 focus-visible:border-frost-700 bg-surface hover:bg-frost-100 dark:hover:bg-frost-900 focus-visible:bg-frost-100 focus-visible:dark:text-frost-100 dark:focus-visible:bg-frost-900 text-frost-500 dark:text-frost-300 dark:hover:text-frost-400 hover:text-frost-700 focus-visible:text-frost-700 focus-visible:ring-frost-300',
58
+ contained: 'bg-frost-500 hover:bg-frost-700 focus-visible:bg-frost-700 text-white focus-visible:ring-frost-300 dark:bg-frost-500/90 dark:hover:bg-frost-600/90',
59
+ divider: 'divide-x divide-frost-600'
60
+ },
61
+ marine: {
62
+ border: 'border-marine-300 dark:border-marine-200 hover:border-marine-500 dark:hover:border-marine-400 focus-visible:border-marine-500 bg-surface hover:bg-marine-500 dark:hover:bg-marine-400 focus-visible:bg-marine-100 focus-visible:dark:text-marine-50 dark:focus-visible:bg-marine-500 text-marine-50 dark:text-marine-50 dark:hover:text-marine-50 hover:text-marine-50 focus-visible:text-marine-300 focus-visible:ring-marine-200',
63
+ contained: 'bg-marine-300 hover:bg-marine-500 focus-visible:bg-marine-500 text-gray-50 focus-visible:ring-marine-200 dark:bg-marine-200 dark:hover:bg-marine-400',
64
+ divider: 'divide-x divide-marine-500'
65
+ },
66
+ red: {
67
+ border: 'border-red-600/60 hover:border-red-600 bg-surface hover:bg-red-100 text-red-600 hover:text-red-700 focus-visible:ring-red-300 dark:border-red-400/90 dark:text-red-400 dark:hover:border-red-400 dark:hover:bg-red-500/60 dark:hover:text-red-100',
68
+ contained: 'bg-red-600 hover:bg-red-600 text-white focus-visible:ring-red-300 dark:border-red-400/70 dark:bg-red-700/90 dark:hover:bg-red-900 dark:hover:border-red-300 dark:text-primary',
69
+ divider: 'divide-x divide-red-700'
70
+ },
71
+ green: {
72
+ border: 'border-green-600 hover:border-green-700 bg-surface hover:bg-green-100 text-green-600 hover:text-green-700 focus-visible:ring-green-300 dark:hover:bg-green-800 dark:border-green-400/90',
73
+ contained: 'bg-green-600 hover:bg-green-700 text-white focus-visible:ring-green-300 dark:bg-green-700/90 dark:hover:bg-green-800',
74
+ divider: 'divide-x divide-green-700'
75
+ },
76
+ dark: {
77
+ border: 'border-marine-300 bg-surface hover:bg-surface-hover focus-visible:bg-surface-hover text-primary hover:text-secondary focus-visible:text-secondary focus-visible:ring-surface-selected-inverse dark:border-marine-200',
78
+ contained: 'bg-marine-400 hover:bg-marine-200 focus-visible:bg-surface-hover-inverse text-primary-inverse focus-visible:ring-surface-selected-inverse dark:bg-marine-50 dark:hover:bg-marine-50/70 dark:text-primary-inverse',
79
+ divider: 'divide-x divide-gray-800 dark:divide-gray-200'
80
+ },
81
+ gray: {
82
+ border: 'border-gray-500 dark:border-gray-300 hover:border-gray-700 dark:hover:border-gray-400 focus-visible:border-gray-700 bg-surface hover:bg-gray-100 dark:hover:bg-gray-900 focus-visible:bg-gray-100 focus-visible:dark:text-gray-100 dark:focus-visible:bg-gray-900 text-gray-500 dark:text-gray-300 dark:hover:text-gray-400 hover:text-gray-700 focus-visible:text-gray-700 focus-visible:ring-gray-300',
83
+ contained: 'bg-gray-500 hover:bg-gray-700 focus-visible:bg-gray-700 text-white focus-visible:ring-gray-300',
84
+ divider: 'divide-x divide-gray-600'
85
+ },
86
+ light: {
87
+ border: 'border bg-surface hover:bg-surface-hover focus-visible:bg-surface-hover text-primary hover:text-secondary focus-visible:text-secondary focus-visible:ring-surface-selected',
88
+ contained: 'bg-surface border-transparent hover:bg-surface-hover focus-visible:bg-surface-hover text-primary focus-visible:ring-surface-selected',
89
+ divider: 'divide-x divide-gray-200 dark:divide-gray-700'
90
+ },
91
+ nord: {
92
+ border: 'border-nord-200 bg-surface hover:bg-surface-hover focus-visible:bg-surface-hover text-primary hover:text-secondary focus-visible:text-secondary focus-visible:ring-surface-selected-inverse dark:border-nord-200',
93
+ contained: 'bg-nord-300 hover:bg-nord-0 focus-visible:bg-surface-hover-inverse text-primary-inverse focus-visible:ring-surface-selected-inverse dark:bg-nord-400 dark:hover:bg-nord-600 dark:text-primary-inverse',
94
+ divider: 'divide-x divide-gray-800 dark:divide-gray-200'
95
+ }
96
+ };
50
97
  })(ButtonType || (ButtonType = {}));
@@ -25,6 +25,7 @@ export let defaultValue = undefined;
25
25
  export let workspace = undefined;
26
26
  export let fileUploads = writable([]);
27
27
  export let appPath = undefined;
28
+ export let disabled = false;
28
29
  export let computeForceViewerPolicies = undefined;
29
30
  const dispatch = createEventDispatcher();
30
31
  async function handleChange(files) {
@@ -385,6 +386,7 @@ onDestroy(() => {
385
386
  </div>
386
387
  {:else}
387
388
  <FileInput
389
+ {disabled}
388
390
  accept={acceptedFileTypes?.join(',')}
389
391
  multiple={allowMultiple}
390
392
  returnFileNames
@@ -396,7 +398,7 @@ onDestroy(() => {
396
398
  style={customStyle}
397
399
  defaultFile={defaultValue}
398
400
  >
399
- {containerText}
401
+ {containerText}{#if disabled}<br />(Disabled){/if}
400
402
  </FileInput>
401
403
  {/if}
402
404
  </div>
@@ -24,6 +24,7 @@ declare const __propDef: {
24
24
  file?: File | undefined;
25
25
  }[]> | undefined;
26
26
  appPath?: string | undefined;
27
+ disabled?: boolean | undefined;
27
28
  computeForceViewerPolicies?: (() => {
28
29
  allowed_resources: string[];
29
30
  allow_user_resources: boolean;
@@ -7,6 +7,7 @@ import DockerIcon from '../../icons/DockerIcon.svelte';
7
7
  import RestIcon from '../../icons/RestIcon.svelte';
8
8
  import PowershellIcon from '../../icons/PowershellIcon.svelte';
9
9
  import BigQueryIcon from '../../icons/BigQueryIcon.svelte';
10
+ import OracleDBIcon from '../../icons/OracleDBIcon.svelte';
10
11
  import SnowflakeIcon from '../../icons/SnowflakeIcon.svelte';
11
12
  import GraphqlIcon from '../../icons/GraphqlIcon.svelte';
12
13
  import MSSqlServerIcon from '../../icons/MSSqlServerIcon.svelte';
@@ -31,6 +32,7 @@ const languageLabel = {
31
32
  graphql: 'GraphQL',
32
33
  postgresql: 'Postgresql',
33
34
  bigquery: 'BigQuery',
35
+ oracledb: 'Oracle Database',
34
36
  snowflake: 'Snowflake',
35
37
  mysql: 'MySQL',
36
38
  mssql: 'MS SQL Server',
@@ -51,6 +53,7 @@ const langToComponent = {
51
53
  pgsql: PostgresIcon,
52
54
  mysql: MySQLIcon,
53
55
  bigquery: BigQueryIcon,
56
+ oracledb: OracleDBIcon,
54
57
  snowflake: SnowflakeIcon,
55
58
  mssql: MSSqlServerIcon,
56
59
  javascript: JavaScript,
@@ -1,7 +1,9 @@
1
- <script>export let horizontal = false;
1
+ <script>import { twMerge } from 'tailwind-merge';
2
+ export let horizontal = false;
2
3
  export let gap = 'sm';
3
4
  export let justify = 'start';
4
5
  export let wFull = true;
6
+ export let hFull = true;
5
7
  const gapMap = {
6
8
  none: '',
7
9
  sm: 'gap-2',
@@ -26,9 +28,13 @@ const justifyMap = {
26
28
  </div>
27
29
  {:else}
28
30
  <div
29
- class="flex flex-col h-full {wFull ? 'w-full' : ''} {gapMap[gap]} items-center {justifyMap[
30
- justify
31
- ]}"
31
+ class={twMerge(
32
+ 'flex flex-col w-full',
33
+ hFull ? 'h-full' : '',
34
+ gapMap[gap],
35
+ 'items-center',
36
+ justifyMap[justify]
37
+ )}
32
38
  >
33
39
  <slot />
34
40
  </div>
@@ -5,6 +5,7 @@ declare const __propDef: {
5
5
  gap?: "none" | "sm" | "md" | "lg" | undefined;
6
6
  justify?: "center" | "start" | "end" | "between" | undefined;
7
7
  wFull?: boolean | undefined;
8
+ hFull?: boolean | undefined;
8
9
  };
9
10
  events: {
10
11
  [evt: string]: CustomEvent<any>;
@@ -10,9 +10,22 @@ export let selectedStyle = '';
10
10
  export let id = undefined;
11
11
  export let active = false;
12
12
  export let exact = false;
13
+ export let otherValues = [];
13
14
  export let disabled = false;
14
15
  const { selected, update, hashNavigation } = getContext('Tabs');
15
- $: isSelected = exact ? $selected == value : $selected?.startsWith(value);
16
+ function getIsSelectedFn(exact, otherValues) {
17
+ if (otherValues.length > 0) {
18
+ return (selected) => selected == value || otherValues.includes(selected);
19
+ }
20
+ else if (exact) {
21
+ return (selected) => selected == value;
22
+ }
23
+ else {
24
+ return (selected) => selected?.startsWith(value);
25
+ }
26
+ }
27
+ $: isSelectedFn = getIsSelectedFn(exact, otherValues);
28
+ $: isSelected = isSelectedFn($selected);
16
29
  const fontSizeClasses = {
17
30
  xs: 'text-xs',
18
31
  sm: 'text-sm',
@@ -10,6 +10,7 @@ declare const __propDef: {
10
10
  id?: string | undefined;
11
11
  active?: boolean | undefined;
12
12
  exact?: boolean | undefined;
13
+ otherValues?: string[] | undefined;
13
14
  disabled?: boolean | undefined;
14
15
  };
15
16
  events: {
@@ -425,7 +425,7 @@ onDestroy(() => {
425
425
  </div>
426
426
  {/if}
427
427
 
428
- {#if ['postgresql', 'mysql', 'snowflake', 'bigquery', 'mssql', 'graphql'].includes(lang ?? '') && dbSchema?.lang === lang}
428
+ {#if ['postgresql', 'mysql', 'snowflake', 'bigquery', 'mssql', 'graphql, oracledb'].includes(lang ?? '') && dbSchema?.lang === lang}
429
429
  <div class="flex flex-row items-center justify-between gap-2 w-96">
430
430
  <div class="flex flex-row items-center gap-1">
431
431
  <p class="text-xs text-secondary">
@@ -293,7 +293,7 @@ export function stringifySchema(dbSchema) {
293
293
  function addDBSChema(scriptOptions, prompt) {
294
294
  const { dbSchema, language } = scriptOptions;
295
295
  if (dbSchema &&
296
- ['postgresql', 'mysql', 'snowflake', 'bigquery', 'mssql', 'graphql'].includes(language) && // make sure we are using a SQL/query language
296
+ ['postgresql', 'mysql', 'snowflake', 'bigquery', 'mssql', 'graphql', 'oracledb'].includes(language) && // make sure we are using a SQL/query language
297
297
  language === dbSchema.lang // make sure we are using the same language as the schema
298
298
  ) {
299
299
  let { stringified } = dbSchema;
@@ -112,7 +112,7 @@ prompts:
112
112
  {code}
113
113
  ```
114
114
  <contextual_information>
115
- Arguments can be obtained directly in the statement with @p1, @p2, etc.. Name the parameters by adding comments before the statement like that: `-- @p1 name1 ({type})` or `-- @p2 name2 ({type}) = default` (one per row)
115
+ Arguments can be obtained directly in the statement with @P1, @P2, etc.. Name the parameters by adding comments before the statement like that: `-- @P1 name1 ({type})` or `-- @P2 name2 ({type}) = default` (one per row)
116
116
  </contextual_information>
117
117
  My instructions: {description}
118
118
  graphql:
@@ -26,7 +26,7 @@ export const EDIT_PROMPT = {
26
26
  "prompt": "Here's my snowflake code: \n```sql\n{code}\n```\n<contextual_information>\nArguments can be obtained directly in the statement with ?. Name the parameters by adding comments before the statement like that: `-- ? name1 ({type})` or `-- ? name2 ({type}) = default` (one per row)\n</contextual_information>\nMy instructions: {description}"
27
27
  },
28
28
  "mssql": {
29
- "prompt": "Here's my Microsoft SQL Server code: \n```sql\n{code}\n```\n<contextual_information>\nArguments can be obtained directly in the statement with @p1, @p2, etc.. Name the parameters by adding comments before the statement like that: `-- @p1 name1 ({type})` or `-- @p2 name2 ({type}) = default` (one per row)\n</contextual_information>\nMy instructions: {description}"
29
+ "prompt": "Here's my Microsoft SQL Server code: \n```sql\n{code}\n```\n<contextual_information>\nArguments can be obtained directly in the statement with @P1, @P2, etc.. Name the parameters by adding comments before the statement like that: `-- @P1 name1 ({type})` or `-- @P2 name2 ({type}) = default` (one per row)\n</contextual_information>\nMy instructions: {description}"
30
30
  },
31
31
  "graphql": {
32
32
  "prompt": "Here's my graphql code: \n```graphql\n{code}\n```\n<contextual_information>\nAdd the needed arguments as query parameters.\n</contextual_information>\nMy instructions: {description}"
@@ -122,7 +122,7 @@ prompts:
122
122
  {code}
123
123
  ```
124
124
  <contextual_information>
125
- Arguments can be obtained directly in the statement with @p1, @p2, etc.. Name the parameters by adding comments before the statement like that: `-- @p1 name1 ({type})` or `-- @p2 name2 ({type}) = default` (one per row)
125
+ Arguments can be obtained directly in the statement with @P1, @P2, etc.. Name the parameters by adding comments before the statement like that: `-- @P1 name1 ({type})` or `-- @P2 name2 ({type}) = default` (one per row)
126
126
  </contextual_information>
127
127
  I get the following error: {error}
128
128
  Fix my code.
@@ -26,7 +26,7 @@ export const FIX_PROMPT = {
26
26
  "prompt": "Here's my snowflake code: \n```sql\n{code}\n```\n<contextual_information>\nArguments can be obtained directly in the statement with ?. Name the parameters by adding comments before the statement like that: `-- ? name1 ({type})` or `-- ? name2 ({type}) = default` (one per row)\n</contextual_information>\nI get the following error: {error}\nFix my code."
27
27
  },
28
28
  "mssql": {
29
- "prompt": "Here's my Microsoft SQL Server code: \n```sql\n{code}\n```\n<contextual_information>\nArguments can be obtained directly in the statement with @p1, @p2, etc.. Name the parameters by adding comments before the statement like that: `-- @p1 name1 ({type})` or `-- @p2 name2 ({type}) = default` (one per row)\n</contextual_information>\nI get the following error: {error}\nFix my code."
29
+ "prompt": "Here's my Microsoft SQL Server code: \n```sql\n{code}\n```\n<contextual_information>\nArguments can be obtained directly in the statement with @P1, @P2, etc.. Name the parameters by adding comments before the statement like that: `-- @P1 name1 ({type})` or `-- @P2 name2 ({type}) = default` (one per row)\n</contextual_information>\nI get the following error: {error}\nFix my code."
30
30
  },
31
31
  "graphql": {
32
32
  "prompt": "Here's my graphql code: \n```graphql\n{code}\n```\n<contextual_information>\nAdd the needed arguments as query parameters.\n</contextual_information>\nI get the following error: {error}\nFix my code."
@@ -78,7 +78,7 @@ prompts:
78
78
  mssql:
79
79
  prompt: |-
80
80
  <contextual_information>
81
- You have to write a statement for Microsoft SQL Server. Arguments can be obtained directly in the statement with @p1, @p2, etc.. Name the parameters by adding comments before the statement like that: `-- @p1 name1 ({type})` or `-- @p2 name2 ({type}) = default` (one per row)
81
+ You have to write a statement for Microsoft SQL Server. Arguments can be obtained directly in the statement with @P1, @P2, etc.. Name the parameters by adding comments before the statement like that: `-- @P1 name1 ({type})` or `-- @P2 name2 ({type}) = default` (one per row)
82
82
  </contextual_information>
83
83
  My instructions: {description}
84
84
  graphql:
@@ -26,7 +26,7 @@ export const GEN_PROMPT = {
26
26
  "prompt": "<contextual_information>\nYou have to write a statement for Snowflake. Arguments can be obtained directly in the statement with ?. Name the parameters by adding comments before the statement like that: `-- ? name1 ({type})` or `-- ? name2 ({type}) = default` (one per row)\n</contextual_information>\nMy instructions: {description}"
27
27
  },
28
28
  "mssql": {
29
- "prompt": "<contextual_information>\nYou have to write a statement for Microsoft SQL Server. Arguments can be obtained directly in the statement with @p1, @p2, etc.. Name the parameters by adding comments before the statement like that: `-- @p1 name1 ({type})` or `-- @p2 name2 ({type}) = default` (one per row)\n</contextual_information>\nMy instructions: {description}"
29
+ "prompt": "<contextual_information>\nYou have to write a statement for Microsoft SQL Server. Arguments can be obtained directly in the statement with @P1, @P2, etc.. Name the parameters by adding comments before the statement like that: `-- @P1 name1 ({type})` or `-- @P2 name2 ({type}) = default` (one per row)\n</contextual_information>\nMy instructions: {description}"
30
30
  },
31
31
  "graphql": {
32
32
  "prompt": "<contextual_information>\nYou have to write a query for GraphQL. Add the needed arguments as query parameters.\n</contextual_information>\nMy instructions: {description}"
@@ -23,6 +23,7 @@ export type FlowBuilderWhitelabelCustomUi = {
23
23
  triggers?: boolean;
24
24
  flowNode?: boolean;
25
25
  hub?: boolean;
26
+ hubCode?: boolean;
26
27
  graph?: {
27
28
  aiBuilder?: boolean;
28
29
  dataflow?: boolean;