@siemens/ix 2.6.0 → 2.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/button.js +7 -2
- package/components/button.js.map +1 -1
- package/components/dropdown-item.js +1 -1
- package/components/dropdown-item.js.map +1 -1
- package/components/field-label.js +1 -1
- package/components/field-label.js.map +1 -1
- package/components/field-wrapper.js +2 -2
- package/components/field-wrapper.js.map +1 -1
- package/components/index3.js +2 -1
- package/components/index3.js.map +1 -1
- package/components/input.util.js +4 -8
- package/components/input.util.js.map +1 -1
- package/components/ix-date-input.js +6 -6
- package/components/ix-date-input.js.map +1 -1
- package/components/ix-input.js +3 -3
- package/components/ix-input.js.map +1 -1
- package/components/ix-number-input.js +5 -5
- package/components/ix-number-input.js.map +1 -1
- package/components/ix-textarea.js +2 -2
- package/components/ix-textarea.js.map +1 -1
- package/components/ix-toggle-button.js +2 -2
- package/components/ix-toggle.js +25 -5
- package/components/ix-toggle.js.map +1 -1
- package/components/ix-tree.js +330 -496
- package/components/ix-tree.js.map +1 -1
- package/components/ix-upload.js +3 -3
- package/components/ix-validation-tooltip.js +2 -2
- package/components/ix-workflow-step.js +3 -3
- package/components/ix-workflow-steps.js +1 -1
- package/components/modal.js +6 -0
- package/components/modal.js.map +1 -1
- package/components/select.js +68 -52
- package/components/select.js.map +1 -1
- package/components/tooltip.js +2 -2
- package/components/tree-item.js +6 -5
- package/components/tree-item.js.map +1 -1
- package/dist/cjs/{app-globals-3c9c6a50.js → app-globals-4d8f1524.js} +2 -2
- package/dist/cjs/{app-globals-3c9c6a50.js.map → app-globals-4d8f1524.js.map} +1 -1
- package/dist/cjs/core-js-b22adfab.js +26 -0
- package/dist/cjs/core-js-b22adfab.js.map +1 -0
- package/dist/cjs/{helper-text-util-3192e78f.js → helper-text-util-635a1877.js} +2 -2
- package/dist/cjs/{helper-text-util-3192e78f.js.map → helper-text-util-635a1877.js.map} +1 -1
- package/dist/cjs/{index-74904d8b.js → index-492e6488.js} +2 -2
- package/dist/cjs/{index-74904d8b.js.map → index-492e6488.js.map} +1 -1
- package/dist/cjs/{index-d2117dc0.js → index-b44a6617.js} +3 -1
- package/dist/cjs/index-b44a6617.js.map +1 -0
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/{index.es2017-0c2b80b6.js → index.es2017-805b5876.js} +3 -3
- package/dist/cjs/{index.es2017-0c2b80b6.js.map → index.es2017-805b5876.js.map} +1 -1
- package/dist/cjs/{input.util-1c2fa43d.js → input.util-54d161e6.js} +5 -9
- package/dist/cjs/input.util-54d161e6.js.map +1 -0
- package/dist/cjs/ix-application-header.cjs.entry.js +2 -2
- package/dist/cjs/ix-application-switch-modal.cjs.entry.js +1 -1
- package/dist/cjs/ix-button.cjs.entry.js +7 -2
- package/dist/cjs/ix-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-col_4.cjs.entry.js +1 -1
- package/dist/cjs/ix-date-input.cjs.entry.js +6 -6
- package/dist/cjs/ix-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-dropdown-item.cjs.entry.js +1 -1
- package/dist/cjs/ix-dropdown-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-field-label_3.cjs.entry.js +7 -7
- package/dist/cjs/ix-field-label_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-helper-text.cjs.entry.js +2 -2
- package/dist/cjs/{ix-icon.entry-e95ddded.js → ix-icon.entry-e33446e2.js} +2 -2
- package/dist/cjs/{ix-icon.entry-e95ddded.js.map → ix-icon.entry-e33446e2.js.map} +1 -1
- package/dist/cjs/ix-input.cjs.entry.js +5 -5
- package/dist/cjs/ix-input.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-menu.cjs.entry.js +2 -2
- package/dist/cjs/ix-number-input.cjs.entry.js +7 -7
- package/dist/cjs/ix-number-input.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-select.cjs.entry.js +68 -52
- package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-textarea.cjs.entry.js +3 -3
- package/dist/cjs/ix-textarea.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-time-picker.cjs.entry.js +1 -1
- package/dist/cjs/ix-toggle-button.cjs.entry.js +2 -2
- package/dist/cjs/ix-toggle.cjs.entry.js +17 -3
- package/dist/cjs/ix-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-tree-item.cjs.entry.js +6 -5
- package/dist/cjs/ix-tree-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-tree.cjs.entry.js +330 -489
- package/dist/cjs/ix-tree.cjs.entry.js.map +1 -1
- package/dist/cjs/ix-upload.cjs.entry.js +3 -3
- package/dist/cjs/ix-validation-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/ix-workflow-step.cjs.entry.js +3 -3
- package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/{modal-a49409aa.js → modal-923c83a6.js} +7 -1
- package/dist/cjs/modal-923c83a6.js.map +1 -0
- package/dist/cjs/{setup-86b7d543.js → setup-cc07fbfc.js} +2 -2
- package/dist/cjs/{setup-86b7d543.js.map → setup-cc07fbfc.js.map} +1 -1
- package/dist/cjs/siemens-ix.cjs.js +3 -3
- package/dist/collection/components/button/button.js +7 -2
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/date-input/date-input.js +8 -6
- package/dist/collection/components/date-input/date-input.js.map +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.css +0 -3
- package/dist/collection/components/field-label/field-label.js +13 -5
- package/dist/collection/components/field-label/field-label.js.map +1 -1
- package/dist/collection/components/field-wrapper/field-wrapper.js +12 -4
- package/dist/collection/components/field-wrapper/field-wrapper.js.map +1 -1
- package/dist/collection/components/input/input.fc.js +4 -8
- package/dist/collection/components/input/input.fc.js.map +1 -1
- package/dist/collection/components/input/input.js +5 -3
- package/dist/collection/components/input/input.js.map +1 -1
- package/dist/collection/components/input/number-input.js +7 -5
- package/dist/collection/components/input/number-input.js.map +1 -1
- package/dist/collection/components/input/textarea.js +2 -2
- package/dist/collection/components/input/textarea.js.map +1 -1
- package/dist/collection/components/modal/test/modal.ct.js +57 -65
- package/dist/collection/components/modal/test/modal.ct.js.map +1 -1
- package/dist/collection/components/select/select.js +68 -52
- package/dist/collection/components/select/select.js.map +1 -1
- package/dist/collection/components/select/test/select.ct.js +72 -100
- package/dist/collection/components/select/test/select.ct.js.map +1 -1
- package/dist/collection/components/toggle/toggle.css +376 -161
- package/dist/collection/components/toggle/toggle.js +17 -3
- package/dist/collection/components/toggle/toggle.js.map +1 -1
- package/dist/collection/components/toggle-button/toggle-button.js +2 -2
- package/dist/collection/components/tooltip/tooltip.js +2 -2
- package/dist/collection/components/tree/tree.js +6 -3
- package/dist/collection/components/tree/tree.js.map +1 -1
- package/dist/collection/components/tree-item/tree-item.js +6 -5
- package/dist/collection/components/tree-item/tree-item.js.map +1 -1
- package/dist/collection/components/upload/upload.js +3 -3
- package/dist/collection/components/utils/lazy-list/index.js +2 -0
- package/dist/collection/components/utils/lazy-list/index.js.map +1 -0
- package/dist/collection/components/utils/lazy-list/lazy.js +343 -0
- package/dist/collection/components/utils/lazy-list/lazy.js.map +1 -0
- package/dist/collection/components/utils/modal/modal.js +6 -0
- package/dist/collection/components/utils/modal/modal.js.map +1 -1
- package/dist/collection/components/validation-tooltip/validation-tooltip.js +2 -2
- package/dist/collection/components/workflow-step/workflow-step.js +3 -3
- package/dist/collection/components/workflow-steps/workflow-steps.js +1 -1
- package/dist/collection/tests/html-tags/html-tags.e2e.js +17 -0
- package/dist/collection/tests/html-tags/html-tags.e2e.js.map +1 -0
- package/dist/esm/app-globals-40082a83.js +7 -0
- package/dist/esm/{app-globals-ae0ca705.js.map → app-globals-40082a83.js.map} +1 -1
- package/dist/esm/{core-js-78b486a8.js → core-js-4a847feb.js} +2 -2
- package/dist/esm/{core-js-78b486a8.js.map → core-js-4a847feb.js.map} +1 -1
- package/dist/esm/{helper-text-util-10896253.js → helper-text-util-e47b864d.js} +2 -2
- package/dist/esm/{helper-text-util-10896253.js.map → helper-text-util-e47b864d.js.map} +1 -1
- package/dist/esm/{index-ad2af369.js → index-2b76ea55.js} +3 -2
- package/dist/esm/index-2b76ea55.js.map +1 -0
- package/dist/esm/{index-60d17930.js → index-7421df0c.js} +2 -2
- package/dist/esm/{index-60d17930.js.map → index-7421df0c.js.map} +1 -1
- package/dist/esm/{index.es2017-93ac816c.js → index.es2017-4e6fdf77.js} +3 -3
- package/dist/esm/{index.es2017-93ac816c.js.map → index.es2017-4e6fdf77.js.map} +1 -1
- package/dist/esm/index.js +3 -3
- package/dist/esm/{input.util-715860e3.js → input.util-c855b2ed.js} +5 -9
- package/dist/esm/input.util-c855b2ed.js.map +1 -0
- package/dist/esm/ix-application-header.entry.js +2 -2
- package/dist/esm/ix-application-switch-modal.entry.js +1 -1
- package/dist/esm/ix-button.entry.js +7 -2
- package/dist/esm/ix-button.entry.js.map +1 -1
- package/dist/esm/ix-col_4.entry.js +1 -1
- package/dist/esm/ix-date-input.entry.js +6 -6
- package/dist/esm/ix-date-input.entry.js.map +1 -1
- package/dist/esm/ix-dropdown-item.entry.js +1 -1
- package/dist/esm/ix-dropdown-item.entry.js.map +1 -1
- package/dist/esm/ix-field-label_3.entry.js +7 -7
- package/dist/esm/ix-field-label_3.entry.js.map +1 -1
- package/dist/esm/ix-helper-text.entry.js +2 -2
- package/dist/esm/{ix-icon.entry-621b700a.js → ix-icon.entry-f5f7c268.js} +2 -2
- package/dist/esm/{ix-icon.entry-621b700a.js.map → ix-icon.entry-f5f7c268.js.map} +1 -1
- package/dist/esm/ix-input.entry.js +5 -5
- package/dist/esm/ix-input.entry.js.map +1 -1
- package/dist/esm/ix-menu.entry.js +2 -2
- package/dist/esm/ix-number-input.entry.js +7 -7
- package/dist/esm/ix-number-input.entry.js.map +1 -1
- package/dist/esm/ix-select.entry.js +68 -52
- package/dist/esm/ix-select.entry.js.map +1 -1
- package/dist/esm/ix-textarea.entry.js +3 -3
- package/dist/esm/ix-textarea.entry.js.map +1 -1
- package/dist/esm/ix-time-picker.entry.js +1 -1
- package/dist/esm/ix-toggle-button.entry.js +2 -2
- package/dist/esm/ix-toggle.entry.js +18 -4
- package/dist/esm/ix-toggle.entry.js.map +1 -1
- package/dist/esm/ix-tree-item.entry.js +6 -5
- package/dist/esm/ix-tree-item.entry.js.map +1 -1
- package/dist/esm/ix-tree.entry.js +330 -489
- package/dist/esm/ix-tree.entry.js.map +1 -1
- package/dist/esm/ix-upload.entry.js +3 -3
- package/dist/esm/ix-validation-tooltip.entry.js +2 -2
- package/dist/esm/ix-workflow-step.entry.js +3 -3
- package/dist/esm/ix-workflow-steps.entry.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{modal-101eef04.js → modal-4b3f8800.js} +7 -1
- package/dist/{cjs/modal-a49409aa.js.map → esm/modal-4b3f8800.js.map} +1 -1
- package/dist/esm/{setup-d88021f8.js → setup-9c5fe321.js} +2 -2
- package/dist/esm/{setup-d88021f8.js.map → setup-9c5fe321.js.map} +1 -1
- package/dist/esm/siemens-ix.js +3 -3
- package/dist/siemens-ix/index.esm.js +1 -1
- package/dist/siemens-ix/{p-0dbc970e.entry.js → p-0b2f0536.entry.js} +2 -2
- package/dist/siemens-ix/{p-2b226409.entry.js → p-0b5c9f33.entry.js} +2 -2
- package/dist/siemens-ix/p-0b5c9f33.entry.js.map +1 -0
- package/dist/siemens-ix/{p-044c2a7b.entry.js → p-18542846.entry.js} +2 -2
- package/dist/siemens-ix/p-20938f73.entry.js +2 -0
- package/dist/siemens-ix/p-20938f73.entry.js.map +1 -0
- package/dist/siemens-ix/p-22cba43a.entry.js +2 -0
- package/dist/siemens-ix/p-22cba43a.entry.js.map +1 -0
- package/dist/siemens-ix/{p-9fe2759f.entry.js → p-243e8b32.entry.js} +2 -2
- package/dist/siemens-ix/p-243e8b32.entry.js.map +1 -0
- package/dist/siemens-ix/p-38d9d569.js +2 -0
- package/dist/siemens-ix/p-38d9d569.js.map +1 -0
- package/dist/siemens-ix/{p-d7aa00d6.js → p-3aaecbd9.js} +2 -2
- package/dist/siemens-ix/{p-175599e4.entry.js → p-42320fb3.entry.js} +2 -2
- package/dist/siemens-ix/p-44fa005c.js +4 -0
- package/dist/siemens-ix/{p-a2200306.js.map → p-44fa005c.js.map} +1 -1
- package/dist/siemens-ix/p-451551d1.js +2 -0
- package/dist/siemens-ix/p-451551d1.js.map +1 -0
- package/dist/siemens-ix/p-53fd545a.entry.js +2 -0
- package/dist/siemens-ix/p-53fd545a.entry.js.map +1 -0
- package/dist/siemens-ix/p-5fbdff13.entry.js +2 -0
- package/dist/siemens-ix/p-5fbdff13.entry.js.map +1 -0
- package/dist/siemens-ix/{p-1f6df0c6.js → p-738c2d1f.js} +2 -2
- package/dist/siemens-ix/{p-424e8092.entry.js → p-897c8e5b.entry.js} +2 -2
- package/dist/siemens-ix/p-897c8e5b.entry.js.map +1 -0
- package/dist/siemens-ix/{p-f35386ec.js → p-93d4d3c9.js} +2 -2
- package/dist/siemens-ix/{p-9948574f.entry.js → p-97d4b3bd.entry.js} +2 -2
- package/dist/siemens-ix/{p-6a4a2064.entry.js → p-9f960c0b.entry.js} +2 -2
- package/dist/siemens-ix/{p-0c89cbcc.entry.js → p-a4dc6824.entry.js} +2 -2
- package/dist/siemens-ix/{p-fe87443e.js → p-a6af13b0.js} +2 -2
- package/dist/siemens-ix/p-af7c4b16.entry.js +2 -0
- package/dist/siemens-ix/p-af7c4b16.entry.js.map +1 -0
- package/dist/siemens-ix/{p-a3364116.entry.js → p-afb4565c.entry.js} +2 -2
- package/dist/siemens-ix/{p-4c9b7548.entry.js → p-bc272f75.entry.js} +2 -2
- package/dist/siemens-ix/{p-3205726a.entry.js → p-bfe469e4.entry.js} +2 -2
- package/dist/siemens-ix/{p-792e1c52.entry.js → p-c07557b0.entry.js} +2 -2
- package/dist/siemens-ix/p-c07557b0.entry.js.map +1 -0
- package/dist/siemens-ix/p-c3ca17fc.js +2 -0
- package/dist/siemens-ix/p-c530de51.entry.js +2 -0
- package/dist/siemens-ix/p-c530de51.entry.js.map +1 -0
- package/dist/siemens-ix/p-d2f21544.js +2 -0
- package/dist/siemens-ix/{p-68bb2a09.entry.js → p-d9b654af.entry.js} +2 -2
- package/dist/siemens-ix/p-d9b654af.entry.js.map +1 -0
- package/dist/siemens-ix/{p-e9a37b3f.entry.js → p-ee0645f8.entry.js} +2 -2
- package/dist/siemens-ix/p-fe158b99.js +2 -0
- package/dist/siemens-ix/p-fe158b99.js.map +1 -0
- package/dist/siemens-ix/{p-f39048a2.entry.js → p-fe396297.entry.js} +2 -2
- package/dist/siemens-ix/siemens-ix.esm.js +1 -1
- package/dist/types/components/button/button.d.ts +1 -0
- package/dist/types/components/date-input/date-input.d.ts +2 -0
- package/dist/types/components/field-label/field-label.d.ts +1 -1
- package/dist/types/components/field-wrapper/field-wrapper.d.ts +1 -1
- package/dist/types/components/input/input.d.ts +2 -0
- package/dist/types/components/input/number-input.d.ts +2 -0
- package/dist/types/components/modal/test/modal.ct.d.ts +2 -1
- package/dist/types/components/select/select.d.ts +9 -8
- package/dist/types/components/utils/lazy-list/index.d.ts +2 -0
- package/dist/types/components/utils/lazy-list/lazy.d.ts +51 -0
- package/dist/types/components.d.ts +9 -3
- package/hydrate/index.js +499 -621
- package/package.json +1 -2
- package/dist/cjs/_commonjsHelpers-0192c5b3.js +0 -17
- package/dist/cjs/_commonjsHelpers-0192c5b3.js.map +0 -1
- package/dist/cjs/core-js-2fc351ee.js +0 -26
- package/dist/cjs/core-js-2fc351ee.js.map +0 -1
- package/dist/cjs/index-d2117dc0.js.map +0 -1
- package/dist/cjs/input.util-1c2fa43d.js.map +0 -1
- package/dist/esm/_commonjsHelpers-e557d4a5.js +0 -13
- package/dist/esm/_commonjsHelpers-e557d4a5.js.map +0 -1
- package/dist/esm/app-globals-ae0ca705.js +0 -7
- package/dist/esm/index-ad2af369.js.map +0 -1
- package/dist/esm/input.util-715860e3.js.map +0 -1
- package/dist/esm/modal-101eef04.js.map +0 -1
- package/dist/siemens-ix/p-0f0e7e14.entry.js +0 -2
- package/dist/siemens-ix/p-0f0e7e14.entry.js.map +0 -1
- package/dist/siemens-ix/p-23a4b81f.js +0 -2
- package/dist/siemens-ix/p-23a4b81f.js.map +0 -1
- package/dist/siemens-ix/p-2b226409.entry.js.map +0 -1
- package/dist/siemens-ix/p-424e8092.entry.js.map +0 -1
- package/dist/siemens-ix/p-45840cb9.js +0 -2
- package/dist/siemens-ix/p-45840cb9.js.map +0 -1
- package/dist/siemens-ix/p-4624a772.entry.js +0 -2
- package/dist/siemens-ix/p-4624a772.entry.js.map +0 -1
- package/dist/siemens-ix/p-50096707.js +0 -2
- package/dist/siemens-ix/p-5682e985.js +0 -2
- package/dist/siemens-ix/p-5db5a0b5.entry.js +0 -2
- package/dist/siemens-ix/p-5db5a0b5.entry.js.map +0 -1
- package/dist/siemens-ix/p-68bb2a09.entry.js.map +0 -1
- package/dist/siemens-ix/p-792e1c52.entry.js.map +0 -1
- package/dist/siemens-ix/p-79bb0d39.js +0 -2
- package/dist/siemens-ix/p-79bb0d39.js.map +0 -1
- package/dist/siemens-ix/p-857f99c8.entry.js +0 -2
- package/dist/siemens-ix/p-857f99c8.entry.js.map +0 -1
- package/dist/siemens-ix/p-9fe2759f.entry.js.map +0 -1
- package/dist/siemens-ix/p-a2200306.js +0 -4
- package/dist/siemens-ix/p-a427e6a2.js +0 -2
- package/dist/siemens-ix/p-a427e6a2.js.map +0 -1
- package/dist/siemens-ix/p-bded112a.entry.js +0 -2
- package/dist/siemens-ix/p-bded112a.entry.js.map +0 -1
- package/dist/siemens-ix/p-f7618d1d.entry.js +0 -2
- package/dist/siemens-ix/p-f7618d1d.entry.js.map +0 -1
- /package/dist/siemens-ix/{p-0dbc970e.entry.js.map → p-0b2f0536.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-044c2a7b.entry.js.map → p-18542846.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-d7aa00d6.js.map → p-3aaecbd9.js.map} +0 -0
- /package/dist/siemens-ix/{p-175599e4.entry.js.map → p-42320fb3.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1f6df0c6.js.map → p-738c2d1f.js.map} +0 -0
- /package/dist/siemens-ix/{p-f35386ec.js.map → p-93d4d3c9.js.map} +0 -0
- /package/dist/siemens-ix/{p-9948574f.entry.js.map → p-97d4b3bd.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-6a4a2064.entry.js.map → p-9f960c0b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-0c89cbcc.entry.js.map → p-a4dc6824.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-fe87443e.js.map → p-a6af13b0.js.map} +0 -0
- /package/dist/siemens-ix/{p-a3364116.entry.js.map → p-afb4565c.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-4c9b7548.entry.js.map → p-bc272f75.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-3205726a.entry.js.map → p-bfe469e4.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-5682e985.js.map → p-c3ca17fc.js.map} +0 -0
- /package/dist/siemens-ix/{p-50096707.js.map → p-d2f21544.js.map} +0 -0
- /package/dist/siemens-ix/{p-e9a37b3f.entry.js.map → p-ee0645f8.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-f39048a2.entry.js.map → p-fe396297.entry.js.map} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-97874de0.js';
|
|
2
|
-
import { e as iconEye, f as iconEyeCancelled } from './index-
|
|
2
|
+
import { e as iconEye, f as iconEyeCancelled } from './index-2b76ea55.js';
|
|
3
3
|
import { H as HookValidationLifecycle } from './validation-45aa490c.js';
|
|
4
4
|
import { m as makeRef } from './make-ref-4b76e9b5.js';
|
|
5
|
-
import { m as mapValidationResult, a as adjustPaddingForStartAndEnd, b as SlotStart, I as InputElement, c as checkAllowedKeys, o as onInputBlur, S as SlotEnd, g as getAriaAttributesForInput } from './input.util-
|
|
5
|
+
import { m as mapValidationResult, a as adjustPaddingForStartAndEnd, b as SlotStart, I as InputElement, c as checkAllowedKeys, o as onInputBlur, S as SlotEnd, g as getAriaAttributesForInput } from './input.util-c855b2ed.js';
|
|
6
6
|
import './a11y-b10c12e0.js';
|
|
7
7
|
import './rwd.util-d8e00a88.js';
|
|
8
8
|
import './anime.es-a5520566.js';
|
|
@@ -114,10 +114,10 @@ const Input = class {
|
|
|
114
114
|
render() {
|
|
115
115
|
var _a;
|
|
116
116
|
const inputAria = getAriaAttributesForInput(this);
|
|
117
|
-
return (h(Host, { key: '
|
|
117
|
+
return (h(Host, { key: 'f625dc7d2ed058f53940ccda73db408a3d7017a5', class: {
|
|
118
118
|
disabled: this.disabled,
|
|
119
119
|
readonly: this.readonly,
|
|
120
|
-
} }, h("ix-field-wrapper", { key: '
|
|
120
|
+
} }, h("ix-field-wrapper", { key: 'c018215d637253e021247473c35701ff94d3f028', htmlForLabel: this.inputId, required: this.required, label: this.label, helperText: this.helperText, invalidText: this.invalidText, infoText: this.infoText, warningText: this.warningText, validText: this.validText, showTextAsTooltip: this.showTextAsTooltip, isInvalid: this.isInvalid, isValid: this.isValid, isInfo: this.isInfo, isWarning: this.isWarning, controlRef: this.inputRef }, h("div", { key: 'cc9ee3d23a14d0e10351f294fae72aeec82fbf64', class: "input-wrapper" }, h(SlotStart, { key: 'f32e50c55492dc1423b91f05209c1e9914b50f28', slotStartRef: this.slotStartRef, onSlotChange: () => this.updatePaddings() }), h(InputElement, { key: 'ca17d2fee580dbe2e8d176018d0e55565bef5f33', id: this.inputId, readonly: this.readonly, disabled: this.disabled, maxLength: this.maxLength, minLength: this.minLength, pattern: this.pattern, type: this.inputType, isInvalid: this.isInvalid, required: this.required, value: this.value, placeholder: this.placeholder, inputRef: this.inputRef, onKeyPress: (event) => checkAllowedKeys(this, event), valueChange: (value) => this.valueChange.emit(value), updateFormInternalValue: (value) => this.updateFormInternalValue(value), onBlur: () => onInputBlur(this, this.inputRef.current), ariaAttributes: inputAria }), h(SlotEnd, { key: '5664747770d85defa36d460b4aa3e497a802bca2', slotEndRef: this.slotEndRef, onSlotChange: () => this.updatePaddings() }, h("ix-icon-button", { key: 'f680b65ba0355746be49646d25a2074cc4a9caac', color: "color-weak-text", class: {
|
|
121
121
|
'password-eye': true,
|
|
122
122
|
'eye-hidden': this.type !== 'password',
|
|
123
123
|
}, ghost: true, icon: this.inputType === 'password' ? iconEye : iconEyeCancelled, onClick: () => {
|
|
@@ -126,7 +126,7 @@ const Input = class {
|
|
|
126
126
|
return;
|
|
127
127
|
}
|
|
128
128
|
this.inputType = 'password';
|
|
129
|
-
} }))), !!this.maxLength && this.maxLength > 0 && (h("ix-typography", { key: '
|
|
129
|
+
} }))), !!this.maxLength && this.maxLength > 0 && (h("ix-typography", { key: 'baa09803b87cd3efce3cce29cb735b5d0a290832', class: "bottom-text", slot: "bottom-right", color: "soft" }, (_a = this.value) === null || _a === void 0 ? void 0 :
|
|
130
130
|
_a.length, "/", this.maxLength)))));
|
|
131
131
|
}
|
|
132
132
|
static get formAssociated() { return true; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"ix-input.entry.js","mappings":"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","names":[],"sources":["src/components/input/input.scss?tag=ix-input&encapsulation=shadow","src/components/input/input.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import 'components/form/input';\n@import 'mixins/shadow-dom/component';\n@import 'mixins/validation/form-component';\n@import './input.mixins.scss';\n\n@include input-field;\n\n:host {\n .password-eye {\n margin-left: 0.125rem;\n color: red;\n\n &.eye-hidden {\n display: none;\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { iconEye, iconEyeCancelled } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { A11yAttributes } from '../utils/a11y';\nimport {\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n} from '../utils/input';\nimport { MakeRef, makeRef } from '../utils/make-ref';\nimport { InputElement, SlotEnd, SlotStart } from './input.fc';\nimport {\n adjustPaddingForStartAndEnd,\n checkAllowedKeys,\n getAriaAttributesForInput,\n mapValidationResult,\n onInputBlur,\n} from './input.util';\n\nlet inputIds = 0;\n\n/**\n * @since 2.6.0\n * @form-ready 2.6.0\n */\n@Component({\n tag: 'ix-input',\n styleUrl: 'input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Input implements IxInputFieldComponent<string> {\n @Element() hostElement!: HTMLIxInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * The type of the text field. Possible values are 'text', 'email', or 'password'.\n */\n @Prop() type: 'text' | 'email' | 'password' | 'tel' | 'url' = 'text';\n\n /**\n * The name of the text field.\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * The placeholder text for the text field.\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n /**\n * Specifies whether the text field is required.\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Specifies whether the text field is disabled.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Specifies whether the text field is readonly.\n */\n @Prop({ reflect: true }) readonly: boolean = false;\n\n /**\n * The helper text for the text field.\n */\n @Prop() helperText?: string;\n\n /**\n * The info text for the text field.\n */\n @Prop() infoText?: string;\n\n /**\n * Specifies whether to show the text as a tooltip.\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * The valid text for the text field.\n */\n @Prop() validText?: string;\n\n /**\n * The warning text for the text field.\n */\n @Prop() warningText?: string;\n\n /**\n * The label for the text field.\n */\n @Prop({ reflect: true }) label?: string;\n\n /**\n * The error text for the text field.\n */\n @Prop() invalidText?: string;\n\n /**\n * The pattern for the text field.\n */\n @Prop() pattern?: string;\n\n /**\n * The maximum length of the text field.\n */\n @Prop() maxLength?: number;\n\n /**\n * The minimum length of the text field.\n */\n @Prop() minLength?: number;\n\n /**\n * The allowed characters pattern for the text field.\n */\n @Prop() allowedCharactersPattern?: string;\n\n /**\n * Event emitted when the value of the text field changes.\n */\n @Event() valueChange!: EventEmitter<string>;\n\n /**\n * Event emitted when the validity state of the text field changes.\n */\n @Event() validityStateChange!: EventEmitter<ValidityState>;\n\n /**\n * Event emitted when the text field loses focus.\n */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() isInvalidByRequired = false;\n\n @State() inputType = 'text';\n\n private readonly inputRef = makeRef<HTMLInputElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n\n private readonly inputId = `input-${inputIds++}`;\n\n @HookValidationLifecycle()\n updateClassMappings(result: ValidationResults) {\n mapValidationResult(this, result);\n }\n\n @Watch('type')\n updateInputType() {\n this.inputType = this.type;\n }\n\n componentWillLoad() {\n this.updateFormInternalValue(this.value);\n this.inputType = this.type;\n }\n\n componentDidRender() {\n this.updatePaddings();\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputRef.current\n );\n }\n\n updateFormInternalValue(value: string) {\n this.formInternals.setFormValue(value);\n this.value = value;\n }\n\n /** @internal */\n @Method()\n async getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return this.formInternals.form;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /**\n * Returns the native input element used in the text field.\n */\n @Method()\n getNativeInputElement() {\n return this.inputRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n render() {\n const inputAria: A11yAttributes = getAriaAttributesForInput(this);\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n htmlForLabel={this.inputId}\n required={this.required}\n label={this.label}\n helperText={this.helperText}\n invalidText={this.invalidText}\n infoText={this.infoText}\n warningText={this.warningText}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n isInvalid={this.isInvalid}\n isValid={this.isValid}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n controlRef={this.inputRef as unknown as MakeRef<HTMLElement>}\n >\n <div class=\"input-wrapper\">\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <InputElement\n id={this.inputId}\n readonly={this.readonly}\n disabled={this.disabled}\n maxLength={this.maxLength}\n minLength={this.minLength}\n pattern={this.pattern}\n type={this.inputType}\n isInvalid={this.isInvalid}\n required={this.required}\n value={this.value}\n placeholder={this.placeholder}\n inputRef={this.inputRef}\n onKeyPress={(event) => checkAllowedKeys(this, event)}\n valueChange={(value) => this.valueChange.emit(value)}\n updateFormInternalValue={(value) =>\n this.updateFormInternalValue(value)\n }\n onBlur={() => onInputBlur(this, this.inputRef.current)}\n ariaAttributes={inputAria}\n ></InputElement>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <ix-icon-button\n color=\"color-weak-text\"\n class={{\n 'password-eye': true,\n 'eye-hidden': this.type !== 'password',\n }}\n ghost\n icon={\n this.inputType === 'password' ? iconEye : iconEyeCancelled\n }\n onClick={() => {\n if (this.inputType === 'password') {\n this.inputType = 'text';\n return;\n }\n\n this.inputType = 'password';\n }}\n ></ix-icon-button>\n </SlotEnd>\n </div>\n {!!this.maxLength && this.maxLength > 0 && (\n <ix-typography class=\"bottom-text\" slot=\"bottom-right\" color=\"soft\">\n {this.value?.length}/{this.maxLength}\n </ix-typography>\n )}\n </ix-field-wrapper>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"ix-input.entry.js","mappings":"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","names":[],"sources":["src/components/input/input.scss?tag=ix-input&encapsulation=shadow","src/components/input/input.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import 'components/form/input';\n@import 'mixins/shadow-dom/component';\n@import 'mixins/validation/form-component';\n@import './input.mixins.scss';\n\n@include input-field;\n\n:host {\n .password-eye {\n margin-left: 0.125rem;\n color: red;\n\n &.eye-hidden {\n display: none;\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { iconEye, iconEyeCancelled } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n Watch,\n h,\n} from '@stencil/core';\nimport { A11yAttributes } from '../utils/a11y';\nimport {\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\nimport { InputElement, SlotEnd, SlotStart } from './input.fc';\nimport {\n adjustPaddingForStartAndEnd,\n checkAllowedKeys,\n getAriaAttributesForInput,\n mapValidationResult,\n onInputBlur,\n} from './input.util';\n\nlet inputIds = 0;\n\n/**\n * @since 2.6.0\n * @form-ready 2.6.0\n * @slot start - Element will be displayed at the start of the input\n * @slot end - Element will be displayed at the end of the input\n */\n@Component({\n tag: 'ix-input',\n styleUrl: 'input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class Input implements IxInputFieldComponent<string> {\n @Element() hostElement!: HTMLIxInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * The type of the text field. Possible values are 'text', 'email', or 'password'.\n */\n @Prop() type: 'text' | 'email' | 'password' | 'tel' | 'url' = 'text';\n\n /**\n * The name of the text field.\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * The placeholder text for the text field.\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n /**\n * Specifies whether the text field is required.\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Specifies whether the text field is disabled.\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Specifies whether the text field is readonly.\n */\n @Prop({ reflect: true }) readonly: boolean = false;\n\n /**\n * The helper text for the text field.\n */\n @Prop() helperText?: string;\n\n /**\n * The info text for the text field.\n */\n @Prop() infoText?: string;\n\n /**\n * Specifies whether to show the text as a tooltip.\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * The valid text for the text field.\n */\n @Prop() validText?: string;\n\n /**\n * The warning text for the text field.\n */\n @Prop() warningText?: string;\n\n /**\n * The label for the text field.\n */\n @Prop({ reflect: true }) label?: string;\n\n /**\n * The error text for the text field.\n */\n @Prop() invalidText?: string;\n\n /**\n * The pattern for the text field.\n */\n @Prop() pattern?: string;\n\n /**\n * The maximum length of the text field.\n */\n @Prop() maxLength?: number;\n\n /**\n * The minimum length of the text field.\n */\n @Prop() minLength?: number;\n\n /**\n * The allowed characters pattern for the text field.\n */\n @Prop() allowedCharactersPattern?: string;\n\n /**\n * Event emitted when the value of the text field changes.\n */\n @Event() valueChange!: EventEmitter<string>;\n\n /**\n * Event emitted when the validity state of the text field changes.\n */\n @Event() validityStateChange!: EventEmitter<ValidityState>;\n\n /**\n * Event emitted when the text field loses focus.\n */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() isInvalidByRequired = false;\n\n @State() inputType = 'text';\n\n private readonly inputRef = makeRef<HTMLInputElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n\n private readonly inputId = `input-${inputIds++}`;\n\n @HookValidationLifecycle()\n updateClassMappings(result: ValidationResults) {\n mapValidationResult(this, result);\n }\n\n @Watch('type')\n updateInputType() {\n this.inputType = this.type;\n }\n\n componentWillLoad() {\n this.updateFormInternalValue(this.value);\n this.inputType = this.type;\n }\n\n componentDidRender() {\n this.updatePaddings();\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputRef.current\n );\n }\n\n updateFormInternalValue(value: string) {\n this.formInternals.setFormValue(value);\n this.value = value;\n }\n\n /** @internal */\n @Method()\n async getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return this.formInternals.form;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /**\n * Returns the native input element used in the text field.\n */\n @Method()\n getNativeInputElement() {\n return this.inputRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n render() {\n const inputAria: A11yAttributes = getAriaAttributesForInput(this);\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n htmlForLabel={this.inputId}\n required={this.required}\n label={this.label}\n helperText={this.helperText}\n invalidText={this.invalidText}\n infoText={this.infoText}\n warningText={this.warningText}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n isInvalid={this.isInvalid}\n isValid={this.isValid}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n controlRef={this.inputRef}\n >\n <div class=\"input-wrapper\">\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <InputElement\n id={this.inputId}\n readonly={this.readonly}\n disabled={this.disabled}\n maxLength={this.maxLength}\n minLength={this.minLength}\n pattern={this.pattern}\n type={this.inputType}\n isInvalid={this.isInvalid}\n required={this.required}\n value={this.value}\n placeholder={this.placeholder}\n inputRef={this.inputRef}\n onKeyPress={(event) => checkAllowedKeys(this, event)}\n valueChange={(value) => this.valueChange.emit(value)}\n updateFormInternalValue={(value) =>\n this.updateFormInternalValue(value)\n }\n onBlur={() => onInputBlur(this, this.inputRef.current)}\n ariaAttributes={inputAria}\n ></InputElement>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <ix-icon-button\n color=\"color-weak-text\"\n class={{\n 'password-eye': true,\n 'eye-hidden': this.type !== 'password',\n }}\n ghost\n icon={\n this.inputType === 'password' ? iconEye : iconEyeCancelled\n }\n onClick={() => {\n if (this.inputType === 'password') {\n this.inputType = 'text';\n return;\n }\n\n this.inputType = 'password';\n }}\n ></ix-icon-button>\n </SlotEnd>\n </div>\n {!!this.maxLength && this.maxLength > 0 && (\n <ix-typography class=\"bottom-text\" slot=\"bottom-right\" color=\"soft\">\n {this.value?.length}/{this.maxLength}\n </ix-typography>\n )}\n </ix-field-wrapper>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-97874de0.js';
|
|
2
2
|
import { a as anime } from './anime.es-a5520566.js';
|
|
3
|
-
import { s as showAppSwitch } from './index-
|
|
3
|
+
import { s as showAppSwitch } from './index-7421df0c.js';
|
|
4
4
|
import { a as useContextConsumer, A as ApplicationLayoutContext } from './context-42311cff.js';
|
|
5
5
|
import { a as applicationLayoutService } from './service-c7fc628b.js';
|
|
6
6
|
import { m as menuController } from './menu-service-f974814b.js';
|
|
7
7
|
import { a as convertToRemString } from './rwd.util-d8e00a88.js';
|
|
8
8
|
import { t as themeSwitcher } from './theme-switcher-5fcf712d.js';
|
|
9
9
|
import './animation-4a73b1c3.js';
|
|
10
|
-
import './modal-
|
|
10
|
+
import './modal-4b3f8800.js';
|
|
11
11
|
import './typed-event-ad6484c5.js';
|
|
12
12
|
import './breakpoints-d5c2f627.js';
|
|
13
13
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-97874de0.js';
|
|
2
|
-
import { g as iconMinus, h as iconPlus } from './index-
|
|
2
|
+
import { g as iconMinus, h as iconPlus } from './index-2b76ea55.js';
|
|
3
3
|
import { H as HookValidationLifecycle } from './validation-45aa490c.js';
|
|
4
4
|
import { m as makeRef } from './make-ref-4b76e9b5.js';
|
|
5
|
-
import { m as mapValidationResult, a as adjustPaddingForStartAndEnd, b as SlotStart, I as InputElement, c as checkAllowedKeys, o as onInputBlur, S as SlotEnd, d as checkInternalValidity } from './input.util-
|
|
5
|
+
import { m as mapValidationResult, a as adjustPaddingForStartAndEnd, b as SlotStart, I as InputElement, c as checkAllowedKeys, o as onInputBlur, S as SlotEnd, d as checkInternalValidity } from './input.util-c855b2ed.js';
|
|
6
6
|
import './a11y-b10c12e0.js';
|
|
7
7
|
import './rwd.util-d8e00a88.js';
|
|
8
8
|
import './anime.es-a5520566.js';
|
|
@@ -108,16 +108,16 @@ const NumberInput = class {
|
|
|
108
108
|
}
|
|
109
109
|
render() {
|
|
110
110
|
const showStepperButtons = this.showStepperButtons && (this.disabled || this.readonly) === false;
|
|
111
|
-
return (h(Host, { key: '
|
|
111
|
+
return (h(Host, { key: 'd44d46cba0a85db489b707e79978d7835cd7f6db', class: {
|
|
112
112
|
disabled: this.disabled,
|
|
113
113
|
readonly: this.readonly,
|
|
114
|
-
} }, h("ix-field-wrapper", { key: '
|
|
114
|
+
} }, h("ix-field-wrapper", { key: '258921ecc2d462c97026ba1b0bfc783c277cef41', id: this.numberInputId, required: this.required, label: this.label, helperText: this.helperText, invalidText: this.invalidText, infoText: this.infoText, warningText: this.warningText, validText: this.validText, showTextAsTooltip: this.showTextAsTooltip, isInvalid: this.isInvalid, isValid: this.isValid, isInfo: this.isInfo, isWarning: this.isWarning, controlRef: this.inputRef }, h("div", { key: '88f56233a0fff77353f8e5710e7503e61877a391', class: {
|
|
115
115
|
'input-wrapper': true,
|
|
116
116
|
'show-stepper-buttons': !!this.showStepperButtons,
|
|
117
|
-
} }, h(SlotStart, { key: '
|
|
117
|
+
} }, h(SlotStart, { key: 'c74d37bb1153f84bd326b4c84308d0ef87c2af53', slotStartRef: this.slotStartRef, onSlotChange: () => this.updatePaddings() }), h(InputElement, { key: 'e538819db34d4e7b3a345f992f79cd7d528b3fae', id: this.numberInputId, readonly: this.readonly, disabled: this.disabled, min: this.min, max: this.max, pattern: this.pattern, type: 'number', isInvalid: this.isInvalid, required: this.required, value: this.value, placeholder: this.placeholder, inputRef: this.inputRef, onKeyPress: (event) => checkAllowedKeys(this, event), valueChange: (value) => this.valueChange.emit(Number(value)), updateFormInternalValue: (value) => this.updateFormInternalValue(Number(value)), onBlur: () => onInputBlur(this, this.inputRef.current) }), h(SlotEnd, { key: '91bff359e6340bace9a9669da1ee056da40bb977', slotEndRef: this.slotEndRef, onSlotChange: () => this.updatePaddings() }, h("div", { key: '9f002e7ccfb5f77e76d4e1179af333ca20f99cd2', class: {
|
|
118
118
|
'number-stepper-container': true,
|
|
119
119
|
'container-hidden': !showStepperButtons,
|
|
120
|
-
} }, h("ix-icon-button", { key: '
|
|
120
|
+
} }, h("ix-icon-button", { key: '6fa92f4a99603300ba0815bbab96f5c3c01f35b6', ghost: true, icon: iconMinus, size: "16", class: "number-stepper-button step-minus", onClick: () => {
|
|
121
121
|
if (!this.inputRef.current) {
|
|
122
122
|
return;
|
|
123
123
|
}
|
|
@@ -125,7 +125,7 @@ const NumberInput = class {
|
|
|
125
125
|
checkInternalValidity(this, this.inputRef.current);
|
|
126
126
|
this.updateFormInternalValue(Number(this.inputRef.current.value));
|
|
127
127
|
this.valueChange.emit(this.value);
|
|
128
|
-
} }), h("ix-icon-button", { key: '
|
|
128
|
+
} }), h("ix-icon-button", { key: '514c2c7164156b86b09a6aa2c999e00128e4527e', ghost: true, icon: iconPlus, size: "16", class: "number-stepper-button step-plus", onClick: () => {
|
|
129
129
|
if (!this.inputRef.current) {
|
|
130
130
|
return;
|
|
131
131
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"ix-number-input.entry.js","mappings":"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","names":[],"sources":["src/components/input/number-input.scss?tag=ix-number-input&encapsulation=shadow","src/components/input/number-input.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import './input.mixins.scss';\n\n@include input-field;\n\n:host {\n .input-wrapper.show-stepper-buttons {\n input[type='number'] {\n min-width: 6rem;\n }\n }\n\n .number-stepper-container {\n display: flex;\n position: relative;\n flex-direction: row;\n flex-wrap: nowrap;\n margin-right: 0.25rem;\n\n &.container-hidden {\n display: none;\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { iconMinus, iconPlus } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n h,\n} from '@stencil/core';\nimport {\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n} from '../utils/input';\nimport { MakeRef, makeRef } from '../utils/make-ref';\nimport { InputElement, SlotEnd, SlotStart } from './input.fc';\nimport {\n adjustPaddingForStartAndEnd,\n checkAllowedKeys,\n checkInternalValidity,\n mapValidationResult,\n onInputBlur,\n} from './input.util';\n\nlet numberInputIds = 0;\n\n/**\n * @since 2.6.0\n * @form-ready 2.6.0\n */\n@Component({\n tag: 'ix-number-input',\n styleUrl: 'number-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NumberInput implements IxInputFieldComponent<number> {\n @Element() hostElement!: HTMLIxNumberInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * name of the input element\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * placeholder of the input element\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * The value of the input field\n */\n @Prop({ reflect: true, mutable: true }) value: number = 0;\n\n /**\n * Indicates if the field is required\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Disables the input field\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Indicates if the field is read-only\n */\n @Prop() readonly: boolean = false;\n\n /**\n * The helper text for the input field\n */\n @Prop() helperText?: string;\n\n /**\n * The info text for the input field\n */\n @Prop() infoText?: string;\n\n /**\n * Indicates if the text should be shown as a tooltip\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * The valid text for the input field\n */\n @Prop() validText?: string;\n\n /**\n * The warning text for the input field\n */\n @Prop() warningText?: string;\n\n /**\n * The label for the input field\n */\n @Prop({ reflect: true }) label?: string;\n\n /**\n * The error text for the input field\n */\n @Prop() invalidText?: string;\n\n /**\n * The pattern for the input field\n */\n @Prop() pattern?: string;\n\n /**\n * The minimum value for the input field\n */\n @Prop() min?: string | number;\n\n /**\n * The maximum value for the input field\n */\n @Prop() max?: string | number;\n\n /**\n * The allowed characters pattern for the input field\n */\n @Prop() allowedCharactersPattern?: string;\n\n /**\n * Indicates if the stepper buttons should be shown\n */\n @Prop() showStepperButtons?: boolean;\n\n /**\n * Event emitted when the value of the input field changes\n */\n @Event() valueChange!: EventEmitter<number>;\n\n /**\n * Event emitted when the validity state of the input field changes\n */\n @Event() validityStateChange!: EventEmitter<ValidityState>;\n\n /**\n * Event emitted when the input field loses focus\n */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() isInvalidByRequired = false;\n\n private readonly inputRef = makeRef<HTMLInputElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n private readonly numberInputId = `number-input-${numberInputIds++}`;\n\n @HookValidationLifecycle()\n updateClassMappings(result: ValidationResults) {\n mapValidationResult(this, result);\n }\n\n componentWillLoad() {\n this.updateFormInternalValue(this.value);\n }\n\n componentDidRender() {\n this.updatePaddings();\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputRef.current\n );\n }\n\n updateFormInternalValue(value: number) {\n this.formInternals.setFormValue(value.toString());\n this.value = value;\n }\n\n /** @internal */\n @Method()\n async getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return this.formInternals.form;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /**\n * Returns the native input element used under the hood\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n return this.inputRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n render() {\n const showStepperButtons =\n this.showStepperButtons && (this.disabled || this.readonly) === false;\n\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n id={this.numberInputId}\n required={this.required}\n label={this.label}\n helperText={this.helperText}\n invalidText={this.invalidText}\n infoText={this.infoText}\n warningText={this.warningText}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n isInvalid={this.isInvalid}\n isValid={this.isValid}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n controlRef={this.inputRef as unknown as MakeRef<HTMLElement>}\n >\n <div\n class={{\n 'input-wrapper': true,\n 'show-stepper-buttons': !!this.showStepperButtons,\n }}\n >\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <InputElement\n id={this.numberInputId}\n readonly={this.readonly}\n disabled={this.disabled}\n min={this.min}\n max={this.max}\n pattern={this.pattern}\n type={'number'}\n isInvalid={this.isInvalid}\n required={this.required}\n value={this.value}\n placeholder={this.placeholder}\n inputRef={this.inputRef}\n onKeyPress={(event) => checkAllowedKeys(this, event)}\n valueChange={(value) => this.valueChange.emit(Number(value))}\n updateFormInternalValue={(value) =>\n this.updateFormInternalValue(Number(value))\n }\n onBlur={() => onInputBlur(this, this.inputRef.current)}\n ></InputElement>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <div\n class={{\n 'number-stepper-container': true,\n 'container-hidden': !showStepperButtons,\n }}\n >\n <ix-icon-button\n ghost\n icon={iconMinus}\n size=\"16\"\n class=\"number-stepper-button step-minus\"\n onClick={() => {\n if (!this.inputRef.current) {\n return;\n }\n this.inputRef.current.stepDown();\n checkInternalValidity(this, this.inputRef.current);\n this.updateFormInternalValue(\n Number(this.inputRef.current.value)\n );\n this.valueChange.emit(this.value);\n }}\n ></ix-icon-button>\n <ix-icon-button\n ghost\n icon={iconPlus}\n size=\"16\"\n class=\"number-stepper-button step-plus\"\n onClick={() => {\n if (!this.inputRef.current) {\n return;\n }\n this.inputRef.current.stepUp();\n checkInternalValidity(this, this.inputRef.current);\n this.updateFormInternalValue(\n Number(this.inputRef.current.value)\n );\n this.valueChange.emit(this.value);\n }}\n ></ix-icon-button>\n </div>\n </SlotEnd>\n </div>\n </ix-field-wrapper>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"ix-number-input.entry.js","mappings":"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","names":[],"sources":["src/components/input/number-input.scss?tag=ix-number-input&encapsulation=shadow","src/components/input/number-input.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import './input.mixins.scss';\n\n@include input-field;\n\n:host {\n .input-wrapper.show-stepper-buttons {\n input[type='number'] {\n min-width: 6rem;\n }\n }\n\n .number-stepper-container {\n display: flex;\n position: relative;\n flex-direction: row;\n flex-wrap: nowrap;\n margin-right: 0.25rem;\n\n &.container-hidden {\n display: none;\n }\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { iconMinus, iconPlus } from '@siemens/ix-icons/icons';\nimport {\n AttachInternals,\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n h,\n} from '@stencil/core';\nimport {\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\nimport { InputElement, SlotEnd, SlotStart } from './input.fc';\nimport {\n adjustPaddingForStartAndEnd,\n checkAllowedKeys,\n checkInternalValidity,\n mapValidationResult,\n onInputBlur,\n} from './input.util';\n\nlet numberInputIds = 0;\n\n/**\n * @since 2.6.0\n * @form-ready 2.6.0\n * @slot start - Element will be displayed at the start of the input\n * @slot end - Element will be displayed at the end of the input\n */\n@Component({\n tag: 'ix-number-input',\n styleUrl: 'number-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class NumberInput implements IxInputFieldComponent<number> {\n @Element() hostElement!: HTMLIxNumberInputElement;\n @AttachInternals() formInternals!: ElementInternals;\n\n /**\n * name of the input element\n */\n @Prop({ reflect: true }) name?: string;\n\n /**\n * placeholder of the input element\n */\n @Prop({ reflect: true }) placeholder?: string;\n\n /**\n * The value of the input field\n */\n @Prop({ reflect: true, mutable: true }) value: number = 0;\n\n /**\n * Indicates if the field is required\n */\n @Prop({ reflect: true }) required: boolean = false;\n\n /**\n * Disables the input field\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Indicates if the field is read-only\n */\n @Prop() readonly: boolean = false;\n\n /**\n * The helper text for the input field\n */\n @Prop() helperText?: string;\n\n /**\n * The info text for the input field\n */\n @Prop() infoText?: string;\n\n /**\n * Indicates if the text should be shown as a tooltip\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * The valid text for the input field\n */\n @Prop() validText?: string;\n\n /**\n * The warning text for the input field\n */\n @Prop() warningText?: string;\n\n /**\n * The label for the input field\n */\n @Prop({ reflect: true }) label?: string;\n\n /**\n * The error text for the input field\n */\n @Prop() invalidText?: string;\n\n /**\n * The pattern for the input field\n */\n @Prop() pattern?: string;\n\n /**\n * The minimum value for the input field\n */\n @Prop() min?: string | number;\n\n /**\n * The maximum value for the input field\n */\n @Prop() max?: string | number;\n\n /**\n * The allowed characters pattern for the input field\n */\n @Prop() allowedCharactersPattern?: string;\n\n /**\n * Indicates if the stepper buttons should be shown\n */\n @Prop() showStepperButtons?: boolean;\n\n /**\n * Event emitted when the value of the input field changes\n */\n @Event() valueChange!: EventEmitter<number>;\n\n /**\n * Event emitted when the validity state of the input field changes\n */\n @Event() validityStateChange!: EventEmitter<ValidityState>;\n\n /**\n * Event emitted when the input field loses focus\n */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() isInvalidByRequired = false;\n\n private readonly inputRef = makeRef<HTMLInputElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n private readonly numberInputId = `number-input-${numberInputIds++}`;\n\n @HookValidationLifecycle()\n updateClassMappings(result: ValidationResults) {\n mapValidationResult(this, result);\n }\n\n componentWillLoad() {\n this.updateFormInternalValue(this.value);\n }\n\n componentDidRender() {\n this.updatePaddings();\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputRef.current\n );\n }\n\n updateFormInternalValue(value: number) {\n this.formInternals.setFormValue(value.toString());\n this.value = value;\n }\n\n /** @internal */\n @Method()\n async getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return this.formInternals.form;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /**\n * Returns the native input element used under the hood\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n return this.inputRef.waitForCurrent();\n }\n\n /**\n * Focuses the input field\n */\n @Method()\n async focusInput(): Promise<void> {\n return (await this.getNativeInputElement()).focus();\n }\n\n render() {\n const showStepperButtons =\n this.showStepperButtons && (this.disabled || this.readonly) === false;\n\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n id={this.numberInputId}\n required={this.required}\n label={this.label}\n helperText={this.helperText}\n invalidText={this.invalidText}\n infoText={this.infoText}\n warningText={this.warningText}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n isInvalid={this.isInvalid}\n isValid={this.isValid}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n controlRef={this.inputRef}\n >\n <div\n class={{\n 'input-wrapper': true,\n 'show-stepper-buttons': !!this.showStepperButtons,\n }}\n >\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <InputElement\n id={this.numberInputId}\n readonly={this.readonly}\n disabled={this.disabled}\n min={this.min}\n max={this.max}\n pattern={this.pattern}\n type={'number'}\n isInvalid={this.isInvalid}\n required={this.required}\n value={this.value}\n placeholder={this.placeholder}\n inputRef={this.inputRef}\n onKeyPress={(event) => checkAllowedKeys(this, event)}\n valueChange={(value) => this.valueChange.emit(Number(value))}\n updateFormInternalValue={(value) =>\n this.updateFormInternalValue(Number(value))\n }\n onBlur={() => onInputBlur(this, this.inputRef.current)}\n ></InputElement>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <div\n class={{\n 'number-stepper-container': true,\n 'container-hidden': !showStepperButtons,\n }}\n >\n <ix-icon-button\n ghost\n icon={iconMinus}\n size=\"16\"\n class=\"number-stepper-button step-minus\"\n onClick={() => {\n if (!this.inputRef.current) {\n return;\n }\n this.inputRef.current.stepDown();\n checkInternalValidity(this, this.inputRef.current);\n this.updateFormInternalValue(\n Number(this.inputRef.current.value)\n );\n this.valueChange.emit(this.value);\n }}\n ></ix-icon-button>\n <ix-icon-button\n ghost\n icon={iconPlus}\n size=\"16\"\n class=\"number-stepper-button step-plus\"\n onClick={() => {\n if (!this.inputRef.current) {\n return;\n }\n this.inputRef.current.stepUp();\n checkInternalValidity(this, this.inputRef.current);\n this.updateFormInternalValue(\n Number(this.inputRef.current.value)\n );\n this.valueChange.emit(this.value);\n }}\n ></ix-icon-button>\n </div>\n </SlotEnd>\n </div>\n </ix-field-wrapper>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-97874de0.js';
|
|
2
|
+
import { a as a11yBoolean } from './a11y-b10c12e0.js';
|
|
2
3
|
import { A as ArrowFocusController } from './focus-664aef4f.js';
|
|
3
|
-
import { O as OnListener } from './listener-18b29507.js';
|
|
4
|
-
import { c as createMutationObserver } from './mutation-observer-db8757e6.js';
|
|
5
4
|
import { H as HookValidationLifecycle } from './validation-45aa490c.js';
|
|
5
|
+
import { O as OnListener } from './listener-18b29507.js';
|
|
6
6
|
import { m as makeRef } from './make-ref-4b76e9b5.js';
|
|
7
|
-
import {
|
|
7
|
+
import { c as createMutationObserver } from './mutation-observer-db8757e6.js';
|
|
8
8
|
import './disposable-event-listener-ff2cb862.js';
|
|
9
9
|
|
|
10
10
|
const selectCss = ":host{display:inline-block;position:relative;min-height:2rem;height:auto;border-radius:var(--theme-input--border-radius)}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .d-none{display:none}:host .select{position:relative;display:flex;align-items:center;width:100%;background-color:var(--theme-input--background);border:var(--theme-input--border-thickness) solid var(--theme-input--border-color);border-radius:var(--theme-input--border-radius);padding:0 0 0 0.5rem;box-shadow:var(--theme-inset-shadow-1) !important}:host .select:not(.disabled):not(:disabled){cursor:pointer}:host .select:not(.disabled):not(:disabled):hover{background-color:var(--theme-input--background--hover);border-color:var(--theme-input--border-color--hover)}:host .select:focus-within{background-color:var(--theme-input--background--focus);border-color:var(--theme-input--border-color--focus);outline:1px solid #119fff;outline-offset:var(--theme-input--focus--outline-offset)}:host .select.readonly,:host .select.disabled{box-shadow:none !important;border:none;border-radius:0;cursor:pointer}:host .select.readonly,:host .select.readonly:hover,:host .select.readonly:active,:host .select.disabled,:host .select.disabled:hover,:host .select.disabled:active{background-color:transparent !important}:host .select.readonly:focus,:host .select.readonly:focus-within,:host .select.readonly:focus-visible,:host .select.disabled:focus,:host .select.disabled:focus-within,:host .select.disabled:focus-visible{outline:none}:host .select.readonly input:focus,:host .select.readonly input:focus-visible,:host .select.disabled input:focus,:host .select.disabled input:focus-visible{outline:none}:host .select.disabled{border-bottom:var(--theme-input--border-thickness) solid var(--theme-color-weak-bdr)}:host .select.disabled input{color:var(--theme-color-weak-text)}:host .select.readonly{border-bottom:var(--theme-input--border-thickness) solid var(--theme-color-soft-bdr)}:host .select.readonly input{color:var(--theme-color-std-text)}:host .hidden{display:none !important}:host .trigger{display:flex;align-items:center;flex-grow:1;height:100%}:host .input-container{display:flex;position:relative;align-items:flex-start;width:100%;height:100%}:host .input-container .chips{position:relative;display:flex;align-items:center;flex-wrap:wrap;height:100%;max-height:3.5rem;flex-grow:1;overflow-y:auto}:host .input-container .chips>ix-filter-chip{margin:0.1rem}:host .input-container ix-icon-button{height:1.875rem;width:1.875rem;min-height:1.875rem;min-width:1.875rem}:host .input-container input{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.875rem;font-weight:400;line-height:1.429em;color:var(--theme-color-std-text);background:transparent;height:1.75rem;width:100%}:host .input-container input,:host .input-container input:hover,:host .input-container input:focus-visible{border:none;outline:none}:host .input-container input::-moz-placeholder{color:var(--theme-input-select-icon--color)}:host .input-container input::placeholder{color:var(--theme-input-select-icon--color)}:host .input-container input.hide-placeholder::-moz-placeholder{opacity:0}:host .input-container input.hide-placeholder::placeholder{opacity:0}:host .dropdown-visible{--ix-icon-button-color:var(--theme-color-dynamic--hover)}:host .add-item{display:flex;justify-content:flex-start;align-items:center;position:relative;width:100%}:host .select-list-header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;height:2rem;color:var(--theme-select-list-item-hint--color);margin:0 0.5rem 0 1rem}:host(.ix-info:not(.disabled):not(:disabled):not([disabled])) .select{border-color:var(--theme-input--border-color--info)}:host(.ix-info:not(.disabled):not(:disabled):not([disabled])) .select:hover{border-color:var(--theme-input--border-color--info--hover) !important}:host(.ix-info:not(.disabled):not(:disabled):not([disabled])) .select:active{border-color:var(--theme-input--border-color--info--active) !important}:host(.ix-warning:not(.disabled):not(:disabled):not([disabled])) .select{border-color:var(--theme-input--border-color--warning)}:host(.ix-warning:not(.disabled):not(:disabled):not([disabled])) .select:hover{border-color:var(--theme-input--border-color--warning--hover) !important}:host(.ix-warning:not(.disabled):not(:disabled):not([disabled])) .select:active{border-color:var(--theme-input--border-color--warning--active) !important}:host([class*=ix-invalid]:not(.disabled):not(:disabled):not([disabled])) .select,:host(.ix-invalid--required:not(.disabled):not(:disabled):not([disabled])) .select{border-color:var(--theme-input--border-color--invalid);background-color:var(--theme-input--background--invalid);box-shadow:none}:host([class*=ix-invalid]:not(.disabled):not(:disabled):not([disabled])) .select:hover,:host(.ix-invalid--required:not(.disabled):not(:disabled):not([disabled])) .select:hover{border-color:var(--theme-input--border-color--invalid--hover) !important}:host([class*=ix-invalid]:not(.disabled):not(:disabled):not([disabled])) .select:active,:host(.ix-invalid--required:not(.disabled):not(:disabled):not([disabled])) .select:active{border-color:var(--theme-input--border-color--invalid--active) !important}";
|
|
@@ -44,7 +44,8 @@ const Select = class {
|
|
|
44
44
|
hostRef.$hostElement$["s-ei"] = this.formInternals;
|
|
45
45
|
}
|
|
46
46
|
this.dropdownWrapperRef = makeRef();
|
|
47
|
-
this.
|
|
47
|
+
this.dropdownAnchorRef = makeRef();
|
|
48
|
+
this.inputRef = makeRef();
|
|
48
49
|
this.itemObserver = createMutationObserver(() => {
|
|
49
50
|
if (!this.arrowFocusController) {
|
|
50
51
|
return;
|
|
@@ -126,10 +127,10 @@ const Select = class {
|
|
|
126
127
|
this.updateSelection();
|
|
127
128
|
}
|
|
128
129
|
watchDropdownShow(show) {
|
|
129
|
-
if (show) {
|
|
130
|
-
this.arrowFocusController = new ArrowFocusController(this.visibleNonShadowItems, this.
|
|
130
|
+
if (show && this.dropdownElement) {
|
|
131
|
+
this.arrowFocusController = new ArrowFocusController(this.visibleNonShadowItems, this.dropdownElement, this.focusControllerCallbackBind);
|
|
131
132
|
this.arrowFocusController.wrap = !this.editable;
|
|
132
|
-
this.itemObserver.observe(this.
|
|
133
|
+
this.itemObserver.observe(this.dropdownElement, {
|
|
133
134
|
childList: true,
|
|
134
135
|
subtree: true,
|
|
135
136
|
});
|
|
@@ -167,7 +168,7 @@ const Select = class {
|
|
|
167
168
|
}
|
|
168
169
|
focusDropdownItem(index) {
|
|
169
170
|
var _a, _b;
|
|
170
|
-
this.navigationItem =
|
|
171
|
+
this.navigationItem = undefined;
|
|
171
172
|
if (index < this.visibleNonShadowItems.length) {
|
|
172
173
|
const nestedDropdownItem = (_b = (_a = this.visibleNonShadowItems[index]) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('ix-dropdown-item');
|
|
173
174
|
if (!nestedDropdownItem) {
|
|
@@ -191,6 +192,7 @@ const Select = class {
|
|
|
191
192
|
this.updateSelection();
|
|
192
193
|
}
|
|
193
194
|
emitAddItem(value) {
|
|
195
|
+
var _a;
|
|
194
196
|
if (value === undefined || value.trim() === '') {
|
|
195
197
|
return false;
|
|
196
198
|
}
|
|
@@ -201,7 +203,7 @@ const Select = class {
|
|
|
201
203
|
const newItem = document.createElement('ix-select-item');
|
|
202
204
|
newItem.value = value;
|
|
203
205
|
newItem.label = value;
|
|
204
|
-
this.
|
|
206
|
+
(_a = this.customItemsContainerElement) === null || _a === void 0 ? void 0 : _a.appendChild(newItem);
|
|
205
207
|
this.clearInput();
|
|
206
208
|
this.itemClick(value);
|
|
207
209
|
return false;
|
|
@@ -225,7 +227,7 @@ const Select = class {
|
|
|
225
227
|
}
|
|
226
228
|
}
|
|
227
229
|
updateSelection() {
|
|
228
|
-
var _a;
|
|
230
|
+
var _a, _b;
|
|
229
231
|
let ids = [];
|
|
230
232
|
if (this.value) {
|
|
231
233
|
ids = Array.isArray(this.value) ? [...this.value] : [this.value];
|
|
@@ -242,12 +244,12 @@ const Select = class {
|
|
|
242
244
|
});
|
|
243
245
|
this.selectedLabels = this.selectedItems.map((item) => item.label);
|
|
244
246
|
if (((_a = this.selectedLabels) === null || _a === void 0 ? void 0 : _a.length) && this.isSingleMode) {
|
|
245
|
-
this.inputValue = this.selectedLabels[0];
|
|
247
|
+
this.inputValue = (_b = this.selectedLabels[0]) !== null && _b !== void 0 ? _b : '';
|
|
246
248
|
}
|
|
247
249
|
else {
|
|
248
250
|
this.inputValue = '';
|
|
249
251
|
}
|
|
250
|
-
this.
|
|
252
|
+
this.inputElement && (this.inputElement.value = this.inputValue);
|
|
251
253
|
}
|
|
252
254
|
emitValueChange(value) {
|
|
253
255
|
const { defaultPrevented } = this.valueChange.emit(value);
|
|
@@ -255,7 +257,7 @@ const Select = class {
|
|
|
255
257
|
return true;
|
|
256
258
|
}
|
|
257
259
|
if (!value) {
|
|
258
|
-
this.itemSelectionChange.emit(
|
|
260
|
+
this.itemSelectionChange.emit([]);
|
|
259
261
|
}
|
|
260
262
|
else {
|
|
261
263
|
this.itemSelectionChange.emit(Array.isArray(value) ? value : [value]);
|
|
@@ -265,10 +267,10 @@ const Select = class {
|
|
|
265
267
|
}
|
|
266
268
|
componentDidLoad() {
|
|
267
269
|
var _a;
|
|
268
|
-
(_a = this.
|
|
270
|
+
(_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.addEventListener('input', () => {
|
|
269
271
|
var _a;
|
|
270
272
|
this.dropdownShow = true;
|
|
271
|
-
this.inputChange.emit((_a = this.
|
|
273
|
+
this.inputChange.emit((_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.value);
|
|
272
274
|
});
|
|
273
275
|
}
|
|
274
276
|
componentWillLoad() {
|
|
@@ -293,13 +295,13 @@ const Select = class {
|
|
|
293
295
|
var _a, _b;
|
|
294
296
|
this.dropdownShow = event.detail;
|
|
295
297
|
if (event.detail) {
|
|
296
|
-
(_a = this.
|
|
297
|
-
(_b = this.
|
|
298
|
+
(_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.focus();
|
|
299
|
+
(_b = this.inputElement) === null || _b === void 0 ? void 0 : _b.select();
|
|
298
300
|
this.removeHiddenFromItems();
|
|
299
301
|
this.isDropdownEmpty = this.isEveryDropdownItemHidden;
|
|
300
302
|
}
|
|
301
303
|
else {
|
|
302
|
-
this.navigationItem =
|
|
304
|
+
this.navigationItem = undefined;
|
|
303
305
|
this.updateSelection();
|
|
304
306
|
this.inputFilterText = '';
|
|
305
307
|
}
|
|
@@ -322,19 +324,21 @@ const Select = class {
|
|
|
322
324
|
if (this.isMultipleMode) {
|
|
323
325
|
return;
|
|
324
326
|
}
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
327
|
+
const trimmedInput = this.inputFilterText.trim();
|
|
328
|
+
const itemLabel = el === null || el === void 0 ? void 0 : el.label;
|
|
329
|
+
if (this.editable &&
|
|
330
|
+
!this.itemExists(trimmedInput) &&
|
|
331
|
+
!this.itemExists(itemLabel)) {
|
|
332
|
+
const defaultPrevented = this.emitAddItem(trimmedInput);
|
|
333
|
+
if (defaultPrevented) {
|
|
334
|
+
return;
|
|
332
335
|
}
|
|
333
336
|
}
|
|
334
337
|
this.dropdownShow = false;
|
|
335
338
|
this.updateSelection();
|
|
336
339
|
}
|
|
337
340
|
async onArrowNavigation(event, key) {
|
|
341
|
+
var _a;
|
|
338
342
|
if (event.defaultPrevented) {
|
|
339
343
|
return;
|
|
340
344
|
}
|
|
@@ -378,14 +382,12 @@ const Select = class {
|
|
|
378
382
|
return;
|
|
379
383
|
}
|
|
380
384
|
if (this.isAddItemVisible() &&
|
|
381
|
-
this.
|
|
385
|
+
((_a = this.addItemElement) === null || _a === void 0 ? void 0 : _a.contains(await this.navigationItem.getDropdownItemElement()))) {
|
|
382
386
|
if (moveUp) {
|
|
383
387
|
this.applyFocusTo(this.visibleItems.pop());
|
|
384
388
|
}
|
|
385
|
-
else {
|
|
386
|
-
|
|
387
|
-
this.applyFocusTo(this.visibleItems.shift());
|
|
388
|
-
}
|
|
389
|
+
else if (this.visibleItems.length) {
|
|
390
|
+
this.applyFocusTo(this.visibleItems.shift());
|
|
389
391
|
}
|
|
390
392
|
return;
|
|
391
393
|
}
|
|
@@ -432,19 +434,20 @@ const Select = class {
|
|
|
432
434
|
var _a, _b;
|
|
433
435
|
if (this.addItemButton) {
|
|
434
436
|
(_b = (_a = this.addItemButton.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('button')) === null || _b === void 0 ? void 0 : _b.focus();
|
|
435
|
-
this.navigationItem = this.
|
|
437
|
+
this.navigationItem = this.addItemElement;
|
|
436
438
|
}
|
|
437
439
|
}
|
|
438
440
|
filterItemsWithTypeahead() {
|
|
439
|
-
var _a;
|
|
440
|
-
this.inputFilterText = ((_a = this.
|
|
441
|
+
var _a, _b;
|
|
442
|
+
this.inputFilterText = (_b = (_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : '';
|
|
441
443
|
if (this.isSingleMode && this.inputFilterText === this.selectedLabels[0]) {
|
|
442
444
|
return;
|
|
443
445
|
}
|
|
444
446
|
if (this.inputFilterText) {
|
|
445
447
|
this.items.forEach((item) => {
|
|
448
|
+
var _a;
|
|
446
449
|
item.classList.remove('d-none');
|
|
447
|
-
if (!item.label.toLowerCase().includes(this.inputFilterText.toLowerCase())) {
|
|
450
|
+
if (!((_a = item.label) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(this.inputFilterText.toLowerCase()))) {
|
|
448
451
|
item.classList.add('d-none');
|
|
449
452
|
}
|
|
450
453
|
});
|
|
@@ -463,8 +466,8 @@ const Select = class {
|
|
|
463
466
|
});
|
|
464
467
|
}
|
|
465
468
|
clearInput() {
|
|
466
|
-
if (this.
|
|
467
|
-
this.
|
|
469
|
+
if (this.inputElement) {
|
|
470
|
+
this.inputElement.value = '';
|
|
468
471
|
}
|
|
469
472
|
this.inputFilterText = '';
|
|
470
473
|
}
|
|
@@ -519,37 +522,50 @@ const Select = class {
|
|
|
519
522
|
* Returns the native input element used in the component.
|
|
520
523
|
*/
|
|
521
524
|
getNativeInputElement() {
|
|
522
|
-
|
|
525
|
+
if (this.inputElement) {
|
|
526
|
+
return Promise.resolve(this.inputElement);
|
|
527
|
+
}
|
|
528
|
+
else {
|
|
529
|
+
return Promise.reject(new Error('Input element not found'));
|
|
530
|
+
}
|
|
523
531
|
}
|
|
524
532
|
/**
|
|
525
533
|
* Focuses the input field
|
|
526
534
|
*/
|
|
527
535
|
async focusInput() {
|
|
528
|
-
|
|
536
|
+
const inputElement = await this.getNativeInputElement();
|
|
537
|
+
if (inputElement) {
|
|
538
|
+
inputElement.focus();
|
|
539
|
+
}
|
|
529
540
|
}
|
|
530
541
|
render() {
|
|
531
542
|
var _a, _b, _c, _d;
|
|
532
|
-
return (h(Host, { key: '
|
|
543
|
+
return (h(Host, { key: 'e303aff09c9bfc570154e79b6276c609ed12c531', "aria-disabled": a11yBoolean(this.disabled), class: {
|
|
533
544
|
disabled: this.disabled,
|
|
534
|
-
} }, h("ix-field-wrapper", { key: '
|
|
545
|
+
} }, h("ix-field-wrapper", { key: '257e201bdca4c09533c569dfe1d53efd46ef9efe', required: this.required, label: this.label, helperText: this.helperText, invalidText: this.invalidText, infoText: this.infoText, warningText: this.warningText, validText: this.validText, showTextAsTooltip: this.showTextAsTooltip, isInvalid: this.isInvalid, isValid: this.isValid, isInfo: this.isInfo, isWarning: this.isWarning, controlRef: this.inputRef }, h("div", { key: 'a94e63733189753312269744dfc48178e4a38e6e', class: {
|
|
535
546
|
select: true,
|
|
536
547
|
disabled: this.disabled,
|
|
537
548
|
readonly: this.readonly,
|
|
538
549
|
}, ref: (ref) => {
|
|
539
|
-
this.
|
|
550
|
+
this.dropdownAnchorRef(ref);
|
|
540
551
|
if (!this.editable)
|
|
541
552
|
this.dropdownWrapperRef(ref);
|
|
542
|
-
} }, h("div", { key: '
|
|
553
|
+
} }, h("div", { key: '86746135a307b00ca720636200f2f8b06d148605', class: "input-container" }, h("div", { key: 'da77d6ccc888fd2f8e171b33414741c24014563c', class: "chips" }, this.isMultipleMode
|
|
543
554
|
? (_a = this.selectedItems) === null || _a === void 0 ? void 0 : _a.map((item) => (h("ix-filter-chip", { disabled: this.disabled || this.readonly, key: item.value, onCloseClick: (e) => {
|
|
544
555
|
e.preventDefault();
|
|
545
556
|
e.stopPropagation();
|
|
546
557
|
this.itemClick(item.value);
|
|
547
558
|
} }, item.label)))
|
|
548
|
-
: '', h("div", { key: '
|
|
559
|
+
: '', h("div", { key: '49c977ee154d514bb1066b781eacaea57d5ca49e', class: "trigger" }, h("input", { key: '431842c51aceb1b187032aab9d690e84853f71ae', autocomplete: "off", "data-testid": "input", disabled: this.disabled, readOnly: this.readonly, required: this.required, type: "text", class: {
|
|
549
560
|
'allow-clear': this.allowClear && !!((_b = this.selectedLabels) === null || _b === void 0 ? void 0 : _b.length),
|
|
550
|
-
}, placeholder: this.placeholderValue(), value: (_c = this.inputValue) !== null && _c !== void 0 ? _c : '', ref: (ref) =>
|
|
551
|
-
this.
|
|
561
|
+
}, placeholder: this.placeholderValue(), value: (_c = this.inputValue) !== null && _c !== void 0 ? _c : '', ref: (ref) => {
|
|
562
|
+
this.inputElement = ref;
|
|
563
|
+
this.inputRef(ref);
|
|
564
|
+
}, onBlur: (e) => this.onInputBlur(e), onFocus: () => {
|
|
565
|
+
this.navigationItem = undefined;
|
|
552
566
|
}, onInput: () => this.filterItemsWithTypeahead(), onKeyDown: (e) => this.onKeyDown(e) }), this.allowClear &&
|
|
567
|
+
!this.disabled &&
|
|
568
|
+
!this.readonly &&
|
|
553
569
|
(((_d = this.selectedLabels) === null || _d === void 0 ? void 0 : _d.length) || this.inputFilterText) ? (h("ix-icon-button", { class: "clear", icon: 'clear', ghost: true, oval: true, size: "16", onClick: (e) => {
|
|
554
570
|
e.preventDefault();
|
|
555
571
|
e.stopPropagation();
|
|
@@ -557,27 +573,27 @@ const Select = class {
|
|
|
557
573
|
} })) : null, this.disabled || this.readonly ? null : (h("ix-icon-button", { "data-select-dropdown": true, class: { 'dropdown-visible': this.dropdownShow }, icon: "chevron-down-small", ghost: true, ref: (ref) => {
|
|
558
574
|
if (this.editable)
|
|
559
575
|
this.dropdownWrapperRef(ref);
|
|
560
|
-
} }))))))), h("ix-dropdown", { key: '
|
|
576
|
+
} }))))))), h("ix-dropdown", { key: '8d4ee01533ee9843a836a9b4c986ab5db0be4db9', ref: (ref) => (this.dropdownElement = ref), show: this.dropdownShow, closeBehavior: this.isMultipleMode ? 'outside' : 'both', class: {
|
|
561
577
|
'd-none': this.disabled || this.readonly,
|
|
562
|
-
}, anchor: this.
|
|
578
|
+
}, anchor: this.dropdownAnchorRef.waitForCurrent(), trigger: this.dropdownWrapperRef.waitForCurrent(), onShowChanged: (e) => this.dropdownVisibilityChanged(e), placement: "bottom-start", overwriteDropdownStyle: async () => {
|
|
563
579
|
var _a, _b;
|
|
564
580
|
const minWidth = (_b = (_a = this.hostElement.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.select')) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect().width;
|
|
565
581
|
return {
|
|
566
582
|
minWidth: `${minWidth}px`,
|
|
567
583
|
};
|
|
568
|
-
} }, h("div", { key: '
|
|
584
|
+
} }, h("div", { key: '3897bfc9748d7044d038c413f046ba693ac7f03d', class: {
|
|
569
585
|
'select-list-header': true,
|
|
570
586
|
hidden: this.hideListHeader || this.isDropdownEmpty,
|
|
571
|
-
}, title: this.i18nSelectListHeader, onClick: (e) => e.preventDefault() }, this.i18nSelectListHeader), h("slot", { key: '
|
|
587
|
+
}, title: this.i18nSelectListHeader, onClick: (e) => e.preventDefault() }, this.i18nSelectListHeader), h("slot", { key: '71fada597f8ae68598a1444b96c66fe85cf56258', onSlotchange: () => {
|
|
572
588
|
this.updateSelection();
|
|
573
|
-
} }), h("div", { key: '
|
|
589
|
+
} }), h("div", { key: 'bbb7e303d5443707e576d2dc2a9597bdf37bff7c', ref: (ref) => (this.customItemsContainerElement = ref), class: "d-contents" }), this.isAddItemVisible() ? (h("ix-dropdown-item", { "data-testid": "add-item", icon: 'plus', class: {
|
|
574
590
|
'add-item': true,
|
|
575
591
|
}, label: this.inputFilterText, onItemClick: (e) => {
|
|
576
592
|
e.preventDefault();
|
|
577
593
|
e.stopPropagation();
|
|
578
594
|
this.emitAddItem(this.inputFilterText);
|
|
579
|
-
}, onFocus: () => (this.navigationItem = this.
|
|
580
|
-
this.
|
|
595
|
+
}, onFocus: () => (this.navigationItem = this.addItemElement), ref: (ref) => {
|
|
596
|
+
this.addItemElement = ref;
|
|
581
597
|
} })) : null, this.isDropdownEmpty && !this.editable ? (h("div", { class: "select-list-header" }, this.i18nNoMatches)) : (''))));
|
|
582
598
|
}
|
|
583
599
|
static get formAssociated() { return true; }
|