@parallelworks/ui 0.17.0 → 0.18.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.
- package/LICENSE +202 -21
- package/dist/chunks/{CodePreviewEditor-UAtnpmOV.js → CodePreviewEditor-4lx3kE-w.js} +2 -2
- package/dist/chunks/{CreateModal-BbV5cTj7.js → CreateModal-BY6DLmur.js} +10 -10
- package/dist/chunks/{lib-CUTRDpa6.js → FieldWrapper-Bef01EWO.js} +49 -48
- package/dist/chunks/{Monaco-DVyIpyv4.js → Monaco-C1POOdVv.js} +3 -3
- package/dist/chunks/{PageHeader-MxuOs9cH.js → PageHeader-l49p1nM9.js} +145 -82
- package/dist/chunks/{Provider-DHmZ3v9i.js → Provider-Ghua9PkN.js} +6 -4
- package/dist/chunks/{SwitchToggle-BRQoEwLZ.js → SwitchToggle-CHPP8uZQ.js} +11 -11
- package/dist/chunks/{Table-C6JdFFiJ.js → Table-4OHjdKdO.js} +2 -2
- package/dist/chunks/{Tooltip-n9w7Tkt1.js → Tooltip-Crxo_eU_.js} +3 -3
- package/dist/chunks/{editor-mNznodJN.js → editor-9_uVtUyy.js} +4 -4
- package/dist/chunks/{list-7k0eaI5N.js → list-qrojZZNv.js} +128 -17
- package/dist/components/AddMenu.d.ts +1 -0
- package/dist/components/Avatar.d.ts +13 -0
- package/dist/components/Dropdown.d.ts +2 -0
- package/dist/components/Provider.d.ts +2 -0
- package/dist/editor/index.js +1 -1
- package/dist/file-explorer/index.js +28 -27
- package/dist/form/FieldWrapper.d.ts +2 -1
- package/dist/form/Form.d.ts +3 -1
- package/dist/form/index.js +22 -20
- package/dist/form/types/fieldComponentTypes.d.ts +1 -0
- package/dist/form/types/fieldTypes.d.ts +4 -4
- package/dist/form/useParsedOpts.d.ts +1 -1
- package/dist/icons.d.ts +1 -1
- package/dist/icons.js +3 -3
- package/dist/index.d.ts +2 -1
- package/dist/index.js +13 -13
- package/dist/list/RowContextMenu.d.ts +9 -9
- package/dist/list/UserHoverCard.d.ts +45 -0
- package/dist/list/index.d.ts +2 -1
- package/dist/list/index.js +3 -3
- package/dist/logviewer/index.js +7 -7
- package/dist/styles/Geist-Variable.woff2 +0 -0
- package/dist/styles/GeistMono-Variable.woff2 +0 -0
- package/dist/styles/base.css +57 -0
- package/dist/styles/fonts.css +15 -0
- package/dist/styles/theme.css +6 -40
- package/dist/styles.css +1 -1
- package/dist/workflow/index.js +8 -8
- package/package.json +10 -9
- package/dist/chunks/{BareModal-BqroLbZ5.js → BareModal-BtRiQezg.js} +1 -1
package/dist/form/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
+
import { l as useSlots, u as useStrings } from "../chunks/Provider-Ghua9PkN.js";
|
|
1
2
|
import { AngleRightIcon, EyeIcon, EyeOffIcon, SuccessCheckmark, TrashIcon } from "../icons.js";
|
|
2
|
-
import {
|
|
3
|
-
import { n as TOOLTIP_ID, r as TooltipInfo } from "../chunks/Tooltip-n9w7Tkt1.js";
|
|
3
|
+
import { n as TOOLTIP_ID, r as TooltipInfo } from "../chunks/Tooltip-Crxo_eU_.js";
|
|
4
4
|
import { c as isCategory, n as StatusDot } from "../chunks/StatusBadge-C1Blx_cW.js";
|
|
5
|
-
import { a as UncontrolledCollapsiblePanel, c as Dropdown, n as SectionHeader, o as MultiSelectDropdown, r as ControlledCollapsiblePanel, s as CustomListbox, t as SwitchToggle } from "../chunks/SwitchToggle-
|
|
5
|
+
import { a as UncontrolledCollapsiblePanel, c as Dropdown, n as SectionHeader, o as MultiSelectDropdown, r as ControlledCollapsiblePanel, s as CustomListbox, t as SwitchToggle } from "../chunks/SwitchToggle-CHPP8uZQ.js";
|
|
6
6
|
import { t as Loader } from "../chunks/Loader-BXoXTZGc.js";
|
|
7
|
-
import { n as Table } from "../chunks/Table-
|
|
8
|
-
import { a as
|
|
7
|
+
import { n as Table } from "../chunks/Table-4OHjdKdO.js";
|
|
8
|
+
import { a as initializeValues, c as findSecondaryOption, d as useFieldLabelledByProps, f as useFieldRequired, i as impureSetValueFromPath, l as FieldProvider, n as enforceOneMustBeTrue, o as resolvedFlag, r as flattenGroups, s as applySecondaryField, t as FieldWrapper, u as useFieldControlProps } from "../chunks/FieldWrapper-Bef01EWO.js";
|
|
9
9
|
import cx from "classnames";
|
|
10
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
11
10
|
import React, { Suspense, createContext, memo, useCallback, useContext, useEffect, useId, useMemo, useRef, useState } from "react";
|
|
11
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
12
12
|
import deepEqual from "fast-deep-equal";
|
|
13
13
|
import { Duration } from "luxon";
|
|
14
14
|
import { callWhenParserInitialized, convertToDynamicForm, extractInputDeps, initializeParseStringsOfObj, parseStringsOfObj, parseStringsOfObjReady } from "@parallelworks/workflow-parser";
|
|
@@ -74,12 +74,13 @@ var EMPTY_KEYS = [];
|
|
|
74
74
|
/**
|
|
75
75
|
* useMemo won't work here — Formik values changes on every keystroke, so this hook extracts which inputs.* keys the schema references and re-parses only when those change. Defaults `userVars`/`secretKeys` to empty — callers in React scope should pass them from `useUserVars()` so the parser leaves `${{ var.SECRET }}` literal during template eval (otherwise the recursive substitution turns `"https://${{ var.PAT }}@host/"` into `"https://@host/"`).
|
|
76
76
|
*/
|
|
77
|
-
function useParsedOpts(rawOptions, values, organizationVariables, userVars = EMPTY_VARS, secretKeys = EMPTY_KEYS) {
|
|
77
|
+
function useParsedOpts(rawOptions, values, organizationVariables, userVars = EMPTY_VARS, secretKeys = EMPTY_KEYS, remoteVars = EMPTY_VARS) {
|
|
78
78
|
const c = useRef({
|
|
79
79
|
rawOptions: null,
|
|
80
80
|
orgVars: void 0,
|
|
81
81
|
userVars: null,
|
|
82
82
|
secretKeys: null,
|
|
83
|
+
remoteVars: null,
|
|
83
84
|
converted: {},
|
|
84
85
|
inputDeps: /* @__PURE__ */ new Set(),
|
|
85
86
|
hasExpressions: false,
|
|
@@ -94,13 +95,11 @@ function useParsedOpts(rawOptions, values, organizationVariables, userVars = EMP
|
|
|
94
95
|
c.hasExpressions = hasExpressions;
|
|
95
96
|
c.result = null;
|
|
96
97
|
}
|
|
97
|
-
if (organizationVariables !== c.orgVars) {
|
|
98
|
+
if (organizationVariables !== c.orgVars || userVars !== c.userVars || secretKeys !== c.secretKeys || remoteVars !== c.remoteVars) {
|
|
98
99
|
c.orgVars = organizationVariables;
|
|
99
|
-
c.result = null;
|
|
100
|
-
}
|
|
101
|
-
if (userVars !== c.userVars || secretKeys !== c.secretKeys) {
|
|
102
100
|
c.userVars = userVars;
|
|
103
101
|
c.secretKeys = secretKeys;
|
|
102
|
+
c.remoteVars = remoteVars;
|
|
104
103
|
c.result = null;
|
|
105
104
|
}
|
|
106
105
|
if (c.result !== null) {
|
|
@@ -117,7 +116,8 @@ function useParsedOpts(rawOptions, values, organizationVariables, userVars = EMP
|
|
|
117
116
|
obj: c.converted,
|
|
118
117
|
orgVars: organizationVariables,
|
|
119
118
|
userVars,
|
|
120
|
-
secretKeys
|
|
119
|
+
secretKeys,
|
|
120
|
+
remoteVars
|
|
121
121
|
});
|
|
122
122
|
c.result = parsed;
|
|
123
123
|
c.relevantSnapshot = {};
|
|
@@ -1318,7 +1318,7 @@ var DurationField_default = memo(function DurationField({ field, label, labelPos
|
|
|
1318
1318
|
labelPosition,
|
|
1319
1319
|
spaceCompact: spaceCompact ?? false,
|
|
1320
1320
|
...field.description !== void 0 && { description: field.description },
|
|
1321
|
-
children: ({ id, describedBy }) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1321
|
+
children: ({ id, describedBy }) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
1322
1322
|
!isSentinel && /* @__PURE__ */ jsx("input", {
|
|
1323
1323
|
"data-1p-ignore": true,
|
|
1324
1324
|
className: cx("w-full", disabled && "disabled", (missing || error !== null) && "invalid"),
|
|
@@ -1933,7 +1933,7 @@ function MultiSelectionDropdown({ name, label = "", invalid = false, options: in
|
|
|
1933
1933
|
useEffect(() => {
|
|
1934
1934
|
if (prevParent && parentValue && prevParent !== parentValue) setFieldValue(name, []);
|
|
1935
1935
|
}, [parentValue]);
|
|
1936
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(CustomListbox, {
|
|
1936
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(CustomListbox, {
|
|
1937
1937
|
...controlProps,
|
|
1938
1938
|
options,
|
|
1939
1939
|
required,
|
|
@@ -2209,14 +2209,14 @@ function FieldsFromOptions({ options = {}, values, setFormDirty, setFieldValue,
|
|
|
2209
2209
|
}, idx));
|
|
2210
2210
|
}
|
|
2211
2211
|
var noop = () => {};
|
|
2212
|
-
function DynamicFormContent({ options, setValues, setFormDirty, labelPosition, missingFields, spaceCompact, organizationVariables, workflowForm, onSubmit, submitLabel, values, contextKey }) {
|
|
2212
|
+
function DynamicFormContent({ options, setValues, setFormDirty, labelPosition, missingFields, spaceCompact, organizationVariables, remoteVars, workflowForm, onSubmit, submitLabel, values, contextKey }) {
|
|
2213
2213
|
const { setFieldValue, setFieldTouched } = useFormikContext();
|
|
2214
|
-
const opts = useParsedOpts(options, values, organizationVariables);
|
|
2214
|
+
const opts = useParsedOpts(options, values, organizationVariables, void 0, void 0, remoteVars);
|
|
2215
2215
|
const handleChange = useCallback((state) => {
|
|
2216
2216
|
if (setValues) setValues(state);
|
|
2217
2217
|
}, [setValues]);
|
|
2218
2218
|
const wizardConfig = parseWizardConfig(opts);
|
|
2219
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2219
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
2220
2220
|
/* @__PURE__ */ jsx(DirtyStateBridge, { setFormDirty }),
|
|
2221
2221
|
/* @__PURE__ */ jsx(FormikStateBridge, { onChange: handleChange }),
|
|
2222
2222
|
/* @__PURE__ */ jsx(DynamicDefaultsSync, { options: opts }, contextKey ?? ""),
|
|
@@ -2231,7 +2231,7 @@ function DynamicFormContent({ options, setValues, setFormDirty, labelPosition, m
|
|
|
2231
2231
|
workflowForm,
|
|
2232
2232
|
setFieldValue,
|
|
2233
2233
|
setFieldTouched
|
|
2234
|
-
}) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(FieldsFromOptions, {
|
|
2234
|
+
}) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(FieldsFromOptions, {
|
|
2235
2235
|
...resolveMetaOverrides(options, labelPosition, spaceCompact),
|
|
2236
2236
|
options: opts,
|
|
2237
2237
|
values,
|
|
@@ -2251,7 +2251,7 @@ function DynamicFormContent({ options, setValues, setFormDirty, labelPosition, m
|
|
|
2251
2251
|
] });
|
|
2252
2252
|
}
|
|
2253
2253
|
var NO_FIELDS = {};
|
|
2254
|
-
function DynamicForm({ formJSONs: options = {}, reinitialize = false, initialValues, setValues, setFormDirty = noop, formikRef, labelPosition = "left", missingFields = [], spaceCompact = false, organizationVariables, needsOrganizationVariables = false, onSubmit = void 0, submitLabel = "Submit", className = "w-full", workflowForm = false, contextKey, skipValueParse = false, fields = NO_FIELDS }) {
|
|
2254
|
+
function DynamicForm({ formJSONs: options = {}, reinitialize = false, initialValues, setValues, setFormDirty = noop, formikRef, labelPosition = "left", missingFields = [], spaceCompact = false, organizationVariables, remoteVars, needsOrganizationVariables = false, onSubmit = void 0, submitLabel = "Submit", className = "w-full", workflowForm = false, contextKey, skipValueParse = false, fields = NO_FIELDS }) {
|
|
2255
2255
|
const [parseReady, setParseReady] = useState(parseStringsOfObjReady);
|
|
2256
2256
|
useEffect(() => {
|
|
2257
2257
|
initializeParseStringsOfObj();
|
|
@@ -2261,7 +2261,8 @@ function DynamicForm({ formJSONs: options = {}, reinitialize = false, initialVal
|
|
|
2261
2261
|
const parsedInitVals = skipValueParse ? initialValues : initialValues && parseStringsOfObj({
|
|
2262
2262
|
inputs: initialValues,
|
|
2263
2263
|
obj: initialValues,
|
|
2264
|
-
orgVars: organizationVariables
|
|
2264
|
+
orgVars: organizationVariables,
|
|
2265
|
+
remoteVars
|
|
2265
2266
|
});
|
|
2266
2267
|
return /* @__PURE__ */ jsx(FieldRegistryContext.Provider, {
|
|
2267
2268
|
value: fields,
|
|
@@ -2286,6 +2287,7 @@ function DynamicForm({ formJSONs: options = {}, reinitialize = false, initialVal
|
|
|
2286
2287
|
missingFields,
|
|
2287
2288
|
spaceCompact,
|
|
2288
2289
|
organizationVariables,
|
|
2290
|
+
remoteVars,
|
|
2289
2291
|
workflowForm,
|
|
2290
2292
|
onSubmit,
|
|
2291
2293
|
submitLabel,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Inputs } from './workflow-schema.js';
|
|
1
|
+
import type { Hidden, Ignore, Inputs, Optional } from './workflow-schema.js';
|
|
2
2
|
export type LabelPosition = 'left' | 'top';
|
|
3
3
|
export type FieldResource = string | {
|
|
4
4
|
type: string;
|
|
@@ -35,9 +35,9 @@ export interface BaseField extends RuntimeFieldExtensions {
|
|
|
35
35
|
type: string;
|
|
36
36
|
label?: string;
|
|
37
37
|
tooltip?: string | string[];
|
|
38
|
-
hidden?:
|
|
39
|
-
optional?:
|
|
40
|
-
ignore?:
|
|
38
|
+
hidden?: Hidden;
|
|
39
|
+
optional?: Optional;
|
|
40
|
+
ignore?: Ignore;
|
|
41
41
|
collapsed?: boolean;
|
|
42
42
|
disabled?: boolean;
|
|
43
43
|
default?: unknown;
|
|
@@ -2,4 +2,4 @@ import { type WorkflowVariables } from '@parallelworks/workflow-parser';
|
|
|
2
2
|
/**
|
|
3
3
|
* useMemo won't work here — Formik values changes on every keystroke, so this hook extracts which inputs.* keys the schema references and re-parses only when those change. Defaults `userVars`/`secretKeys` to empty — callers in React scope should pass them from `useUserVars()` so the parser leaves `${{ var.SECRET }}` literal during template eval (otherwise the recursive substitution turns `"https://${{ var.PAT }}@host/"` into `"https://@host/"`).
|
|
4
4
|
*/
|
|
5
|
-
export declare function useParsedOpts<T extends object = Record<string, unknown>>(rawOptions: T, values: Record<string, unknown>, organizationVariables: WorkflowVariables | undefined, userVars?: Record<string, string>, secretKeys?: string[]): T;
|
|
5
|
+
export declare function useParsedOpts<T extends object = Record<string, unknown>>(rawOptions: T, values: Record<string, unknown>, organizationVariables: WorkflowVariables | undefined, userVars?: Record<string, string>, secretKeys?: string[], remoteVars?: Record<string, string | undefined>): T;
|
package/dist/icons.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { FaInfoCircle as InfoIcon } from 'react-icons/fa';
|
|
|
5
5
|
export type { IconType } from 'react-icons';
|
|
6
6
|
export { AiOutlineRollback as RollbackIcon } from 'react-icons/ai';
|
|
7
7
|
export { BiBell as UnmuteIcon, BiBellOff as MuteIcon, BiExpandVertical as ExpandVerticalIcon, BiBuildings as OrganizationIcon, BiPause as PauseIcon, BiSolidCheckShield as ShieldIcon, BiPlay as StartIcon, BiStop as StopIcon, BiSolidTrashAlt as TrashIcon, } from 'react-icons/bi';
|
|
8
|
-
export { BsStar as PinIcon, BsStarFill as PinFilledIcon, BsGrid as GridIcon, BsBucket as BucketIcon, BsArrowsCollapse as CollapseIcon, BsThreeDotsVertical as MenuIcon, BsThreeDots as MoreIcon, BsSearch as SearchOutlineIcon, BsTerminalFill as UserWorkspaceFillIcon, BsTerminal as UserWorkspaceIcon, BsFileEarmarkZip as ZipIcon, BsMusicNoteBeamed as MusicIcon, } from 'react-icons/bs';
|
|
8
|
+
export { BsStar as PinIcon, BsStarFill as PinFilledIcon, BsGrid as GridIcon, BsBucket as BucketIcon, BsArrowsCollapse as CollapseIcon, BsThreeDotsVertical as MenuIcon, BsThreeDots as MoreIcon, BsSearch as SearchOutlineIcon, BsTerminalFill as UserWorkspaceFillIcon, BsTerminal as UserWorkspaceIcon, BsFileEarmarkZip as ZipIcon, BsMusicNoteBeamed as MusicIcon, BsStopCircle as StopCircleIcon, } from 'react-icons/bs';
|
|
9
9
|
export { FaAmazon as AmazonIcon, FaCentos as CentOSIcon, FaChrome as ChromeIcon, FaCog as CogIcon, FaEdge as EdgeIcon, FaFirefoxBrowser as FirefoxIcon, FaOpera as OperaIcon, FaSafari as SafariIcon, FaExclamationTriangle as WarningTriangleIcon, FaFile as FileSolidIcon, FaFilePdf as PdfSolidIcon, FaFolder as FolderSolidIcon, FaGithub as GitHubIcon, FaGitlab as GitLabIcon, FaLinkedin as LinkedInIcon, FaImage as ImageSolidIcon, FaLinux as LinuxIcon, FaPaperclip as AttachmentIcon, FaRedhat as RedHatIcon, FaRobot as RobotIcon, FaShieldAlt as ShieldAltIcon, FaStop as StopSolidIcon, FaSuse as SuseIcon, FaUbuntu as UbuntuIcon, FaUsers as AccessIcon, FaPlus as AddIcon, FaAngleDown as AngleDownIcon, FaAngleLeft as AngleLeftIcon, FaAngleRight as AngleRightIcon, FaAngleUp as AngleUpIcon, FaArrowDown as ArrowDownIcon, FaArrowLeft as ArrowLeftIcon, FaArrowRight as ArrowRightIcon, FaArrowUp as ArrowUpIcon, FaCaretDown as CaretDownIcon, FaChartLine as ChartIcon, FaComments as ChatIcon, FaCheck as CheckIcon, FaChevronDown as ChevronDownIcon, FaChevronUp as ChevronUpIcon, FaCloud as CloudIcon, FaDollarSign as CostDashboardIcon, FaDocker as DockerIcon, FaCloudDownloadAlt as DownloadIcon, FaEdit as EditIcon, FaRunning as ExecuteWorkflow, FaExpand as ExpandIcon, FaFilter as FilterIcon, FaFlask as FlaskIcon, FaRegFolder as FolderIcon, FaCogs as GearsIcon, FaGlobe as GlobeIcon, FaEye as HiddenFalseIcon, FaEyeSlash as HiddenTrueIcon, FaRegFileImage as ImageIcon, FaKey as KeyIcon, FaLink as LinkIcon, FaLock as LockIcon, FaGlobeAmericas as MarketplaceIcon, FaRegCircle as NotRunningIcon, FaOpenid as OIDCIcon, FaRocket as PartnerIcon, FaKey as PasswordIcon, FaChartPie as PieChartIcon, FaPowerOff as PowerIcon, FaPrint as PrintIcon, FaGlobeAmericas as PublishIcon, FaQrcode as QRCodeIcon, FaLayerGroup as ResourceGroupIcon, FaUndoAlt as RetryIcon, FaSave as SaveIcon, FaList as SchedulerIcon, FaSearch as SearchIcon, FaUsers as SharingIcon, FaCompress as ShrinkIcon, FaDesktop as SnapshotIcon, FaSlack as SlackIcon, FaTerminal as TerminalIcon, FaTimes as TimesIcon, FaQuestionCircle as UserGuideIcon, FaStar as FeaturedIcon, FaUser as UserIcon, FaUsers as UsersIcon, FaWindows as WindowsIcon, } from 'react-icons/fa';
|
|
10
10
|
export { FaApple as AppleIcon, FaArrowsRotate as RefreshArrowsIcon, FaDebian as DebianIcon, FaWandMagicSparkles as CustomizeIcon, FaFilterCircleXmark as FilterClearIcon, FaRegFolderOpen as FolderOpenIcon, FaLocationDot as IpAddressIcon, FaUpRightFromSquare as NewWindowIcon, FaXTwitter as XTwitterIcon, FaInbox as NotificationInboxIcon, FaRegFilePdf as PdfIcon, } from 'react-icons/fa6';
|
|
11
11
|
export { FiAlertCircle as AlertCircleIcon, FiActivity as HealthMonitoringIcon, FiChevronDown as ChevronDownStrokeIcon, FiClock as ClockIcon, FiHardDrive as DiskIcon, FiDownload as DownloadFileIcon, FiFile as FileIcon, FiFileText as FileTextIcon, FiRotateCcw as HistoryIcon, FiUpload as UploadIcon, FiZap as ZapIcon, } from 'react-icons/fi';
|
package/dist/icons.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import cx from "classnames";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
3
|
import { BiBell as UnmuteIcon, BiBellOff as MuteIcon, BiBuildings as OrganizationIcon, BiError as ErrorIcon, BiExpandVertical as ExpandVerticalIcon, BiPause as PauseIcon, BiPlay as StartIcon, BiSolidCheckShield as ShieldIcon, BiSolidTrashAlt as TrashIcon, BiStop as StopIcon } from "react-icons/bi";
|
|
3
|
-
import { BsArrowsCollapse as CollapseIcon, BsBucket as BucketIcon, BsCurrencyDollar as MoneyIcon, BsFileEarmarkZip as ZipIcon, BsGrid as GridIcon, BsLayers as InfrastructureLayersIcon, BsMusicNoteBeamed as MusicIcon, BsSearch as SearchOutlineIcon, BsStar as PinIcon, BsStarFill as PinFilledIcon, BsTerminal as UserWorkspaceIcon, BsTerminalFill as UserWorkspaceFillIcon, BsThreeDots as MoreIcon, BsThreeDotsVertical as MenuIcon, BsZoomIn as ChartZoomIcon } from "react-icons/bs";
|
|
4
|
+
import { BsArrowsCollapse as CollapseIcon, BsBucket as BucketIcon, BsCurrencyDollar as MoneyIcon, BsFileEarmarkZip as ZipIcon, BsGrid as GridIcon, BsLayers as InfrastructureLayersIcon, BsMusicNoteBeamed as MusicIcon, BsSearch as SearchOutlineIcon, BsStar as PinIcon, BsStarFill as PinFilledIcon, BsStopCircle as StopCircleIcon, BsTerminal as UserWorkspaceIcon, BsTerminalFill as UserWorkspaceFillIcon, BsThreeDots as MoreIcon, BsThreeDotsVertical as MenuIcon, BsZoomIn as ChartZoomIcon } from "react-icons/bs";
|
|
4
5
|
import { FaAmazon as AmazonIcon, FaAngleDown as AngleDownIcon, FaAngleLeft as AngleLeftIcon, FaAngleRight as AngleRightIcon, FaAngleUp as AngleUpIcon, FaArrowDown as ArrowDownIcon, FaArrowLeft as ArrowLeftIcon, FaArrowRight as ArrowRightIcon, FaArrowUp as ArrowUpIcon, FaCaretDown as CaretDownIcon, FaCentos as CentOSIcon, FaChartLine as ChartIcon, FaChartPie as PieChartIcon, FaCheck as CheckIcon, FaChevronDown as ChevronDownIcon, FaChevronUp as ChevronUpIcon, FaChrome as ChromeIcon, FaCircleNotch, FaCloud as CloudIcon, FaCloudDownloadAlt as DownloadIcon, FaCog as CogIcon, FaCogs as GearsIcon, FaComments as ChatIcon, FaCompress as ShrinkIcon, FaDesktop as SnapshotIcon, FaDocker as DockerIcon, FaDollarSign as CostDashboardIcon, FaEdge as EdgeIcon, FaEdit as EditIcon, FaExclamationTriangle as WarningTriangleIcon, FaExpand as ExpandIcon, FaEye as HiddenFalseIcon, FaEyeSlash as HiddenTrueIcon, FaFile as FileSolidIcon, FaFilePdf as PdfSolidIcon, FaFilter as FilterIcon, FaFirefoxBrowser as FirefoxIcon, FaFlask as FlaskIcon, FaFolder as FolderSolidIcon, FaGithub as GitHubIcon, FaGitlab as GitLabIcon, FaGlobe as GlobeIcon, FaGlobeAmericas as MarketplaceIcon, FaGlobeAmericas as PublishIcon, FaImage as ImageSolidIcon, FaInfoCircle as InfoIcon, FaKey as KeyIcon, FaKey as PasswordIcon, FaLayerGroup as ResourceGroupIcon, FaLink as LinkIcon, FaLinkedin as LinkedInIcon, FaLinux as LinuxIcon, FaList as SchedulerIcon, FaLock as LockIcon, FaOpenid as OIDCIcon, FaOpera as OperaIcon, FaPaperclip as AttachmentIcon, FaPlus as AddIcon, FaPowerOff as PowerIcon, FaPrint as PrintIcon, FaQrcode as QRCodeIcon, FaQuestionCircle as UserGuideIcon, FaRedhat as RedHatIcon, FaRegCircle as NotRunningIcon, FaRegFileImage as ImageIcon, FaRegFolder as FolderIcon, FaRobot as RobotIcon, FaRocket as PartnerIcon, FaRunning as ExecuteWorkflow, FaSafari as SafariIcon, FaSave as SaveIcon, FaSearch as SearchIcon, FaShieldAlt as ShieldAltIcon, FaSlack as SlackIcon, FaStar as FeaturedIcon, FaStop as StopSolidIcon, FaSuse as SuseIcon, FaTerminal as TerminalIcon, FaTimes as TimesIcon, FaUbuntu as UbuntuIcon, FaUndoAlt as RetryIcon, FaUser as UserIcon, FaUsers as AccessIcon, FaUsers as SharingIcon, FaUsers as UsersIcon, FaWindows as WindowsIcon } from "react-icons/fa";
|
|
5
|
-
import { jsx } from "react/jsx-runtime";
|
|
6
6
|
import { AiOutlineRollback as RollbackIcon } from "react-icons/ai";
|
|
7
7
|
import { FaApple as AppleIcon, FaArrowsRotate as RefreshArrowsIcon, FaDebian as DebianIcon, FaFilterCircleXmark as FilterClearIcon, FaInbox as NotificationInboxIcon, FaLocationDot as IpAddressIcon, FaRegFilePdf as PdfIcon, FaRegFolderOpen as FolderOpenIcon, FaUpRightFromSquare as NewWindowIcon, FaWandMagicSparkles as CustomizeIcon, FaXTwitter as XTwitterIcon } from "react-icons/fa6";
|
|
8
8
|
import { FiActivity as HealthMonitoringIcon, FiAlertCircle as AlertCircleIcon, FiChevronDown as ChevronDownStrokeIcon, FiClock as ClockIcon, FiCopy as CopyIcon, FiDownload as DownloadFileIcon, FiFile as FileIcon, FiFileText as FileTextIcon, FiHardDrive as DiskIcon, FiRotateCcw as HistoryIcon, FiUpload as UploadIcon, FiX as XIcon, FiZap as ZapIcon } from "react-icons/fi";
|
|
@@ -35,4 +35,4 @@ function LoaderIcon({ className, ...props }) {
|
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
//#endregion
|
|
38
|
-
export { APIIcon, AccessIcon, AddIcon, AlertCircleIcon, AlertFillIcon, AlertIcon, AmazonIcon, AngleDownIcon, AngleLeftIcon, AngleRightIcon, AngleUpIcon, AnthropicIcon, AppleIcon, ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowRightStrokeIcon, ArrowUpIcon, AttachmentIcon, BucketIcon, BuildWorkflowIcon, CalendarIcon, CancelIcon, CaretDownIcon, CentOSIcon, ChartIcon, ChartZoomIcon, ChatIcon, CheckIcon, CheckMarkIcon, CheckStrokeIcon, ChevronDownIcon, ChevronDownStrokeIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChromeIcon, ClearIcon, ClipboardIcon, ClockIcon, CloseIcon, CloudIcon, CloudUploadIcon, ClusterIcon, CogIcon, CollapseIcon, ComputeIcon, ConnectIcon, CopyIcon, CostDashboardIcon, CustomizeIcon, DebianIcon, DisableCostIcon, DisableUserIcon, DiskIcon, DisplayIcon, DockerIcon, DocumentIcon, DownloadFileIcon, DownloadIcon, DragHandleIcon, DuplicateIcon, EdgeIcon, EditIcon, EditorIcon, EnableCostIcon, EnableUserIcon, EndpointIcon, ErrorCheckmark, ErrorIcon, EventsIcon, ExecuteWorkflow, ExpandIcon, ExpandVerticalIcon, ExternalLink, EyeIcon, EyeOffIcon, FailIcon, FavoriteIcon, FavoriteOutlineIcon, FeaturedIcon, FileIcon, FileSolidIcon, FileTextIcon, FilesystemIcon, FilterClearIcon, FilterIcon, FirefoxIcon, FlaskIcon, FolderIcon, FolderOpenIcon, FolderSolidIcon, FolderTreeIcon, ForbiddenIcon, ForkIcon, GearIcon, GearsIcon, GitHubIcon, GitLabIcon, GlobeIcon, GridIcon, HealthMonitoringIcon, HelmIcon, HiddenFalseIcon, HiddenTrueIcon, HistoryIcon, HomeIcon, IdCardIcon, ImageIcon, ImageSolidIcon, ImpersonateIcon, InboxIcon, InfoCircleIcon, InfoIcon, InfrastructureLayersIcon, InstallIcon, IpAddressIcon, JsonIcon, KeyIcon, KubernetesIcon, KubernetesNamespaceIcon, LanguageIcon, LicenseIcon, LinkIcon, LinkedInIcon, LinuxIcon, LoaderIcon, LockIcon, MFA, MailIcon, MarketplaceIcon, MegaphoneIcon, MenuIcon, MinimizeIcon, MlIcon, MoneyIcon, MonitorIcon, MoonIcon, MoreIcon, MusicIcon, MuteIcon, NewChatIcon, NewWindowIcon, NotRunningIcon, NotificationFillIcon, NotificationInboxIcon, OIDCIcon, OpenAIIcon, OpenInNewGraphIcon, OperaIcon, OrganizationIcon, PartnerIcon, PasswordIcon, PauseIcon, PdfIcon, PdfSolidIcon, PieChartIcon, PinFilledIcon, PinIcon, PlusOutlineIcon, PowerIcon, PowershellIcon, PrintIcon, PublishIcon, QRCodeIcon, QuotaIcon, RedHatIcon, RefreshArrowsIcon, RefreshIcon, ReplayIcon, ResourceGroupIcon, RetryIcon, RobotIcon, RollbackIcon, RunWorkflowIcon, RunningIcon, SafariIcon, SaveIcon, SchedulerIcon, SearchIcon, SearchOutlineIcon, ServerIcon, SettingsIcon, ShareIcon, SharingIcon, ShieldAltIcon, ShieldIcon, ShieldOutlineIcon, ShrinkIcon, SidebarCloseIcon, SidebarIcon, SidebarOpenIcon, SignOutIcon, SkipIcon, SlackIcon, SnapshotIcon, SortDownIcon, SortUnsortedIcon, SortUpIcon, SparklesIcon, SplitIcon, SpreadsheetIcon, StartIcon, StopIcon, StopSolidIcon, StorageIcon, SubdomainIcon, SuccessCheckmark, SuccessIcon, SunIcon, SuseIcon, TerminalIcon, ThinkingIcon, TimesIcon, TooltipIcon, TrashIcon, TunnelIcon, UbuntuIcon, UnfavoriteIcon, UnmuteIcon, UploadIcon, UserGuideIcon, UserIcon, UserWorkspaceFillIcon, UserWorkspaceIcon, UsersIcon, VideoIcon, WarningIcon, WarningTriangleIcon, WindowsIcon, XIcon, XStrokeIcon, XTwitterIcon, ZapIcon, ZipIcon, ZoomInIcon, ZoomOutIcon };
|
|
38
|
+
export { APIIcon, AccessIcon, AddIcon, AlertCircleIcon, AlertFillIcon, AlertIcon, AmazonIcon, AngleDownIcon, AngleLeftIcon, AngleRightIcon, AngleUpIcon, AnthropicIcon, AppleIcon, ArchiveIcon, ArrowDownIcon, ArrowLeftIcon, ArrowRightIcon, ArrowRightStrokeIcon, ArrowUpIcon, AttachmentIcon, BucketIcon, BuildWorkflowIcon, CalendarIcon, CancelIcon, CaretDownIcon, CentOSIcon, ChartIcon, ChartZoomIcon, ChatIcon, CheckIcon, CheckMarkIcon, CheckStrokeIcon, ChevronDownIcon, ChevronDownStrokeIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, ChromeIcon, ClearIcon, ClipboardIcon, ClockIcon, CloseIcon, CloudIcon, CloudUploadIcon, ClusterIcon, CogIcon, CollapseIcon, ComputeIcon, ConnectIcon, CopyIcon, CostDashboardIcon, CustomizeIcon, DebianIcon, DisableCostIcon, DisableUserIcon, DiskIcon, DisplayIcon, DockerIcon, DocumentIcon, DownloadFileIcon, DownloadIcon, DragHandleIcon, DuplicateIcon, EdgeIcon, EditIcon, EditorIcon, EnableCostIcon, EnableUserIcon, EndpointIcon, ErrorCheckmark, ErrorIcon, EventsIcon, ExecuteWorkflow, ExpandIcon, ExpandVerticalIcon, ExternalLink, EyeIcon, EyeOffIcon, FailIcon, FavoriteIcon, FavoriteOutlineIcon, FeaturedIcon, FileIcon, FileSolidIcon, FileTextIcon, FilesystemIcon, FilterClearIcon, FilterIcon, FirefoxIcon, FlaskIcon, FolderIcon, FolderOpenIcon, FolderSolidIcon, FolderTreeIcon, ForbiddenIcon, ForkIcon, GearIcon, GearsIcon, GitHubIcon, GitLabIcon, GlobeIcon, GridIcon, HealthMonitoringIcon, HelmIcon, HiddenFalseIcon, HiddenTrueIcon, HistoryIcon, HomeIcon, IdCardIcon, ImageIcon, ImageSolidIcon, ImpersonateIcon, InboxIcon, InfoCircleIcon, InfoIcon, InfrastructureLayersIcon, InstallIcon, IpAddressIcon, JsonIcon, KeyIcon, KubernetesIcon, KubernetesNamespaceIcon, LanguageIcon, LicenseIcon, LinkIcon, LinkedInIcon, LinuxIcon, LoaderIcon, LockIcon, MFA, MailIcon, MarketplaceIcon, MegaphoneIcon, MenuIcon, MinimizeIcon, MlIcon, MoneyIcon, MonitorIcon, MoonIcon, MoreIcon, MusicIcon, MuteIcon, NewChatIcon, NewWindowIcon, NotRunningIcon, NotificationFillIcon, NotificationInboxIcon, OIDCIcon, OpenAIIcon, OpenInNewGraphIcon, OperaIcon, OrganizationIcon, PartnerIcon, PasswordIcon, PauseIcon, PdfIcon, PdfSolidIcon, PieChartIcon, PinFilledIcon, PinIcon, PlusOutlineIcon, PowerIcon, PowershellIcon, PrintIcon, PublishIcon, QRCodeIcon, QuotaIcon, RedHatIcon, RefreshArrowsIcon, RefreshIcon, ReplayIcon, ResourceGroupIcon, RetryIcon, RobotIcon, RollbackIcon, RunWorkflowIcon, RunningIcon, SafariIcon, SaveIcon, SchedulerIcon, SearchIcon, SearchOutlineIcon, ServerIcon, SettingsIcon, ShareIcon, SharingIcon, ShieldAltIcon, ShieldIcon, ShieldOutlineIcon, ShrinkIcon, SidebarCloseIcon, SidebarIcon, SidebarOpenIcon, SignOutIcon, SkipIcon, SlackIcon, SnapshotIcon, SortDownIcon, SortUnsortedIcon, SortUpIcon, SparklesIcon, SplitIcon, SpreadsheetIcon, StartIcon, StopCircleIcon, StopIcon, StopSolidIcon, StorageIcon, SubdomainIcon, SuccessCheckmark, SuccessIcon, SunIcon, SuseIcon, TerminalIcon, ThinkingIcon, TimesIcon, TooltipIcon, TrashIcon, TunnelIcon, UbuntuIcon, UnfavoriteIcon, UnmuteIcon, UploadIcon, UserGuideIcon, UserIcon, UserWorkspaceFillIcon, UserWorkspaceIcon, UsersIcon, VideoIcon, WarningIcon, WarningTriangleIcon, WindowsIcon, XIcon, XStrokeIcon, XTwitterIcon, ZapIcon, ZipIcon, ZoomInIcon, ZoomOutIcon };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from './theme/index.js';
|
|
2
|
+
export { Avatar, avatarInitials, type AvatarProps, type AvatarSize, type AvatarStatus, } from './components/Avatar.js';
|
|
2
3
|
export { default as Callout } from './components/Callout.js';
|
|
3
4
|
export { default as CopyToClipboard } from './components/CopyToClipboard.js';
|
|
4
5
|
export { CopyCodeBlock } from './components/CopyToClipboard.js';
|
|
@@ -21,7 +22,7 @@ export { AddMenu, type HeaderAddMenuItem } from './components/AddMenu.js';
|
|
|
21
22
|
export { dangerButtonClasses, ghostButtonClasses, primaryButtonClasses, } from './components/ghostButton.js';
|
|
22
23
|
export { default as MultiSelectDropdown } from './components/MultiSelect.js';
|
|
23
24
|
export { Overview } from './components/Overview.js';
|
|
24
|
-
export { UIProvider, useNavigation, useNotify, usePersistedState, useProvisionCorsRules, useRepoSuggestions, useRunFile, useSlots, useStrings, useWorkflowJsonResolver, type PersistedStateHook, type RunFileResult, type WorkflowJsonRef, type UIData, type UINavigation, type UINotify, type UISlots, type UIStrings, } from './components/Provider.js';
|
|
25
|
+
export { UIProvider, useNavigation, useNotify, usePersistedState, useProvisionCorsRules, useRepoSuggestions, useRunFile, useSlots, useStrings, useWorkflowJsonResolver, type PersistedStateHook, type RunFileResult, type WorkflowJsonRef, type UIData, type UILinkComponent, type UINavigation, type UINotify, type UISlots, type UIStrings, } from './components/Provider.js';
|
|
25
26
|
export { useCssIsDark } from './components/useCssIsDark.js';
|
|
26
27
|
export { Indicator } from './components/Indicator.js';
|
|
27
28
|
export { ControlledCollapsiblePanel, MaybeCollapsible, UncontrolledCollapsiblePanel, } from './components/CollapsiblePanel.js';
|
package/dist/index.js
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import { DEFAULT_PRESET, THEME_PRESETS, THEME_TOKENS, applyTheme, contrastRatio, deriveTheme, isDarkColor } from "./theme/index.js";
|
|
2
|
+
import { a as usePersistedState, c as useRunFile, d as useWorkflowJsonResolver, i as useNotify, l as useSlots, n as useLink, o as useProvisionCorsRules, r as useNavigation, s as useRepoSuggestions, t as UIProvider, u as useStrings } from "./chunks/Provider-Ghua9PkN.js";
|
|
3
|
+
import { C as useSetDefaultBreadcrumbs, E as avatarInitials, S as useSetBreadcrumbs, T as Avatar, a as HeaderAddButton, b as useClearBreadcrumbs, c as PageHeader, i as HeaderActionMenu, l as headerActionButtonClasses, n as BreadcrumbsRightAction, o as HeaderEditButton, r as BreadcrumbsTitleAction, s as HeaderRowMenu, t as BreadcrumbsActionButton, v as BreadcrumbProvider, w as AddMenu, x as useHideBreadcrumbs, y as useBreadcrumb } from "./chunks/PageHeader-l49p1nM9.js";
|
|
2
4
|
import { AlertIcon, AngleRightIcon, EyeIcon, EyeOffIcon, FilterIcon, LoaderIcon, SortDownIcon, SortUnsortedIcon, SortUpIcon } from "./icons.js";
|
|
3
|
-
import { a as CreateModalSelect, c as ConfirmModal, d as primaryButtonClasses, f as Markdown, h as Callout, i as CreateModalField, l as dangerButtonClasses, m as CopyToClipboard, n as CreateModal, o as CreateModalSwitch, p as CopyCodeBlock, r as CreateModalAutocompleteField, s as CreateModalTextarea, t as CREATE_MODAL_SELECT_FILTER_THRESHOLD, u as ghostButtonClasses } from "./chunks/CreateModal-
|
|
4
|
-
import { a as
|
|
5
|
-
import { a as truncationTooltipProps, i as formatTooltipContent, n as TOOLTIP_ID, r as TooltipInfo, t as GlobalTooltip } from "./chunks/Tooltip-n9w7Tkt1.js";
|
|
5
|
+
import { a as CreateModalSelect, c as ConfirmModal, d as primaryButtonClasses, f as Markdown, h as Callout, i as CreateModalField, l as dangerButtonClasses, m as CopyToClipboard, n as CreateModal, o as CreateModalSwitch, p as CopyCodeBlock, r as CreateModalAutocompleteField, s as CreateModalTextarea, t as CREATE_MODAL_SELECT_FILTER_THRESHOLD, u as ghostButtonClasses } from "./chunks/CreateModal-BY6DLmur.js";
|
|
6
|
+
import { a as truncationTooltipProps, i as formatTooltipContent, n as TOOLTIP_ID, r as TooltipInfo, t as GlobalTooltip } from "./chunks/Tooltip-Crxo_eU_.js";
|
|
6
7
|
import { a as filterOption, c as isCategory, i as DropdownCaret, l as isOption, n as StatusDot, r as statusTextClass, s as flattenOptions, t as StatusBadge, u as toggleSetMember } from "./chunks/StatusBadge-C1Blx_cW.js";
|
|
7
|
-
import { a as UncontrolledCollapsiblePanel, c as Dropdown, i as MaybeCollapsible, n as SectionHeader, o as MultiSelectDropdown, r as ControlledCollapsiblePanel, s as CustomListbox, t as SwitchToggle } from "./chunks/SwitchToggle-
|
|
8
|
+
import { a as UncontrolledCollapsiblePanel, c as Dropdown, i as MaybeCollapsible, n as SectionHeader, o as MultiSelectDropdown, r as ControlledCollapsiblePanel, s as CustomListbox, t as SwitchToggle } from "./chunks/SwitchToggle-CHPP8uZQ.js";
|
|
8
9
|
import { t as Loader } from "./chunks/Loader-BXoXTZGc.js";
|
|
9
|
-
import { n as modalPanelClasses, t as BareModal } from "./chunks/BareModal-
|
|
10
|
-
import { C as useSetDefaultBreadcrumbs, S as useSetBreadcrumbs, a as HeaderAddButton, b as useClearBreadcrumbs, c as PageHeader, i as HeaderActionMenu, l as headerActionButtonClasses, n as BreadcrumbsRightAction, o as HeaderEditButton, r as BreadcrumbsTitleAction, s as HeaderRowMenu, t as BreadcrumbsActionButton, v as BreadcrumbProvider, w as AddMenu, x as useHideBreadcrumbs, y as useBreadcrumb } from "./chunks/PageHeader-MxuOs9cH.js";
|
|
10
|
+
import { n as modalPanelClasses, t as BareModal } from "./chunks/BareModal-BtRiQezg.js";
|
|
11
11
|
import { t as useCssIsDark } from "./chunks/useCssIsDark-DHr05dG2.js";
|
|
12
12
|
import { t as Indicator } from "./chunks/Indicator-hBSIxOPK.js";
|
|
13
13
|
import { t as SwitchToggleSmall } from "./chunks/SwitchToggleSmall-FcsaYSTs.js";
|
|
14
|
-
import { n as Table, t as CompactTable } from "./chunks/Table-
|
|
14
|
+
import { n as Table, t as CompactTable } from "./chunks/Table-4OHjdKdO.js";
|
|
15
15
|
import { t as RequiredMark } from "./chunks/RequiredMark-DfLdYbYZ.js";
|
|
16
16
|
import cx from "classnames";
|
|
17
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
18
17
|
import React, { forwardRef, useEffect, useId, useState } from "react";
|
|
18
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
19
19
|
import Skeleton from "react-loading-skeleton";
|
|
20
20
|
import { DateTime } from "luxon";
|
|
21
21
|
//#region src/components/DescriptionList.tsx
|
|
22
22
|
function DescriptionListItem({ label, children, tooltip, className, ...props }) {
|
|
23
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs("dt", {
|
|
23
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs("dt", {
|
|
24
24
|
className: cx("text-[13px] leading-6 col-span-1 font-normal flex gap-1", className),
|
|
25
25
|
children: [/* @__PURE__ */ jsx("span", {
|
|
26
26
|
className: "min-w-0 truncate",
|
|
@@ -95,7 +95,7 @@ function Overview({ Icon, name, type, children, right, className, loading, iconS
|
|
|
95
95
|
children: loading ? /* @__PURE__ */ jsx(Skeleton, {
|
|
96
96
|
count: 2,
|
|
97
97
|
height: 12
|
|
98
|
-
}) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
98
|
+
}) : /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
99
99
|
/* @__PURE__ */ jsx("div", {
|
|
100
100
|
className: "font-semibold text-xl tracking-tight",
|
|
101
101
|
children: name
|
|
@@ -164,7 +164,7 @@ var Button = forwardRef(({ children, variant = "primary", size = "default", load
|
|
|
164
164
|
disabled: disabled || loading,
|
|
165
165
|
className: cx(baseClasses, variantClasses[variant], sizeClasses[size], widthClass, className),
|
|
166
166
|
...props,
|
|
167
|
-
children: loading ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(LoaderIcon, { className: "size-[18px]" }), children] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
167
|
+
children: loading ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(LoaderIcon, { className: "size-[18px]" }), children] }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
168
168
|
icon && iconPosition === "left" && /* @__PURE__ */ jsx("span", {
|
|
169
169
|
className: "flex items-center",
|
|
170
170
|
children: icon
|
|
@@ -182,7 +182,7 @@ function MethodButton({ icon, label, description, href, loading, disabled, class
|
|
|
182
182
|
const Link = useLink();
|
|
183
183
|
const baseClasses = "flex items-center w-full p-4 bg-[var(--theme-muted-panel-bg)] border border-[var(--theme-border)] rounded-xl text-[var(--theme-app)] text-[0.9375rem] font-medium cursor-pointer transition-all duration-200 no-underline mb-3 last:mb-0 hover:bg-[var(--theme-border)] hover:border-[var(--theme-muted-text-color)] hover:-translate-y-0.5 active:translate-y-0";
|
|
184
184
|
const disabledClasses = "disabled:opacity-60 disabled:cursor-not-allowed disabled:hover:bg-[var(--ds-muted)] disabled:hover:border-[var(--ds-border)] disabled:hover:translate-y-0";
|
|
185
|
-
const content = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
185
|
+
const content = /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
186
186
|
icon && /* @__PURE__ */ jsx("span", {
|
|
187
187
|
className: "size-10 rounded-lg bg-gradient-to-br from-[var(--gradient-start,var(--theme-element))] to-[var(--gradient-mid,var(--theme-link))] flex items-center justify-center shrink-0 mr-4 [&_svg]:size-5 [&_svg]:text-white",
|
|
188
188
|
children: icon
|
|
@@ -597,4 +597,4 @@ function SettingModeOption({ name, checked, onSelect, label, description, isFirs
|
|
|
597
597
|
});
|
|
598
598
|
}
|
|
599
599
|
//#endregion
|
|
600
|
-
export { AddMenu, BareModal, BreadcrumbProvider, BreadcrumbsActionButton, BreadcrumbsRightAction, BreadcrumbsTitleAction, Button, CREATE_MODAL_SELECT_FILTER_THRESHOLD, Callout, Card, CardHeader, CompactTable, ConfirmModal, ControlledCollapsiblePanel, CopyCodeBlock, CopyToClipboard, CreateModal, CreateModalAutocompleteField, CreateModalField, CreateModalSelect, CreateModalSwitch, CreateModalTextarea, CustomListbox, DEFAULT_PRESET, DescriptionList, DescriptionListItem, Dropdown, DropdownCaret, EmptyState, Filter, FilterPill, GlobalTooltip, HeaderActionMenu, HeaderAddButton, HeaderEditButton, HeaderRowMenu, IconButton, Indicator, Input, LetterBadge, Loader, Markdown, MaybeCollapsible, MethodButton, MultiSelectDropdown, Overview, PageHeader, Pagination, RequiredMark, SectionHeader, SettingModeOption, SettingRow, SettingSection, SettingsCard, SettingsGroup, Sort, StatusBadge, StatusDot, SwitchToggle, SwitchToggleSmall, THEME_PRESETS, THEME_TOKENS, TOOLTIP_ID, Table, Textarea, Toggle, TooltipInfo, UIProvider, UncontrolledCollapsiblePanel, applyTheme, contrastRatio, dangerButtonClasses, deriveTheme, filterOption, flattenOptions, formatTooltipContent, ghostButtonClasses, headerActionButtonClasses, inputClasses, isCategory, isDarkColor, isOption, modalPanelClasses, primaryButtonClasses, statusTextClass, toggleSetMember, truncationTooltipProps, useBreadcrumb, useClearBreadcrumbs, useCssIsDark, useHideBreadcrumbs, useNavigation, useNotify, usePersistedState, useProvisionCorsRules, useRelativeTime, useRepoSuggestions, useRunFile, useSetBreadcrumbs, useSetDefaultBreadcrumbs, useSlots, useStrings, useWorkflowJsonResolver };
|
|
600
|
+
export { AddMenu, Avatar, BareModal, BreadcrumbProvider, BreadcrumbsActionButton, BreadcrumbsRightAction, BreadcrumbsTitleAction, Button, CREATE_MODAL_SELECT_FILTER_THRESHOLD, Callout, Card, CardHeader, CompactTable, ConfirmModal, ControlledCollapsiblePanel, CopyCodeBlock, CopyToClipboard, CreateModal, CreateModalAutocompleteField, CreateModalField, CreateModalSelect, CreateModalSwitch, CreateModalTextarea, CustomListbox, DEFAULT_PRESET, DescriptionList, DescriptionListItem, Dropdown, DropdownCaret, EmptyState, Filter, FilterPill, GlobalTooltip, HeaderActionMenu, HeaderAddButton, HeaderEditButton, HeaderRowMenu, IconButton, Indicator, Input, LetterBadge, Loader, Markdown, MaybeCollapsible, MethodButton, MultiSelectDropdown, Overview, PageHeader, Pagination, RequiredMark, SectionHeader, SettingModeOption, SettingRow, SettingSection, SettingsCard, SettingsGroup, Sort, StatusBadge, StatusDot, SwitchToggle, SwitchToggleSmall, THEME_PRESETS, THEME_TOKENS, TOOLTIP_ID, Table, Textarea, Toggle, TooltipInfo, UIProvider, UncontrolledCollapsiblePanel, applyTheme, avatarInitials, contrastRatio, dangerButtonClasses, deriveTheme, filterOption, flattenOptions, formatTooltipContent, ghostButtonClasses, headerActionButtonClasses, inputClasses, isCategory, isDarkColor, isOption, modalPanelClasses, primaryButtonClasses, statusTextClass, toggleSetMember, truncationTooltipProps, useBreadcrumb, useClearBreadcrumbs, useCssIsDark, useHideBreadcrumbs, useNavigation, useNotify, usePersistedState, useProvisionCorsRules, useRelativeTime, useRepoSuggestions, useRunFile, useSetBreadcrumbs, useSetDefaultBreadcrumbs, useSlots, useStrings, useWorkflowJsonResolver };
|
|
@@ -5,6 +5,8 @@ export type RowMenuItem = {
|
|
|
5
5
|
to: string;
|
|
6
6
|
icon?: ReactNode;
|
|
7
7
|
destructive?: boolean | undefined;
|
|
8
|
+
/** Load the page instead of routing, for paths this app doesn't serve. */
|
|
9
|
+
reloadDocument?: boolean | undefined;
|
|
8
10
|
} | {
|
|
9
11
|
kind: 'action';
|
|
10
12
|
label: string;
|
|
@@ -17,7 +19,7 @@ export type RowMenuItem = {
|
|
|
17
19
|
/** Trailing checkmark, e.g. the active option in a radio-style submenu. */
|
|
18
20
|
selected?: boolean;
|
|
19
21
|
/** Declarative clipboard copy: the menu performs it and notifies, so
|
|
20
|
-
* builders like
|
|
22
|
+
* builders like useCopySubmenu need no toast or clipboard access. */
|
|
21
23
|
copy?: {
|
|
22
24
|
text: string;
|
|
23
25
|
label: string;
|
|
@@ -75,7 +77,7 @@ export declare function assembleRowMenu({ lead, actions, exclude, order, trailin
|
|
|
75
77
|
trailing?: string[];
|
|
76
78
|
/** Items inserted after the middle actions and before Copy, e.g. a marketplace link. */
|
|
77
79
|
extra?: RowMenuItem[];
|
|
78
|
-
/** The Copy submenu from `
|
|
80
|
+
/** The Copy submenu from `useCopySubmenu()`. */
|
|
79
81
|
copy?: RowMenuItem | undefined;
|
|
80
82
|
}): RowMenuItem[];
|
|
81
83
|
export declare function useRowMenu(zClassName?: string): {
|
|
@@ -90,11 +92,7 @@ export declare function useRowMenuActive(openMenu: OpenMenu): {
|
|
|
90
92
|
export declare function rowContextMenuProps(openMenu: OpenMenu, items: RowMenuItem[]): {
|
|
91
93
|
onContextMenu: (e: ReactMouseEvent) => void;
|
|
92
94
|
};
|
|
93
|
-
|
|
94
|
-
* order. The menu itself performs the copy and notifies; `t` is an optional
|
|
95
|
-
* host translator for the field labels (falls back to the provider defaults'
|
|
96
|
-
* English). */
|
|
97
|
-
export declare function copySubmenu({ name, nameLabel, email, username, uid, id, url, extra, t, }: {
|
|
95
|
+
export interface CopyFields {
|
|
98
96
|
name?: string | null | undefined;
|
|
99
97
|
/** Overrides the "name" label (raw, pre-translated) for entities whose primary field isn't a name, e.g. "domain". */
|
|
100
98
|
nameLabel?: string;
|
|
@@ -108,8 +106,10 @@ export declare function copySubmenu({ name, nameLabel, email, username, uid, id,
|
|
|
108
106
|
value?: string | null | undefined;
|
|
109
107
|
icon?: ReactNode;
|
|
110
108
|
}[] | undefined;
|
|
111
|
-
|
|
112
|
-
|
|
109
|
+
}
|
|
110
|
+
export type CopySubmenu = (fields: CopyFields) => RowMenuItem;
|
|
111
|
+
/** Returns a builder for the Copy submenu, labeled from the provider's strings. */
|
|
112
|
+
export declare function useCopySubmenu(): CopySubmenu;
|
|
113
113
|
/** Stays visible while active (menu open) so it doesn't vanish behind the overlay. */
|
|
114
114
|
export declare function MoreButton({ onOpen, active, className, }: {
|
|
115
115
|
onOpen: (x: number, y: number) => void;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { type UILinkComponent } from '../components/Provider.js';
|
|
3
|
+
/** Where an open hover card sits, and the handlers that keep it open. */
|
|
4
|
+
export interface HoverCardPlacement {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
onKeepOpen: () => void;
|
|
8
|
+
onLeave: () => void;
|
|
9
|
+
}
|
|
10
|
+
/** Opens `card` after a short hover or on focus of `children`. */
|
|
11
|
+
export declare function HoverCardTrigger({ className, children, card, }: {
|
|
12
|
+
className?: string | undefined;
|
|
13
|
+
children: ReactNode;
|
|
14
|
+
card: (placement: HoverCardPlacement) => ReactNode;
|
|
15
|
+
}): import("react").JSX.Element;
|
|
16
|
+
export interface UserHoverCardProps extends HoverCardPlacement {
|
|
17
|
+
username: string;
|
|
18
|
+
/** Display name; falls back to the username. */
|
|
19
|
+
name?: string | null | undefined;
|
|
20
|
+
avatarSrc?: string | null | undefined;
|
|
21
|
+
/** Short badge beside the name, such as the user's role. */
|
|
22
|
+
badge?: ReactNode;
|
|
23
|
+
/** Profile link for the card's header; absent renders the header unlinked. */
|
|
24
|
+
href?: string | undefined;
|
|
25
|
+
/** Overrides the provider's link slot for the header link. */
|
|
26
|
+
linkComponent?: UILinkComponent | undefined;
|
|
27
|
+
/** Shows placeholder detail lines while the profile loads. */
|
|
28
|
+
loading?: boolean | undefined;
|
|
29
|
+
/** Re-measures the card's position when this changes. */
|
|
30
|
+
relayoutKey?: unknown;
|
|
31
|
+
/** Detail lines, usually `HoverCardRow`s, below the header. */
|
|
32
|
+
children?: ReactNode;
|
|
33
|
+
}
|
|
34
|
+
export declare function UserHoverCard({ x, y, onKeepOpen, onLeave, username, name, avatarSrc, badge, href, linkComponent, loading, relayoutKey, children, }: UserHoverCardProps): import("react").JSX.Element;
|
|
35
|
+
/** One detail line of a hover card: a leading icon and its content. With
|
|
36
|
+
* `onClick` the line is a button. */
|
|
37
|
+
export declare function HoverCardRow({ icon, children, title, align, truncate, onClick, }: {
|
|
38
|
+
icon: ReactNode;
|
|
39
|
+
children: ReactNode;
|
|
40
|
+
title?: string | undefined;
|
|
41
|
+
/** `start` pins the icon to the first line of wrapping content. */
|
|
42
|
+
align?: 'center' | 'start' | undefined;
|
|
43
|
+
truncate?: boolean | undefined;
|
|
44
|
+
onClick?: (() => void) | undefined;
|
|
45
|
+
}): import("react").JSX.Element;
|
package/dist/list/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export { ActionToolbar, stickyTabsClasses, stickyTabsUnderHeaderClasses, stickyToolbarClasses, ToolbarButton, type ToolbarAction, type ToolbarItem, } from './ActionToolbar.js';
|
|
2
2
|
export { ListColumns, ListPage, ListRow, ListRowActionsProvider, useListNavigate, type ListPageProps, type ListSection, type PinnedRowAction, } from './ListPage.js';
|
|
3
|
-
export { assembleRowMenu,
|
|
3
|
+
export { assembleRowMenu, MoreButton, rowContextMenuProps, toolbarActionToRowAction, toRowMenuItem, useCopySubmenu, useRowMenu, useRowMenuActive, type CopyFields, type CopySubmenu, type OpenMenu, type RowAction, type RowMenuItem, } from './RowContextMenu.js';
|
|
4
4
|
export { actionsColumnWidth, GroupRow, ListActionsHeader, ListError, ListSkeleton, listTableFixedProps, listTableProps, NAME_MIN_WIDTH_PX, NameCell, RowSelectCheckbox, } from './ListTable.js';
|
|
5
5
|
export { DEFAULT_ORDER, FAVORITE_ORDER, useListView, type ActionDef, type ColumnDef, type FilterFacet, type ListView, type ListViewChrome, type ListViewConfig, type OrderByOption, } from './listView.js';
|
|
6
6
|
export { ListCount, ListSearchControl, useListSearch, type ListSearch, } from './listSearch.js';
|
|
7
7
|
export { listControlButtonClasses, ListDisplayMenu, ListFilterMenu, } from './ListViewControls.js';
|
|
8
8
|
export { LIST_PAGE_SIZES, ListPager } from './ListPager.js';
|
|
9
9
|
export { HoverCardSurface, useHoverCard } from './HoverCard.js';
|
|
10
|
+
export { HoverCardRow, HoverCardTrigger, UserHoverCard, type HoverCardPlacement, type UserHoverCardProps, } from './UserHoverCard.js';
|
|
10
11
|
export { isTextEntryContext } from './textEntry.js';
|
package/dist/list/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { _ as useRowMenuActive, d as assembleRowMenu, f as
|
|
2
|
-
import { A as
|
|
3
|
-
export { ActionToolbar, DEFAULT_ORDER, FAVORITE_ORDER, GroupRow, HoverCardSurface, LIST_PAGE_SIZES, ListActionsHeader, ListColumns, ListCount, ListDisplayMenu, ListError, ListFilterMenu, ListPage, ListPager, ListRow, ListRowActionsProvider, ListSearchControl, ListSkeleton, MoreButton, NAME_MIN_WIDTH_PX, NameCell, RowSelectCheckbox, ToolbarButton, actionsColumnWidth, assembleRowMenu,
|
|
1
|
+
import { _ as useRowMenuActive, d as assembleRowMenu, f as rowContextMenuProps, g as useRowMenu, h as useCopySubmenu, m as toolbarActionToRowAction, p as toRowMenuItem, u as MoreButton } from "../chunks/PageHeader-l49p1nM9.js";
|
|
2
|
+
import { A as actionsColumnWidth, C as GroupRow, D as NAME_MIN_WIDTH_PX, E as ListSkeleton, F as stickyTabsClasses, I as stickyTabsUnderHeaderClasses, L as stickyToolbarClasses, M as listTableProps, N as ActionToolbar, O as NameCell, P as ToolbarButton, S as useListNavigate, T as ListError, _ as useListView, a as useHoverCard, b as ListRow, c as ListCount, d as ListDisplayMenu, f as ListFilterMenu, g as FAVORITE_ORDER, h as DEFAULT_ORDER, i as HoverCardSurface, j as listTableFixedProps, k as RowSelectCheckbox, l as ListSearchControl, m as isTextEntryContext, n as HoverCardTrigger, o as LIST_PAGE_SIZES, p as listControlButtonClasses, r as UserHoverCard, s as ListPager, t as HoverCardRow, u as useListSearch, v as ListColumns, w as ListActionsHeader, x as ListRowActionsProvider, y as ListPage } from "../chunks/list-qrojZZNv.js";
|
|
3
|
+
export { ActionToolbar, DEFAULT_ORDER, FAVORITE_ORDER, GroupRow, HoverCardRow, HoverCardSurface, HoverCardTrigger, LIST_PAGE_SIZES, ListActionsHeader, ListColumns, ListCount, ListDisplayMenu, ListError, ListFilterMenu, ListPage, ListPager, ListRow, ListRowActionsProvider, ListSearchControl, ListSkeleton, MoreButton, NAME_MIN_WIDTH_PX, NameCell, RowSelectCheckbox, ToolbarButton, UserHoverCard, actionsColumnWidth, assembleRowMenu, isTextEntryContext, listControlButtonClasses, listTableFixedProps, listTableProps, rowContextMenuProps, stickyTabsClasses, stickyTabsUnderHeaderClasses, stickyToolbarClasses, toRowMenuItem, toolbarActionToRowAction, useCopySubmenu, useHoverCard, useListNavigate, useListSearch, useListView, useRowMenu, useRowMenuActive };
|
package/dist/logviewer/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
+
import { i as useNotify, u as useStrings } from "../chunks/Provider-Ghua9PkN.js";
|
|
1
2
|
import { ArrowDownIcon, ArrowUpIcon, CheckIcon, ChevronDownIcon, ChevronRightIcon, ClockIcon, CopyIcon, DownloadIcon, ExpandIcon, ShrinkIcon, XIcon } from "../icons.js";
|
|
2
|
-
import {
|
|
3
|
-
import { r as TooltipInfo } from "../chunks/Tooltip-n9w7Tkt1.js";
|
|
3
|
+
import { r as TooltipInfo } from "../chunks/Tooltip-Crxo_eU_.js";
|
|
4
4
|
import cx from "classnames";
|
|
5
|
-
import { Fragment,
|
|
6
|
-
import { Fragment as Fragment$1,
|
|
5
|
+
import { Fragment, memo, useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
6
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
import { DateTime } from "luxon";
|
|
8
8
|
import { highlightSegments, parseAnsiSegments, plainSegments, processLinesWithCommands } from "@parallelworks/workflow-parser";
|
|
9
9
|
//#region src/logviewer/LogViewer.tsx
|
|
@@ -14,7 +14,7 @@ function LogSegments({ segments }) {
|
|
|
14
14
|
}, i) : segment.className ? /* @__PURE__ */ jsx("span", {
|
|
15
15
|
className: segment.className,
|
|
16
16
|
children: segment.content
|
|
17
|
-
}, i) : /* @__PURE__ */ jsx(Fragment
|
|
17
|
+
}, i) : /* @__PURE__ */ jsx(Fragment, { children: segment.content }, i));
|
|
18
18
|
}
|
|
19
19
|
var LogLine = memo(function LogLine({ index, segments, lineNumbers, isSelected, lineHeight, onLineClick, searchTerm, command, groupDepth = 0, isGroupCollapsed, onGroupToggle, annotationLabels }) {
|
|
20
20
|
const displaySegments = useMemo(() => highlightSegments(command?.message ? plainSegments(command.message) : segments, searchTerm), [
|
|
@@ -521,7 +521,7 @@ function LogViewer({ log, height = "unset", width, roundedBottom = false, lineNu
|
|
|
521
521
|
/* @__PURE__ */ jsxs("div", {
|
|
522
522
|
className: "flex gap-x-2 w-full",
|
|
523
523
|
children: [
|
|
524
|
-
!inline && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs("button", {
|
|
524
|
+
!inline && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs("button", {
|
|
525
525
|
type: "button",
|
|
526
526
|
className: "btn btn-neutral",
|
|
527
527
|
onClick: () => {
|
|
@@ -723,7 +723,7 @@ function LogViewer({ log, height = "unset", width, roundedBottom = false, lineNu
|
|
|
723
723
|
transform: "translateX(-50%)"
|
|
724
724
|
},
|
|
725
725
|
onClick: copyHighlightedText,
|
|
726
|
-
children: copied ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(CheckIcon, { className: "text-green-500 w-3.5 h-3.5" }), /* @__PURE__ */ jsx("span", { children: tCommon.copied })] }) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(CopyIcon, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ jsx("span", { children: tCommon.copy })] })
|
|
726
|
+
children: copied ? /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(CheckIcon, { className: "text-green-500 w-3.5 h-3.5" }), /* @__PURE__ */ jsx("span", { children: tCommon.copied })] }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(CopyIcon, { className: "w-3.5 h-3.5" }), /* @__PURE__ */ jsx("span", { children: tCommon.copy })] })
|
|
727
727
|
}),
|
|
728
728
|
(additionalBottomLeftBarComponents || additionalBottomRightBarComponents) && /* @__PURE__ */ jsxs("div", {
|
|
729
729
|
className: cx("flex theme-panel select-none items-center gap-x-2 p-2"),
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/* Page defaults and native controls, kept out of theme.css so package
|
|
2
|
+
* entries can import them into their own cascade layer (theme.css's @utility
|
|
3
|
+
* rules cannot be layered). Base layer so utilities still win. */
|
|
4
|
+
@layer base {
|
|
5
|
+
body {
|
|
6
|
+
font-family: var(--font-sans);
|
|
7
|
+
-webkit-font-smoothing: antialiased;
|
|
8
|
+
-moz-osx-font-smoothing: grayscale;
|
|
9
|
+
color: var(--theme-app);
|
|
10
|
+
background-color: var(--theme-app-bg);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
*,
|
|
14
|
+
::after,
|
|
15
|
+
::before,
|
|
16
|
+
::backdrop,
|
|
17
|
+
::file-selector-button {
|
|
18
|
+
border-color: var(--theme-border, currentColor);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
input,
|
|
22
|
+
textarea {
|
|
23
|
+
border-radius: 0.25rem;
|
|
24
|
+
border: 1px solid var(--theme-border, #d1d5db);
|
|
25
|
+
padding: 0.25rem 0.5rem;
|
|
26
|
+
min-height: 1.25rem;
|
|
27
|
+
font-size: 14px;
|
|
28
|
+
background-color: var(--theme-input-bg, #f9fafb);
|
|
29
|
+
color: var(--theme-app, #000000);
|
|
30
|
+
}
|
|
31
|
+
input:disabled,
|
|
32
|
+
textarea:disabled,
|
|
33
|
+
input.disabled,
|
|
34
|
+
textarea.disabled {
|
|
35
|
+
cursor: not-allowed;
|
|
36
|
+
background-color: var(--theme-input-disabled-bg, #f3f4f6);
|
|
37
|
+
color: var(--theme-input-disabled-text, #9ca3af);
|
|
38
|
+
}
|
|
39
|
+
.form-label,
|
|
40
|
+
.form-label-compact,
|
|
41
|
+
.form-label-top {
|
|
42
|
+
display: flex;
|
|
43
|
+
align-items: center;
|
|
44
|
+
gap: 0.25rem;
|
|
45
|
+
flex-shrink: 0;
|
|
46
|
+
font-weight: 300;
|
|
47
|
+
height: 34px;
|
|
48
|
+
width: 13rem;
|
|
49
|
+
}
|
|
50
|
+
.form-label-compact {
|
|
51
|
+
width: fit-content;
|
|
52
|
+
margin-right: 0.5rem;
|
|
53
|
+
}
|
|
54
|
+
.form-label-top {
|
|
55
|
+
height: 20px;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
@font-face {
|
|
2
|
+
font-family: 'Geist Sans';
|
|
3
|
+
src: url('./Geist-Variable.woff2') format('woff2');
|
|
4
|
+
font-weight: 100 900;
|
|
5
|
+
font-style: normal;
|
|
6
|
+
font-display: swap;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
@font-face {
|
|
10
|
+
font-family: 'Geist Mono';
|
|
11
|
+
src: url('./GeistMono-Variable.woff2') format('woff2');
|
|
12
|
+
font-weight: 100 900;
|
|
13
|
+
font-style: normal;
|
|
14
|
+
font-display: swap;
|
|
15
|
+
}
|
package/dist/styles/theme.css
CHANGED
|
@@ -237,44 +237,10 @@
|
|
|
237
237
|
}
|
|
238
238
|
}
|
|
239
239
|
|
|
240
|
-
/*
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
border-radius: 0.25rem;
|
|
247
|
-
border: 1px solid var(--theme-border, #d1d5db);
|
|
248
|
-
padding: 0.25rem 0.5rem;
|
|
249
|
-
min-height: 1.25rem;
|
|
250
|
-
font-size: 14px;
|
|
251
|
-
background-color: var(--theme-input-bg, #f9fafb);
|
|
252
|
-
color: var(--theme-app, #000000);
|
|
253
|
-
}
|
|
254
|
-
input:disabled,
|
|
255
|
-
textarea:disabled,
|
|
256
|
-
input.disabled,
|
|
257
|
-
textarea.disabled {
|
|
258
|
-
cursor: not-allowed;
|
|
259
|
-
background-color: var(--theme-input-disabled-bg, #f3f4f6);
|
|
260
|
-
color: var(--theme-input-disabled-text, #9ca3af);
|
|
261
|
-
}
|
|
262
|
-
.form-label,
|
|
263
|
-
.form-label-compact,
|
|
264
|
-
.form-label-top {
|
|
265
|
-
display: flex;
|
|
266
|
-
align-items: center;
|
|
267
|
-
gap: 0.25rem;
|
|
268
|
-
flex-shrink: 0;
|
|
269
|
-
font-weight: 300;
|
|
270
|
-
height: 34px;
|
|
271
|
-
width: 13rem;
|
|
272
|
-
}
|
|
273
|
-
.form-label-compact {
|
|
274
|
-
width: fit-content;
|
|
275
|
-
margin-right: 0.5rem;
|
|
276
|
-
}
|
|
277
|
-
.form-label-top {
|
|
278
|
-
height: 20px;
|
|
279
|
-
}
|
|
240
|
+
/* Geist itself loads from fonts.css; without it these fall back to system-ui. */
|
|
241
|
+
@theme {
|
|
242
|
+
--font-geist-sans: 'Geist Sans';
|
|
243
|
+
--font-geist-mono: 'Geist Mono';
|
|
244
|
+
--font-sans: var(--font-geist-sans), system-ui, sans-serif;
|
|
245
|
+
--font-mono: var(--font-geist-mono), ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, monospace;
|
|
280
246
|
}
|