@echelon-foundry/design-system 0.4.0-main.220.2 → 0.4.0-main.222.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "forma-machine-operability",
3
+ "version": "1.0.0",
4
+ "referenceAutomation": "Playwright",
5
+ "toolNeutral": true,
6
+ "principle": "Every human-operable action has a deterministic semantically discoverable machine-operable path to the same authoritative application state.",
7
+ "locatorPriority": [
8
+ "role-and-accessible-name",
9
+ "native-label-id-name-value-or-url-target",
10
+ "documented-application-owned-stable-object-identity",
11
+ "documented-public-state-hook-for-inspection"
12
+ ],
13
+ "completionSignals": [
14
+ "native-state-change",
15
+ "documented-public-state-change",
16
+ "navigation-or-url-change",
17
+ "live-or-status-output",
18
+ "authoritative-application-state-rendered-into-the-dom"
19
+ ],
20
+ "directManipulation": {
21
+ "coordinateGestureMayBeConvenience": true,
22
+ "semanticEquivalentRequiredForMeaningfulStateChanges": true,
23
+ "examples": [
24
+ "move-buttons",
25
+ "named-commands",
26
+ "keyboard-actions",
27
+ "form-controls",
28
+ "application-or-limen-command-surface"
29
+ ]
30
+ },
31
+ "forbiddenAsOnlyPublicPath": [
32
+ "hard-coded-screen-coordinates",
33
+ "image-recognition",
34
+ "hover-only-actions",
35
+ "pointer-only-actions",
36
+ "generated-css-class-locators",
37
+ "dom-position-or-nth-child-locators",
38
+ "fixed-sleep-completion",
39
+ "color-only-state",
40
+ "animation-only-state",
41
+ "closed-shadow-dom-hiding-required-interaction"
42
+ ],
43
+ "authority": {
44
+ "forma": "semantic markup, accessible naming, public structure and presentation-state hooks",
45
+ "applicationOrLimen": "behavior beyond native HTML and application state synchronization",
46
+ "ordoOrDomain": "legality, capabilities, obligations, permissions and consequential transitions"
47
+ }
48
+ }
@@ -321,7 +321,7 @@
321
321
  "patterns/skeleton.html": 354,
322
322
  "patterns/skip-link.html": 186,
323
323
  "patterns/slider.html": 403,
324
- "patterns/spatial-canvas.html": 951,
324
+ "patterns/spatial-canvas.html": 976,
325
325
  "patterns/special-choice.html": 568,
326
326
  "patterns/spinner.html": 175,
327
327
  "patterns/split-pane.html": 348,
@@ -5,8 +5,8 @@
5
5
  </header>
6
6
  <div class="ef-spatial-canvas__viewport" tabindex="0" aria-label="Scrollable system map">
7
7
  <div class="ef-spatial-canvas__surface">
8
- <article class="ef-surface"><h3>Billing</h3><p>Selected node</p></article>
9
- <article class="ef-surface"><h3>Chrona</h3><p>Time source</p></article>
8
+ <article class="ef-surface" id="billing"><h3>Billing</h3><p>Selected node</p></article>
9
+ <article class="ef-surface" id="chrona"><h3>Chrona</h3><p>Time source</p></article>
10
10
  </div>
11
11
  </div>
12
12
  <details class="ef-spatial-canvas__index"><summary>Objects in this view</summary><nav aria-label="Canvas objects"><a href="#billing">Billing</a><a href="#chrona">Chrona</a></nav></details>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@echelon-foundry/design-system",
3
- "version": "0.4.0-main.220.2",
3
+ "version": "0.4.0-main.222.1",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Zero-runtime HTML and CSS design system for Echelon Foundry applications.",
@@ -27,7 +27,8 @@
27
27
  "./contracts/diagram-presentation.json": "./contracts/diagram-presentation.json",
28
28
  "./workflow/forma-workflow.schema.json": "./schemas/workflow/1.0/forma-workflow.schema.json",
29
29
  "./contracts/workflow-capabilities.json": "./contracts/workflow-capabilities.json",
