@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,202 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cannotHold = cannotHold;
|
|
4
|
+
exports.ruleRefusal = ruleRefusal;
|
|
5
|
+
exports.rulesCommands = rulesCommands;
|
|
6
|
+
const kinds_1 = require("./kinds");
|
|
7
|
+
const page_tree_1 = require("./page-tree");
|
|
8
|
+
const refusal_1 = require("./refusal");
|
|
9
|
+
const rules_formula_1 = require("./rules-formula");
|
|
10
|
+
const rules_words_1 = require("./rules-words");
|
|
11
|
+
const en_1 = require("./locales/en");
|
|
12
|
+
/** The kinds of field a formula can give a value to, as the page format allows. */
|
|
13
|
+
const WORKED_OUT = new Set(['char', 'text', 'html', 'integer', 'float', 'monetary', 'boolean', 'date', 'datetime', 'selection', 'json']);
|
|
14
|
+
function fieldNode(draft, id) {
|
|
15
|
+
const found = (0, page_tree_1.findNode)(draft, id);
|
|
16
|
+
if (!found || found.node.type !== 'field')
|
|
17
|
+
throw new refusal_1.Refusal((w) => w.refusals.noField(id));
|
|
18
|
+
return found.node;
|
|
19
|
+
}
|
|
20
|
+
const labelOf = (draft, node) => node.label ?? draft.fields[node.field]?.label ?? node.field;
|
|
21
|
+
/** A formula's problem on this page, in words, led by which box it is in when there are several. */
|
|
22
|
+
function refuseFormula(draft, source, lead = (_w, problem) => problem) {
|
|
23
|
+
if ((0, rules_formula_1.formulaProblem)(draft, source))
|
|
24
|
+
throw new refusal_1.Refusal((w) => lead(w, (0, rules_formula_1.problemWords)((0, rules_formula_1.formulaProblem)(draft, source, w), w)));
|
|
25
|
+
}
|
|
26
|
+
/** What is wrong with setting this value on this field, in words; null when it can hold it, or it is worked out as it goes. */
|
|
27
|
+
function cannotHold(field, label, value, words = en_1.en) {
|
|
28
|
+
const w = words.rules;
|
|
29
|
+
const literal = (0, rules_formula_1.literalOf)(value);
|
|
30
|
+
if (!literal || literal.value === null)
|
|
31
|
+
return null;
|
|
32
|
+
const v = literal.value;
|
|
33
|
+
const said = typeof v === 'string' ? w.text(v) : typeof v === 'boolean' ? (v ? w.yes : w.no) : String(v);
|
|
34
|
+
const not = () => w.holdsNot(label, (0, kinds_1.storedAs)(field, words), said);
|
|
35
|
+
switch (field.type) {
|
|
36
|
+
case 'integer':
|
|
37
|
+
return typeof v === 'number' && Number.isInteger(v) ? null : not();
|
|
38
|
+
case 'float':
|
|
39
|
+
case 'monetary':
|
|
40
|
+
return typeof v === 'number' ? null : not();
|
|
41
|
+
case 'boolean':
|
|
42
|
+
return typeof v === 'boolean' ? null : not();
|
|
43
|
+
case 'date':
|
|
44
|
+
case 'datetime':
|
|
45
|
+
return typeof v === 'string' && /^\d{4}-\d{2}-\d{2}/.test(v) ? null : not();
|
|
46
|
+
case 'char':
|
|
47
|
+
case 'text':
|
|
48
|
+
case 'html':
|
|
49
|
+
return typeof v === 'boolean' ? not() : null;
|
|
50
|
+
case 'selection': {
|
|
51
|
+
if (field.options.some((o) => o.value === v) || (field.other && typeof v === 'string'))
|
|
52
|
+
return null;
|
|
53
|
+
return w.offersNot(label, field.options.map((o) => o.label), said);
|
|
54
|
+
}
|
|
55
|
+
default:
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/** What is wrong with an answer rule on this field, in words; null when it can be kept. */
|
|
60
|
+
function ruleRefusal(draft, node, rule, words = en_1.en) {
|
|
61
|
+
const w = words.rules;
|
|
62
|
+
const field = draft.fields[node.field];
|
|
63
|
+
const label = labelOf(draft, node);
|
|
64
|
+
const asks = (0, rules_words_1.ruleAsks)(rule);
|
|
65
|
+
if (!asks.length)
|
|
66
|
+
return w.askSomething;
|
|
67
|
+
const misfit = (0, rules_words_1.asksNotFitting)(field, rule);
|
|
68
|
+
if (misfit.length)
|
|
69
|
+
return w.askMisfit(label, (0, kinds_1.storedAs)(field, words), w.asks[misfit[0]]);
|
|
70
|
+
if (rule.pattern !== undefined) {
|
|
71
|
+
try {
|
|
72
|
+
new RegExp(`^(?:${rule.pattern})$`);
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return w.patternUnreadable(rule.pattern);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
for (const key of ['minLength', 'maxLength', 'atLeast', 'atMost']) {
|
|
79
|
+
const n = rule[key];
|
|
80
|
+
if (n !== undefined && !(Number.isInteger(n) && n >= (key === 'minLength' || key === 'atLeast' ? 0 : 1)))
|
|
81
|
+
return key.endsWith('Length') ? w.lengthWhole : w.tickedWhole;
|
|
82
|
+
}
|
|
83
|
+
for (const key of ['min', 'max'])
|
|
84
|
+
if (rule[key] !== undefined && !Number.isFinite(rule[key]))
|
|
85
|
+
return w.rangeNumbers;
|
|
86
|
+
if (rule.minLength !== undefined && rule.maxLength !== undefined && rule.minLength > rule.maxLength)
|
|
87
|
+
return w.shortestLonger(rule.minLength, rule.maxLength);
|
|
88
|
+
if (rule.min !== undefined && rule.max !== undefined && rule.min > rule.max)
|
|
89
|
+
return w.smallestMore(rule.min, rule.max);
|
|
90
|
+
if (rule.atLeast !== undefined && rule.atMost !== undefined && rule.atLeast > rule.atMost)
|
|
91
|
+
return w.atLeastMore(rule.atLeast, rule.atMost);
|
|
92
|
+
if (rule.holds !== undefined) {
|
|
93
|
+
const problem = (0, rules_formula_1.formulaProblem)(draft, rule.holds, words);
|
|
94
|
+
if (problem)
|
|
95
|
+
return w.inMustHold((0, rules_formula_1.problemWords)(problem, words));
|
|
96
|
+
}
|
|
97
|
+
if (typeof rule.when === 'string') {
|
|
98
|
+
const problem = (0, rules_formula_1.formulaProblem)(draft, rule.when, words);
|
|
99
|
+
if (problem)
|
|
100
|
+
return w.inOnlyWhen((0, rules_formula_1.problemWords)(problem, words));
|
|
101
|
+
}
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
/** Which box of the values set by a rule changed, when only one did: typing in it is one undo step. */
|
|
105
|
+
function setWhenBox(before, after) {
|
|
106
|
+
if (!before || before.length !== after.length)
|
|
107
|
+
return null;
|
|
108
|
+
const changed = after.flatMap((item, i) => ['when', 'value'].filter((part) => item[part] !== before[i][part]).map((part) => `${i}:${part}`));
|
|
109
|
+
return changed.length === 1 ? changed[0] : null;
|
|
110
|
+
}
|
|
111
|
+
function rulesCommands({ apply, getPage, fromModel }) {
|
|
112
|
+
return {
|
|
113
|
+
setCompute(id, expression) {
|
|
114
|
+
return apply((draft) => {
|
|
115
|
+
const node = fieldNode(draft, id);
|
|
116
|
+
const field = draft.fields[node.field];
|
|
117
|
+
const label = labelOf(draft, node);
|
|
118
|
+
if (fromModel(node.field))
|
|
119
|
+
throw new refusal_1.Refusal((w) => w.rules.computeFromModel(label));
|
|
120
|
+
const source = expression?.trim() ?? '';
|
|
121
|
+
if (!source) {
|
|
122
|
+
delete field.compute;
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
if (!WORKED_OUT.has(field.type))
|
|
126
|
+
throw new refusal_1.Refusal((w) => w.rules.cannotBeWorkedOut(label, (0, kinds_1.storedAs)(field, w)));
|
|
127
|
+
refuseFormula(draft, source);
|
|
128
|
+
if ((0, rules_formula_1.wouldCircle)(draft, node.field, source))
|
|
129
|
+
throw new refusal_1.Refusal((w) => (0, rules_formula_1.wouldCircle)(draft, node.field, source, w));
|
|
130
|
+
field.compute = source;
|
|
131
|
+
},
|
|
132
|
+
// Typing a formula is one step; taking it away is a step of its own.
|
|
133
|
+
expression?.trim() ? `compute:${id}` : null);
|
|
134
|
+
},
|
|
135
|
+
setSetWhen(id, items) {
|
|
136
|
+
const list = (items ?? []).map((item) => ({ when: item.when.trim(), value: item.value.trim() }));
|
|
137
|
+
// Typing in one box — a value, or when — is one undo step; another box is another.
|
|
138
|
+
const now = (0, page_tree_1.findNode)(getPage(), id)?.node;
|
|
139
|
+
const box = now?.type === 'field' ? setWhenBox(getPage().fields[now.field]?.setWhen, list) : null;
|
|
140
|
+
return apply((draft) => {
|
|
141
|
+
const node = fieldNode(draft, id);
|
|
142
|
+
const field = draft.fields[node.field];
|
|
143
|
+
const label = labelOf(draft, node);
|
|
144
|
+
if (fromModel(node.field))
|
|
145
|
+
throw new refusal_1.Refusal((w) => w.rules.setFromModel(label));
|
|
146
|
+
if (!list.length) {
|
|
147
|
+
delete field.setWhen;
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
if (!WORKED_OUT.has(field.type))
|
|
151
|
+
throw new refusal_1.Refusal((w) => w.rules.cannotBeSet(label, (0, kinds_1.storedAs)(field, w)));
|
|
152
|
+
for (const item of list) {
|
|
153
|
+
refuseFormula(draft, item.when, (w, problem) => w.rules.inWhen(problem));
|
|
154
|
+
refuseFormula(draft, item.value, (w, problem) => w.rules.inSetTo(problem));
|
|
155
|
+
if (cannotHold(field, label, item.value))
|
|
156
|
+
throw new refusal_1.Refusal((w) => cannotHold(field, label, item.value, w));
|
|
157
|
+
}
|
|
158
|
+
field.setWhen = list;
|
|
159
|
+
}, box ? `set-when:${id}:${box}` : null);
|
|
160
|
+
},
|
|
161
|
+
addAnswerRule(id, rule) {
|
|
162
|
+
return apply((draft) => {
|
|
163
|
+
const node = fieldNode(draft, id);
|
|
164
|
+
const tidy = withoutEmpty(rule);
|
|
165
|
+
if (ruleRefusal(draft, node, tidy))
|
|
166
|
+
throw new refusal_1.Refusal((w) => ruleRefusal(draft, node, tidy, w));
|
|
167
|
+
node.validate = [...(node.validate ?? []), tidy];
|
|
168
|
+
});
|
|
169
|
+
},
|
|
170
|
+
updateAnswerRule(id, index, patch) {
|
|
171
|
+
return apply((draft) => {
|
|
172
|
+
const node = fieldNode(draft, id);
|
|
173
|
+
const rule = node.validate?.[index];
|
|
174
|
+
if (!rule)
|
|
175
|
+
throw new refusal_1.Refusal((w) => w.rules.noRule(labelOf(draft, node), index + 1));
|
|
176
|
+
const next = withoutEmpty({ ...rule, ...patch });
|
|
177
|
+
if (ruleRefusal(draft, node, next))
|
|
178
|
+
throw new refusal_1.Refusal((w) => ruleRefusal(draft, node, next, w));
|
|
179
|
+
node.validate[index] = next;
|
|
180
|
+
}, `answer-rule:${id}:${index}:${Object.keys(patch).sort().join(',')}`);
|
|
181
|
+
},
|
|
182
|
+
removeAnswerRule(id, index) {
|
|
183
|
+
return apply((draft) => {
|
|
184
|
+
const node = fieldNode(draft, id);
|
|
185
|
+
if (!node.validate?.[index])
|
|
186
|
+
throw new refusal_1.Refusal((w) => w.rules.noRule(labelOf(draft, node), index + 1));
|
|
187
|
+
node.validate.splice(index, 1);
|
|
188
|
+
if (!node.validate.length)
|
|
189
|
+
delete node.validate;
|
|
190
|
+
});
|
|
191
|
+
},
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
/** A rule with what was taken away left out: `null`, and an empty message. */
|
|
195
|
+
function withoutEmpty(rule) {
|
|
196
|
+
const out = {};
|
|
197
|
+
for (const [key, value] of Object.entries(rule))
|
|
198
|
+
if (value !== null && value !== undefined && !(key === 'message' && value === ''))
|
|
199
|
+
out[key] = value;
|
|
200
|
+
return out;
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=rules-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-commands.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/rules-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
import { storedAs } from './kinds.mjs';
|
|
2
|
+
import { findNode } from './page-tree.mjs';
|
|
3
|
+
import { Refusal } from './refusal.mjs';
|
|
4
|
+
import { formulaProblem, literalOf, problemWords, wouldCircle } from './rules-formula.mjs';
|
|
5
|
+
import { asksNotFitting, ruleAsks } from './rules-words.mjs';
|
|
6
|
+
import { en } from './locales/en/index.mjs';
|
|
7
|
+
/** The kinds of field a formula can give a value to, as the page format allows. */
|
|
8
|
+
const WORKED_OUT = new Set(['char', 'text', 'html', 'integer', 'float', 'monetary', 'boolean', 'date', 'datetime', 'selection', 'json']);
|
|
9
|
+
function fieldNode(draft, id) {
|
|
10
|
+
const found = findNode(draft, id);
|
|
11
|
+
if (!found || found.node.type !== 'field')
|
|
12
|
+
throw new Refusal((w) => w.refusals.noField(id));
|
|
13
|
+
return found.node;
|
|
14
|
+
}
|
|
15
|
+
const labelOf = (draft, node) => node.label ?? draft.fields[node.field]?.label ?? node.field;
|
|
16
|
+
/** A formula's problem on this page, in words, led by which box it is in when there are several. */
|
|
17
|
+
function refuseFormula(draft, source, lead = (_w, problem) => problem) {
|
|
18
|
+
if (formulaProblem(draft, source))
|
|
19
|
+
throw new Refusal((w) => lead(w, problemWords(formulaProblem(draft, source, w), w)));
|
|
20
|
+
}
|
|
21
|
+
/** What is wrong with setting this value on this field, in words; null when it can hold it, or it is worked out as it goes. */
|
|
22
|
+
export function cannotHold(field, label, value, words = en) {
|
|
23
|
+
const w = words.rules;
|
|
24
|
+
const literal = literalOf(value);
|
|
25
|
+
if (!literal || literal.value === null)
|
|
26
|
+
return null;
|
|
27
|
+
const v = literal.value;
|
|
28
|
+
const said = typeof v === 'string' ? w.text(v) : typeof v === 'boolean' ? (v ? w.yes : w.no) : String(v);
|
|
29
|
+
const not = () => w.holdsNot(label, storedAs(field, words), said);
|
|
30
|
+
switch (field.type) {
|
|
31
|
+
case 'integer':
|
|
32
|
+
return typeof v === 'number' && Number.isInteger(v) ? null : not();
|
|
33
|
+
case 'float':
|
|
34
|
+
case 'monetary':
|
|
35
|
+
return typeof v === 'number' ? null : not();
|
|
36
|
+
case 'boolean':
|
|
37
|
+
return typeof v === 'boolean' ? null : not();
|
|
38
|
+
case 'date':
|
|
39
|
+
case 'datetime':
|
|
40
|
+
return typeof v === 'string' && /^\d{4}-\d{2}-\d{2}/.test(v) ? null : not();
|
|
41
|
+
case 'char':
|
|
42
|
+
case 'text':
|
|
43
|
+
case 'html':
|
|
44
|
+
return typeof v === 'boolean' ? not() : null;
|
|
45
|
+
case 'selection': {
|
|
46
|
+
if (field.options.some((o) => o.value === v) || (field.other && typeof v === 'string'))
|
|
47
|
+
return null;
|
|
48
|
+
return w.offersNot(label, field.options.map((o) => o.label), said);
|
|
49
|
+
}
|
|
50
|
+
default:
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/** What is wrong with an answer rule on this field, in words; null when it can be kept. */
|
|
55
|
+
export function ruleRefusal(draft, node, rule, words = en) {
|
|
56
|
+
const w = words.rules;
|
|
57
|
+
const field = draft.fields[node.field];
|
|
58
|
+
const label = labelOf(draft, node);
|
|
59
|
+
const asks = ruleAsks(rule);
|
|
60
|
+
if (!asks.length)
|
|
61
|
+
return w.askSomething;
|
|
62
|
+
const misfit = asksNotFitting(field, rule);
|
|
63
|
+
if (misfit.length)
|
|
64
|
+
return w.askMisfit(label, storedAs(field, words), w.asks[misfit[0]]);
|
|
65
|
+
if (rule.pattern !== undefined) {
|
|
66
|
+
try {
|
|
67
|
+
new RegExp(`^(?:${rule.pattern})$`);
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return w.patternUnreadable(rule.pattern);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
for (const key of ['minLength', 'maxLength', 'atLeast', 'atMost']) {
|
|
74
|
+
const n = rule[key];
|
|
75
|
+
if (n !== undefined && !(Number.isInteger(n) && n >= (key === 'minLength' || key === 'atLeast' ? 0 : 1)))
|
|
76
|
+
return key.endsWith('Length') ? w.lengthWhole : w.tickedWhole;
|
|
77
|
+
}
|
|
78
|
+
for (const key of ['min', 'max'])
|
|
79
|
+
if (rule[key] !== undefined && !Number.isFinite(rule[key]))
|
|
80
|
+
return w.rangeNumbers;
|
|
81
|
+
if (rule.minLength !== undefined && rule.maxLength !== undefined && rule.minLength > rule.maxLength)
|
|
82
|
+
return w.shortestLonger(rule.minLength, rule.maxLength);
|
|
83
|
+
if (rule.min !== undefined && rule.max !== undefined && rule.min > rule.max)
|
|
84
|
+
return w.smallestMore(rule.min, rule.max);
|
|
85
|
+
if (rule.atLeast !== undefined && rule.atMost !== undefined && rule.atLeast > rule.atMost)
|
|
86
|
+
return w.atLeastMore(rule.atLeast, rule.atMost);
|
|
87
|
+
if (rule.holds !== undefined) {
|
|
88
|
+
const problem = formulaProblem(draft, rule.holds, words);
|
|
89
|
+
if (problem)
|
|
90
|
+
return w.inMustHold(problemWords(problem, words));
|
|
91
|
+
}
|
|
92
|
+
if (typeof rule.when === 'string') {
|
|
93
|
+
const problem = formulaProblem(draft, rule.when, words);
|
|
94
|
+
if (problem)
|
|
95
|
+
return w.inOnlyWhen(problemWords(problem, words));
|
|
96
|
+
}
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
/** Which box of the values set by a rule changed, when only one did: typing in it is one undo step. */
|
|
100
|
+
function setWhenBox(before, after) {
|
|
101
|
+
if (!before || before.length !== after.length)
|
|
102
|
+
return null;
|
|
103
|
+
const changed = after.flatMap((item, i) => ['when', 'value'].filter((part) => item[part] !== before[i][part]).map((part) => `${i}:${part}`));
|
|
104
|
+
return changed.length === 1 ? changed[0] : null;
|
|
105
|
+
}
|
|
106
|
+
export function rulesCommands({ apply, getPage, fromModel }) {
|
|
107
|
+
return {
|
|
108
|
+
setCompute(id, expression) {
|
|
109
|
+
return apply((draft) => {
|
|
110
|
+
const node = fieldNode(draft, id);
|
|
111
|
+
const field = draft.fields[node.field];
|
|
112
|
+
const label = labelOf(draft, node);
|
|
113
|
+
if (fromModel(node.field))
|
|
114
|
+
throw new Refusal((w) => w.rules.computeFromModel(label));
|
|
115
|
+
const source = expression?.trim() ?? '';
|
|
116
|
+
if (!source) {
|
|
117
|
+
delete field.compute;
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
if (!WORKED_OUT.has(field.type))
|
|
121
|
+
throw new Refusal((w) => w.rules.cannotBeWorkedOut(label, storedAs(field, w)));
|
|
122
|
+
refuseFormula(draft, source);
|
|
123
|
+
if (wouldCircle(draft, node.field, source))
|
|
124
|
+
throw new Refusal((w) => wouldCircle(draft, node.field, source, w));
|
|
125
|
+
field.compute = source;
|
|
126
|
+
},
|
|
127
|
+
// Typing a formula is one step; taking it away is a step of its own.
|
|
128
|
+
expression?.trim() ? `compute:${id}` : null);
|
|
129
|
+
},
|
|
130
|
+
setSetWhen(id, items) {
|
|
131
|
+
const list = (items ?? []).map((item) => ({ when: item.when.trim(), value: item.value.trim() }));
|
|
132
|
+
// Typing in one box — a value, or when — is one undo step; another box is another.
|
|
133
|
+
const now = findNode(getPage(), id)?.node;
|
|
134
|
+
const box = now?.type === 'field' ? setWhenBox(getPage().fields[now.field]?.setWhen, list) : null;
|
|
135
|
+
return apply((draft) => {
|
|
136
|
+
const node = fieldNode(draft, id);
|
|
137
|
+
const field = draft.fields[node.field];
|
|
138
|
+
const label = labelOf(draft, node);
|
|
139
|
+
if (fromModel(node.field))
|
|
140
|
+
throw new Refusal((w) => w.rules.setFromModel(label));
|
|
141
|
+
if (!list.length) {
|
|
142
|
+
delete field.setWhen;
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
if (!WORKED_OUT.has(field.type))
|
|
146
|
+
throw new Refusal((w) => w.rules.cannotBeSet(label, storedAs(field, w)));
|
|
147
|
+
for (const item of list) {
|
|
148
|
+
refuseFormula(draft, item.when, (w, problem) => w.rules.inWhen(problem));
|
|
149
|
+
refuseFormula(draft, item.value, (w, problem) => w.rules.inSetTo(problem));
|
|
150
|
+
if (cannotHold(field, label, item.value))
|
|
151
|
+
throw new Refusal((w) => cannotHold(field, label, item.value, w));
|
|
152
|
+
}
|
|
153
|
+
field.setWhen = list;
|
|
154
|
+
}, box ? `set-when:${id}:${box}` : null);
|
|
155
|
+
},
|
|
156
|
+
addAnswerRule(id, rule) {
|
|
157
|
+
return apply((draft) => {
|
|
158
|
+
const node = fieldNode(draft, id);
|
|
159
|
+
const tidy = withoutEmpty(rule);
|
|
160
|
+
if (ruleRefusal(draft, node, tidy))
|
|
161
|
+
throw new Refusal((w) => ruleRefusal(draft, node, tidy, w));
|
|
162
|
+
node.validate = [...(node.validate ?? []), tidy];
|
|
163
|
+
});
|
|
164
|
+
},
|
|
165
|
+
updateAnswerRule(id, index, patch) {
|
|
166
|
+
return apply((draft) => {
|
|
167
|
+
const node = fieldNode(draft, id);
|
|
168
|
+
const rule = node.validate?.[index];
|
|
169
|
+
if (!rule)
|
|
170
|
+
throw new Refusal((w) => w.rules.noRule(labelOf(draft, node), index + 1));
|
|
171
|
+
const next = withoutEmpty({ ...rule, ...patch });
|
|
172
|
+
if (ruleRefusal(draft, node, next))
|
|
173
|
+
throw new Refusal((w) => ruleRefusal(draft, node, next, w));
|
|
174
|
+
node.validate[index] = next;
|
|
175
|
+
}, `answer-rule:${id}:${index}:${Object.keys(patch).sort().join(',')}`);
|
|
176
|
+
},
|
|
177
|
+
removeAnswerRule(id, index) {
|
|
178
|
+
return apply((draft) => {
|
|
179
|
+
const node = fieldNode(draft, id);
|
|
180
|
+
if (!node.validate?.[index])
|
|
181
|
+
throw new Refusal((w) => w.rules.noRule(labelOf(draft, node), index + 1));
|
|
182
|
+
node.validate.splice(index, 1);
|
|
183
|
+
if (!node.validate.length)
|
|
184
|
+
delete node.validate;
|
|
185
|
+
});
|
|
186
|
+
},
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
/** A rule with what was taken away left out: `null`, and an empty message. */
|
|
190
|
+
function withoutEmpty(rule) {
|
|
191
|
+
const out = {};
|
|
192
|
+
for (const [key, value] of Object.entries(rule))
|
|
193
|
+
if (value !== null && value !== undefined && !(key === 'message' && value === ''))
|
|
194
|
+
out[key] = value;
|
|
195
|
+
return out;
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=rules-commands.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-commands.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/rules-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { Page } from '@fieldia/core';
|
|
2
|
+
import type { ElementFactory } from './chrome.mjs';
|
|
3
|
+
import { type FormulaProblem } from './rules-formula.mjs';
|
|
4
|
+
import type { DesignerWords } from './designer-words.mjs';
|
|
5
|
+
/**
|
|
6
|
+
* A box to type a formula in, the way a person writes one: typing a field's
|
|
7
|
+
* name — or @ — lists the page's fields by their labels, and picking one puts
|
|
8
|
+
* its name in; the arrows go down the list, Enter or Tab picks, Escape closes
|
|
9
|
+
* it. What is wrong shows under the box, the place it is about marked in a
|
|
10
|
+
* copy of the formula. A formula that reads is handed on as it is typed; one
|
|
11
|
+
* that does not is kept here, so the page keeps the last one that read.
|
|
12
|
+
*
|
|
13
|
+
* The box holds the formula as the page stores it, its fields by their
|
|
14
|
+
* names, and a line above it reads it in words, its fields by their labels:
|
|
15
|
+
* "Reads: Price × Quantity". Words are never turned back into a formula, so
|
|
16
|
+
* two fields with one label, or a label with a sign in it, cannot change
|
|
17
|
+
* what the page stores.
|
|
18
|
+
*/
|
|
19
|
+
export interface FormulaBoxOptions {
|
|
20
|
+
/** The designer's words. */
|
|
21
|
+
words: DesignerWords;
|
|
22
|
+
label: string;
|
|
23
|
+
placeholder?: string;
|
|
24
|
+
/** The field it is about, left out of the suggestions. */
|
|
25
|
+
own?(): string | undefined;
|
|
26
|
+
/** What is wrong with a formula, or null when it reads. */
|
|
27
|
+
check(page: Page, source: string): FormulaProblem | null;
|
|
28
|
+
/** A formula that reads, or an empty box, as it is typed. */
|
|
29
|
+
commit(source: string): void;
|
|
30
|
+
/** Said after each change: the result on made-up values. */
|
|
31
|
+
said?(page: Page, source: string): string;
|
|
32
|
+
}
|
|
33
|
+
export interface FormulaBox {
|
|
34
|
+
/** The box and its list of suggestions. */
|
|
35
|
+
element: HTMLElement;
|
|
36
|
+
input: HTMLInputElement;
|
|
37
|
+
/** What is wrong, under the box. */
|
|
38
|
+
problem: HTMLElement;
|
|
39
|
+
/** The result on made-up values, under the box. */
|
|
40
|
+
result: HTMLElement;
|
|
41
|
+
/** The page as it is now, and the formula it holds: shown unless the box is being typed in. */
|
|
42
|
+
update(page: Page, source: string): void;
|
|
43
|
+
/** Put words in where the cursor is, the cursor `back` characters before their end. */
|
|
44
|
+
insert(text: string, back?: number): void;
|
|
45
|
+
}
|
|
46
|
+
export declare function formulaBox(el: ElementFactory, options: FormulaBoxOptions): FormulaBox;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { Page } from '@fieldia/core';
|
|
2
|
+
import type { ElementFactory } from './chrome';
|
|
3
|
+
import { type FormulaProblem } from './rules-formula';
|
|
4
|
+
import type { DesignerWords } from './designer-words';
|
|
5
|
+
/**
|
|
6
|
+
* A box to type a formula in, the way a person writes one: typing a field's
|
|
7
|
+
* name — or @ — lists the page's fields by their labels, and picking one puts
|
|
8
|
+
* its name in; the arrows go down the list, Enter or Tab picks, Escape closes
|
|
9
|
+
* it. What is wrong shows under the box, the place it is about marked in a
|
|
10
|
+
* copy of the formula. A formula that reads is handed on as it is typed; one
|
|
11
|
+
* that does not is kept here, so the page keeps the last one that read.
|
|
12
|
+
*
|
|
13
|
+
* The box holds the formula as the page stores it, its fields by their
|
|
14
|
+
* names, and a line above it reads it in words, its fields by their labels:
|
|
15
|
+
* "Reads: Price × Quantity". Words are never turned back into a formula, so
|
|
16
|
+
* two fields with one label, or a label with a sign in it, cannot change
|
|
17
|
+
* what the page stores.
|
|
18
|
+
*/
|
|
19
|
+
export interface FormulaBoxOptions {
|
|
20
|
+
/** The designer's words. */
|
|
21
|
+
words: DesignerWords;
|
|
22
|
+
label: string;
|
|
23
|
+
placeholder?: string;
|
|
24
|
+
/** The field it is about, left out of the suggestions. */
|
|
25
|
+
own?(): string | undefined;
|
|
26
|
+
/** What is wrong with a formula, or null when it reads. */
|
|
27
|
+
check(page: Page, source: string): FormulaProblem | null;
|
|
28
|
+
/** A formula that reads, or an empty box, as it is typed. */
|
|
29
|
+
commit(source: string): void;
|
|
30
|
+
/** Said after each change: the result on made-up values. */
|
|
31
|
+
said?(page: Page, source: string): string;
|
|
32
|
+
}
|
|
33
|
+
export interface FormulaBox {
|
|
34
|
+
/** The box and its list of suggestions. */
|
|
35
|
+
element: HTMLElement;
|
|
36
|
+
input: HTMLInputElement;
|
|
37
|
+
/** What is wrong, under the box. */
|
|
38
|
+
problem: HTMLElement;
|
|
39
|
+
/** The result on made-up values, under the box. */
|
|
40
|
+
result: HTMLElement;
|
|
41
|
+
/** The page as it is now, and the formula it holds: shown unless the box is being typed in. */
|
|
42
|
+
update(page: Page, source: string): void;
|
|
43
|
+
/** Put words in where the cursor is, the cursor `back` characters before their end. */
|
|
44
|
+
insert(text: string, back?: number): void;
|
|
45
|
+
}
|
|
46
|
+
export declare function formulaBox(el: ElementFactory, options: FormulaBoxOptions): FormulaBox;
|