@fieldia/designer 0.0.0-stage → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +354 -2
- package/angular/editors.d.mts +32 -0
- package/angular/editors.mjs +64 -0
- package/angular/editors.mjs.map +1 -0
- package/angular/index.d.mts +1 -0
- package/angular/index.mjs +2 -0
- package/angular/index.mjs.map +1 -0
- package/package.json +77 -3
- package/src/index.d.mts +4 -0
- package/src/index.d.ts +4 -0
- package/src/index.js +8 -0
- package/src/index.js.map +1 -0
- package/src/index.mjs +5 -0
- package/src/index.mjs.map +1 -0
- package/src/lib/app-kinds-ui.d.mts +25 -0
- package/src/lib/app-kinds-ui.d.ts +25 -0
- package/src/lib/app-kinds-ui.js +73 -0
- package/src/lib/app-kinds-ui.js.map +1 -0
- package/src/lib/app-kinds-ui.mjs +67 -0
- package/src/lib/app-kinds-ui.mjs.map +1 -0
- package/src/lib/app-kinds.d.mts +67 -0
- package/src/lib/app-kinds.d.ts +67 -0
- package/src/lib/app-kinds.js +39 -0
- package/src/lib/app-kinds.js.map +1 -0
- package/src/lib/app-kinds.mjs +34 -0
- package/src/lib/app-kinds.mjs.map +1 -0
- package/src/lib/assistant-box.d.mts +34 -0
- package/src/lib/assistant-box.d.ts +34 -0
- package/src/lib/assistant-box.js +109 -0
- package/src/lib/assistant-box.js.map +1 -0
- package/src/lib/assistant-box.mjs +106 -0
- package/src/lib/assistant-box.mjs.map +1 -0
- package/src/lib/assistant-dialog.d.mts +20 -0
- package/src/lib/assistant-dialog.d.ts +20 -0
- package/src/lib/assistant-dialog.js +63 -0
- package/src/lib/assistant-dialog.js.map +1 -0
- package/src/lib/assistant-dialog.mjs +60 -0
- package/src/lib/assistant-dialog.mjs.map +1 -0
- package/src/lib/assistant.d.mts +44 -0
- package/src/lib/assistant.d.ts +44 -0
- package/src/lib/assistant.js +58 -0
- package/src/lib/assistant.js.map +1 -0
- package/src/lib/assistant.mjs +54 -0
- package/src/lib/assistant.mjs.map +1 -0
- package/src/lib/branch-map.d.mts +26 -0
- package/src/lib/branch-map.d.ts +26 -0
- package/src/lib/branch-map.js +110 -0
- package/src/lib/branch-map.js.map +1 -0
- package/src/lib/branch-map.mjs +106 -0
- package/src/lib/branch-map.mjs.map +1 -0
- package/src/lib/canvas-advanced.d.mts +40 -0
- package/src/lib/canvas-advanced.d.ts +40 -0
- package/src/lib/canvas-advanced.js +247 -0
- package/src/lib/canvas-advanced.js.map +1 -0
- package/src/lib/canvas-advanced.mjs +242 -0
- package/src/lib/canvas-advanced.mjs.map +1 -0
- package/src/lib/canvas-blocks.d.mts +21 -0
- package/src/lib/canvas-blocks.d.ts +21 -0
- package/src/lib/canvas-blocks.js +92 -0
- package/src/lib/canvas-blocks.js.map +1 -0
- package/src/lib/canvas-blocks.mjs +89 -0
- package/src/lib/canvas-blocks.mjs.map +1 -0
- package/src/lib/canvas-drag.d.mts +64 -0
- package/src/lib/canvas-drag.d.ts +64 -0
- package/src/lib/canvas-drag.js +301 -0
- package/src/lib/canvas-drag.js.map +1 -0
- package/src/lib/canvas-drag.mjs +297 -0
- package/src/lib/canvas-drag.mjs.map +1 -0
- package/src/lib/canvas-drop.d.mts +51 -0
- package/src/lib/canvas-drop.d.ts +51 -0
- package/src/lib/canvas-drop.js +171 -0
- package/src/lib/canvas-drop.js.map +1 -0
- package/src/lib/canvas-drop.mjs +165 -0
- package/src/lib/canvas-drop.mjs.map +1 -0
- package/src/lib/canvas-fold.d.mts +14 -0
- package/src/lib/canvas-fold.d.ts +14 -0
- package/src/lib/canvas-fold.js +23 -0
- package/src/lib/canvas-fold.js.map +1 -0
- package/src/lib/canvas-fold.mjs +20 -0
- package/src/lib/canvas-fold.mjs.map +1 -0
- package/src/lib/canvas-form.d.mts +28 -0
- package/src/lib/canvas-form.d.ts +28 -0
- package/src/lib/canvas-form.js +125 -0
- package/src/lib/canvas-form.js.map +1 -0
- package/src/lib/canvas-form.mjs +122 -0
- package/src/lib/canvas-form.mjs.map +1 -0
- package/src/lib/canvas-guides.d.mts +24 -0
- package/src/lib/canvas-guides.d.ts +24 -0
- package/src/lib/canvas-guides.js +100 -0
- package/src/lib/canvas-guides.js.map +1 -0
- package/src/lib/canvas-guides.mjs +96 -0
- package/src/lib/canvas-guides.mjs.map +1 -0
- package/src/lib/canvas-header.d.mts +26 -0
- package/src/lib/canvas-header.d.ts +26 -0
- package/src/lib/canvas-header.js +206 -0
- package/src/lib/canvas-header.js.map +1 -0
- package/src/lib/canvas-header.mjs +203 -0
- package/src/lib/canvas-header.mjs.map +1 -0
- package/src/lib/canvas-icons.d.mts +6 -0
- package/src/lib/canvas-icons.d.ts +6 -0
- package/src/lib/canvas-icons.js +31 -0
- package/src/lib/canvas-icons.js.map +1 -0
- package/src/lib/canvas-icons.mjs +28 -0
- package/src/lib/canvas-icons.mjs.map +1 -0
- package/src/lib/canvas-keys.d.mts +46 -0
- package/src/lib/canvas-keys.d.ts +46 -0
- package/src/lib/canvas-keys.js +114 -0
- package/src/lib/canvas-keys.js.map +1 -0
- package/src/lib/canvas-keys.mjs +109 -0
- package/src/lib/canvas-keys.mjs.map +1 -0
- package/src/lib/canvas-mode.d.mts +21 -0
- package/src/lib/canvas-mode.d.ts +21 -0
- package/src/lib/canvas-mode.js +53 -0
- package/src/lib/canvas-mode.js.map +1 -0
- package/src/lib/canvas-mode.mjs +47 -0
- package/src/lib/canvas-mode.mjs.map +1 -0
- package/src/lib/canvas-multi.d.mts +20 -0
- package/src/lib/canvas-multi.d.ts +20 -0
- package/src/lib/canvas-multi.js +56 -0
- package/src/lib/canvas-multi.js.map +1 -0
- package/src/lib/canvas-multi.mjs +53 -0
- package/src/lib/canvas-multi.mjs.map +1 -0
- package/src/lib/canvas-resize.d.mts +72 -0
- package/src/lib/canvas-resize.d.ts +72 -0
- package/src/lib/canvas-resize.js +177 -0
- package/src/lib/canvas-resize.js.map +1 -0
- package/src/lib/canvas-resize.mjs +168 -0
- package/src/lib/canvas-resize.mjs.map +1 -0
- package/src/lib/canvas-size.d.mts +42 -0
- package/src/lib/canvas-size.d.ts +42 -0
- package/src/lib/canvas-size.js +108 -0
- package/src/lib/canvas-size.js.map +1 -0
- package/src/lib/canvas-size.mjs +98 -0
- package/src/lib/canvas-size.mjs.map +1 -0
- package/src/lib/canvas-width.d.mts +55 -0
- package/src/lib/canvas-width.d.ts +55 -0
- package/src/lib/canvas-width.js +345 -0
- package/src/lib/canvas-width.js.map +1 -0
- package/src/lib/canvas-width.mjs +339 -0
- package/src/lib/canvas-width.mjs.map +1 -0
- package/src/lib/choice-commands.d.mts +36 -0
- package/src/lib/choice-commands.d.ts +36 -0
- package/src/lib/choice-commands.js +108 -0
- package/src/lib/choice-commands.js.map +1 -0
- package/src/lib/choice-commands.mjs +104 -0
- package/src/lib/choice-commands.mjs.map +1 -0
- package/src/lib/chrome-language.d.mts +34 -0
- package/src/lib/chrome-language.d.ts +34 -0
- package/src/lib/chrome-language.js +74 -0
- package/src/lib/chrome-language.js.map +1 -0
- package/src/lib/chrome-language.mjs +66 -0
- package/src/lib/chrome-language.mjs.map +1 -0
- package/src/lib/chrome.d.mts +49 -0
- package/src/lib/chrome.d.ts +49 -0
- package/src/lib/chrome.js +411 -0
- package/src/lib/chrome.js.map +1 -0
- package/src/lib/chrome.mjs +404 -0
- package/src/lib/chrome.mjs.map +1 -0
- package/src/lib/clipboard-keys.d.mts +22 -0
- package/src/lib/clipboard-keys.d.ts +22 -0
- package/src/lib/clipboard-keys.js +81 -0
- package/src/lib/clipboard-keys.js.map +1 -0
- package/src/lib/clipboard-keys.mjs +77 -0
- package/src/lib/clipboard-keys.mjs.map +1 -0
- package/src/lib/clipboard-names.d.mts +12 -0
- package/src/lib/clipboard-names.d.ts +12 -0
- package/src/lib/clipboard-names.js +146 -0
- package/src/lib/clipboard-names.js.map +1 -0
- package/src/lib/clipboard-names.mjs +141 -0
- package/src/lib/clipboard-names.mjs.map +1 -0
- package/src/lib/clipboard-ops.d.mts +33 -0
- package/src/lib/clipboard-ops.d.ts +33 -0
- package/src/lib/clipboard-ops.js +143 -0
- package/src/lib/clipboard-ops.js.map +1 -0
- package/src/lib/clipboard-ops.mjs +137 -0
- package/src/lib/clipboard-ops.mjs.map +1 -0
- package/src/lib/columns-editor.d.mts +12 -0
- package/src/lib/columns-editor.d.ts +12 -0
- package/src/lib/columns-editor.js +65 -0
- package/src/lib/columns-editor.js.map +1 -0
- package/src/lib/columns-editor.mjs +62 -0
- package/src/lib/columns-editor.mjs.map +1 -0
- package/src/lib/condition-editor.d.mts +31 -0
- package/src/lib/condition-editor.d.ts +31 -0
- package/src/lib/condition-editor.js +138 -0
- package/src/lib/condition-editor.js.map +1 -0
- package/src/lib/condition-editor.mjs +134 -0
- package/src/lib/condition-editor.mjs.map +1 -0
- package/src/lib/conditions.d.mts +27 -0
- package/src/lib/conditions.d.ts +27 -0
- package/src/lib/conditions.js +77 -0
- package/src/lib/conditions.js.map +1 -0
- package/src/lib/conditions.mjs +71 -0
- package/src/lib/conditions.mjs.map +1 -0
- package/src/lib/designer-words.d.mts +29 -0
- package/src/lib/designer-words.d.ts +29 -0
- package/src/lib/designer-words.js +32 -0
- package/src/lib/designer-words.js.map +1 -0
- package/src/lib/designer-words.mjs +25 -0
- package/src/lib/designer-words.mjs.map +1 -0
- package/src/lib/designer.d.mts +470 -0
- package/src/lib/designer.d.ts +470 -0
- package/src/lib/designer.js +1225 -0
- package/src/lib/designer.js.map +1 -0
- package/src/lib/designer.mjs +1201 -0
- package/src/lib/designer.mjs.map +1 -0
- package/src/lib/drop-echo.d.mts +71 -0
- package/src/lib/drop-echo.d.ts +71 -0
- package/src/lib/drop-echo.js +202 -0
- package/src/lib/drop-echo.js.map +1 -0
- package/src/lib/drop-echo.mjs +195 -0
- package/src/lib/drop-echo.mjs.map +1 -0
- package/src/lib/field-bar.d.mts +23 -0
- package/src/lib/field-bar.d.ts +23 -0
- package/src/lib/field-bar.js +115 -0
- package/src/lib/field-bar.js.map +1 -0
- package/src/lib/field-bar.mjs +111 -0
- package/src/lib/field-bar.mjs.map +1 -0
- package/src/lib/find-anything.d.mts +37 -0
- package/src/lib/find-anything.d.ts +37 -0
- package/src/lib/find-anything.js +109 -0
- package/src/lib/find-anything.js.map +1 -0
- package/src/lib/find-anything.mjs +105 -0
- package/src/lib/find-anything.mjs.map +1 -0
- package/src/lib/group-fold.d.mts +11 -0
- package/src/lib/group-fold.d.ts +11 -0
- package/src/lib/group-fold.js +25 -0
- package/src/lib/group-fold.js.map +1 -0
- package/src/lib/group-fold.mjs +20 -0
- package/src/lib/group-fold.mjs.map +1 -0
- package/src/lib/header-commands.d.mts +47 -0
- package/src/lib/header-commands.d.ts +47 -0
- package/src/lib/header-commands.js +174 -0
- package/src/lib/header-commands.js.map +1 -0
- package/src/lib/header-commands.mjs +170 -0
- package/src/lib/header-commands.mjs.map +1 -0
- package/src/lib/header-properties.d.mts +5 -0
- package/src/lib/header-properties.d.ts +5 -0
- package/src/lib/header-properties.js +121 -0
- package/src/lib/header-properties.js.map +1 -0
- package/src/lib/header-properties.mjs +117 -0
- package/src/lib/header-properties.mjs.map +1 -0
- package/src/lib/icons.d.mts +4 -0
- package/src/lib/icons.d.ts +4 -0
- package/src/lib/icons.js +91 -0
- package/src/lib/icons.js.map +1 -0
- package/src/lib/icons.mjs +87 -0
- package/src/lib/icons.mjs.map +1 -0
- package/src/lib/inline-settings.d.mts +17 -0
- package/src/lib/inline-settings.d.ts +17 -0
- package/src/lib/inline-settings.js +213 -0
- package/src/lib/inline-settings.js.map +1 -0
- package/src/lib/inline-settings.mjs +210 -0
- package/src/lib/inline-settings.mjs.map +1 -0
- package/src/lib/input-changes.d.mts +18 -0
- package/src/lib/input-changes.d.ts +18 -0
- package/src/lib/input-changes.js +80 -0
- package/src/lib/input-changes.js.map +1 -0
- package/src/lib/input-changes.mjs +77 -0
- package/src/lib/input-changes.mjs.map +1 -0
- package/src/lib/input-commands.d.mts +48 -0
- package/src/lib/input-commands.d.ts +48 -0
- package/src/lib/input-commands.js +160 -0
- package/src/lib/input-commands.js.map +1 -0
- package/src/lib/input-commands.mjs +155 -0
- package/src/lib/input-commands.mjs.map +1 -0
- package/src/lib/json-checks.d.mts +26 -0
- package/src/lib/json-checks.d.ts +26 -0
- package/src/lib/json-checks.js +208 -0
- package/src/lib/json-checks.js.map +1 -0
- package/src/lib/json-checks.mjs +204 -0
- package/src/lib/json-checks.mjs.map +1 -0
- package/src/lib/json-code.d.mts +33 -0
- package/src/lib/json-code.d.ts +33 -0
- package/src/lib/json-code.js +124 -0
- package/src/lib/json-code.js.map +1 -0
- package/src/lib/json-code.mjs +120 -0
- package/src/lib/json-code.mjs.map +1 -0
- package/src/lib/json-text.d.mts +46 -0
- package/src/lib/json-text.d.ts +46 -0
- package/src/lib/json-text.js +260 -0
- package/src/lib/json-text.js.map +1 -0
- package/src/lib/json-text.mjs +253 -0
- package/src/lib/json-text.mjs.map +1 -0
- package/src/lib/json-view.d.mts +29 -0
- package/src/lib/json-view.d.ts +29 -0
- package/src/lib/json-view.js +235 -0
- package/src/lib/json-view.js.map +1 -0
- package/src/lib/json-view.mjs +232 -0
- package/src/lib/json-view.mjs.map +1 -0
- package/src/lib/keep-unchanged.d.mts +12 -0
- package/src/lib/keep-unchanged.d.ts +12 -0
- package/src/lib/keep-unchanged.js +68 -0
- package/src/lib/keep-unchanged.js.map +1 -0
- package/src/lib/keep-unchanged.mjs +65 -0
- package/src/lib/keep-unchanged.mjs.map +1 -0
- package/src/lib/kind-commands.d.mts +40 -0
- package/src/lib/kind-commands.d.ts +40 -0
- package/src/lib/kind-commands.js +149 -0
- package/src/lib/kind-commands.js.map +1 -0
- package/src/lib/kind-commands.mjs +145 -0
- package/src/lib/kind-commands.mjs.map +1 -0
- package/src/lib/kind-previews.d.mts +11 -0
- package/src/lib/kind-previews.d.ts +11 -0
- package/src/lib/kind-previews.js +45 -0
- package/src/lib/kind-previews.js.map +1 -0
- package/src/lib/kind-previews.mjs +42 -0
- package/src/lib/kind-previews.mjs.map +1 -0
- package/src/lib/kind-settings-choices.d.mts +17 -0
- package/src/lib/kind-settings-choices.d.ts +17 -0
- package/src/lib/kind-settings-choices.js +164 -0
- package/src/lib/kind-settings-choices.js.map +1 -0
- package/src/lib/kind-settings-choices.mjs +161 -0
- package/src/lib/kind-settings-choices.mjs.map +1 -0
- package/src/lib/kind-settings-inputs.d.mts +20 -0
- package/src/lib/kind-settings-inputs.d.ts +20 -0
- package/src/lib/kind-settings-inputs.js +269 -0
- package/src/lib/kind-settings-inputs.js.map +1 -0
- package/src/lib/kind-settings-inputs.mjs +266 -0
- package/src/lib/kind-settings-inputs.mjs.map +1 -0
- package/src/lib/kind-settings-structures.d.mts +20 -0
- package/src/lib/kind-settings-structures.d.ts +20 -0
- package/src/lib/kind-settings-structures.js +205 -0
- package/src/lib/kind-settings-structures.js.map +1 -0
- package/src/lib/kind-settings-structures.mjs +201 -0
- package/src/lib/kind-settings-structures.mjs.map +1 -0
- package/src/lib/kind-settings.d.mts +18 -0
- package/src/lib/kind-settings.d.ts +18 -0
- package/src/lib/kind-settings.js +325 -0
- package/src/lib/kind-settings.js.map +1 -0
- package/src/lib/kind-settings.mjs +322 -0
- package/src/lib/kind-settings.mjs.map +1 -0
- package/src/lib/kinds.d.mts +66 -0
- package/src/lib/kinds.d.ts +66 -0
- package/src/lib/kinds.js +212 -0
- package/src/lib/kinds.js.map +1 -0
- package/src/lib/kinds.mjs +199 -0
- package/src/lib/kinds.mjs.map +1 -0
- package/src/lib/language-names.d.mts +8 -0
- package/src/lib/language-names.d.ts +8 -0
- package/src/lib/language-names.js +72 -0
- package/src/lib/language-names.js.map +1 -0
- package/src/lib/language-names.mjs +68 -0
- package/src/lib/language-names.mjs.map +1 -0
- package/src/lib/layout-changes.d.mts +43 -0
- package/src/lib/layout-changes.d.ts +43 -0
- package/src/lib/layout-changes.js +296 -0
- package/src/lib/layout-changes.js.map +1 -0
- package/src/lib/layout-changes.mjs +290 -0
- package/src/lib/layout-changes.mjs.map +1 -0
- package/src/lib/layout-ops.d.mts +105 -0
- package/src/lib/layout-ops.d.ts +105 -0
- package/src/lib/layout-ops.js +558 -0
- package/src/lib/layout-ops.js.map +1 -0
- package/src/lib/layout-ops.mjs +537 -0
- package/src/lib/layout-ops.mjs.map +1 -0
- package/src/lib/layout-settings.d.mts +69 -0
- package/src/lib/layout-settings.d.ts +69 -0
- package/src/lib/layout-settings.js +257 -0
- package/src/lib/layout-settings.js.map +1 -0
- package/src/lib/layout-settings.mjs +246 -0
- package/src/lib/layout-settings.mjs.map +1 -0
- package/src/lib/layout-several.d.mts +15 -0
- package/src/lib/layout-several.d.ts +15 -0
- package/src/lib/layout-several.js +50 -0
- package/src/lib/layout-several.js.map +1 -0
- package/src/lib/layout-several.mjs +47 -0
- package/src/lib/layout-several.mjs.map +1 -0
- package/src/lib/layout-tree.d.mts +75 -0
- package/src/lib/layout-tree.d.ts +75 -0
- package/src/lib/layout-tree.js +186 -0
- package/src/lib/layout-tree.js.map +1 -0
- package/src/lib/layout-tree.mjs +163 -0
- package/src/lib/layout-tree.mjs.map +1 -0
- package/src/lib/layout-twelfths.d.mts +101 -0
- package/src/lib/layout-twelfths.d.ts +101 -0
- package/src/lib/layout-twelfths.js +233 -0
- package/src/lib/layout-twelfths.js.map +1 -0
- package/src/lib/layout-twelfths.mjs +210 -0
- package/src/lib/layout-twelfths.mjs.map +1 -0
- package/src/lib/list-canvas.d.mts +30 -0
- package/src/lib/list-canvas.d.ts +30 -0
- package/src/lib/list-canvas.js +224 -0
- package/src/lib/list-canvas.js.map +1 -0
- package/src/lib/list-canvas.mjs +221 -0
- package/src/lib/list-canvas.mjs.map +1 -0
- package/src/lib/list-commands.d.mts +57 -0
- package/src/lib/list-commands.d.ts +57 -0
- package/src/lib/list-commands.js +245 -0
- package/src/lib/list-commands.js.map +1 -0
- package/src/lib/list-commands.mjs +238 -0
- package/src/lib/list-commands.mjs.map +1 -0
- package/src/lib/list-properties.d.mts +6 -0
- package/src/lib/list-properties.d.ts +6 -0
- package/src/lib/list-properties.js +310 -0
- package/src/lib/list-properties.js.map +1 -0
- package/src/lib/list-properties.mjs +305 -0
- package/src/lib/list-properties.mjs.map +1 -0
- package/src/lib/list-source.d.mts +10 -0
- package/src/lib/list-source.d.ts +10 -0
- package/src/lib/list-source.js +81 -0
- package/src/lib/list-source.js.map +1 -0
- package/src/lib/list-source.mjs +78 -0
- package/src/lib/list-source.mjs.map +1 -0
- package/src/lib/locales/ar/bar.d.mts +2 -0
- package/src/lib/locales/ar/bar.d.ts +2 -0
- package/src/lib/locales/ar/bar.js +58 -0
- package/src/lib/locales/ar/bar.js.map +1 -0
- package/src/lib/locales/ar/bar.mjs +55 -0
- package/src/lib/locales/ar/bar.mjs.map +1 -0
- package/src/lib/locales/ar/canvas.d.mts +2 -0
- package/src/lib/locales/ar/canvas.d.ts +2 -0
- package/src/lib/locales/ar/canvas.js +115 -0
- package/src/lib/locales/ar/canvas.js.map +1 -0
- package/src/lib/locales/ar/canvas.mjs +112 -0
- package/src/lib/locales/ar/canvas.mjs.map +1 -0
- package/src/lib/locales/ar/changes.d.mts +3 -0
- package/src/lib/locales/ar/changes.d.ts +3 -0
- package/src/lib/locales/ar/changes.js +158 -0
- package/src/lib/locales/ar/changes.js.map +1 -0
- package/src/lib/locales/ar/changes.mjs +155 -0
- package/src/lib/locales/ar/changes.mjs.map +1 -0
- package/src/lib/locales/ar/checks.d.mts +2 -0
- package/src/lib/locales/ar/checks.d.ts +2 -0
- package/src/lib/locales/ar/checks.js +36 -0
- package/src/lib/locales/ar/checks.js.map +1 -0
- package/src/lib/locales/ar/checks.mjs +33 -0
- package/src/lib/locales/ar/checks.mjs.map +1 -0
- package/src/lib/locales/ar/defaults.d.mts +2 -0
- package/src/lib/locales/ar/defaults.d.ts +2 -0
- package/src/lib/locales/ar/defaults.js +33 -0
- package/src/lib/locales/ar/defaults.js.map +1 -0
- package/src/lib/locales/ar/defaults.mjs +30 -0
- package/src/lib/locales/ar/defaults.mjs.map +1 -0
- package/src/lib/locales/ar/index.d.mts +25 -0
- package/src/lib/locales/ar/index.d.ts +25 -0
- package/src/lib/locales/ar/index.js +56 -0
- package/src/lib/locales/ar/index.js.map +1 -0
- package/src/lib/locales/ar/index.mjs +53 -0
- package/src/lib/locales/ar/index.mjs.map +1 -0
- package/src/lib/locales/ar/json.d.mts +2 -0
- package/src/lib/locales/ar/json.d.ts +2 -0
- package/src/lib/locales/ar/json.js +50 -0
- package/src/lib/locales/ar/json.js.map +1 -0
- package/src/lib/locales/ar/json.mjs +47 -0
- package/src/lib/locales/ar/json.mjs.map +1 -0
- package/src/lib/locales/ar/kinds.d.mts +2 -0
- package/src/lib/locales/ar/kinds.d.ts +2 -0
- package/src/lib/locales/ar/kinds.js +74 -0
- package/src/lib/locales/ar/kinds.js.map +1 -0
- package/src/lib/locales/ar/kinds.mjs +71 -0
- package/src/lib/locales/ar/kinds.mjs.map +1 -0
- package/src/lib/locales/ar/languages.d.mts +2 -0
- package/src/lib/locales/ar/languages.d.ts +2 -0
- package/src/lib/locales/ar/languages.js +8 -0
- package/src/lib/locales/ar/languages.js.map +1 -0
- package/src/lib/locales/ar/languages.mjs +5 -0
- package/src/lib/locales/ar/languages.mjs.map +1 -0
- package/src/lib/locales/ar/layout.d.mts +2 -0
- package/src/lib/locales/ar/layout.d.ts +2 -0
- package/src/lib/locales/ar/layout.js +76 -0
- package/src/lib/locales/ar/layout.js.map +1 -0
- package/src/lib/locales/ar/layout.mjs +73 -0
- package/src/lib/locales/ar/layout.mjs.map +1 -0
- package/src/lib/locales/ar/list.d.mts +2 -0
- package/src/lib/locales/ar/list.d.ts +2 -0
- package/src/lib/locales/ar/list.js +65 -0
- package/src/lib/locales/ar/list.js.map +1 -0
- package/src/lib/locales/ar/list.mjs +62 -0
- package/src/lib/locales/ar/list.mjs.map +1 -0
- package/src/lib/locales/ar/looks.d.mts +2 -0
- package/src/lib/locales/ar/looks.d.ts +2 -0
- package/src/lib/locales/ar/looks.js +38 -0
- package/src/lib/locales/ar/looks.js.map +1 -0
- package/src/lib/locales/ar/looks.mjs +35 -0
- package/src/lib/locales/ar/looks.mjs.map +1 -0
- package/src/lib/locales/ar/options.d.mts +2 -0
- package/src/lib/locales/ar/options.d.ts +2 -0
- package/src/lib/locales/ar/options.js +18 -0
- package/src/lib/locales/ar/options.js.map +1 -0
- package/src/lib/locales/ar/options.mjs +15 -0
- package/src/lib/locales/ar/options.mjs.map +1 -0
- package/src/lib/locales/ar/outline.d.mts +3 -0
- package/src/lib/locales/ar/outline.d.ts +3 -0
- package/src/lib/locales/ar/outline.js +111 -0
- package/src/lib/locales/ar/outline.js.map +1 -0
- package/src/lib/locales/ar/outline.mjs +108 -0
- package/src/lib/locales/ar/outline.mjs.map +1 -0
- package/src/lib/locales/ar/panel.d.mts +2 -0
- package/src/lib/locales/ar/panel.d.ts +2 -0
- package/src/lib/locales/ar/panel.js +309 -0
- package/src/lib/locales/ar/panel.js.map +1 -0
- package/src/lib/locales/ar/panel.mjs +306 -0
- package/src/lib/locales/ar/panel.mjs.map +1 -0
- package/src/lib/locales/ar/part-looks.d.mts +2 -0
- package/src/lib/locales/ar/part-looks.d.ts +2 -0
- package/src/lib/locales/ar/part-looks.js +34 -0
- package/src/lib/locales/ar/part-looks.js.map +1 -0
- package/src/lib/locales/ar/part-looks.mjs +31 -0
- package/src/lib/locales/ar/part-looks.mjs.map +1 -0
- package/src/lib/locales/ar/parts.d.mts +2 -0
- package/src/lib/locales/ar/parts.d.ts +2 -0
- package/src/lib/locales/ar/parts.js +22 -0
- package/src/lib/locales/ar/parts.js.map +1 -0
- package/src/lib/locales/ar/parts.mjs +19 -0
- package/src/lib/locales/ar/parts.mjs.map +1 -0
- package/src/lib/locales/ar/questions.d.mts +2 -0
- package/src/lib/locales/ar/questions.d.ts +2 -0
- package/src/lib/locales/ar/questions.js +245 -0
- package/src/lib/locales/ar/questions.js.map +1 -0
- package/src/lib/locales/ar/questions.mjs +242 -0
- package/src/lib/locales/ar/questions.mjs.map +1 -0
- package/src/lib/locales/ar/refusals.d.mts +2 -0
- package/src/lib/locales/ar/refusals.d.ts +2 -0
- package/src/lib/locales/ar/refusals.js +145 -0
- package/src/lib/locales/ar/refusals.js.map +1 -0
- package/src/lib/locales/ar/refusals.mjs +142 -0
- package/src/lib/locales/ar/refusals.mjs.map +1 -0
- package/src/lib/locales/ar/rules-ui.d.mts +2 -0
- package/src/lib/locales/ar/rules-ui.d.ts +2 -0
- package/src/lib/locales/ar/rules-ui.js +139 -0
- package/src/lib/locales/ar/rules-ui.js.map +1 -0
- package/src/lib/locales/ar/rules-ui.mjs +136 -0
- package/src/lib/locales/ar/rules-ui.mjs.map +1 -0
- package/src/lib/locales/ar/rules.d.mts +2 -0
- package/src/lib/locales/ar/rules.d.ts +2 -0
- package/src/lib/locales/ar/rules.js +153 -0
- package/src/lib/locales/ar/rules.js.map +1 -0
- package/src/lib/locales/ar/rules.mjs +150 -0
- package/src/lib/locales/ar/rules.mjs.map +1 -0
- package/src/lib/locales/ar/saved-forms.d.mts +2 -0
- package/src/lib/locales/ar/saved-forms.d.ts +2 -0
- package/src/lib/locales/ar/saved-forms.js +48 -0
- package/src/lib/locales/ar/saved-forms.js.map +1 -0
- package/src/lib/locales/ar/saved-forms.mjs +45 -0
- package/src/lib/locales/ar/saved-forms.mjs.map +1 -0
- package/src/lib/locales/ar/settings-changes.d.mts +2 -0
- package/src/lib/locales/ar/settings-changes.d.ts +2 -0
- package/src/lib/locales/ar/settings-changes.js +59 -0
- package/src/lib/locales/ar/settings-changes.js.map +1 -0
- package/src/lib/locales/ar/settings-changes.mjs +56 -0
- package/src/lib/locales/ar/settings-changes.mjs.map +1 -0
- package/src/lib/locales/ar/shortcuts.d.mts +2 -0
- package/src/lib/locales/ar/shortcuts.d.ts +2 -0
- package/src/lib/locales/ar/shortcuts.js +36 -0
- package/src/lib/locales/ar/shortcuts.js.map +1 -0
- package/src/lib/locales/ar/shortcuts.mjs +33 -0
- package/src/lib/locales/ar/shortcuts.mjs.map +1 -0
- package/src/lib/locales/ar/steps.d.mts +2 -0
- package/src/lib/locales/ar/steps.d.ts +2 -0
- package/src/lib/locales/ar/steps.js +155 -0
- package/src/lib/locales/ar/steps.js.map +1 -0
- package/src/lib/locales/ar/steps.mjs +152 -0
- package/src/lib/locales/ar/steps.mjs.map +1 -0
- package/src/lib/locales/ar/templates.d.mts +3 -0
- package/src/lib/locales/ar/templates.d.ts +3 -0
- package/src/lib/locales/ar/templates.js +114 -0
- package/src/lib/locales/ar/templates.js.map +1 -0
- package/src/lib/locales/ar/templates.mjs +111 -0
- package/src/lib/locales/ar/templates.mjs.map +1 -0
- package/src/lib/locales/ar/toolbox.d.mts +2 -0
- package/src/lib/locales/ar/toolbox.d.ts +2 -0
- package/src/lib/locales/ar/toolbox.js +50 -0
- package/src/lib/locales/ar/toolbox.js.map +1 -0
- package/src/lib/locales/ar/toolbox.mjs +47 -0
- package/src/lib/locales/ar/toolbox.mjs.map +1 -0
- package/src/lib/locales/ar/translations.d.mts +2 -0
- package/src/lib/locales/ar/translations.d.ts +2 -0
- package/src/lib/locales/ar/translations.js +69 -0
- package/src/lib/locales/ar/translations.js.map +1 -0
- package/src/lib/locales/ar/translations.mjs +66 -0
- package/src/lib/locales/ar/translations.mjs.map +1 -0
- package/src/lib/locales/ar/try-it.d.mts +2 -0
- package/src/lib/locales/ar/try-it.d.ts +2 -0
- package/src/lib/locales/ar/try-it.js +29 -0
- package/src/lib/locales/ar/try-it.js.map +1 -0
- package/src/lib/locales/ar/try-it.mjs +26 -0
- package/src/lib/locales/ar/try-it.mjs.map +1 -0
- package/src/lib/locales/en/bar.d.mts +56 -0
- package/src/lib/locales/en/bar.d.ts +56 -0
- package/src/lib/locales/en/bar.js +66 -0
- package/src/lib/locales/en/bar.js.map +1 -0
- package/src/lib/locales/en/bar.mjs +63 -0
- package/src/lib/locales/en/bar.mjs.map +1 -0
- package/src/lib/locales/en/canvas.d.mts +106 -0
- package/src/lib/locales/en/canvas.d.ts +106 -0
- package/src/lib/locales/en/canvas.js +123 -0
- package/src/lib/locales/en/canvas.js.map +1 -0
- package/src/lib/locales/en/canvas.mjs +120 -0
- package/src/lib/locales/en/canvas.mjs.map +1 -0
- package/src/lib/locales/en/changes.d.mts +139 -0
- package/src/lib/locales/en/changes.d.ts +139 -0
- package/src/lib/locales/en/changes.js +162 -0
- package/src/lib/locales/en/changes.js.map +1 -0
- package/src/lib/locales/en/changes.mjs +159 -0
- package/src/lib/locales/en/changes.mjs.map +1 -0
- package/src/lib/locales/en/checks.d.mts +32 -0
- package/src/lib/locales/en/checks.d.ts +32 -0
- package/src/lib/locales/en/checks.js +38 -0
- package/src/lib/locales/en/checks.js.map +1 -0
- package/src/lib/locales/en/checks.mjs +35 -0
- package/src/lib/locales/en/checks.mjs.map +1 -0
- package/src/lib/locales/en/defaults.d.mts +37 -0
- package/src/lib/locales/en/defaults.d.ts +37 -0
- package/src/lib/locales/en/defaults.js +41 -0
- package/src/lib/locales/en/defaults.js.map +1 -0
- package/src/lib/locales/en/defaults.mjs +38 -0
- package/src/lib/locales/en/defaults.mjs.map +1 -0
- package/src/lib/locales/en/index.d.mts +2287 -0
- package/src/lib/locales/en/index.d.ts +2287 -0
- package/src/lib/locales/en/index.js +34 -0
- package/src/lib/locales/en/index.js.map +1 -0
- package/src/lib/locales/en/index.mjs +31 -0
- package/src/lib/locales/en/index.mjs.map +1 -0
- package/src/lib/locales/en/json.d.mts +51 -0
- package/src/lib/locales/en/json.d.ts +51 -0
- package/src/lib/locales/en/json.js +52 -0
- package/src/lib/locales/en/json.js.map +1 -0
- package/src/lib/locales/en/json.mjs +49 -0
- package/src/lib/locales/en/json.mjs.map +1 -0
- package/src/lib/locales/en/kinds.d.mts +74 -0
- package/src/lib/locales/en/kinds.d.ts +74 -0
- package/src/lib/locales/en/kinds.js +78 -0
- package/src/lib/locales/en/kinds.js.map +1 -0
- package/src/lib/locales/en/kinds.mjs +75 -0
- package/src/lib/locales/en/kinds.mjs.map +1 -0
- package/src/lib/locales/en/languages.d.mts +5 -0
- package/src/lib/locales/en/languages.d.ts +5 -0
- package/src/lib/locales/en/languages.js +10 -0
- package/src/lib/locales/en/languages.js.map +1 -0
- package/src/lib/locales/en/languages.mjs +7 -0
- package/src/lib/locales/en/languages.mjs.map +1 -0
- package/src/lib/locales/en/layout.d.mts +102 -0
- package/src/lib/locales/en/layout.d.ts +102 -0
- package/src/lib/locales/en/layout.js +85 -0
- package/src/lib/locales/en/layout.js.map +1 -0
- package/src/lib/locales/en/layout.mjs +82 -0
- package/src/lib/locales/en/layout.mjs.map +1 -0
- package/src/lib/locales/en/list.d.mts +63 -0
- package/src/lib/locales/en/list.d.ts +63 -0
- package/src/lib/locales/en/list.js +72 -0
- package/src/lib/locales/en/list.js.map +1 -0
- package/src/lib/locales/en/list.mjs +69 -0
- package/src/lib/locales/en/list.mjs.map +1 -0
- package/src/lib/locales/en/looks.d.mts +35 -0
- package/src/lib/locales/en/looks.d.ts +35 -0
- package/src/lib/locales/en/looks.js +39 -0
- package/src/lib/locales/en/looks.js.map +1 -0
- package/src/lib/locales/en/looks.mjs +36 -0
- package/src/lib/locales/en/looks.mjs.map +1 -0
- package/src/lib/locales/en/options.d.mts +15 -0
- package/src/lib/locales/en/options.d.ts +15 -0
- package/src/lib/locales/en/options.js +19 -0
- package/src/lib/locales/en/options.js.map +1 -0
- package/src/lib/locales/en/options.mjs +16 -0
- package/src/lib/locales/en/options.mjs.map +1 -0
- package/src/lib/locales/en/outline.d.mts +91 -0
- package/src/lib/locales/en/outline.d.ts +91 -0
- package/src/lib/locales/en/outline.js +120 -0
- package/src/lib/locales/en/outline.js.map +1 -0
- package/src/lib/locales/en/outline.mjs +117 -0
- package/src/lib/locales/en/outline.mjs.map +1 -0
- package/src/lib/locales/en/panel.d.mts +289 -0
- package/src/lib/locales/en/panel.d.ts +289 -0
- package/src/lib/locales/en/panel.js +260 -0
- package/src/lib/locales/en/panel.js.map +1 -0
- package/src/lib/locales/en/panel.mjs +257 -0
- package/src/lib/locales/en/panel.mjs.map +1 -0
- package/src/lib/locales/en/part-looks.d.mts +49 -0
- package/src/lib/locales/en/part-looks.d.ts +49 -0
- package/src/lib/locales/en/part-looks.js +42 -0
- package/src/lib/locales/en/part-looks.js.map +1 -0
- package/src/lib/locales/en/part-looks.mjs +39 -0
- package/src/lib/locales/en/part-looks.mjs.map +1 -0
- package/src/lib/locales/en/parts.d.mts +30 -0
- package/src/lib/locales/en/parts.d.ts +30 -0
- package/src/lib/locales/en/parts.js +27 -0
- package/src/lib/locales/en/parts.js.map +1 -0
- package/src/lib/locales/en/parts.mjs +24 -0
- package/src/lib/locales/en/parts.mjs.map +1 -0
- package/src/lib/locales/en/questions.d.mts +266 -0
- package/src/lib/locales/en/questions.d.ts +266 -0
- package/src/lib/locales/en/questions.js +252 -0
- package/src/lib/locales/en/questions.js.map +1 -0
- package/src/lib/locales/en/questions.mjs +249 -0
- package/src/lib/locales/en/questions.mjs.map +1 -0
- package/src/lib/locales/en/refusals.d.mts +146 -0
- package/src/lib/locales/en/refusals.d.ts +146 -0
- package/src/lib/locales/en/refusals.js +159 -0
- package/src/lib/locales/en/refusals.js.map +1 -0
- package/src/lib/locales/en/refusals.mjs +156 -0
- package/src/lib/locales/en/refusals.mjs.map +1 -0
- package/src/lib/locales/en/rules-ui.d.mts +160 -0
- package/src/lib/locales/en/rules-ui.d.ts +160 -0
- package/src/lib/locales/en/rules-ui.js +156 -0
- package/src/lib/locales/en/rules-ui.js.map +1 -0
- package/src/lib/locales/en/rules-ui.mjs +153 -0
- package/src/lib/locales/en/rules-ui.mjs.map +1 -0
- package/src/lib/locales/en/rules.d.mts +152 -0
- package/src/lib/locales/en/rules.d.ts +152 -0
- package/src/lib/locales/en/rules.js +157 -0
- package/src/lib/locales/en/rules.js.map +1 -0
- package/src/lib/locales/en/rules.mjs +154 -0
- package/src/lib/locales/en/rules.mjs.map +1 -0
- package/src/lib/locales/en/saved-forms.d.mts +44 -0
- package/src/lib/locales/en/saved-forms.d.ts +44 -0
- package/src/lib/locales/en/saved-forms.js +53 -0
- package/src/lib/locales/en/saved-forms.js.map +1 -0
- package/src/lib/locales/en/saved-forms.mjs +50 -0
- package/src/lib/locales/en/saved-forms.mjs.map +1 -0
- package/src/lib/locales/en/settings-changes.d.mts +68 -0
- package/src/lib/locales/en/settings-changes.d.ts +68 -0
- package/src/lib/locales/en/settings-changes.js +64 -0
- package/src/lib/locales/en/settings-changes.js.map +1 -0
- package/src/lib/locales/en/settings-changes.mjs +61 -0
- package/src/lib/locales/en/settings-changes.mjs.map +1 -0
- package/src/lib/locales/en/shortcuts.d.mts +25 -0
- package/src/lib/locales/en/shortcuts.d.ts +25 -0
- package/src/lib/locales/en/shortcuts.js +38 -0
- package/src/lib/locales/en/shortcuts.js.map +1 -0
- package/src/lib/locales/en/shortcuts.mjs +35 -0
- package/src/lib/locales/en/shortcuts.mjs.map +1 -0
- package/src/lib/locales/en/steps.d.mts +187 -0
- package/src/lib/locales/en/steps.d.ts +187 -0
- package/src/lib/locales/en/steps.js +172 -0
- package/src/lib/locales/en/steps.js.map +1 -0
- package/src/lib/locales/en/steps.mjs +169 -0
- package/src/lib/locales/en/steps.mjs.map +1 -0
- package/src/lib/locales/en/templates.d.mts +114 -0
- package/src/lib/locales/en/templates.d.ts +114 -0
- package/src/lib/locales/en/templates.js +122 -0
- package/src/lib/locales/en/templates.js.map +1 -0
- package/src/lib/locales/en/templates.mjs +119 -0
- package/src/lib/locales/en/templates.mjs.map +1 -0
- package/src/lib/locales/en/toolbox.d.mts +37 -0
- package/src/lib/locales/en/toolbox.d.ts +37 -0
- package/src/lib/locales/en/toolbox.js +53 -0
- package/src/lib/locales/en/toolbox.js.map +1 -0
- package/src/lib/locales/en/toolbox.mjs +50 -0
- package/src/lib/locales/en/toolbox.mjs.map +1 -0
- package/src/lib/locales/en/translations.d.mts +58 -0
- package/src/lib/locales/en/translations.d.ts +58 -0
- package/src/lib/locales/en/translations.js +68 -0
- package/src/lib/locales/en/translations.js.map +1 -0
- package/src/lib/locales/en/translations.mjs +65 -0
- package/src/lib/locales/en/translations.mjs.map +1 -0
- package/src/lib/locales/en/try-it.d.mts +30 -0
- package/src/lib/locales/en/try-it.d.ts +30 -0
- package/src/lib/locales/en/try-it.js +32 -0
- package/src/lib/locales/en/try-it.js.map +1 -0
- package/src/lib/locales/en/try-it.mjs +29 -0
- package/src/lib/locales/en/try-it.mjs.map +1 -0
- package/src/lib/locales/speak.d.mts +23 -0
- package/src/lib/locales/speak.d.ts +23 -0
- package/src/lib/locales/speak.js +38 -0
- package/src/lib/locales/speak.js.map +1 -0
- package/src/lib/locales/speak.mjs +30 -0
- package/src/lib/locales/speak.mjs.map +1 -0
- package/src/lib/look-hub.d.mts +31 -0
- package/src/lib/look-hub.d.ts +31 -0
- package/src/lib/look-hub.js +78 -0
- package/src/lib/look-hub.js.map +1 -0
- package/src/lib/look-hub.mjs +73 -0
- package/src/lib/look-hub.mjs.map +1 -0
- package/src/lib/look-parts-words.d.mts +15 -0
- package/src/lib/look-parts-words.d.ts +15 -0
- package/src/lib/look-parts-words.js +19 -0
- package/src/lib/look-parts-words.js.map +1 -0
- package/src/lib/look-parts-words.mjs +15 -0
- package/src/lib/look-parts-words.mjs.map +1 -0
- package/src/lib/look-presets.d.mts +38 -0
- package/src/lib/look-presets.d.ts +38 -0
- package/src/lib/look-presets.js +61 -0
- package/src/lib/look-presets.js.map +1 -0
- package/src/lib/look-presets.mjs +53 -0
- package/src/lib/look-presets.mjs.map +1 -0
- package/src/lib/look-row.d.mts +22 -0
- package/src/lib/look-row.d.ts +22 -0
- package/src/lib/look-row.js +282 -0
- package/src/lib/look-row.js.map +1 -0
- package/src/lib/look-row.mjs +277 -0
- package/src/lib/look-row.mjs.map +1 -0
- package/src/lib/look-store.d.mts +16 -0
- package/src/lib/look-store.d.ts +16 -0
- package/src/lib/look-store.js +151 -0
- package/src/lib/look-store.js.map +1 -0
- package/src/lib/look-store.mjs +145 -0
- package/src/lib/look-store.mjs.map +1 -0
- package/src/lib/menu.d.mts +37 -0
- package/src/lib/menu.d.ts +37 -0
- package/src/lib/menu.js +96 -0
- package/src/lib/menu.js.map +1 -0
- package/src/lib/menu.mjs +93 -0
- package/src/lib/menu.mjs.map +1 -0
- package/src/lib/outline-drag.d.mts +30 -0
- package/src/lib/outline-drag.d.ts +30 -0
- package/src/lib/outline-drag.js +223 -0
- package/src/lib/outline-drag.js.map +1 -0
- package/src/lib/outline-drag.mjs +220 -0
- package/src/lib/outline-drag.mjs.map +1 -0
- package/src/lib/outline-drop.d.mts +27 -0
- package/src/lib/outline-drop.d.ts +27 -0
- package/src/lib/outline-drop.js +53 -0
- package/src/lib/outline-drop.js.map +1 -0
- package/src/lib/outline-drop.mjs +50 -0
- package/src/lib/outline-drop.mjs.map +1 -0
- package/src/lib/outline-key-moves.d.mts +26 -0
- package/src/lib/outline-key-moves.d.ts +26 -0
- package/src/lib/outline-key-moves.js +70 -0
- package/src/lib/outline-key-moves.js.map +1 -0
- package/src/lib/outline-key-moves.mjs +67 -0
- package/src/lib/outline-key-moves.mjs.map +1 -0
- package/src/lib/outline-keys.d.mts +49 -0
- package/src/lib/outline-keys.d.ts +49 -0
- package/src/lib/outline-keys.js +68 -0
- package/src/lib/outline-keys.js.map +1 -0
- package/src/lib/outline-keys.mjs +63 -0
- package/src/lib/outline-keys.mjs.map +1 -0
- package/src/lib/outline-moves.d.mts +27 -0
- package/src/lib/outline-moves.d.ts +27 -0
- package/src/lib/outline-moves.js +159 -0
- package/src/lib/outline-moves.js.map +1 -0
- package/src/lib/outline-moves.mjs +151 -0
- package/src/lib/outline-moves.mjs.map +1 -0
- package/src/lib/outline-picks.d.mts +9 -0
- package/src/lib/outline-picks.d.ts +9 -0
- package/src/lib/outline-picks.js +21 -0
- package/src/lib/outline-picks.js.map +1 -0
- package/src/lib/outline-picks.mjs +18 -0
- package/src/lib/outline-picks.mjs.map +1 -0
- package/src/lib/outline-rows.d.mts +41 -0
- package/src/lib/outline-rows.d.ts +41 -0
- package/src/lib/outline-rows.js +120 -0
- package/src/lib/outline-rows.js.map +1 -0
- package/src/lib/outline-rows.mjs +115 -0
- package/src/lib/outline-rows.mjs.map +1 -0
- package/src/lib/outline-view.d.mts +35 -0
- package/src/lib/outline-view.d.ts +35 -0
- package/src/lib/outline-view.js +317 -0
- package/src/lib/outline-view.js.map +1 -0
- package/src/lib/outline-view.mjs +314 -0
- package/src/lib/outline-view.mjs.map +1 -0
- package/src/lib/page-checks.d.mts +58 -0
- package/src/lib/page-checks.d.ts +58 -0
- package/src/lib/page-checks.js +419 -0
- package/src/lib/page-checks.js.map +1 -0
- package/src/lib/page-checks.mjs +414 -0
- package/src/lib/page-checks.mjs.map +1 -0
- package/src/lib/page-json.d.mts +42 -0
- package/src/lib/page-json.d.ts +42 -0
- package/src/lib/page-json.js +46 -0
- package/src/lib/page-json.js.map +1 -0
- package/src/lib/page-json.mjs +41 -0
- package/src/lib/page-json.mjs.map +1 -0
- package/src/lib/page-tree.d.mts +43 -0
- package/src/lib/page-tree.d.ts +43 -0
- package/src/lib/page-tree.js +163 -0
- package/src/lib/page-tree.js.map +1 -0
- package/src/lib/page-tree.mjs +148 -0
- package/src/lib/page-tree.mjs.map +1 -0
- package/src/lib/panel-block.d.mts +15 -0
- package/src/lib/panel-block.d.ts +15 -0
- package/src/lib/panel-block.js +114 -0
- package/src/lib/panel-block.js.map +1 -0
- package/src/lib/panel-block.mjs +111 -0
- package/src/lib/panel-block.mjs.map +1 -0
- package/src/lib/panel-controls.d.mts +39 -0
- package/src/lib/panel-controls.d.ts +39 -0
- package/src/lib/panel-controls.js +69 -0
- package/src/lib/panel-controls.js.map +1 -0
- package/src/lib/panel-controls.mjs +63 -0
- package/src/lib/panel-controls.mjs.map +1 -0
- package/src/lib/panel-field.d.mts +5 -0
- package/src/lib/panel-field.d.ts +5 -0
- package/src/lib/panel-field.js +170 -0
- package/src/lib/panel-field.js.map +1 -0
- package/src/lib/panel-field.mjs +167 -0
- package/src/lib/panel-field.mjs.map +1 -0
- package/src/lib/panel-fold.d.mts +12 -0
- package/src/lib/panel-fold.d.ts +12 -0
- package/src/lib/panel-fold.js +34 -0
- package/src/lib/panel-fold.js.map +1 -0
- package/src/lib/panel-fold.mjs +31 -0
- package/src/lib/panel-fold.mjs.map +1 -0
- package/src/lib/panel-form.d.mts +4 -0
- package/src/lib/panel-form.d.ts +4 -0
- package/src/lib/panel-form.js +107 -0
- package/src/lib/panel-form.js.map +1 -0
- package/src/lib/panel-form.mjs +104 -0
- package/src/lib/panel-form.mjs.map +1 -0
- package/src/lib/panel-group.d.mts +12 -0
- package/src/lib/panel-group.d.ts +12 -0
- package/src/lib/panel-group.js +75 -0
- package/src/lib/panel-group.js.map +1 -0
- package/src/lib/panel-group.mjs +71 -0
- package/src/lib/panel-group.mjs.map +1 -0
- package/src/lib/panel-inspector.d.mts +54 -0
- package/src/lib/panel-inspector.d.ts +54 -0
- package/src/lib/panel-inspector.js +131 -0
- package/src/lib/panel-inspector.js.map +1 -0
- package/src/lib/panel-inspector.mjs +127 -0
- package/src/lib/panel-inspector.mjs.map +1 -0
- package/src/lib/panel-layout.d.mts +26 -0
- package/src/lib/panel-layout.d.ts +26 -0
- package/src/lib/panel-layout.js +244 -0
- package/src/lib/panel-layout.js.map +1 -0
- package/src/lib/panel-layout.mjs +236 -0
- package/src/lib/panel-layout.mjs.map +1 -0
- package/src/lib/panel-look-parts.d.mts +16 -0
- package/src/lib/panel-look-parts.d.ts +16 -0
- package/src/lib/panel-look-parts.js +86 -0
- package/src/lib/panel-look-parts.js.map +1 -0
- package/src/lib/panel-look-parts.mjs +83 -0
- package/src/lib/panel-look-parts.mjs.map +1 -0
- package/src/lib/panel-look-sheet.d.mts +20 -0
- package/src/lib/panel-look-sheet.d.ts +20 -0
- package/src/lib/panel-look-sheet.js +60 -0
- package/src/lib/panel-look-sheet.js.map +1 -0
- package/src/lib/panel-look-sheet.mjs +57 -0
- package/src/lib/panel-look-sheet.mjs.map +1 -0
- package/src/lib/panel-look.d.mts +26 -0
- package/src/lib/panel-look.d.ts +26 -0
- package/src/lib/panel-look.js +169 -0
- package/src/lib/panel-look.js.map +1 -0
- package/src/lib/panel-look.mjs +163 -0
- package/src/lib/panel-look.mjs.map +1 -0
- package/src/lib/panel-page.d.mts +9 -0
- package/src/lib/panel-page.d.ts +9 -0
- package/src/lib/panel-page.js +48 -0
- package/src/lib/panel-page.js.map +1 -0
- package/src/lib/panel-page.mjs +45 -0
- package/src/lib/panel-page.mjs.map +1 -0
- package/src/lib/panel-parts.d.mts +14 -0
- package/src/lib/panel-parts.d.ts +14 -0
- package/src/lib/panel-parts.js +113 -0
- package/src/lib/panel-parts.js.map +1 -0
- package/src/lib/panel-parts.mjs +109 -0
- package/src/lib/panel-parts.mjs.map +1 -0
- package/src/lib/panel-screen.d.mts +34 -0
- package/src/lib/panel-screen.d.ts +34 -0
- package/src/lib/panel-screen.js +195 -0
- package/src/lib/panel-screen.js.map +1 -0
- package/src/lib/panel-screen.mjs +191 -0
- package/src/lib/panel-screen.mjs.map +1 -0
- package/src/lib/panel-search.d.mts +24 -0
- package/src/lib/panel-search.d.ts +24 -0
- package/src/lib/panel-search.js +128 -0
- package/src/lib/panel-search.js.map +1 -0
- package/src/lib/panel-search.mjs +124 -0
- package/src/lib/panel-search.mjs.map +1 -0
- package/src/lib/panel-several-required.d.mts +7 -0
- package/src/lib/panel-several-required.d.ts +7 -0
- package/src/lib/panel-several-required.js +33 -0
- package/src/lib/panel-several-required.js.map +1 -0
- package/src/lib/panel-several-required.mjs +30 -0
- package/src/lib/panel-several-required.mjs.map +1 -0
- package/src/lib/panel-tabs.d.mts +41 -0
- package/src/lib/panel-tabs.d.ts +41 -0
- package/src/lib/panel-tabs.js +128 -0
- package/src/lib/panel-tabs.js.map +1 -0
- package/src/lib/panel-tabs.mjs +122 -0
- package/src/lib/panel-tabs.mjs.map +1 -0
- package/src/lib/picture-upload.d.mts +9 -0
- package/src/lib/picture-upload.d.ts +9 -0
- package/src/lib/picture-upload.js +38 -0
- package/src/lib/picture-upload.js.map +1 -0
- package/src/lib/picture-upload.mjs +34 -0
- package/src/lib/picture-upload.mjs.map +1 -0
- package/src/lib/publish-ui.d.mts +22 -0
- package/src/lib/publish-ui.d.ts +22 -0
- package/src/lib/publish-ui.js +199 -0
- package/src/lib/publish-ui.js.map +1 -0
- package/src/lib/publish-ui.mjs +193 -0
- package/src/lib/publish-ui.mjs.map +1 -0
- package/src/lib/rail.d.mts +31 -0
- package/src/lib/rail.d.ts +31 -0
- package/src/lib/rail.js +91 -0
- package/src/lib/rail.js.map +1 -0
- package/src/lib/rail.mjs +88 -0
- package/src/lib/rail.mjs.map +1 -0
- package/src/lib/refusal.d.mts +13 -0
- package/src/lib/refusal.d.ts +13 -0
- package/src/lib/refusal.js +21 -0
- package/src/lib/refusal.js.map +1 -0
- package/src/lib/refusal.mjs +17 -0
- package/src/lib/refusal.mjs.map +1 -0
- package/src/lib/rules-answers.d.mts +25 -0
- package/src/lib/rules-answers.d.ts +25 -0
- package/src/lib/rules-answers.js +339 -0
- package/src/lib/rules-answers.js.map +1 -0
- package/src/lib/rules-answers.mjs +336 -0
- package/src/lib/rules-answers.mjs.map +1 -0
- package/src/lib/rules-card.d.mts +22 -0
- package/src/lib/rules-card.d.ts +22 -0
- package/src/lib/rules-card.js +51 -0
- package/src/lib/rules-card.js.map +1 -0
- package/src/lib/rules-card.mjs +48 -0
- package/src/lib/rules-card.mjs.map +1 -0
- package/src/lib/rules-changes.d.mts +3 -0
- package/src/lib/rules-changes.d.ts +3 -0
- package/src/lib/rules-changes.js +64 -0
- package/src/lib/rules-changes.js.map +1 -0
- package/src/lib/rules-changes.mjs +61 -0
- package/src/lib/rules-changes.mjs.map +1 -0
- package/src/lib/rules-checks.d.mts +42 -0
- package/src/lib/rules-checks.d.ts +42 -0
- package/src/lib/rules-checks.js +177 -0
- package/src/lib/rules-checks.js.map +1 -0
- package/src/lib/rules-checks.mjs +173 -0
- package/src/lib/rules-checks.mjs.map +1 -0
- package/src/lib/rules-commands.d.mts +36 -0
- package/src/lib/rules-commands.d.ts +36 -0
- package/src/lib/rules-commands.js +202 -0
- package/src/lib/rules-commands.js.map +1 -0
- package/src/lib/rules-commands.mjs +197 -0
- package/src/lib/rules-commands.mjs.map +1 -0
- package/src/lib/rules-formula-box.d.mts +46 -0
- package/src/lib/rules-formula-box.d.ts +46 -0
- package/src/lib/rules-formula-box.js +191 -0
- package/src/lib/rules-formula-box.js.map +1 -0
- package/src/lib/rules-formula-box.mjs +188 -0
- package/src/lib/rules-formula-box.mjs.map +1 -0
- package/src/lib/rules-formula.d.mts +75 -0
- package/src/lib/rules-formula.d.ts +75 -0
- package/src/lib/rules-formula.js +360 -0
- package/src/lib/rules-formula.js.map +1 -0
- package/src/lib/rules-formula.mjs +347 -0
- package/src/lib/rules-formula.mjs.map +1 -0
- package/src/lib/rules-marks.d.mts +4 -0
- package/src/lib/rules-marks.d.ts +4 -0
- package/src/lib/rules-marks.js +111 -0
- package/src/lib/rules-marks.js.map +1 -0
- package/src/lib/rules-marks.mjs +108 -0
- package/src/lib/rules-marks.mjs.map +1 -0
- package/src/lib/rules-open.d.mts +16 -0
- package/src/lib/rules-open.d.ts +16 -0
- package/src/lib/rules-open.js +51 -0
- package/src/lib/rules-open.js.map +1 -0
- package/src/lib/rules-open.mjs +48 -0
- package/src/lib/rules-open.mjs.map +1 -0
- package/src/lib/rules-overview.d.mts +32 -0
- package/src/lib/rules-overview.d.ts +32 -0
- package/src/lib/rules-overview.js +193 -0
- package/src/lib/rules-overview.js.map +1 -0
- package/src/lib/rules-overview.mjs +190 -0
- package/src/lib/rules-overview.mjs.map +1 -0
- package/src/lib/rules-panel.d.mts +18 -0
- package/src/lib/rules-panel.d.ts +18 -0
- package/src/lib/rules-panel.js +21 -0
- package/src/lib/rules-panel.js.map +1 -0
- package/src/lib/rules-panel.mjs +18 -0
- package/src/lib/rules-panel.mjs.map +1 -0
- package/src/lib/rules-reads.d.mts +9 -0
- package/src/lib/rules-reads.d.ts +9 -0
- package/src/lib/rules-reads.js +79 -0
- package/src/lib/rules-reads.js.map +1 -0
- package/src/lib/rules-reads.mjs +75 -0
- package/src/lib/rules-reads.mjs.map +1 -0
- package/src/lib/rules-sample.d.mts +43 -0
- package/src/lib/rules-sample.d.ts +43 -0
- package/src/lib/rules-sample.js +321 -0
- package/src/lib/rules-sample.js.map +1 -0
- package/src/lib/rules-sample.mjs +317 -0
- package/src/lib/rules-sample.mjs.map +1 -0
- package/src/lib/rules-words.d.mts +60 -0
- package/src/lib/rules-words.d.ts +60 -0
- package/src/lib/rules-words.js +232 -0
- package/src/lib/rules-words.js.map +1 -0
- package/src/lib/rules-words.mjs +220 -0
- package/src/lib/rules-words.mjs.map +1 -0
- package/src/lib/rules-worked-out.d.mts +9 -0
- package/src/lib/rules-worked-out.d.ts +9 -0
- package/src/lib/rules-worked-out.js +257 -0
- package/src/lib/rules-worked-out.js.map +1 -0
- package/src/lib/rules-worked-out.mjs +253 -0
- package/src/lib/rules-worked-out.mjs.map +1 -0
- package/src/lib/samples.d.mts +5 -0
- package/src/lib/samples.d.ts +5 -0
- package/src/lib/samples.js +69 -0
- package/src/lib/samples.js.map +1 -0
- package/src/lib/samples.mjs +65 -0
- package/src/lib/samples.mjs.map +1 -0
- package/src/lib/saved-forms.d.mts +93 -0
- package/src/lib/saved-forms.d.ts +93 -0
- package/src/lib/saved-forms.js +211 -0
- package/src/lib/saved-forms.js.map +1 -0
- package/src/lib/saved-forms.mjs +200 -0
- package/src/lib/saved-forms.mjs.map +1 -0
- package/src/lib/screen-canvas.d.mts +57 -0
- package/src/lib/screen-canvas.d.ts +57 -0
- package/src/lib/screen-canvas.js +691 -0
- package/src/lib/screen-canvas.js.map +1 -0
- package/src/lib/screen-canvas.mjs +688 -0
- package/src/lib/screen-canvas.mjs.map +1 -0
- package/src/lib/screen-editor.d.mts +32 -0
- package/src/lib/screen-editor.d.ts +32 -0
- package/src/lib/screen-editor.js +377 -0
- package/src/lib/screen-editor.js.map +1 -0
- package/src/lib/screen-editor.mjs +374 -0
- package/src/lib/screen-editor.mjs.map +1 -0
- package/src/lib/screen-properties.d.mts +28 -0
- package/src/lib/screen-properties.d.ts +28 -0
- package/src/lib/screen-properties.js +69 -0
- package/src/lib/screen-properties.js.map +1 -0
- package/src/lib/screen-properties.mjs +63 -0
- package/src/lib/screen-properties.mjs.map +1 -0
- package/src/lib/shortcuts-list.d.mts +24 -0
- package/src/lib/shortcuts-list.d.ts +24 -0
- package/src/lib/shortcuts-list.js +25 -0
- package/src/lib/shortcuts-list.js.map +1 -0
- package/src/lib/shortcuts-list.mjs +21 -0
- package/src/lib/shortcuts-list.mjs.map +1 -0
- package/src/lib/shortcuts-sheet.d.mts +27 -0
- package/src/lib/shortcuts-sheet.d.ts +27 -0
- package/src/lib/shortcuts-sheet.js +95 -0
- package/src/lib/shortcuts-sheet.js.map +1 -0
- package/src/lib/shortcuts-sheet.mjs +92 -0
- package/src/lib/shortcuts-sheet.mjs.map +1 -0
- package/src/lib/steps-checks.d.mts +33 -0
- package/src/lib/steps-checks.d.ts +33 -0
- package/src/lib/steps-checks.js +112 -0
- package/src/lib/steps-checks.js.map +1 -0
- package/src/lib/steps-checks.mjs +107 -0
- package/src/lib/steps-checks.mjs.map +1 -0
- package/src/lib/steps-commands.d.mts +54 -0
- package/src/lib/steps-commands.d.ts +54 -0
- package/src/lib/steps-commands.js +188 -0
- package/src/lib/steps-commands.js.map +1 -0
- package/src/lib/steps-commands.mjs +183 -0
- package/src/lib/steps-commands.mjs.map +1 -0
- package/src/lib/steps-editor.d.mts +25 -0
- package/src/lib/steps-editor.d.ts +25 -0
- package/src/lib/steps-editor.js +381 -0
- package/src/lib/steps-editor.js.map +1 -0
- package/src/lib/steps-editor.mjs +378 -0
- package/src/lib/steps-editor.mjs.map +1 -0
- package/src/lib/steps-map.d.mts +38 -0
- package/src/lib/steps-map.d.ts +38 -0
- package/src/lib/steps-map.js +124 -0
- package/src/lib/steps-map.js.map +1 -0
- package/src/lib/steps-map.mjs +121 -0
- package/src/lib/steps-map.mjs.map +1 -0
- package/src/lib/steps-marks.d.mts +20 -0
- package/src/lib/steps-marks.d.ts +20 -0
- package/src/lib/steps-marks.js +84 -0
- package/src/lib/steps-marks.js.map +1 -0
- package/src/lib/steps-marks.mjs +77 -0
- package/src/lib/steps-marks.mjs.map +1 -0
- package/src/lib/steps-panel.d.mts +24 -0
- package/src/lib/steps-panel.d.ts +24 -0
- package/src/lib/steps-panel.js +89 -0
- package/src/lib/steps-panel.js.map +1 -0
- package/src/lib/steps-panel.mjs +84 -0
- package/src/lib/steps-panel.mjs.map +1 -0
- package/src/lib/steps-places.d.mts +69 -0
- package/src/lib/steps-places.d.ts +69 -0
- package/src/lib/steps-places.js +280 -0
- package/src/lib/steps-places.js.map +1 -0
- package/src/lib/steps-places.mjs +261 -0
- package/src/lib/steps-places.mjs.map +1 -0
- package/src/lib/steps-settings.d.mts +31 -0
- package/src/lib/steps-settings.d.ts +31 -0
- package/src/lib/steps-settings.js +351 -0
- package/src/lib/steps-settings.js.map +1 -0
- package/src/lib/steps-settings.mjs +347 -0
- package/src/lib/steps-settings.mjs.map +1 -0
- package/src/lib/steps-words.d.mts +41 -0
- package/src/lib/steps-words.d.ts +41 -0
- package/src/lib/steps-words.js +139 -0
- package/src/lib/steps-words.js.map +1 -0
- package/src/lib/steps-words.mjs +131 -0
- package/src/lib/steps-words.mjs.map +1 -0
- package/src/lib/structure-changes.d.mts +14 -0
- package/src/lib/structure-changes.d.ts +14 -0
- package/src/lib/structure-changes.js +25 -0
- package/src/lib/structure-changes.js.map +1 -0
- package/src/lib/structure-changes.mjs +22 -0
- package/src/lib/structure-changes.mjs.map +1 -0
- package/src/lib/structure-commands.d.mts +31 -0
- package/src/lib/structure-commands.d.ts +31 -0
- package/src/lib/structure-commands.js +59 -0
- package/src/lib/structure-commands.js.map +1 -0
- package/src/lib/structure-commands.mjs +56 -0
- package/src/lib/structure-commands.mjs.map +1 -0
- package/src/lib/styles-canvas.d.mts +11 -0
- package/src/lib/styles-canvas.d.ts +11 -0
- package/src/lib/styles-canvas.js +199 -0
- package/src/lib/styles-canvas.js.map +1 -0
- package/src/lib/styles-canvas.mjs +196 -0
- package/src/lib/styles-canvas.mjs.map +1 -0
- package/src/lib/styles-choices.d.mts +6 -0
- package/src/lib/styles-choices.d.ts +6 -0
- package/src/lib/styles-choices.js +25 -0
- package/src/lib/styles-choices.js.map +1 -0
- package/src/lib/styles-choices.mjs +22 -0
- package/src/lib/styles-choices.mjs.map +1 -0
- package/src/lib/styles-extend.d.mts +6 -0
- package/src/lib/styles-extend.d.ts +6 -0
- package/src/lib/styles-extend.js +71 -0
- package/src/lib/styles-extend.js.map +1 -0
- package/src/lib/styles-extend.mjs +68 -0
- package/src/lib/styles-extend.mjs.map +1 -0
- package/src/lib/styles-gap.d.mts +6 -0
- package/src/lib/styles-gap.d.ts +6 -0
- package/src/lib/styles-gap.js +68 -0
- package/src/lib/styles-gap.js.map +1 -0
- package/src/lib/styles-gap.mjs +65 -0
- package/src/lib/styles-gap.mjs.map +1 -0
- package/src/lib/styles-json.d.mts +5 -0
- package/src/lib/styles-json.d.ts +5 -0
- package/src/lib/styles-json.js +109 -0
- package/src/lib/styles-json.js.map +1 -0
- package/src/lib/styles-json.mjs +106 -0
- package/src/lib/styles-json.mjs.map +1 -0
- package/src/lib/styles-kinds.d.mts +7 -0
- package/src/lib/styles-kinds.d.ts +7 -0
- package/src/lib/styles-kinds.js +56 -0
- package/src/lib/styles-kinds.js.map +1 -0
- package/src/lib/styles-kinds.mjs +53 -0
- package/src/lib/styles-kinds.mjs.map +1 -0
- package/src/lib/styles-outline.d.mts +7 -0
- package/src/lib/styles-outline.d.ts +7 -0
- package/src/lib/styles-outline.js +95 -0
- package/src/lib/styles-outline.js.map +1 -0
- package/src/lib/styles-outline.mjs +92 -0
- package/src/lib/styles-outline.mjs.map +1 -0
- package/src/lib/styles-panel.d.mts +7 -0
- package/src/lib/styles-panel.d.ts +7 -0
- package/src/lib/styles-panel.js +150 -0
- package/src/lib/styles-panel.js.map +1 -0
- package/src/lib/styles-panel.mjs +147 -0
- package/src/lib/styles-panel.mjs.map +1 -0
- package/src/lib/styles-rules.d.mts +7 -0
- package/src/lib/styles-rules.d.ts +7 -0
- package/src/lib/styles-rules.js +201 -0
- package/src/lib/styles-rules.js.map +1 -0
- package/src/lib/styles-rules.mjs +198 -0
- package/src/lib/styles-rules.mjs.map +1 -0
- package/src/lib/styles-steps.d.mts +9 -0
- package/src/lib/styles-steps.d.ts +9 -0
- package/src/lib/styles-steps.js +84 -0
- package/src/lib/styles-steps.js.map +1 -0
- package/src/lib/styles-steps.mjs +81 -0
- package/src/lib/styles-steps.mjs.map +1 -0
- package/src/lib/styles-translations.d.mts +7 -0
- package/src/lib/styles-translations.d.ts +7 -0
- package/src/lib/styles-translations.js +104 -0
- package/src/lib/styles-translations.js.map +1 -0
- package/src/lib/styles-translations.mjs +101 -0
- package/src/lib/styles-translations.mjs.map +1 -0
- package/src/lib/styles.d.mts +3 -0
- package/src/lib/styles.d.ts +3 -0
- package/src/lib/styles.js +676 -0
- package/src/lib/styles.js.map +1 -0
- package/src/lib/styles.mjs +672 -0
- package/src/lib/styles.mjs.map +1 -0
- package/src/lib/survey-editor.d.mts +42 -0
- package/src/lib/survey-editor.d.ts +42 -0
- package/src/lib/survey-editor.js +651 -0
- package/src/lib/survey-editor.js.map +1 -0
- package/src/lib/survey-editor.mjs +647 -0
- package/src/lib/survey-editor.mjs.map +1 -0
- package/src/lib/templates-notice.d.mts +16 -0
- package/src/lib/templates-notice.d.ts +16 -0
- package/src/lib/templates-notice.js +45 -0
- package/src/lib/templates-notice.js.map +1 -0
- package/src/lib/templates-notice.mjs +42 -0
- package/src/lib/templates-notice.mjs.map +1 -0
- package/src/lib/templates-start.d.mts +41 -0
- package/src/lib/templates-start.d.ts +41 -0
- package/src/lib/templates-start.js +117 -0
- package/src/lib/templates-start.js.map +1 -0
- package/src/lib/templates-start.mjs +114 -0
- package/src/lib/templates-start.mjs.map +1 -0
- package/src/lib/templates.d.mts +35 -0
- package/src/lib/templates.d.ts +35 -0
- package/src/lib/templates.js +195 -0
- package/src/lib/templates.js.map +1 -0
- package/src/lib/templates.mjs +186 -0
- package/src/lib/templates.mjs.map +1 -0
- package/src/lib/toolbox.d.mts +49 -0
- package/src/lib/toolbox.d.ts +49 -0
- package/src/lib/toolbox.js +160 -0
- package/src/lib/toolbox.js.map +1 -0
- package/src/lib/toolbox.mjs +154 -0
- package/src/lib/toolbox.mjs.map +1 -0
- package/src/lib/translations-csv.d.mts +20 -0
- package/src/lib/translations-csv.d.ts +20 -0
- package/src/lib/translations-csv.js +138 -0
- package/src/lib/translations-csv.js.map +1 -0
- package/src/lib/translations-csv.mjs +132 -0
- package/src/lib/translations-csv.mjs.map +1 -0
- package/src/lib/translations-grid.d.mts +30 -0
- package/src/lib/translations-grid.d.ts +30 -0
- package/src/lib/translations-grid.js +198 -0
- package/src/lib/translations-grid.js.map +1 -0
- package/src/lib/translations-grid.mjs +195 -0
- package/src/lib/translations-grid.mjs.map +1 -0
- package/src/lib/translations-view.d.mts +29 -0
- package/src/lib/translations-view.d.ts +29 -0
- package/src/lib/translations-view.js +248 -0
- package/src/lib/translations-view.js.map +1 -0
- package/src/lib/translations-view.mjs +245 -0
- package/src/lib/translations-view.mjs.map +1 -0
- package/src/lib/translations.d.mts +57 -0
- package/src/lib/translations.d.ts +57 -0
- package/src/lib/translations.js +211 -0
- package/src/lib/translations.js.map +1 -0
- package/src/lib/translations.mjs +198 -0
- package/src/lib/translations.mjs.map +1 -0
- package/src/lib/try-drawer.d.mts +4 -0
- package/src/lib/try-drawer.d.ts +4 -0
- package/src/lib/try-drawer.js +139 -0
- package/src/lib/try-drawer.js.map +1 -0
- package/src/lib/try-drawer.mjs +136 -0
- package/src/lib/try-drawer.mjs.map +1 -0
- package/src/lib/try-it.d.mts +37 -0
- package/src/lib/try-it.d.ts +37 -0
- package/src/lib/try-it.js +153 -0
- package/src/lib/try-it.js.map +1 -0
- package/src/lib/try-it.mjs +150 -0
- package/src/lib/try-it.mjs.map +1 -0
- package/src/lib/try-language.d.mts +25 -0
- package/src/lib/try-language.d.ts +25 -0
- package/src/lib/try-language.js +57 -0
- package/src/lib/try-language.js.map +1 -0
- package/src/lib/try-language.mjs +54 -0
- package/src/lib/try-language.mjs.map +1 -0
- package/src/lib/validate-edit.d.mts +19 -0
- package/src/lib/validate-edit.d.ts +19 -0
- package/src/lib/validate-edit.js +51 -0
- package/src/lib/validate-edit.js.map +1 -0
- package/src/lib/validate-edit.mjs +48 -0
- package/src/lib/validate-edit.mjs.map +1 -0
- package/src/lib/writes.d.mts +14 -0
- package/src/lib/writes.d.ts +14 -0
- package/src/lib/writes.js +41 -0
- package/src/lib/writes.js.map +1 -0
- package/src/lib/writes.mjs +35 -0
- package/src/lib/writes.mjs.map +1 -0
- package/src/react.d.mts +21 -0
- package/src/react.d.ts +21 -0
- package/src/react.js +35 -0
- package/src/react.js.map +1 -0
- package/src/react.mjs +32 -0
- package/src/react.mjs.map +1 -0
- package/src/vue.d.mts +65 -0
- package/src/vue.d.ts +65 -0
- package/src/vue.js +57 -0
- package/src/vue.js.map +1 -0
- package/src/vue.mjs +54 -0
- package/src/vue.mjs.map +1 -0
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
import { compileModifier, createForm } from '@fieldia/core';
|
|
2
|
+
import { en } from './locales/en/index.mjs';
|
|
3
|
+
/** The same pieces, in the same order, as the page's own reader takes them. */
|
|
4
|
+
const PIECE = /(\(|\)|,|==|!=|<=|>=|<>|<|>|[-+*/%]|not\s+in\b|in\b|and\b|or\b|not\b|\[[^\]]*\]|'[^']*'|"[^"]*"|\d+\.?\d*|\w+(?:\.\w+)*)/iy;
|
|
5
|
+
const SPACE = /\s*/y;
|
|
6
|
+
const WORDS = new Set(['and', 'or', 'not', 'in']);
|
|
7
|
+
const CONSTANTS = new Set(['True', 'False', 'None', 'true', 'false', 'null']);
|
|
8
|
+
function kindOf(text) {
|
|
9
|
+
if (text === '(')
|
|
10
|
+
return 'open';
|
|
11
|
+
if (text === ')')
|
|
12
|
+
return 'close';
|
|
13
|
+
if (text === ',')
|
|
14
|
+
return 'comma';
|
|
15
|
+
if (text.startsWith('['))
|
|
16
|
+
return 'list';
|
|
17
|
+
if (text.startsWith("'") || text.startsWith('"'))
|
|
18
|
+
return 'text';
|
|
19
|
+
if (/^\d/.test(text))
|
|
20
|
+
return 'number';
|
|
21
|
+
if (WORDS.has(text.toLowerCase().split(/\s+/)[0]) || CONSTANTS.has(text))
|
|
22
|
+
return 'word';
|
|
23
|
+
if (/^\w/.test(text))
|
|
24
|
+
return 'name';
|
|
25
|
+
return 'sign';
|
|
26
|
+
}
|
|
27
|
+
/** The pieces of a formula, or the character it cannot read. */
|
|
28
|
+
export function formulaTokens(source) {
|
|
29
|
+
const tokens = [];
|
|
30
|
+
let at = 0;
|
|
31
|
+
for (;;) {
|
|
32
|
+
SPACE.lastIndex = at;
|
|
33
|
+
SPACE.exec(source);
|
|
34
|
+
at = SPACE.lastIndex;
|
|
35
|
+
if (at >= source.length)
|
|
36
|
+
return tokens;
|
|
37
|
+
PIECE.lastIndex = at;
|
|
38
|
+
const match = PIECE.exec(source);
|
|
39
|
+
if (!match)
|
|
40
|
+
return { bad: at };
|
|
41
|
+
tokens.push({ kind: kindOf(match[0]), text: match[0], from: at, to: PIECE.lastIndex });
|
|
42
|
+
at = PIECE.lastIndex;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/** "Unknown field “prise” at 1–5": the words, and where, as they are shown under the box. */
|
|
46
|
+
export function problemWords(problem, words = en) {
|
|
47
|
+
if (!problem)
|
|
48
|
+
return '';
|
|
49
|
+
if (problem.from === undefined)
|
|
50
|
+
return problem.words;
|
|
51
|
+
const at = problem.to === undefined || problem.to === problem.from ? `${problem.from}` : `${problem.from}–${problem.to}`;
|
|
52
|
+
// Words that go on past the place end in a comma of their own: "“round” takes 1 or 2 values, at 9–13".
|
|
53
|
+
return words.rules.at(problem.words, at);
|
|
54
|
+
}
|
|
55
|
+
const place = (token) => ({ from: token.from + 1, to: token.to });
|
|
56
|
+
/** A field called as a function is a function: "round(" is not a field "round". */
|
|
57
|
+
const calls = (tokens, i) => tokens[i + 1]?.kind === 'open';
|
|
58
|
+
/** Whether it reads at all: the page's own reader, stopped where it stops. */
|
|
59
|
+
function readError(source) {
|
|
60
|
+
try {
|
|
61
|
+
compileModifier(source);
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
return error.message;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/** A message that only says the formula ran out: what came before it may still go on to read. */
|
|
69
|
+
const ranOut = (message) => /EOF|^Expected/.test(message);
|
|
70
|
+
/**
|
|
71
|
+
* What is wrong with a formula on this page, or null when it reads: a sign it
|
|
72
|
+
* cannot hold, a piece out of place, something missing, a function there is
|
|
73
|
+
* not or given too many values, a field the page does not have.
|
|
74
|
+
*/
|
|
75
|
+
export function formulaProblem(page, source, words = en) {
|
|
76
|
+
const w = words.rules;
|
|
77
|
+
if (!source.trim())
|
|
78
|
+
return { words: w.typeAFormula };
|
|
79
|
+
const tokens = formulaTokens(source);
|
|
80
|
+
if (!Array.isArray(tokens))
|
|
81
|
+
return { words: w.cannotBeIn(source[tokens.bad]), from: tokens.bad + 1, to: tokens.bad + 1 };
|
|
82
|
+
const message = readError(source);
|
|
83
|
+
if (message !== null)
|
|
84
|
+
return whereItStops(source, tokens, message, words);
|
|
85
|
+
// It reads: each name must be a field of the page.
|
|
86
|
+
for (const [i, token] of tokens.entries()) {
|
|
87
|
+
if (token.kind !== 'name' || calls(tokens, i))
|
|
88
|
+
continue;
|
|
89
|
+
const root = token.text.split('.')[0];
|
|
90
|
+
if (!Object.prototype.hasOwnProperty.call(page.fields, root))
|
|
91
|
+
return { words: w.unknownField(root), ...place(token) };
|
|
92
|
+
}
|
|
93
|
+
return null;
|
|
94
|
+
}
|
|
95
|
+
function whereItStops(source, tokens, message, words) {
|
|
96
|
+
const w = words.rules;
|
|
97
|
+
const named = /^no function "(\w+)"/.exec(message) ?? /^(\w+) takes /.exec(message) ?? /^(sum) takes the name/.exec(message);
|
|
98
|
+
if (named) {
|
|
99
|
+
// The call the reader stopped at: the last one of that name before where it stopped.
|
|
100
|
+
const at = firstFailing(source, tokens);
|
|
101
|
+
const name = [...tokens.slice(0, at + 1)].reverse().find((t) => t.kind === 'name' && t.text === named[1]) ?? tokens.find((t) => t.text === named[1]);
|
|
102
|
+
const said = /^no function/.test(message) ? w.unknownFunction(named[1]) : w.takes(named[1], message.slice(named[1].length));
|
|
103
|
+
return name ? { words: said, ...place(name) } : { words: said };
|
|
104
|
+
}
|
|
105
|
+
if (ranOut(message)) {
|
|
106
|
+
const open = unclosed(tokens);
|
|
107
|
+
if (open)
|
|
108
|
+
return { words: w.neverClosed, ...place(open) };
|
|
109
|
+
const last = tokens[tokens.length - 1];
|
|
110
|
+
return { words: w.missingAfter(last.text), ...place(last) };
|
|
111
|
+
}
|
|
112
|
+
const token = tokens[firstFailing(source, tokens)];
|
|
113
|
+
return { words: w.outOfPlace(token.text), ...place(token) };
|
|
114
|
+
}
|
|
115
|
+
/** The first piece the formula cannot go on from: up to it, the formula reads, or only runs out. */
|
|
116
|
+
function firstFailing(source, tokens) {
|
|
117
|
+
for (let i = 0; i < tokens.length; i++) {
|
|
118
|
+
const message = readError(source.slice(0, tokens[i].to));
|
|
119
|
+
if (message !== null && !ranOut(message))
|
|
120
|
+
return i;
|
|
121
|
+
}
|
|
122
|
+
return tokens.length - 1;
|
|
123
|
+
}
|
|
124
|
+
/** The first bracket opened and never closed. */
|
|
125
|
+
function unclosed(tokens) {
|
|
126
|
+
const open = [];
|
|
127
|
+
for (const token of tokens) {
|
|
128
|
+
if (token.kind === 'open')
|
|
129
|
+
open.push(token);
|
|
130
|
+
else if (token.kind === 'close')
|
|
131
|
+
open.pop();
|
|
132
|
+
}
|
|
133
|
+
return open[0];
|
|
134
|
+
}
|
|
135
|
+
/** The fields a formula reads, by name, once each; none when it cannot be read. */
|
|
136
|
+
export function fieldsReadBy(source) {
|
|
137
|
+
if (typeof source !== 'string')
|
|
138
|
+
return [];
|
|
139
|
+
try {
|
|
140
|
+
return [...compileModifier(source).fields];
|
|
141
|
+
}
|
|
142
|
+
catch {
|
|
143
|
+
return [];
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
const labelOf = (page, name) => page.fields[name]?.label || name;
|
|
147
|
+
/**
|
|
148
|
+
* Whether working a field out from this formula would have it worked out
|
|
149
|
+
* from itself, directly or through other worked-out fields; the words if so.
|
|
150
|
+
*/
|
|
151
|
+
export function wouldCircle(page, own, source, words = en) {
|
|
152
|
+
const reads = (name) => (name === own ? fieldsReadBy(source) : fieldsReadBy(page.fields[name]?.compute));
|
|
153
|
+
if (reads(own).includes(own))
|
|
154
|
+
return words.rules.fromItself(labelOf(page, own));
|
|
155
|
+
const path = [own];
|
|
156
|
+
const seen = new Set();
|
|
157
|
+
const visit = (name) => {
|
|
158
|
+
for (const next of reads(name)) {
|
|
159
|
+
if (next === own)
|
|
160
|
+
return true;
|
|
161
|
+
if (seen.has(next))
|
|
162
|
+
continue;
|
|
163
|
+
seen.add(next);
|
|
164
|
+
path.push(next);
|
|
165
|
+
if (visit(next))
|
|
166
|
+
return true;
|
|
167
|
+
path.pop();
|
|
168
|
+
}
|
|
169
|
+
return false;
|
|
170
|
+
};
|
|
171
|
+
if (!visit(own))
|
|
172
|
+
return null;
|
|
173
|
+
return words.rules.circle(labelOf(page, own), [...path, own].map((name) => labelOf(page, name)));
|
|
174
|
+
}
|
|
175
|
+
// ---- in words ------------------------------------------------------------------------------------
|
|
176
|
+
const SIGNS = { '*': '×', '/': '÷', '-': '−', '>=': '≥', '<=': '≤' };
|
|
177
|
+
/** Signs said in words: `==` as "is". */
|
|
178
|
+
const SAID_SIGNS = { '==': 'is', '!=': 'isNot', '<>': 'isNot' };
|
|
179
|
+
const signWords = (sign, words) => (SAID_SIGNS[sign] ? words.rules.signs[SAID_SIGNS[sign]] : (SIGNS[sign] ?? sign));
|
|
180
|
+
/** A label that holds a sign of its own, "Price - net", is quoted, so it reads as one name and not as a sum. */
|
|
181
|
+
const nameWords = (label, words) => (/[-+*/%<>=!(),'"×÷−≥≤]/.test(label) ? words.rules.quoteName(label) : label);
|
|
182
|
+
/** A literal as written, as its value: `'bulk'` is bulk, `-5` is −5; null for anything else. */
|
|
183
|
+
export function literalOf(source) {
|
|
184
|
+
const tokens = formulaTokens(source.trim());
|
|
185
|
+
if (!Array.isArray(tokens))
|
|
186
|
+
return null;
|
|
187
|
+
const [first, second] = tokens;
|
|
188
|
+
if (tokens.length === 2 && first.text === '-' && second.kind === 'number')
|
|
189
|
+
return { value: -Number(second.text) };
|
|
190
|
+
if (tokens.length !== 1)
|
|
191
|
+
return null;
|
|
192
|
+
if (first.kind === 'text')
|
|
193
|
+
return { value: first.text.slice(1, -1) };
|
|
194
|
+
if (first.kind === 'number')
|
|
195
|
+
return { value: Number(first.text) };
|
|
196
|
+
if (first.kind === 'word' && CONSTANTS.has(first.text))
|
|
197
|
+
return { value: /^t/i.test(first.text) ? true : /^f/i.test(first.text) ? false : null };
|
|
198
|
+
return null;
|
|
199
|
+
}
|
|
200
|
+
/** A value as a person reads it: a choice by its label, yes or no, text as it is. */
|
|
201
|
+
export function valueInWords(field, value, words = en) {
|
|
202
|
+
if (field?.type === 'selection')
|
|
203
|
+
return field.options.find((o) => o.value === value)?.label ?? String(value);
|
|
204
|
+
if (typeof value === 'boolean')
|
|
205
|
+
return value ? words.rules.yes : words.rules.no;
|
|
206
|
+
if (value === null || value === undefined)
|
|
207
|
+
return words.rules.nothing;
|
|
208
|
+
return String(value);
|
|
209
|
+
}
|
|
210
|
+
/** A formula in words, piece by piece: what `formulaInWords` joins, and the box draws with each field marked. */
|
|
211
|
+
export function formulaPieces(page, source, words = en) {
|
|
212
|
+
const tokens = formulaTokens(source);
|
|
213
|
+
if (!Array.isArray(tokens))
|
|
214
|
+
return [{ text: source, was: source, space: false }];
|
|
215
|
+
return tokens.map((token, i) => {
|
|
216
|
+
let text = token.text;
|
|
217
|
+
let field;
|
|
218
|
+
if (token.kind === 'name' && !calls(tokens, i)) {
|
|
219
|
+
field = token.text.split('.')[0];
|
|
220
|
+
text = nameWords(labelOf(page, field), words);
|
|
221
|
+
}
|
|
222
|
+
else if (token.kind === 'sign')
|
|
223
|
+
text = signWords(token.text, words);
|
|
224
|
+
else if (token.kind === 'word' && CONSTANTS.has(token.text))
|
|
225
|
+
text = valueInWords(undefined, literalOf(token.text)?.value, words);
|
|
226
|
+
else if (token.kind === 'word')
|
|
227
|
+
text = words.rules.keyword(token.text);
|
|
228
|
+
else if (token.kind === 'text') {
|
|
229
|
+
// Compared with a choice: the choice's label.
|
|
230
|
+
const compared = tokens[i - 1]?.kind === 'sign' && tokens[i - 2]?.kind === 'name' ? page.fields[tokens[i - 2].text] : undefined;
|
|
231
|
+
text = compared?.type === 'selection' ? valueInWords(compared, token.text.slice(1, -1), words) : words.rules.text(token.text.slice(1, -1));
|
|
232
|
+
}
|
|
233
|
+
const tight = token.kind === 'close' || token.kind === 'comma' || i === 0 || tokens[i - 1].kind === 'open' || (token.kind === 'open' && tokens[i - 1]?.kind === 'name');
|
|
234
|
+
return { text, was: token.text, space: !tight, ...(field ? { field } : {}) };
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
/**
|
|
238
|
+
* A formula in words: its fields by their labels, × and ÷ for * and /, ≥
|
|
239
|
+
* and ≤ for >= and <=, "is" and "is not" for == and !=, and a choice
|
|
240
|
+
* compared with a value by the value's label: `state == 'done'` reads
|
|
241
|
+
* "Status is Done". A label with a sign in it is quoted.
|
|
242
|
+
*/
|
|
243
|
+
export function formulaInWords(page, source, words = en) {
|
|
244
|
+
return formulaPieces(page, source, words)
|
|
245
|
+
.map((piece) => (piece.space ? ' ' : '') + piece.text)
|
|
246
|
+
.join('');
|
|
247
|
+
}
|
|
248
|
+
// ---- on made-up values ---------------------------------------------------------------------------
|
|
249
|
+
const AMOUNTS = [120, 80, 45, 15.5];
|
|
250
|
+
const COUNTS = [3, 5, 2, 4];
|
|
251
|
+
/** Days apart, so a rule comparing two dates can be seen to hold or not. */
|
|
252
|
+
const DAYS = ['2026-03-14', '2026-03-01', '2026-04-02'];
|
|
253
|
+
/** A made-up value for a field, the n-th of its kind in the formula. */
|
|
254
|
+
function sampleOf(name, field, n) {
|
|
255
|
+
switch (field.type) {
|
|
256
|
+
case 'integer':
|
|
257
|
+
return COUNTS[n % COUNTS.length];
|
|
258
|
+
case 'float':
|
|
259
|
+
case 'monetary':
|
|
260
|
+
return AMOUNTS[n % AMOUNTS.length];
|
|
261
|
+
case 'boolean':
|
|
262
|
+
return true;
|
|
263
|
+
case 'selection':
|
|
264
|
+
return field.multiple ? [field.options[0]?.value] : field.options[0]?.value;
|
|
265
|
+
case 'date':
|
|
266
|
+
return DAYS[n % DAYS.length];
|
|
267
|
+
case 'datetime':
|
|
268
|
+
return `${DAYS[n % DAYS.length]} 09:30:00`;
|
|
269
|
+
case 'char':
|
|
270
|
+
case 'text':
|
|
271
|
+
case 'html':
|
|
272
|
+
return field.label || name;
|
|
273
|
+
default:
|
|
274
|
+
return null;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
const shown = (field, value, words) => typeof value === 'string' && field?.type !== 'selection' && !/^\d{4}-/.test(value) ? words.rules.text(value) : valueInWords(field, value, words);
|
|
278
|
+
/** Made-up values for the fields a formula reads, the n-th of a kind taking the n-th sample; a worked-out field is left to be worked out. */
|
|
279
|
+
function samplesFor(page, reads) {
|
|
280
|
+
const counts = new Map();
|
|
281
|
+
const values = {};
|
|
282
|
+
for (const name of reads) {
|
|
283
|
+
const field = page.fields[name];
|
|
284
|
+
const group = ['integer'].includes(field.type) ? 'count' : ['float', 'monetary'].includes(field.type) ? 'amount' : field.type;
|
|
285
|
+
const n = counts.get(group) ?? 0;
|
|
286
|
+
counts.set(group, n + 1);
|
|
287
|
+
if (field.compute === undefined)
|
|
288
|
+
values[name] = sampleOf(name, field, n);
|
|
289
|
+
}
|
|
290
|
+
return values;
|
|
291
|
+
}
|
|
292
|
+
/** The values as a form settles them on these fields, worked-out ones worked out; null when they cannot be. */
|
|
293
|
+
function settled(fields, values) {
|
|
294
|
+
const trial = { fieldia: '0.1', id: 'sample', data: { kind: 'responses' }, fields, layout: { type: 'sections', id: 'root', children: [] } };
|
|
295
|
+
try {
|
|
296
|
+
return createForm({ page: trial, values: values }).getState().values;
|
|
297
|
+
}
|
|
298
|
+
catch {
|
|
299
|
+
return null;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
/** "Price 120", "Quantity 3": each field read, by its label, with its value. */
|
|
303
|
+
const givenWords = (page, reads, values, words) => reads.map((name) => words.rules.given(labelOf(page, name), shown(page.fields[name], values[name], words)));
|
|
304
|
+
/**
|
|
305
|
+
* The formula worked out on made-up values, the way the form works it out
|
|
306
|
+
* (a whole number rounded, text as text): "With Price 120 and Quantity 3:
|
|
307
|
+
* 360". Empty when the formula does not read.
|
|
308
|
+
*/
|
|
309
|
+
export function sampleResult(page, own, source, words = en) {
|
|
310
|
+
if (formulaProblem(page, source) || wouldCircle(page, own, source))
|
|
311
|
+
return '';
|
|
312
|
+
const reads = fieldsReadBy(source).filter((name) => name !== own && page.fields[name]);
|
|
313
|
+
const target = page.fields[own];
|
|
314
|
+
if (!target)
|
|
315
|
+
return '';
|
|
316
|
+
const worked = settled({ ...page.fields, [own]: { ...target, compute: source } }, samplesFor(page, reads));
|
|
317
|
+
if (!worked)
|
|
318
|
+
return '';
|
|
319
|
+
const result = worked[own];
|
|
320
|
+
const said = result === null || result === undefined || (typeof result === 'number' && !Number.isFinite(result)) ? words.rules.cannotWorkOut : shown(target, result, words);
|
|
321
|
+
if (!reads.length)
|
|
322
|
+
return words.rules.always(said);
|
|
323
|
+
return words.rules.withValues(givenWords(page, reads, worked, words), said);
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Whether a rule across fields holds on made-up values, as the form checks
|
|
327
|
+
* it: "With Contract ends 2026-03-14 and Start date 2026-03-01: holds".
|
|
328
|
+
* Empty when the formula does not read.
|
|
329
|
+
*/
|
|
330
|
+
export function sampleHolds(page, source, words = en) {
|
|
331
|
+
const w = words.rules;
|
|
332
|
+
if (formulaProblem(page, source))
|
|
333
|
+
return '';
|
|
334
|
+
const reads = fieldsReadBy(source).filter((name) => page.fields[name]);
|
|
335
|
+
const worked = settled(page.fields, samplesFor(page, reads));
|
|
336
|
+
if (!worked)
|
|
337
|
+
return '';
|
|
338
|
+
const holds = compileModifier(source).evaluate(worked);
|
|
339
|
+
if (!reads.length)
|
|
340
|
+
return holds ? w.alwaysHolds : w.neverHolds;
|
|
341
|
+
// The form waits for every field a rule reads: one with no made-up value is said so.
|
|
342
|
+
const waits = reads.filter((name) => worked[name] === null || worked[name] === undefined);
|
|
343
|
+
if (waits.length)
|
|
344
|
+
return w.checkedOnce(waits.map((name) => labelOf(page, name)));
|
|
345
|
+
return w.withValues(givenWords(page, reads, worked, words), holds ? w.holds : w.doesNotHold);
|
|
346
|
+
}
|
|
347
|
+
//# sourceMappingURL=rules-formula.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-formula.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/rules-formula.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Page } from '@fieldia/core';
|
|
2
|
+
import type { Designer } from './designer.mjs';
|
|
3
|
+
/** Draw the marks of every part with a rule in `container`, and take away those of parts that have none now. */
|
|
4
|
+
export declare function ruleMarks(container: HTMLElement, page: Page, designer: Designer): void;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Page } from '@fieldia/core';
|
|
2
|
+
import type { Designer } from './designer';
|
|
3
|
+
/** Draw the marks of every part with a rule in `container`, and take away those of parts that have none now. */
|
|
4
|
+
export declare function ruleMarks(container: HTMLElement, page: Page, designer: Designer): void;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ruleMarks = ruleMarks;
|
|
4
|
+
const chrome_1 = require("./chrome");
|
|
5
|
+
const icons_1 = require("./icons");
|
|
6
|
+
const rules_open_1 = require("./rules-open");
|
|
7
|
+
const rules_words_1 = require("./rules-words");
|
|
8
|
+
const steps_marks_1 = require("./steps-marks");
|
|
9
|
+
const page_tree_1 = require("./page-tree");
|
|
10
|
+
/** Where a part's marks go, in what the canvas drew for it; parts open for editing show their rules in full. */
|
|
11
|
+
const PLACES = [
|
|
12
|
+
{ parts: '.fd-canvas-field[data-node]:not(.fd-editing)' },
|
|
13
|
+
{ parts: '.fd-canvas-section[data-node]' },
|
|
14
|
+
{ parts: '.fd-q-closed[data-node]', into: '.fd-q-title' },
|
|
15
|
+
{ parts: '.fd-design-step[data-node]', into: '.fd-step-head-row' },
|
|
16
|
+
];
|
|
17
|
+
/** The marks in the order they stand. */
|
|
18
|
+
const ORDER = ['sometimes', 'worked-out', 'answer', 'steps'];
|
|
19
|
+
/** Each part's marks, in a mark's order: when it shows, what it holds, what it asks of an answer. */
|
|
20
|
+
function marksOf(page, designer) {
|
|
21
|
+
const words = designer.words;
|
|
22
|
+
const w = words.rulesUi;
|
|
23
|
+
const out = new Map();
|
|
24
|
+
for (const rule of (0, rules_words_1.pageRules)(page, words)) {
|
|
25
|
+
const kind = rule.kind === 'shows' ? 'sometimes' : rule.kind === 'compute' ? 'worked-out' : rule.kind === 'answer' ? 'answer' : null;
|
|
26
|
+
if (!kind || !rule.part)
|
|
27
|
+
continue;
|
|
28
|
+
const marks = out.get(rule.part) ?? [];
|
|
29
|
+
const mark = marks.find((m) => m.kind === kind);
|
|
30
|
+
if (mark)
|
|
31
|
+
mark.sentences.push(rule.sentence);
|
|
32
|
+
else
|
|
33
|
+
marks.push({ kind, rule: rule.kind, words: kind === 'answer' ? '' : w.marks[kind], sentences: [rule.sentence] });
|
|
34
|
+
out.set(rule.part, marks);
|
|
35
|
+
}
|
|
36
|
+
// steps lane: a field whose change does something.
|
|
37
|
+
for (const [part, lines] of (0, steps_marks_1.changeMarks)(page, designer)) {
|
|
38
|
+
const marks = out.get(part) ?? [];
|
|
39
|
+
marks.push({ kind: 'steps', words: words.steps.count(lines.filter((line) => !line.startsWith(words.steps.nested(''))).length), sentences: [`${words.steps.whenItChanges}:`, ...lines] });
|
|
40
|
+
out.set(part, marks);
|
|
41
|
+
}
|
|
42
|
+
for (const marks of out.values()) {
|
|
43
|
+
marks.sort((a, b) => ORDER.indexOf(a.kind) - ORDER.indexOf(b.kind));
|
|
44
|
+
for (const mark of marks)
|
|
45
|
+
if (mark.kind === 'answer')
|
|
46
|
+
mark.words = w.markCount(mark.sentences.length);
|
|
47
|
+
}
|
|
48
|
+
return out;
|
|
49
|
+
}
|
|
50
|
+
let tips = 0;
|
|
51
|
+
/** Each page's marks, worked out once for it: a page an edit made is a new page. */
|
|
52
|
+
const marksFor = new WeakMap();
|
|
53
|
+
/** Draw the marks of every part with a rule in `container`, and take away those of parts that have none now. */
|
|
54
|
+
function ruleMarks(container, page, designer) {
|
|
55
|
+
const doc = container.ownerDocument;
|
|
56
|
+
const el = (0, chrome_1.elementFactory)(doc);
|
|
57
|
+
let marks = marksFor.get(page);
|
|
58
|
+
if (!marks)
|
|
59
|
+
marksFor.set(page, (marks = marksOf(page, designer)));
|
|
60
|
+
const root = container.closest('.fd-designer') ?? container;
|
|
61
|
+
for (const place of PLACES) {
|
|
62
|
+
for (const part of container.querySelectorAll(place.parts)) {
|
|
63
|
+
const id = part.dataset['node'];
|
|
64
|
+
const own = marks.get(id) ?? [];
|
|
65
|
+
const into = place.into ? part.querySelector(place.into) : part;
|
|
66
|
+
if (!into)
|
|
67
|
+
continue;
|
|
68
|
+
let holder = [...into.children].find((c) => c.classList.contains('fd-rule-marks'));
|
|
69
|
+
// A part that is a button itself (a field or a question not picked) holds no other button (ARIA): its marks
|
|
70
|
+
// are words, said with it, and its rules its description; Enter picks it, and its panel opens the rules.
|
|
71
|
+
const inButton = part.getAttribute('role') === 'button';
|
|
72
|
+
if (!own.length) {
|
|
73
|
+
holder?.remove();
|
|
74
|
+
if (inButton)
|
|
75
|
+
part.removeAttribute('aria-describedby');
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
const key = JSON.stringify(own);
|
|
79
|
+
if (holder?.dataset['marks'] === key)
|
|
80
|
+
continue;
|
|
81
|
+
if (!holder) {
|
|
82
|
+
holder = el('span', { class: 'fd-rule-marks' });
|
|
83
|
+
into.append(holder);
|
|
84
|
+
}
|
|
85
|
+
holder.dataset['marks'] = key;
|
|
86
|
+
const tipIds = [];
|
|
87
|
+
holder.replaceChildren(...own.map((mark) => {
|
|
88
|
+
const tipId = `fd-rule-tip-${++tips}`;
|
|
89
|
+
tipIds.push(tipId);
|
|
90
|
+
const icon = mark.kind === 'worked-out' ? el('span', { class: 'fd-rule-mark-fx', 'aria-hidden': 'true' }, 'ƒx') : (0, icons_1.designerIcon)(doc, mark.kind === 'sometimes' ? 'when' : mark.kind === 'steps' ? 'bolt' : 'check');
|
|
91
|
+
const words = el('span', { class: 'fd-rule-mark-words' }, mark.words);
|
|
92
|
+
const tip = el('span', { class: 'fd-rule-tip', role: 'tooltip', id: tipId }, mark.sentences.join('\n'));
|
|
93
|
+
const button = inButton
|
|
94
|
+
? el('span', { class: 'fd-rule-mark', 'data-mark': mark.kind }, icon, words, tip)
|
|
95
|
+
: el('button', { type: 'button', class: 'fd-rule-mark', 'data-mark': mark.kind, 'aria-label': mark.kind === 'steps' ? designer.words.steps.openTheSteps(designer.words.steps.markName) : designer.words.rulesUi.openTheRules(designer.words.rulesUi.markNames[mark.kind]), 'aria-describedby': tipId }, icon, words, tip);
|
|
96
|
+
button.addEventListener('click', (event) => {
|
|
97
|
+
event.stopPropagation();
|
|
98
|
+
const node = (0, page_tree_1.findNode)(designer.getPage(), id)?.node;
|
|
99
|
+
if (mark.kind === 'steps' && node?.type === 'field')
|
|
100
|
+
(0, steps_marks_1.openSteps)(root, designer, { change: node.field });
|
|
101
|
+
else
|
|
102
|
+
(0, rules_open_1.openRules)(root, designer, { part: id, kind: mark.rule });
|
|
103
|
+
});
|
|
104
|
+
return button;
|
|
105
|
+
}));
|
|
106
|
+
if (inButton)
|
|
107
|
+
part.setAttribute('aria-describedby', tipIds.join(' '));
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=rules-marks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-marks.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/rules-marks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { elementFactory } from './chrome.mjs';
|
|
2
|
+
import { designerIcon } from './icons.mjs';
|
|
3
|
+
import { openRules } from './rules-open.mjs';
|
|
4
|
+
import { pageRules } from './rules-words.mjs';
|
|
5
|
+
import { changeMarks, openSteps } from './steps-marks.mjs';
|
|
6
|
+
import { findNode } from './page-tree.mjs';
|
|
7
|
+
/** Where a part's marks go, in what the canvas drew for it; parts open for editing show their rules in full. */
|
|
8
|
+
const PLACES = [
|
|
9
|
+
{ parts: '.fd-canvas-field[data-node]:not(.fd-editing)' },
|
|
10
|
+
{ parts: '.fd-canvas-section[data-node]' },
|
|
11
|
+
{ parts: '.fd-q-closed[data-node]', into: '.fd-q-title' },
|
|
12
|
+
{ parts: '.fd-design-step[data-node]', into: '.fd-step-head-row' },
|
|
13
|
+
];
|
|
14
|
+
/** The marks in the order they stand. */
|
|
15
|
+
const ORDER = ['sometimes', 'worked-out', 'answer', 'steps'];
|
|
16
|
+
/** Each part's marks, in a mark's order: when it shows, what it holds, what it asks of an answer. */
|
|
17
|
+
function marksOf(page, designer) {
|
|
18
|
+
const words = designer.words;
|
|
19
|
+
const w = words.rulesUi;
|
|
20
|
+
const out = new Map();
|
|
21
|
+
for (const rule of pageRules(page, words)) {
|
|
22
|
+
const kind = rule.kind === 'shows' ? 'sometimes' : rule.kind === 'compute' ? 'worked-out' : rule.kind === 'answer' ? 'answer' : null;
|
|
23
|
+
if (!kind || !rule.part)
|
|
24
|
+
continue;
|
|
25
|
+
const marks = out.get(rule.part) ?? [];
|
|
26
|
+
const mark = marks.find((m) => m.kind === kind);
|
|
27
|
+
if (mark)
|
|
28
|
+
mark.sentences.push(rule.sentence);
|
|
29
|
+
else
|
|
30
|
+
marks.push({ kind, rule: rule.kind, words: kind === 'answer' ? '' : w.marks[kind], sentences: [rule.sentence] });
|
|
31
|
+
out.set(rule.part, marks);
|
|
32
|
+
}
|
|
33
|
+
// steps lane: a field whose change does something.
|
|
34
|
+
for (const [part, lines] of changeMarks(page, designer)) {
|
|
35
|
+
const marks = out.get(part) ?? [];
|
|
36
|
+
marks.push({ kind: 'steps', words: words.steps.count(lines.filter((line) => !line.startsWith(words.steps.nested(''))).length), sentences: [`${words.steps.whenItChanges}:`, ...lines] });
|
|
37
|
+
out.set(part, marks);
|
|
38
|
+
}
|
|
39
|
+
for (const marks of out.values()) {
|
|
40
|
+
marks.sort((a, b) => ORDER.indexOf(a.kind) - ORDER.indexOf(b.kind));
|
|
41
|
+
for (const mark of marks)
|
|
42
|
+
if (mark.kind === 'answer')
|
|
43
|
+
mark.words = w.markCount(mark.sentences.length);
|
|
44
|
+
}
|
|
45
|
+
return out;
|
|
46
|
+
}
|
|
47
|
+
let tips = 0;
|
|
48
|
+
/** Each page's marks, worked out once for it: a page an edit made is a new page. */
|
|
49
|
+
const marksFor = new WeakMap();
|
|
50
|
+
/** Draw the marks of every part with a rule in `container`, and take away those of parts that have none now. */
|
|
51
|
+
export function ruleMarks(container, page, designer) {
|
|
52
|
+
const doc = container.ownerDocument;
|
|
53
|
+
const el = elementFactory(doc);
|
|
54
|
+
let marks = marksFor.get(page);
|
|
55
|
+
if (!marks)
|
|
56
|
+
marksFor.set(page, (marks = marksOf(page, designer)));
|
|
57
|
+
const root = container.closest('.fd-designer') ?? container;
|
|
58
|
+
for (const place of PLACES) {
|
|
59
|
+
for (const part of container.querySelectorAll(place.parts)) {
|
|
60
|
+
const id = part.dataset['node'];
|
|
61
|
+
const own = marks.get(id) ?? [];
|
|
62
|
+
const into = place.into ? part.querySelector(place.into) : part;
|
|
63
|
+
if (!into)
|
|
64
|
+
continue;
|
|
65
|
+
let holder = [...into.children].find((c) => c.classList.contains('fd-rule-marks'));
|
|
66
|
+
// A part that is a button itself (a field or a question not picked) holds no other button (ARIA): its marks
|
|
67
|
+
// are words, said with it, and its rules its description; Enter picks it, and its panel opens the rules.
|
|
68
|
+
const inButton = part.getAttribute('role') === 'button';
|
|
69
|
+
if (!own.length) {
|
|
70
|
+
holder?.remove();
|
|
71
|
+
if (inButton)
|
|
72
|
+
part.removeAttribute('aria-describedby');
|
|
73
|
+
continue;
|
|
74
|
+
}
|
|
75
|
+
const key = JSON.stringify(own);
|
|
76
|
+
if (holder?.dataset['marks'] === key)
|
|
77
|
+
continue;
|
|
78
|
+
if (!holder) {
|
|
79
|
+
holder = el('span', { class: 'fd-rule-marks' });
|
|
80
|
+
into.append(holder);
|
|
81
|
+
}
|
|
82
|
+
holder.dataset['marks'] = key;
|
|
83
|
+
const tipIds = [];
|
|
84
|
+
holder.replaceChildren(...own.map((mark) => {
|
|
85
|
+
const tipId = `fd-rule-tip-${++tips}`;
|
|
86
|
+
tipIds.push(tipId);
|
|
87
|
+
const icon = mark.kind === 'worked-out' ? el('span', { class: 'fd-rule-mark-fx', 'aria-hidden': 'true' }, 'ƒx') : designerIcon(doc, mark.kind === 'sometimes' ? 'when' : mark.kind === 'steps' ? 'bolt' : 'check');
|
|
88
|
+
const words = el('span', { class: 'fd-rule-mark-words' }, mark.words);
|
|
89
|
+
const tip = el('span', { class: 'fd-rule-tip', role: 'tooltip', id: tipId }, mark.sentences.join('\n'));
|
|
90
|
+
const button = inButton
|
|
91
|
+
? el('span', { class: 'fd-rule-mark', 'data-mark': mark.kind }, icon, words, tip)
|
|
92
|
+
: el('button', { type: 'button', class: 'fd-rule-mark', 'data-mark': mark.kind, 'aria-label': mark.kind === 'steps' ? designer.words.steps.openTheSteps(designer.words.steps.markName) : designer.words.rulesUi.openTheRules(designer.words.rulesUi.markNames[mark.kind]), 'aria-describedby': tipId }, icon, words, tip);
|
|
93
|
+
button.addEventListener('click', (event) => {
|
|
94
|
+
event.stopPropagation();
|
|
95
|
+
const node = findNode(designer.getPage(), id)?.node;
|
|
96
|
+
if (mark.kind === 'steps' && node?.type === 'field')
|
|
97
|
+
openSteps(root, designer, { change: node.field });
|
|
98
|
+
else
|
|
99
|
+
openRules(root, designer, { part: id, kind: mark.rule });
|
|
100
|
+
});
|
|
101
|
+
return button;
|
|
102
|
+
}));
|
|
103
|
+
if (inButton)
|
|
104
|
+
part.setAttribute('aria-describedby', tipIds.join(' '));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=rules-marks.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-marks.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/rules-marks.ts"],"names":[],"mappings":"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"}
|