@siemens/ix 0.0.0-pr-2269-20251117133306 → 0.0.0-pr-2297-20251211061723
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/READMEOSS.html +1 -1
- package/components/index.js.map +1 -1
- package/components/ix-breadcrumb.js +1 -1
- package/components/ix-checkbox-group.js +3 -3
- package/components/ix-checkbox.js +1 -1
- package/components/ix-custom-field.js +3 -3
- package/components/ix-date-dropdown.js +2 -2
- package/components/ix-date-input.js +9 -11
- package/components/ix-date-input.js.map +1 -1
- package/components/ix-date-picker.js +1 -1
- package/components/ix-datetime-picker.js +3 -3
- package/components/ix-datetime-picker.js.map +1 -1
- package/components/ix-dropdown-button.js +8 -4
- package/components/ix-dropdown-button.js.map +1 -1
- package/components/ix-dropdown-item.js +1 -1
- package/components/ix-field-label.js +1 -1
- package/components/ix-field-wrapper.js +1 -1
- package/components/ix-helper-text.js +1 -1
- package/components/ix-input.js +4 -4
- package/components/ix-link-button.js +1 -1
- package/components/ix-link-button.js.map +1 -1
- package/components/ix-menu-about.js +2 -2
- package/components/ix-menu-avatar-item.js +1 -1
- package/components/ix-menu-avatar.js +2 -2
- package/components/ix-menu-category.js +1 -1
- package/components/ix-menu-settings.js +1 -1
- package/components/ix-menu.js +20 -12
- package/components/ix-menu.js.map +1 -1
- package/components/ix-number-input.js +4 -4
- package/components/ix-pagination.js +36 -13
- package/components/ix-pagination.js.map +1 -1
- package/components/ix-radio-group.js +3 -3
- package/components/ix-radio.js +1 -1
- package/components/ix-select-item.js +1 -1
- package/components/ix-select.js +1 -1
- package/components/ix-tab-item.js +1 -1
- package/components/ix-textarea.js +4 -4
- package/components/ix-time-input.js +9 -11
- package/components/ix-time-input.js.map +1 -1
- package/components/ix-time-picker.js +1 -1
- package/components/ix-toggle.js +1 -1
- package/components/{p-DyGPjxFm.js → p-7E7AMiQV.js} +3 -3
- package/components/p-7E7AMiQV.js.map +1 -0
- package/components/{p-Bz7hxKB6.js → p-B1p0kpQJ.js} +3 -3
- package/components/{p-Bz7hxKB6.js.map → p-B1p0kpQJ.js.map} +1 -1
- package/components/{p-Dy6xvLn4.js → p-BCLcSQh4.js} +3 -3
- package/components/{p-Dy6xvLn4.js.map → p-BCLcSQh4.js.map} +1 -1
- package/components/{p-BVUD9f4A.js → p-BIg1TSrD.js} +3 -3
- package/components/{p-BVUD9f4A.js.map → p-BIg1TSrD.js.map} +1 -1
- package/components/{p-Cc4uqNv5.js → p-BiqdnsgA.js} +3 -3
- package/components/{p-Cc4uqNv5.js.map → p-BiqdnsgA.js.map} +1 -1
- package/components/{p-BrYfZ-wy.js → p-BmMUyJRQ.js} +38 -23
- package/components/p-BmMUyJRQ.js.map +1 -0
- package/components/{p-BZLbfHdO.js → p-Ce5NQ5Zo.js} +7 -7
- package/components/{p-BZLbfHdO.js.map → p-Ce5NQ5Zo.js.map} +1 -1
- package/components/{p-PF0VLH1Q.js → p-CjDPpSJX.js} +3 -3
- package/components/p-CjDPpSJX.js.map +1 -0
- package/components/{p-CcWC2eNL.js → p-DUU5I7wZ.js} +10 -6
- package/components/p-DUU5I7wZ.js.map +1 -0
- package/components/{p-BLeWaHpy.js → p-DYCKIBUp.js} +12 -6
- package/components/p-DYCKIBUp.js.map +1 -0
- package/components/{p-Bk0vKwmt.js → p-DmhyoH-k.js} +3 -3
- package/components/{p-Bk0vKwmt.js.map → p-DmhyoH-k.js.map} +1 -1
- package/components/{p-xHo-3QVy.js → p-Dq_H2flK.js} +9 -3
- package/components/p-Dq_H2flK.js.map +1 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/{input.fc-BzxtQeW-.js → input.fc-DrxRYq_G.js} +10 -6
- package/dist/cjs/input.fc-DrxRYq_G.js.map +1 -0
- package/dist/cjs/ix-checkbox-group.cjs.entry.js +1 -1
- package/dist/cjs/ix-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-col_4.cjs.entry.js +1 -1
- package/dist/cjs/ix-custom-field.cjs.entry.js +1 -1
- package/dist/cjs/ix-date-input.cjs.entry.js +6 -8
- package/dist/cjs/ix-date-input.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-datetime-picker.cjs.entry.js +1 -1
- package/dist/cjs/ix-datetime-picker.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-dropdown-button.cjs.entry.js +7 -3
- package/dist/cjs/ix-dropdown-button.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-dropdown-item.cjs.entry.js +9 -3
- package/dist/cjs/ix-dropdown-item.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-field-label_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-helper-text.cjs.entry.js +1 -1
- package/dist/cjs/ix-input.cjs.entry.js +2 -2
- package/dist/cjs/ix-link-button.cjs.entry.js +1 -1
- package/dist/cjs/ix-link-button.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-menu.cjs.entry.js +19 -12
- package/dist/cjs/ix-menu.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-number-input.cjs.entry.js +2 -2
- package/dist/cjs/ix-pagination.cjs.entry.js +29 -7
- package/dist/cjs/ix-pagination.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/ix-radio.cjs.entry.js +1 -1
- package/dist/cjs/ix-select.cjs.entry.js +1 -1
- package/dist/cjs/ix-tab-item.ix-tabs.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-tab-item_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-textarea.cjs.entry.js +2 -2
- package/dist/cjs/ix-time-input.cjs.entry.js +6 -8
- package/dist/cjs/ix-time-input.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-time-picker.cjs.entry.js +36 -21
- package/dist/cjs/ix-time-picker.entry.cjs.js.map +1 -1
- package/dist/cjs/ix-toggle.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/siemens-ix.cjs.js +1 -1
- package/dist/cjs/{validation-CfL71_0d.js → validation-DTmSqO2d.js} +9 -2
- package/dist/{esm/validation-D_dk-JqT.js.map → cjs/validation-DTmSqO2d.js.map} +1 -1
- package/dist/collection/components/date-input/date-input.js +5 -7
- package/dist/collection/components/date-input/date-input.js.map +1 -1
- package/dist/collection/components/date-picker/date-picker.css +1 -0
- package/dist/collection/components/datetime-picker/datetime-picker.css +11 -6
- package/dist/collection/components/dropdown-button/dropdown-button.js +8 -4
- package/dist/collection/components/dropdown-button/dropdown-button.js.map +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.js +10 -4
- package/dist/collection/components/dropdown-item/dropdown-item.js.map +1 -1
- package/dist/collection/components/input/input.util.js +7 -3
- package/dist/collection/components/input/input.util.js.map +1 -1
- package/dist/collection/components/link-button/link-button.css +2 -8
- package/dist/collection/components/menu/menu.js +21 -12
- package/dist/collection/components/menu/menu.js.map +1 -1
- package/dist/collection/components/pagination/pagination.js +52 -7
- package/dist/collection/components/pagination/pagination.js.map +1 -1
- package/dist/collection/components/tab-item/tab-item.css +1 -1
- package/dist/collection/components/time-input/time-input.js +5 -7
- package/dist/collection/components/time-input/time-input.js.map +1 -1
- package/dist/collection/components/time-picker/time-picker.css +8 -8
- package/dist/collection/components/time-picker/time-picker.js +35 -20
- package/dist/collection/components/time-picker/time-picker.js.map +1 -1
- package/dist/collection/components/utils/input/validation.js +6 -0
- package/dist/collection/components/utils/input/validation.js.map +1 -1
- package/dist/collection/components/utils/modal/index.js.map +1 -1
- package/dist/collection/components/utils/modal/loading.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{input.fc-DQBMrK9J.js → input.fc-KJF8Z9iJ.js} +10 -6
- package/dist/esm/input.fc-KJF8Z9iJ.js.map +1 -0
- package/dist/esm/ix-checkbox-group.entry.js +1 -1
- package/dist/esm/ix-checkbox.entry.js +1 -1
- package/dist/esm/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.js.map +1 -1
- package/dist/esm/ix-col_4.entry.js +1 -1
- package/dist/esm/ix-custom-field.entry.js +1 -1
- package/dist/esm/ix-date-input.entry.js +6 -8
- package/dist/esm/ix-date-input.entry.js.map +1 -1
- package/dist/esm/ix-datetime-picker.entry.js +1 -1
- package/dist/esm/ix-datetime-picker.entry.js.map +1 -1
- package/dist/esm/ix-dropdown-button.entry.js +7 -3
- package/dist/esm/ix-dropdown-button.entry.js.map +1 -1
- package/dist/esm/ix-dropdown-item.entry.js +9 -3
- package/dist/esm/ix-dropdown-item.entry.js.map +1 -1
- package/dist/esm/ix-field-label_2.entry.js +1 -1
- package/dist/esm/ix-helper-text.entry.js +1 -1
- package/dist/esm/ix-input.entry.js +2 -2
- package/dist/esm/ix-link-button.entry.js +1 -1
- package/dist/esm/ix-link-button.entry.js.map +1 -1
- package/dist/esm/ix-menu.entry.js +19 -12
- package/dist/esm/ix-menu.entry.js.map +1 -1
- package/dist/esm/ix-number-input.entry.js +2 -2
- package/dist/esm/ix-pagination.entry.js +29 -7
- package/dist/esm/ix-pagination.entry.js.map +1 -1
- package/dist/esm/ix-radio-group.entry.js +1 -1
- package/dist/esm/ix-radio.entry.js +1 -1
- package/dist/esm/ix-select.entry.js +1 -1
- package/dist/esm/ix-tab-item.ix-tabs.entry.js.map +1 -1
- package/dist/esm/ix-tab-item_2.entry.js +1 -1
- package/dist/esm/ix-textarea.entry.js +2 -2
- package/dist/esm/ix-time-input.entry.js +6 -8
- package/dist/esm/ix-time-input.entry.js.map +1 -1
- package/dist/esm/ix-time-picker.entry.js +36 -21
- package/dist/esm/ix-time-picker.entry.js.map +1 -1
- package/dist/esm/ix-toggle.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/siemens-ix.js +1 -1
- package/dist/esm/{validation-D_dk-JqT.js → validation-LJh16vt2.js} +9 -3
- package/dist/{cjs/validation-CfL71_0d.js.map → esm/validation-LJh16vt2.js.map} +1 -1
- package/dist/siemens-ix/index.esm.js.map +1 -1
- package/dist/siemens-ix/ix-col.ix-date-picker.ix-layout-grid.ix-row.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-date-input.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-datetime-picker.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-dropdown-button.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-dropdown-item.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-link-button.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-menu.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-pagination.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-tab-item.ix-tabs.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-time-input.entry.esm.js.map +1 -1
- package/dist/siemens-ix/ix-time-picker.entry.esm.js.map +1 -1
- package/dist/siemens-ix/p-0063d077.entry.js +2 -0
- package/dist/siemens-ix/p-0063d077.entry.js.map +1 -0
- package/dist/siemens-ix/p-051f428c.entry.js +2 -0
- package/dist/siemens-ix/{p-de416133.entry.js.map → p-051f428c.entry.js.map} +1 -1
- package/dist/siemens-ix/p-0c325f08.entry.js +2 -0
- package/dist/siemens-ix/p-0c325f08.entry.js.map +1 -0
- package/dist/siemens-ix/p-0eca5a77.entry.js +2 -0
- package/dist/siemens-ix/{p-3751c675.entry.js.map → p-0eca5a77.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-3d3bba47.entry.js → p-26c629c3.entry.js} +2 -2
- package/dist/siemens-ix/{p-07953481.entry.js → p-33b3ed5b.entry.js} +2 -2
- package/dist/siemens-ix/p-3ca8fd00.entry.js +2 -0
- package/dist/siemens-ix/p-3ca8fd00.entry.js.map +1 -0
- package/dist/siemens-ix/{p-7f90eeef.entry.js → p-4431f891.entry.js} +2 -2
- package/dist/siemens-ix/{p-620158aa.entry.js → p-4e77d861.entry.js} +2 -2
- package/dist/siemens-ix/p-68aaf0fe.entry.js +2 -0
- package/dist/siemens-ix/p-68aaf0fe.entry.js.map +1 -0
- package/dist/siemens-ix/{p-ebef3d52.entry.js → p-79537728.entry.js} +2 -2
- package/dist/siemens-ix/{p-fbdf1c7d.entry.js → p-7beba4ad.entry.js} +2 -2
- package/dist/siemens-ix/p-7beba4ad.entry.js.map +1 -0
- package/dist/siemens-ix/p-8b42ad35.entry.js +2 -0
- package/dist/siemens-ix/{p-b9e8d497.entry.js.map → p-8b42ad35.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-CAj3Tlcn.js → p-C7nQNUsO.js} +2 -2
- package/dist/siemens-ix/{p-CAj3Tlcn.js.map → p-C7nQNUsO.js.map} +1 -1
- package/dist/siemens-ix/p-DaswuiGO.js +2 -0
- package/dist/siemens-ix/p-DaswuiGO.js.map +1 -0
- package/dist/siemens-ix/{p-3b7573d6.entry.js → p-a4225101.entry.js} +2 -2
- package/dist/siemens-ix/{p-1c83cb5f.entry.js → p-b27a9744.entry.js} +2 -2
- package/dist/siemens-ix/{p-3f13b14e.entry.js → p-ba9ed3d1.entry.js} +2 -2
- package/dist/siemens-ix/{p-10f2a239.entry.js → p-c15e64a8.entry.js} +2 -2
- package/dist/siemens-ix/{p-7364534a.entry.js → p-c43b201b.entry.js} +2 -2
- package/dist/siemens-ix/{p-81491f7d.entry.js → p-d2c18c15.entry.js} +2 -2
- package/dist/siemens-ix/p-d2c18c15.entry.js.map +1 -0
- package/dist/siemens-ix/p-de12078d.entry.js +2 -0
- package/dist/siemens-ix/{p-534a0e0a.entry.js.map → p-de12078d.entry.js.map} +1 -1
- package/dist/siemens-ix/{p-aa89d586.entry.js → p-f119c105.entry.js} +2 -2
- package/dist/siemens-ix/{p-b8f4b001.entry.js → p-f27c0a6c.entry.js} +2 -2
- package/dist/siemens-ix/p-f27c0a6c.entry.js.map +1 -0
- package/dist/siemens-ix/{p-6445a54f.entry.js → p-fc73c8cc.entry.js} +2 -2
- package/dist/siemens-ix/siemens-ix-core.css +1 -1
- package/dist/siemens-ix/siemens-ix.css +8 -17
- package/dist/siemens-ix/siemens-ix.esm.js +1 -1
- package/dist/types/components/menu/menu.d.ts +1 -0
- package/dist/types/components/pagination/pagination.d.ts +8 -0
- package/dist/types/components/time-picker/time-picker.d.ts +3 -2
- package/dist/types/components/utils/input/validation.d.ts +1 -0
- package/dist/types/components/utils/modal/index.d.ts +1 -1
- package/dist/types/components/utils/modal/loading.d.ts +4 -0
- package/dist/types/components.d.ts +12 -0
- package/hydrate/index.js +129 -70
- package/hydrate/index.mjs +129 -70
- package/package.json +1 -1
- package/scss/components/_links.scss +2 -5
- package/scss/theme/classic/dark/_variables.scss +2 -4
- package/components/p-BLeWaHpy.js.map +0 -1
- package/components/p-BrYfZ-wy.js.map +0 -1
- package/components/p-CcWC2eNL.js.map +0 -1
- package/components/p-DyGPjxFm.js.map +0 -1
- package/components/p-PF0VLH1Q.js.map +0 -1
- package/components/p-xHo-3QVy.js.map +0 -1
- package/dist/cjs/input.fc-BzxtQeW-.js.map +0 -1
- package/dist/esm/input.fc-DQBMrK9J.js.map +0 -1
- package/dist/siemens-ix/p-0d621531.entry.js +0 -2
- package/dist/siemens-ix/p-0d621531.entry.js.map +0 -1
- package/dist/siemens-ix/p-19b9f862.entry.js +0 -2
- package/dist/siemens-ix/p-19b9f862.entry.js.map +0 -1
- package/dist/siemens-ix/p-3751c675.entry.js +0 -2
- package/dist/siemens-ix/p-37bd983a.entry.js +0 -2
- package/dist/siemens-ix/p-37bd983a.entry.js.map +0 -1
- package/dist/siemens-ix/p-534a0e0a.entry.js +0 -2
- package/dist/siemens-ix/p-81491f7d.entry.js.map +0 -1
- package/dist/siemens-ix/p-97ef77b3.entry.js +0 -2
- package/dist/siemens-ix/p-97ef77b3.entry.js.map +0 -1
- package/dist/siemens-ix/p-C1GTokd8.js +0 -2
- package/dist/siemens-ix/p-C1GTokd8.js.map +0 -1
- package/dist/siemens-ix/p-b8f4b001.entry.js.map +0 -1
- package/dist/siemens-ix/p-b9e8d497.entry.js +0 -2
- package/dist/siemens-ix/p-de416133.entry.js +0 -2
- package/dist/siemens-ix/p-fbdf1c7d.entry.js.map +0 -1
- /package/dist/siemens-ix/{p-3d3bba47.entry.js.map → p-26c629c3.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-07953481.entry.js.map → p-33b3ed5b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-7f90eeef.entry.js.map → p-4431f891.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-620158aa.entry.js.map → p-4e77d861.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-ebef3d52.entry.js.map → p-79537728.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-3b7573d6.entry.js.map → p-a4225101.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-1c83cb5f.entry.js.map → p-b27a9744.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-3f13b14e.entry.js.map → p-ba9ed3d1.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-10f2a239.entry.js.map → p-c15e64a8.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-7364534a.entry.js.map → p-c43b201b.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-aa89d586.entry.js.map → p-f119c105.entry.js.map} +0 -0
- /package/dist/siemens-ix/{p-6445a54f.entry.js.map → p-fc73c8cc.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/components/pagination/pagination.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2022 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 {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n} from '@stencil/core';\nimport { BaseButton, BaseButtonProps } from '../button/base-button';\nimport { a11yBoolean } from '../utils/a11y';\nimport {\n iconChevronLeftSmall,\n iconChevronRightSmall,\n} from '@siemens/ix-icons/icons';\n\n@Component({\n tag: 'ix-pagination',\n styleUrl: 'pagination.scss',\n shadow: true,\n})\nexport class Pagination {\n private readonly baseButtonConfig: BaseButtonProps = {\n variant: 'subtle-tertiary',\n iconOnly: true,\n iconOval: false,\n disabled: false,\n icon: '',\n loading: false,\n selected: false,\n type: 'button',\n };\n\n private readonly maxCountPages = 7;\n\n @Element() hostElement!: HTMLIxPaginationElement;\n\n /**\n * Advanced mode\n */\n @Prop() advanced = false;\n\n /**\n * Number of items shown at once.\n * Can only be changed in advaced mode.\n */\n @Prop() itemCount = 15;\n\n /**\n * Hide item count in advanced mode\n */\n @Prop() hideItemCount = false;\n\n /**\n * Total number of pages\n */\n @Prop() count: number = 0;\n\n /**\n * Zero based index of currently selected page\n */\n @Prop({ mutable: true }) selectedPage = 0;\n\n /**\n * i18n label for 'Page'\n */\n @Prop({ attribute: 'i18n-page' }) i18nPage = 'Page';\n\n /**\n * i18n label for 'of'\n */\n @Prop({ attribute: 'i18n-of' }) i18nOf = 'of';\n\n /**\n * i18n label for 'Items'\n */\n @Prop({ attribute: 'i18n-items' }) i18nItems = 'Items';\n\n /**\n * ARIA label for the chevron left icon button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelChevronLeftIconButton?: string;\n\n /**\n * ARIA label for the chevron right icon button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelChevronRightIconButton?: string;\n\n /**\n * Page selection event\n */\n @Event() pageSelected!: EventEmitter<number>;\n\n /**\n * Item count change event\n */\n @Event() itemCountChanged!: EventEmitter<number>;\n\n private selectPage(index: number) {\n const oldIndex = this.selectedPage;\n\n if (index < 0) {\n this.selectedPage = 0;\n } else if (index > this.count - 1) {\n this.selectedPage = this.count - 1;\n } else {\n this.selectedPage = index;\n }\n\n const { defaultPrevented } = this.pageSelected.emit(this.selectedPage);\n\n if (defaultPrevented) {\n this.selectedPage = oldIndex;\n }\n }\n\n private increase() {\n if (this.selectedPage === this.count - 1) {\n return;\n }\n\n this.selectPage(this.selectedPage + 1);\n }\n\n private decrease() {\n if (this.selectedPage === 0) {\n return;\n }\n\n this.selectPage(this.selectedPage - 1);\n }\n\n private getPageButton(index: number) {\n const baseButtonProps: BaseButtonProps = {\n ...this.baseButtonConfig,\n onClick: () => this.selectPage(index),\n selected: this.selectedPage === index,\n ariaAttributes: {\n 'aria-pressed': a11yBoolean(this.selectedPage === index),\n },\n };\n\n return <BaseButton {...baseButtonProps}>{index + 1}</BaseButton>;\n }\n\n private renderPageButtons() {\n const pagesBeforeOverflow = Math.floor(this.maxCountPages / 2);\n const hasOverflow = this.count > this.maxCountPages;\n const hasOverflowStart =\n hasOverflow && this.selectedPage > pagesBeforeOverflow;\n const hasOverflowEnd =\n hasOverflow && this.selectedPage < this.count - pagesBeforeOverflow - 1;\n const pageButtons = [];\n\n let start = 0;\n let end = Math.min(this.count, this.maxCountPages);\n let pageCount = Math.floor((this.maxCountPages - 4) / 2);\n\n if (hasOverflowStart) {\n const baseButtonProps = {\n ...this.baseButtonConfig,\n onClick: () => {\n if (hasOverflowEnd) {\n this.selectPage(this.selectedPage - Math.max(0, 2 * pageCount + 1));\n } else {\n this.selectPage(this.count - this.maxCountPages);\n }\n },\n };\n pageButtons.push(this.getPageButton(0));\n pageButtons.push(<BaseButton {...baseButtonProps}>...</BaseButton>);\n\n if (hasOverflowEnd) {\n start = this.count - this.maxCountPages + 2;\n } else {\n start = this.count - this.maxCountPages + 2;\n end = this.count;\n }\n }\n\n if (hasOverflowEnd) {\n if (hasOverflowStart) {\n start = this.selectedPage - pageCount;\n end = this.selectedPage + pageCount + 1;\n } else {\n end = this.maxCountPages - 2;\n }\n }\n\n for (let i = start; i < end; i++) {\n pageButtons.push(this.getPageButton(i));\n }\n\n if (hasOverflowEnd) {\n const baseButtonProps = {\n ...this.baseButtonConfig,\n onClick: () => {\n if (hasOverflowStart) {\n this.selectPage(this.selectedPage + Math.max(0, 2 * pageCount + 1));\n } else {\n this.selectPage(this.maxCountPages - 1);\n }\n },\n };\n pageButtons.push(<BaseButton {...baseButtonProps}>...</BaseButton>);\n pageButtons.push(this.getPageButton(this.count - 1));\n }\n\n return <span class=\"page-buttons\">{pageButtons}</span>;\n }\n\n render() {\n return (\n <Host>\n <ix-icon-button\n disabled={!this.count || this.selectedPage === 0}\n variant=\"subtle-tertiary\"\n icon={iconChevronLeftSmall}\n onClick={() => this.decrease()}\n aria-label={this.ariaLabelChevronLeftIconButton}\n ></ix-icon-button>\n\n {this.advanced ? (\n <div class=\"advanced-pagination\">\n <ix-typography format=\"body\">{this.i18nPage}</ix-typography>\n <input\n class=\"ix-form-control page-selection\"\n type=\"number\"\n min=\"1\"\n max={this.count}\n value={this.selectedPage + 1}\n onChange={(event: Event) => {\n const eventTarget = event.target as HTMLInputElement;\n if (eventTarget) {\n const index = Number.parseInt(eventTarget.value);\n this.selectPage(index - 1);\n }\n }}\n />\n <span class=\"total-count\">\n <ix-typography format=\"body\">\n {this.i18nOf} {this.count}\n </ix-typography>\n </span>\n </div>\n ) : (\n <span class=\"basic-pagination\">{this.renderPageButtons()} </span>\n )}\n\n <ix-icon-button\n disabled={!this.count || this.selectedPage === this.count - 1}\n variant=\"subtle-tertiary\"\n icon={iconChevronRightSmall}\n onClick={() => this.increase()}\n aria-label={this.ariaLabelChevronRightIconButton}\n ></ix-icon-button>\n\n {this.advanced && !this.hideItemCount && (\n <span class=\"item-count\">\n <ix-typography format=\"body\">{this.i18nItems}</ix-typography>\n <ix-select\n hideListHeader\n i18nPlaceholder=\"\"\n i18nSelectListHeader=\"\"\n value={`${this.itemCount}`}\n onValueChange={(e) => {\n const count = Number.parseInt(\n Array.isArray(e.detail) ? e.detail[0] : e.detail\n );\n\n this.itemCountChanged.emit(count);\n }}\n >\n <ix-select-item label=\"10\" value=\"10\"></ix-select-item>\n <ix-select-item label=\"15\" value=\"15\"></ix-select-item>\n <ix-select-item label=\"20\" value=\"20\"></ix-select-item>\n <ix-select-item label=\"40\" value=\"40\"></ix-select-item>\n <ix-select-item label=\"100\" value=\"100\"></ix-select-item>\n </ix-select>\n </span>\n )}\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../../../src/components/pagination/pagination.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2022 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 {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n} from '@stencil/core';\nimport { BaseButton, BaseButtonProps } from '../button/base-button';\nimport { a11yBoolean } from '../utils/a11y';\nimport {\n iconChevronLeftSmall,\n iconChevronRightSmall,\n} from '@siemens/ix-icons/icons';\n\n@Component({\n tag: 'ix-pagination',\n styleUrl: 'pagination.scss',\n shadow: true,\n})\nexport class Pagination {\n private readonly baseButtonConfig: BaseButtonProps = {\n variant: 'subtle-tertiary',\n iconOnly: true,\n iconOval: false,\n disabled: false,\n icon: '',\n loading: false,\n selected: false,\n type: 'button',\n };\n\n private readonly maxCountPages = 7;\n\n @Element() hostElement!: HTMLIxPaginationElement;\n\n /**\n * Advanced mode\n */\n @Prop() advanced = false;\n\n /**\n * Number of items shown at once.\n * Can only be changed in advaced mode.\n */\n @Prop() itemCount = 15;\n\n /**\n * Hide item count in advanced mode\n */\n @Prop() hideItemCount = false;\n\n /**\n * Total number of pages\n */\n @Prop() count: number = 0;\n\n /**\n * Zero based index of currently selected page\n */\n @Prop({ mutable: true }) selectedPage = 0;\n\n /**\n * i18n label for 'Page'\n */\n @Prop({ attribute: 'i18n-page' }) i18nPage = 'Page';\n\n /**\n * i18n label for 'of'\n */\n @Prop({ attribute: 'i18n-of' }) i18nOf = 'of';\n\n /**\n * i18n label for 'Items'\n */\n @Prop({ attribute: 'i18n-items' }) i18nItems = 'Items';\n\n /**\n * ARIA label for the chevron left icon button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelChevronLeftIconButton?: string;\n\n /**\n * ARIA label for the chevron right icon button\n * Will be set as aria-label on the nested HTML button element\n *\n * @since 3.2.0\n */\n @Prop() ariaLabelChevronRightIconButton?: string;\n\n /**\n * ARIA label for the page selection input\n * Will be set as aria-label on the nested HTML input element\n *\n * @since 4.1.0\n */\n @Prop() ariaLabelPageSelection = 'Page selection input';\n /**\n * Page selection event\n */\n @Event() pageSelected!: EventEmitter<number>;\n\n /**\n * Item count change event\n */\n @Event() itemCountChanged!: EventEmitter<number>;\n\n private selectPage(index: number) {\n const oldIndex = this.selectedPage;\n\n if (index < 0) {\n this.selectedPage = 0;\n } else if (index > this.count - 1) {\n this.selectedPage = this.count - 1;\n } else {\n this.selectedPage = index;\n }\n\n const { defaultPrevented } = this.pageSelected.emit(this.selectedPage);\n\n if (defaultPrevented) {\n this.selectedPage = oldIndex;\n }\n }\n\n private increase() {\n if (this.selectedPage === this.count - 1) {\n return;\n }\n\n this.selectPage(this.selectedPage + 1);\n }\n\n private decrease() {\n if (this.selectedPage === 0) {\n return;\n }\n\n this.selectPage(this.selectedPage - 1);\n }\n\n private getPageButton(index: number) {\n const baseButtonProps: BaseButtonProps = {\n ...this.baseButtonConfig,\n onClick: () => this.selectPage(index),\n selected: this.selectedPage === index,\n ariaAttributes: {\n 'aria-pressed': a11yBoolean(this.selectedPage === index),\n },\n };\n\n return <BaseButton {...baseButtonProps}>{index + 1}</BaseButton>;\n }\n\n private renderPageButtons() {\n const pagesBeforeOverflow = Math.floor(this.maxCountPages / 2);\n const hasOverflow = this.count > this.maxCountPages;\n const hasOverflowStart =\n hasOverflow && this.selectedPage > pagesBeforeOverflow;\n const hasOverflowEnd =\n hasOverflow && this.selectedPage < this.count - pagesBeforeOverflow - 1;\n const pageButtons = [];\n\n let start = 0;\n let end = Math.min(this.count, this.maxCountPages);\n let pageCount = Math.floor((this.maxCountPages - 4) / 2);\n\n if (hasOverflowStart) {\n const baseButtonProps = {\n ...this.baseButtonConfig,\n onClick: () => {\n if (hasOverflowEnd) {\n this.selectPage(this.selectedPage - Math.max(0, 2 * pageCount + 1));\n } else {\n this.selectPage(this.count - this.maxCountPages);\n }\n },\n };\n pageButtons.push(this.getPageButton(0));\n pageButtons.push(<BaseButton {...baseButtonProps}>...</BaseButton>);\n\n if (hasOverflowEnd) {\n start = this.count - this.maxCountPages + 2;\n } else {\n start = this.count - this.maxCountPages + 2;\n end = this.count;\n }\n }\n\n if (hasOverflowEnd) {\n if (hasOverflowStart) {\n start = this.selectedPage - pageCount;\n end = this.selectedPage + pageCount + 1;\n } else {\n end = this.maxCountPages - 2;\n }\n }\n\n for (let i = start; i < end; i++) {\n pageButtons.push(this.getPageButton(i));\n }\n\n if (hasOverflowEnd) {\n const baseButtonProps = {\n ...this.baseButtonConfig,\n onClick: () => {\n if (hasOverflowStart) {\n this.selectPage(this.selectedPage + Math.max(0, 2 * pageCount + 1));\n } else {\n this.selectPage(this.maxCountPages - 1);\n }\n },\n };\n pageButtons.push(<BaseButton {...baseButtonProps}>...</BaseButton>);\n pageButtons.push(this.getPageButton(this.count - 1));\n }\n\n return <span class=\"page-buttons\">{pageButtons}</span>;\n }\n\n private handlePageInput(inputValue: string) {\n const value = Number.parseInt(inputValue, 10);\n if (!Number.isNaN(value)) {\n const clampedValue = Math.max(1, Math.min(value, this.count));\n this.selectPage(clampedValue - 1);\n }\n }\n\n render() {\n return (\n <Host>\n <ix-icon-button\n disabled={!this.count || this.selectedPage === 0}\n variant=\"subtle-tertiary\"\n icon={iconChevronLeftSmall}\n onClick={() => this.decrease()}\n aria-label={this.ariaLabelChevronLeftIconButton}\n ></ix-icon-button>\n\n {this.advanced ? (\n <div class=\"advanced-pagination\">\n <ix-typography format=\"body\">{this.i18nPage}</ix-typography>\n <input\n aria-label={this.ariaLabelPageSelection}\n class=\"ix-form-control page-selection\"\n type=\"number\"\n min=\"1\"\n max={this.count}\n value={this.selectedPage + 1}\n onChange={(event: Event) => {\n const inputElement = event.target as HTMLInputElement;\n this.handlePageInput(inputElement.value);\n }}\n onKeyDown={(event: KeyboardEvent) => {\n if (['e', 'E', '+', '-', '.'].includes(event.key))\n event.preventDefault();\n if (event.key === 'Enter') {\n const inputElement = event.target as HTMLInputElement;\n this.handlePageInput(inputElement.value);\n inputElement.blur();\n }\n }}\n onBlur={(e: Event) => {\n const inputElement = e.target as HTMLInputElement;\n inputElement.value = (this.selectedPage + 1).toString();\n }}\n />\n <span class=\"total-count\">\n <ix-typography format=\"body\">\n {this.i18nOf} {this.count}\n </ix-typography>\n </span>\n </div>\n ) : (\n <span class=\"basic-pagination\">{this.renderPageButtons()} </span>\n )}\n\n <ix-icon-button\n disabled={!this.count || this.selectedPage === this.count - 1}\n variant=\"subtle-tertiary\"\n icon={iconChevronRightSmall}\n onClick={() => this.increase()}\n aria-label={this.ariaLabelChevronRightIconButton}\n ></ix-icon-button>\n\n {this.advanced && !this.hideItemCount && (\n <span class=\"item-count\">\n <ix-typography format=\"body\">{this.i18nItems}</ix-typography>\n <ix-select\n hideListHeader\n i18nPlaceholder=\"\"\n i18nSelectListHeader=\"\"\n value={`${this.itemCount}`}\n onValueChange={(e) => {\n const count = Number.parseInt(\n Array.isArray(e.detail) ? e.detail[0] : e.detail\n );\n\n this.itemCountChanged.emit(count);\n }}\n >\n <ix-select-item label=\"10\" value=\"10\"></ix-select-item>\n <ix-select-item label=\"15\" value=\"15\"></ix-select-item>\n <ix-select-item label=\"20\" value=\"20\"></ix-select-item>\n <ix-select-item label=\"40\" value=\"40\"></ix-select-item>\n <ix-select-item label=\"100\" value=\"100\"></ix-select-item>\n </ix-select>\n </span>\n )}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -167,7 +167,7 @@
|
|
|
167
167
|
z-index: 1;
|
|
168
168
|
height: 16px;
|
|
169
169
|
width: auto;
|
|
170
|
-
background-color: var(--theme-
|
|
170
|
+
background-color: var(--theme-color-1);
|
|
171
171
|
border: 1px solid var(--theme-tab-pill--border-color);
|
|
172
172
|
border-radius: 100px;
|
|
173
173
|
bottom: 6px;
|
|
@@ -21,7 +21,7 @@ import { Host, h, } from "@stencil/core";
|
|
|
21
21
|
import { DateTime } from "luxon";
|
|
22
22
|
import { SlotEnd, SlotStart } from "../input/input.fc";
|
|
23
23
|
import { addDisposableChangesAndVisibilityObservers, adjustPaddingForStartAndEnd, handleSubmitOnEnterKeydown, } from "../input/input.util";
|
|
24
|
-
import { HookValidationLifecycle, createClassMutationObserver, } from "../utils/input";
|
|
24
|
+
import { HookValidationLifecycle, createClassMutationObserver, getValidationText, } from "../utils/input";
|
|
25
25
|
import { makeRef } from "../utils/make-ref";
|
|
26
26
|
import { closeDropdown as closeDropdownUtil, createValidityState, handleIconClick, openDropdown as openDropdownUtil, } from "../utils/input/picker-input.util";
|
|
27
27
|
/**
|
|
@@ -272,15 +272,13 @@ export class TimeInput {
|
|
|
272
272
|
}
|
|
273
273
|
render() {
|
|
274
274
|
var _a;
|
|
275
|
-
const invalidText = this.isInputInvalid
|
|
276
|
-
|
|
277
|
-
: this.invalidText;
|
|
278
|
-
return (h(Host, { key: '2d781932da61679d4e51c81f43078daed57c74bd', class: {
|
|
275
|
+
const invalidText = getValidationText(this.isInputInvalid, this.invalidText, this.i18nErrorTimeUnparsable);
|
|
276
|
+
return (h(Host, { key: 'aff9b793fae69ba2eb713ae3b1bd2222b548fb25', class: {
|
|
279
277
|
disabled: this.disabled,
|
|
280
278
|
readonly: this.readonly,
|
|
281
|
-
} }, h("ix-field-wrapper", { key: '
|
|
279
|
+
} }, h("ix-field-wrapper", { key: '5e927fa4c2eeb94dba26b1f4ad1879a6a80ed823', label: this.label, helperText: this.helperText, isInvalid: this.isInvalid, invalidText: invalidText, infoText: this.infoText, isInfo: this.isInfo, isWarning: this.isWarning, warningText: this.warningText, isValid: this.isValid, validText: this.validText, showTextAsTooltip: this.showTextAsTooltip, required: this.required, controlRef: this.inputElementRef }, this.renderInput()), h("ix-dropdown", { key: '0b48b3c8574b0aafe42db74c990f1d269037bd82', "data-testid": "time-dropdown", trigger: this.inputElementRef.waitForCurrent(), ref: this.dropdownElementRef, closeBehavior: "outside", suppressOverflowBehavior: true, show: this.show, onShowChanged: (event) => {
|
|
282
280
|
this.show = event.detail;
|
|
283
|
-
} }, h("ix-time-picker", { key: '
|
|
281
|
+
} }, h("ix-time-picker", { key: 'b3b5536c702fc45c9fc5f323282149c2c2ccb542', ref: this.timePickerRef, format: this.format, time: (_a = this.time) !== null && _a !== void 0 ? _a : '', hourInterval: this.hourInterval, minuteInterval: this.minuteInterval, secondInterval: this.secondInterval, millisecondInterval: this.millisecondInterval, embedded: true, hideHeader: this.hideHeader, i18nConfirmTime: this.i18nSelectTime, i18nHeader: this.i18nTime, i18nHourColumnHeader: this.i18nHourColumnHeader, i18nSecondColumnHeader: this.i18nSecondColumnHeader, i18nMinuteColumnHeader: this.i18nMinuteColumnHeader, i18nMillisecondColumnHeader: this.i18nMillisecondColumnHeader, onTimeSelect: (event) => {
|
|
284
282
|
this.onInput(event.detail);
|
|
285
283
|
this.show = false;
|
|
286
284
|
} }))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-input.js","sourceRoot":"","sources":["../../../src/components/time-input/time-input.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;;;;;;;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EACL,eAAe,EACf,SAAS,EACT,OAAO,EACP,KAAK,EAEL,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,EACL,KAAK,EACL,CAAC,GACF,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAEL,0CAA0C,EAC1C,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,uBAAuB,EAGvB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,OAAO,EACL,aAAa,IAAI,iBAAiB,EAClC,mBAAmB,EACnB,eAAe,EACf,YAAY,IAAI,gBAAgB,GACjC,MAAM,kCAAkC,CAAC;AAE1C;;;;;GAKG;AAOH,MAAM,OAAO,SAAS;IANtB;QAoBE;;WAEG;QACqC,UAAK,GAAW,EAAE,CAAC;QAM3D;;;WAGG;QACK,WAAM,GAAW,IAAI,CAAC;QAsB9B;;WAEG;QACK,aAAQ,GAAY,KAAK,CAAC;QAElC;;WAEG;QACK,aAAQ,GAAY,KAAK,CAAC;QAsBlC;;WAEG;QACgD,4BAAuB,GACxE,mBAAmB,CAAC;QAEtB;;WAEG;QACK,iBAAY,GAAW,CAAC,CAAC;QAEjC;;WAEG;QACK,mBAAc,GAAW,CAAC,CAAC;QAEnC;;WAEG;QACK,mBAAc,GAAW,CAAC,CAAC;QAEnC;;WAEG;QACK,wBAAmB,GAAW,GAAG,CAAC;QAE1C;;WAEG;QACsC,mBAAc,GAAW,SAAS,CAAC;QAE5E;;WAEG;QAC+B,aAAQ,GAAW,MAAM,CAAC;QAE5D;;WAEG;QAC6C,yBAAoB,GAClE,IAAI,CAAC;QAEP;;WAEG;QACH,+DAA+D;QAE/D,2BAAsB,GAAW,KAAK,CAAC;QAEvC;;WAEG;QACH,+DAA+D;QAE/D,2BAAsB,GAAW,KAAK,CAAC;QAEvC;;WAEG;QACH,+DAA+D;QAE/D,gCAA2B,GAAW,IAAI,CAAC;QAE3C;;;WAGG;QACsB,0BAAqB,GAAY,KAAK,CAAC;QAEhE;;;;WAIG;QACK,eAAU,GAAY,KAAK,CAAC;QAEpC;;WAEG;QACK,kBAAa,GAAoB,OAAO,CAAC;QAkBxC,SAAI,GAAG,KAAK,CAAC;QACb,SAAI,GAAkB,IAAI,CAAC;QAC3B,mBAAc,GAAG,KAAK,CAAC;QACvB,cAAS,GAAG,KAAK,CAAC;QAClB,YAAO,GAAG,KAAK,CAAC;QAChB,WAAM,GAAG,KAAK,CAAC;QACf,cAAS,GAAG,KAAK,CAAC;QAClB,UAAK,GAAG,KAAK,CAAC;QAEN,iBAAY,GAAG,OAAO,EAAkB,CAAC;QACzC,eAAU,GAAG,OAAO,EAAkB,CAAC;QAEvC,kBAAa,GAAG,OAAO,EAA2B,CAAC;QAEnD,oBAAe,GAAG,OAAO,EAAoB,CAAC;QAC9C,uBAAkB,GAAG,OAAO,EAAyB,CAAC;QAG/D,YAAO,GAAG,KAAK,CAAC;KAsTzB;IAreiB,qBAAqB,CAAC,QAAgB;QACpD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAiLO,kBAAkB,CAAC,KAAoB;QAC7C,0BAA0B,CACxB,KAAK,EACL,IAAI,CAAC,qBAAqB,EAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CACxB,CAAC;IACJ,CAAC;IAED,uBAAuB,CAAC,KAAa;QACnC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,aAAa,GAAG,2BAA2B,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CACtE,IAAI,CAAC,cAAc,EAAE,CACtB,CAAC;QAEF,IAAI,CAAC,uCAAuC;YAC1C,0CAA0C,CACxC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/B,CAAC;IACN,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;YAC3B,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAEO,cAAc;QACpB,2BAA2B,CACzB,IAAI,CAAC,YAAY,CAAC,OAAO,EACzB,IAAI,CAAC,UAAU,CAAC,OAAO,EACvB,IAAI,CAAC,eAAe,CAAC,OAAO,CAC7B,CAAC;IACJ,CAAC;IAED,oBAAoB;;QAClB,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,EAAE,CAAC;QAC9B,MAAA,IAAI,CAAC,uCAAuC,oDAAI,CAAC;IACnD,CAAC;IAGD,UAAU;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;IACzB,CAAC;IAED,gBAAgB;IAEhB,aAAa;QACX,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,gBAAgB;IAEhB,wBAAwB;QACtB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAa;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,eAAe,CAAC,KAAY;QAC1B,eAAe,CACb,KAAK,EACL,IAAI,CAAC,IAAI,EACT,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,EACzB,IAAI,CAAC,eAAe,CACrB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,iCAAiC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QAEvB,OAAO,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,iBAAiB,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACpD,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC;IAEO,WAAW;QACjB,OAAO,CACL,WAAK,KAAK,EAAC,eAAe;YACxB,EAAC,SAAS,IACR,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,GAC9B;YACb,aACE,YAAY,EAAC,KAAK,EAClB,KAAK,EAAE;oBACL,YAAY,EAAE,IAAI,CAAC,cAAc;iBAClC,EACD,KAAK,EAAE;oBACL,SAAS,EAAE,IAAI,CAAC,aAAa;iBAC9B,EACD,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjB,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B,CAAC;oBAChD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC,EACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;wBACd,KAAK,CAAC,eAAe,EAAE,CAAC;wBACxB,KAAK,CAAC,cAAc,EAAE,CAAC;oBACzB,CAAC;gBACH,CAAC,EACD,OAAO,EAAE,KAAK,IAAI,EAAE;oBAClB,IAAI,CAAC,YAAY,EAAE,CAAC;oBACpB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACtB,CAAC,EACD,MAAM,EAAE,GAAG,EAAE;oBACX,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACtB,CAAC,EACD,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAC7C;YACT,EAAC,OAAO,IACN,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;gBAEzC,qCACc,kBAAkB,EAC9B,KAAK,EAAE,EAAE,kBAAkB,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE,EAC7D,OAAO,EAAC,iBAAiB,EACzB,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,gBACpC,oBAAoB,mBAChB,IAAI,CAAC,IAAI,GACR,CACV,CACN,CACP,CAAC;IACJ,CAAC;IAGD,uBAAuB,CAAC,EACtB,MAAM,EACN,SAAS,EACT,mBAAmB,EACnB,OAAO,EACP,SAAS,GACS;QAClB,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,mBAAmB,IAAI,IAAI,CAAC,cAAc,CAAC;QACzE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAGD,KAAK,CAAC,uBAAuB;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAC5B,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;IAEhB,gBAAgB;QACd,OAAO,OAAO,CAAC,OAAO,CACpB,mBAAmB,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CACtE,CAAC;IACJ,CAAC;IAED;;OAEG;IAEH,qBAAqB;QACnB,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IAEH,KAAK,CAAC,UAAU;QACd,OAAO,CAAC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACtD,CAAC;IAED;;;OAGG;IAEH,SAAS;QACP,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,MAAM;;QACJ,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc;YACrC,CAAC,CAAC,IAAI,CAAC,uBAAuB;YAC9B,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QAErB,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB;YAED,yEACE,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,EACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,UAAU,EAAE,IAAI,CAAC,eAAe,IAE/B,IAAI,CAAC,WAAW,EAAE,CACF;YACnB,mFACc,eAAe,EAC3B,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,EAC9C,GAAG,EAAE,IAAI,CAAC,kBAAkB,EAC5B,aAAa,EAAC,SAAS,EACvB,wBAAwB,EAAE,IAAI,EAC9B,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;oBACvB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC3B,CAAC;gBAED,uEACE,GAAG,EAAE,IAAI,CAAC,aAAa,EACvB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,IAAI,EAAE,MAAA,IAAI,CAAC,IAAI,mCAAI,EAAE,EACrB,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,cAAc,EAAE,IAAI,CAAC,cAAc,EACnC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAC7C,QAAQ,QACR,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,eAAe,EAAE,IAAI,CAAC,cAAc,EACpC,UAAU,EAAE,IAAI,CAAC,QAAQ,EACzB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,EAC/C,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EACnD,sBAAsB,EAAE,IAAI,CAAC,sBAAsB,EACnD,2BAA2B,EAAE,IAAI,CAAC,2BAA2B,EAC7D,YAAY,EAAE,CAAC,KAAsC,EAAE,EAAE;wBACvD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBAE3B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;oBACpB,CAAC,GACe,CACN,CACT,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF;AAzHC;IADC,uBAAuB,EAAE;wDAYzB","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2025 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 { iconClock } 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 { DateTime } from 'luxon';\nimport { SlotEnd, SlotStart } from '../input/input.fc';\nimport {\n DisposableChangesAndVisibilityObservers,\n addDisposableChangesAndVisibilityObservers,\n adjustPaddingForStartAndEnd,\n handleSubmitOnEnterKeydown,\n} from '../input/input.util';\nimport {\n ClassMutationObserver,\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n createClassMutationObserver,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\nimport { IxTimePickerCustomEvent } from '../../components';\nimport type { TimeInputValidityState } from './time-input.types';\nimport {\n closeDropdown as closeDropdownUtil,\n createValidityState,\n handleIconClick,\n openDropdown as openDropdownUtil,\n} from '../utils/input/picker-input.util';\n\n/**\n * @since 3.2.0\n * @form-ready\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-time-input',\n styleUrl: 'time-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class TimeInput implements IxInputFieldComponent<string> {\n @Element() hostElement!: HTMLIxTimeInputElement;\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 * Value of the input element\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n @Watch('value') watchValuePropHandler(newValue: string) {\n this.onInput(newValue);\n }\n\n /**\n * Format of time string\n * See {@link https://moment.github.io/luxon/#/formatting?id=table-of-tokens} for all available tokens.\n */\n @Prop() format: string = 'TT';\n\n /**\n * Required attribute\n */\n @Prop() required?: boolean;\n\n /**\n * Helper text below the input field\n */\n @Prop() helperText?: string;\n\n /**\n * Label of the input field\n */\n @Prop() label?: string;\n\n /**\n * Error text below the input field\n */\n @Prop({ reflect: true }) invalidText?: string;\n\n /**\n * Readonly attribute\n */\n @Prop() readonly: boolean = false;\n\n /**\n * Disabled attribute\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Info text below the input field\n */\n @Prop() infoText?: string;\n\n /**\n * Warning text below the input field\n */\n @Prop() warningText?: string;\n\n /**\n * Valid text below the input field\n */\n @Prop() validText?: string;\n\n /**\n * Show text as tooltip\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * I18n string for the error message when the time is not parsable\n */\n @Prop({ attribute: 'i18n-error-time-unparsable' }) i18nErrorTimeUnparsable =\n 'Time is not valid';\n\n /**\n * Interval for hour selection\n */\n @Prop() hourInterval: number = 1;\n\n /**\n * Interval for minute selection\n */\n @Prop() minuteInterval: number = 1;\n\n /**\n * Interval for second selection\n */\n @Prop() secondInterval: number = 1;\n\n /**\n * Interval for millisecond selection\n */\n @Prop() millisecondInterval: number = 100;\n\n /**\n * Text of time-picker time select button\n */\n @Prop({ attribute: 'i18n-select-time' }) i18nSelectTime: string = 'Confirm';\n\n /**\n * Text for time-picker top label\n */\n @Prop({ attribute: 'i18n-time' }) i18nTime: string = 'Time';\n\n /**\n * Text for time-picker hour column header\n */\n @Prop({ attribute: 'i18n-hour-column-header' }) i18nHourColumnHeader: string =\n 'hr';\n\n /**\n * Text for time-picker minute column header\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop({ attribute: 'i18n-minute-column-header' })\n i18nMinuteColumnHeader: string = 'min';\n\n /**\n * Text for time-picker second column header\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop({ attribute: 'i18n-second-column-header' })\n i18nSecondColumnHeader: string = 'sec';\n\n /**\n * Text for time-picker millisecond column header\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop({ attribute: 'i18n-millisecond-column-header' })\n i18nMillisecondColumnHeader: string = 'ms';\n\n /**\n * If false, pressing Enter will submit the form (if inside a form).\n * Set to true to suppress submit on Enter.\n */\n @Prop({ reflect: true }) suppressSubmitOnEnter: boolean = false;\n\n /**\n * Hides the header of the picker.\n *\n * @since 4.0.0\n */\n @Prop() hideHeader: boolean = false;\n\n /**\n * Text alignment within the time input. 'start' aligns the text to the start of the input, 'end' aligns the text to the end of the input.\n */\n @Prop() textAlignment: 'start' | 'end' = 'start';\n\n /**\n * Input change event.\n */\n @Event({ cancelable: false }) valueChange!: EventEmitter<string>;\n\n /**\n * Validation state change event.\n */\n @Event() validityStateChange!: EventEmitter<TimeInputValidityState>;\n\n /** @internal */\n @Event() ixFocus!: EventEmitter<void>;\n\n /** @internal */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() show = false;\n @State() time: string | null = null;\n @State() isInputInvalid = false;\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() focus = false;\n\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n\n private readonly timePickerRef = makeRef<HTMLIxTimePickerElement>();\n\n private readonly inputElementRef = makeRef<HTMLInputElement>();\n private readonly dropdownElementRef = makeRef<HTMLIxDropdownElement>();\n private classObserver?: ClassMutationObserver;\n private invalidReason?: string;\n private touched = false;\n\n private disposableChangesAndVisibilityObservers?: DisposableChangesAndVisibilityObservers;\n\n private handleInputKeyDown(event: KeyboardEvent) {\n handleSubmitOnEnterKeydown(\n event,\n this.suppressSubmitOnEnter,\n this.formInternals.form\n );\n }\n\n updateFormInternalValue(value: string): void {\n this.formInternals.setFormValue(value);\n this.value = value;\n }\n\n connectedCallback(): void {\n this.classObserver = createClassMutationObserver(this.hostElement, () =>\n this.checkClassList()\n );\n\n this.disposableChangesAndVisibilityObservers =\n addDisposableChangesAndVisibilityObservers(\n this.hostElement,\n this.updatePaddings.bind(this)\n );\n }\n\n componentWillLoad(): void {\n if (!this.value) {\n const now = DateTime.now();\n if (now.isValid) {\n this.value = now.toFormat(this.format);\n }\n }\n\n this.onInput(this.value);\n if (this.isInputInvalid) {\n this.time = null;\n } else {\n this.watchValue();\n }\n\n this.checkClassList();\n this.updateFormInternalValue(this.value);\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputElementRef.current\n );\n }\n\n disconnectedCallback(): void {\n this.classObserver?.destroy();\n this.disposableChangesAndVisibilityObservers?.();\n }\n\n @Watch('value')\n watchValue() {\n this.time = this.value;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /** @internal */\n @Method()\n getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return Promise.resolve(this.formInternals.form);\n }\n\n async onInput(value: string) {\n this.value = value;\n if (!value) {\n this.isInputInvalid = false;\n this.updateFormInternalValue(value);\n this.valueChange.emit(value);\n return;\n }\n\n if (!this.format) {\n return;\n }\n\n const time = DateTime.fromFormat(value, this.format);\n if (time.isValid) {\n this.isInputInvalid = false;\n } else {\n this.isInputInvalid = true;\n this.invalidReason = time.invalidReason;\n }\n\n this.updateFormInternalValue(value);\n this.valueChange.emit(value);\n }\n\n onTimeIconClick(event: Event) {\n handleIconClick(\n event,\n this.show,\n () => this.openDropdown(),\n this.inputElementRef\n );\n }\n\n async openDropdown() {\n // keep picker in sync with input\n this.time = this.value;\n\n return openDropdownUtil(this.dropdownElementRef);\n }\n\n async closeDropdown() {\n return closeDropdownUtil(this.dropdownElementRef);\n }\n\n private checkClassList() {\n this.isInvalid = this.hostElement.classList.contains('ix-invalid');\n }\n\n private renderInput() {\n return (\n <div class=\"input-wrapper\">\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <input\n autoComplete=\"off\"\n class={{\n 'is-invalid': this.isInputInvalid,\n }}\n style={{\n textAlign: this.textAlignment,\n }}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n ref={this.inputElementRef}\n type=\"text\"\n value={this.value}\n placeholder={this.placeholder}\n name={this.name}\n onInput={(event) => {\n const target = event.target as HTMLInputElement;\n this.onInput(target.value);\n }}\n onClick={(event) => {\n if (this.show) {\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n onFocus={async () => {\n this.openDropdown();\n this.ixFocus.emit();\n }}\n onBlur={() => {\n this.ixBlur.emit();\n this.touched = true;\n }}\n onKeyDown={(event) => this.handleInputKeyDown(event)}\n ></input>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <ix-icon-button\n data-testid=\"open-time-picker\"\n class={{ 'time-icon-hidden': this.disabled || this.readonly }}\n variant=\"subtle-tertiary\"\n icon={iconClock}\n onClick={(event) => this.onTimeIconClick(event)}\n aria-label=\"Toggle time picker\"\n aria-expanded={this.show}\n ></ix-icon-button>\n </SlotEnd>\n </div>\n );\n }\n\n @HookValidationLifecycle()\n hookValidationLifecycle({\n isInfo,\n isInvalid,\n isInvalidByRequired,\n isValid,\n isWarning,\n }: ValidationResults) {\n this.isInvalid = isInvalid || isInvalidByRequired || this.isInputInvalid;\n this.isInfo = isInfo;\n this.isValid = isValid;\n this.isWarning = isWarning;\n }\n\n @Watch('isInputInvalid')\n async onInputValidationChange() {\n const state = await this.getValidityState();\n this.validityStateChange.emit({\n patternMismatch: state.patternMismatch,\n invalidReason: this.invalidReason,\n });\n }\n\n /** @internal */\n @Method()\n getValidityState(): Promise<ValidityState> {\n return Promise.resolve(\n createValidityState(this.isInputInvalid, !!this.required, this.value)\n );\n }\n\n /**\n * Get the native input element\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n return this.inputElementRef.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 /**\n * Returns whether the text field has been touched.\n * @internal\n */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n const invalidText = this.isInputInvalid\n ? this.i18nErrorTimeUnparsable\n : this.invalidText;\n\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n label={this.label}\n helperText={this.helperText}\n isInvalid={this.isInvalid}\n invalidText={invalidText}\n infoText={this.infoText}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n warningText={this.warningText}\n isValid={this.isValid}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n required={this.required}\n controlRef={this.inputElementRef}\n >\n {this.renderInput()}\n </ix-field-wrapper>\n <ix-dropdown\n data-testid=\"time-dropdown\"\n trigger={this.inputElementRef.waitForCurrent()}\n ref={this.dropdownElementRef}\n closeBehavior=\"outside\"\n suppressOverflowBehavior={true}\n show={this.show}\n onShowChanged={(event) => {\n this.show = event.detail;\n }}\n >\n <ix-time-picker\n ref={this.timePickerRef}\n format={this.format}\n time={this.time ?? ''}\n hourInterval={this.hourInterval}\n minuteInterval={this.minuteInterval}\n secondInterval={this.secondInterval}\n millisecondInterval={this.millisecondInterval}\n embedded\n hideHeader={this.hideHeader}\n i18nConfirmTime={this.i18nSelectTime}\n i18nHeader={this.i18nTime}\n i18nHourColumnHeader={this.i18nHourColumnHeader}\n i18nSecondColumnHeader={this.i18nSecondColumnHeader}\n i18nMinuteColumnHeader={this.i18nMinuteColumnHeader}\n i18nMillisecondColumnHeader={this.i18nMillisecondColumnHeader}\n onTimeSelect={(event: IxTimePickerCustomEvent<string>) => {\n this.onInput(event.detail);\n\n this.show = false;\n }}\n ></ix-time-picker>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"time-input.js","sourceRoot":"","sources":["../../../src/components/time-input/time-input.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2025 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 { iconClock } 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 { DateTime } from 'luxon';\nimport { SlotEnd, SlotStart } from '../input/input.fc';\nimport {\n DisposableChangesAndVisibilityObservers,\n addDisposableChangesAndVisibilityObservers,\n adjustPaddingForStartAndEnd,\n handleSubmitOnEnterKeydown,\n} from '../input/input.util';\nimport {\n ClassMutationObserver,\n HookValidationLifecycle,\n IxInputFieldComponent,\n ValidationResults,\n createClassMutationObserver,\n getValidationText,\n} from '../utils/input';\nimport { makeRef } from '../utils/make-ref';\nimport { IxTimePickerCustomEvent } from '../../components';\nimport type { TimeInputValidityState } from './time-input.types';\nimport {\n closeDropdown as closeDropdownUtil,\n createValidityState,\n handleIconClick,\n openDropdown as openDropdownUtil,\n} from '../utils/input/picker-input.util';\n\n/**\n * @since 3.2.0\n * @form-ready\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-time-input',\n styleUrl: 'time-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class TimeInput implements IxInputFieldComponent<string> {\n @Element() hostElement!: HTMLIxTimeInputElement;\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 * Value of the input element\n */\n @Prop({ reflect: true, mutable: true }) value: string = '';\n\n @Watch('value') watchValuePropHandler(newValue: string) {\n this.onInput(newValue);\n }\n\n /**\n * Format of time string\n * See {@link https://moment.github.io/luxon/#/formatting?id=table-of-tokens} for all available tokens.\n */\n @Prop() format: string = 'TT';\n\n /**\n * Required attribute\n */\n @Prop() required?: boolean;\n\n /**\n * Helper text below the input field\n */\n @Prop() helperText?: string;\n\n /**\n * Label of the input field\n */\n @Prop() label?: string;\n\n /**\n * Error text below the input field\n */\n @Prop({ reflect: true }) invalidText?: string;\n\n /**\n * Readonly attribute\n */\n @Prop() readonly: boolean = false;\n\n /**\n * Disabled attribute\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Info text below the input field\n */\n @Prop() infoText?: string;\n\n /**\n * Warning text below the input field\n */\n @Prop() warningText?: string;\n\n /**\n * Valid text below the input field\n */\n @Prop() validText?: string;\n\n /**\n * Show text as tooltip\n */\n @Prop() showTextAsTooltip?: boolean;\n\n /**\n * I18n string for the error message when the time is not parsable\n */\n @Prop({ attribute: 'i18n-error-time-unparsable' }) i18nErrorTimeUnparsable =\n 'Time is not valid';\n\n /**\n * Interval for hour selection\n */\n @Prop() hourInterval: number = 1;\n\n /**\n * Interval for minute selection\n */\n @Prop() minuteInterval: number = 1;\n\n /**\n * Interval for second selection\n */\n @Prop() secondInterval: number = 1;\n\n /**\n * Interval for millisecond selection\n */\n @Prop() millisecondInterval: number = 100;\n\n /**\n * Text of time-picker time select button\n */\n @Prop({ attribute: 'i18n-select-time' }) i18nSelectTime: string = 'Confirm';\n\n /**\n * Text for time-picker top label\n */\n @Prop({ attribute: 'i18n-time' }) i18nTime: string = 'Time';\n\n /**\n * Text for time-picker hour column header\n */\n @Prop({ attribute: 'i18n-hour-column-header' }) i18nHourColumnHeader: string =\n 'hr';\n\n /**\n * Text for time-picker minute column header\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop({ attribute: 'i18n-minute-column-header' })\n i18nMinuteColumnHeader: string = 'min';\n\n /**\n * Text for time-picker second column header\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop({ attribute: 'i18n-second-column-header' })\n i18nSecondColumnHeader: string = 'sec';\n\n /**\n * Text for time-picker millisecond column header\n */\n // eslint-disable-next-line @stencil-community/decorators-style\n @Prop({ attribute: 'i18n-millisecond-column-header' })\n i18nMillisecondColumnHeader: string = 'ms';\n\n /**\n * If false, pressing Enter will submit the form (if inside a form).\n * Set to true to suppress submit on Enter.\n */\n @Prop({ reflect: true }) suppressSubmitOnEnter: boolean = false;\n\n /**\n * Hides the header of the picker.\n *\n * @since 4.0.0\n */\n @Prop() hideHeader: boolean = false;\n\n /**\n * Text alignment within the time input. 'start' aligns the text to the start of the input, 'end' aligns the text to the end of the input.\n */\n @Prop() textAlignment: 'start' | 'end' = 'start';\n\n /**\n * Input change event.\n */\n @Event({ cancelable: false }) valueChange!: EventEmitter<string>;\n\n /**\n * Validation state change event.\n */\n @Event() validityStateChange!: EventEmitter<TimeInputValidityState>;\n\n /** @internal */\n @Event() ixFocus!: EventEmitter<void>;\n\n /** @internal */\n @Event() ixBlur!: EventEmitter<void>;\n\n @State() show = false;\n @State() time: string | null = null;\n @State() isInputInvalid = false;\n @State() isInvalid = false;\n @State() isValid = false;\n @State() isInfo = false;\n @State() isWarning = false;\n @State() focus = false;\n\n private readonly slotStartRef = makeRef<HTMLDivElement>();\n private readonly slotEndRef = makeRef<HTMLDivElement>();\n\n private readonly timePickerRef = makeRef<HTMLIxTimePickerElement>();\n\n private readonly inputElementRef = makeRef<HTMLInputElement>();\n private readonly dropdownElementRef = makeRef<HTMLIxDropdownElement>();\n private classObserver?: ClassMutationObserver;\n private invalidReason?: string;\n private touched = false;\n\n private disposableChangesAndVisibilityObservers?: DisposableChangesAndVisibilityObservers;\n\n private handleInputKeyDown(event: KeyboardEvent) {\n handleSubmitOnEnterKeydown(\n event,\n this.suppressSubmitOnEnter,\n this.formInternals.form\n );\n }\n\n updateFormInternalValue(value: string): void {\n this.formInternals.setFormValue(value);\n this.value = value;\n }\n\n connectedCallback(): void {\n this.classObserver = createClassMutationObserver(this.hostElement, () =>\n this.checkClassList()\n );\n\n this.disposableChangesAndVisibilityObservers =\n addDisposableChangesAndVisibilityObservers(\n this.hostElement,\n this.updatePaddings.bind(this)\n );\n }\n\n componentWillLoad(): void {\n if (!this.value) {\n const now = DateTime.now();\n if (now.isValid) {\n this.value = now.toFormat(this.format);\n }\n }\n\n this.onInput(this.value);\n if (this.isInputInvalid) {\n this.time = null;\n } else {\n this.watchValue();\n }\n\n this.checkClassList();\n this.updateFormInternalValue(this.value);\n }\n\n private updatePaddings() {\n adjustPaddingForStartAndEnd(\n this.slotStartRef.current,\n this.slotEndRef.current,\n this.inputElementRef.current\n );\n }\n\n disconnectedCallback(): void {\n this.classObserver?.destroy();\n this.disposableChangesAndVisibilityObservers?.();\n }\n\n @Watch('value')\n watchValue() {\n this.time = this.value;\n }\n\n /** @internal */\n @Method()\n hasValidValue(): Promise<boolean> {\n return Promise.resolve(!!this.value);\n }\n\n /** @internal */\n @Method()\n getAssociatedFormElement(): Promise<HTMLFormElement | null> {\n return Promise.resolve(this.formInternals.form);\n }\n\n async onInput(value: string) {\n this.value = value;\n if (!value) {\n this.isInputInvalid = false;\n this.updateFormInternalValue(value);\n this.valueChange.emit(value);\n return;\n }\n\n if (!this.format) {\n return;\n }\n\n const time = DateTime.fromFormat(value, this.format);\n if (time.isValid) {\n this.isInputInvalid = false;\n } else {\n this.isInputInvalid = true;\n this.invalidReason = time.invalidReason;\n }\n\n this.updateFormInternalValue(value);\n this.valueChange.emit(value);\n }\n\n onTimeIconClick(event: Event) {\n handleIconClick(\n event,\n this.show,\n () => this.openDropdown(),\n this.inputElementRef\n );\n }\n\n async openDropdown() {\n // keep picker in sync with input\n this.time = this.value;\n\n return openDropdownUtil(this.dropdownElementRef);\n }\n\n async closeDropdown() {\n return closeDropdownUtil(this.dropdownElementRef);\n }\n\n private checkClassList() {\n this.isInvalid = this.hostElement.classList.contains('ix-invalid');\n }\n\n private renderInput() {\n return (\n <div class=\"input-wrapper\">\n <SlotStart\n slotStartRef={this.slotStartRef}\n onSlotChange={() => this.updatePaddings()}\n ></SlotStart>\n <input\n autoComplete=\"off\"\n class={{\n 'is-invalid': this.isInputInvalid,\n }}\n style={{\n textAlign: this.textAlignment,\n }}\n disabled={this.disabled}\n readOnly={this.readonly}\n required={this.required}\n ref={this.inputElementRef}\n type=\"text\"\n value={this.value}\n placeholder={this.placeholder}\n name={this.name}\n onInput={(event) => {\n const target = event.target as HTMLInputElement;\n this.onInput(target.value);\n }}\n onClick={(event) => {\n if (this.show) {\n event.stopPropagation();\n event.preventDefault();\n }\n }}\n onFocus={async () => {\n this.openDropdown();\n this.ixFocus.emit();\n }}\n onBlur={() => {\n this.ixBlur.emit();\n this.touched = true;\n }}\n onKeyDown={(event) => this.handleInputKeyDown(event)}\n ></input>\n <SlotEnd\n slotEndRef={this.slotEndRef}\n onSlotChange={() => this.updatePaddings()}\n >\n <ix-icon-button\n data-testid=\"open-time-picker\"\n class={{ 'time-icon-hidden': this.disabled || this.readonly }}\n variant=\"subtle-tertiary\"\n icon={iconClock}\n onClick={(event) => this.onTimeIconClick(event)}\n aria-label=\"Toggle time picker\"\n aria-expanded={this.show}\n ></ix-icon-button>\n </SlotEnd>\n </div>\n );\n }\n\n @HookValidationLifecycle()\n hookValidationLifecycle({\n isInfo,\n isInvalid,\n isInvalidByRequired,\n isValid,\n isWarning,\n }: ValidationResults) {\n this.isInvalid = isInvalid || isInvalidByRequired || this.isInputInvalid;\n this.isInfo = isInfo;\n this.isValid = isValid;\n this.isWarning = isWarning;\n }\n\n @Watch('isInputInvalid')\n async onInputValidationChange() {\n const state = await this.getValidityState();\n this.validityStateChange.emit({\n patternMismatch: state.patternMismatch,\n invalidReason: this.invalidReason,\n });\n }\n\n /** @internal */\n @Method()\n getValidityState(): Promise<ValidityState> {\n return Promise.resolve(\n createValidityState(this.isInputInvalid, !!this.required, this.value)\n );\n }\n\n /**\n * Get the native input element\n */\n @Method()\n getNativeInputElement(): Promise<HTMLInputElement> {\n return this.inputElementRef.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 /**\n * Returns whether the text field has been touched.\n * @internal\n */\n @Method()\n isTouched(): Promise<boolean> {\n return Promise.resolve(this.touched);\n }\n\n render() {\n const invalidText = getValidationText(\n this.isInputInvalid,\n this.invalidText,\n this.i18nErrorTimeUnparsable\n );\n\n return (\n <Host\n class={{\n disabled: this.disabled,\n readonly: this.readonly,\n }}\n >\n <ix-field-wrapper\n label={this.label}\n helperText={this.helperText}\n isInvalid={this.isInvalid}\n invalidText={invalidText}\n infoText={this.infoText}\n isInfo={this.isInfo}\n isWarning={this.isWarning}\n warningText={this.warningText}\n isValid={this.isValid}\n validText={this.validText}\n showTextAsTooltip={this.showTextAsTooltip}\n required={this.required}\n controlRef={this.inputElementRef}\n >\n {this.renderInput()}\n </ix-field-wrapper>\n <ix-dropdown\n data-testid=\"time-dropdown\"\n trigger={this.inputElementRef.waitForCurrent()}\n ref={this.dropdownElementRef}\n closeBehavior=\"outside\"\n suppressOverflowBehavior={true}\n show={this.show}\n onShowChanged={(event) => {\n this.show = event.detail;\n }}\n >\n <ix-time-picker\n ref={this.timePickerRef}\n format={this.format}\n time={this.time ?? ''}\n hourInterval={this.hourInterval}\n minuteInterval={this.minuteInterval}\n secondInterval={this.secondInterval}\n millisecondInterval={this.millisecondInterval}\n embedded\n hideHeader={this.hideHeader}\n i18nConfirmTime={this.i18nSelectTime}\n i18nHeader={this.i18nTime}\n i18nHourColumnHeader={this.i18nHourColumnHeader}\n i18nSecondColumnHeader={this.i18nSecondColumnHeader}\n i18nMinuteColumnHeader={this.i18nMinuteColumnHeader}\n i18nMillisecondColumnHeader={this.i18nMillisecondColumnHeader}\n onTimeSelect={(event: IxTimePickerCustomEvent<string>) => {\n this.onInput(event.detail);\n\n this.show = false;\n }}\n ></ix-time-picker>\n </ix-dropdown>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -722,7 +722,7 @@ input[class*=ix-invalid]:not(.disabled):not(:disabled):not([disabled]):active {
|
|
|
722
722
|
overflow: hidden;
|
|
723
723
|
white-space: nowrap;
|
|
724
724
|
}
|
|
725
|
-
:host .clock .flex .column-
|
|
725
|
+
:host .clock .flex .column-separator {
|
|
726
726
|
display: flex;
|
|
727
727
|
align-items: center;
|
|
728
728
|
justify-content: center;
|
|
@@ -733,9 +733,9 @@ input[class*=ix-invalid]:not(.disabled):not(:disabled):not([disabled]):active {
|
|
|
733
733
|
:host .clock .element-list {
|
|
734
734
|
list-style-type: none;
|
|
735
735
|
overflow: auto;
|
|
736
|
-
padding:
|
|
737
|
-
margin: -
|
|
738
|
-
max-height:
|
|
736
|
+
padding: 0.0625rem;
|
|
737
|
+
margin: -0.0625rem;
|
|
738
|
+
max-height: 15.75rem;
|
|
739
739
|
}
|
|
740
740
|
:host .clock .element-list button {
|
|
741
741
|
all: unset;
|
|
@@ -744,7 +744,7 @@ input[class*=ix-invalid]:not(.disabled):not(:disabled):not([disabled]):active {
|
|
|
744
744
|
box-sizing: border-box;
|
|
745
745
|
width: 2.5rem;
|
|
746
746
|
height: 2.5rem;
|
|
747
|
-
margin-bottom:
|
|
747
|
+
margin-bottom: 0.125rem;
|
|
748
748
|
display: flex;
|
|
749
749
|
justify-content: center;
|
|
750
750
|
align-items: center;
|
|
@@ -766,12 +766,12 @@ input[class*=ix-invalid]:not(.disabled):not(:disabled):not([disabled]):active {
|
|
|
766
766
|
background-color: var(--theme-datepicker-day--background--selected-hover);
|
|
767
767
|
}
|
|
768
768
|
:host .clock .element-list .selected:focus-visible {
|
|
769
|
-
border:
|
|
769
|
+
border: 0.0625rem solid var(--theme-color-inv-contrast-text);
|
|
770
770
|
}
|
|
771
771
|
:host .clock .element-list .element-list-padding {
|
|
772
772
|
width: 2.5rem;
|
|
773
|
-
height:
|
|
774
|
-
min-height:
|
|
773
|
+
height: 13.125rem;
|
|
774
|
+
min-height: 13.125rem;
|
|
775
775
|
}
|
|
776
776
|
:host .clock div.element-list {
|
|
777
777
|
scrollbar-width: none;
|
|
@@ -178,7 +178,7 @@ export class TimePicker {
|
|
|
178
178
|
}
|
|
179
179
|
/**
|
|
180
180
|
* Get default time value
|
|
181
|
-
* @returns
|
|
181
|
+
* @returns DateTime.now() for empty state (no selection)
|
|
182
182
|
*/
|
|
183
183
|
getDefaultTime() {
|
|
184
184
|
return DateTime.now();
|
|
@@ -231,15 +231,7 @@ export class TimePicker {
|
|
|
231
231
|
if (elementContainer) {
|
|
232
232
|
elementContainer.focus({ preventScroll: true });
|
|
233
233
|
if (!this.isElementVisible(elementContainer, elementList)) {
|
|
234
|
-
elementContainer.
|
|
235
|
-
block: this.focusScrollAlignment,
|
|
236
|
-
});
|
|
237
|
-
if (this.focusScrollAlignment === 'end') {
|
|
238
|
-
elementList.scrollTop += 4;
|
|
239
|
-
}
|
|
240
|
-
else {
|
|
241
|
-
elementList.scrollTop -= 4;
|
|
242
|
-
}
|
|
234
|
+
this.scrollElementIntoView(elementContainer, elementList, this.focusScrollAlignment);
|
|
243
235
|
}
|
|
244
236
|
}
|
|
245
237
|
}
|
|
@@ -298,7 +290,16 @@ export class TimePicker {
|
|
|
298
290
|
event.preventDefault();
|
|
299
291
|
}
|
|
300
292
|
}
|
|
301
|
-
onUnitCellBlur(unit) {
|
|
293
|
+
onUnitCellBlur(unit, event) {
|
|
294
|
+
var _a;
|
|
295
|
+
const relatedTarget = event.relatedTarget;
|
|
296
|
+
// Check if column lost focus to scroll back to selected value
|
|
297
|
+
if (relatedTarget) {
|
|
298
|
+
const relatedUnit = (_a = relatedTarget.dataset.elementContainerId) === null || _a === void 0 ? void 0 : _a.split('-')[0];
|
|
299
|
+
if (relatedUnit !== unit) {
|
|
300
|
+
this.elementListScrollToTop(unit, Number(this.formattedTime[unit]), 'smooth');
|
|
301
|
+
}
|
|
302
|
+
}
|
|
302
303
|
this.isUnitFocused = false;
|
|
303
304
|
const focusedValue = Number(this.formattedTime[unit]);
|
|
304
305
|
this.updateDescriptorFocusedValue(unit, focusedValue);
|
|
@@ -323,6 +324,19 @@ export class TimePicker {
|
|
|
323
324
|
return (elementRect.top >= containerRect.top &&
|
|
324
325
|
elementRect.bottom <= containerRect.bottom);
|
|
325
326
|
}
|
|
327
|
+
scrollElementIntoView(element, container, alignment) {
|
|
328
|
+
const SCROLL_BUFFER = 1;
|
|
329
|
+
const containerRect = container.getBoundingClientRect();
|
|
330
|
+
const elementRect = element.getBoundingClientRect();
|
|
331
|
+
if (alignment === 'end') {
|
|
332
|
+
container.scrollTop +=
|
|
333
|
+
elementRect.bottom - containerRect.bottom + SCROLL_BUFFER;
|
|
334
|
+
}
|
|
335
|
+
else {
|
|
336
|
+
container.scrollTop +=
|
|
337
|
+
elementRect.top - containerRect.top - SCROLL_BUFFER;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
326
340
|
updateFocusedValue(value) {
|
|
327
341
|
const numberArray = this.getNumberArrayForUnit(this.focusedUnit);
|
|
328
342
|
const maxValue = numberArray[numberArray.length - 1];
|
|
@@ -536,6 +550,9 @@ export class TimePicker {
|
|
|
536
550
|
return this.formattedTime[unit] === String(number);
|
|
537
551
|
}
|
|
538
552
|
select(unit, number) {
|
|
553
|
+
if (this.isSelected(unit, number)) {
|
|
554
|
+
return;
|
|
555
|
+
}
|
|
539
556
|
this.formattedTime = Object.assign(Object.assign({}, this.formattedTime), { [unit]: String(number) });
|
|
540
557
|
this.timeUpdate(unit, number);
|
|
541
558
|
this.elementListScrollToTop(unit, number, 'smooth');
|
|
@@ -607,28 +624,26 @@ export class TimePicker {
|
|
|
607
624
|
return '-1';
|
|
608
625
|
}
|
|
609
626
|
render() {
|
|
610
|
-
return (h(Host, { key: '
|
|
627
|
+
return (h(Host, { key: 'da95d86956db27851713b28d3727ee9d8e33f785' }, h("ix-date-time-card", { key: '5a8a88d641f859eaa2c1e1e2f7b699abd56f7f74', embedded: this.embedded, timePickerAppearance: true, corners: this.corners, hasFooter: !this.dateTimePickerAppearance, hideHeader: this.hideHeader }, h("div", { key: '85639253213bee998504da73ea4de0421cf146c3', class: "header", slot: "header" }, h("ix-typography", { key: '0a21cf47dd51eaf17c44271dbe4d63d909523055', format: "body" }, this.i18nHeader)), h("div", { key: '9d716194b4a37662e298e8d59c54142e78b9a6a0', class: "clock" }, this.timePickerDescriptors.map((descriptor, index) => (h("div", { class: "flex" }, h("div", { class: { columns: true, hidden: descriptor.hidden } }, h("div", { class: "column-header", title: descriptor.header }, descriptor.header), h("div", { "data-element-list-id": descriptor.unit, class: "element-list", tabIndex: -1 }, descriptor.numberArray.map((number) => {
|
|
611
628
|
return (h("button", { "data-element-container-id": `${descriptor.unit}-${number}`, class: {
|
|
612
629
|
selected: this.isSelected(descriptor.unit, number),
|
|
613
630
|
'element-container': true,
|
|
614
|
-
}, onMouseDown: (e) => {
|
|
615
|
-
e.preventDefault();
|
|
616
631
|
}, onClick: () => {
|
|
617
632
|
this.select(descriptor.unit, number);
|
|
618
|
-
}, onFocus: () => this.onUnitCellFocus(descriptor.unit, number), onBlur: () => this.onUnitCellBlur(descriptor.unit), tabindex: this.getElementContainerTabIndex(number, descriptor.unit), "aria-label": `${descriptor.header}: ${number}` }, this.formatUnitValue(descriptor.unit, number)));
|
|
633
|
+
}, onFocus: () => this.onUnitCellFocus(descriptor.unit, number), onBlur: (e) => this.onUnitCellBlur(descriptor.unit, e), tabindex: this.getElementContainerTabIndex(number, descriptor.unit), "aria-label": `${descriptor.header}: ${number}` }, this.formatUnitValue(descriptor.unit, number)));
|
|
619
634
|
}), h("div", { class: "element-list-padding" }))), index !== this.timePickerDescriptors.length - 1 && (h("div", { class: {
|
|
620
|
-
'column-
|
|
635
|
+
'column-separator': true,
|
|
621
636
|
hidden: descriptor.hidden,
|
|
622
|
-
} }, this.getColumnSeparator(index)))))), this.timeRef && (h("div", { key: '
|
|
637
|
+
} }, this.getColumnSeparator(index)))))), this.timeRef && (h("div", { key: 'b177d5ea743648618ab6b877f60a37b46d8a5fa5', class: "flex" }, h("div", { key: 'a714f52d250386088368bdfe5c28ad45a1fe2dd0', class: "column-separator" }), h("div", { key: 'c7730b336e486ec34fd23e293b8e70e309d153fe', class: "columns" }, h("div", { key: '56677d7c350e235777e5d06afd61b925934923d6', class: "column-header", title: "AM/PM" }), h("div", { key: '764fd7297bdafaa69d24c9a2655c9d4fa7a73966', class: "element-list", tabIndex: -1 }, h("button", { key: '6b7ddefac72c7d4a778e8de6c42fd593003f5e5f', "data-am-pm-id": "AM", class: {
|
|
623
638
|
selected: this.timeRef === 'AM',
|
|
624
639
|
'element-container': true,
|
|
625
|
-
}, onClick: () => this.changeTimeReference('AM'), tabindex: "0", "aria-label": "AM" }, "AM"), h("button", { key: '
|
|
640
|
+
}, onClick: () => this.changeTimeReference('AM'), tabindex: "0", "aria-label": "AM" }, "AM"), h("button", { key: '75cccf55946da3b04faac2da0bd3c989b8f633a3', "data-am-pm-id": "PM", class: {
|
|
626
641
|
selected: this.timeRef === 'PM',
|
|
627
642
|
'element-container': true,
|
|
628
|
-
}, onClick: () => this.changeTimeReference('PM'), tabindex: "0", "aria-label": "PM" }, "PM")))))), h("div", { key: '
|
|
643
|
+
}, onClick: () => this.changeTimeReference('PM'), tabindex: "0", "aria-label": "PM" }, "PM")))))), h("div", { key: 'e033175f6d142fd73661703c89c975874bc9d6be', class: {
|
|
629
644
|
footer: true,
|
|
630
645
|
'footer--compact': this.timePickerDescriptors.length <= 2,
|
|
631
|
-
}, slot: "footer" }, h("ix-button", { key: '
|
|
646
|
+
}, slot: "footer" }, h("ix-button", { key: '795d890b983737fd09cc7471c428266945062262', class: "confirm-button", onClick: () => {
|
|
632
647
|
var _a;
|
|
633
648
|
this.timeSelect.emit((_a = this._time) === null || _a === void 0 ? void 0 : _a.toFormat(this.format));
|
|
634
649
|
} }, this.i18nConfirmTime)))));
|