@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,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formulaBox = formulaBox;
|
|
4
|
+
const rules_formula_1 = require("./rules-formula");
|
|
5
|
+
let made = 0;
|
|
6
|
+
/** The name being typed just before the cursor, with an @ before it when there is one. */
|
|
7
|
+
function typing(value, caret) {
|
|
8
|
+
const before = value.slice(0, caret);
|
|
9
|
+
const match = /(@?)([A-Za-z_][\w]*)?$/.exec(before);
|
|
10
|
+
if (!match || (!match[1] && !match[2]))
|
|
11
|
+
return null;
|
|
12
|
+
// Inside quotes it is text, not a name.
|
|
13
|
+
if ((before.slice(0, match.index).match(/'/g) ?? []).length % 2 === 1)
|
|
14
|
+
return null;
|
|
15
|
+
return { from: match.index, query: match[2] ?? '', at: match[1] === '@' };
|
|
16
|
+
}
|
|
17
|
+
/** Words that are the language's own, not the start of a field's name. */
|
|
18
|
+
const OWN_WORDS = /^(and|or|not|in|True|False|None|round|abs|min|max|len|today|sum|count|if)$/i;
|
|
19
|
+
function formulaBox(el, options) {
|
|
20
|
+
const id = `fd-formula-${++made}`;
|
|
21
|
+
const input = el('input', {
|
|
22
|
+
class: 'fd-input fd-formula-input',
|
|
23
|
+
role: 'combobox',
|
|
24
|
+
'aria-label': options.label,
|
|
25
|
+
'aria-autocomplete': 'list',
|
|
26
|
+
'aria-expanded': 'false',
|
|
27
|
+
'aria-controls': `${id}-list`,
|
|
28
|
+
autocomplete: 'off',
|
|
29
|
+
spellcheck: 'false',
|
|
30
|
+
placeholder: options.placeholder ?? '',
|
|
31
|
+
'aria-describedby': `${id}-words`,
|
|
32
|
+
});
|
|
33
|
+
const list = el('div', { class: 'fd-formula-suggest', role: 'listbox', id: `${id}-list`, 'aria-label': options.words.rulesUi.fields, hidden: '' });
|
|
34
|
+
// The formula in words, above the box it is about.
|
|
35
|
+
const reads = el('p', { class: 'fd-formula-reads', id: `${id}-words`, hidden: '' });
|
|
36
|
+
const element = el('div', { class: 'fd-formula' }, reads, input, list);
|
|
37
|
+
const words = el('span', { class: 'fd-formula-problem-words' });
|
|
38
|
+
const copy = el('code', { class: 'fd-formula-copy' });
|
|
39
|
+
const problem = el('p', { class: 'fd-formula-problem', role: 'alert', hidden: '' }, words, copy);
|
|
40
|
+
const outcome = el('span', { class: 'fd-formula-outcome' });
|
|
41
|
+
const result = el('p', { class: 'fd-formula-result', role: 'status', hidden: '' }, outcome);
|
|
42
|
+
let page = null;
|
|
43
|
+
let found = [];
|
|
44
|
+
let at = 0;
|
|
45
|
+
let current = null;
|
|
46
|
+
/** The formula the page held when last drawn. */
|
|
47
|
+
let lastKept = '';
|
|
48
|
+
/** The page's fields that start with, or hold, what is typed: by label first, then by name. */
|
|
49
|
+
function suggest() {
|
|
50
|
+
const caret = input.selectionStart ?? input.value.length;
|
|
51
|
+
current = page ? typing(input.value, caret) : null;
|
|
52
|
+
const query = current?.query.toLowerCase() ?? '';
|
|
53
|
+
if (!page || !current || (!current.at && (!query || OWN_WORDS.test(query))))
|
|
54
|
+
return close();
|
|
55
|
+
const all = Object.entries(page.fields)
|
|
56
|
+
.filter(([name]) => name !== options.own?.())
|
|
57
|
+
.map(([name, def]) => ({ name, label: def.label || name }));
|
|
58
|
+
const starts = all.filter((f) => f.label.toLowerCase().startsWith(query) || f.name.toLowerCase().startsWith(query));
|
|
59
|
+
const holds = all.filter((f) => !starts.includes(f) && (f.label.toLowerCase().includes(query) || f.name.toLowerCase().includes(query)));
|
|
60
|
+
found = [...starts, ...holds];
|
|
61
|
+
// A name typed out in full needs no list.
|
|
62
|
+
if (!found.length || (!current.at && found.length === 1 && found[0].name === current.query))
|
|
63
|
+
return close();
|
|
64
|
+
at = Math.min(at, found.length - 1);
|
|
65
|
+
draw();
|
|
66
|
+
}
|
|
67
|
+
function draw() {
|
|
68
|
+
list.replaceChildren(...found.map((f, i) => {
|
|
69
|
+
const option = el('div', { class: 'fd-formula-suggest-option', role: 'option', id: `${id}-${i}`, 'aria-selected': String(i === at) }, el('span', { class: 'fd-formula-suggest-label' }, f.label), el('code', { class: 'fd-formula-suggest-name' }, f.name));
|
|
70
|
+
// Picked with the pointer, the box keeps the cursor.
|
|
71
|
+
option.addEventListener('pointerdown', (event) => event.preventDefault());
|
|
72
|
+
option.addEventListener('mousedown', (event) => event.preventDefault());
|
|
73
|
+
option.addEventListener('click', () => pick(i));
|
|
74
|
+
return option;
|
|
75
|
+
}));
|
|
76
|
+
list.hidden = false;
|
|
77
|
+
input.setAttribute('aria-expanded', 'true');
|
|
78
|
+
input.setAttribute('aria-activedescendant', `${id}-${at}`);
|
|
79
|
+
problem.hidden = true;
|
|
80
|
+
}
|
|
81
|
+
function close() {
|
|
82
|
+
found = [];
|
|
83
|
+
at = 0;
|
|
84
|
+
list.hidden = true;
|
|
85
|
+
list.replaceChildren();
|
|
86
|
+
input.setAttribute('aria-expanded', 'false');
|
|
87
|
+
input.removeAttribute('aria-activedescendant');
|
|
88
|
+
}
|
|
89
|
+
/** Put the field's name in place of what was typed for it. */
|
|
90
|
+
function pick(i) {
|
|
91
|
+
const chosen = found[i];
|
|
92
|
+
if (!chosen || !current)
|
|
93
|
+
return;
|
|
94
|
+
const caret = input.selectionStart ?? input.value.length;
|
|
95
|
+
input.value = input.value.slice(0, current.from) + chosen.name + input.value.slice(caret);
|
|
96
|
+
const after = current.from + chosen.name.length;
|
|
97
|
+
input.setSelectionRange(after, after);
|
|
98
|
+
close();
|
|
99
|
+
changed();
|
|
100
|
+
}
|
|
101
|
+
/** The box as typed: checked, said, and handed on when it reads. */
|
|
102
|
+
function changed() {
|
|
103
|
+
if (!page)
|
|
104
|
+
return;
|
|
105
|
+
const source = input.value;
|
|
106
|
+
const wrong = source.trim() ? options.check(page, source) : null;
|
|
107
|
+
showProblem(source, wrong);
|
|
108
|
+
say(page, wrong || !source.trim() ? '' : source);
|
|
109
|
+
if (!wrong)
|
|
110
|
+
options.commit(source.trim());
|
|
111
|
+
}
|
|
112
|
+
function showProblem(source, wrong) {
|
|
113
|
+
// While a name is being picked, the half-typed name is not yet wrong.
|
|
114
|
+
problem.hidden = !wrong || !list.hidden;
|
|
115
|
+
if (!wrong)
|
|
116
|
+
return;
|
|
117
|
+
words.textContent = (0, rules_formula_1.problemWords)(wrong, options.words);
|
|
118
|
+
if (wrong.from === undefined) {
|
|
119
|
+
copy.hidden = true;
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
const [from, to] = [wrong.from - 1, wrong.to ?? wrong.from];
|
|
123
|
+
copy.replaceChildren(source.slice(0, from), el('mark', {}, source.slice(from, to)), source.slice(to));
|
|
124
|
+
copy.hidden = false;
|
|
125
|
+
}
|
|
126
|
+
/** What the formula reads as, and gives: shown only where there is something to say. */
|
|
127
|
+
function say(on, source) {
|
|
128
|
+
// In words only when the words are not the formula as it is written: `120` reads as itself.
|
|
129
|
+
const pieces = source ? (0, rules_formula_1.formulaPieces)(on, source, options.words) : [];
|
|
130
|
+
reads.replaceChildren(...(pieces.some((piece) => piece.text !== piece.was)
|
|
131
|
+
? [options.words.rulesUi.reads, ...pieces.flatMap((piece) => [...(piece.space ? [' '] : []), piece.field ? el('span', { class: 'fd-formula-name' }, piece.text) : piece.text])]
|
|
132
|
+
: []));
|
|
133
|
+
reads.hidden = !reads.textContent;
|
|
134
|
+
outcome.textContent = source && options.said ? options.said(on, source) : '';
|
|
135
|
+
result.hidden = !outcome.textContent;
|
|
136
|
+
}
|
|
137
|
+
input.addEventListener('input', () => {
|
|
138
|
+
suggest();
|
|
139
|
+
changed();
|
|
140
|
+
});
|
|
141
|
+
input.addEventListener('click', () => suggest());
|
|
142
|
+
input.addEventListener('blur', () => close());
|
|
143
|
+
input.addEventListener('keydown', (event) => {
|
|
144
|
+
if (list.hidden)
|
|
145
|
+
return;
|
|
146
|
+
if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
|
|
147
|
+
event.preventDefault();
|
|
148
|
+
at = (at + (event.key === 'ArrowDown' ? 1 : -1) + found.length) % found.length;
|
|
149
|
+
draw();
|
|
150
|
+
list.querySelector('[aria-selected="true"]')?.scrollIntoView?.({ block: 'nearest' });
|
|
151
|
+
}
|
|
152
|
+
else if (event.key === 'Enter' || event.key === 'Tab') {
|
|
153
|
+
event.preventDefault();
|
|
154
|
+
pick(at);
|
|
155
|
+
}
|
|
156
|
+
else if (event.key === 'Escape') {
|
|
157
|
+
// Only the list closes: the panel and the editor keep what is open.
|
|
158
|
+
event.preventDefault();
|
|
159
|
+
event.stopPropagation();
|
|
160
|
+
close();
|
|
161
|
+
changed();
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
return {
|
|
165
|
+
element,
|
|
166
|
+
input,
|
|
167
|
+
problem,
|
|
168
|
+
result,
|
|
169
|
+
update(next, source) {
|
|
170
|
+
page = next;
|
|
171
|
+
if (input.ownerDocument.activeElement === input)
|
|
172
|
+
return;
|
|
173
|
+
// A formula that does not read stays as typed until another is kept.
|
|
174
|
+
if (problem.hidden || source !== lastKept)
|
|
175
|
+
input.value = source;
|
|
176
|
+
lastKept = source;
|
|
177
|
+
if (problem.hidden)
|
|
178
|
+
say(next, source);
|
|
179
|
+
},
|
|
180
|
+
insert(text, back = 0) {
|
|
181
|
+
const from = input.selectionStart ?? input.value.length;
|
|
182
|
+
const to = input.selectionEnd ?? from;
|
|
183
|
+
input.value = input.value.slice(0, from) + text + input.value.slice(to);
|
|
184
|
+
input.focus();
|
|
185
|
+
const caret = from + text.length - back;
|
|
186
|
+
input.setSelectionRange(caret, caret);
|
|
187
|
+
changed();
|
|
188
|
+
},
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=rules-formula-box.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-formula-box.js","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/rules-formula-box.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { formulaPieces, problemWords } from './rules-formula.mjs';
|
|
2
|
+
let made = 0;
|
|
3
|
+
/** The name being typed just before the cursor, with an @ before it when there is one. */
|
|
4
|
+
function typing(value, caret) {
|
|
5
|
+
const before = value.slice(0, caret);
|
|
6
|
+
const match = /(@?)([A-Za-z_][\w]*)?$/.exec(before);
|
|
7
|
+
if (!match || (!match[1] && !match[2]))
|
|
8
|
+
return null;
|
|
9
|
+
// Inside quotes it is text, not a name.
|
|
10
|
+
if ((before.slice(0, match.index).match(/'/g) ?? []).length % 2 === 1)
|
|
11
|
+
return null;
|
|
12
|
+
return { from: match.index, query: match[2] ?? '', at: match[1] === '@' };
|
|
13
|
+
}
|
|
14
|
+
/** Words that are the language's own, not the start of a field's name. */
|
|
15
|
+
const OWN_WORDS = /^(and|or|not|in|True|False|None|round|abs|min|max|len|today|sum|count|if)$/i;
|
|
16
|
+
export function formulaBox(el, options) {
|
|
17
|
+
const id = `fd-formula-${++made}`;
|
|
18
|
+
const input = el('input', {
|
|
19
|
+
class: 'fd-input fd-formula-input',
|
|
20
|
+
role: 'combobox',
|
|
21
|
+
'aria-label': options.label,
|
|
22
|
+
'aria-autocomplete': 'list',
|
|
23
|
+
'aria-expanded': 'false',
|
|
24
|
+
'aria-controls': `${id}-list`,
|
|
25
|
+
autocomplete: 'off',
|
|
26
|
+
spellcheck: 'false',
|
|
27
|
+
placeholder: options.placeholder ?? '',
|
|
28
|
+
'aria-describedby': `${id}-words`,
|
|
29
|
+
});
|
|
30
|
+
const list = el('div', { class: 'fd-formula-suggest', role: 'listbox', id: `${id}-list`, 'aria-label': options.words.rulesUi.fields, hidden: '' });
|
|
31
|
+
// The formula in words, above the box it is about.
|
|
32
|
+
const reads = el('p', { class: 'fd-formula-reads', id: `${id}-words`, hidden: '' });
|
|
33
|
+
const element = el('div', { class: 'fd-formula' }, reads, input, list);
|
|
34
|
+
const words = el('span', { class: 'fd-formula-problem-words' });
|
|
35
|
+
const copy = el('code', { class: 'fd-formula-copy' });
|
|
36
|
+
const problem = el('p', { class: 'fd-formula-problem', role: 'alert', hidden: '' }, words, copy);
|
|
37
|
+
const outcome = el('span', { class: 'fd-formula-outcome' });
|
|
38
|
+
const result = el('p', { class: 'fd-formula-result', role: 'status', hidden: '' }, outcome);
|
|
39
|
+
let page = null;
|
|
40
|
+
let found = [];
|
|
41
|
+
let at = 0;
|
|
42
|
+
let current = null;
|
|
43
|
+
/** The formula the page held when last drawn. */
|
|
44
|
+
let lastKept = '';
|
|
45
|
+
/** The page's fields that start with, or hold, what is typed: by label first, then by name. */
|
|
46
|
+
function suggest() {
|
|
47
|
+
const caret = input.selectionStart ?? input.value.length;
|
|
48
|
+
current = page ? typing(input.value, caret) : null;
|
|
49
|
+
const query = current?.query.toLowerCase() ?? '';
|
|
50
|
+
if (!page || !current || (!current.at && (!query || OWN_WORDS.test(query))))
|
|
51
|
+
return close();
|
|
52
|
+
const all = Object.entries(page.fields)
|
|
53
|
+
.filter(([name]) => name !== options.own?.())
|
|
54
|
+
.map(([name, def]) => ({ name, label: def.label || name }));
|
|
55
|
+
const starts = all.filter((f) => f.label.toLowerCase().startsWith(query) || f.name.toLowerCase().startsWith(query));
|
|
56
|
+
const holds = all.filter((f) => !starts.includes(f) && (f.label.toLowerCase().includes(query) || f.name.toLowerCase().includes(query)));
|
|
57
|
+
found = [...starts, ...holds];
|
|
58
|
+
// A name typed out in full needs no list.
|
|
59
|
+
if (!found.length || (!current.at && found.length === 1 && found[0].name === current.query))
|
|
60
|
+
return close();
|
|
61
|
+
at = Math.min(at, found.length - 1);
|
|
62
|
+
draw();
|
|
63
|
+
}
|
|
64
|
+
function draw() {
|
|
65
|
+
list.replaceChildren(...found.map((f, i) => {
|
|
66
|
+
const option = el('div', { class: 'fd-formula-suggest-option', role: 'option', id: `${id}-${i}`, 'aria-selected': String(i === at) }, el('span', { class: 'fd-formula-suggest-label' }, f.label), el('code', { class: 'fd-formula-suggest-name' }, f.name));
|
|
67
|
+
// Picked with the pointer, the box keeps the cursor.
|
|
68
|
+
option.addEventListener('pointerdown', (event) => event.preventDefault());
|
|
69
|
+
option.addEventListener('mousedown', (event) => event.preventDefault());
|
|
70
|
+
option.addEventListener('click', () => pick(i));
|
|
71
|
+
return option;
|
|
72
|
+
}));
|
|
73
|
+
list.hidden = false;
|
|
74
|
+
input.setAttribute('aria-expanded', 'true');
|
|
75
|
+
input.setAttribute('aria-activedescendant', `${id}-${at}`);
|
|
76
|
+
problem.hidden = true;
|
|
77
|
+
}
|
|
78
|
+
function close() {
|
|
79
|
+
found = [];
|
|
80
|
+
at = 0;
|
|
81
|
+
list.hidden = true;
|
|
82
|
+
list.replaceChildren();
|
|
83
|
+
input.setAttribute('aria-expanded', 'false');
|
|
84
|
+
input.removeAttribute('aria-activedescendant');
|
|
85
|
+
}
|
|
86
|
+
/** Put the field's name in place of what was typed for it. */
|
|
87
|
+
function pick(i) {
|
|
88
|
+
const chosen = found[i];
|
|
89
|
+
if (!chosen || !current)
|
|
90
|
+
return;
|
|
91
|
+
const caret = input.selectionStart ?? input.value.length;
|
|
92
|
+
input.value = input.value.slice(0, current.from) + chosen.name + input.value.slice(caret);
|
|
93
|
+
const after = current.from + chosen.name.length;
|
|
94
|
+
input.setSelectionRange(after, after);
|
|
95
|
+
close();
|
|
96
|
+
changed();
|
|
97
|
+
}
|
|
98
|
+
/** The box as typed: checked, said, and handed on when it reads. */
|
|
99
|
+
function changed() {
|
|
100
|
+
if (!page)
|
|
101
|
+
return;
|
|
102
|
+
const source = input.value;
|
|
103
|
+
const wrong = source.trim() ? options.check(page, source) : null;
|
|
104
|
+
showProblem(source, wrong);
|
|
105
|
+
say(page, wrong || !source.trim() ? '' : source);
|
|
106
|
+
if (!wrong)
|
|
107
|
+
options.commit(source.trim());
|
|
108
|
+
}
|
|
109
|
+
function showProblem(source, wrong) {
|
|
110
|
+
// While a name is being picked, the half-typed name is not yet wrong.
|
|
111
|
+
problem.hidden = !wrong || !list.hidden;
|
|
112
|
+
if (!wrong)
|
|
113
|
+
return;
|
|
114
|
+
words.textContent = problemWords(wrong, options.words);
|
|
115
|
+
if (wrong.from === undefined) {
|
|
116
|
+
copy.hidden = true;
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
const [from, to] = [wrong.from - 1, wrong.to ?? wrong.from];
|
|
120
|
+
copy.replaceChildren(source.slice(0, from), el('mark', {}, source.slice(from, to)), source.slice(to));
|
|
121
|
+
copy.hidden = false;
|
|
122
|
+
}
|
|
123
|
+
/** What the formula reads as, and gives: shown only where there is something to say. */
|
|
124
|
+
function say(on, source) {
|
|
125
|
+
// In words only when the words are not the formula as it is written: `120` reads as itself.
|
|
126
|
+
const pieces = source ? formulaPieces(on, source, options.words) : [];
|
|
127
|
+
reads.replaceChildren(...(pieces.some((piece) => piece.text !== piece.was)
|
|
128
|
+
? [options.words.rulesUi.reads, ...pieces.flatMap((piece) => [...(piece.space ? [' '] : []), piece.field ? el('span', { class: 'fd-formula-name' }, piece.text) : piece.text])]
|
|
129
|
+
: []));
|
|
130
|
+
reads.hidden = !reads.textContent;
|
|
131
|
+
outcome.textContent = source && options.said ? options.said(on, source) : '';
|
|
132
|
+
result.hidden = !outcome.textContent;
|
|
133
|
+
}
|
|
134
|
+
input.addEventListener('input', () => {
|
|
135
|
+
suggest();
|
|
136
|
+
changed();
|
|
137
|
+
});
|
|
138
|
+
input.addEventListener('click', () => suggest());
|
|
139
|
+
input.addEventListener('blur', () => close());
|
|
140
|
+
input.addEventListener('keydown', (event) => {
|
|
141
|
+
if (list.hidden)
|
|
142
|
+
return;
|
|
143
|
+
if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
|
|
144
|
+
event.preventDefault();
|
|
145
|
+
at = (at + (event.key === 'ArrowDown' ? 1 : -1) + found.length) % found.length;
|
|
146
|
+
draw();
|
|
147
|
+
list.querySelector('[aria-selected="true"]')?.scrollIntoView?.({ block: 'nearest' });
|
|
148
|
+
}
|
|
149
|
+
else if (event.key === 'Enter' || event.key === 'Tab') {
|
|
150
|
+
event.preventDefault();
|
|
151
|
+
pick(at);
|
|
152
|
+
}
|
|
153
|
+
else if (event.key === 'Escape') {
|
|
154
|
+
// Only the list closes: the panel and the editor keep what is open.
|
|
155
|
+
event.preventDefault();
|
|
156
|
+
event.stopPropagation();
|
|
157
|
+
close();
|
|
158
|
+
changed();
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
return {
|
|
162
|
+
element,
|
|
163
|
+
input,
|
|
164
|
+
problem,
|
|
165
|
+
result,
|
|
166
|
+
update(next, source) {
|
|
167
|
+
page = next;
|
|
168
|
+
if (input.ownerDocument.activeElement === input)
|
|
169
|
+
return;
|
|
170
|
+
// A formula that does not read stays as typed until another is kept.
|
|
171
|
+
if (problem.hidden || source !== lastKept)
|
|
172
|
+
input.value = source;
|
|
173
|
+
lastKept = source;
|
|
174
|
+
if (problem.hidden)
|
|
175
|
+
say(next, source);
|
|
176
|
+
},
|
|
177
|
+
insert(text, back = 0) {
|
|
178
|
+
const from = input.selectionStart ?? input.value.length;
|
|
179
|
+
const to = input.selectionEnd ?? from;
|
|
180
|
+
input.value = input.value.slice(0, from) + text + input.value.slice(to);
|
|
181
|
+
input.focus();
|
|
182
|
+
const caret = from + text.length - back;
|
|
183
|
+
input.setSelectionRange(caret, caret);
|
|
184
|
+
changed();
|
|
185
|
+
},
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=rules-formula-box.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules-formula-box.mjs","sourceRoot":"","sources":["../../../../../libs/designer/src/lib/rules-formula-box.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { type Field, type Page } from '@fieldia/core';
|
|
2
|
+
import type { DesignerWords } from './designer-words.mjs';
|
|
3
|
+
/**
|
|
4
|
+
* A formula as a person types it — "Worked out from" a field's value, or a
|
|
5
|
+
* value to set when something holds: what is wrong with it and where (by
|
|
6
|
+
* character, counted from 1, as an editor counts them), what it reads, how it
|
|
7
|
+
* reads in words, and what it gives on made-up values. The page's own parser
|
|
8
|
+
* decides what reads; this only says where it stopped, and in words.
|
|
9
|
+
*/
|
|
10
|
+
/** What is wrong, and the characters it is about, from 1; none when it is about the whole. */
|
|
11
|
+
export interface FormulaProblem {
|
|
12
|
+
words: string;
|
|
13
|
+
from?: number;
|
|
14
|
+
to?: number;
|
|
15
|
+
}
|
|
16
|
+
/** A piece of a formula, and where it is: `from` and `to` count characters from 0, `to` not included. */
|
|
17
|
+
export interface FormulaToken {
|
|
18
|
+
kind: 'name' | 'number' | 'text' | 'list' | 'sign' | 'word' | 'open' | 'close' | 'comma';
|
|
19
|
+
text: string;
|
|
20
|
+
from: number;
|
|
21
|
+
to: number;
|
|
22
|
+
}
|
|
23
|
+
/** The pieces of a formula, or the character it cannot read. */
|
|
24
|
+
export declare function formulaTokens(source: string): FormulaToken[] | {
|
|
25
|
+
bad: number;
|
|
26
|
+
};
|
|
27
|
+
/** "Unknown field “prise” at 1–5": the words, and where, as they are shown under the box. */
|
|
28
|
+
export declare function problemWords(problem: FormulaProblem | null, words?: DesignerWords): string;
|
|
29
|
+
/**
|
|
30
|
+
* What is wrong with a formula on this page, or null when it reads: a sign it
|
|
31
|
+
* cannot hold, a piece out of place, something missing, a function there is
|
|
32
|
+
* not or given too many values, a field the page does not have.
|
|
33
|
+
*/
|
|
34
|
+
export declare function formulaProblem(page: Page, source: string, words?: DesignerWords): FormulaProblem | null;
|
|
35
|
+
/** The fields a formula reads, by name, once each; none when it cannot be read. */
|
|
36
|
+
export declare function fieldsReadBy(source: string | boolean | undefined): string[];
|
|
37
|
+
/**
|
|
38
|
+
* Whether working a field out from this formula would have it worked out
|
|
39
|
+
* from itself, directly or through other worked-out fields; the words if so.
|
|
40
|
+
*/
|
|
41
|
+
export declare function wouldCircle(page: Page, own: string, source: string, words?: DesignerWords): string | null;
|
|
42
|
+
/** A literal as written, as its value: `'bulk'` is bulk, `-5` is −5; null for anything else. */
|
|
43
|
+
export declare function literalOf(source: string): {
|
|
44
|
+
value: string | number | boolean | null;
|
|
45
|
+
} | null;
|
|
46
|
+
/** A value as a person reads it: a choice by its label, yes or no, text as it is. */
|
|
47
|
+
export declare function valueInWords(field: Field | undefined, value: unknown, words?: DesignerWords): string;
|
|
48
|
+
/** A piece of a formula in words, with the space before it and what it was written as; `field` names the field it stands for. */
|
|
49
|
+
export interface WordPiece {
|
|
50
|
+
text: string;
|
|
51
|
+
was: string;
|
|
52
|
+
space: boolean;
|
|
53
|
+
field?: string;
|
|
54
|
+
}
|
|
55
|
+
/** A formula in words, piece by piece: what `formulaInWords` joins, and the box draws with each field marked. */
|
|
56
|
+
export declare function formulaPieces(page: Page, source: string, words?: DesignerWords): WordPiece[];
|
|
57
|
+
/**
|
|
58
|
+
* A formula in words: its fields by their labels, × and ÷ for * and /, ≥
|
|
59
|
+
* and ≤ for >= and <=, "is" and "is not" for == and !=, and a choice
|
|
60
|
+
* compared with a value by the value's label: `state == 'done'` reads
|
|
61
|
+
* "Status is Done". A label with a sign in it is quoted.
|
|
62
|
+
*/
|
|
63
|
+
export declare function formulaInWords(page: Page, source: string, words?: DesignerWords): string;
|
|
64
|
+
/**
|
|
65
|
+
* The formula worked out on made-up values, the way the form works it out
|
|
66
|
+
* (a whole number rounded, text as text): "With Price 120 and Quantity 3:
|
|
67
|
+
* 360". Empty when the formula does not read.
|
|
68
|
+
*/
|
|
69
|
+
export declare function sampleResult(page: Page, own: string, source: string, words?: DesignerWords): string;
|
|
70
|
+
/**
|
|
71
|
+
* Whether a rule across fields holds on made-up values, as the form checks
|
|
72
|
+
* it: "With Contract ends 2026-03-14 and Start date 2026-03-01: holds".
|
|
73
|
+
* Empty when the formula does not read.
|
|
74
|
+
*/
|
|
75
|
+
export declare function sampleHolds(page: Page, source: string, words?: DesignerWords): string;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { type Field, type Page } from '@fieldia/core';
|
|
2
|
+
import type { DesignerWords } from './designer-words';
|
|
3
|
+
/**
|
|
4
|
+
* A formula as a person types it — "Worked out from" a field's value, or a
|
|
5
|
+
* value to set when something holds: what is wrong with it and where (by
|
|
6
|
+
* character, counted from 1, as an editor counts them), what it reads, how it
|
|
7
|
+
* reads in words, and what it gives on made-up values. The page's own parser
|
|
8
|
+
* decides what reads; this only says where it stopped, and in words.
|
|
9
|
+
*/
|
|
10
|
+
/** What is wrong, and the characters it is about, from 1; none when it is about the whole. */
|
|
11
|
+
export interface FormulaProblem {
|
|
12
|
+
words: string;
|
|
13
|
+
from?: number;
|
|
14
|
+
to?: number;
|
|
15
|
+
}
|
|
16
|
+
/** A piece of a formula, and where it is: `from` and `to` count characters from 0, `to` not included. */
|
|
17
|
+
export interface FormulaToken {
|
|
18
|
+
kind: 'name' | 'number' | 'text' | 'list' | 'sign' | 'word' | 'open' | 'close' | 'comma';
|
|
19
|
+
text: string;
|
|
20
|
+
from: number;
|
|
21
|
+
to: number;
|
|
22
|
+
}
|
|
23
|
+
/** The pieces of a formula, or the character it cannot read. */
|
|
24
|
+
export declare function formulaTokens(source: string): FormulaToken[] | {
|
|
25
|
+
bad: number;
|
|
26
|
+
};
|
|
27
|
+
/** "Unknown field “prise” at 1–5": the words, and where, as they are shown under the box. */
|
|
28
|
+
export declare function problemWords(problem: FormulaProblem | null, words?: DesignerWords): string;
|
|
29
|
+
/**
|
|
30
|
+
* What is wrong with a formula on this page, or null when it reads: a sign it
|
|
31
|
+
* cannot hold, a piece out of place, something missing, a function there is
|
|
32
|
+
* not or given too many values, a field the page does not have.
|
|
33
|
+
*/
|
|
34
|
+
export declare function formulaProblem(page: Page, source: string, words?: DesignerWords): FormulaProblem | null;
|
|
35
|
+
/** The fields a formula reads, by name, once each; none when it cannot be read. */
|
|
36
|
+
export declare function fieldsReadBy(source: string | boolean | undefined): string[];
|
|
37
|
+
/**
|
|
38
|
+
* Whether working a field out from this formula would have it worked out
|
|
39
|
+
* from itself, directly or through other worked-out fields; the words if so.
|
|
40
|
+
*/
|
|
41
|
+
export declare function wouldCircle(page: Page, own: string, source: string, words?: DesignerWords): string | null;
|
|
42
|
+
/** A literal as written, as its value: `'bulk'` is bulk, `-5` is −5; null for anything else. */
|
|
43
|
+
export declare function literalOf(source: string): {
|
|
44
|
+
value: string | number | boolean | null;
|
|
45
|
+
} | null;
|
|
46
|
+
/** A value as a person reads it: a choice by its label, yes or no, text as it is. */
|
|
47
|
+
export declare function valueInWords(field: Field | undefined, value: unknown, words?: DesignerWords): string;
|
|
48
|
+
/** A piece of a formula in words, with the space before it and what it was written as; `field` names the field it stands for. */
|
|
49
|
+
export interface WordPiece {
|
|
50
|
+
text: string;
|
|
51
|
+
was: string;
|
|
52
|
+
space: boolean;
|
|
53
|
+
field?: string;
|
|
54
|
+
}
|
|
55
|
+
/** A formula in words, piece by piece: what `formulaInWords` joins, and the box draws with each field marked. */
|
|
56
|
+
export declare function formulaPieces(page: Page, source: string, words?: DesignerWords): WordPiece[];
|
|
57
|
+
/**
|
|
58
|
+
* A formula in words: its fields by their labels, × and ÷ for * and /, ≥
|
|
59
|
+
* and ≤ for >= and <=, "is" and "is not" for == and !=, and a choice
|
|
60
|
+
* compared with a value by the value's label: `state == 'done'` reads
|
|
61
|
+
* "Status is Done". A label with a sign in it is quoted.
|
|
62
|
+
*/
|
|
63
|
+
export declare function formulaInWords(page: Page, source: string, words?: DesignerWords): string;
|
|
64
|
+
/**
|
|
65
|
+
* The formula worked out on made-up values, the way the form works it out
|
|
66
|
+
* (a whole number rounded, text as text): "With Price 120 and Quantity 3:
|
|
67
|
+
* 360". Empty when the formula does not read.
|
|
68
|
+
*/
|
|
69
|
+
export declare function sampleResult(page: Page, own: string, source: string, words?: DesignerWords): string;
|
|
70
|
+
/**
|
|
71
|
+
* Whether a rule across fields holds on made-up values, as the form checks
|
|
72
|
+
* it: "With Contract ends 2026-03-14 and Start date 2026-03-01: holds".
|
|
73
|
+
* Empty when the formula does not read.
|
|
74
|
+
*/
|
|
75
|
+
export declare function sampleHolds(page: Page, source: string, words?: DesignerWords): string;
|