diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 46ad70d780e..6bcbba2b17a 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -195,41 +195,3 @@ jobs: - name: Test run: pnpm run test --cache-dir=.turbo --filter !\documentation - - strict: - if: ${{ needs.changes.outputs.core_any_changed == 'true' && github.repository == 'siemens/ix' }} - needs: [changes] - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: ./.github/workflows/actions/turbo - - name: Strict - id: report - env: - ALL_CHANGED_FILES: ${{ needs.changes.outputs.core_all_changed_files }} - run: pnpm --filter @siemens/ix exec strict-check ${ALL_CHANGED_FILES} - - - name: Find Comment - uses: peter-evans/find-comment@v3 - id: find-comment - with: - issue-number: ${{ github.event.pull_request.number }} - comment-author: 'github-actions[bot]' - body-includes: '### Report of `strict` check' - - - name: Delete comment - if: ${{ steps.report.outputs.has_errors != 'true' }} - uses: actions-cool/issues-helper@v3 - with: - actions: 'delete-comment' - token: ${{ secrets.GITHUB_TOKEN }} - comment-id: ${{ steps.find-comment.outputs.comment-id }} - - - name: Create or update comment - if: ${{ steps.report.outputs.has_errors == 'true' }} - uses: peter-evans/create-or-update-comment@v4 - with: - comment-id: ${{ steps.find-comment.outputs.comment-id }} - issue-number: ${{ github.event.pull_request.number }} - body: ${{ steps.report.outputs.body }} - edit-mode: replace diff --git a/packages/core/component-doc.json b/packages/core/component-doc.json index e0b397aeeae..0de1f7d9fa8 100644 --- a/packages/core/component-doc.json +++ b/packages/core/component-doc.json @@ -39,10 +39,10 @@ "props": [ { "name": "heading", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -53,6 +53,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -60,10 +63,10 @@ }, { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string | undefined", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -75,6 +78,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": false, @@ -104,10 +110,10 @@ }, { "name": "subheading", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -118,6 +124,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -229,10 +238,10 @@ "props": [ { "name": "appSwitchConfig", - "type": "{ currentAppId: string; apps: { id: string; name: string; description: string; url: string; target: AppSwitchConfigurationTarget; iconSrc: string; }[]; i18nAppSwitch?: string; i18nLoadingApps?: string; }", + "type": "undefined | { currentAppId: string; apps: { id: string; name: string; description: string; url: string; target: AppSwitchConfigurationTarget; iconSrc: string; }[]; i18nAppSwitch?: string | undefined; i18nLoadingApps?: string | undefined; }", "complexType": { "original": "AppSwitchConfiguration", - "resolved": "{ currentAppId: string; apps: { id: string; name: string; description: string; url: string; target: AppSwitchConfigurationTarget; iconSrc: string; }[]; i18nAppSwitch?: string; i18nLoadingApps?: string; }", + "resolved": "undefined | { currentAppId: string; apps: { id: string; name: string; description: string; url: string; target: AppSwitchConfigurationTarget; iconSrc: string; }[]; i18nAppSwitch?: string | undefined; i18nLoadingApps?: string | undefined; }", "references": { "AppSwitchConfiguration": { "location": "import", @@ -247,10 +256,19 @@ "docsTags": [], "values": [ { - "type": "{ currentAppId: string; apps: { id: string; name: string; description: string; url: string; target: AppSwitchConfigurationTarget; iconSrc: string; }[]; i18nAppSwitch?: string; i18nLoadingApps?: string; }" + "type": "undefined" + }, + { + "type": "{ currentAppId: string; apps: { id: string; name: string; description: string; url: string; target: AppSwitchConfigurationTarget; iconSrc: string; }[]; i18nAppSwitch?: string" + }, + { + "type": "undefined; i18nLoadingApps?: string" + }, + { + "type": "undefined; }" } ], - "optional": false, + "optional": true, "required": false }, { @@ -289,10 +307,10 @@ }, { "name": "forceBreakpoint", - "type": "\"lg\" | \"md\" | \"sm\"", + "type": "\"lg\" | \"md\" | \"sm\" | undefined", "complexType": { "original": "Breakpoint | undefined", - "resolved": "\"lg\" | \"md\" | \"sm\"", + "resolved": "\"lg\" | \"md\" | \"sm\" | undefined", "references": { "Breakpoint": { "location": "import", @@ -318,6 +336,9 @@ { "value": "sm", "type": "string" + }, + { + "type": "undefined" } ], "optional": false, @@ -325,10 +346,10 @@ }, { "name": "theme", - "type": "\"classic\" | \"classic-dark\" | \"classic-light\" | string & Record", + "type": "\"classic\" | \"classic-dark\" | \"classic-light\" | string & Record | undefined", "complexType": { "original": "IxTheme", - "resolved": "\"classic\" | \"classic-dark\" | \"classic-light\" | string & Record", + "resolved": "\"classic\" | \"classic-dark\" | \"classic-light\" | string & Record | undefined", "references": { "IxTheme": { "location": "import", @@ -357,9 +378,12 @@ }, { "type": "string & Record" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -443,10 +467,10 @@ "props": [ { "name": "name", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -457,6 +481,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -464,10 +491,10 @@ }, { "name": "showMenu", - "type": "boolean", + "type": "boolean | undefined", "complexType": { "original": "boolean", - "resolved": "boolean", + "resolved": "boolean | undefined", "references": {} }, "mutable": true, @@ -484,6 +511,9 @@ "values": [ { "type": "boolean" + }, + { + "type": "undefined" } ], "optional": true, @@ -581,10 +611,10 @@ "props": [ { "name": "extra", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -600,6 +630,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -607,10 +640,10 @@ }, { "name": "image", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -621,6 +654,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -628,10 +664,10 @@ }, { "name": "initials", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -642,6 +678,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -649,10 +688,10 @@ }, { "name": "username", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -668,6 +707,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -718,10 +760,10 @@ "props": [ { "name": "applicationName", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -732,9 +774,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -778,10 +823,10 @@ }, { "name": "forceBreakpoint", - "type": "\"lg\" | \"md\" | \"sm\"", + "type": "\"lg\" | \"md\" | \"sm\" | undefined", "complexType": { "original": "Breakpoint | undefined", - "resolved": "\"lg\" | \"md\" | \"sm\"", + "resolved": "\"lg\" | \"md\" | \"sm\" | undefined", "references": { "Breakpoint": { "location": "import", @@ -807,6 +852,9 @@ { "value": "sm", "type": "string" + }, + { + "type": "undefined" } ], "optional": false, @@ -888,10 +936,10 @@ }, { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -907,6 +955,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -914,10 +965,10 @@ }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -928,6 +979,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -935,10 +989,10 @@ }, { "name": "sublabel", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -954,6 +1008,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -1248,10 +1305,10 @@ "props": [ { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -1262,17 +1319,20 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -1283,9 +1343,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false } ], @@ -1405,10 +1468,10 @@ }, { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -1419,6 +1482,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -1941,10 +2007,10 @@ }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -1955,6 +2021,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -1989,10 +2058,10 @@ }, { "name": "showAllCount", - "type": "number", + "type": "number | undefined", "complexType": { "original": "number", - "resolved": "number", + "resolved": "number | undefined", "references": {} }, "mutable": false, @@ -2003,6 +2072,9 @@ "values": [ { "type": "number" + }, + { + "type": "undefined" } ], "optional": true, @@ -2177,10 +2249,10 @@ "props": [ { "name": "categories", - "type": "{ [id: string]: { label: string; options: string[]; }; }", + "type": "undefined | { [id: string]: { label: string; options: string[]; }; }", "complexType": { "original": "{\n [id: string]: {\n label: string;\n options: string[];\n };\n }", - "resolved": "{ [id: string]: { label: string; options: string[]; }; }", + "resolved": "undefined | { [id: string]: { label: string; options: string[]; }; }", "references": {} }, "mutable": false, @@ -2188,6 +2260,9 @@ "docs": "Configuration object hash used to populate the dropdown menu for type-ahead and quick selection functionality.\nEach ID maps to an object with a label and an array of options to select from.", "docsTags": [], "values": [ + { + "type": "undefined" + }, { "type": "{ [id: string]: { label: string; options: string[]; }; }" } @@ -2219,10 +2294,10 @@ }, { "name": "filterState", - "type": "FilterState", + "type": "FilterState | undefined", "complexType": { "original": "FilterState", - "resolved": "FilterState", + "resolved": "FilterState | undefined", "references": { "FilterState": { "location": "import", @@ -2238,6 +2313,9 @@ "values": [ { "type": "FilterState" + }, + { + "type": "undefined" } ], "optional": true, @@ -2333,10 +2411,10 @@ }, { "name": "nonSelectableCategories", - "type": "{ [id: string]: string; }", + "type": "undefined | { [id: string]: string; }", "complexType": { "original": "{\n [id: string]: string;\n }", - "resolved": "{ [id: string]: string; }", + "resolved": "undefined | { [id: string]: string; }", "references": {} }, "mutable": false, @@ -2345,6 +2423,9 @@ "docsTags": [], "default": "{}", "values": [ + { + "type": "undefined" + }, { "type": "{ [id: string]: string; }" } @@ -2354,10 +2435,10 @@ }, { "name": "placeholder", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -2368,6 +2449,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -2419,10 +2503,10 @@ }, { "name": "staticOperator", - "type": "LogicalFilterOperator.EQUAL | LogicalFilterOperator.NOT_EQUAL", + "type": "LogicalFilterOperator.EQUAL | LogicalFilterOperator.NOT_EQUAL | undefined", "complexType": { "original": "LogicalFilterOperator", - "resolved": "LogicalFilterOperator.EQUAL | LogicalFilterOperator.NOT_EQUAL", + "resolved": "LogicalFilterOperator.EQUAL | LogicalFilterOperator.NOT_EQUAL | undefined", "references": { "LogicalFilterOperator": { "location": "import", @@ -2447,6 +2531,9 @@ }, { "type": "LogicalFilterOperator.NOT_EQUAL" + }, + { + "type": "undefined" } ], "optional": true, @@ -2454,10 +2541,10 @@ }, { "name": "suggestions", - "type": "string[]", + "type": "string[] | undefined", "complexType": { "original": "string[]", - "resolved": "string[]", + "resolved": "string[] | undefined", "references": {} }, "mutable": false, @@ -2467,6 +2554,9 @@ "values": [ { "type": "string[]" + }, + { + "type": "undefined" } ], "optional": true, @@ -2648,10 +2738,10 @@ }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -2662,6 +2752,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -2669,10 +2762,10 @@ }, { "name": "name", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -2683,6 +2776,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -2840,10 +2936,10 @@ }, { "name": "helperText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -2854,6 +2950,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -2861,10 +2960,10 @@ }, { "name": "infoText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -2875,6 +2974,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -2882,10 +2984,10 @@ }, { "name": "invalidText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -2896,6 +2998,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -2903,10 +3008,10 @@ }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -2917,6 +3022,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -2946,10 +3054,10 @@ }, { "name": "validText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -2960,6 +3068,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -2967,10 +3078,10 @@ }, { "name": "warningText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -2981,6 +3092,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -3043,10 +3157,10 @@ }, { "name": "background", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string | undefined", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -3057,6 +3171,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": false, @@ -3064,10 +3181,10 @@ }, { "name": "chipColor", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string | undefined", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -3078,6 +3195,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": false, @@ -3107,10 +3227,10 @@ }, { "name": "color", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string | undefined", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -3127,6 +3247,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": false, @@ -3134,10 +3257,10 @@ }, { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -3148,9 +3271,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -3287,10 +3413,10 @@ "props": [ { "name": "size", - "type": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\"", + "type": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\" | undefined", "complexType": { "original": "ColumnSize", - "resolved": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\"", + "resolved": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\" | undefined", "references": { "ColumnSize": { "location": "local", @@ -3356,6 +3482,9 @@ { "value": "auto", "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -3363,10 +3492,10 @@ }, { "name": "sizeLg", - "type": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\"", + "type": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\" | undefined", "complexType": { "original": "ColumnSize", - "resolved": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\"", + "resolved": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\" | undefined", "references": { "ColumnSize": { "location": "local", @@ -3432,6 +3561,9 @@ { "value": "auto", "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -3439,10 +3571,10 @@ }, { "name": "sizeMd", - "type": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\"", + "type": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\" | undefined", "complexType": { "original": "ColumnSize", - "resolved": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\"", + "resolved": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\" | undefined", "references": { "ColumnSize": { "location": "local", @@ -3508,6 +3640,9 @@ { "value": "auto", "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -3515,10 +3650,10 @@ }, { "name": "sizeSm", - "type": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\"", + "type": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\" | undefined", "complexType": { "original": "ColumnSize", - "resolved": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\"", + "resolved": "\"1\" | \"10\" | \"11\" | \"12\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"auto\" | undefined", "references": { "ColumnSize": { "location": "local", @@ -3584,6 +3719,9 @@ { "value": "auto", "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -3692,10 +3830,10 @@ }, { "name": "headerSubtitle", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string | undefined", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -3707,6 +3845,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": false, @@ -3714,10 +3855,10 @@ }, { "name": "headerTitle", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -3728,6 +3869,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -3829,10 +3973,10 @@ "props": [ { "name": "helperText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -3843,6 +3987,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -3850,10 +3997,10 @@ }, { "name": "infoText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -3864,6 +4011,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -3871,10 +4021,10 @@ }, { "name": "invalidText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -3885,6 +4035,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -3892,10 +4045,10 @@ }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -3906,6 +4059,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -3935,10 +4091,10 @@ }, { "name": "showTextAsTooltip", - "type": "boolean", + "type": "boolean | undefined", "complexType": { "original": "boolean", - "resolved": "boolean", + "resolved": "boolean | undefined", "references": {} }, "mutable": false, @@ -3949,6 +4105,9 @@ "values": [ { "type": "boolean" + }, + { + "type": "undefined" } ], "optional": true, @@ -3956,10 +4115,10 @@ }, { "name": "validText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -3970,6 +4129,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -3977,10 +4139,10 @@ }, { "name": "warningText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -3991,6 +4153,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -4314,10 +4479,10 @@ }, { "name": "locale", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -4333,6 +4498,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -4683,10 +4851,10 @@ }, { "name": "helperText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -4697,6 +4865,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -4726,10 +4897,10 @@ }, { "name": "infoText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -4740,6 +4911,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -4747,10 +4921,10 @@ }, { "name": "invalidText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -4761,6 +4935,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -4768,10 +4945,10 @@ }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -4782,6 +4959,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -4789,10 +4969,10 @@ }, { "name": "locale", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -4808,6 +4988,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -4815,10 +4998,10 @@ }, { "name": "name", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -4829,6 +5012,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -4836,10 +5022,10 @@ }, { "name": "placeholder", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -4850,6 +5036,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -4879,10 +5068,10 @@ }, { "name": "required", - "type": "boolean", + "type": "boolean | undefined", "complexType": { "original": "boolean", - "resolved": "boolean", + "resolved": "boolean | undefined", "references": {} }, "mutable": false, @@ -4893,6 +5082,9 @@ "values": [ { "type": "boolean" + }, + { + "type": "undefined" } ], "optional": true, @@ -4900,10 +5092,10 @@ }, { "name": "showTextAsTooltip", - "type": "boolean", + "type": "boolean | undefined", "complexType": { "original": "boolean", - "resolved": "boolean", + "resolved": "boolean | undefined", "references": {} }, "mutable": false, @@ -4914,6 +5106,9 @@ "values": [ { "type": "boolean" + }, + { + "type": "undefined" } ], "optional": true, @@ -4921,10 +5116,10 @@ }, { "name": "validText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -4935,6 +5130,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -4964,10 +5162,10 @@ }, { "name": "warningText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -4978,6 +5176,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -5037,11 +5238,11 @@ "events": [ { "event": "validityStateChange", - "detail": "{ patternMismatch: boolean; invalidReason?: string; }", + "detail": "{ patternMismatch: boolean; invalidReason?: string | undefined; }", "bubbles": true, "complexType": { "original": "DateInputValidityState", - "resolved": "{ patternMismatch: boolean; invalidReason?: string; }", + "resolved": "{ patternMismatch: boolean; invalidReason?: string | undefined; }", "references": { "DateInputValidityState": { "location": "local", @@ -5228,10 +5429,10 @@ }, { "name": "from", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string | undefined", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -5247,7 +5448,10 @@ "values": [ { "type": "string" - } + }, + { + "type": "undefined" + } ], "optional": false, "required": false @@ -5309,10 +5513,10 @@ }, { "name": "locale", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -5328,6 +5532,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -5443,10 +5650,10 @@ }, { "name": "to", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string | undefined", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -5462,6 +5669,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": false, @@ -5499,11 +5709,11 @@ { "name": "getCurrentDate", "returns": { - "type": "Promise<{ from: string; to: string; }>", + "type": "Promise<{ from: string | undefined; to: string | undefined; }>", "docs": "" }, "complexType": { - "signature": "() => Promise<{ from: string; to: string; }>", + "signature": "() => Promise<{ from: string | undefined; to: string | undefined; }>", "parameters": [], "references": { "Promise": { @@ -5511,9 +5721,9 @@ "id": "global::Promise" } }, - "return": "Promise<{ from: string; to: string; }>" + "return": "Promise<{ from: string | undefined; to: string | undefined; }>" }, - "signature": "getCurrentDate() => Promise<{ from: string; to: string; }>", + "signature": "getCurrentDate() => Promise<{ from: string | undefined; to: string | undefined; }>", "parameters": [], "docs": "Get the currently selected date-range.", "docsTags": [] @@ -5732,10 +5942,10 @@ }, { "name": "from", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -5751,6 +5961,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -5785,10 +5998,10 @@ }, { "name": "locale", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -5804,6 +6017,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -5811,10 +6027,10 @@ }, { "name": "maxDate", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -5830,6 +6046,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -5837,10 +6056,10 @@ }, { "name": "minDate", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -5856,6 +6075,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -5982,10 +6204,10 @@ }, { "name": "textSelectDate", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -6006,6 +6228,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -6013,10 +6238,10 @@ }, { "name": "time", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -6032,6 +6257,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -6066,10 +6294,10 @@ }, { "name": "timeReference", - "type": "\"AM\" | \"PM\"", + "type": "\"AM\" | \"PM\" | undefined", "complexType": { "original": "'AM' | 'PM'", - "resolved": "\"AM\" | \"PM\"", + "resolved": "\"AM\" | \"PM\" | undefined", "references": {} }, "mutable": false, @@ -6085,6 +6313,9 @@ { "value": "PM", "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -6092,10 +6323,10 @@ }, { "name": "to", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -6111,6 +6342,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -6453,7 +6687,7 @@ "parameters": [ { "name": "show", - "type": "boolean", + "type": "boolean | undefined", "docs": "Overwrite toggle state with boolean" } ], @@ -6469,7 +6703,7 @@ "parameters": [ { "name": "show", - "type": "boolean", + "type": "boolean | undefined", "docs": "Overwrite toggle state with boolean" } ], @@ -6585,10 +6819,10 @@ "props": [ { "name": "anchor", - "type": "HTMLElement | Promise | string", + "type": "HTMLElement | Promise | string | undefined", "complexType": { "original": "ElementReference", - "resolved": "HTMLElement | Promise | string", + "resolved": "HTMLElement | Promise | string | undefined", "references": { "ElementReference": { "location": "import", @@ -6611,6 +6845,9 @@ }, { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -6658,10 +6895,10 @@ }, { "name": "header", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -6672,6 +6909,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -6812,10 +7052,10 @@ }, { "name": "trigger", - "type": "HTMLElement | Promise | string", + "type": "HTMLElement | Promise | string | undefined", "complexType": { "original": "ElementReference", - "resolved": "HTMLElement | Promise | string", + "resolved": "HTMLElement | Promise | string | undefined", "references": { "ElementReference": { "location": "import", @@ -6838,6 +7078,9 @@ }, { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -7018,10 +7261,10 @@ }, { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -7032,6 +7275,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -7039,10 +7285,10 @@ }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -7053,6 +7299,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -7082,10 +7331,10 @@ }, { "name": "placement", - "type": "\"bottom-end\" | \"bottom-start\" | \"left-end\" | \"left-start\" | \"right-end\" | \"right-start\" | \"top-end\" | \"top-start\"", + "type": "\"bottom-end\" | \"bottom-start\" | \"left-end\" | \"left-start\" | \"right-end\" | \"right-start\" | \"top-end\" | \"top-start\" | undefined", "complexType": { "original": "AlignedPlacement", - "resolved": "\"bottom-end\" | \"bottom-start\" | \"left-end\" | \"left-start\" | \"right-end\" | \"right-start\" | \"top-end\" | \"top-start\"", + "resolved": "\"bottom-end\" | \"bottom-start\" | \"left-end\" | \"left-start\" | \"right-end\" | \"right-start\" | \"top-end\" | \"top-start\" | undefined", "references": { "AlignedPlacement": { "location": "import", @@ -7136,6 +7385,9 @@ { "value": "top-start", "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -7215,10 +7467,10 @@ "props": [ { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -7229,9 +7481,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false } ], @@ -7356,10 +7611,10 @@ }, { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -7370,6 +7625,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -7377,10 +7635,10 @@ }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -7391,6 +7649,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -7489,10 +7750,10 @@ "props": [ { "name": "action", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -7503,9 +7764,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -7531,10 +7795,10 @@ }, { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -7545,9 +7809,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -7589,10 +7856,10 @@ }, { "name": "subHeader", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -7603,9 +7870,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false } ], @@ -7791,10 +8061,10 @@ }, { "name": "color", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -7815,6 +8085,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -7844,10 +8117,10 @@ }, { "name": "itemColor", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -7863,6 +8136,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -8170,10 +8446,10 @@ "props": [ { "name": "htmlFor", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -8184,6 +8460,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -8191,10 +8470,10 @@ }, { "name": "required", - "type": "boolean", + "type": "boolean | undefined", "complexType": { "original": "boolean", - "resolved": "boolean", + "resolved": "boolean | undefined", "references": {} }, "mutable": true, @@ -8205,6 +8484,9 @@ "values": [ { "type": "boolean" + }, + { + "type": "undefined" } ], "optional": true, @@ -8382,10 +8664,10 @@ }, { "name": "state", - "type": "FlipTileState.Alarm | FlipTileState.Info | FlipTileState.None | FlipTileState.Primary | FlipTileState.Warning", + "type": "FlipTileState.Alarm | FlipTileState.Info | FlipTileState.None | FlipTileState.Primary | FlipTileState.Warning | undefined", "complexType": { "original": "FlipTileState", - "resolved": "FlipTileState.Alarm | FlipTileState.Info | FlipTileState.None | FlipTileState.Primary | FlipTileState.Warning", + "resolved": "FlipTileState.Alarm | FlipTileState.Info | FlipTileState.None | FlipTileState.Primary | FlipTileState.Warning | undefined", "references": { "FlipTileState": { "location": "import", @@ -8414,9 +8696,12 @@ }, { "type": "FlipTileState.Warning" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -8557,10 +8842,10 @@ }, { "name": "header", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -8571,6 +8856,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -8578,10 +8866,10 @@ }, { "name": "index", - "type": "number", + "type": "number | undefined", "complexType": { "original": "number", - "resolved": "number", + "resolved": "number | undefined", "references": {} }, "mutable": true, @@ -8592,6 +8880,9 @@ "values": [ { "type": "number" + }, + { + "type": "undefined" } ], "optional": true, @@ -8621,10 +8912,10 @@ }, { "name": "subHeader", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -8635,6 +8926,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -8802,10 +9096,10 @@ }, { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -8816,6 +9110,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -8823,10 +9120,10 @@ }, { "name": "index", - "type": "number", + "type": "number | undefined", "complexType": { "original": "number", - "resolved": "number", + "resolved": "number | undefined", "references": {} }, "mutable": false, @@ -8837,6 +9134,9 @@ "values": [ { "type": "number" + }, + { + "type": "undefined" } ], "optional": true, @@ -8844,10 +9144,10 @@ }, { "name": "secondaryText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -8858,6 +9158,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -8909,10 +9212,10 @@ }, { "name": "text", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -8923,6 +9226,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -8986,10 +9292,10 @@ "props": [ { "name": "helperText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -9000,6 +9306,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -9007,10 +9316,10 @@ }, { "name": "htmlFor", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -9021,6 +9330,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -9028,10 +9340,10 @@ }, { "name": "infoText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -9042,6 +9354,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -9049,10 +9364,10 @@ }, { "name": "invalidText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -9063,6 +9378,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -9070,10 +9388,10 @@ }, { "name": "validText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -9084,6 +9402,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -9091,10 +9412,10 @@ }, { "name": "warningText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -9105,6 +9426,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -9263,10 +9587,10 @@ "props": [ { "name": "a11yLabel", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -9282,17 +9606,20 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { "name": "color", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -9309,9 +9636,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -9349,6 +9679,7 @@ "reflectToAttr": false, "docs": "Button invisible", "docsTags": [], + "default": "false", "values": [ { "type": "boolean" @@ -9359,10 +9690,10 @@ }, { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -9373,17 +9704,20 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { "name": "iconColor", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -9394,9 +9728,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -9439,6 +9776,7 @@ "reflectToAttr": false, "docs": "Button outline", "docsTags": [], + "default": "false", "values": [ { "type": "boolean" @@ -9460,6 +9798,7 @@ "reflectToAttr": false, "docs": "Button in oval shape", "docsTags": [], + "default": "false", "values": [ { "type": "boolean" @@ -9659,10 +9998,10 @@ }, { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -9673,9 +10012,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -9894,10 +10236,10 @@ "props": [ { "name": "allowedCharactersPattern", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -9908,6 +10250,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -9937,10 +10282,10 @@ }, { "name": "helperText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -9951,6 +10296,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -9958,10 +10306,10 @@ }, { "name": "infoText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -9972,6 +10320,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -9979,10 +10330,10 @@ }, { "name": "invalidText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -9993,6 +10344,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -10000,10 +10354,10 @@ }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -10014,6 +10368,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -10021,10 +10378,10 @@ }, { "name": "maxLength", - "type": "number", + "type": "number | undefined", "complexType": { "original": "number", - "resolved": "number", + "resolved": "number | undefined", "references": {} }, "mutable": false, @@ -10035,6 +10392,9 @@ "values": [ { "type": "number" + }, + { + "type": "undefined" } ], "optional": true, @@ -10042,10 +10402,10 @@ }, { "name": "minLength", - "type": "number", + "type": "number | undefined", "complexType": { "original": "number", - "resolved": "number", + "resolved": "number | undefined", "references": {} }, "mutable": false, @@ -10056,6 +10416,9 @@ "values": [ { "type": "number" + }, + { + "type": "undefined" } ], "optional": true, @@ -10063,10 +10426,10 @@ }, { "name": "name", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -10077,6 +10440,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -10084,10 +10450,10 @@ }, { "name": "pattern", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -10098,6 +10464,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -10105,10 +10474,10 @@ }, { "name": "placeholder", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -10119,6 +10488,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -10170,10 +10542,10 @@ }, { "name": "showTextAsTooltip", - "type": "boolean", + "type": "boolean | undefined", "complexType": { "original": "boolean", - "resolved": "boolean", + "resolved": "boolean | undefined", "references": {} }, "mutable": false, @@ -10184,6 +10556,9 @@ "values": [ { "type": "boolean" + }, + { + "type": "undefined" } ], "optional": true, @@ -10230,10 +10605,10 @@ }, { "name": "validText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -10244,6 +10619,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -10273,10 +10651,10 @@ }, { "name": "warningText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -10287,6 +10665,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -10456,10 +10837,10 @@ "props": [ { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -10470,9 +10851,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -10531,10 +10915,10 @@ }, { "name": "value", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -10545,9 +10929,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false } ], @@ -10597,6 +10984,7 @@ "reflectToAttr": false, "docs": "Optional striped key value list style", "docsTags": [], + "default": "false", "values": [ { "type": "boolean" @@ -10631,10 +11019,10 @@ "props": [ { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -10645,9 +11033,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -10710,10 +11101,10 @@ }, { "name": "unit", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -10724,17 +11115,20 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { "name": "value", - "type": "number | string", + "type": "number | string | undefined", "complexType": { "original": "string | number", - "resolved": "number | string", + "resolved": "number | string | undefined", "references": {} }, "mutable": false, @@ -10748,9 +11142,12 @@ }, { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false } ], @@ -11009,10 +11406,10 @@ }, { "name": "url", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -11023,9 +11420,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false } ], @@ -11080,10 +11480,10 @@ "props": [ { "name": "applicationName", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -11094,9 +11494,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -11123,10 +11526,10 @@ }, { "name": "navigationTitle", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -11137,9 +11540,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false } ], @@ -11193,12 +11599,12 @@ }, { "name": "icon", - "type": "string", + "type": "string | undefined", "docs": "" }, { "name": "color", - "type": "string", + "type": "string | undefined", "docs": "" } ], @@ -11228,12 +11634,12 @@ }, { "name": "icon", - "type": "string", + "type": "string | undefined", "docs": "" }, { "name": "color", - "type": "string", + "type": "string | undefined", "docs": "" } ], @@ -11273,7 +11679,7 @@ "parameters": [ { "name": "show", - "type": "boolean", + "type": "boolean | undefined", "docs": "new visibility state" } ], @@ -11289,7 +11695,7 @@ "parameters": [ { "name": "show", - "type": "boolean", + "type": "boolean | undefined", "docs": "new visibility state" } ], @@ -11373,10 +11779,10 @@ "props": [ { "name": "color", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -11393,17 +11799,20 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -11414,17 +11823,20 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { "name": "iconColor", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -11435,17 +11847,20 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { "name": "name", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -11456,9 +11871,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false } ], @@ -11547,10 +11965,10 @@ }, { "name": "applicationName", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -11561,6 +11979,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -11959,7 +12380,7 @@ "parameters": [ { "name": "show", - "type": "boolean", + "type": "boolean | undefined", "docs": "" } ], @@ -11975,7 +12396,7 @@ "parameters": [ { "name": "show", - "type": "boolean", + "type": "boolean | undefined", "docs": "" } ], @@ -11998,7 +12419,7 @@ "parameters": [ { "name": "show", - "type": "boolean", + "type": "boolean | undefined", "docs": "" } ], @@ -12014,7 +12435,7 @@ "parameters": [ { "name": "show", - "type": "boolean", + "type": "boolean | undefined", "docs": "" } ], @@ -12163,10 +12584,10 @@ "props": [ { "name": "activeTabLabel", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": true, @@ -12177,9 +12598,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -12273,10 +12697,10 @@ "props": [ { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -12287,9 +12711,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false } ], @@ -12355,10 +12782,10 @@ "props": [ { "name": "aboutItemLabel", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -12369,9 +12796,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -12420,10 +12850,10 @@ }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -12434,9 +12864,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -12562,10 +12995,10 @@ "props": [ { "name": "bottom", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -12576,9 +13009,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -12605,10 +13041,10 @@ }, { "name": "image", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -12624,17 +13060,20 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { "name": "initials", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -12650,9 +13089,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -12684,10 +13126,10 @@ }, { "name": "top", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -12698,9 +13140,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false } ], @@ -12755,10 +13200,10 @@ "props": [ { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -12769,17 +13214,20 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -12790,9 +13238,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false } ], @@ -12866,10 +13317,10 @@ "props": [ { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -12880,6 +13331,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -12887,10 +13341,10 @@ }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -12901,6 +13355,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -12908,10 +13365,10 @@ }, { "name": "notifications", - "type": "number", + "type": "number | undefined", "complexType": { "original": "number", - "resolved": "number", + "resolved": "number | undefined", "references": {} }, "mutable": false, @@ -12922,6 +13379,9 @@ "values": [ { "type": "number" + }, + { + "type": "undefined" } ], "optional": true, @@ -13071,10 +13531,10 @@ }, { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": true, @@ -13090,6 +13550,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -13097,10 +13560,10 @@ }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -13116,6 +13579,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -13123,10 +13589,10 @@ }, { "name": "notifications", - "type": "number", + "type": "number | undefined", "complexType": { "original": "number", - "resolved": "number", + "resolved": "number | undefined", "references": {} }, "mutable": false, @@ -13137,6 +13603,9 @@ "values": [ { "type": "number" + }, + { + "type": "undefined" } ], "optional": true, @@ -13144,10 +13613,10 @@ }, { "name": "tabIcon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": true, @@ -13168,6 +13637,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -13217,10 +13689,10 @@ "props": [ { "name": "activeTabLabel", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": true, @@ -13231,9 +13703,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -13327,10 +13802,10 @@ "props": [ { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -13341,9 +13816,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false } ], @@ -13538,10 +14016,10 @@ }, { "name": "beforeDismiss", - "type": "(reason?: any) => boolean | Promise", + "type": "((reason?: any) => boolean | Promise) | undefined", "complexType": { "original": "(reason?: any) => boolean | Promise", - "resolved": "(reason?: any) => boolean | Promise", + "resolved": "((reason?: any) => boolean | Promise) | undefined", "references": { "Promise": { "location": "global", @@ -13555,13 +14033,16 @@ "docsTags": [], "values": [ { - "type": "(reason?: any) => boolean" + "type": "((reason?: any) => boolean" + }, + { + "type": "Promise)" }, { - "type": "Promise" + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -13772,7 +14253,7 @@ "parameters": [ { "name": "reason", - "type": "T", + "type": "T | undefined", "docs": "" } ], @@ -13792,7 +14273,7 @@ "parameters": [ { "name": "reason", - "type": "T", + "type": "T | undefined", "docs": "" } ], @@ -13984,10 +14465,10 @@ }, { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -13998,6 +14479,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -14005,10 +14489,10 @@ }, { "name": "iconColor", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -14019,6 +14503,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -14109,10 +14596,10 @@ "props": [ { "name": "allowedCharactersPattern", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -14123,6 +14610,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -14152,10 +14642,10 @@ }, { "name": "helperText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -14166,6 +14656,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -14173,10 +14666,10 @@ }, { "name": "infoText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -14187,6 +14680,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -14194,10 +14690,10 @@ }, { "name": "invalidText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -14208,6 +14704,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -14215,10 +14714,10 @@ }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -14229,6 +14728,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -14236,10 +14738,10 @@ }, { "name": "max", - "type": "number | string", + "type": "number | string | undefined", "complexType": { "original": "string | number", - "resolved": "number | string", + "resolved": "number | string | undefined", "references": {} }, "mutable": false, @@ -14253,6 +14755,9 @@ }, { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -14260,10 +14765,10 @@ }, { "name": "min", - "type": "number | string", + "type": "number | string | undefined", "complexType": { "original": "string | number", - "resolved": "number | string", + "resolved": "number | string | undefined", "references": {} }, "mutable": false, @@ -14277,6 +14782,9 @@ }, { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -14284,10 +14792,10 @@ }, { "name": "name", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -14298,6 +14806,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -14305,10 +14816,10 @@ }, { "name": "pattern", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -14319,6 +14830,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -14326,10 +14840,10 @@ }, { "name": "placeholder", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -14340,6 +14854,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -14391,10 +14908,10 @@ }, { "name": "showStepperButtons", - "type": "boolean", + "type": "boolean | undefined", "complexType": { "original": "boolean", - "resolved": "boolean", + "resolved": "boolean | undefined", "references": {} }, "mutable": false, @@ -14405,6 +14922,9 @@ "values": [ { "type": "boolean" + }, + { + "type": "undefined" } ], "optional": true, @@ -14412,10 +14932,10 @@ }, { "name": "showTextAsTooltip", - "type": "boolean", + "type": "boolean | undefined", "complexType": { "original": "boolean", - "resolved": "boolean", + "resolved": "boolean | undefined", "references": {} }, "mutable": false, @@ -14426,6 +14946,9 @@ "values": [ { "type": "boolean" + }, + { + "type": "undefined" } ], "optional": true, @@ -14433,10 +14956,10 @@ }, { "name": "validText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -14447,6 +14970,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -14476,10 +15002,10 @@ }, { "name": "warningText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -14490,6 +15016,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -14707,6 +15236,7 @@ "reflectToAttr": false, "docs": "Total number of pages", "docsTags": [], + "default": "0", "values": [ { "type": "number" @@ -15003,10 +15533,10 @@ }, { "name": "heading", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -15017,6 +15547,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -15046,10 +15579,10 @@ }, { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -15060,6 +15593,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -15369,10 +15905,10 @@ }, { "name": "background", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string | undefined", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -15383,6 +15919,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": false, @@ -15390,10 +15929,10 @@ }, { "name": "color", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string | undefined", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -15410,6 +15949,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": false, @@ -15417,10 +15959,10 @@ }, { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string | undefined", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -15431,6 +15973,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": false, @@ -15460,10 +16005,10 @@ }, { "name": "pillColor", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string | undefined", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -15474,6 +16019,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": false, @@ -15602,10 +16150,10 @@ }, { "name": "heading", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -15616,6 +16164,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -15623,10 +16174,10 @@ }, { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string | undefined", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -15638,6 +16189,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": false, @@ -15645,10 +16199,10 @@ }, { "name": "notification", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -15659,6 +16213,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -15666,10 +16223,10 @@ }, { "name": "subheading", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -15680,6 +16237,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -15845,10 +16405,10 @@ }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -15859,6 +16419,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -15866,10 +16429,10 @@ }, { "name": "name", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -15880,6 +16443,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -15887,10 +16453,10 @@ }, { "name": "value", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -15901,6 +16467,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -16014,10 +16583,10 @@ }, { "name": "helperText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -16028,6 +16597,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -16035,10 +16607,10 @@ }, { "name": "infoText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -16049,6 +16621,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -16056,10 +16631,10 @@ }, { "name": "invalidText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -16070,6 +16645,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -16077,10 +16655,10 @@ }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -16091,6 +16669,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -16098,10 +16679,10 @@ }, { "name": "showTextAsTooltip", - "type": "boolean", + "type": "boolean | undefined", "complexType": { "original": "boolean", - "resolved": "boolean", + "resolved": "boolean | undefined", "references": {} }, "mutable": false, @@ -16112,6 +16693,9 @@ "values": [ { "type": "boolean" + }, + { + "type": "undefined" } ], "optional": true, @@ -16119,10 +16703,10 @@ }, { "name": "validText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -16133,6 +16717,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -16140,10 +16727,10 @@ }, { "name": "value", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -16154,6 +16741,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -16161,10 +16751,10 @@ }, { "name": "warningText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -16175,6 +16765,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -16377,10 +16970,10 @@ }, { "name": "helperText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -16396,6 +16989,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -16523,10 +17119,10 @@ }, { "name": "infoText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -16542,6 +17138,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -16549,10 +17148,10 @@ }, { "name": "invalidText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -16568,6 +17167,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -16575,10 +17177,10 @@ }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -16594,6 +17196,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -16628,10 +17233,10 @@ }, { "name": "name", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -16647,6 +17252,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -16703,10 +17311,10 @@ }, { "name": "selectedIndices", - "type": "string | string[]", + "type": "string | string[] | undefined", "complexType": { "original": "string | string[]", - "resolved": "string | string[]", + "resolved": "string | string[] | undefined", "references": {} }, "mutable": true, @@ -16726,6 +17334,9 @@ }, { "type": "string[]" + }, + { + "type": "undefined" } ], "optional": true, @@ -16733,10 +17344,10 @@ }, { "name": "showTextAsTooltip", - "type": "boolean", + "type": "boolean | undefined", "complexType": { "original": "boolean", - "resolved": "boolean", + "resolved": "boolean | undefined", "references": {} }, "mutable": false, @@ -16752,6 +17363,9 @@ "values": [ { "type": "boolean" + }, + { + "type": "undefined" } ], "optional": true, @@ -16759,10 +17373,10 @@ }, { "name": "validText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -16778,6 +17392,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -16815,10 +17432,10 @@ }, { "name": "warningText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -16834,6 +17451,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -17032,10 +17652,10 @@ "props": [ { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -17046,6 +17666,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -17187,10 +17810,10 @@ }, { "name": "error", - "type": "boolean | string", + "type": "boolean | string | undefined", "complexType": { "original": "boolean | string", - "resolved": "boolean | string", + "resolved": "boolean | string | undefined", "references": {} }, "mutable": false, @@ -17204,6 +17827,9 @@ }, { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -17211,10 +17837,10 @@ }, { "name": "marker", - "type": "number[]", + "type": "number[] | undefined", "complexType": { "original": "SliderMarker", - "resolved": "number[]", + "resolved": "number[] | undefined", "references": { "SliderMarker": { "location": "local", @@ -17230,6 +17856,9 @@ "values": [ { "type": "number[]" + }, + { + "type": "undefined" } ], "optional": true, @@ -17689,10 +18318,10 @@ }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -17703,9 +18332,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -17904,10 +18536,10 @@ "props": [ { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -17918,17 +18550,20 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -17939,9 +18574,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false } ], @@ -18000,10 +18638,10 @@ "props": [ { "name": "counter", - "type": "number", + "type": "number | undefined", "complexType": { "original": "number", - "resolved": "number", + "resolved": "number | undefined", "references": {} }, "mutable": false, @@ -18014,6 +18652,9 @@ "values": [ { "type": "number" + }, + { + "type": "undefined" } ], "optional": true, @@ -18471,10 +19112,10 @@ }, { "name": "helperText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -18485,6 +19126,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -18492,10 +19136,10 @@ }, { "name": "infoText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -18506,6 +19150,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -18513,10 +19160,10 @@ }, { "name": "invalidText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -18527,6 +19174,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -18534,10 +19184,10 @@ }, { "name": "label", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -18548,6 +19198,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -18555,10 +19208,10 @@ }, { "name": "maxLength", - "type": "number", + "type": "number | undefined", "complexType": { "original": "number", - "resolved": "number", + "resolved": "number | undefined", "references": {} }, "mutable": false, @@ -18569,6 +19222,9 @@ "values": [ { "type": "number" + }, + { + "type": "undefined" } ], "optional": true, @@ -18576,10 +19232,10 @@ }, { "name": "minLength", - "type": "number", + "type": "number | undefined", "complexType": { "original": "number", - "resolved": "number", + "resolved": "number | undefined", "references": {} }, "mutable": false, @@ -18590,6 +19246,9 @@ "values": [ { "type": "number" + }, + { + "type": "undefined" } ], "optional": true, @@ -18597,10 +19256,10 @@ }, { "name": "name", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -18611,6 +19270,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -18618,10 +19280,10 @@ }, { "name": "placeholder", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -18632,6 +19294,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -18724,10 +19389,10 @@ }, { "name": "showTextAsTooltip", - "type": "boolean", + "type": "boolean | undefined", "complexType": { "original": "boolean", - "resolved": "boolean", + "resolved": "boolean | undefined", "references": {} }, "mutable": false, @@ -18738,6 +19403,9 @@ "values": [ { "type": "boolean" + }, + { + "type": "undefined" } ], "optional": true, @@ -18745,10 +19413,10 @@ }, { "name": "textareaCols", - "type": "number", + "type": "number | undefined", "complexType": { "original": "number", - "resolved": "number", + "resolved": "number | undefined", "references": {} }, "mutable": false, @@ -18759,6 +19427,9 @@ "values": [ { "type": "number" + }, + { + "type": "undefined" } ], "optional": true, @@ -18766,10 +19437,10 @@ }, { "name": "textareaHeight", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -18780,6 +19451,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -18787,10 +19461,10 @@ }, { "name": "textareaRows", - "type": "number", + "type": "number | undefined", "complexType": { "original": "number", - "resolved": "number", + "resolved": "number | undefined", "references": {} }, "mutable": false, @@ -18801,6 +19475,9 @@ "values": [ { "type": "number" + }, + { + "type": "undefined" } ], "optional": true, @@ -18808,10 +19485,10 @@ }, { "name": "textareaWidth", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -18822,6 +19499,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -18829,10 +19509,10 @@ }, { "name": "validText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -18843,6 +19523,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -18872,10 +19555,10 @@ }, { "name": "warningText", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -18886,6 +19569,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -19254,10 +19940,10 @@ }, { "name": "showTimeReference", - "type": "boolean", + "type": "boolean | undefined", "complexType": { "original": "boolean", - "resolved": "boolean", + "resolved": "boolean | undefined", "references": {} }, "mutable": true, @@ -19279,6 +19965,9 @@ "values": [ { "type": "boolean" + }, + { + "type": "undefined" } ], "optional": true, @@ -19389,10 +20078,10 @@ }, { "name": "timeReference", - "type": "\"AM\" | \"PM\"", + "type": "\"AM\" | \"PM\" | undefined", "complexType": { "original": "'AM' | 'PM' | undefined", - "resolved": "\"AM\" | \"PM\"", + "resolved": "\"AM\" | \"PM\" | undefined", "references": {} }, "mutable": false, @@ -19408,6 +20097,9 @@ { "value": "PM", "type": "string" + }, + { + "type": "undefined" } ], "optional": false, @@ -19418,11 +20110,11 @@ { "name": "getCurrentTime", "returns": { - "type": "Promise", + "type": "Promise", "docs": "" }, "complexType": { - "signature": "() => Promise", + "signature": "() => Promise", "parameters": [], "references": { "Promise": { @@ -19430,9 +20122,9 @@ "id": "global::Promise" } }, - "return": "Promise" + "return": "Promise" }, - "signature": "getCurrentTime() => Promise", + "signature": "getCurrentTime() => Promise", "parameters": [], "docs": "Get the current time based on the wanted format", "docsTags": [] @@ -19569,10 +20261,10 @@ }, { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -19583,17 +20275,20 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { "name": "iconColor", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -19604,17 +20299,20 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { "name": "toastTitle", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -19625,9 +20323,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -19972,10 +20673,10 @@ }, { "name": "name", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -19986,6 +20687,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -20197,10 +20901,10 @@ }, { "name": "icon", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -20211,9 +20915,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -20392,10 +21099,10 @@ "props": [ { "name": "for", - "type": "HTMLElement | Promise | string", + "type": "HTMLElement | Promise | string | undefined", "complexType": { "original": "ElementReference", - "resolved": "HTMLElement | Promise | string", + "resolved": "HTMLElement | Promise | string | undefined", "references": { "ElementReference": { "location": "import", @@ -20418,6 +21125,9 @@ }, { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -20487,10 +21197,10 @@ }, { "name": "titleContent", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -20501,6 +21211,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -20601,10 +21314,10 @@ }, { "name": "renderItem", - "type": "(index: number, data: T, dataList: T[], context: TreeContext, update: (callback: UpdateCallback) => void) => HTMLElement", + "type": "((index: number, data: T, dataList: T[], context: TreeContext, update: (callback: UpdateCallback) => void) => HTMLElement) | undefined", "complexType": { "original": "(\n index: number,\n data: T,\n dataList: Array,\n context: TreeContext,\n update: (callback: UpdateCallback) => void\n ) => HTMLElement", - "resolved": "(index: number, data: T, dataList: T[], context: TreeContext, update: (callback: UpdateCallback) => void) => HTMLElement", + "resolved": "((index: number, data: T, dataList: T[], context: TreeContext, update: (callback: UpdateCallback) => void) => HTMLElement) | undefined", "references": { "T": { "location": "global", @@ -20636,7 +21349,10 @@ "docsTags": [], "values": [ { - "type": "(index: number, data: T, dataList: T[], context: TreeContext, update: (callback: UpdateCallback) => void) => HTMLElement" + "type": "((index: number, data: T, dataList: T[], context: TreeContext, update: (callback: UpdateCallback) => void) => HTMLElement)" + }, + { + "type": "undefined" } ], "optional": true, @@ -20768,10 +21484,10 @@ "props": [ { "name": "context", - "type": "TreeItemContext", + "type": "TreeItemContext | undefined", "complexType": { "original": "TreeItemContext", - "resolved": "TreeItemContext", + "resolved": "TreeItemContext | undefined", "references": { "TreeItemContext": { "location": "import", @@ -20787,6 +21503,9 @@ "values": [ { "type": "TreeItemContext" + }, + { + "type": "undefined" } ], "optional": true, @@ -20816,10 +21535,10 @@ }, { "name": "text", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -20830,6 +21549,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -21023,10 +21745,10 @@ }, { "name": "color", - "type": "\"alarm\" | \"contrast\" | \"inv-contrast\" | \"inv-soft\" | \"inv-std\" | \"inv-weak\" | \"soft\" | \"std\" | \"weak\"", + "type": "\"alarm\" | \"contrast\" | \"inv-contrast\" | \"inv-soft\" | \"inv-std\" | \"inv-weak\" | \"soft\" | \"std\" | \"weak\" | undefined", "complexType": { "original": "TypographyColors", - "resolved": "\"alarm\" | \"contrast\" | \"inv-contrast\" | \"inv-soft\" | \"inv-std\" | \"inv-weak\" | \"soft\" | \"std\" | \"weak\"", + "resolved": "\"alarm\" | \"contrast\" | \"inv-contrast\" | \"inv-soft\" | \"inv-std\" | \"inv-weak\" | \"soft\" | \"std\" | \"weak\" | undefined", "references": { "TypographyColors": { "location": "local", @@ -21082,6 +21804,9 @@ { "value": "weak", "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -21089,10 +21814,10 @@ }, { "name": "format", - "type": "TypographyFormatLabel | TypographyFormatBody | TypographyFormatDisplay | TypographyFormatHeading | TypographyFormatCode", + "type": "TypographyFormat | undefined", "complexType": { "original": "TypographyFormat", - "resolved": "TypographyFormatLabel | TypographyFormatBody | TypographyFormatDisplay | TypographyFormatHeading | TypographyFormatCode", + "resolved": "TypographyFormat | undefined", "references": { "TypographyFormat": { "location": "local", @@ -21108,19 +21833,10 @@ "docsTags": [], "values": [ { - "type": "TypographyFormatLabel" - }, - { - "type": "TypographyFormatBody" + "type": "TypographyFormat" }, { - "type": "TypographyFormatDisplay" - }, - { - "type": "TypographyFormatHeading" - }, - { - "type": "TypographyFormatCode" + "type": "undefined" } ], "optional": true, @@ -21128,10 +21844,10 @@ }, { "name": "textColor", - "type": "\"alarm\" | \"contrast\" | \"inv-contrast\" | \"inv-soft\" | \"inv-std\" | \"inv-weak\" | \"soft\" | \"std\" | \"weak\"", + "type": "\"alarm\" | \"contrast\" | \"inv-contrast\" | \"inv-soft\" | \"inv-std\" | \"inv-weak\" | \"soft\" | \"std\" | \"weak\" | undefined", "complexType": { "original": "TypographyColors", - "resolved": "\"alarm\" | \"contrast\" | \"inv-contrast\" | \"inv-soft\" | \"inv-std\" | \"inv-weak\" | \"soft\" | \"std\" | \"weak\"", + "resolved": "\"alarm\" | \"contrast\" | \"inv-contrast\" | \"inv-soft\" | \"inv-std\" | \"inv-weak\" | \"soft\" | \"std\" | \"weak\" | undefined", "references": { "TypographyColors": { "location": "local", @@ -21181,6 +21897,9 @@ { "value": "weak", "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -21260,10 +21979,10 @@ "props": [ { "name": "accept", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -21274,6 +21993,9 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], "optional": true, @@ -21609,10 +22331,10 @@ "props": [ { "name": "message", - "type": "string", + "type": "string | undefined", "complexType": { "original": "string", - "resolved": "string", + "resolved": "string | undefined", "references": {} }, "mutable": false, @@ -21623,9 +22345,12 @@ "values": [ { "type": "string" + }, + { + "type": "undefined" } ], - "optional": false, + "optional": true, "required": false }, { @@ -22209,7 +22934,7 @@ "path": "src/components/utils/element-reference.ts" }, "src/components/utils/make-ref.ts::MakeRef": { - "declaration": "{\n (ref: T | undefined): void;\n current: T | null;\n waitForCurrent(): Promise;\n}", + "declaration": "{\n (ref: T | undefined | null): void;\n current: T | null;\n waitForCurrent(): Promise;\n}", "docstring": "", "path": "src/components/utils/make-ref.ts" }, diff --git a/packages/core/package.json b/packages/core/package.json index 02bce9bf977..3f29a8e38a1 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -84,7 +84,6 @@ "rimraf": "^5.0.5", "sass": "^1.58.3", "start-server-and-test": "^1.14.0", - "strict-check": "workspace:*", "ts-node": "^10.0.0", "typescript": "^5.3.3" }, diff --git a/packages/core/src/components.d.ts b/packages/core/src/components.d.ts index ff22f7b7e02..6e0f414b7f6 100644 --- a/packages/core/src/components.d.ts +++ b/packages/core/src/components.d.ts @@ -131,7 +131,7 @@ export namespace Components { /** * Define application switch configuration */ - "appSwitchConfig": AppSwitchConfiguration; + "appSwitchConfig"?: AppSwitchConfiguration; /** * Supported layouts */ @@ -143,7 +143,7 @@ export namespace Components { /** * Application theme */ - "theme": IxTheme; + "theme"?: IxTheme; /** * Use the system appearance dark or light */ @@ -163,7 +163,7 @@ export namespace Components { interface IxApplicationSidebar { } interface IxApplicationSwitchModal { - "config": AppSwitchConfiguration; + "config"?: AppSwitchConfiguration; } /** * @since 2.0.0 @@ -192,7 +192,7 @@ export namespace Components { /** * Application name */ - "applicationName": string; + "applicationName"?: string; /** * Supported layouts * @example ['sm', 'md'] @@ -256,12 +256,12 @@ export namespace Components { /** * Icon to be displayed next ot the label */ - "icon": string; + "icon"?: string; "isDropdownTrigger": boolean; /** * Breadcrumb label */ - "label": string; + "label"?: string; "showChevron": boolean; "visible": boolean; } @@ -537,7 +537,7 @@ export namespace Components { /** * Show icon */ - "icon": string; + "icon"?: string; /** * Show chip with outline style */ @@ -842,7 +842,7 @@ export namespace Components { /** * Get the currently selected date-range. */ - "getCurrentDate": () => Promise<{ from: string; to: string; }>; + "getCurrentDate": () => Promise<{ from: string | undefined; to: string | undefined; }>; /** * Text of date select button * @since 2.1.0 @@ -1128,7 +1128,7 @@ export namespace Components { /** * Display name of the header */ - "label": string; + "label"?: string; } interface IxDropdownItem { /** @@ -1171,7 +1171,7 @@ export namespace Components { /** * Optional empty state action */ - "action": string; + "action"?: string; /** * Empty state header */ @@ -1179,7 +1179,7 @@ export namespace Components { /** * Optional empty state icon */ - "icon": string; + "icon"?: string; /** * Optional empty state layout - one of 'large', 'compact' or 'compactBreak' */ @@ -1187,7 +1187,7 @@ export namespace Components { /** * Optional empty state sub header */ - "subHeader": string; + "subHeader"?: string; } interface IxEventList { /** @@ -1357,7 +1357,7 @@ export namespace Components { /** * Variation of the Flip */ - "state": FlipTileState; + "state"?: FlipTileState; /** * Width interpreted as REM * @since 1.5.0 @@ -1463,12 +1463,12 @@ export namespace Components { * Accessibility label for the icon button Will be set as aria-label on the nested HTML button element * @since 2.1.0 */ - "a11yLabel": string; + "a11yLabel"?: string; /** * Color of icon in button * @deprecated since 2.1.0 use `icon-color` */ - "color": string; + "color"?: string; /** * Disabled */ @@ -1480,11 +1480,11 @@ export namespace Components { /** * Icon name */ - "icon": string; + "icon"?: string; /** * Color of icon in button */ - "iconColor": string; + "iconColor"?: string; /** * Loading button * @since 2.0.0 @@ -1528,7 +1528,7 @@ export namespace Components { /** * Icon name */ - "icon": string; + "icon"?: string; /** * Loading button */ @@ -1647,7 +1647,7 @@ export namespace Components { /** * Optional key value icon */ - "icon": string; + "icon"?: string; /** * Key value label */ @@ -1659,7 +1659,7 @@ export namespace Components { /** * Optional key value text value */ - "value": string; + "value"?: string; } /** * @since 1.6.0 @@ -1671,11 +1671,11 @@ export namespace Components { "striped": boolean; } interface IxKpi { - "label": string; + "label"?: string; "orientation": 'horizontal' | 'vertical'; "state": 'neutral' | 'warning' | 'alarm'; - "unit": string; - "value": string | number; + "unit"?: string; + "value"?: string | number; } /** * @since 2.6.0 @@ -1721,13 +1721,13 @@ export namespace Components { /** * Url for the link button */ - "url": string; + "url"?: string; } interface IxMapNavigation { /** * Application name */ - "applicationName": string; + "applicationName"?: string; /** * Close current shown overlay * @deprecated Will be removed in 2.0.0. Use slot based approach @@ -1740,7 +1740,7 @@ export namespace Components { /** * Navigation title */ - "navigationTitle": string; + "navigationTitle"?: string; /** * Open a overlay inside content area * @deprecated Will be removed in 2.0.0. Use slot based approach @@ -1762,19 +1762,19 @@ export namespace Components { * Color of icon * @deprecated since 2.1.0. Use `icon-color` */ - "color": string; + "color"?: string; /** * Icon of overlay */ - "icon": string; + "icon"?: string; /** * Color of icon */ - "iconColor": string; + "iconColor"?: string; /** * Title of overlay */ - "name": string; + "name"?: string; } interface IxMenu { /** @@ -1857,7 +1857,7 @@ export namespace Components { /** * Active tab */ - "activeTabLabel": string; + "activeTabLabel"?: string; /** * Content of the header */ @@ -1871,13 +1871,13 @@ export namespace Components { /** * About Item label */ - "label": string; + "label"?: string; } interface IxMenuAboutNews { /** * Subtitle of the about news */ - "aboutItemLabel": string; + "aboutItemLabel"?: string; /** * Internal */ @@ -1886,7 +1886,7 @@ export namespace Components { /** * Title of the about news */ - "label": string; + "label"?: string; /** * Bottom offset */ @@ -1900,7 +1900,7 @@ export namespace Components { /** * Second line of text */ - "bottom": string; + "bottom"?: string; /** * Use for translation */ @@ -1909,12 +1909,12 @@ export namespace Components { * Display a avatar image * @since 1.4.0 */ - "image": string; + "image"?: string; /** * Display the initials of the user. Will be overwritten by image * @since 1.4.0 */ - "initials": string; + "initials"?: string; /** * Control the visibility of the logout button * @since 2.1.0 @@ -1923,18 +1923,18 @@ export namespace Components { /** * First line of text */ - "top": string; + "top"?: string; } interface IxMenuAvatarItem { "getDropdownItemElement": () => Promise; /** * Avatar dropdown icon */ - "icon": string; + "icon"?: string; /** * Avatar dropdown label */ - "label": string; + "label"?: string; } /** * @since 2.0.0 @@ -1957,7 +1957,7 @@ export namespace Components { /** * Controls which icon is displayed */ - "breakpoint": Breakpoint; + "breakpoint"?: Breakpoint; /** * Whether the menu expand icon displays the expanded state or not */ @@ -2014,7 +2014,7 @@ export namespace Components { /** * Active tab */ - "activeTabLabel": string; + "activeTabLabel"?: string; /** * Label of first tab */ @@ -2028,7 +2028,7 @@ export namespace Components { /** * Settings Item label */ - "label": string; + "label"?: string; } interface IxMessageBar { /** @@ -2052,7 +2052,7 @@ export namespace Components { /** * Is called before the modal is dismissed. - Return `true` to proceed in dismissing the modal - Return `false` to abort in dismissing the modal */ - "beforeDismiss": (reason?: any) => boolean | Promise; + "beforeDismiss"?: (reason?: any) => boolean | Promise; /** * Centered modal */ @@ -2656,7 +2656,7 @@ export namespace Components { /** * Button label */ - "label": string; + "label"?: string; /** * Button outline variant */ @@ -2682,11 +2682,11 @@ export namespace Components { /** * Dropdown icon */ - "icon": string; + "icon"?: string; /** * Dropdown label */ - "label": string; + "label"?: string; } interface IxTabItem { /** @@ -2859,7 +2859,7 @@ export namespace Components { /** * Get the current time based on the wanted format */ - "getCurrentTime": () => Promise; + "getCurrentTime": () => Promise; /** * @deprecated Not supported since 2.0.0. */ @@ -2918,15 +2918,15 @@ export namespace Components { /** * Icon of toast */ - "icon": string; + "icon"?: string; /** * Icon color of toast */ - "iconColor": string; + "iconColor"?: string; /** * Toast title */ - "toastTitle": string; + "toastTitle"?: string; /** * Toast type */ @@ -3004,7 +3004,7 @@ export namespace Components { /** * Icon name */ - "icon": string; + "icon"?: string; /** * Loading button */ @@ -3168,7 +3168,7 @@ export namespace Components { /** * Message of the tooltip */ - "message": string; + "message"?: string; /** * Placement of the tooltip */ @@ -5706,7 +5706,7 @@ declare namespace LocalJSX { /** * Grid item name */ - "itemName"?: string; + "itemName": string; } /** * @since 2.6.0 diff --git a/packages/core/src/components/application-header/application-switch-modal/application-switch-modal.tsx b/packages/core/src/components/application-header/application-switch-modal/application-switch-modal.tsx index 47df4941e8f..262e6f8a538 100644 --- a/packages/core/src/components/application-header/application-switch-modal/application-switch-modal.tsx +++ b/packages/core/src/components/application-header/application-switch-modal/application-switch-modal.tsx @@ -85,7 +85,7 @@ export class ApplicationSwitchModal { @Element() hostElement!: HTMLIxApplicationSwitchModalElement; /** @internal */ - @Prop() config: AppSwitchConfiguration; + @Prop() config?: AppSwitchConfiguration; componentWillLoad() { if (!this.config) { diff --git a/packages/core/src/components/application/application.tsx b/packages/core/src/components/application/application.tsx index e3cc45f69f2..3016e2364f1 100644 --- a/packages/core/src/components/application/application.tsx +++ b/packages/core/src/components/application/application.tsx @@ -29,12 +29,12 @@ import { Disposable } from '../utils/typed-event'; shadow: true, }) export class Application { - @Element() hostElement: HTMLIxApplicationElement; + @Element() hostElement!: HTMLIxApplicationElement; /** * Application theme */ - @Prop() theme: IxTheme; + @Prop() theme?: IxTheme; /** * Use the system appearance dark or light @@ -67,24 +67,24 @@ export class Application { /** * Define application switch configuration */ - @Prop() appSwitchConfig: AppSwitchConfiguration; + @Prop() appSwitchConfig?: AppSwitchConfiguration; @State() breakpoint: Breakpoint = 'lg'; @State() applicationSidebarSlotted = false; - private contextProvider: ContextProvider; + private contextProvider?: ContextProvider; get menu(): HTMLIxMenuElement | null { return this.hostElement.querySelector('ix-menu'); } get applicationSidebarSlot() { - return this.hostElement.shadowRoot.querySelector( + return this.hostElement.shadowRoot!.querySelector( '.application-sidebar slot' ) as HTMLSlotElement; } - private modeDisposable: Disposable; + private modeDisposable?: Disposable; private onContentClick() { if (menuController.isPinned) { @@ -148,6 +148,10 @@ export class Application { @Watch('appSwitchConfig') @Watch('applicationSidebarSlotted') onApplicationSidebarChange() { + if (!this.contextProvider) { + console.error('Context provider not available'); + return; + } this.contextProvider.emit({ hideHeader: false, host: 'basic-navigation', diff --git a/packages/core/src/components/avatar/avatar.tsx b/packages/core/src/components/avatar/avatar.tsx index 1e6cbfc55c6..694acb8a4b3 100644 --- a/packages/core/src/components/avatar/avatar.tsx +++ b/packages/core/src/components/avatar/avatar.tsx @@ -180,7 +180,7 @@ export class Avatar { (this.dropdownElement = ref)} + ref={(ref) => (this.dropdownElement = ref as HTMLIxDropdownElement)} trigger={this.resolveAvatarTrigger()} class="avatar-dropdown" onClick={(e) => this.onDropdownClick(e)} @@ -200,7 +200,7 @@ export class Avatar { )} this.slottedChanged()} - ref={(ref: HTMLSlotElement) => (this.slotElement = ref)} + ref={(ref) => (this.slotElement = ref as HTMLSlotElement)} > diff --git a/packages/core/src/components/basic-navigation/basic-navigation.tsx b/packages/core/src/components/basic-navigation/basic-navigation.tsx index 7bfc617d103..e1a242114a6 100644 --- a/packages/core/src/components/basic-navigation/basic-navigation.tsx +++ b/packages/core/src/components/basic-navigation/basic-navigation.tsx @@ -21,12 +21,12 @@ import { Disposable } from '../utils/typed-event'; shadow: true, }) export class BasicNavigation { - @Element() hostElement: HTMLIxBasicNavigationElement; + @Element() hostElement!: HTMLIxBasicNavigationElement; /** * Application name */ - @Prop() applicationName: string; + @Prop() applicationName?: string; /** * Hide application header. Will disable responsive feature of basic navigation. @@ -72,8 +72,8 @@ export class BasicNavigation { return this.hostElement.querySelector('ix-menu'); } - private modeDisposable: Disposable; - private contextProvider: ContextProvider; + private modeDisposable?: Disposable; + private contextProvider?: ContextProvider; private onContentClick() { if (menuController.isPinned) { diff --git a/packages/core/src/components/breadcrumb-item/breadcrumb-item.tsx b/packages/core/src/components/breadcrumb-item/breadcrumb-item.tsx index e5d4ab699c9..30363e66a0a 100644 --- a/packages/core/src/components/breadcrumb-item/breadcrumb-item.tsx +++ b/packages/core/src/components/breadcrumb-item/breadcrumb-item.tsx @@ -40,12 +40,12 @@ export class BreadcrumbItem { /** * Breadcrumb label */ - @Prop() label: string; + @Prop() label?: string; /** * Icon to be displayed next ot the label */ - @Prop() icon: string; + @Prop() icon?: string; /**@internal */ @Prop() ghost: boolean = true; @@ -60,7 +60,7 @@ export class BreadcrumbItem { @Prop() isDropdownTrigger = false; /**@internal */ - @Event() itemClick: EventEmitter; + @Event() itemClick!: EventEmitter; @State() a11y: any; diff --git a/packages/core/src/components/button/test/button.spec.ts b/packages/core/src/components/button/test/button.spec.ts index 5a310f7652c..7ab9b6be75f 100644 --- a/packages/core/src/components/button/test/button.spec.ts +++ b/packages/core/src/components/button/test/button.spec.ts @@ -17,7 +17,7 @@ describe('button', () => { }); await page.waitForChanges(); - const btn = page.doc.querySelector('ix-button'); + const btn = page.doc.querySelector('ix-button')!; expect(btn.className).toContain('disabled'); }); @@ -35,8 +35,8 @@ describe('button', () => { await page.waitForChanges(); const btn = page.doc - .querySelector('ix-button') - .shadowRoot.querySelector('button'); + .querySelector('ix-button')! + .shadowRoot!.querySelector('button'); const shadowButton = page.doc.querySelector( 'ix-button > button' ) as HTMLButtonElement; @@ -59,8 +59,8 @@ describe('button', () => { await page.waitForChanges(); const btn = page.doc - .querySelector('ix-button[type="submit"]') - .shadowRoot.querySelector('button'); + .querySelector('ix-button[type="submit"]')! + .shadowRoot!.querySelector('button')!; const shadowButton = page.doc.querySelector( 'ix-button[type="submit"] > button' ) as HTMLButtonElement; diff --git a/packages/core/src/components/category-filter/filter-state.ts b/packages/core/src/components/category-filter/filter-state.ts index 66935f10825..8c168dda431 100644 --- a/packages/core/src/components/category-filter/filter-state.ts +++ b/packages/core/src/components/category-filter/filter-state.ts @@ -9,10 +9,10 @@ import { LogicalFilterOperator } from './logical-filter-operator'; export class FilterState { - public tokens: string[]; + public tokens: string[] = []; public categories: { id: string; value: string; operator: LogicalFilterOperator; - }[]; + }[] = []; } diff --git a/packages/core/src/components/chip/chip.tsx b/packages/core/src/components/chip/chip.tsx index e3f11518625..282b30c30b1 100644 --- a/packages/core/src/components/chip/chip.tsx +++ b/packages/core/src/components/chip/chip.tsx @@ -23,7 +23,7 @@ import { shadow: true, }) export class Chip { - @Element() el: HTMLIxChipElement; + @Element() hostElement!: HTMLIxChipElement; /** * Chip variant @@ -52,7 +52,7 @@ export class Chip { /** * Show icon */ - @Prop() icon: string; + @Prop() icon?: string; /** * Custom background color. @@ -85,7 +85,7 @@ export class Chip { * * @since 1.5.0 */ - @Event() closeChip: EventEmitter; + @Event() closeChip!: EventEmitter; private getCloseButton() { return ( @@ -127,7 +127,7 @@ export class Chip { return ( { const normalChipElement = page.locator('ix-chip').first(); const outlineChipElement = page.locator('ix-chip').last(); - const normalChipSize = await normalChipElement.boundingBox(); - const outlineChipSize = await outlineChipElement.boundingBox(); + const normalChipSize = (await normalChipElement.boundingBox()) as { + x: number; + y: number; + width: number; + height: number; + }; + const outlineChipSize = (await outlineChipElement.boundingBox()) as { + x: number; + y: number; + width: number; + height: number; + }; + + expect(normalChipSize).not.toBeNull(); + expect(outlineChipSize).not.toBeNull(); expect(normalChipSize.width).toEqual(outlineChipSize.width); }); diff --git a/packages/core/src/components/css-grid/css-grid-item.tsx b/packages/core/src/components/css-grid/css-grid-item.tsx index b0c43179db1..b9cf13bd98c 100644 --- a/packages/core/src/components/css-grid/css-grid-item.tsx +++ b/packages/core/src/components/css-grid/css-grid-item.tsx @@ -21,10 +21,10 @@ export class CssGridItem { /** * Grid item name */ - @Prop() itemName: string; + @Prop() itemName!: string; render() { - const style = {}; + const style: Record = {}; style['grid-area'] = this.itemName; return ( diff --git a/packages/core/src/components/date-dropdown/test/date-dropdown.ct.ts b/packages/core/src/components/date-dropdown/test/date-dropdown.ct.ts index 326e6dc0321..e7a55de52cb 100644 --- a/packages/core/src/components/date-dropdown/test/date-dropdown.ct.ts +++ b/packages/core/src/components/date-dropdown/test/date-dropdown.ct.ts @@ -35,7 +35,8 @@ test.describe('date dropdown tests', () => { { id: 'no-time', label: 'No time limit', - from: undefined, + // TODO (IX-1870): refactor event signatures to match internal logic with undefined values + from: undefined as any, to: today.toFormat(format), }, { diff --git a/packages/core/src/components/date-picker/date-picker.tsx b/packages/core/src/components/date-picker/date-picker.tsx index e85985aac58..26df7ce1f71 100644 --- a/packages/core/src/components/date-picker/date-picker.tsx +++ b/packages/core/src/components/date-picker/date-picker.tsx @@ -381,7 +381,7 @@ export class DatePicker implements IxDatePickerComponent { private async onDone() { const date = await this.getCurrentDate(); // TODO (IX-1870): refactor event signatures to match internal logic with undefined values - this.dateSelect.emit(date); + this.dateSelect.emit(date as DateChangeEvent); } private calculateCalendar() { @@ -576,10 +576,10 @@ export class DatePicker implements IxDatePickerComponent { private onDateChange() { this.getCurrentDate().then((date) => { // TODO (IX-1870): refactor event signatures to match internal logic with undefined values - this.dateChange.emit(date); + this.dateChange.emit(date as DateChangeEvent); if (this.range) { // TODO (IX-1870): refactor event signatures to match internal logic with undefined values - this.dateRangeChange.emit(date); + this.dateRangeChange.emit(date as DateChangeEvent); } }); } diff --git a/packages/core/src/components/dropdown-header/dropdown-header.tsx b/packages/core/src/components/dropdown-header/dropdown-header.tsx index 1076d6fe4a8..04eba545599 100644 --- a/packages/core/src/components/dropdown-header/dropdown-header.tsx +++ b/packages/core/src/components/dropdown-header/dropdown-header.tsx @@ -21,7 +21,7 @@ export class DropdownHeader { /** * Display name of the header */ - @Prop() label: string; + @Prop() label?: string; render() { return ( diff --git a/packages/core/src/components/dropdown/test/dropdown.ct.ts b/packages/core/src/components/dropdown/test/dropdown.ct.ts index 8bae36fc263..2bf06045bde 100644 --- a/packages/core/src/components/dropdown/test/dropdown.ct.ts +++ b/packages/core/src/components/dropdown/test/dropdown.ct.ts @@ -599,8 +599,8 @@ test.describe('resolve during element connect', () => { test('attach and detach from dom', async ({ page }) => { await page.evaluate(() => { - const dropdown = document.querySelector('ix-dropdown'); - const mount = document.querySelector('#mount'); + const dropdown = document.querySelector('ix-dropdown')!; + const mount = document.querySelector('#mount')!; mount.removeChild(dropdown); mount.append(dropdown); }); @@ -614,7 +614,7 @@ test.describe('resolve during element connect', () => { test('add element within runtime', async ({ page }) => { await page.evaluate(async () => { const divElement = document.createElement('div'); - const mount = document.querySelector('#mount'); + const mount = document.querySelector('#mount')!; mount.appendChild(divElement); }); @@ -640,7 +640,7 @@ test('Child dropdown disconnects', async ({ mount, page }) => { await expect(dropdown).toBeVisible(); await dropdown.evaluate((dd) => { - dd.removeChild(dd.querySelector('ix-dropdown-button')); + dd.removeChild(dd.querySelector('ix-dropdown-button')!); }); await trigger.click(); diff --git a/packages/core/src/components/empty-state/empty-state.tsx b/packages/core/src/components/empty-state/empty-state.tsx index ee840a7c735..2042fd05f18 100644 --- a/packages/core/src/components/empty-state/empty-state.tsx +++ b/packages/core/src/components/empty-state/empty-state.tsx @@ -28,7 +28,7 @@ export class EmptyState { /** * Optional empty state icon */ - @Prop() icon: string; + @Prop() icon?: string; /** * Empty state header @@ -38,17 +38,17 @@ export class EmptyState { /** * Optional empty state sub header */ - @Prop() subHeader: string; + @Prop() subHeader?: string; /** * Optional empty state action */ - @Prop() action: string; + @Prop() action?: string; /** * Empty state action click event */ - @Event() actionClick: EventEmitter; + @Event() actionClick!: EventEmitter; render() { return ( diff --git a/packages/core/src/components/expanding-search/test/expanding-search.spec.tsx b/packages/core/src/components/expanding-search/test/expanding-search.spec.tsx index a92fe49300f..bcce3cc3f5d 100644 --- a/packages/core/src/components/expanding-search/test/expanding-search.spec.tsx +++ b/packages/core/src/components/expanding-search/test/expanding-search.spec.tsx @@ -21,11 +21,12 @@ describe('ix-expanding-search', () => { components: [ExpandingSearch], html: '', }); - expandingSearch = page.doc.querySelector('ix-expanding-search'); - expandingSearch.shadowRoot.querySelector('[data-testid="button"]'); - input = expandingSearch.shadowRoot.querySelector('[data-testid="input"]'); - expandingSearch.shadowRoot.querySelector('[data-testid="input-wrapper"]'); - expandingSearch.shadowRoot.querySelector('input').focus = jest.fn(); + expandingSearch = page.doc.querySelector('ix-expanding-search')!; + const shadowRoot = expandingSearch.shadowRoot!; + shadowRoot.querySelector('[data-testid="button"]'); + input = shadowRoot.querySelector('[data-testid="input"]'); + shadowRoot.querySelector('[data-testid="input-wrapper"]'); + shadowRoot.querySelector('input')!.focus = jest.fn(); }); it("emits an event on change and returns 'this.value'", async () => { diff --git a/packages/core/src/components/filter-chip/filter-chip.tsx b/packages/core/src/components/filter-chip/filter-chip.tsx index d6c85b07178..937af594f6b 100644 --- a/packages/core/src/components/filter-chip/filter-chip.tsx +++ b/packages/core/src/components/filter-chip/filter-chip.tsx @@ -23,7 +23,7 @@ import { shadow: true, }) export class FilterChip { - @Element() el: HTMLIxFilterChipElement; + @Element() hostElement!: HTMLIxFilterChipElement; /** * If true the filter chip will be in disabled state @@ -39,7 +39,7 @@ export class FilterChip { /** * Close clicked */ - @Event() closeClick: EventEmitter; + @Event() closeClick!: EventEmitter; private onCloseClick(event: Event) { event.preventDefault(); @@ -51,7 +51,7 @@ export class FilterChip { return (
diff --git a/packages/core/src/components/flip-tile/flip-tile.tsx b/packages/core/src/components/flip-tile/flip-tile.tsx index bc55308aa4b..2bd9146bb08 100644 --- a/packages/core/src/components/flip-tile/flip-tile.tsx +++ b/packages/core/src/components/flip-tile/flip-tile.tsx @@ -22,7 +22,7 @@ export class FlipTile { /** * Variation of the Flip */ - @Prop() state: FlipTileState; + @Prop() state?: FlipTileState; /** * Height interpreted as REM @@ -37,12 +37,11 @@ export class FlipTile { @Prop() width: number | 'auto' = 16; @State() index = 0; - @State() isFlipAnimationActive: boolean; + @State() isFlipAnimationActive: boolean = false; private readonly ANIMATION_DURATION = 150; - private contentItems: Array; - - private observer: MutationObserver; + private contentItems: Array = []; + private observer?: MutationObserver; componentDidLoad() { this.observer = createMutationObserver(() => this.updateContentItems()); diff --git a/packages/core/src/components/group/group-context-menu.tsx b/packages/core/src/components/group/group-context-menu.tsx index 7c365a95f3c..85bfcca8ec5 100644 --- a/packages/core/src/components/group/group-context-menu.tsx +++ b/packages/core/src/components/group/group-context-menu.tsx @@ -33,7 +33,7 @@ export class GroupContextMenu { } private onSlotChange() { - const slot = this.hostElement.shadowRoot.querySelector('slot'); + const slot = this.hostElement.shadowRoot!.querySelector('slot'); if (!slot) { return; } diff --git a/packages/core/src/components/group/group.tsx b/packages/core/src/components/group/group.tsx index 48a39d8b50c..d49e1eb0b25 100644 --- a/packages/core/src/components/group/group.tsx +++ b/packages/core/src/components/group/group.tsx @@ -243,7 +243,7 @@ export class Group { name={ this.collapsed ? 'chevron-right-small' : 'chevron-down-small' } - onClick={(e) => this.onExpandClick(e)} + onClick={(event: Event) => this.onExpandClick(event)} >
diff --git a/packages/core/src/components/icon-button/icon-button.tsx b/packages/core/src/components/icon-button/icon-button.tsx index 901684e0425..37ba549b4e4 100644 --- a/packages/core/src/components/icon-button/icon-button.tsx +++ b/packages/core/src/components/icon-button/icon-button.tsx @@ -21,7 +21,7 @@ export type IconButtonVariant = ButtonVariant; shadow: true, }) export class IconButton { - @Element() hostElement: HTMLIxIconButtonElement; + @Element() hostElement!: HTMLIxIconButtonElement; /** * Accessibility label for the icon button @@ -29,7 +29,7 @@ export class IconButton { * * @since 2.1.0 */ - @Prop({ attribute: 'a11y-label' }) a11yLabel: string; + @Prop({ attribute: 'a11y-label' }) a11yLabel?: string; /** * Variant of button @@ -40,22 +40,22 @@ export class IconButton { /** * Button outline */ - @Prop() outline: boolean; + @Prop() outline: boolean = false; /** * Button invisible */ - @Prop() ghost: boolean; + @Prop() ghost: boolean = false; /** * Button in oval shape */ - @Prop() oval: boolean; + @Prop() oval: boolean = false; /** * Icon name */ - @Prop() icon: string; + @Prop() icon?: string; /** * Size of icon in button @@ -70,12 +70,12 @@ export class IconButton { * @deprecated since 2.1.0 use `icon-color` */ // eslint-disable-next-line @stencil-community/reserved-member-names - @Prop() color: string; + @Prop() color?: string; /** * Color of icon in button */ - @Prop() iconColor: string; + @Prop() iconColor?: string; /** * Disabled @@ -97,7 +97,7 @@ export class IconButton { /** * Temp. workaround until stencil issue is fixed (https://github.com/ionic-team/stencil/issues/2284) */ - submitButtonElement: HTMLButtonElement; + submitButtonElement!: HTMLButtonElement; componentDidLoad() { if (this.type === 'submit') { diff --git a/packages/core/src/components/icon-button/test/icon-button.spec.ts b/packages/core/src/components/icon-button/test/icon-button.spec.ts index 21ef386b1df..62c5bbf0b57 100644 --- a/packages/core/src/components/icon-button/test/icon-button.spec.ts +++ b/packages/core/src/components/icon-button/test/icon-button.spec.ts @@ -9,6 +9,12 @@ import { newSpecPage } from '@stencil/core/testing'; import { IconButton } from '../icon-button'; +function queryButton(page: any) { + return page.doc + .querySelector('ix-icon-button') + .shadowRoot.querySelector('button'); +} + describe('icon-button', () => { it('renders', async () => { const page = await newSpecPage({ @@ -17,7 +23,7 @@ describe('icon-button', () => { }); await page.waitForChanges(); - const btn = page.doc.querySelector('ix-icon-button'); + const btn = page.doc.querySelector('ix-icon-button')!; expect(btn.className).toContain('disabled'); }); @@ -34,9 +40,7 @@ describe('icon-button', () => { await page.waitForChanges(); - const btn = page.doc - .querySelector('ix-icon-button[type="submit"]') - .shadowRoot.querySelector('button'); + const btn = queryButton(page); const shadowButton = page.doc.querySelector( 'ix-icon-button[type="submit"] > button' ) as HTMLButtonElement; @@ -68,9 +72,7 @@ describe('icon-button', () => { await page.waitForChanges(); - const btn = page.doc - .querySelector('ix-icon-button') - .shadowRoot.querySelector('button'); + const btn = queryButton(page); const shadowButton = page.doc.querySelector( 'ix-icon-button > button' ) as HTMLButtonElement; @@ -88,9 +90,7 @@ describe('icon-button', () => { await page.waitForChanges(); - const button = page.doc - .querySelector('ix-icon-button') - .shadowRoot.querySelector('button'); + const button = queryButton(page); expect(button).toHaveAttribute('aria-label'); expect(button.getAttribute('aria-label')).toBe('Rocket'); @@ -104,9 +104,7 @@ describe('icon-button', () => { await page.waitForChanges(); - const button = page.doc - .querySelector('ix-icon-button') - .shadowRoot.querySelector('button'); + const button = queryButton(page); expect(button).toHaveAttribute('aria-label'); expect(button.getAttribute('aria-label')).toBe('About'); @@ -120,9 +118,7 @@ describe('icon-button', () => { await page.waitForChanges(); - const button = page.doc - .querySelector('ix-icon-button') - .shadowRoot.querySelector('button'); + const button = queryButton(page); expect(button).toHaveAttribute('aria-label'); expect(button.getAttribute('aria-label')).toBe('About Battery'); @@ -136,9 +132,7 @@ describe('icon-button', () => { await page.waitForChanges(); - const button = page.doc - .querySelector('ix-icon-button') - .shadowRoot.querySelector('button'); + const button = queryButton(page); expect(button).toHaveAttribute('aria-label'); expect(button.getAttribute('aria-label')).toBe('Battery Percentage'); @@ -152,9 +146,7 @@ describe('icon-button', () => { await page.waitForChanges(); - const button = page.doc - .querySelector('ix-icon-button') - .shadowRoot.querySelector('button'); + const button = queryButton(page); expect(button).toHaveAttribute('aria-label'); expect(button.getAttribute('aria-label')).toBe('Battery 100 Percentage'); @@ -168,9 +160,7 @@ describe('icon-button', () => { await page.waitForChanges(); - const button = page.doc - .querySelector('ix-icon-button') - .shadowRoot.querySelector('button'); + const button = queryButton(page); expect(button).toHaveAttribute('aria-label'); expect(button.getAttribute('aria-label')).toBe('Text Circle Rectangle'); @@ -184,9 +174,7 @@ describe('icon-button', () => { await page.waitForChanges(); - const button = page.doc - .querySelector('ix-icon-button') - .shadowRoot.querySelector('button'); + const button = queryButton(page); expect(button).toHaveAttribute('aria-label'); expect(button.getAttribute('aria-label')).toBe('some label'); @@ -200,9 +188,7 @@ describe('icon-button', () => { await page.waitForChanges(); - const button = page.doc - .querySelector('ix-icon-button') - .shadowRoot.querySelector('button'); + const button = queryButton(page); expect(button).toHaveAttribute('aria-label'); expect(button.getAttribute('aria-label')).toBe('Unknown'); @@ -216,9 +202,7 @@ describe('icon-button', () => { await page.waitForChanges(); - const button = page.doc - .querySelector('ix-icon-button') - .shadowRoot.querySelector('button'); + const button = queryButton(page); expect(button).toHaveAttribute('aria-label'); expect(button.getAttribute('aria-label')).toBe('Unknown'); diff --git a/packages/core/src/components/icon-toggle-button/icon-toggle-button.tsx b/packages/core/src/components/icon-toggle-button/icon-toggle-button.tsx index 1d5afa0cc58..b8f37822e71 100644 --- a/packages/core/src/components/icon-toggle-button/icon-toggle-button.tsx +++ b/packages/core/src/components/icon-toggle-button/icon-toggle-button.tsx @@ -50,7 +50,7 @@ export class IconToggleButton { /** * Icon name */ - @Prop() icon: string; + @Prop() icon?: string; /** * Show button as pressed @@ -75,9 +75,9 @@ export class IconToggleButton { /** * Pressed change event */ - @Event() pressedChange: EventEmitter; + @Event() pressedChange!: EventEmitter; - @Element() hostElement: HTMLIxIconToggleButtonElement; + @Element() hostElement!: HTMLIxIconToggleButtonElement; private isIllegalToggleButtonConfig() { return this.variant === 'primary' && (this.outline || this.ghost); diff --git a/packages/core/src/components/input-group/input-group.tsx b/packages/core/src/components/input-group/input-group.tsx index 57cb199304f..6aca64c0364 100644 --- a/packages/core/src/components/input-group/input-group.tsx +++ b/packages/core/src/components/input-group/input-group.tsx @@ -27,7 +27,7 @@ export class InputGroup { return this.hostElement.querySelector('input') as HTMLInputElement; } - private observer: MutationObserver; + private observer?: MutationObserver; componentWillLoad() { const { valid } = this.inputElement.validity; @@ -100,9 +100,9 @@ export class InputGroup { } private startSlotChanged() { - const slot = this.hostElement.shadowRoot.querySelector( + const slot = this.hostElement.shadowRoot!.querySelector( 'slot[name="input-start"]' - ); + )!; setTimeout(() => { const startPadding = this.getChildrenWidth(slot); @@ -134,9 +134,9 @@ export class InputGroup { } private endSlotChanged() { - const slot = this.hostElement.shadowRoot.querySelector( + const slot = this.hostElement.shadowRoot!.querySelector( 'slot[name="input-end"]' - ); + )!; setTimeout(() => { this.inputPaddingRight = 15 + this.getChildrenWidth(slot); diff --git a/packages/core/src/components/key-value-list/key-value-list.tsx b/packages/core/src/components/key-value-list/key-value-list.tsx index 8ada9972272..f5605811126 100644 --- a/packages/core/src/components/key-value-list/key-value-list.tsx +++ b/packages/core/src/components/key-value-list/key-value-list.tsx @@ -21,7 +21,7 @@ export class KeyValueList { /** * Optional striped key value list style */ - @Prop() striped: boolean; + @Prop() striped: boolean = false; render() { return ( diff --git a/packages/core/src/components/key-value/key-value.tsx b/packages/core/src/components/key-value/key-value.tsx index 38338276bc9..8f65c9fc85d 100644 --- a/packages/core/src/components/key-value/key-value.tsx +++ b/packages/core/src/components/key-value/key-value.tsx @@ -25,7 +25,7 @@ export class KeyValue { /** * Optional key value icon */ - @Prop() icon: string; + @Prop() icon?: string; /** * Key value label @@ -40,7 +40,7 @@ export class KeyValue { /** * Optional key value text value */ - @Prop() value: string; + @Prop() value?: string; render() { return ( diff --git a/packages/core/src/components/kpi/kpi.tsx b/packages/core/src/components/kpi/kpi.tsx index b94dba0b72c..d3a1a226f83 100644 --- a/packages/core/src/components/kpi/kpi.tsx +++ b/packages/core/src/components/kpi/kpi.tsx @@ -18,17 +18,17 @@ export class Kpi { /** * */ - @Prop() label: string; + @Prop() label?: string; /** * */ - @Prop() value: string | number; + @Prop() value?: string | number; /** * */ - @Prop() unit: string; + @Prop() unit?: string; /** * diff --git a/packages/core/src/components/link-button/link-button.tsx b/packages/core/src/components/link-button/link-button.tsx index 7db5b9a7776..cd7b3326597 100644 --- a/packages/core/src/components/link-button/link-button.tsx +++ b/packages/core/src/components/link-button/link-button.tsx @@ -26,7 +26,7 @@ export class LinkButton { /** * Url for the link button */ - @Prop() url: string; + @Prop() url?: string; /** * Specifies where to open the link diff --git a/packages/core/src/components/map-navigation-overlay/map-navigation-overlay.tsx b/packages/core/src/components/map-navigation-overlay/map-navigation-overlay.tsx index 80b91625aac..b14b3709809 100644 --- a/packages/core/src/components/map-navigation-overlay/map-navigation-overlay.tsx +++ b/packages/core/src/components/map-navigation-overlay/map-navigation-overlay.tsx @@ -26,17 +26,17 @@ import anime from 'animejs'; export class MapNavigationOverlay { private static readonly slowTime = 500; - @Element() hostElement: HTMLIxMapNavigationOverlayElement; + @Element() hostElement!: HTMLIxMapNavigationOverlayElement; /** * Title of overlay */ - @Prop() name: string; + @Prop() name?: string; /** * Icon of overlay */ - @Prop() icon: string; + @Prop() icon?: string; /** * Color of icon @@ -44,17 +44,17 @@ export class MapNavigationOverlay { * @deprecated since 2.1.0. Use `icon-color` */ // eslint-disable-next-line @stencil-community/reserved-member-names - @Prop() color: string; + @Prop() color?: string; /** * Color of icon */ - @Prop() iconColor: string; + @Prop() iconColor?: string; /** * Event closed */ - @Event() closeClick: EventEmitter; + @Event() closeClick!: EventEmitter; componentWillLoad() { anime({ diff --git a/packages/core/src/components/map-navigation/map-navigation.tsx b/packages/core/src/components/map-navigation/map-navigation.tsx index 85a73185059..97c45f1057a 100644 --- a/packages/core/src/components/map-navigation/map-navigation.tsx +++ b/packages/core/src/components/map-navigation/map-navigation.tsx @@ -31,17 +31,17 @@ export class MapNavigation { private static readonly defaultTime = 150; private static readonly slowTime = 500; - @Element() hostElement: HTMLIxMapNavigationElement; + @Element() hostElement!: HTMLIxMapNavigationElement; /** * Application name */ - @Prop() applicationName: string; + @Prop() applicationName?: string; /** * Navigation title */ - @Prop() navigationTitle: string; + @Prop() navigationTitle?: string; /** * Hide the sidebar context menu button when set to true @@ -51,34 +51,34 @@ export class MapNavigation { /** * Navigation toggled */ - @Event() navigationToggled: EventEmitter; + @Event() navigationToggled!: EventEmitter; /** * Context menu clicked */ - @Event() contextMenuClick: EventEmitter; + @Event() contextMenuClick!: EventEmitter; @State() isSidebarOpen = true; @State() hasContentHeader = false; get menu() { - return this.hostElement.querySelector('ix-menu'); + return this.hostElement.querySelector('ix-menu')!; } get menuOverlay() { - return this.hostElement.querySelector('ix-menu-overlay'); + return this.hostElement.querySelector('ix-menu-overlay')!; } get mapNavMenu() { - return this.hostElement.shadowRoot.querySelector('.map-nav-menu'); + return this.hostElement.shadowRoot!.querySelector('.map-nav-menu')!; } get sidebar() { - return this.hostElement.shadowRoot.querySelector('.map-nav-sidebar'); + return this.hostElement.shadowRoot!.querySelector('.map-nav-sidebar')!; } get overlay() { - return this.hostElement.shadowRoot.querySelector('#overlay'); + return this.hostElement.shadowRoot!.querySelector('#overlay')!; } componentDidRender() { @@ -183,9 +183,9 @@ export class MapNavigation { }); const overlayInstance = document.createElement('ix-map-navigation-overlay'); - overlayInstance.setAttribute('color', color); + overlayInstance.setAttribute('color', color ?? ''); overlayInstance.setAttribute('name', name); - overlayInstance.setAttribute('icon', icon); + overlayInstance.setAttribute('icon', icon ?? ''); overlayInstance.setAttribute('slot', 'overlay'); overlayInstance.addEventListener('closeClick', () => this.closeOverlay()); overlayInstance.appendChild(component); diff --git a/packages/core/src/components/menu-about-item/menu-about-item.tsx b/packages/core/src/components/menu-about-item/menu-about-item.tsx index c9cd06c2706..b5c24b762ec 100644 --- a/packages/core/src/components/menu-about-item/menu-about-item.tsx +++ b/packages/core/src/components/menu-about-item/menu-about-item.tsx @@ -27,12 +27,12 @@ export class MenuAboutItem { /** * About Item label */ - @Prop({ reflect: true }) label: string; + @Prop({ reflect: true }) label?: string; /** * Label changed */ - @Event() labelChange: EventEmitter; + @Event() labelChange!: EventEmitter; @Watch('label') watchLabel(newValue: string, oldValue: string) { diff --git a/packages/core/src/components/menu-about-news/menu-about-news.tsx b/packages/core/src/components/menu-about-news/menu-about-news.tsx index 29b58097d0e..9325bf4a329 100644 --- a/packages/core/src/components/menu-about-news/menu-about-news.tsx +++ b/packages/core/src/components/menu-about-news/menu-about-news.tsx @@ -23,7 +23,7 @@ export class MenuAboutNews { /** * Title of the about news */ - @Prop() label: string; + @Prop() label?: string; /** * @@ -33,7 +33,7 @@ export class MenuAboutNews { /** * Subtitle of the about news */ - @Prop() aboutItemLabel: string; + @Prop() aboutItemLabel?: string; /** * Bottom offset @@ -43,12 +43,12 @@ export class MenuAboutNews { /** * Show More button is pressed */ - @Event() showMore: EventEmitter; + @Event() showMore!: EventEmitter; /** * Popover closed */ - @Event() closePopover: EventEmitter; + @Event() closePopover!: EventEmitter; /** * Internal diff --git a/packages/core/src/components/menu-about/menu-about.tsx b/packages/core/src/components/menu-about/menu-about.tsx index 8cf727e52b4..a8b693df39e 100644 --- a/packages/core/src/components/menu-about/menu-about.tsx +++ b/packages/core/src/components/menu-about/menu-about.tsx @@ -37,7 +37,7 @@ export class MenuAbout { * Active tab */ // eslint-disable-next-line @stencil-community/strict-mutable - @Prop({ mutable: true }) activeTabLabel: string; + @Prop({ mutable: true }) activeTabLabel?: string; /** * Content of the header @@ -52,9 +52,9 @@ export class MenuAbout { /** * About and Legal closed */ - @Event() close: EventEmitter; + @Event() close!: EventEmitter; - @State() items: HTMLIxMenuAboutItemElement[]; + @State() items!: HTMLIxMenuAboutItemElement[]; @Watch('activeTabLabel') updateTab(label: string) { diff --git a/packages/core/src/components/menu-avatar-item/menu-avatar-item.tsx b/packages/core/src/components/menu-avatar-item/menu-avatar-item.tsx index 2fa92e3fafb..96ae9137ba7 100644 --- a/packages/core/src/components/menu-avatar-item/menu-avatar-item.tsx +++ b/packages/core/src/components/menu-avatar-item/menu-avatar-item.tsx @@ -25,22 +25,22 @@ import { makeRef } from '../utils/make-ref'; shadow: true, }) export class MenuAvatarItem implements DropdownItemWrapper { + @Element() hostElement!: HTMLIxMenuAvatarItemElement; + /** * Avatar dropdown icon */ - @Prop() icon: string; + @Prop() icon?: string; /** * Avatar dropdown label */ - @Prop() label: string; + @Prop() label?: string; /** * Avatar dropdown item clicked */ - @Event() itemClick: EventEmitter; - - @Element() hostElement: HTMLIxMenuAvatarItemElement; + @Event() itemClick!: EventEmitter; private dropdownItemRef = makeRef(); diff --git a/packages/core/src/components/menu-avatar/menu-avatar.tsx b/packages/core/src/components/menu-avatar/menu-avatar.tsx index ae192c4a774..d6c62917630 100644 --- a/packages/core/src/components/menu-avatar/menu-avatar.tsx +++ b/packages/core/src/components/menu-avatar/menu-avatar.tsx @@ -29,26 +29,26 @@ export class MenuAvatar { /** * First line of text */ - @Prop() top: string; + @Prop() top?: string; /** * Second line of text */ - @Prop() bottom: string; + @Prop() bottom?: string; /** * Display a avatar image * * @since 1.4.0 */ - @Prop() image: string; + @Prop() image?: string; /** * Display the initials of the user. Will be overwritten by image * * @since 1.4.0 */ - @Prop() initials: string; + @Prop() initials?: string; /** * Use for translation @@ -70,12 +70,12 @@ export class MenuAvatar { /** * Logout click */ - @Event() logoutClick: EventEmitter; + @Event() logoutClick!: EventEmitter; private avatarElementId = 'ix-menu-avatar-id'; onSlotChange() { - const slot = this.hostElement.shadowRoot.querySelector('slot'); + const slot = this.hostElement.shadowRoot!.querySelector('slot'); if (!slot) { return; } diff --git a/packages/core/src/components/menu-settings-item/menu-settings-item.tsx b/packages/core/src/components/menu-settings-item/menu-settings-item.tsx index b83619ebcf2..8db2e450e2b 100644 --- a/packages/core/src/components/menu-settings-item/menu-settings-item.tsx +++ b/packages/core/src/components/menu-settings-item/menu-settings-item.tsx @@ -27,12 +27,12 @@ export class MenuSettingsItem { /** * Settings Item label */ - @Prop({ reflect: true }) label: string; + @Prop({ reflect: true }) label?: string; /** * Label changed */ - @Event() labelChange: EventEmitter; + @Event() labelChange!: EventEmitter; @Watch('label') watchLabel(newValue: string, oldValue: string) { diff --git a/packages/core/src/components/menu-settings/menu-settings.tsx b/packages/core/src/components/menu-settings/menu-settings.tsx index 526b17453b6..aeeba96339c 100644 --- a/packages/core/src/components/menu-settings/menu-settings.tsx +++ b/packages/core/src/components/menu-settings/menu-settings.tsx @@ -37,7 +37,7 @@ export class MenuSettings { * Active tab */ // eslint-disable-next-line @stencil-community/strict-mutable - @Prop({ mutable: true }) activeTabLabel: string; + @Prop({ mutable: true }) activeTabLabel?: string; /** * Label of first tab @@ -52,9 +52,9 @@ export class MenuSettings { /** * Popover closed */ - @Event() close: EventEmitter; + @Event() close!: EventEmitter; - @State() items: HTMLIxMenuSettingsItemElement[]; + @State() items!: HTMLIxMenuSettingsItemElement[]; @Watch('activeTabLabel') updateTab(label: string) { diff --git a/packages/core/src/components/menu/menu-expand-icon.tsx b/packages/core/src/components/menu/menu-expand-icon.tsx index 75248275cac..524375448b9 100644 --- a/packages/core/src/components/menu/menu-expand-icon.tsx +++ b/packages/core/src/components/menu/menu-expand-icon.tsx @@ -36,7 +36,7 @@ export class MenuExpandIcon { @Prop({ reflect: true }) expanded = false; /** Controls which icon is displayed */ - @Prop({ reflect: true }) breakpoint: Breakpoint; + @Prop({ reflect: true }) breakpoint?: Breakpoint; /** Display as pinned */ @Prop() pinned = false; diff --git a/packages/core/src/components/message-bar/message-bar.tsx b/packages/core/src/components/message-bar/message-bar.tsx index 4c70d38658f..b04fa4bfc03 100644 --- a/packages/core/src/components/message-bar/message-bar.tsx +++ b/packages/core/src/components/message-bar/message-bar.tsx @@ -38,11 +38,11 @@ export class MessageBar { /** * An event emitted when the close button is clicked */ - @Event() closedChange: EventEmitter; + @Event() closedChange!: EventEmitter; - @State() icon: 'error' | 'warning' | 'info'; + @State() icon?: 'error' | 'warning' | 'info'; - @State() color: NotificationColor; + @State() color?: NotificationColor; private static readonly duration = 300; @@ -96,7 +96,9 @@ export class MessageBar { size="24" ghost={true} onClick={() => { - this.closeAlert(this.divElement); + if (this.divElement) { + this.closeAlert(this.divElement); + } }} data-testid="close-btn" > diff --git a/packages/core/src/components/message-bar/test/message-bar.spec.tsx b/packages/core/src/components/message-bar/test/message-bar.spec.tsx index cd6a2b875db..1b87f4548e6 100644 --- a/packages/core/src/components/message-bar/test/message-bar.spec.tsx +++ b/packages/core/src/components/message-bar/test/message-bar.spec.tsx @@ -22,10 +22,10 @@ describe('ix-message-bar', () => { html: '', }); - messageBar = document.querySelector('ix-message-bar'); - closeButton = messageBar.shadowRoot.querySelector( + messageBar = document.querySelector('ix-message-bar')!; + closeButton = messageBar.shadowRoot!.querySelector( '[data-testid="close-btn"]' - ); + )!; }); it('closes the alert message bar', (done) => { diff --git a/packages/core/src/components/modal/modal.tsx b/packages/core/src/components/modal/modal.tsx index 0a57b1eea73..8496cf423c4 100644 --- a/packages/core/src/components/modal/modal.tsx +++ b/packages/core/src/components/modal/modal.tsx @@ -67,7 +67,7 @@ export class Modal { * - Return `true` to proceed in dismissing the modal * - Return `false` to abort in dismissing the modal */ - @Prop() beforeDismiss: (reason?: any) => boolean | Promise; + @Prop() beforeDismiss?: (reason?: any) => boolean | Promise; /** * Centered modal @@ -88,12 +88,12 @@ export class Modal { /** * Dialog close */ - @Event() dialogClose: EventEmitter; + @Event() dialogClose!: EventEmitter; /** * Dialog cancel */ - @Event() dialogDismiss: EventEmitter; + @Event() dialogDismiss!: EventEmitter; @State() modalVisible = false; @@ -105,7 +105,7 @@ export class Modal { } get dialog() { - return this.hostElement.shadowRoot.querySelector('dialog'); + return this.hostElement.shadowRoot!.querySelector('dialog'); } private slideInModal() { @@ -148,7 +148,7 @@ export class Modal { return; } - const rect = this.dialog.getBoundingClientRect(); + const rect = this.dialog!.getBoundingClientRect(); const isClickOutside = rect.top <= event.clientY && event.clientY <= rect.top + rect.height && @@ -197,7 +197,7 @@ export class Modal { this.slideOutModal(() => { this.modalVisible = false; - this.dialog.close( + this.dialog!.close( JSON.stringify( { type: 'dismiss', @@ -223,7 +223,7 @@ export class Modal { this.slideOutModal(() => { this.modalVisible = false; - this.dialog.close( + this.dialog!.close( JSON.stringify( { type: 'close', diff --git a/packages/core/src/components/pagination/pagination.tsx b/packages/core/src/components/pagination/pagination.tsx index f1bda781559..109dacd80a3 100644 --- a/packages/core/src/components/pagination/pagination.tsx +++ b/packages/core/src/components/pagination/pagination.tsx @@ -67,7 +67,7 @@ export class Pagination { /** * Total number of pages */ - @Prop() count: number; + @Prop() count: number = 0; /** * Zero based index of currently selected page @@ -226,9 +226,12 @@ export class Pagination { min="1" max={this.count} value={this.selectedPage + 1} - onChange={(e) => { - const index = Number.parseInt(e.target['value']); - this.selectPage(index - 1); + onChange={(event: Event) => { + const eventTarget = event.target as HTMLInputElement; + if (eventTarget) { + const index = Number.parseInt(eventTarget.value); + this.selectPage(index - 1); + } }} /> diff --git a/packages/core/src/components/pagination/test/pagination.ct.ts b/packages/core/src/components/pagination/test/pagination.ct.ts index 602d0061f4d..50397b8d79b 100644 --- a/packages/core/src/components/pagination/test/pagination.ct.ts +++ b/packages/core/src/components/pagination/test/pagination.ct.ts @@ -52,8 +52,8 @@ test('should dispatch items count change', async ({ mount, page }) => { const itemChanged = pagination.evaluate((elm) => { return new Promise((resolve) => { - elm.addEventListener('itemCountChanged', (e: CustomEvent) => - resolve(e.detail) + elm.addEventListener('itemCountChanged', (event) => + resolve((event as CustomEvent).detail) ); }); }); diff --git a/packages/core/src/components/pagination/test/pagination.spec.tsx b/packages/core/src/components/pagination/test/pagination.spec.tsx index 3fbf82fb071..10bad0ad3bd 100644 --- a/packages/core/src/components/pagination/test/pagination.spec.tsx +++ b/packages/core/src/components/pagination/test/pagination.spec.tsx @@ -16,8 +16,8 @@ describe('ix-pagination', () => { components: [Pagination], html: ``, }); - const pagination = page.doc.querySelector('ix-pagination'); - const button = pagination.shadowRoot.querySelectorAll('button')[5]; + const pagination = page.doc.querySelector('ix-pagination')!; + const button = pagination.shadowRoot!.querySelectorAll('button')[5]; button.click(); expect(pagination.selectedPage).toBe(6); }); @@ -27,8 +27,8 @@ describe('ix-pagination', () => { components: [Pagination], html: ``, }); - const pagination = page.doc.querySelector('ix-pagination'); - const button = pagination.shadowRoot.querySelectorAll('button')[6]; + const pagination = page.doc.querySelector('ix-pagination')!; + const button = pagination.shadowRoot!.querySelectorAll('button')[6]; button.click(); expect(pagination.selectedPage).toBe(9); }); @@ -38,8 +38,8 @@ describe('ix-pagination', () => { components: [Pagination], html: ``, }); - const pagination = page.doc.querySelector('ix-pagination'); - const button = pagination.shadowRoot.querySelectorAll('button')[1]; + const pagination = page.doc.querySelector('ix-pagination')!; + const button = pagination.shadowRoot!.querySelectorAll('button')[1]; button.click(); expect(pagination.selectedPage).toBe(2); }); @@ -49,8 +49,8 @@ describe('ix-pagination', () => { components: [Pagination], html: ``, }); - const pagination = page.doc.querySelector('ix-pagination'); - const button = pagination.shadowRoot.querySelectorAll('button')[1]; + const pagination = page.doc.querySelector('ix-pagination')!; + const button = pagination.shadowRoot!.querySelectorAll('button')[1]; button.click(); expect(pagination.selectedPage).toBe(3); }); diff --git a/packages/core/src/components/pill/pill.tsx b/packages/core/src/components/pill/pill.tsx index d45f0c7189b..76fdf4cc1a5 100644 --- a/packages/core/src/components/pill/pill.tsx +++ b/packages/core/src/components/pill/pill.tsx @@ -15,7 +15,7 @@ import { Component, Element, h, Host, Prop } from '@stencil/core'; shadow: true, }) export class Pill { - @Element() el: HTMLIxPillElement; + @Element() hostElement!: HTMLIxPillElement; /** * Pill variant @@ -81,7 +81,7 @@ export class Pill { } : {} } - title={this.el.textContent} + title={this.hostElement.textContent} class={{ 'align-left': this.alignLeft, }} diff --git a/packages/core/src/components/radio/test/radio.ct.ts b/packages/core/src/components/radio/test/radio.ct.ts index 78bc4eb0782..8b76591e6d7 100644 --- a/packages/core/src/components/radio/test/radio.ct.ts +++ b/packages/core/src/components/radio/test/radio.ct.ts @@ -55,7 +55,8 @@ test(`disabled = undefined`, async ({ mount, page }) => { const checkedChange$ = radioElement.evaluate( (element: HTMLIxCheckboxElement) => { - element.disabled = undefined; + // Needed for testcase + element.disabled = undefined as any; return new Promise((resolve) => { element.addEventListener('checkedChange', () => resolve()); }); diff --git a/packages/core/src/components/select-item/test/select-item.spec.tsx b/packages/core/src/components/select-item/test/select-item.spec.tsx index 29a0026e1cb..66b75b65fb8 100644 --- a/packages/core/src/components/select-item/test/select-item.spec.tsx +++ b/packages/core/src/components/select-item/test/select-item.spec.tsx @@ -30,14 +30,13 @@ describe('select-item', () => { html: '', }); - page.doc - .querySelector('ix-select-item') - .addEventListener('itemClick', eventSpy); + const item = page.doc.querySelector('ix-select-item')!; + item.addEventListener('itemClick', eventSpy); - const dropdownItem = page.doc - .querySelector('ix-select-item') - .shadowRoot.querySelector('ix-dropdown-item') as HTMLElement; - dropdownItem.shadowRoot.querySelector('button').click(); + const dropdownItem = item.shadowRoot!.querySelector( + 'ix-dropdown-item' + ) as HTMLElement; + dropdownItem.shadowRoot!.querySelector('button')!.click(); expect(eventSpy).toHaveBeenCalled(); }); diff --git a/packages/core/src/components/select/select.tsx b/packages/core/src/components/select/select.tsx index ee9c338488a..4d9e1293471 100644 --- a/packages/core/src/components/select/select.tsx +++ b/packages/core/src/components/select/select.tsx @@ -487,7 +487,11 @@ export class Select implements IxInputFieldComponent { } componentDidRender(): void { - if (!this.dropdownShow || this.arrowFocusController) { + if ( + !this.dropdownShow || + this.arrowFocusController || + !this.dropdownElement + ) { return; } diff --git a/packages/core/src/components/select/test/select-keyboard.ct.ts b/packages/core/src/components/select/test/select-keyboard.ct.ts index 5b19b71e8a1..bfe64be80ca 100644 --- a/packages/core/src/components/select/test/select-keyboard.ct.ts +++ b/packages/core/src/components/select/test/select-keyboard.ct.ts @@ -15,7 +15,11 @@ function selectController(select: Locator) { const dropdownChevron = select.locator('ix-icon-button'); const dropdownVisible = async () => { - await (await dropdown.elementHandle()).waitForElementState('stable'); + const element = await dropdown.elementHandle(); + if (!element) { + throw new Error('Dropdown has no open handle'); + } + await element.waitForElementState('stable'); await expect(dropdown).toBeVisible(); }; @@ -69,15 +73,25 @@ function selectController(select: Locator) { await dropdownVisible(); const addItem = dropdown.locator('ix-dropdown-item.add-item'); - await (await addItem.elementHandle()).waitForElementState('stable'); + const addItemHandle = await addItem.elementHandle(); + + if (!addItemHandle) { + throw new Error('Dropdown has no open handle'); + } + await addItemHandle.waitForElementState('stable'); return addItem; }, async getItemCheckedLocator() { await dropdownVisible(); const itemChecked = select.locator('ix-select-item .checkmark'); + const itemCheckedHandle = await itemChecked.elementHandle(); + + if (!itemCheckedHandle) { + throw new Error('Dropdown has no open handle'); + } - expect((await itemChecked.elementHandle()).waitForElementState('stable')); + expect(itemCheckedHandle.waitForElementState('stable')); return itemChecked; }, @@ -248,16 +262,16 @@ test.describe('arrow key navigation', () => { await selectCtrl.arrowDown(); const itemsBeforeNavigation = await selectCtrl.getDropdownItemsLocator(); - await expect(itemsBeforeNavigation.at(1)).toHaveText('Item 2'); - await expect(itemsBeforeNavigation.at(0)).not.toBeFocused(); - await expect(itemsBeforeNavigation.at(1)).toBeFocused(); + await expect(itemsBeforeNavigation.at(1)!).toHaveText('Item 2'); + await expect(itemsBeforeNavigation.at(0)!).not.toBeFocused(); + await expect(itemsBeforeNavigation.at(1)!).toBeFocused(); await selectCtrl.arrowDown(); const itemsAfterNavigation = await selectCtrl.getDropdownItemsLocator(); - await expect(itemsAfterNavigation.at(0)).toHaveText('Item 1'); - await expect(itemsAfterNavigation.at(0)).toBeFocused(); - await expect(itemsAfterNavigation.at(1)).not.toBeFocused(); + await expect(itemsAfterNavigation.at(0)!).toHaveText('Item 1'); + await expect(itemsAfterNavigation.at(0)!).toBeFocused(); + await expect(itemsAfterNavigation.at(1)!).not.toBeFocused(); }); test('wrap - add item -> slot', async ({ mount, page }) => { @@ -281,8 +295,8 @@ test.describe('arrow key navigation', () => { await selectCtrl.arrowDown(); const itemsAfterNavigation = await selectCtrl.getDropdownItemsLocator(); - await expect(itemsAfterNavigation.at(0)).toBeFocused(); - await expect(itemsAfterNavigation.at(0)).toHaveText('Item 1'); + await expect(itemsAfterNavigation.at(0)!).toBeFocused(); + await expect(itemsAfterNavigation.at(0)!).toHaveText('Item 1'); }); test('wrap - add item -> dynamic item', async ({ mount, page }) => { @@ -311,8 +325,8 @@ test.describe('arrow key navigation', () => { await selectCtrl.arrowDown(); const itemsAfterNavigation = await selectCtrl.getDropdownItemsLocator(); - await expect(itemsAfterNavigation.at(0)).toBeFocused(); - await expect(itemsAfterNavigation.at(0)).toHaveText('Item 1'); + await expect(itemsAfterNavigation.at(0)!).toBeFocused(); + await expect(itemsAfterNavigation.at(0)!).toHaveText('Item 1'); }); }); @@ -336,14 +350,14 @@ test.describe('arrow key navigation', () => { await selectCtrl.arrowDown(); const itemsBeforeNavigation = await selectCtrl.getDropdownItemsLocator(); - await expect(itemsBeforeNavigation.at(1)).toBeFocused(); - await expect(itemsBeforeNavigation.at(1)).toHaveText('I'); + await expect(itemsBeforeNavigation.at(1)!).toBeFocused(); + await expect(itemsBeforeNavigation.at(1)!).toHaveText('I'); await selectCtrl.arrowUp(); const itemsAfterNavigation = await selectCtrl.getDropdownItemsLocator(); - await expect(itemsAfterNavigation.at(0)).toBeFocused(); - await expect(itemsAfterNavigation.at(0)).toHaveText('Item 1'); + await expect(itemsAfterNavigation.at(0)!).toBeFocused(); + await expect(itemsAfterNavigation.at(0)!).toHaveText('Item 1'); }); test('add item -> slot', async ({ mount, page }) => { @@ -367,8 +381,8 @@ test.describe('arrow key navigation', () => { await selectCtrl.arrowUp(); const itemsAfterNavigation = await selectCtrl.getDropdownItemsLocator(); - await expect(itemsAfterNavigation.at(0)).toBeFocused(); - await expect(itemsAfterNavigation.at(0)).toHaveText('Item 1'); + await expect(itemsAfterNavigation.at(0)!).toBeFocused(); + await expect(itemsAfterNavigation.at(0)!).toHaveText('Item 1'); }); test('add item -> dynamic item', async ({ mount, page }) => { @@ -397,8 +411,8 @@ test.describe('arrow key navigation', () => { await selectCtrl.arrowUp(); const itemsAfterNavigation = await selectCtrl.getDropdownItemsLocator(); - await expect(itemsAfterNavigation.at(0)).toBeFocused(); - await expect(itemsAfterNavigation.at(0)).toHaveText('Item 1'); + await expect(itemsAfterNavigation.at(0)!).toBeFocused(); + await expect(itemsAfterNavigation.at(0)!).toHaveText('Item 1'); }); test('wrap - slot -> dynamic item', async ({ mount, page }) => { @@ -420,16 +434,16 @@ test.describe('arrow key navigation', () => { await selectCtrl.arrowDown(); const itemsBeforeNavigation = await selectCtrl.getDropdownItemsLocator(); - await expect(itemsBeforeNavigation.at(0)).toHaveText('Item 1'); - await expect(itemsBeforeNavigation.at(0)).toBeFocused(); - await expect(itemsBeforeNavigation.at(1)).not.toBeFocused(); + await expect(itemsBeforeNavigation.at(0)!).toHaveText('Item 1'); + await expect(itemsBeforeNavigation.at(0)!).toBeFocused(); + await expect(itemsBeforeNavigation.at(1)!).not.toBeFocused(); await selectCtrl.arrowUp(); const itemsAfterNavigation = await selectCtrl.getDropdownItemsLocator(); - await expect(itemsAfterNavigation.at(1)).toHaveText('Item 2'); - await expect(itemsAfterNavigation.at(0)).not.toBeFocused(); - await expect(itemsAfterNavigation.at(1)).toBeFocused(); + await expect(itemsAfterNavigation.at(1)!).toHaveText('Item 2'); + await expect(itemsAfterNavigation.at(0)!).not.toBeFocused(); + await expect(itemsAfterNavigation.at(1)!).toBeFocused(); }); test('wrap - slot -> add-item', async ({ mount, page }) => { @@ -448,8 +462,8 @@ test.describe('arrow key navigation', () => { await selectCtrl.arrowDown(); const itemsBeforeNavigation = await selectCtrl.getDropdownItemsLocator(); - await expect(itemsBeforeNavigation.at(0)).toHaveText('Item 1'); - await expect(itemsBeforeNavigation.at(0)).toBeFocused(); + await expect(itemsBeforeNavigation.at(0)!).toHaveText('Item 1'); + await expect(itemsBeforeNavigation.at(0)!).toBeFocused(); await selectCtrl.arrowUp(); @@ -477,8 +491,8 @@ test.describe('arrow key navigation', () => { await selectCtrl.arrowDown(); const itemsAfterNavigation = await selectCtrl.getDropdownItemsLocator(); - await expect(itemsAfterNavigation.at(0)).toBeFocused(); - await expect(itemsAfterNavigation.at(0)).toHaveText('Item 1'); + await expect(itemsAfterNavigation.at(0)!).toBeFocused(); + await expect(itemsAfterNavigation.at(0)!).toHaveText('Item 1'); await selectCtrl.arrowUp(); diff --git a/packages/core/src/components/split-button-item/split-button-item.tsx b/packages/core/src/components/split-button-item/split-button-item.tsx index 696a6498a0b..c31440f530c 100644 --- a/packages/core/src/components/split-button-item/split-button-item.tsx +++ b/packages/core/src/components/split-button-item/split-button-item.tsx @@ -29,22 +29,22 @@ import { makeRef } from '../utils/make-ref'; shadow: true, }) export class SplitButtonItem implements DropdownItemWrapper { - @Element() hostElement: HTMLIxSplitButtonItemElement; + @Element() hostElement!: HTMLIxSplitButtonItemElement; /** * Dropdown icon */ - @Prop() icon: string; + @Prop() icon?: string; /** * Dropdown label */ - @Prop() label: string; + @Prop() label?: string; /** * Dropdown item clicked */ - @Event() itemClick: EventEmitter; + @Event() itemClick!: EventEmitter; private wrapperRef = makeRef(); diff --git a/packages/core/src/components/split-button/split-button.tsx b/packages/core/src/components/split-button/split-button.tsx index c75f34c5c8e..46b9a4e76ba 100644 --- a/packages/core/src/components/split-button/split-button.tsx +++ b/packages/core/src/components/split-button/split-button.tsx @@ -55,7 +55,7 @@ export class SplitButton { /** * Button label */ - @Prop() label: string; + @Prop() label?: string; /** * Button icon @@ -82,10 +82,10 @@ export class SplitButton { /** * Button clicked */ - @Event() buttonClick: EventEmitter; + @Event() buttonClick!: EventEmitter; - private triggerElement: HTMLElement; - private dropdownElement: HTMLIxDropdownElement; + private triggerElement?: HTMLElement; + private dropdownElement?: HTMLIxDropdownElement; private linkTriggerRef() { if (this.triggerElement && this.dropdownElement) { diff --git a/packages/core/src/components/tile/tile.tsx b/packages/core/src/components/tile/tile.tsx index 37331cecc32..b1e0891cc20 100644 --- a/packages/core/src/components/tile/tile.tsx +++ b/packages/core/src/components/tile/tile.tsx @@ -15,7 +15,7 @@ import { Component, Element, h, Host, Prop, State } from '@stencil/core'; shadow: true, }) export class Tile { - @Element() hostElement: HTMLIxTileElement; + @Element() hostElement!: HTMLIxTileElement; /** * Size of the tile - one of 'small', 'medium' or 'large' diff --git a/packages/core/src/components/toast/toast-container.tsx b/packages/core/src/components/toast/toast-container.tsx index e74d5e43922..90e9bbdca57 100644 --- a/packages/core/src/components/toast/toast-container.tsx +++ b/packages/core/src/components/toast/toast-container.tsx @@ -63,6 +63,10 @@ export class ToastContainer { @Watch('position') onPositionChange(newPosition: string, oldPosition: string) { const toastContainer = document.getElementById(this.containerId); + if (!toastContainer) { + console.warn('No toast container found, cannot configure toast position'); + return; + } toastContainer.classList.remove( `${this.PREFIX_POSITION_CLASS}${oldPosition}` ); @@ -84,7 +88,7 @@ export class ToastContainer { } toast.toastTitle = config.title; - toast.type = config.type; + toast.type = config.type ?? 'info'; toast.autoClose = config.autoClose ?? true; toast.autoCloseDelay = config.autoCloseDelay ?? 5000; toast.icon = config.icon; diff --git a/packages/core/src/components/toast/toast.tsx b/packages/core/src/components/toast/toast.tsx index c8651ecc622..6d5880f5001 100644 --- a/packages/core/src/components/toast/toast.tsx +++ b/packages/core/src/components/toast/toast.tsx @@ -33,7 +33,7 @@ export class Toast { /** * Toast title */ - @Prop() toastTitle: string; + @Prop() toastTitle?: string; /** * Autoclose title after delay @@ -48,17 +48,17 @@ export class Toast { /** * Icon of toast */ - @Prop() icon: string; + @Prop() icon?: string; /** * Icon color of toast */ - @Prop() iconColor: string; + @Prop() iconColor?: string; /** * Toast closed */ - @Event() closeToast: EventEmitter; + @Event() closeToast!: EventEmitter; @State() progress = 0; @State() touched = false; diff --git a/packages/core/src/components/toggle-button/toggle-button.tsx b/packages/core/src/components/toggle-button/toggle-button.tsx index 1253297f1b6..112d300f755 100644 --- a/packages/core/src/components/toggle-button/toggle-button.tsx +++ b/packages/core/src/components/toggle-button/toggle-button.tsx @@ -58,7 +58,7 @@ export class ToggleButton { /** * Icon name */ - @Prop() icon: string; + @Prop() icon?: string; /** * Show button as pressed @@ -68,7 +68,7 @@ export class ToggleButton { /** * Pressed change event */ - @Event() pressedChange: EventEmitter; + @Event() pressedChange!: EventEmitter; private isIllegalToggleButtonConfig() { return this.variant === 'primary' && (this.outline || this.ghost); diff --git a/packages/core/src/components/tree/test/tree.ct.ts b/packages/core/src/components/tree/test/tree.ct.ts index c3241744925..096867f12df 100644 --- a/packages/core/src/components/tree/test/tree.ct.ts +++ b/packages/core/src/components/tree/test/tree.ct.ts @@ -7,7 +7,7 @@ * LICENSE file in the root directory of this source tree. */ import { expect, Locator, Page } from '@playwright/test'; -import { test } from '@utils/test'; +import { Mount, test } from '@utils/test'; import { TreeItem } from '../tree-model'; const defaultModel = { @@ -61,7 +61,7 @@ const defaultModel = { }, }; -const initializeTree = async (mount, page: Page) => { +const initializeTree = async (mount: Mount, page: Page) => { await mount(`
diff --git a/packages/core/src/components/tree/tree.tsx b/packages/core/src/components/tree/tree.tsx index 0e412060c72..7fe14ca60d7 100644 --- a/packages/core/src/components/tree/tree.tsx +++ b/packages/core/src/components/tree/tree.tsx @@ -85,7 +85,7 @@ export class Tree { */ @Event() nodeRemoved!: EventEmitter; - private hyperlist: VirtualList; + private hyperlist?: VirtualList; private toggleListener = new Map(); private itemClickListener = new Map(); diff --git a/packages/core/src/components/utils/a11y.ts b/packages/core/src/components/utils/a11y.ts index 644b3963859..a75899efd2f 100644 --- a/packages/core/src/components/utils/a11y.ts +++ b/packages/core/src/components/utils/a11y.ts @@ -32,7 +32,7 @@ const kebabCaseToUpperCaseSentence = (kebabCase: string) => { return sentence; }; -export const getFallbackLabelFromIconName = (iconName: string) => { +export const getFallbackLabelFromIconName = (iconName?: string) => { if (!iconName) { return 'Unknown'; } diff --git a/packages/core/src/components/utils/app-switch/index.ts b/packages/core/src/components/utils/app-switch/index.ts index 9e4c758f9ae..596bc818947 100644 --- a/packages/core/src/components/utils/app-switch/index.ts +++ b/packages/core/src/components/utils/app-switch/index.ts @@ -24,6 +24,11 @@ export async function showAppSwitch(config: AppSwitchConfiguration) { ); return (updateAppSwitchConfig: AppSwitchConfiguration) => { + if (!appSwitchElement) { + console.warn('ix-application-switch-modal element not found!'); + return; + } + appSwitchElement.config = updateAppSwitchConfig; }; } diff --git a/packages/core/src/components/utils/lazy-list/lazy.ts b/packages/core/src/components/utils/lazy-list/lazy.ts index b10fe499a52..97c1fea5bc0 100644 --- a/packages/core/src/components/utils/lazy-list/lazy.ts +++ b/packages/core/src/components/utils/lazy-list/lazy.ts @@ -38,11 +38,11 @@ const addClass = (element: HTMLElement, className: string) => { }; export class VirtualList { - _config: VirtualListConfig; + _config!: VirtualListConfig; _lastRepaint: null; _maxElementHeight: number; - _renderAnimationFrame: number; - _averageHeight: number; + _renderAnimationFrame!: number; + _averageHeight!: number; static readonly defaultConfig: VirtualListConfig = { width: '100%', @@ -50,14 +50,14 @@ export class VirtualList { }; _element: any; _scroller: any; - _itemHeights: number[]; - _containerSize: number | string; - _scrollPaddingBottom: number; - _scrollPaddingTop: number; + _itemHeights!: number[]; + _containerSize!: number | string; + _scrollPaddingBottom!: number; + _scrollPaddingTop!: number; _scrollHeight: any; _itemPositions: any; - _screenItemsLen: number; - _lastFrom: number; + _screenItemsLen!: number; + _lastFrom!: number; _cachedItemsLen: any; static create( @@ -67,10 +67,10 @@ export class VirtualList { return new VirtualList(element, userProvidedConfig); } - static mergeStyle(element: HTMLElement, style) { + static mergeStyle(element: HTMLElement, style: any) { for (let i in style) { - if (element.style[i] !== style[i]) { - element.style[i] = style[i]; + if (element.style[i as any] !== style[i]) { + element.style[i as any] = style[i]; } } } @@ -157,7 +157,7 @@ export class VirtualList { this._element = element; - const config = this._config; + const config = this._config as any; const scroller = this._scroller || @@ -186,7 +186,7 @@ export class VirtualList { } else if (isNumber(config.itemHeight)) { this._itemHeights = Array(config.total).fill(config.itemHeight); } else { - this._itemHeights = [config.itemHeight]; + this._itemHeights = [config.itemHeight as any]; } // Width and height should be coerced to string representations. Either in @@ -194,7 +194,7 @@ export class VirtualList { Object.keys(VirtualList.defaultConfig) .filter((prop) => prop in config) .forEach((prop) => { - const value = config[prop]; + const value = config[prop as any]; const isValueNumber = isNumber(value); if (value && typeof value !== 'string' && typeof value !== 'number') { @@ -289,8 +289,8 @@ export class VirtualList { } } - _getRow(i) { - const config = this._config; + _getRow(i: number) { + const config = this._config as any; let item = config.generate(i) as any; let height = item.height; @@ -337,7 +337,7 @@ export class VirtualList { const config = this._config; const element = this._element; const scrollTop = this._getScrollPosition(); - const total = config.total; + const total: number = config.total!; let from = this._getFrom(scrollTop) - 1; @@ -359,7 +359,7 @@ export class VirtualList { // Append all the new rows in a document fragment that we will later append // to the parent node - const fragment = config.useFragment + const fragment: any = config.useFragment ? document.createDocumentFragment() : [ // Sometimes you'll pass fake elements to this tool and Fragments require @@ -388,7 +388,7 @@ export class VirtualList { _computePositions(from = 1) { const config = this._config; - const total = config.total; + const total = config.total!; if (from < 1) { from = 1; @@ -401,7 +401,7 @@ export class VirtualList { } _computeScrollHeight() { - const config = this._config; + const config = this._config as any; const isHorizontal = Boolean(config.horizontal); const total = config.total; const scrollHeight = diff --git a/packages/core/src/components/utils/make-ref.ts b/packages/core/src/components/utils/make-ref.ts index c3612f4c716..9e8d0e0742b 100644 --- a/packages/core/src/components/utils/make-ref.ts +++ b/packages/core/src/components/utils/make-ref.ts @@ -7,7 +7,7 @@ * LICENSE file in the root directory of this source tree. */ export type MakeRef = { - (ref: T | undefined): void; + (ref: T | undefined | null): void; current: T | null; waitForCurrent(): Promise; }; diff --git a/packages/core/src/components/utils/menu-tabs/menu-tabs-fc.tsx b/packages/core/src/components/utils/menu-tabs/menu-tabs-fc.tsx index 4ec23ce4abd..61f14f94366 100644 --- a/packages/core/src/components/utils/menu-tabs/menu-tabs-fc.tsx +++ b/packages/core/src/components/utils/menu-tabs/menu-tabs-fc.tsx @@ -21,7 +21,11 @@ const getTabItems = (context: MenuSettings | MenuAbout) => { return ( setTab(context, label)} + onClick={() => { + if (label) { + setTab(context, label); + } + }} > {label} diff --git a/packages/core/src/components/utils/menu-tabs/menu-tabs-utils.ts b/packages/core/src/components/utils/menu-tabs/menu-tabs-utils.ts index c345fefcf38..1d89d7f4a41 100644 --- a/packages/core/src/components/utils/menu-tabs/menu-tabs-utils.ts +++ b/packages/core/src/components/utils/menu-tabs/menu-tabs-utils.ts @@ -36,7 +36,10 @@ export function initialize(context: MenuSettings | MenuAbout) { context.items = getItems(context); if (context.items.length) { - setTab(context, context.activeTabLabel || context.items[0].label); + const selectedLabel = context.activeTabLabel || context.items[0].label; + if (selectedLabel) { + setTab(context, selectedLabel); + } } context.items.forEach((item) => { diff --git a/packages/core/src/components/utils/shadow-dom.ts b/packages/core/src/components/utils/shadow-dom.ts index 642ef99e3ae..60e6237e947 100644 --- a/packages/core/src/components/utils/shadow-dom.ts +++ b/packages/core/src/components/utils/shadow-dom.ts @@ -6,7 +6,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ -export function closestElement(selector: string, el: any) { +export function closestElement(selector: string, el: any): null | Element { if (!el) { return null; } @@ -50,9 +50,9 @@ export function closestPassShadow(node: Node, selector: string) { if (node.matches(selector)) { return node; } else { - return closestPassShadow(node.parentNode, selector); + return closestPassShadow(node.parentNode!, selector); } } - return closestPassShadow(node.parentNode, selector); + return closestPassShadow(node.parentNode!, selector); } diff --git a/packages/core/src/components/validation-tooltip/validation-tooltip.tsx b/packages/core/src/components/validation-tooltip/validation-tooltip.tsx index 24cd79d04c1..cb514c5ca08 100644 --- a/packages/core/src/components/validation-tooltip/validation-tooltip.tsx +++ b/packages/core/src/components/validation-tooltip/validation-tooltip.tsx @@ -30,12 +30,12 @@ type Position = { x: number; y: number }; shadow: true, }) export class ValidationTooltip { - @Element() hostElement: HTMLIxValidationTooltipElement; + @Element() hostElement!: HTMLIxValidationTooltipElement; /** * Message of the tooltip */ - @Prop() message: string; + @Prop() message?: string; /** * Placement of the tooltip @@ -50,16 +50,16 @@ export class ValidationTooltip { @Prop() suppressAutomaticPlacement = false; @State() isInputValid = true; - @State() tooltipPosition: Position; - @State() arrowPosition: Position; + @State() tooltipPosition?: Position; + @State() arrowPosition?: Position; private onSubmitBind = this.onSubmit.bind(this); private onInputFocusBind = this.onInputFocus.bind(this); - private autoUpdateCleanup: () => void; - private observer: MutationObserver; + private autoUpdateCleanup?: () => void; + private observer?: MutationObserver; get arrow() { - return this.hostElement.shadowRoot.querySelector('#arrow') as HTMLElement; + return this.hostElement.shadowRoot!.querySelector('#arrow') as HTMLElement; } get inputElement() { @@ -71,7 +71,7 @@ export class ValidationTooltip { } get tooltipElement(): HTMLElement { - return this.hostElement.shadowRoot.querySelector('.validation-tooltip'); + return this.hostElement.shadowRoot!.querySelector('.validation-tooltip')!; } private destroyAutoUpdate() { @@ -98,6 +98,10 @@ export class ValidationTooltip { ], }; + if (!positionConfig.middleware) { + positionConfig.middleware = []; + } + if (!this.suppressAutomaticPlacement) { positionConfig.middleware.push( flip({ fallbackStrategy: 'initialPlacement' }) @@ -106,23 +110,26 @@ export class ValidationTooltip { positionConfig.placement = this.placement; this.autoUpdateCleanup = autoUpdate( - this.inputElement, + this.inputElement!, this.tooltipElement, async () => { positionConfig.middleware = [ - ...positionConfig.middleware, + ...positionConfig.middleware!, arrow({ element: this.arrow, }), ]; const computeResponse = await computePosition( - this.inputElement, + this.inputElement!, this.tooltipElement, positionConfig ); if (computeResponse.middlewareData.arrow) { - const { x, y } = computeResponse.middlewareData.arrow; + const { x, y } = computeResponse.middlewareData.arrow as { + x: number; + y: number; + }; this.arrowPosition = { x, y, @@ -161,7 +168,7 @@ export class ValidationTooltip { this.inputElement.addEventListener('focus', this.onInputFocusBind); this.observer = new MutationObserver(() => { - if (this.inputElement.classList.contains('is-invalid')) { + if (this.inputElement!.classList.contains('is-invalid')) { this.isInputValid = false; this.validationChanged(); } @@ -180,8 +187,8 @@ export class ValidationTooltip { } private onSubmit() { - if (this.formElement.classList.contains('needs-validation')) { - this.isInputValid = this.inputElement.validity.valid; + if (this.formElement!.classList.contains('needs-validation')) { + this.isInputValid = this.inputElement!.validity.valid; } } diff --git a/packages/core/src/components/workflow-step/workflow-step.tsx b/packages/core/src/components/workflow-step/workflow-step.tsx index 6d620f7346f..b1c49be6d14 100644 --- a/packages/core/src/components/workflow-step/workflow-step.tsx +++ b/packages/core/src/components/workflow-step/workflow-step.tsx @@ -26,7 +26,7 @@ import { shadow: true, }) export class WorkflowStep { - @Element() hostElement: HTMLIxWorkflowStepElement; + @Element() hostElement!: HTMLIxWorkflowStepElement; /** * Select orientation @@ -68,9 +68,9 @@ export class WorkflowStep { /** * @internal */ - @Event() selectedChanged: EventEmitter; + @Event() selectedChanged!: EventEmitter; - private customIconSlot: boolean; + private customIconSlot: boolean = false; @Watch('selected') selectedHandler() { diff --git a/packages/core/src/components/workflow-steps/test/workflow-steps.spec.ts b/packages/core/src/components/workflow-steps/test/workflow-steps.spec.ts index f97452f45b9..b918c17f786 100644 --- a/packages/core/src/components/workflow-steps/test/workflow-steps.spec.ts +++ b/packages/core/src/components/workflow-steps/test/workflow-steps.spec.ts @@ -36,7 +36,7 @@ describe('workflow-steps', () => { }); const step = document.createElement('ix-workflow-step'); - page.root.querySelector('ix-workflow-steps').append(step); + page.root!.querySelector('ix-workflow-steps')!.append(step); observerCallback([{ type: 'childList' }]); @@ -56,8 +56,8 @@ describe('workflow-steps', () => { const step = document.createElement('ix-workflow-step'); const step1 = document.createElement('ix-workflow-step'); const step2 = document.createElement('ix-workflow-step'); - page.root.querySelector('ix-workflow-steps').append(step); - page.root.querySelector('ix-workflow-steps').append(step1); + page.root!.querySelector('ix-workflow-steps')!.append(step); + page.root!.querySelector('ix-workflow-steps')!.append(step1); observerCallback([{ type: 'childList' }]); await page.waitForChanges(); @@ -68,7 +68,7 @@ describe('workflow-steps', () => { expect(step1.position).toEqual('last'); expect(step1.selected).toEqual(false); - page.root.querySelector('ix-workflow-steps').append(step2); + page.root!.querySelector('ix-workflow-steps')!.append(step2); observerCallback([{ type: 'childList' }]); await page.waitForChanges(); diff --git a/packages/core/src/components/workflow-steps/workflow-steps.tsx b/packages/core/src/components/workflow-steps/workflow-steps.tsx index e384ff445e5..af713070bad 100644 --- a/packages/core/src/components/workflow-steps/workflow-steps.tsx +++ b/packages/core/src/components/workflow-steps/workflow-steps.tsx @@ -45,7 +45,7 @@ export class WorkflowSteps { /** * On step selected event */ - @Event() stepSelected: EventEmitter; + @Event() stepSelected!: EventEmitter; private getSteps() { return Array.from(this.hostElement.querySelectorAll('ix-workflow-step')); @@ -73,7 +73,7 @@ export class WorkflowSteps { }); } - private observer: MutationObserver; + private observer?: MutationObserver; @Listen('selectedChanged') onStepSelectionChanged(event: CustomEvent) { diff --git a/packages/core/src/tests/application-header/application-header.e2e.ts b/packages/core/src/tests/application-header/application-header.e2e.ts index 85493fb0007..c352d814f12 100644 --- a/packages/core/src/tests/application-header/application-header.e2e.ts +++ b/packages/core/src/tests/application-header/application-header.e2e.ts @@ -60,7 +60,7 @@ regressionTest.describe('application header: basic', () => { }); regressionTest.describe('application header: standalone', () => { - Object.keys(viewPorts).forEach((name: keyof typeof viewPorts) => { + (Object.keys(viewPorts) as Array).forEach((name) => { regressionTest(`viewport ${name}`, async ({ page }) => { await page.setViewportSize(viewPorts[name]); await page.goto('application-header/standalone'); diff --git a/packages/core/src/tests/button/button.e2e.ts b/packages/core/src/tests/button/button.e2e.ts index 1c2458e8b06..33052d7feec 100644 --- a/packages/core/src/tests/button/button.e2e.ts +++ b/packages/core/src/tests/button/button.e2e.ts @@ -30,7 +30,7 @@ regressionTest.describe('button: basic', () => { body .querySelectorAll('ix-button') .forEach((b) => - b.shadowRoot.querySelector('button').classList.add('hover') + b.shadowRoot!.querySelector('button')!.classList.add('hover') ); }, bodyElement); @@ -50,7 +50,7 @@ regressionTest.describe('button: basic', () => { body .querySelectorAll('ix-button') .forEach((b) => - b.shadowRoot.querySelector('button').classList.add('active') + b.shadowRoot!.querySelector('button')!.classList.add('active') ); }, bodyElement); diff --git a/packages/core/src/tests/icon-toggle-button/toggle-button.e2e.ts b/packages/core/src/tests/icon-toggle-button/toggle-button.e2e.ts index 9b0efd5e16c..a4a71358a47 100644 --- a/packages/core/src/tests/icon-toggle-button/toggle-button.e2e.ts +++ b/packages/core/src/tests/icon-toggle-button/toggle-button.e2e.ts @@ -25,7 +25,7 @@ regressionTest.describe('icon-toggle-button: basic', () => { body .querySelectorAll('ix-icon-toggle-button:not([disabled])') .forEach((b) => - b.shadowRoot.querySelector('button').classList.add('hover') + b.shadowRoot!.querySelector('button')!.classList.add('hover') ); }, bodyElement); @@ -43,7 +43,7 @@ regressionTest.describe('icon-toggle-button: basic', () => { body .querySelectorAll('ix-icon-toggle-button:not([disabled])') .forEach((b) => - b.shadowRoot.querySelector('button').classList.add('active') + b.shadowRoot!.querySelector('button')!.classList.add('active') ); }, bodyElement); diff --git a/packages/core/src/tests/toggle-button/toggle-button.e2e.ts b/packages/core/src/tests/toggle-button/toggle-button.e2e.ts index e476d52da7c..9d99cdc7613 100644 --- a/packages/core/src/tests/toggle-button/toggle-button.e2e.ts +++ b/packages/core/src/tests/toggle-button/toggle-button.e2e.ts @@ -25,7 +25,7 @@ regressionTest.describe('toggle-button: basic', () => { body .querySelectorAll('ix-toggle-button:not([disabled])') .forEach((b) => - b.shadowRoot.querySelector('button').classList.add('hover') + b.shadowRoot!.querySelector('button')!.classList.add('hover') ); }, bodyElement); @@ -43,7 +43,7 @@ regressionTest.describe('toggle-button: basic', () => { body .querySelectorAll('ix-toggle-button:not([disabled])') .forEach((b) => - b.shadowRoot.querySelector('button').classList.add('active') + b.shadowRoot!.querySelector('button')!.classList.add('active') ); }, bodyElement); diff --git a/packages/core/src/tests/upload/upload.e2e.ts b/packages/core/src/tests/upload/upload.e2e.ts index 85437414636..18468ac972f 100644 --- a/packages/core/src/tests/upload/upload.e2e.ts +++ b/packages/core/src/tests/upload/upload.e2e.ts @@ -39,7 +39,7 @@ regressionTest.describe('upload', () => { state = UploadFileState.UPLOAD_SUCCESSED; break; default: - console.error('Invalid enum value'); + throw Error('Invalid upload file state'); } await locator.evaluate( diff --git a/packages/core/src/tests/utils/test/page.ts b/packages/core/src/tests/utils/test/page.ts index b41a4cec8be..97755b010b0 100644 --- a/packages/core/src/tests/utils/test/page.ts +++ b/packages/core/src/tests/utils/test/page.ts @@ -135,3 +135,10 @@ export const regressionTest = testBase.extend<{ }); export const test = regressionTest; + +export type Mount = ( + selector: string, + config?: { + headTags?: string[]; + } +) => Promise>; diff --git a/packages/core/strict-check.json b/packages/core/strict-check.json deleted file mode 100644 index b6a29b5cea6..00000000000 --- a/packages/core/strict-check.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "extends": "./tsconfig.lib.json", - "compilerOptions": { - "noEmit": true, - "strict": true, - "strictNullChecks": true, - "strictPropertyInitialization": true, - "noImplicitAny": true, - "baseUrl": ".", - "pretty": false, - "skipLibCheck": true - }, - "include": ["src"], - "exclude": ["node_modules"] -} diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 4f1a5904a59..a6b8340c3a3 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -17,12 +17,11 @@ "baseUrl": ".", "paths": { "@utils/test": ["src/tests/utils/test"] - } - // Strict check uncomment to check for strict - // "strict": true, - // "strictNullChecks": true, - // "strictPropertyInitialization": true, - // "noImplicitAny": true + }, + "strict": true, + "strictNullChecks": true, + "strictPropertyInitialization": true, + "noImplicitAny": true }, "include": ["src", "playwright.config.ts", "playwright-ct.config.ts"], "exclude": ["node_modules"] diff --git a/packages/core/tsconfig.lib.json b/packages/core/tsconfig.lib.json index 41f71027778..a62e50c274b 100644 --- a/packages/core/tsconfig.lib.json +++ b/packages/core/tsconfig.lib.json @@ -19,11 +19,6 @@ "paths": { "@utils/test": ["src/tests/utils/test"] } - // Strict check uncomment to check for strict - // "strict": true, - // "strictNullChecks": true, - // "strictPropertyInitialization": true, - // "noImplicitAny": true }, "include": ["src"], "exclude": ["node_modules", "playwright.config.ts", "playwright-ct.config.ts"] diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7cf91df87c0..e7d5f7f59f4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -400,9 +400,6 @@ importers: start-server-and-test: specifier: ^1.14.0 version: 1.15.5 - strict-check: - specifier: workspace:* - version: link:../../tools/strict-check ts-node: specifier: ^10.0.0 version: 10.9.1(@swc/core@1.9.2)(@types/node@20.16.5)(typescript@5.3.3) @@ -1109,30 +1106,6 @@ importers: specifier: ^1.0.24 version: 1.8.21(typescript@4.9.5) - tools/strict-check: - devDependencies: - '@actions/core': - specifier: ^1.10.1 - version: 1.10.1 - '@types/fs-extra': - specifier: ^9.0.13 - version: 9.0.13 - '@types/mustache': - specifier: ^4.1.1 - version: 4.2.4 - execa: - specifier: ^5.1.1 - version: 5.1.1 - fs-extra: - specifier: ^11.2.0 - version: 11.2.0 - mustache: - specifier: ^4.2.0 - version: 4.2.0 - typescript: - specifier: ^5.6.2 - version: 5.6.2 - packages: '@aashutoshrathi/word-wrap@1.2.6': diff --git a/tools/strict-check/check.mjs b/tools/strict-check/check.mjs deleted file mode 100755 index a67142be49a..00000000000 --- a/tools/strict-check/check.mjs +++ /dev/null @@ -1,89 +0,0 @@ -#!/usr/bin/env node - -import execa from 'execa'; -import * as core from '@actions/core'; -import mustache from 'mustache'; - -let tscOutput = ''; - -const [_, __, ...changedFiles] = process.argv; - -try { - const tscCommand = await execa('tsc', ['-p', 'strict-check.json']); - tscOutput = tscCommand.stdout; -} catch (error) { - tscOutput = error.stdout; -} - -const lines = tscOutput.split('\n'); -const output = []; - -for (const line of lines) { - const regexFile = /(.*)(\(\d+,\d+\)):\W(.*)/; - - const match = line.match(regexFile); - - if (match) { - const [, file, position, message] = match; - - changedFiles.forEach((changedFile) => { - if (changedFile.includes(file)) { - output.push({ - line, - file, - position, - message, - }); - } - }); - } -} - -function getCommentBody() { - if (output.length === 0) { - return ['### Report of `strict` check', '', 'No errors found 🎉'].join( - '\n' - ); - } - - const comment = `### Report of \`strict\` check - -{{#files}} -
-{{file}} - -
    -{{#errors}} -
  • - {{line}}: {{message}} -
  • -{{/errors}} -
- -
-{{/files}} - -`; - - const groupedByFile = output.reduce((acc, obj) => { - const { file } = obj; - if (!acc[file]) { - acc[file] = []; - } - acc[file].push(obj); - return acc; - }, {}); - - const viewData = { - files: Object.keys(groupedByFile).map((file) => ({ - file, - errors: groupedByFile[file], - })), - }; - - const rendered = mustache.render(comment, viewData); - return rendered; -} - -core.setOutput('body', getCommentBody()); -core.setOutput('has_errors', output.length > 0); diff --git a/tools/strict-check/package.json b/tools/strict-check/package.json deleted file mode 100644 index c0bbd36d094..00000000000 --- a/tools/strict-check/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "strict-check", - "version": "1.0.0", - "private": true, - "bin": { - "strict-check": "./check.mjs" - }, - "scripts": { - "check": "echo \"Error: no test specified\" && exit 1" - }, - "devDependencies": { - "@actions/core": "^1.10.1", - "@types/fs-extra": "^9.0.13", - "@types/mustache": "^4.1.1", - "execa": "^5.1.1", - "fs-extra": "^11.2.0", - "mustache": "^4.2.0", - "typescript": "^5.6.2" - }, - "type": "module" -}