@pixerate/editor 0.174.0 → 0.175.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.
@@ -1359,6 +1359,38 @@ function createParametersEditorDocument(controller) {
1359
1359
  });
1360
1360
  }
1361
1361
 
1362
+ // src/parameters/theme.ts
1363
+ var parameterThemeStyles = {
1364
+ input: {
1365
+ backgroundColor: "var(--pixerate-parameter-input-bg, var(--background, transparent))",
1366
+ color: "var(--pixerate-parameter-input-fg, var(--foreground, currentColor))",
1367
+ borderColor: "var(--pixerate-parameter-border, var(--input, var(--border, currentColor)))"
1368
+ },
1369
+ select: {
1370
+ backgroundColor: "var(--pixerate-parameter-select-bg, var(--pixerate-parameter-input-bg, var(--background, transparent)))",
1371
+ color: "var(--pixerate-parameter-select-fg, var(--pixerate-parameter-input-fg, var(--foreground, currentColor)))",
1372
+ borderColor: "var(--pixerate-parameter-border, var(--input, var(--border, currentColor)))"
1373
+ },
1374
+ button: {
1375
+ color: "var(--pixerate-parameter-button-fg, var(--foreground, currentColor))",
1376
+ borderColor: "var(--pixerate-parameter-border, var(--input, var(--border, currentColor)))"
1377
+ },
1378
+ range: {
1379
+ accentColor: "var(--pixerate-parameter-accent, var(--primary, currentColor))"
1380
+ }
1381
+ };
1382
+ function parameterThemeStyleText(part) {
1383
+ return Object.entries(parameterThemeStyles[part]).map(([key, value]) => `${key.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`)}: ${value};`).join(" ");
1384
+ }
1385
+
1386
+ // src/parameters/options.ts
1387
+ function matchParameterOptionValue(options, value) {
1388
+ return _nullishCoalesce(_nullishCoalesce(_optionalChain([options, 'access', _22 => _22.find, 'call', _23 => _23((o) => o.value === value), 'optionalAccess', _24 => _24.value]), () => ( _optionalChain([options, 'access', _25 => _25.find, 'call', _26 => _26((o) => String(o.value) === String(value)), 'optionalAccess', _27 => _27.value]))), () => ( value));
1389
+ }
1390
+
1391
+
1392
+
1393
+
1362
1394
 
1363
1395
 
1364
1396
 
@@ -1409,4 +1441,4 @@ function createParametersEditorDocument(controller) {
1409
1441
 
1410
1442
 
1411
1443
 
1412
- exports.PARAMETER_KEY_TOLERANCE = PARAMETER_KEY_TOLERANCE; exports.ParameterSchemaError = ParameterSchemaError; exports.ParametersController = ParametersController; exports.checkParameterSchema = checkParameterSchema; exports.choiceOptionLabel = choiceOptionLabel; exports.clampParameterNumber = clampParameterNumber; exports.cloneValue = cloneValue; exports.coerceParameterValue = coerceParameterValue; exports.createParameterCommands = createParameterCommands; exports.createParameterKeyframeStore = createParameterKeyframeStore; exports.createParametersController = createParametersController; exports.createParametersEditorDocument = createParametersEditorDocument; exports.createRangeMapper = createRangeMapper; exports.evaluateParameterCondition = evaluateParameterCondition; exports.findParameterKeyframe = findParameterKeyframe; exports.formatParameterNumber = formatParameterNumber; exports.formatParameterValue = formatParameterValue; exports.getChoiceOptions = getChoiceOptions; exports.getParameterDefaults = getParameterDefaults; exports.getParameterFields = getParameterFields; exports.getParameterGroups = getParameterGroups; exports.getParameterKeyState = getParameterKeyState; exports.getParameterVisibility = getParameterVisibility; exports.hexToRgba01 = hexToRgba01; exports.humanizeParameterId = humanizeParameterId; exports.isParameterGroup = isParameterGroup; exports.isSliderField = isSliderField; exports.mapRange = mapRange; exports.normalizeHexColor = normalizeHexColor; exports.parameterDecimals = parameterDecimals; exports.parameterFieldFromShaderControl = parameterFieldFromShaderControl; exports.parameterFieldToJsonSchema = parameterFieldToJsonSchema; exports.parameterLabel = parameterLabel; exports.parameterSchemaFromShaderControls = parameterSchemaFromShaderControls; exports.parameterSchemaToJsonSchema = parameterSchemaToJsonSchema; exports.parameterStep = parameterStep; exports.parameterValueFromShaderControl = parameterValueFromShaderControl; exports.parameterValuesEqual = parameterValuesEqual; exports.parseParameterNumberInput = parseParameterNumberInput; exports.planParameterSetPlayback = planParameterSetPlayback; exports.rgba01ToHex = rgba01ToHex; exports.seededRandom = seededRandom; exports.shaderControlValue = shaderControlValue; exports.validateParameterValue = validateParameterValue; exports.validateParameterValues = validateParameterValues; exports.vectorComponentField = vectorComponentField; exports.vectorSize = vectorSize; exports.withParameterKeyframe = withParameterKeyframe; exports.withParameterPlayback = withParameterPlayback; exports.withoutParameterKeyframe = withoutParameterKeyframe;
1444
+ exports.PARAMETER_KEY_TOLERANCE = PARAMETER_KEY_TOLERANCE; exports.ParameterSchemaError = ParameterSchemaError; exports.ParametersController = ParametersController; exports.checkParameterSchema = checkParameterSchema; exports.choiceOptionLabel = choiceOptionLabel; exports.clampParameterNumber = clampParameterNumber; exports.cloneValue = cloneValue; exports.coerceParameterValue = coerceParameterValue; exports.createParameterCommands = createParameterCommands; exports.createParameterKeyframeStore = createParameterKeyframeStore; exports.createParametersController = createParametersController; exports.createParametersEditorDocument = createParametersEditorDocument; exports.createRangeMapper = createRangeMapper; exports.evaluateParameterCondition = evaluateParameterCondition; exports.findParameterKeyframe = findParameterKeyframe; exports.formatParameterNumber = formatParameterNumber; exports.formatParameterValue = formatParameterValue; exports.getChoiceOptions = getChoiceOptions; exports.getParameterDefaults = getParameterDefaults; exports.getParameterFields = getParameterFields; exports.getParameterGroups = getParameterGroups; exports.getParameterKeyState = getParameterKeyState; exports.getParameterVisibility = getParameterVisibility; exports.hexToRgba01 = hexToRgba01; exports.humanizeParameterId = humanizeParameterId; exports.isParameterGroup = isParameterGroup; exports.isSliderField = isSliderField; exports.mapRange = mapRange; exports.matchParameterOptionValue = matchParameterOptionValue; exports.normalizeHexColor = normalizeHexColor; exports.parameterDecimals = parameterDecimals; exports.parameterFieldFromShaderControl = parameterFieldFromShaderControl; exports.parameterFieldToJsonSchema = parameterFieldToJsonSchema; exports.parameterLabel = parameterLabel; exports.parameterSchemaFromShaderControls = parameterSchemaFromShaderControls; exports.parameterSchemaToJsonSchema = parameterSchemaToJsonSchema; exports.parameterStep = parameterStep; exports.parameterThemeStyleText = parameterThemeStyleText; exports.parameterThemeStyles = parameterThemeStyles; exports.parameterValueFromShaderControl = parameterValueFromShaderControl; exports.parameterValuesEqual = parameterValuesEqual; exports.parseParameterNumberInput = parseParameterNumberInput; exports.planParameterSetPlayback = planParameterSetPlayback; exports.rgba01ToHex = rgba01ToHex; exports.seededRandom = seededRandom; exports.shaderControlValue = shaderControlValue; exports.validateParameterValue = validateParameterValue; exports.validateParameterValues = validateParameterValues; exports.vectorComponentField = vectorComponentField; exports.vectorSize = vectorSize; exports.withParameterKeyframe = withParameterKeyframe; exports.withParameterPlayback = withParameterPlayback; exports.withoutParameterKeyframe = withoutParameterKeyframe;
@@ -7,3 +7,5 @@ export * from './shader.cjs';
7
7
  export * from './rangeMapper.cjs';
8
8
  export * from './playback.cjs';
9
9
  export * from './editorDocument.cjs';
10
+ export * from './theme.cjs';
11
+ export * from './options.cjs';
@@ -7,3 +7,5 @@ export * from './shader.js';
7
7
  export * from './rangeMapper.js';
8
8
  export * from './playback.js';
9
9
  export * from './editorDocument.js';
10
+ export * from './theme.js';
11
+ export * from './options.js';
@@ -1358,6 +1358,35 @@ function createParametersEditorDocument(controller) {
1358
1358
  }
1359
1359
  });
1360
1360
  }
1361
+
1362
+ // src/parameters/theme.ts
1363
+ var parameterThemeStyles = {
1364
+ input: {
1365
+ backgroundColor: "var(--pixerate-parameter-input-bg, var(--background, transparent))",
1366
+ color: "var(--pixerate-parameter-input-fg, var(--foreground, currentColor))",
1367
+ borderColor: "var(--pixerate-parameter-border, var(--input, var(--border, currentColor)))"
1368
+ },
1369
+ select: {
1370
+ backgroundColor: "var(--pixerate-parameter-select-bg, var(--pixerate-parameter-input-bg, var(--background, transparent)))",
1371
+ color: "var(--pixerate-parameter-select-fg, var(--pixerate-parameter-input-fg, var(--foreground, currentColor)))",
1372
+ borderColor: "var(--pixerate-parameter-border, var(--input, var(--border, currentColor)))"
1373
+ },
1374
+ button: {
1375
+ color: "var(--pixerate-parameter-button-fg, var(--foreground, currentColor))",
1376
+ borderColor: "var(--pixerate-parameter-border, var(--input, var(--border, currentColor)))"
1377
+ },
1378
+ range: {
1379
+ accentColor: "var(--pixerate-parameter-accent, var(--primary, currentColor))"
1380
+ }
1381
+ };
1382
+ function parameterThemeStyleText(part) {
1383
+ return Object.entries(parameterThemeStyles[part]).map(([key, value]) => `${key.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`)}: ${value};`).join(" ");
1384
+ }
1385
+
1386
+ // src/parameters/options.ts
1387
+ function matchParameterOptionValue(options, value) {
1388
+ return options.find((o) => o.value === value)?.value ?? options.find((o) => String(o.value) === String(value))?.value ?? value;
1389
+ }
1361
1390
  export {
1362
1391
  PARAMETER_KEY_TOLERANCE,
1363
1392
  ParameterSchemaError,
@@ -1387,6 +1416,7 @@ export {
1387
1416
  isParameterGroup,
1388
1417
  isSliderField,
1389
1418
  mapRange,
1419
+ matchParameterOptionValue,
1390
1420
  normalizeHexColor,
1391
1421
  parameterDecimals,
1392
1422
  parameterFieldFromShaderControl,
@@ -1395,6 +1425,8 @@ export {
1395
1425
  parameterSchemaFromShaderControls,
1396
1426
  parameterSchemaToJsonSchema,
1397
1427
  parameterStep,
1428
+ parameterThemeStyleText,
1429
+ parameterThemeStyles,
1398
1430
  parameterValueFromShaderControl,
1399
1431
  parameterValuesEqual,
1400
1432
  parseParameterNumberInput,
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The option value a select reported: the option whose value is `value`, else the one whose
3
+ * string form is (a string-only host select turns `2` into `"2"`), else `value` itself.
4
+ */
5
+ export declare function matchParameterOptionValue(options: readonly {
6
+ value: string | number;
7
+ }[], value: string | number): string | number;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * The option value a select reported: the option whose value is `value`, else the one whose
3
+ * string form is (a string-only host select turns `2` into `"2"`), else `value` itself.
4
+ */
5
+ export declare function matchParameterOptionValue(options: readonly {
6
+ value: string | number;
7
+ }[], value: string | number): string | number;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Theme tokens for the parameter controls in `@pixerate/editor-react` and `@pixerate/editor-svelte`.
3
+ * Each `--pixerate-parameter-*` property falls back to the common host tokens (`--background`,
4
+ * `--foreground`, `--input`, `--border`, `--primary`) and then to the browser default. The values
5
+ * are CSS declarations keyed by camelCase property, applied as inline styles by both bindings.
6
+ *
7
+ * Buttons set no background so their `hover:` classes keep working.
8
+ */
9
+ export declare const parameterThemeStyles: {
10
+ readonly input: {
11
+ readonly backgroundColor: "var(--pixerate-parameter-input-bg, var(--background, transparent))";
12
+ readonly color: "var(--pixerate-parameter-input-fg, var(--foreground, currentColor))";
13
+ readonly borderColor: "var(--pixerate-parameter-border, var(--input, var(--border, currentColor)))";
14
+ };
15
+ readonly select: {
16
+ readonly backgroundColor: "var(--pixerate-parameter-select-bg, var(--pixerate-parameter-input-bg, var(--background, transparent)))";
17
+ readonly color: "var(--pixerate-parameter-select-fg, var(--pixerate-parameter-input-fg, var(--foreground, currentColor)))";
18
+ readonly borderColor: "var(--pixerate-parameter-border, var(--input, var(--border, currentColor)))";
19
+ };
20
+ readonly button: {
21
+ readonly color: "var(--pixerate-parameter-button-fg, var(--foreground, currentColor))";
22
+ readonly borderColor: "var(--pixerate-parameter-border, var(--input, var(--border, currentColor)))";
23
+ };
24
+ readonly range: {
25
+ readonly accentColor: "var(--pixerate-parameter-accent, var(--primary, currentColor))";
26
+ };
27
+ };
28
+ export type ParameterThemePart = keyof typeof parameterThemeStyles;
29
+ /** One part's declarations as an inline `style` string (`background-color: …; color: …`). */
30
+ export declare function parameterThemeStyleText(part: ParameterThemePart): string;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Theme tokens for the parameter controls in `@pixerate/editor-react` and `@pixerate/editor-svelte`.
3
+ * Each `--pixerate-parameter-*` property falls back to the common host tokens (`--background`,
4
+ * `--foreground`, `--input`, `--border`, `--primary`) and then to the browser default. The values
5
+ * are CSS declarations keyed by camelCase property, applied as inline styles by both bindings.
6
+ *
7
+ * Buttons set no background so their `hover:` classes keep working.
8
+ */
9
+ export declare const parameterThemeStyles: {
10
+ readonly input: {
11
+ readonly backgroundColor: "var(--pixerate-parameter-input-bg, var(--background, transparent))";
12
+ readonly color: "var(--pixerate-parameter-input-fg, var(--foreground, currentColor))";
13
+ readonly borderColor: "var(--pixerate-parameter-border, var(--input, var(--border, currentColor)))";
14
+ };
15
+ readonly select: {
16
+ readonly backgroundColor: "var(--pixerate-parameter-select-bg, var(--pixerate-parameter-input-bg, var(--background, transparent)))";
17
+ readonly color: "var(--pixerate-parameter-select-fg, var(--pixerate-parameter-input-fg, var(--foreground, currentColor)))";
18
+ readonly borderColor: "var(--pixerate-parameter-border, var(--input, var(--border, currentColor)))";
19
+ };
20
+ readonly button: {
21
+ readonly color: "var(--pixerate-parameter-button-fg, var(--foreground, currentColor))";
22
+ readonly borderColor: "var(--pixerate-parameter-border, var(--input, var(--border, currentColor)))";
23
+ };
24
+ readonly range: {
25
+ readonly accentColor: "var(--pixerate-parameter-accent, var(--primary, currentColor))";
26
+ };
27
+ };
28
+ export type ParameterThemePart = keyof typeof parameterThemeStyles;
29
+ /** One part's declarations as an inline `style` string (`background-color: …; color: …`). */
30
+ export declare function parameterThemeStyleText(part: ParameterThemePart): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixerate/editor",
3
- "version": "0.174.0",
3
+ "version": "0.175.0",
4
4
  "description": "UI-agnostic rich text and media editing core library",
5
5
  "author": "Pixerate",
6
6
  "license": "MIT",
@@ -354,9 +354,6 @@
354
354
  "THIRD_PARTY_NOTICES.md"
355
355
  ],
356
356
  "sideEffects": false,
357
- "dependencies": {
358
- "@pixerate/markdown-conformance": "0.2.0"
359
- },
360
357
  "devDependencies": {
361
358
  "@anthropic-ai/sdk": "1.1.0",
362
359
  "@dagrejs/dagre": "^1.1.8",
@@ -395,7 +392,8 @@
395
392
  "tiptap-markdown": "^0.8.10",
396
393
  "tsup": "^9.0.0",
397
394
  "typescript": "^5.7.3",
398
- "vitest": "^5.0.5"
395
+ "vitest": "^5.0.5",
396
+ "@pixerate/markdown-conformance": "0.2.0"
399
397
  },
400
398
  "peerDependencies": {
401
399
  "@dagrejs/dagre": "^1.1.8",