30
- "./workflow/examples/*": "./examples/workflows/forma/workflows/*"
30
+ "./workflow/examples/*": "./examples/workflows/forma/workflows/*",
31
+ "./contracts/machine-operability.json": "./contracts/machine-operability.json"
31
32
  },
32
33
  "files": [
33
34
  "dist",
@@ -42,7 +43,8 @@
42
43
  "contracts/workflow-capabilities.json",
43
44
  "examples/workflows/forma/workflows",
44
45
  "examples/workflows/fixtures.json",
45
- "docs/workflow"
46
+ "docs/workflow",
47
+ "contracts/machine-operability.json"
46
48
  ],
47
49
  "scripts": {
48
50
  "clean": "node tools/clean.mjs",
@@ -71,7 +73,7 @@
71
73
  "test:marketing": "node --test tests/marketing-tokens.test.mjs tests/marketing-distribution.test.mjs tests/marketing-structure.test.mjs tests/site-css-policy.test.mjs",
72
74
  "example:install": "mkdir -p build/example && cp examples/echelon-marketing-site/forma.lock build/example/forma.lock && bash actions/install-presentation/install.sh --lock build/example/forma.lock --source dist/marketing --update --output examples/echelon-marketing-site/assets/forma",
73
75
  "policy:check": "dotnet run --project tools/SiteCssPolicy/SiteCssPolicy.fsproj --",
74
- "release:check": "npm run build && npm run test:tokens && npm run test:brands && npm run test:runtime && npm run test:motion && npm run test:marketing && npm run test:character-grid && npm run test:css && npm run test:package && playwright test tests/browser/marketing.spec.mjs && npm run site:check",
76
+ "release:check": "npm run build && npm run test:tokens && npm run test:brands && npm run test:runtime && npm run test:motion && npm run test:marketing && npm run test:character-grid && npm run test:css && npm run test:package && npm run test:machine && playwright test tests/browser/marketing.spec.mjs && npm run site:check",
75
77
  "test:figma": "node --test tests/figma-contract.test.mjs",
76
78
  "catalog:check": "node tools/catalog/validate.mjs && node tools/catalog/inventory.mjs --check",
77
79
  "catalog:inventory": "node tools/catalog/inventory.mjs",
@@ -80,7 +82,8 @@
80
82
  "workflow:validate": "dotnet run --project src/workflow/Forma.Workflow.Cli -c Release -- validate examples/workflows/forma/workflows/*.forma-workflow.json",
81
83
  "test:workflow-package": "node --test tests/workflow-package.test.mjs",
82
84
  "test:workflow-browser": "playwright test tests/browser/workflow-static.spec.mjs tests/browser/workflow-embed.spec.mjs",
83
- "workflow:check": "npm run workflow:test && npm run workflow:build && npm run test:workflow-package && npm run test:workflow-browser"
85
+ "workflow:check": "npm run workflow:test && npm run workflow:build && npm run test:workflow-package && npm run test:workflow-browser",
86
+ "test:machine": "playwright test tests/browser/machine-operability.spec.mjs"
84
87
  },
85
88
  "devDependencies": {
86
89
  "@axe-core/playwright": "4.13.0",
@@ -100,6 +103,7 @@
100
103
  "zero-runtime",
101
104
  "marketing-presentation",
102
105
  "accessibility",
103
- "workflow"
106
+ "workflow",
107
+ "machine-operability"
104
108
  ]
105
109
  }
@@ -5,8 +5,8 @@
5
5
  </header>
6
6
  <div class="ef-spatial-canvas__viewport" tabindex="0" aria-label="Scrollable system map">
7
7
  <div class="ef-spatial-canvas__surface">
8
- <article class="ef-surface"><h3>Billing</h3><p>Selected node</p></article>
9
- <article class="ef-surface"><h3>Chrona</h3><p>Time source</p></article>
8
+ <article class="ef-surface" id="billing"><h3>Billing</h3><p>Selected node</p></article>
9
+ <article class="ef-surface" id="chrona"><h3>Chrona</h3><p>Time source</p></article>
10
10
  </div>
11
11
  </div>
12
12
  <details class="ef-spatial-canvas__index"><summary>Objects in this view</summary><nav aria-label="Canvas objects"><a href="#billing">Billing</a><a href="#chrona">Chrona</a></nav></details>