@velarscript/web 0.31.0 → 0.32.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/README.md +1 -1
- package/dist/analysis/calls/intrinsics/config.d.ts +10 -0
- package/dist/analysis/calls/intrinsics/config.d.ts.map +1 -0
- package/dist/analysis/calls/intrinsics/config.js +19 -0
- package/dist/analysis/calls/intrinsics/config.js.map +1 -0
- package/dist/analysis/calls/intrinsics/forms.d.ts +10 -0
- package/dist/analysis/calls/intrinsics/forms.d.ts.map +1 -0
- package/dist/analysis/calls/intrinsics/forms.js +38 -0
- package/dist/analysis/calls/intrinsics/forms.js.map +1 -0
- package/dist/analysis/calls/intrinsics/http.d.ts +10 -0
- package/dist/analysis/calls/intrinsics/http.d.ts.map +1 -0
- package/dist/analysis/calls/intrinsics/http.js +37 -0
- package/dist/analysis/calls/intrinsics/http.js.map +1 -0
- package/dist/analysis/calls/intrinsics/reactive.d.ts +10 -0
- package/dist/analysis/calls/intrinsics/reactive.d.ts.map +1 -0
- package/dist/analysis/calls/intrinsics/reactive.js +30 -0
- package/dist/analysis/calls/intrinsics/reactive.js.map +1 -0
- package/dist/analysis/calls/intrinsics/storage.d.ts +12 -0
- package/dist/analysis/calls/intrinsics/storage.d.ts.map +1 -0
- package/dist/analysis/calls/intrinsics/storage.js +86 -0
- package/dist/analysis/calls/intrinsics/storage.js.map +1 -0
- package/dist/analysis/calls/intrinsics/web.d.ts +10 -0
- package/dist/analysis/calls/intrinsics/web.d.ts.map +1 -0
- package/dist/analysis/calls/intrinsics/web.js +100 -0
- package/dist/analysis/calls/intrinsics/web.js.map +1 -0
- package/dist/analysis/calls/intrinsics.d.ts +13 -0
- package/dist/analysis/calls/intrinsics.d.ts.map +1 -0
- package/dist/analysis/calls/intrinsics.js +31 -0
- package/dist/analysis/calls/intrinsics.js.map +1 -0
- package/dist/analysis/components/contracts.d.ts +19 -0
- package/dist/analysis/components/contracts.d.ts.map +1 -0
- package/dist/analysis/components/contracts.js +83 -0
- package/dist/analysis/components/contracts.js.map +1 -0
- package/dist/analysis/components/declaration.d.ts +4 -0
- package/dist/analysis/components/declaration.d.ts.map +1 -0
- package/dist/analysis/components/declaration.js +163 -0
- package/dist/analysis/components/declaration.js.map +1 -0
- package/dist/analysis/components/host.d.ts +61 -0
- package/dist/analysis/components/host.d.ts.map +1 -0
- package/dist/analysis/components/host.js +22 -0
- package/dist/analysis/components/host.js.map +1 -0
- package/dist/analysis/components/lifecycle.d.ts +22 -0
- package/dist/analysis/components/lifecycle.d.ts.map +1 -0
- package/dist/analysis/components/lifecycle.js +33 -0
- package/dist/analysis/components/lifecycle.js.map +1 -0
- package/dist/analysis/components/ownership.d.ts +74 -0
- package/dist/analysis/components/ownership.d.ts.map +1 -0
- package/dist/analysis/components/ownership.js +106 -0
- package/dist/analysis/components/ownership.js.map +1 -0
- package/dist/analysis/declarations.d.ts +99 -0
- package/dist/analysis/declarations.d.ts.map +1 -0
- package/dist/analysis/declarations.js +176 -0
- package/dist/analysis/declarations.js.map +1 -0
- package/dist/analysis/inference.d.ts +67 -0
- package/dist/analysis/inference.d.ts.map +1 -0
- package/dist/analysis/inference.js +236 -0
- package/dist/analysis/inference.js.map +1 -0
- package/dist/analysis/jsx/attributes.d.ts +103 -0
- package/dist/analysis/jsx/attributes.d.ts.map +1 -0
- package/dist/analysis/jsx/attributes.js +601 -0
- package/dist/analysis/jsx/attributes.js.map +1 -0
- package/dist/analysis/jsx/elements.d.ts +17 -0
- package/dist/analysis/jsx/elements.d.ts.map +1 -0
- package/dist/analysis/jsx/elements.js +213 -0
- package/dist/analysis/jsx/elements.js.map +1 -0
- package/dist/analysis/jsx/host.d.ts +61 -0
- package/dist/analysis/jsx/host.d.ts.map +1 -0
- package/dist/analysis/jsx/host.js +15 -0
- package/dist/analysis/jsx/host.js.map +1 -0
- package/dist/analysis/jsx/keys.d.ts +15 -0
- package/dist/analysis/jsx/keys.d.ts.map +1 -0
- package/dist/analysis/jsx/keys.js +67 -0
- package/dist/analysis/jsx/keys.js.map +1 -0
- package/dist/analysis/jsx/security.d.ts +29 -0
- package/dist/analysis/jsx/security.d.ts.map +1 -0
- package/dist/analysis/jsx/security.js +61 -0
- package/dist/analysis/jsx/security.js.map +1 -0
- package/dist/analysis/jsx-detection.d.ts +49 -0
- package/dist/analysis/jsx-detection.d.ts.map +1 -0
- package/dist/analysis/jsx-detection.js +196 -0
- package/dist/analysis/jsx-detection.js.map +1 -0
- package/dist/analysis/keyed-rebuild.d.ts +148 -0
- package/dist/analysis/keyed-rebuild.d.ts.map +1 -0
- package/dist/analysis/keyed-rebuild.js +299 -0
- package/dist/analysis/keyed-rebuild.js.map +1 -0
- package/dist/analysis/keyframes-analysis.d.ts +6 -0
- package/dist/analysis/keyframes-analysis.d.ts.map +1 -0
- package/dist/analysis/keyframes-analysis.js +79 -0
- package/dist/analysis/keyframes-analysis.js.map +1 -0
- package/dist/analysis/look/builders.d.ts +29 -0
- package/dist/analysis/look/builders.d.ts.map +1 -0
- package/dist/analysis/look/builders.js +168 -0
- package/dist/analysis/look/builders.js.map +1 -0
- package/dist/analysis/look/conditions.d.ts +13 -0
- package/dist/analysis/look/conditions.d.ts.map +1 -0
- package/dist/analysis/look/conditions.js +84 -0
- package/dist/analysis/look/conditions.js.map +1 -0
- package/dist/analysis/look/edits.d.ts +25 -0
- package/dist/analysis/look/edits.d.ts.map +1 -0
- package/dist/analysis/look/edits.js +57 -0
- package/dist/analysis/look/edits.js.map +1 -0
- package/dist/analysis/look/entries.d.ts +56 -0
- package/dist/analysis/look/entries.d.ts.map +1 -0
- package/dist/analysis/look/entries.js +223 -0
- package/dist/analysis/look/entries.js.map +1 -0
- package/dist/analysis/look/host.d.ts +47 -0
- package/dist/analysis/look/host.d.ts.map +1 -0
- package/dist/analysis/look/host.js +16 -0
- package/dist/analysis/look/host.js.map +1 -0
- package/dist/analysis/look/tokens.d.ts +75 -0
- package/dist/analysis/look/tokens.d.ts.map +1 -0
- package/dist/analysis/look/tokens.js +151 -0
- package/dist/analysis/look/tokens.js.map +1 -0
- package/dist/analysis/look/values.d.ts +45 -0
- package/dist/analysis/look/values.d.ts.map +1 -0
- package/dist/analysis/look/values.js +148 -0
- package/dist/analysis/look/values.js.map +1 -0
- package/dist/analysis/look-conditions.d.ts +47 -0
- package/dist/analysis/look-conditions.d.ts.map +1 -0
- package/dist/analysis/look-conditions.js +157 -0
- package/dist/analysis/look-conditions.js.map +1 -0
- package/dist/analysis/look-sites.d.ts +54 -0
- package/dist/analysis/look-sites.d.ts.map +1 -0
- package/dist/analysis/look-sites.js +104 -0
- package/dist/analysis/look-sites.js.map +1 -0
- package/dist/analysis/look-vocabulary-guidance.d.ts +76 -0
- package/dist/analysis/look-vocabulary-guidance.d.ts.map +1 -0
- package/dist/analysis/look-vocabulary-guidance.js +338 -0
- package/dist/analysis/look-vocabulary-guidance.js.map +1 -0
- package/dist/analysis/media-conditions.d.ts +33 -0
- package/dist/analysis/media-conditions.d.ts.map +1 -0
- package/dist/analysis/media-conditions.js +92 -0
- package/dist/analysis/media-conditions.js.map +1 -0
- package/dist/analysis/program-passes.d.ts +106 -0
- package/dist/analysis/program-passes.d.ts.map +1 -0
- package/dist/analysis/program-passes.js +149 -0
- package/dist/analysis/program-passes.js.map +1 -0
- package/dist/analysis/reactivity/bindings.d.ts +37 -0
- package/dist/analysis/reactivity/bindings.d.ts.map +1 -0
- package/dist/analysis/reactivity/bindings.js +88 -0
- package/dist/analysis/reactivity/bindings.js.map +1 -0
- package/dist/analysis/reactivity/derived.d.ts +39 -0
- package/dist/analysis/reactivity/derived.d.ts.map +1 -0
- package/dist/analysis/reactivity/derived.js +80 -0
- package/dist/analysis/reactivity/derived.js.map +1 -0
- package/dist/analysis/reactivity/host.d.ts +38 -0
- package/dist/analysis/reactivity/host.d.ts.map +1 -0
- package/dist/analysis/reactivity/host.js +14 -0
- package/dist/analysis/reactivity/host.js.map +1 -0
- package/dist/analysis/reactivity/retired-accessors.d.ts +82 -0
- package/dist/analysis/reactivity/retired-accessors.d.ts.map +1 -0
- package/dist/analysis/reactivity/retired-accessors.js +118 -0
- package/dist/analysis/reactivity/retired-accessors.js.map +1 -0
- package/dist/analysis/renderable.d.ts +47 -0
- package/dist/analysis/renderable.d.ts.map +1 -0
- package/dist/analysis/renderable.js +105 -0
- package/dist/analysis/renderable.js.map +1 -0
- package/dist/analysis/routes.d.ts +64 -0
- package/dist/analysis/routes.d.ts.map +1 -0
- package/dist/analysis/routes.js +182 -0
- package/dist/analysis/routes.js.map +1 -0
- package/dist/analysis/url-attributes.d.ts +12 -0
- package/dist/analysis/url-attributes.d.ts.map +1 -0
- package/dist/analysis/url-attributes.js +48 -0
- package/dist/analysis/url-attributes.js.map +1 -0
- package/dist/analysis/watch-cycles.d.ts +102 -0
- package/dist/analysis/watch-cycles.d.ts.map +1 -1
- package/dist/analysis/watch-cycles.js +240 -1
- package/dist/analysis/watch-cycles.js.map +1 -1
- package/dist/analysis/watch-subject.d.ts +45 -0
- package/dist/analysis/watch-subject.d.ts.map +1 -0
- package/dist/analysis/watch-subject.js +272 -0
- package/dist/analysis/watch-subject.js.map +1 -0
- package/dist/analysis/web-types.d.ts +27 -0
- package/dist/analysis/web-types.d.ts.map +1 -0
- package/dist/analysis/web-types.js +170 -0
- package/dist/analysis/web-types.js.map +1 -0
- package/dist/analyzer.d.ts +18 -617
- package/dist/analyzer.d.ts.map +1 -1
- package/dist/analyzer.js +208 -4853
- package/dist/analyzer.js.map +1 -1
- package/dist/compiler.d.ts +20 -0
- package/dist/compiler.d.ts.map +1 -1
- package/dist/compiler.js +29 -864
- package/dist/compiler.js.map +1 -1
- package/dist/documentation.d.ts +28 -0
- package/dist/documentation.d.ts.map +1 -0
- package/dist/documentation.js +67 -0
- package/dist/documentation.js.map +1 -0
- package/dist/editor/completions.d.ts +12 -0
- package/dist/editor/completions.d.ts.map +1 -0
- package/dist/editor/completions.js +6 -0
- package/dist/editor/completions.js.map +1 -0
- package/dist/editor/jsx-completion.d.ts +12 -0
- package/dist/editor/jsx-completion.d.ts.map +1 -0
- package/dist/editor/jsx-completion.js +137 -0
- package/dist/editor/jsx-completion.js.map +1 -0
- package/dist/editor/look-completion.d.ts +29 -0
- package/dist/editor/look-completion.d.ts.map +1 -0
- package/dist/editor/look-completion.js +159 -0
- package/dist/editor/look-completion.js.map +1 -0
- package/dist/editor.d.ts.map +1 -1
- package/dist/editor.js +12 -288
- package/dist/editor.js.map +1 -1
- package/dist/emit/components.d.ts +33 -0
- package/dist/emit/components.d.ts.map +1 -0
- package/dist/emit/components.js +135 -0
- package/dist/emit/components.js.map +1 -0
- package/dist/emit/jsx.d.ts +57 -0
- package/dist/emit/jsx.d.ts.map +1 -0
- package/dist/emit/jsx.js +384 -0
- package/dist/emit/jsx.js.map +1 -0
- package/dist/emit/look-css.d.ts +44 -0
- package/dist/emit/look-css.d.ts.map +1 -0
- package/dist/emit/look-css.js +177 -0
- package/dist/emit/look-css.js.map +1 -0
- package/dist/emit/look.d.ts +39 -0
- package/dist/emit/look.d.ts.map +1 -0
- package/dist/emit/look.js +218 -0
- package/dist/emit/look.js.map +1 -0
- package/dist/emit/runtime-imports.d.ts +40 -0
- package/dist/emit/runtime-imports.d.ts.map +1 -0
- package/dist/emit/runtime-imports.js +184 -0
- package/dist/emit/runtime-imports.js.map +1 -0
- package/dist/emitter.d.ts +15 -68
- package/dist/emitter.d.ts.map +1 -1
- package/dist/emitter.js +79 -1008
- package/dist/emitter.js.map +1 -1
- package/dist/look/animation.d.ts +7 -0
- package/dist/look/animation.d.ts.map +1 -0
- package/dist/look/animation.js +13 -0
- package/dist/look/animation.js.map +1 -0
- package/dist/look/builders.d.ts +35 -0
- package/dist/look/builders.d.ts.map +1 -0
- package/dist/look/builders.js +74 -0
- package/dist/look/builders.js.map +1 -0
- package/dist/look/css-functions.d.ts +28 -0
- package/dist/look/css-functions.d.ts.map +1 -0
- package/dist/look/css-functions.js +54 -0
- package/dist/look/css-functions.js.map +1 -0
- package/dist/look/keyword-sets.d.ts +41 -0
- package/dist/look/keyword-sets.d.ts.map +1 -0
- package/dist/look/keyword-sets.js +117 -0
- package/dist/look/keyword-sets.js.map +1 -0
- package/dist/look/keywords.d.ts +55 -0
- package/dist/look/keywords.d.ts.map +1 -0
- package/dist/look/keywords.js +387 -0
- package/dist/look/keywords.js.map +1 -0
- package/dist/look/media.d.ts +19 -0
- package/dist/look/media.d.ts.map +1 -0
- package/dist/look/media.js +27 -0
- package/dist/look/media.js.map +1 -0
- package/dist/look/naming.d.ts +9 -0
- package/dist/look/naming.d.ts.map +1 -0
- package/dist/look/naming.js +45 -0
- package/dist/look/naming.js.map +1 -0
- package/dist/look/properties.d.ts +16 -0
- package/dist/look/properties.d.ts.map +1 -0
- package/dist/look/properties.js +52 -0
- package/dist/look/properties.js.map +1 -0
- package/dist/look/shorthands.d.ts +25 -0
- package/dist/look/shorthands.d.ts.map +1 -0
- package/dist/look/shorthands.js +130 -0
- package/dist/look/shorthands.js.map +1 -0
- package/dist/look/tokens.d.ts +38 -0
- package/dist/look/tokens.d.ts.map +1 -0
- package/dist/look/tokens.js +59 -0
- package/dist/look/tokens.js.map +1 -0
- package/dist/look/units.d.ts +24 -0
- package/dist/look/units.d.ts.map +1 -0
- package/dist/look/units.js +33 -0
- package/dist/look/units.js.map +1 -0
- package/dist/look.d.ts +32 -227
- package/dist/look.d.ts.map +1 -1
- package/dist/look.js +28 -933
- package/dist/look.js.map +1 -1
- package/dist/module-roster.d.ts +16 -0
- package/dist/module-roster.d.ts.map +1 -0
- package/dist/module-roster.js +28 -0
- package/dist/module-roster.js.map +1 -0
- package/dist/modules/app.d.ts +9 -0
- package/dist/modules/app.d.ts.map +1 -0
- package/dist/modules/app.js +20 -0
- package/dist/modules/app.js.map +1 -0
- package/dist/modules/browser-test.d.ts +9 -0
- package/dist/modules/browser-test.d.ts.map +1 -0
- package/dist/modules/browser-test.js +67 -0
- package/dist/modules/browser-test.js.map +1 -0
- package/dist/modules/browser.d.ts +10 -0
- package/dist/modules/browser.d.ts.map +1 -0
- package/dist/modules/browser.js +89 -0
- package/dist/modules/browser.js.map +1 -0
- package/dist/modules/config.d.ts +9 -0
- package/dist/modules/config.d.ts.map +1 -0
- package/dist/modules/config.js +14 -0
- package/dist/modules/config.js.map +1 -0
- package/dist/modules/files.d.ts +9 -0
- package/dist/modules/files.d.ts.map +1 -0
- package/dist/modules/files.js +16 -0
- package/dist/modules/files.js.map +1 -0
- package/dist/modules/forms.d.ts +9 -0
- package/dist/modules/forms.d.ts.map +1 -0
- package/dist/modules/forms.js +26 -0
- package/dist/modules/forms.js.map +1 -0
- package/dist/modules/http.d.ts +9 -0
- package/dist/modules/http.d.ts.map +1 -0
- package/dist/modules/http.js +127 -0
- package/dist/modules/http.js.map +1 -0
- package/dist/modules/look.d.ts +9 -0
- package/dist/modules/look.d.ts.map +1 -0
- package/dist/modules/look.js +58 -0
- package/dist/modules/look.js.map +1 -0
- package/dist/modules/realtime.d.ts +9 -0
- package/dist/modules/realtime.d.ts.map +1 -0
- package/dist/modules/realtime.js +163 -0
- package/dist/modules/realtime.js.map +1 -0
- package/dist/modules/storage.d.ts +9 -0
- package/dist/modules/storage.d.ts.map +1 -0
- package/dist/modules/storage.js +59 -0
- package/dist/modules/storage.js.map +1 -0
- package/dist/modules/types.d.ts +78 -0
- package/dist/modules/types.d.ts.map +1 -0
- package/dist/modules/types.js +154 -0
- package/dist/modules/types.js.map +1 -0
- package/dist/modules/web.d.ts +9 -0
- package/dist/modules/web.d.ts.map +1 -0
- package/dist/modules/web.js +63 -0
- package/dist/modules/web.js.map +1 -0
- package/dist/modules/websocket.d.ts +11 -0
- package/dist/modules/websocket.d.ts.map +1 -0
- package/dist/modules/websocket.js +75 -0
- package/dist/modules/websocket.js.map +1 -0
- package/dist/parser/expressions/jsx.d.ts +17 -0
- package/dist/parser/expressions/jsx.d.ts.map +1 -0
- package/dist/parser/expressions/jsx.js +43 -0
- package/dist/parser/expressions/jsx.js.map +1 -0
- package/dist/parser/expressions/keyframes.d.ts +15 -0
- package/dist/parser/expressions/keyframes.d.ts.map +1 -0
- package/dist/parser/expressions/keyframes.js +33 -0
- package/dist/parser/expressions/keyframes.js.map +1 -0
- package/dist/parser/expressions/look.d.ts +16 -0
- package/dist/parser/expressions/look.d.ts.map +1 -0
- package/dist/parser/expressions/look.js +37 -0
- package/dist/parser/expressions/look.js.map +1 -0
- package/dist/parser/expressions/visual-block.d.ts +17 -0
- package/dist/parser/expressions/visual-block.d.ts.map +1 -0
- package/dist/parser/expressions/visual-block.js +21 -0
- package/dist/parser/expressions/visual-block.js.map +1 -0
- package/dist/parser/keyframes-source.d.ts +24 -0
- package/dist/parser/keyframes-source.d.ts.map +1 -0
- package/dist/parser/keyframes-source.js +133 -0
- package/dist/parser/keyframes-source.js.map +1 -0
- package/dist/parser/look-source.d.ts +25 -0
- package/dist/parser/look-source.d.ts.map +1 -0
- package/dist/parser/look-source.js +189 -0
- package/dist/parser/look-source.js.map +1 -0
- package/dist/parser/spans.d.ts +24 -0
- package/dist/parser/spans.d.ts.map +1 -0
- package/dist/parser/spans.js +113 -0
- package/dist/parser/spans.js.map +1 -0
- package/dist/parser/statements/components.d.ts +37 -0
- package/dist/parser/statements/components.d.ts.map +1 -0
- package/dist/parser/statements/components.js +185 -0
- package/dist/parser/statements/components.js.map +1 -0
- package/dist/parser/statements/heads.d.ts +38 -0
- package/dist/parser/statements/heads.d.ts.map +1 -0
- package/dist/parser/statements/heads.js +55 -0
- package/dist/parser/statements/heads.js.map +1 -0
- package/dist/parser/statements/imports.d.ts +9 -0
- package/dist/parser/statements/imports.d.ts.map +1 -0
- package/dist/parser/statements/imports.js +31 -0
- package/dist/parser/statements/imports.js.map +1 -0
- package/dist/parser/statements/reactive.d.ts +31 -0
- package/dist/parser/statements/reactive.d.ts.map +1 -0
- package/dist/parser/statements/reactive.js +68 -0
- package/dist/parser/statements/reactive.js.map +1 -0
- package/dist/parser/statements/unsafe-css.d.ts +21 -0
- package/dist/parser/statements/unsafe-css.d.ts.map +1 -0
- package/dist/parser/statements/unsafe-css.js +42 -0
- package/dist/parser/statements/unsafe-css.js.map +1 -0
- package/dist/parser.d.ts +37 -50
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +98 -882
- package/dist/parser.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyword-sets.js","sourceRoot":"","sources":["../../src/look/keyword-sets.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,MAAM,eAAe,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;AAClF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAG,MAAyB,EAAuB,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;AAExH;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAsB,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;AAE/E,2FAA2F;AAC3F,MAAM,CAAC,MAAM,2BAA2B,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC1E,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS;CACjF,CAAC,CAAC;AAEH,6EAA6E;AAC7E,MAAM,CAAC,MAAM,mBAAmB,GAAsB,MAAM,CAAC,MAAM,CAAC;IAClE,GAAG,sBAAsB,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ;IACvH,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe;CACtH,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAsB,EAAE,KAAuB;IAC5E,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAC1B,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;AAChF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAyB;IAC1D,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,KAAK,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,oBAAoB,CAAC,MAAyB;IAC5D,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,4EAA4E;AAC5E,gFAAgF;AAChF,6EAA6E;AAC7E,mEAAmE;AACnE,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACxD,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,GAAG,mBAAmB,EAAE,GAAG,iBAAiB;IAC5C,GAAG,cAAc,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;IACzD,GAAG,cAAc,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;CAC1D,CAAC;AAEF,8EAA8E;AAC9E,sEAAsE;AACtE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;AAErH,uEAAuE;AACvE,gFAAgF;AAChF,qCAAqC;AACrC,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,MAAM;IACN,eAAe;IACf,SAAS,EAAE,sBAAsB,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS;IAC5G,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK;IACjH,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS;IAC3H,kBAAkB;IAClB,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa;IACzE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,gBAAgB;IAC1D,gBAAgB;IAChB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,mBAAmB;IAClE,aAAa;IACb,oBAAoB,EAAE,mBAAmB;IACzC,oDAAoD;IACpD,mBAAmB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,qBAAqB;IAC9G,uBAAuB,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,qBAAqB;IAC9F,iBAAiB,EAAE,kBAAkB;CACtC,CAAC;AACF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAE/D,gFAAgF;AAChF,6EAA6E;AAC7E,eAAe;AACf,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,CAAC,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAErG,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;AAE/D,8EAA8E;AAC9E,4EAA4E;AAC5E,6EAA6E;AAC7E,2EAA2E;AAC3E,sEAAsE;AACtE,qDAAqD;AACrD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;AACtF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AACjH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AAC1F,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;AAEtG,gFAAgF;AAChF,sEAAsE;AACtE,gFAAgF;AAChF,yEAAyE;AACzE,qEAAqE;AACrE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc;CAC9G,CAAC;AAEF,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAC/E,mCAAmC;AACnC,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,UAAU,EAAE,UAAU,EAAE,GAAG,oBAAoB,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;CAC3F,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { type LookPropertyValueKind } from "./properties.ts";
|
|
2
|
+
export declare const LOOK_PROPERTY_KEYWORDS: ReadonlyMap<string, ReadonlySet<string>>;
|
|
3
|
+
/**
|
|
4
|
+
* D73 rule 187 — every kind whose string values are decided per property. D65
|
|
5
|
+
* rule 168 drew this line at `kind === "keyword"`, which was that wave's
|
|
6
|
+
* boundary rather than the principle: the principle is that publishing a
|
|
7
|
+
* surface which cannot be reached, or which swallows a false value, is worse
|
|
8
|
+
* than not publishing it (D50 rule 92), and that principle does not know about
|
|
9
|
+
* kinds. `metric` is absent because it answers with the sizing words when it
|
|
10
|
+
* has no table of its own, and `color`, `background` and `image` are absent
|
|
11
|
+
* because their diagnostics name a real vocabulary — a color keyword, a builder
|
|
12
|
+
* — rather than a table. `text`, `filter`, `transform` and `animation` accept
|
|
13
|
+
* arbitrary text by construction.
|
|
14
|
+
*/
|
|
15
|
+
export declare const LOOK_KEYWORD_DECIDED_KINDS: ReadonlySet<LookPropertyValueKind>;
|
|
16
|
+
/** A property's own closed values, without the CSS-wide keywords every property shares. */
|
|
17
|
+
export declare function lookOwnKeywords(property: string): readonly string[];
|
|
18
|
+
/** Closed, directly writable string values worth offering for one Look property. */
|
|
19
|
+
export declare function lookPropertyCompletionKeywords(property: string): readonly string[];
|
|
20
|
+
/** Whether a velar/look builder's result can be assigned directly to a property. */
|
|
21
|
+
export declare function lookBuilderSupportsProperty(builder: string, property: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* D67 rule 174 — how many of a property's own values a diagnostic writes out
|
|
24
|
+
* before it names the shape of the set instead.
|
|
25
|
+
*
|
|
26
|
+
* The number is not load-bearing at its exact value: the published tables fall
|
|
27
|
+
* into two clumps with nothing between them, the largest single-grammar set
|
|
28
|
+
* holding twenty-two values and the next set up holding thirty-five. Anything
|
|
29
|
+
* in that gap draws the same line. What matters is that a set on the far side
|
|
30
|
+
* of it still says something an author can act on, which is what
|
|
31
|
+
* LOOK_LARGE_KEYWORD_SETS below is for.
|
|
32
|
+
*/
|
|
33
|
+
export declare const LOOK_KEYWORD_LISTING_LIMIT = 24;
|
|
34
|
+
/**
|
|
35
|
+
* What a vocabulary too long to write out holds, in the terms the author would
|
|
36
|
+
* look it up by. A diagnostic reads this when the value it rejected is not a
|
|
37
|
+
* near miss of anything, so that "one of the closed keywords" is never the
|
|
38
|
+
* whole of the answer (D67 rule 174).
|
|
39
|
+
*/
|
|
40
|
+
export declare const LOOK_LARGE_KEYWORD_SETS: ReadonlyMap<string, string>;
|
|
41
|
+
/**
|
|
42
|
+
* D65 rule 169 — what a partly closable property leaves out, and why.
|
|
43
|
+
*
|
|
44
|
+
* Some CSS value spaces cannot be written as a set: `listStyleType` reaches
|
|
45
|
+
* into `@counter-style` names, `fontVariant` into a combination of six feature
|
|
46
|
+
* groups, `fontStretch` into percentages. Such a property publishes the subset it
|
|
47
|
+
* can close and records the remainder here, so the boundary is visible in the
|
|
48
|
+
* table and in the diagnostic instead of being waved through by a fallback
|
|
49
|
+
* vocabulary. This is the per-value sibling of LOOK_EXCLUDED_PROPERTIES, which
|
|
50
|
+
* records the properties left out whole.
|
|
51
|
+
*/
|
|
52
|
+
export declare const LOOK_PARTIAL_KEYWORD_PROPERTIES: ReadonlyMap<string, string>;
|
|
53
|
+
/** Real CSS properties deliberately outside the checked Look domain. */
|
|
54
|
+
export declare const LOOK_EXCLUDED_PROPERTIES: ReadonlyMap<string, string>;
|
|
55
|
+
//# sourceMappingURL=keywords.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keywords.d.ts","sourceRoot":"","sources":["../../src/look/keywords.ts"],"names":[],"mappings":"AA+BA,OAAO,EAA6B,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxF,eAAO,MAAM,sBAAsB,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CA8K1E,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,0BAA0B,EAAE,WAAW,CAAC,qBAAqB,CAExE,CAAC;AAmBH,2FAA2F;AAC3F,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAGnE;AAED,oFAAoF;AACpF,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CASlF;AAED,oFAAoF;AACpF,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAmBtF;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAE7C;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAM9D,CAAC;AAeH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,+BAA+B,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAsEtE,CAAC;AAMH,wEAAwE;AACxE,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAoB/D,CAAC"}
|
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Every property's own closed value set, what a diagnostic does with a set too
|
|
3
|
+
* long to write out, and the two records of what the closure deliberately leaves
|
|
4
|
+
* open — per value, and per property.
|
|
5
|
+
*/
|
|
6
|
+
import { LOOK_ANIMATION_EASINGS } from "./animation.js";
|
|
7
|
+
import { LOOK_BORDER_STYLE_NAMES, LOOK_BUILDER_SIGNATURES } from "./builders.js";
|
|
8
|
+
import { LOOK_TRANSITION_PROPERTY_KEYWORDS } from "./css-functions.js";
|
|
9
|
+
import { alignBaselinePositions, alignContentDistributions, alignContentPositions, alignSelfPositions, backgroundRepeatKeywords, colorSchemeOrderings, cssWideKeywordSet, keywords, listStylePositionKeywords, listStyleTypeKeywords, LOOK_COLOR_KEYWORDS, LOOK_CSS_WIDE_KEYWORDS, LOOK_SHARED_METRIC_KEYWORDS, lookValueOrderings, lookValuePairs, lookValueRepetitions, overscrollBehaviors, positionKeywords, scrollSnapAxes, textDecorationLineKeywords, touchActionKeywords, } from "./keyword-sets.js";
|
|
10
|
+
import { LOOK_PROPERTY_VALUE_KINDS } from "./properties.js";
|
|
11
|
+
export const LOOK_PROPERTY_KEYWORDS = new Map([
|
|
12
|
+
// D67 rule 173: `list-item` is a real display type with no other spelling, so
|
|
13
|
+
// it joins the set. The two-keyword form does not: every pair it writes has a
|
|
14
|
+
// single-keyword name already here, and the table and ruby display types stay
|
|
15
|
+
// out with the table formatting properties LOOK_EXCLUDED_PROPERTIES excludes.
|
|
16
|
+
["display", keywords("none", "block", "inline", "inline-block", "flow-root", "flex", "inline-flex", "grid", "inline-grid", "contents", "list-item")],
|
|
17
|
+
["isolation", keywords("auto", "isolate")],
|
|
18
|
+
["contain", keywords("none", "strict", "content", "size", "inline-size", "layout", "style", "paint")],
|
|
19
|
+
["backgroundSize", keywords("auto", "cover", "contain")],
|
|
20
|
+
// D67 rule 172: `backgroundPosition`, `transformOrigin` and `objectPosition`
|
|
21
|
+
// are one CSS grammar, so they are one `metric` kind reading one table. The
|
|
22
|
+
// two that used to hold five of the twenty-two placements refused
|
|
23
|
+
// `backgroundPosition = "top left"`, a value the property really has.
|
|
24
|
+
["backgroundPosition", keywords(...positionKeywords)],
|
|
25
|
+
["transformOrigin", keywords(...positionKeywords)],
|
|
26
|
+
["objectPosition", keywords(...positionKeywords)],
|
|
27
|
+
["transitionProperty", LOOK_TRANSITION_PROPERTY_KEYWORDS],
|
|
28
|
+
["transitionTimingFunction", keywords(...LOOK_ANIMATION_EASINGS)],
|
|
29
|
+
["position", keywords("static", "relative", "absolute", "fixed", "sticky")],
|
|
30
|
+
["boxSizing", keywords("content-box", "border-box")],
|
|
31
|
+
["visibility", keywords("visible", "hidden", "collapse")],
|
|
32
|
+
["overflow", keywords("visible", "hidden", "clip", "scroll", "auto")],
|
|
33
|
+
["overflowX", keywords("visible", "hidden", "clip", "scroll", "auto")],
|
|
34
|
+
["overflowY", keywords("visible", "hidden", "clip", "scroll", "auto")],
|
|
35
|
+
["objectFit", keywords("fill", "contain", "cover", "none", "scale-down")],
|
|
36
|
+
["flexDirection", keywords("row", "row-reverse", "column", "column-reverse")],
|
|
37
|
+
["flexWrap", keywords("nowrap", "wrap", "wrap-reverse")],
|
|
38
|
+
// Each of the nine takes a different selection of the alignment groups, and
|
|
39
|
+
// the differences are the property's own grammar rather than an oversight:
|
|
40
|
+
// `justifyContent` has no baseline position, `alignContent` has no
|
|
41
|
+
// self-position, and the three `place*` shorthands take only what both of
|
|
42
|
+
// their halves take.
|
|
43
|
+
["alignItems", keywords("normal", "stretch", ...alignBaselinePositions, ...alignSelfPositions)],
|
|
44
|
+
["alignContent", keywords("normal", ...alignBaselinePositions, ...alignContentDistributions, ...alignContentPositions)],
|
|
45
|
+
["alignSelf", keywords("auto", "normal", "stretch", ...alignBaselinePositions, ...alignSelfPositions)],
|
|
46
|
+
["justifyItems", keywords("normal", "stretch", ...alignBaselinePositions, ...alignSelfPositions, "left", "right")],
|
|
47
|
+
["justifyContent", keywords("normal", ...alignContentDistributions, ...alignContentPositions, "left", "right")],
|
|
48
|
+
["justifySelf", keywords("auto", "normal", "stretch", ...alignBaselinePositions, ...alignSelfPositions, "left", "right")],
|
|
49
|
+
["placeItems", keywords("normal", "stretch", ...alignBaselinePositions, ...alignSelfPositions)],
|
|
50
|
+
["placeContent", keywords("normal", ...alignContentDistributions, ...alignContentPositions)],
|
|
51
|
+
["placeSelf", keywords("auto", "normal", "stretch", ...alignBaselinePositions, ...alignSelfPositions)],
|
|
52
|
+
// D67 rule 173: `all-scroll` was the one CSS Basic UI cursor keyword missing.
|
|
53
|
+
["cursor", keywords("auto", "default", "none", "context-menu", "help", "pointer", "progress", "wait", "cell", "crosshair", "text", "vertical-text", "alias", "copy", "move", "no-drop", "not-allowed", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out")],
|
|
54
|
+
["textAlign", keywords("start", "end", "left", "right", "center", "justify", "match-parent")],
|
|
55
|
+
["textTransform", keywords("none", "capitalize", "uppercase", "lowercase", "full-width", "full-size-kana")],
|
|
56
|
+
["textDecoration", keywords(...textDecorationLineKeywords)],
|
|
57
|
+
["whiteSpace", keywords("normal", "pre", "nowrap", "pre-wrap", "pre-line", "break-spaces")],
|
|
58
|
+
["textOverflow", keywords("clip", "ellipsis")],
|
|
59
|
+
["textWrap", keywords("wrap", "nowrap", "balance", "pretty", "stable")],
|
|
60
|
+
["overflowWrap", keywords("normal", "break-word", "anywhere")],
|
|
61
|
+
["wordBreak", keywords("normal", "break-all", "keep-all", "break-word")],
|
|
62
|
+
["hyphens", keywords("none", "manual", "auto")],
|
|
63
|
+
["listStyle", keywords(...listStyleTypeKeywords, ...listStylePositionKeywords)],
|
|
64
|
+
["resize", keywords("none", "both", "horizontal", "vertical", "block", "inline")],
|
|
65
|
+
["pointerEvents", keywords("auto", "none", "visiblePainted", "visibleFill", "visibleStroke", "visible", "painted", "fill", "stroke", "all")],
|
|
66
|
+
["userSelect", keywords("auto", "text", "none", "contain", "all")],
|
|
67
|
+
["touchAction", keywords(...touchActionKeywords)],
|
|
68
|
+
["appearance", keywords("none", "auto", "textfield", "menulist-button")],
|
|
69
|
+
["scrollBehavior", keywords("auto", "smooth")],
|
|
70
|
+
["scrollbarWidth", keywords("auto", "thin", "none")],
|
|
71
|
+
["backgroundRepeat", keywords(...backgroundRepeatKeywords)],
|
|
72
|
+
["backgroundAttachment", keywords("scroll", "fixed", "local")],
|
|
73
|
+
["backgroundClip", keywords("border-box", "padding-box", "content-box", "text")],
|
|
74
|
+
["backgroundOrigin", keywords("border-box", "padding-box", "content-box")],
|
|
75
|
+
// D104 rule 3: the property an inline badge sits on. It is `metric` because
|
|
76
|
+
// its non-keyword half is a length or a percentage of the line height, and it
|
|
77
|
+
// carries its own table for the same reason `backgroundSize` does — the
|
|
78
|
+
// shared sizing words are not its vocabulary. CSS 2.1 §10.8.1 is the whole
|
|
79
|
+
// set, and nothing is recorded as left out: CSS Inline Layout 3's `first` and
|
|
80
|
+
// `last` baseline sources are unimplemented everywhere, and a `metric`
|
|
81
|
+
// property records no partial exclusion for the reason D67 rule 172 revoked
|
|
82
|
+
// `objectPosition`'s — the lengths are the unit half of the kind rather than
|
|
83
|
+
// a value space to record.
|
|
84
|
+
["verticalAlign", keywords("baseline", "sub", "super", "text-top", "text-bottom", "middle", "top", "bottom")],
|
|
85
|
+
["fontStyle", keywords("normal", "italic", "oblique")],
|
|
86
|
+
["fontKerning", keywords("auto", "normal", "none")],
|
|
87
|
+
["fontOpticalSizing", keywords("auto", "none")],
|
|
88
|
+
["writingMode", keywords("horizontal-tb", "vertical-rl", "vertical-lr")],
|
|
89
|
+
["textOrientation", keywords("mixed", "upright", "sideways")],
|
|
90
|
+
["direction", keywords("ltr", "rtl")],
|
|
91
|
+
["unicodeBidi", keywords("normal", "embed", "isolate", "bidi-override", "isolate-override", "plaintext")],
|
|
92
|
+
// ── D65 rule 168 ────────────────────────────────────────────────────────
|
|
93
|
+
// Every entry below used to be absent, and a keyword property with no
|
|
94
|
+
// vocabulary of its own fell back to a shared list that knew nothing about
|
|
95
|
+
// it: it refused `borderStyle = "groove"` and accepted `strokeLinecap =
|
|
96
|
+
// "none"`, which reaches the browser as a declaration it discards. A value
|
|
97
|
+
// set that already exists in another table is read from that table rather
|
|
98
|
+
// than restated (D57 rule 134).
|
|
99
|
+
["gridAutoFlow", keywords(...lookValueOrderings(["row", "dense"]), ...lookValueOrderings(["column", "dense"]))],
|
|
100
|
+
["backgroundBlendMode", keywords("normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity")],
|
|
101
|
+
// The five border-style properties and the border() builder's style argument
|
|
102
|
+
// are one vocabulary, so they are one table.
|
|
103
|
+
...["borderStyle", "borderTopStyle", "borderRightStyle", "borderBottomStyle", "borderLeftStyle"]
|
|
104
|
+
.map((property) => [property, keywords(...LOOK_BORDER_STYLE_NAMES)]),
|
|
105
|
+
// An outline takes the border styles plus `auto`, minus `hidden`: CSS Basic
|
|
106
|
+
// UI says `hidden` is not a legal outline style, and a border table read
|
|
107
|
+
// straight through would have published a twenty-seventh dead value.
|
|
108
|
+
["outlineStyle", keywords(...[...LOOK_BORDER_STYLE_NAMES].filter((style) => style !== "hidden"), "auto")],
|
|
109
|
+
["fontStretch", keywords("normal", "ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded")],
|
|
110
|
+
// Every single-token value of the shorthand's six sub-properties: position,
|
|
111
|
+
// caps, numeric, alternates, ligatures, and East Asian.
|
|
112
|
+
["fontVariant", keywords("normal", "none", "sub", "super", "small-caps", "all-small-caps", "petite-caps", "all-petite-caps", "titling-caps", "unicase", "lining-nums", "oldstyle-nums", "proportional-nums", "tabular-nums", "diagonal-fractions", "stacked-fractions", "ordinal", "slashed-zero", "historical-forms", "common-ligatures", "no-common-ligatures", "discretionary-ligatures", "no-discretionary-ligatures", "historical-ligatures", "no-historical-ligatures", "contextual", "no-contextual", "jis78", "jis83", "jis90", "jis04", "simplified", "traditional", "full-width", "proportional-width", "ruby")],
|
|
113
|
+
["textDecorationLine", keywords(...textDecorationLineKeywords)],
|
|
114
|
+
["textDecorationStyle", keywords("solid", "double", "dotted", "dashed", "wavy")],
|
|
115
|
+
["textUnderlinePosition", keywords("auto", "from-font", ...lookValueOrderings(["under", "left"]), ...lookValueOrderings(["under", "right"]))],
|
|
116
|
+
["textRendering", keywords("auto", "optimizeSpeed", "optimizeLegibility", "geometricPrecision")],
|
|
117
|
+
["listStyleType", keywords(...listStyleTypeKeywords)],
|
|
118
|
+
["listStylePosition", keywords(...listStylePositionKeywords)],
|
|
119
|
+
["strokeLinecap", keywords("butt", "round", "square")],
|
|
120
|
+
["strokeLinejoin", keywords("miter", "round", "bevel")],
|
|
121
|
+
["colorScheme", keywords("normal", ...colorSchemeOrderings.flatMap((schemes) => [schemes, `only ${schemes}`, `${schemes} only`]))],
|
|
122
|
+
["scrollSnapAlign", keywords(...lookValueRepetitions(["none", "start", "end", "center"]))],
|
|
123
|
+
["scrollSnapStop", keywords("normal", "always")],
|
|
124
|
+
["scrollSnapType", keywords("none", ...scrollSnapAxes, ...lookValuePairs(scrollSnapAxes, ["mandatory", "proximity"]))],
|
|
125
|
+
["overscrollBehavior", keywords(...lookValueRepetitions(overscrollBehaviors))],
|
|
126
|
+
["overscrollBehaviorX", keywords(...overscrollBehaviors)],
|
|
127
|
+
["overscrollBehaviorY", keywords(...overscrollBehaviors)],
|
|
128
|
+
// ── D73 rule 187: the kinds outside `keyword` that also decide a string ────
|
|
129
|
+
// Each of these used to be answered by a 46-word list shared across every
|
|
130
|
+
// property that had no table of its own. That list both accepted values the
|
|
131
|
+
// property never had — `fontWeight = "circle"` compiled and reached CSS as a
|
|
132
|
+
// declaration the browser drops — and made the diagnostic promise "the closed
|
|
133
|
+
// fontWeight keywords", a table that did not exist. The sets below come from
|
|
134
|
+
// the CSS grammar of each property; what the grammar leaves open is recorded
|
|
135
|
+
// in LOOK_PARTIAL_KEYWORD_PROPERTIES rather than waved through.
|
|
136
|
+
// The shorthands whose non-keyword values are written with a builder. `none`
|
|
137
|
+
// is the whole of their keyword half.
|
|
138
|
+
...["border", "borderTop", "borderRight", "borderBottom", "borderLeft", "outline"]
|
|
139
|
+
.map((property) => [property, keywords("none")]),
|
|
140
|
+
["boxShadow", keywords("none")],
|
|
141
|
+
["textShadow", keywords("none")],
|
|
142
|
+
// CSS Fonts 4: the four named weights. The numeric half is the `number` this
|
|
143
|
+
// property's type already accepts.
|
|
144
|
+
["fontWeight", keywords("normal", "bold", "bolder", "lighter")],
|
|
145
|
+
["aspectRatio", keywords("auto")],
|
|
146
|
+
["scale", keywords("none")],
|
|
147
|
+
// CSS Flexbox 1: the single-token forms of the shorthand — `none`, and the
|
|
148
|
+
// `<'flex-basis'>` keywords, which are the sizing words.
|
|
149
|
+
["flex", keywords("none", "auto", "content", "min-content", "max-content", "fit-content")],
|
|
150
|
+
["lineHeight", keywords("normal")],
|
|
151
|
+
["rotate", keywords("none")],
|
|
152
|
+
// CSS Transitions: `<time>#`. There is no keyword half at all, so the closed
|
|
153
|
+
// set is the CSS-wide words and nothing else — which is a truthful answer
|
|
154
|
+
// where "one of the closed keywords" was not.
|
|
155
|
+
["transitionDuration", keywords()],
|
|
156
|
+
["transitionDelay", keywords()],
|
|
157
|
+
["transition", keywords("none")],
|
|
158
|
+
["opacity", keywords()],
|
|
159
|
+
["zIndex", keywords("auto")],
|
|
160
|
+
["flexGrow", keywords()],
|
|
161
|
+
["flexShrink", keywords()],
|
|
162
|
+
["order", keywords()],
|
|
163
|
+
["tabSize", keywords()],
|
|
164
|
+
// CSS Grid: a template is written with `tracks(...)`, so `none` is its only
|
|
165
|
+
// text. An implicit track takes the three `<track-size>` keywords.
|
|
166
|
+
["gridTemplateColumns", keywords("none")],
|
|
167
|
+
["gridTemplateRows", keywords("none")],
|
|
168
|
+
["gridAutoColumns", keywords("auto", "min-content", "max-content")],
|
|
169
|
+
["gridAutoRows", keywords("auto", "min-content", "max-content")],
|
|
170
|
+
]);
|
|
171
|
+
/**
|
|
172
|
+
* D73 rule 187 — every kind whose string values are decided per property. D65
|
|
173
|
+
* rule 168 drew this line at `kind === "keyword"`, which was that wave's
|
|
174
|
+
* boundary rather than the principle: the principle is that publishing a
|
|
175
|
+
* surface which cannot be reached, or which swallows a false value, is worse
|
|
176
|
+
* than not publishing it (D50 rule 92), and that principle does not know about
|
|
177
|
+
* kinds. `metric` is absent because it answers with the sizing words when it
|
|
178
|
+
* has no table of its own, and `color`, `background` and `image` are absent
|
|
179
|
+
* because their diagnostics name a real vocabulary — a color keyword, a builder
|
|
180
|
+
* — rather than a table. `text`, `filter`, `transform` and `animation` accept
|
|
181
|
+
* arbitrary text by construction.
|
|
182
|
+
*/
|
|
183
|
+
export const LOOK_KEYWORD_DECIDED_KINDS = new Set([
|
|
184
|
+
"keyword", "border", "shadow", "number", "number-keyword", "line-height", "angle", "duration", "track", "transition",
|
|
185
|
+
]);
|
|
186
|
+
/**
|
|
187
|
+
* D65 rule 168, widened by D73 rule 187 — a property whose values are decided
|
|
188
|
+
* per property carries its own closed set or the module refuses to load. The
|
|
189
|
+
* shared fallback vocabulary this replaces was worse than a missing check: it
|
|
190
|
+
* decided values for a property it had never heard of, so the same table that
|
|
191
|
+
* rejected `listStyleType = "upper-roman"` accepted `colorScheme = "none"` and
|
|
192
|
+
* `fontWeight = "circle"` and emitted them as declarations the browser drops.
|
|
193
|
+
* A published name whose values are decided by a table that does not know the
|
|
194
|
+
* property is not a checked property, so this is a load-time fact rather than
|
|
195
|
+
* a test — the same shape as the value-kind invariant above.
|
|
196
|
+
*/
|
|
197
|
+
for (const [property, kind] of LOOK_PROPERTY_VALUE_KINDS) {
|
|
198
|
+
if (LOOK_KEYWORD_DECIDED_KINDS.has(kind) && !LOOK_PROPERTY_KEYWORDS.has(property)) {
|
|
199
|
+
throw new Error(`Look property '${property}' accepts string keywords and has no closed keyword set`);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
/** A property's own closed values, without the CSS-wide keywords every property shares. */
|
|
203
|
+
export function lookOwnKeywords(property) {
|
|
204
|
+
const values = LOOK_PROPERTY_KEYWORDS.get(property);
|
|
205
|
+
return values === undefined ? [] : [...values].filter((value) => !cssWideKeywordSet.has(value));
|
|
206
|
+
}
|
|
207
|
+
/** Closed, directly writable string values worth offering for one Look property. */
|
|
208
|
+
export function lookPropertyCompletionKeywords(property) {
|
|
209
|
+
const kind = LOOK_PROPERTY_VALUE_KINDS.get(property);
|
|
210
|
+
if (!kind || kind === "animation")
|
|
211
|
+
return [];
|
|
212
|
+
const own = LOOK_PROPERTY_KEYWORDS.get(property);
|
|
213
|
+
if (kind === "metric" && own === undefined)
|
|
214
|
+
return [...LOOK_CSS_WIDE_KEYWORDS, ...LOOK_SHARED_METRIC_KEYWORDS];
|
|
215
|
+
if (kind === "color" || kind === "background")
|
|
216
|
+
return LOOK_COLOR_KEYWORDS;
|
|
217
|
+
if (kind === "image" || kind === "filter" || kind === "transform")
|
|
218
|
+
return [...LOOK_CSS_WIDE_KEYWORDS, "none"];
|
|
219
|
+
if (kind === "text")
|
|
220
|
+
return LOOK_CSS_WIDE_KEYWORDS;
|
|
221
|
+
return own === undefined ? LOOK_CSS_WIDE_KEYWORDS : [...own];
|
|
222
|
+
}
|
|
223
|
+
/** Whether a velar/look builder's result can be assigned directly to a property. */
|
|
224
|
+
export function lookBuilderSupportsProperty(builder, property) {
|
|
225
|
+
const result = LOOK_BUILDER_SIGNATURES.get(builder)?.result;
|
|
226
|
+
const kind = LOOK_PROPERTY_VALUE_KINDS.get(property);
|
|
227
|
+
if (!result || !kind)
|
|
228
|
+
return false;
|
|
229
|
+
switch (result) {
|
|
230
|
+
case "string": return kind !== "animation";
|
|
231
|
+
case "animation": return kind === "animation";
|
|
232
|
+
case "border": return kind === "border";
|
|
233
|
+
case "color": return kind === "color" || kind === "background";
|
|
234
|
+
case "filter": return kind === "filter";
|
|
235
|
+
case "image": return kind === "image" || kind === "background";
|
|
236
|
+
case "length": return kind === "metric" || kind === "line-height";
|
|
237
|
+
case "length-percentage": return kind === "metric"; // a percentage is no bare line height
|
|
238
|
+
case "shadow": return kind === "shadow";
|
|
239
|
+
case "spacing": return kind === "metric" || kind === "number-keyword";
|
|
240
|
+
case "track": return false;
|
|
241
|
+
case "track-list": return kind === "track";
|
|
242
|
+
case "transition": return kind === "transition";
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* D67 rule 174 — how many of a property's own values a diagnostic writes out
|
|
247
|
+
* before it names the shape of the set instead.
|
|
248
|
+
*
|
|
249
|
+
* The number is not load-bearing at its exact value: the published tables fall
|
|
250
|
+
* into two clumps with nothing between them, the largest single-grammar set
|
|
251
|
+
* holding twenty-two values and the next set up holding thirty-five. Anything
|
|
252
|
+
* in that gap draws the same line. What matters is that a set on the far side
|
|
253
|
+
* of it still says something an author can act on, which is what
|
|
254
|
+
* LOOK_LARGE_KEYWORD_SETS below is for.
|
|
255
|
+
*/
|
|
256
|
+
export const LOOK_KEYWORD_LISTING_LIMIT = 24;
|
|
257
|
+
/**
|
|
258
|
+
* What a vocabulary too long to write out holds, in the terms the author would
|
|
259
|
+
* look it up by. A diagnostic reads this when the value it rejected is not a
|
|
260
|
+
* near miss of anything, so that "one of the closed keywords" is never the
|
|
261
|
+
* whole of the answer (D67 rule 174).
|
|
262
|
+
*/
|
|
263
|
+
export const LOOK_LARGE_KEYWORD_SETS = new Map([
|
|
264
|
+
["cursor", "the CSS Basic UI cursor keywords, including the eight directional and four bidirectional resize cursors"],
|
|
265
|
+
["fontVariant", "the single-token values of the six font-variant feature groups: position, caps, numeric, alternates, ligatures, and East Asian"],
|
|
266
|
+
["listStyleType", "the predefined counter styles of CSS Counter Styles 3, by numeric, alphabetic, symbolic, fixed, and complex system"],
|
|
267
|
+
["listStyle", "the predefined counter styles of CSS Counter Styles 3 plus the inside and outside marker positions"],
|
|
268
|
+
["transitionProperty", "none, all, and the CSS spelling of every animatable Look property"],
|
|
269
|
+
]);
|
|
270
|
+
for (const [property] of LOOK_PROPERTY_KEYWORDS) {
|
|
271
|
+
const own = lookOwnKeywords(property);
|
|
272
|
+
if (own.length > LOOK_KEYWORD_LISTING_LIMIT && !LOOK_LARGE_KEYWORD_SETS.has(property)) {
|
|
273
|
+
throw new Error(`Look property '${property}' publishes ${own.length} keywords, more than a diagnostic writes out, and records no description of what the set holds`);
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
for (const [property] of LOOK_LARGE_KEYWORD_SETS) {
|
|
277
|
+
if (lookOwnKeywords(property).length <= LOOK_KEYWORD_LISTING_LIMIT) {
|
|
278
|
+
throw new Error(`Look property '${property}' describes its keyword set but is small enough to write out, so the description would never be read`);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* D65 rule 169 — what a partly closable property leaves out, and why.
|
|
283
|
+
*
|
|
284
|
+
* Some CSS value spaces cannot be written as a set: `listStyleType` reaches
|
|
285
|
+
* into `@counter-style` names, `fontVariant` into a combination of six feature
|
|
286
|
+
* groups, `fontStretch` into percentages. Such a property publishes the subset it
|
|
287
|
+
* can close and records the remainder here, so the boundary is visible in the
|
|
288
|
+
* table and in the diagnostic instead of being waved through by a fallback
|
|
289
|
+
* vocabulary. This is the per-value sibling of LOOK_EXCLUDED_PROPERTIES, which
|
|
290
|
+
* records the properties left out whole.
|
|
291
|
+
*/
|
|
292
|
+
export const LOOK_PARTIAL_KEYWORD_PROPERTIES = new Map([
|
|
293
|
+
// D67 rule 172 revoked `objectPosition`'s record: the lengths it named as
|
|
294
|
+
// excluded are the unit half of the `metric` kind it now shares with the
|
|
295
|
+
// other two `<position>` properties, so nothing is left out to record.
|
|
296
|
+
["contain", "Combinations of size, layout, style and paint are outside the closed set, which holds the single tokens plus the named strict and content shorthands"],
|
|
297
|
+
["backgroundBlendMode", "A comma-separated per-layer blend list is outside the closed set, because a checked Look background is one layer"],
|
|
298
|
+
["borderStyle", "The one-to-four value per-side form is outside the closed set; borderTopStyle, borderRightStyle, borderBottomStyle and borderLeftStyle write it"],
|
|
299
|
+
["fontStretch", "Percentage font widths are outside the closed set, which holds the named widths"],
|
|
300
|
+
["fontVariant", "Combining feature groups in one value, and the annotation(), character-variant(), ornaments(), styleset() and swash() notations, are outside the closed set, which holds each group's single-token values; fontFeatureSettings carries a combination"],
|
|
301
|
+
["textDecorationLine", "The blink line is outside the closed set: browsers parse it and draw nothing, so it is a declaration with no effect. The spelling-error and grammar-error lines are outside it too, because a document cannot ask for them the way a spell checker does"],
|
|
302
|
+
["strokeLinejoin", "The SVG2 arcs and miter-clip joins are outside the closed set, because no browser implements them"],
|
|
303
|
+
["textDecoration", "The style, color and thickness parts of the shorthand are outside the closed set; textDecorationStyle, textDecorationColor and textDecorationThickness write them"],
|
|
304
|
+
["listStyle", "The image part and multi-part combinations of the shorthand are outside the closed set; listStyleType, listStylePosition and listStyleImage write them"],
|
|
305
|
+
["listStyleType", "A literal string marker and a custom @counter-style name are outside the closed set, which holds the predefined counter styles"],
|
|
306
|
+
// ── D67 rule 173 ────────────────────────────────────────────────────────
|
|
307
|
+
// The rest of the seventy-seven, recorded rather than completed. Rule 173's
|
|
308
|
+
// deliverable is the boundary, not the value count: a property may publish a
|
|
309
|
+
// subset of its CSS grammar as long as the subset's edge is written down here
|
|
310
|
+
// and the diagnostic reads it out. Each entry below names a value space that
|
|
311
|
+
// is open (a string, an angle, a custom ident), redundant with a spelling the
|
|
312
|
+
// set already holds, owned by another property, or unimplemented.
|
|
313
|
+
["display", "The two-keyword <display-outside> <display-inside> form is outside the closed set, and writes nothing the single-keyword names here do not: block flow is block, inline flow-root is inline-block. The table, ruby and run-in display types are outside it too, with the table formatting properties and for the same reason"],
|
|
314
|
+
["overflow", "The two-value x y form is outside the closed set; overflowX and overflowY write it"],
|
|
315
|
+
["fontStyle", "An oblique slant angle such as 'oblique 14deg' is outside the closed set, which holds the named slants"],
|
|
316
|
+
["textOverflow", "A literal ellipsis string, and the two-value start end form, are outside the closed set, which holds clip and ellipsis"],
|
|
317
|
+
["textAlign", "The justify-all keyword is outside the closed set, because no browser justifies the last line for it"],
|
|
318
|
+
["textTransform", "Combining a case transform with full-width or full-size-kana in one value is outside the closed set, which holds each of them alone"],
|
|
319
|
+
["writingMode", "The sideways-rl and sideways-lr modes are outside the closed set, because only one browser engine implements them"],
|
|
320
|
+
["touchAction", "Combining a horizontal pan, a vertical pan and pinch-zoom in one value is outside the closed set, which holds each of them alone"],
|
|
321
|
+
["appearance", "The compat-auto aliases such as button, checkbox and menulist are outside the closed set, because each of them renders exactly as auto"],
|
|
322
|
+
["colorScheme", "A custom scheme ident is outside the closed set, which holds the two schemes 'if scheme.dark:' conditions on"],
|
|
323
|
+
["cursor", "A url() cursor image and its fallback list are outside the closed set, which holds the keyword cursors"],
|
|
324
|
+
// D49 gave `animate(easing=)` and this property one easing table, so the
|
|
325
|
+
// functions absent from it are absent on purpose. Recording that is how the
|
|
326
|
+
// closure stays legible without being mistaken for a gap to fill.
|
|
327
|
+
["transitionTimingFunction", "The cubic-bezier(), steps() and linear() easing functions are outside the closed set, which is the same easing table animate(easing=) reads"],
|
|
328
|
+
// D60 rule 150 derived this set from the Look property table minus the
|
|
329
|
+
// properties that do not interpolate. The subtraction is the boundary.
|
|
330
|
+
["transitionProperty", "A property whose value does not interpolate is outside the closed set, for the same reason a 'keyframes:' stop rejects it"],
|
|
331
|
+
// The nine Box Alignment properties. Each records the overflow-position
|
|
332
|
+
// prefixes; the three shorthands also record the two-value form, the way
|
|
333
|
+
// borderStyle records its per-side form.
|
|
334
|
+
...["alignItems", "alignContent", "alignSelf", "justifyItems", "justifyContent", "justifySelf"]
|
|
335
|
+
.map((property) => [property, "The safe and unsafe overflow-position prefixes are outside the closed set, which holds the alignments themselves"]),
|
|
336
|
+
["placeItems", "The two-value form and the safe and unsafe overflow-position prefixes are outside the closed set; alignItems and justifyItems write the two halves separately"],
|
|
337
|
+
["placeContent", "The two-value form and the safe and unsafe overflow-position prefixes are outside the closed set; alignContent and justifyContent write the two halves separately"],
|
|
338
|
+
["placeSelf", "The two-value form and the safe and unsafe overflow-position prefixes are outside the closed set; alignSelf and justifySelf write the two halves separately"],
|
|
339
|
+
// The background layer properties. A checked Look background is one layer,
|
|
340
|
+
// which is one design fact met in five places, so it is recorded in all five.
|
|
341
|
+
...["backgroundRepeat", "backgroundAttachment", "backgroundClip", "backgroundOrigin"]
|
|
342
|
+
.map((property) => [property, "A comma-separated per-layer list is outside the closed set, because a checked Look background is one layer"]),
|
|
343
|
+
// ── D73 rule 187: what the newly closed kinds leave open ───────────────────
|
|
344
|
+
// Each of these has a real CSS value space that no set can hold, and each has
|
|
345
|
+
// a checked Look spelling that reaches it. Recording that is what keeps the
|
|
346
|
+
// closure legible rather than looking like a gap to fill.
|
|
347
|
+
...["border", "borderTop", "borderRight", "borderBottom", "borderLeft", "outline"]
|
|
348
|
+
.map((property) => [property, "The width, style and color halves are outside the closed set; they are written with the border(width, color, style) builder"]),
|
|
349
|
+
...["boxShadow", "textShadow"]
|
|
350
|
+
.map((property) => [property, "The offsets, blur, spread and color are outside the closed set; they are written with the shadow(x, y, blur, color) builder"]),
|
|
351
|
+
["aspectRatio", "The <ratio> form such as 16 / 9 is outside the closed set; write the ratio as a number"],
|
|
352
|
+
["scale", "The two- and three-axis forms are outside the closed set; a single number scales every axis"],
|
|
353
|
+
["flex", "The multi-value form such as 1 1 auto is outside the closed set; write flexGrow, flexShrink and flexBasis separately"],
|
|
354
|
+
["rotate", "The axis forms such as x 45deg are outside the closed set; a plain angle rotates in the plane"],
|
|
355
|
+
["transition", "Every transition other than none is outside the closed set; it is written with the transition(property, duration, easing, delay) builder, for the same reason a multi-part border string is"],
|
|
356
|
+
...["gridTemplateColumns", "gridTemplateRows"]
|
|
357
|
+
.map((property) => [property, "Track lists, subgrid and masonry are outside the closed set; a track list is written with the tracks(...) builder"]),
|
|
358
|
+
...["gridAutoColumns", "gridAutoRows"]
|
|
359
|
+
.map((property) => [property, "The minmax() and fit-content() track functions are outside the closed set; they are written with the minmax(...) builder inside tracks(...)"]),
|
|
360
|
+
]);
|
|
361
|
+
for (const [property] of LOOK_PARTIAL_KEYWORD_PROPERTIES) {
|
|
362
|
+
if (!LOOK_PROPERTY_KEYWORDS.has(property))
|
|
363
|
+
throw new Error(`Look property '${property}' records an excluded value space but publishes no keyword set`);
|
|
364
|
+
}
|
|
365
|
+
/** Real CSS properties deliberately outside the checked Look domain. */
|
|
366
|
+
export const LOOK_EXCLUDED_PROPERTIES = new Map([
|
|
367
|
+
// D104 rule 1. `font` was a published `text` property, so `font =
|
|
368
|
+
// token("--ui-font-body")` type-checked, emitted `font:var(--…)`, and — when
|
|
369
|
+
// the token held a size and no family — was invalid at computed-value time,
|
|
370
|
+
// which resets every longhand the shorthand owns rather than dropping one
|
|
371
|
+
// declaration. Look emits one rule per property, so that reset reached the
|
|
372
|
+
// font-weight, font-family and line-height written three lines above it: a
|
|
373
|
+
// consumer carried thirty-six such declarations, none of them live and none
|
|
374
|
+
// of them diagnosed. Nothing in the value was checkable, because free text is
|
|
375
|
+
// what the kind accepted; and nothing needed to be, because this family
|
|
376
|
+
// publishes every part of the shorthand as a checked longhand. That is the
|
|
377
|
+
// surface D50 rule 92 calls worse than publishing nothing.
|
|
378
|
+
["font", "the font shorthand is owned by its longhands — fontStyle, fontVariant, fontWeight, fontStretch, fontSize, lineHeight and fontFamily — because a shorthand's value is free text no compile can check, and a value that is not a legal shorthand fails at computed-value time and resets all seven, including the ones written beside it. A design token carrying a size belongs in fontSize"],
|
|
379
|
+
["float", "legacy float layout is outside the Grid and Flex layout model"],
|
|
380
|
+
["clear", "legacy float clearing is outside the Grid and Flex layout model"],
|
|
381
|
+
...["tableLayout", "borderCollapse", "borderSpacing", "captionSide", "emptyCells"].map((name) => [name, "table formatting properties remain excluded until a typed table-layout contract has evidence"]),
|
|
382
|
+
...["columns", "columnCount", "columnWidth", "columnFill", "columnRule", "columnRuleColor", "columnRuleStyle", "columnRuleWidth", "columnSpan"].map((name) => [name, "multi-column layout remains excluded until its value and fragmentation model is typed"]),
|
|
383
|
+
...["animationName", "animationDuration", "animationTimingFunction", "animationDelay", "animationIterationCount", "animationDirection", "animationFillMode", "animationPlayState", "animationTimeline", "animationRangeStart", "animationRangeEnd"].map((name) => [name, "animation longhands are owned by keyframes plus animate()"]),
|
|
384
|
+
...["counterIncrement", "counterReset", "counterSet", "quotes"].map((name) => [name, "generated-content counters and quoting are not modeled by checked Look values"]),
|
|
385
|
+
...["breakAfter", "breakBefore", "breakInside", "orphans", "widows"].map((name) => [name, "paged and fragmented media are outside the Web application target"]),
|
|
386
|
+
]);
|
|
387
|
+
//# sourceMappingURL=keywords.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keywords.js","sourceRoot":"","sources":["../../src/look/keywords.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a Look condition matches on and what a Look block targets: the media
|
|
3
|
+
* subjects, the element states spelled `@hook`, and the visual targets spelled
|
|
4
|
+
* `@target`.
|
|
5
|
+
*/
|
|
6
|
+
export declare const LOOK_MEDIA_LENGTH_UNITS: Set<string>;
|
|
7
|
+
/**
|
|
8
|
+
* The closed set of media-condition subjects a Look condition may name. Every
|
|
9
|
+
* subject lowers to a CSS media query, so the whole set stays live for the
|
|
10
|
+
* lifetime of the page. The names are reserved bindings in a Web module: a
|
|
11
|
+
* user binding of the same name would otherwise be shadowed by this table
|
|
12
|
+
* inside Look conditions only (LOK-D4).
|
|
13
|
+
*/
|
|
14
|
+
export declare const LOOK_MEDIA_SUBJECTS: ReadonlyMap<string, ReadonlySet<string>>;
|
|
15
|
+
/** Media features a Web developer may reach for that Look deliberately omits. */
|
|
16
|
+
export declare const LOOK_ABSENT_MEDIA_SUBJECTS: Set<string>;
|
|
17
|
+
export declare const LOOK_HOOKS: Set<string>;
|
|
18
|
+
export declare const LOOK_TARGETS: Set<string>;
|
|
19
|
+
//# sourceMappingURL=media.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/look/media.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,aAA+B,CAAC;AAEpE;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAIvE,CAAC;AAEH,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,aAA+H,CAAC;AAEvK,eAAO,MAAM,UAAU,aAErB,CAAC;AAEH,eAAO,MAAM,YAAY,aAEvB,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a Look condition matches on and what a Look block targets: the media
|
|
3
|
+
* subjects, the element states spelled `@hook`, and the visual targets spelled
|
|
4
|
+
* `@target`.
|
|
5
|
+
*/
|
|
6
|
+
export const LOOK_MEDIA_LENGTH_UNITS = new Set(["px", "rem", "em"]);
|
|
7
|
+
/**
|
|
8
|
+
* The closed set of media-condition subjects a Look condition may name. Every
|
|
9
|
+
* subject lowers to a CSS media query, so the whole set stays live for the
|
|
10
|
+
* lifetime of the page. The names are reserved bindings in a Web module: a
|
|
11
|
+
* user binding of the same name would otherwise be shadowed by this table
|
|
12
|
+
* inside Look conditions only (LOK-D4).
|
|
13
|
+
*/
|
|
14
|
+
export const LOOK_MEDIA_SUBJECTS = new Map([
|
|
15
|
+
["viewport", new Set(["width", "height"])],
|
|
16
|
+
["scheme", new Set(["dark", "light"])],
|
|
17
|
+
["motion", new Set(["reduced"])],
|
|
18
|
+
]);
|
|
19
|
+
/** Media features a Web developer may reach for that Look deliberately omits. */
|
|
20
|
+
export const LOOK_ABSENT_MEDIA_SUBJECTS = new Set(["container", "print", "orientation", "screen", "device", "pointer", "resolution", "display", "contrast", "colors"]);
|
|
21
|
+
export const LOOK_HOOKS = new Set([
|
|
22
|
+
"hover", "focus", "focusVisible", "active", "current", "disabled", "checked", "invalid", "open",
|
|
23
|
+
]);
|
|
24
|
+
export const LOOK_TARGETS = new Set([
|
|
25
|
+
"before", "after", "backdrop", "placeholder", "selection", "marker", "fileSelectorButton",
|
|
26
|
+
]);
|
|
27
|
+
//# sourceMappingURL=media.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/look/media.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAEpE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAA6C,IAAI,GAAG,CAAC;IACnF,CAAC,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtC,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;CACjC,CAAC,CAAC;AAEH,iFAAiF;AACjF,MAAM,CAAC,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEvK,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IAChC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM;CAChG,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAClC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,EAAE,oBAAoB;CAC1F,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** How a Look name is spelled in CSS, and which published name a misspelling meant. */
|
|
2
|
+
export declare function cssPropertyName(name: string): string;
|
|
3
|
+
/**
|
|
4
|
+
* The closest vocabulary entry to a misspelling, or null when nothing is close
|
|
5
|
+
* enough to name. Case differences and one or two edits count as near misses;
|
|
6
|
+
* anything further apart is a different word and gets the full vocabulary.
|
|
7
|
+
*/
|
|
8
|
+
export declare function nearestLookName(name: string, vocabulary: Iterable<string>): string | null;
|
|
9
|
+
//# sourceMappingURL=naming.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/look/naming.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AA0BD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAYzF"}
|