@siemens/ix 1.0.0 → 1.1.0-beta.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/README.md +4 -0
- package/dist/cjs/ix-blind.cjs.entry.js +1 -1
- package/dist/cjs/ix-breadcrumb_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-button.cjs.entry.js +1 -1
- package/dist/cjs/ix-category-filter.cjs.entry.js +1 -1
- package/dist/cjs/ix-chip.cjs.entry.js +1 -1
- package/dist/cjs/ix-date-picker_2.cjs.entry.js +214 -56
- package/dist/cjs/ix-date-time-card.cjs.entry.js +1 -1
- package/dist/cjs/ix-datetime-picker.cjs.entry.js +79 -10
- package/dist/cjs/ix-dropdown_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-event-list_2.cjs.entry.js +3 -3
- package/dist/cjs/ix-expanding-search.cjs.entry.js +2 -1
- package/dist/cjs/ix-filter-chip.cjs.entry.js +1 -1
- package/dist/cjs/ix-map-navigation_2.cjs.entry.js +0 -25
- package/dist/cjs/ix-menu_9.cjs.entry.js +32 -16
- package/dist/cjs/ix-select_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-tile.cjs.entry.js +1 -1
- package/dist/cjs/ix-toast_2.cjs.entry.js +4 -0
- package/dist/cjs/ix-tree_2.cjs.entry.js +1 -1
- package/dist/cjs/ix-validation-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/{ix-workflow-step.cjs.entry.js → ix-workflow-step_2.cjs.entry.js} +77 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/siemens-ix.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +6 -0
- package/dist/collection/components/blind/blind.css +1 -1
- package/dist/collection/components/breadcrumb/breadcrumb.css +1 -1
- package/dist/collection/components/button/button.css +3 -0
- package/dist/collection/components/button/button.js +1 -1
- package/dist/collection/components/category-filter/category-filter.css +2 -3
- package/dist/collection/components/chip/chip.css +8 -8
- package/dist/collection/components/date-picker/date-picker.css +51 -49
- package/dist/collection/components/date-picker/date-picker.js +371 -57
- package/dist/collection/components/date-picker/events.js +1 -0
- package/dist/collection/components/date-time-card/date-time-card.css +3 -1
- package/dist/collection/components/datetime-picker/datetime-picker.css +12 -3
- package/dist/collection/components/datetime-picker/datetime-picker.js +361 -21
- package/dist/collection/components/datetime-picker/event.js +9 -0
- package/dist/collection/components/dropdown/dropdown.css +1 -1
- package/dist/collection/components/event-list/event-list.css +2 -2
- package/dist/collection/components/event-list-item/event-list-item.css +36 -19
- package/dist/collection/components/event-list-item/event-list-item.js +2 -2
- package/dist/collection/components/expanding-search/expanding-search.css +6 -3
- package/dist/collection/components/expanding-search/expanding-search.js +1 -0
- package/dist/collection/components/filter-chip/filter-chip.css +2 -2
- package/dist/collection/components/map-navigation/map-navigation.js +1 -28
- package/dist/collection/components/menu/menu.js +36 -17
- package/dist/collection/components/menu-about/menu-about.js +13 -34
- package/dist/collection/components/menu-item/menu-item.css +2 -2
- package/dist/collection/components/menu-settings/menu-settings.js +1 -1
- package/dist/collection/components/select/select.css +1 -1
- package/dist/collection/components/tile/tile.css +1 -1
- package/dist/collection/components/time-picker/time-picker.js +188 -31
- package/dist/collection/components/toast/toast.js +6 -1
- package/dist/collection/components/tree-item/tree-item.css +9 -3
- package/dist/collection/components/validation-tooltip/validation-tooltip.css +2 -1
- package/dist/collection/exports.js +2 -0
- package/dist/components/button.js +2 -2
- package/dist/components/date-picker.js +162 -45
- package/dist/components/date-time-card.js +1 -1
- package/dist/components/dropdown.js +1 -1
- package/dist/components/filter-chip.js +1 -1
- package/dist/components/ix-blind.js +1 -1
- package/dist/components/ix-breadcrumb.js +1 -1
- package/dist/components/ix-category-filter.js +1 -1
- package/dist/components/ix-chip.js +1 -1
- package/dist/components/ix-datetime-picker.js +90 -11
- package/dist/components/ix-event-list-item.js +2 -2
- package/dist/components/ix-event-list.js +1 -1
- package/dist/components/ix-expanding-search.js +2 -1
- package/dist/components/ix-map-navigation.js +6 -51
- package/dist/components/ix-menu-about.js +115 -1
- package/dist/components/ix-menu.js +20 -2
- package/dist/components/ix-select.js +1 -1
- package/dist/components/ix-tile.js +1 -1
- package/dist/components/ix-validation-tooltip.js +1 -1
- package/dist/components/menu-item.js +1 -1
- package/dist/components/time-picker.js +70 -17
- package/dist/components/toast.js +4 -0
- package/dist/components/tree-item.js +1 -1
- package/dist/esm/ix-blind.entry.js +1 -1
- package/dist/esm/ix-breadcrumb_2.entry.js +1 -1
- package/dist/esm/ix-button.entry.js +1 -1
- package/dist/esm/ix-category-filter.entry.js +1 -1
- package/dist/esm/ix-chip.entry.js +1 -1
- package/dist/esm/ix-date-picker_2.entry.js +214 -56
- package/dist/esm/ix-date-time-card.entry.js +1 -1
- package/dist/esm/ix-datetime-picker.entry.js +79 -10
- package/dist/esm/ix-dropdown_2.entry.js +1 -1
- package/dist/esm/ix-event-list_2.entry.js +3 -3
- package/dist/esm/ix-expanding-search.entry.js +2 -1
- package/dist/esm/ix-filter-chip.entry.js +1 -1
- package/dist/esm/ix-map-navigation_2.entry.js +0 -25
- package/dist/esm/ix-menu_9.entry.js +32 -16
- package/dist/esm/ix-select_2.entry.js +1 -1
- package/dist/esm/ix-tile.entry.js +1 -1
- package/dist/esm/ix-toast_2.entry.js +4 -0
- package/dist/esm/ix-tree_2.entry.js +1 -1
- package/dist/esm/ix-validation-tooltip.entry.js +1 -1
- package/dist/esm/{ix-workflow-step.entry.js → ix-workflow-step_2.entry.js} +78 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/siemens-ix.js +1 -1
- package/dist/siemens-ix/p-02501b64.entry.js +1 -0
- package/dist/siemens-ix/{p-03d95feb.entry.js → p-1d56d9b6.entry.js} +1 -1
- package/dist/siemens-ix/p-2b7ed5d4.entry.js +1 -0
- package/dist/siemens-ix/p-334b7d5c.entry.js +1 -0
- package/dist/siemens-ix/{p-cde8f20e.entry.js → p-4287bd7e.entry.js} +1 -1
- package/dist/siemens-ix/{p-7ec8a00e.entry.js → p-52d99490.entry.js} +1 -1
- package/dist/siemens-ix/{p-2cda7278.entry.js → p-5fed62f8.entry.js} +1 -1
- package/dist/siemens-ix/p-71de6498.entry.js +1 -0
- package/dist/siemens-ix/p-77823732.entry.js +1 -0
- package/dist/siemens-ix/{p-2ce29bcd.entry.js → p-94b86dec.entry.js} +1 -1
- package/dist/siemens-ix/{p-40842bea.entry.js → p-a49005f3.entry.js} +1 -1
- package/dist/siemens-ix/{p-e1f54836.entry.js → p-a8396077.entry.js} +1 -1
- package/dist/siemens-ix/{p-504927a0.entry.js → p-b93c2fab.entry.js} +1 -1
- package/dist/siemens-ix/p-bf5513a0.entry.js +1 -0
- package/dist/siemens-ix/p-c0c9fb81.entry.js +1 -0
- package/dist/siemens-ix/p-c792adb4.entry.js +1 -0
- package/dist/siemens-ix/{p-7a4c744e.entry.js → p-c9a5d942.entry.js} +1 -1
- package/dist/siemens-ix/p-cb6e62ff.entry.js +1 -0
- package/dist/siemens-ix/p-cbd0f8a7.entry.js +1 -0
- package/dist/siemens-ix/p-fa44655a.entry.js +1 -0
- package/dist/siemens-ix/siemens-ix.css +13 -13
- package/dist/siemens-ix/siemens-ix.esm.js +1 -1
- package/dist/types/components/date-picker/date-picker.d.ts +93 -13
- package/dist/types/components/date-picker/events.d.ts +5 -0
- package/dist/types/components/datetime-picker/datetime-picker.d.ts +106 -9
- package/dist/types/components/datetime-picker/event.d.ts +5 -0
- package/dist/types/components/map-navigation/map-navigation.d.ts +0 -8
- package/dist/types/components/menu/menu.d.ts +2 -0
- package/dist/types/components/menu-about/menu-about.d.ts +1 -4
- package/dist/types/components/time-picker/time-picker.d.ts +42 -8
- package/dist/types/components.d.ts +274 -38
- package/dist/types/exports.d.ts +2 -0
- package/package.json +10 -1
- package/scss/components/_buttons.scss +15 -5
- package/scss/components/_checkboxes.scss +26 -14
- package/scss/components/_dropdown.scss +1 -1
- package/scss/components/_forms.scss +2 -1
- package/scss/components/_radiobuttons.scss +26 -14
- package/scss/mixins/_hover.scss +0 -1
- package/src/components/date-picker/readme.md +31 -10
- package/src/components/datetime-picker/readme.md +23 -10
- package/src/components/menu-about/readme.md +5 -6
- package/src/components/time-picker/readme.md +25 -8
- package/dist/cjs/ix-workflow-steps.cjs.entry.js +0 -83
- package/dist/components/menu-about.js +0 -120
- package/dist/esm/ix-workflow-steps.entry.js +0 -79
- package/dist/siemens-ix/p-1e111d1d.entry.js +0 -1
- package/dist/siemens-ix/p-240d22b6.entry.js +0 -1
- package/dist/siemens-ix/p-3613be96.entry.js +0 -1
- package/dist/siemens-ix/p-5990f0cb.entry.js +0 -1
- package/dist/siemens-ix/p-59c81e2a.entry.js +0 -1
- package/dist/siemens-ix/p-61b032bf.entry.js +0 -1
- package/dist/siemens-ix/p-662d756f.entry.js +0 -1
- package/dist/siemens-ix/p-9d9b8ad1.entry.js +0 -1
- package/dist/siemens-ix/p-ca71538c.entry.js +0 -1
- package/dist/siemens-ix/p-caf856f2.entry.js +0 -1
- package/dist/siemens-ix/p-d31bf6db.entry.js +0 -1
- package/dist/siemens-ix/p-fe020fa3.entry.js +0 -1
|
@@ -45,14 +45,14 @@
|
|
|
45
45
|
border-radius: 100%;
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
[type='radio'] + label:focus {
|
|
48
|
+
[type='radio'] + label:focus-visible {
|
|
49
49
|
&:before {
|
|
50
50
|
outline: 1px solid var(--focus--border-color);
|
|
51
51
|
outline-offset: var(--theme-radiobtn--focus--outline-offset);
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
[type='radio']:focus + label {
|
|
55
|
+
[type='radio']:focus-visible + label {
|
|
56
56
|
&:before {
|
|
57
57
|
outline: 1px solid var(--focus--border-color);
|
|
58
58
|
outline-offset: var(--theme-radiobtn--focus--outline-offset);
|
|
@@ -62,29 +62,34 @@
|
|
|
62
62
|
[type='radio']:not(:checked) {
|
|
63
63
|
& + label:before {
|
|
64
64
|
background-color: var(--theme-radiobtn-unchecked--background);
|
|
65
|
-
border: var(--theme-radiobtn--border-thickness) solid
|
|
65
|
+
border: var(--theme-radiobtn--border-thickness) solid
|
|
66
|
+
var(--theme-radiobtn-unchecked--border-color);
|
|
66
67
|
}
|
|
67
68
|
|
|
68
69
|
&:hover + label:before {
|
|
69
70
|
background-color: var(--theme-radiobtn-unchecked--background--hover);
|
|
70
|
-
border: var(--theme-radiobtn--border-thickness) solid
|
|
71
|
+
border: var(--theme-radiobtn--border-thickness) solid
|
|
72
|
+
var(--theme-radiobtn-unchecked--border-color--hover);
|
|
71
73
|
}
|
|
72
74
|
|
|
73
75
|
&:active + label:before {
|
|
74
76
|
background-color: var(--theme-radiobtn-unchecked--background--active);
|
|
75
|
-
border: var(--theme-radiobtn--border-thickness) solid
|
|
77
|
+
border: var(--theme-radiobtn--border-thickness) solid
|
|
78
|
+
var(--theme-radiobtn-unchecked--border-color--active);
|
|
76
79
|
}
|
|
77
80
|
|
|
78
81
|
&:disabled + label::before {
|
|
79
82
|
background-color: var(--theme-radiobtn-unchecked--background--disabled);
|
|
80
|
-
border: var(--theme-radiobtn--border-thickness) solid
|
|
83
|
+
border: var(--theme-radiobtn--border-thickness) solid
|
|
84
|
+
var(--theme-radiobtn-unchecked--border-color--disabled);
|
|
81
85
|
}
|
|
82
86
|
}
|
|
83
87
|
|
|
84
88
|
[type='radio']:checked {
|
|
85
89
|
& + label:before {
|
|
86
90
|
background-color: var(--theme-radiobtn-checked--background);
|
|
87
|
-
border: var(--theme-radiobtn--border-thickness) solid
|
|
91
|
+
border: var(--theme-radiobtn--border-thickness) solid
|
|
92
|
+
var(--theme-radiobtn-checked--border-color);
|
|
88
93
|
}
|
|
89
94
|
|
|
90
95
|
& + label:after {
|
|
@@ -102,17 +107,20 @@
|
|
|
102
107
|
|
|
103
108
|
&:hover + label:before {
|
|
104
109
|
background-color: var(--theme-radiobtn-checked--background--hover);
|
|
105
|
-
border: var(--theme-radiobtn--border-thickness) solid
|
|
110
|
+
border: var(--theme-radiobtn--border-thickness) solid
|
|
111
|
+
var(--theme-radiobtn-checked--border-color--hover);
|
|
106
112
|
}
|
|
107
113
|
|
|
108
114
|
&:active + label:before {
|
|
109
115
|
background-color: var(--theme-radiobtn-checked--background--active);
|
|
110
|
-
border: var(--theme-radiobtn--border-thickness) solid
|
|
116
|
+
border: var(--theme-radiobtn--border-thickness) solid
|
|
117
|
+
var(--theme-radiobtn-checked--border-color--active);
|
|
111
118
|
}
|
|
112
119
|
|
|
113
120
|
&:disabled + label:before {
|
|
114
121
|
background-color: var(--theme-radiobtn-checked--background--disabled);
|
|
115
|
-
border: var(--theme-radiobtn--border-thickness) solid
|
|
122
|
+
border: var(--theme-radiobtn--border-thickness) solid
|
|
123
|
+
var(--theme-radiobtn-checked--border-color--disabled);
|
|
116
124
|
}
|
|
117
125
|
|
|
118
126
|
&:disabled + label::after {
|
|
@@ -138,22 +146,26 @@
|
|
|
138
146
|
|
|
139
147
|
& + label:before {
|
|
140
148
|
background-color: var(--theme-radiobtn-mixed--background);
|
|
141
|
-
border: var(--theme-radiobtn--border-thickness) solid
|
|
149
|
+
border: var(--theme-radiobtn--border-thickness) solid
|
|
150
|
+
var(--theme-radiobtn-mixed--border-color);
|
|
142
151
|
}
|
|
143
152
|
|
|
144
153
|
&:hover + label:before {
|
|
145
154
|
background-color: var(--theme-radiobtn-mixed--background--hover);
|
|
146
|
-
border: var(--theme-radiobtn--border-thickness) solid
|
|
155
|
+
border: var(--theme-radiobtn--border-thickness) solid
|
|
156
|
+
var(--theme-radiobtn-mixed--border-color--hover);
|
|
147
157
|
}
|
|
148
158
|
|
|
149
159
|
&:active + label:before {
|
|
150
160
|
background-color: var(--theme-radiobtn-mixed--background--active);
|
|
151
|
-
border: var(--theme-radiobtn--border-thickness) solid
|
|
161
|
+
border: var(--theme-radiobtn--border-thickness) solid
|
|
162
|
+
var(--theme-radiobtn-mixed--border-color--active);
|
|
152
163
|
}
|
|
153
164
|
|
|
154
165
|
&:disabled + label::before {
|
|
155
166
|
background-color: var(--theme-radiobtn-mixed--background--disabled);
|
|
156
|
-
border: var(--theme-radiobtn--border-thickness) solid
|
|
167
|
+
border: var(--theme-radiobtn--border-thickness) solid
|
|
168
|
+
var(--theme-radiobtn-mixed--border-color--disabled);
|
|
157
169
|
}
|
|
158
170
|
|
|
159
171
|
&:disabled + label::after {
|
package/scss/mixins/_hover.scss
CHANGED
|
@@ -11,20 +11,41 @@ SPDX-License-Identifier: MIT
|
|
|
11
11
|
|
|
12
12
|
## Properties
|
|
13
13
|
|
|
14
|
-
| Property
|
|
15
|
-
|
|
|
16
|
-
| `corners`
|
|
17
|
-
| `
|
|
18
|
-
| `
|
|
19
|
-
| `
|
|
14
|
+
| Property | Attribute | Description | Type | Default |
|
|
15
|
+
| ---------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------- | -------------------------------------- |
|
|
16
|
+
| `corners` | `corners` | Corner style | `"left" \| "right" \| "rounded"` | `'rounded'` |
|
|
17
|
+
| `eventDelimiter` | `event-delimiter` | Default behavior of the done event is to join the two events (date and time) into one combined string output. This combination can be configured over the delimiter | `string` | `' - '` |
|
|
18
|
+
| `format` | `format` | Date format string. See {@link https ://moment.github.io/luxon/#/formatting?id=table-of-tokens} for all available tokens. | `string` | `'yyyy/LL/dd'` |
|
|
19
|
+
| `from` | `from` | Picker date. If the picker is in range mode this property is the start date. Format is based on `format` | `string` | `DateTime.now().toFormat(this.format)` |
|
|
20
|
+
| `individual` | `individual` | <span style="color:red">**[DEPRECATED]**</span> - will get removed with next major release<br/><br/> | `boolean` | `true` |
|
|
21
|
+
| `maxDate` | `max-date` | The latest date that can be selected by the date picker. If not set there will be no restriction. | `string` | `undefined` |
|
|
22
|
+
| `minDate` | `min-date` | The earliest date that can be selected by the date picker. If not set there will be no restriction. | `string` | `undefined` |
|
|
23
|
+
| `range` | `range` | If true a range of dates can be selected. | `boolean` | `true` |
|
|
24
|
+
| `textSelectDate` | `text-select-date` | Text of date select button | `string` | `'Done'` |
|
|
25
|
+
| `to` | `to` | Picker date. If the picker is in range mode this property is the end date. If the picker is not in range mode leave this value `null` Format is based on `format` | `string` | `null` |
|
|
20
26
|
|
|
21
27
|
|
|
22
28
|
## Events
|
|
23
29
|
|
|
24
|
-
| Event
|
|
25
|
-
|
|
|
26
|
-
| `dateChange`
|
|
27
|
-
| `
|
|
30
|
+
| Event | Description | Type |
|
|
31
|
+
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
|
|
32
|
+
| `dateChange` | Date change event If datepicker is in range mode the event detail will be sperated with a `-` e.g. `2022/10/22 - 2022/10/24` (start and end). If range mode is choosen consider to use `dateRangeChange`. | `CustomEvent<DateChangeEvent \| string>` |
|
|
33
|
+
| `dateRangeChange` | Date range change. Only triggered if datepicker is in range mode | `CustomEvent<DateChangeEvent>` |
|
|
34
|
+
| `dateSelect` | Date selection confirmed via button action | `CustomEvent<DateChangeEvent>` |
|
|
35
|
+
| `done` | <span style="color:red">**[DEPRECATED]**</span> Use `dateSelect`<br/><br/>Date selection confirmed via button action | `CustomEvent<string>` |
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
## Methods
|
|
39
|
+
|
|
40
|
+
### `getCurrentDate() => Promise<{ start: DateTime; end: DateTime; }>`
|
|
41
|
+
|
|
42
|
+
Get the current DateTime
|
|
43
|
+
|
|
44
|
+
#### Returns
|
|
45
|
+
|
|
46
|
+
Type: `Promise<{ start: DateTime; end: DateTime; }>`
|
|
47
|
+
|
|
48
|
+
|
|
28
49
|
|
|
29
50
|
|
|
30
51
|
----------------------------------------------
|
|
@@ -11,20 +11,33 @@ SPDX-License-Identifier: MIT
|
|
|
11
11
|
|
|
12
12
|
## Properties
|
|
13
13
|
|
|
14
|
-
| Property | Attribute | Description
|
|
15
|
-
| ------------------- | --------------------- |
|
|
16
|
-
| `
|
|
17
|
-
| `
|
|
18
|
-
| `
|
|
19
|
-
| `
|
|
20
|
-
| `
|
|
14
|
+
| Property | Attribute | Description | Type | Default |
|
|
15
|
+
| ------------------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | -------------- |
|
|
16
|
+
| `dateFormat` | `date-format` | Date format string. See {@link https ://moment.github.io/luxon/#/formatting?id=table-of-tokens} for all available tokens. | `string` | `'yyyy/LL/dd'` |
|
|
17
|
+
| `eventDelimiter` | `event-delimiter` | Default behavior of the done event is to join the two events (date and time) into one combined string output. This combination can be configured over the delimiter | `string` | `' - '` |
|
|
18
|
+
| `from` | `from` | Picker date. If the picker is in range mode this property is the start date. Format is based on `format` | `string` | `undefined` |
|
|
19
|
+
| `maxDate` | `max-date` | The latest date that can be selected by the date picker. If not set there will be no restriction. | `string` | `undefined` |
|
|
20
|
+
| `minDate` | `min-date` | The earliest date that can be selected by the date picker. If not set there will be no restriction. | `string` | `undefined` |
|
|
21
|
+
| `range` | `range` | Set range size | `boolean` | `true` |
|
|
22
|
+
| `showHour` | `show-hour` | Show hour input | `boolean` | `false` |
|
|
23
|
+
| `showMinutes` | `show-minutes` | Show minutes input | `boolean` | `false` |
|
|
24
|
+
| `showSeconds` | `show-seconds` | Show seconds input | `boolean` | `false` |
|
|
25
|
+
| `showTimeReference` | `show-time-reference` | Show time reference input | `any` | `undefined` |
|
|
26
|
+
| `textSelectDate` | `text-select-date` | Text of date select button | `string` | `'Done'` |
|
|
27
|
+
| `time` | `time` | Select time with format string | `string` | `undefined` |
|
|
28
|
+
| `timeFormat` | `time-format` | Time format string. See {@link https ://moment.github.io/luxon/#/formatting?id=table-of-tokens} for all available tokens. | `string` | `'TT'` |
|
|
29
|
+
| `timeReference` | `time-reference` | Set time reference | `"AM" \| "PM"` | `undefined` |
|
|
30
|
+
| `to` | `to` | Picker date. If the picker is in range mode this property is the end date. If the picker is not in range mode leave this value `null` Format is based on `format` | `string` | `null` |
|
|
21
31
|
|
|
22
32
|
|
|
23
33
|
## Events
|
|
24
34
|
|
|
25
|
-
| Event
|
|
26
|
-
|
|
|
27
|
-
| `
|
|
35
|
+
| Event | Description | Type |
|
|
36
|
+
| ------------ | ------------------------------------------------------------------------------- | ------------------------------------------------------ |
|
|
37
|
+
| `dateChange` | Date change | `CustomEvent<string \| { from: string; to: string; }>` |
|
|
38
|
+
| `dateSelect` | Date selection event is fired after confirm button is pressend | `CustomEvent<DateTimeSelectEvent>` |
|
|
39
|
+
| `done` | Done event Set `doneEventDelimiter` to null or undefine to get the typed event | `CustomEvent<string>` |
|
|
40
|
+
| `timeChange` | Time change | `CustomEvent<string>` |
|
|
28
41
|
|
|
29
42
|
|
|
30
43
|
----------------------------------------------
|
|
@@ -11,12 +11,11 @@ SPDX-License-Identifier: MIT
|
|
|
11
11
|
|
|
12
12
|
## Properties
|
|
13
13
|
|
|
14
|
-
| Property
|
|
15
|
-
|
|
|
16
|
-
| `activeTabLabel`
|
|
17
|
-
| `
|
|
18
|
-
| `
|
|
19
|
-
| `show` | `show` | Internal | `boolean` | `false` |
|
|
14
|
+
| Property | Attribute | Description | Type | Default |
|
|
15
|
+
| ---------------- | ------------------ | ------------------ | --------- | ----------------------------- |
|
|
16
|
+
| `activeTabLabel` | `active-tab-label` | Active tab | `string` | `undefined` |
|
|
17
|
+
| `label` | `label` | Label of first tab | `string` | `'About & legal information'` |
|
|
18
|
+
| `show` | `show` | Internal | `boolean` | `false` |
|
|
20
19
|
|
|
21
20
|
|
|
22
21
|
## Events
|
|
@@ -11,14 +11,18 @@ SPDX-License-Identifier: MIT
|
|
|
11
11
|
|
|
12
12
|
## Properties
|
|
13
13
|
|
|
14
|
-
| Property | Attribute | Description
|
|
15
|
-
| ------------------- | --------------------- |
|
|
16
|
-
| `corners` | `corners` |
|
|
17
|
-
| `
|
|
18
|
-
| `
|
|
19
|
-
| `
|
|
20
|
-
| `
|
|
21
|
-
| `
|
|
14
|
+
| Property | Attribute | Description | Type | Default |
|
|
15
|
+
| ------------------- | --------------------- | ---------------------------------------------------------------------------------------------------- | -------------------------------- | --------------------------------------------------------------------------------------- |
|
|
16
|
+
| `corners` | `corners` | Corner style | `"left" \| "right" \| "rounded"` | `'rounded'` |
|
|
17
|
+
| `format` | `format` | Format of time string | `string` | `'TT'` |
|
|
18
|
+
| `individual` | `individual` | <span style="color:red">**[DEPRECATED]**</span> - will get removed with next major release<br/><br/> | `boolean` | `true` |
|
|
19
|
+
| `showHour` | `show-hour` | Show hour input | `boolean` | `false` |
|
|
20
|
+
| `showMinutes` | `show-minutes` | Show minutes input | `boolean` | `false` |
|
|
21
|
+
| `showSeconds` | `show-seconds` | Show seconds input | `boolean` | `false` |
|
|
22
|
+
| `showTimeReference` | `show-time-reference` | Show time reference input | `any` | `undefined` |
|
|
23
|
+
| `textSelectTime` | `text-select-time` | Text of date select button | `string` | `'Done'` |
|
|
24
|
+
| `time` | `time` | Select time with format string | `string` | `DateTime.now().toFormat(this.format)` |
|
|
25
|
+
| `timeReference` | `time-reference` | Set time reference | `"AM" \| "PM"` | `DateTime.fromFormat( this.time, this.format ).toFormat('a') as 'PM' \| 'AM'` |
|
|
22
26
|
|
|
23
27
|
|
|
24
28
|
## Events
|
|
@@ -29,6 +33,19 @@ SPDX-License-Identifier: MIT
|
|
|
29
33
|
| `timeChange` | Time change event | `CustomEvent<string>` |
|
|
30
34
|
|
|
31
35
|
|
|
36
|
+
## Methods
|
|
37
|
+
|
|
38
|
+
### `getCurrentTime() => Promise<DateTime>`
|
|
39
|
+
|
|
40
|
+
Get current time
|
|
41
|
+
|
|
42
|
+
#### Returns
|
|
43
|
+
|
|
44
|
+
Type: `Promise<DateTime>`
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
32
49
|
----------------------------------------------
|
|
33
50
|
|
|
34
51
|
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
const index = require('./index-1e4a348f.js');
|
|
6
|
-
|
|
7
|
-
const workflowStepsCss = ".sc-ix-workflow-steps-h .steps.sc-ix-workflow-steps{display:flex}.sc-ix-workflow-steps-h .steps.vertical.sc-ix-workflow-steps{display:block}";
|
|
8
|
-
|
|
9
|
-
const WorkflowSteps = class {
|
|
10
|
-
constructor(hostRef) {
|
|
11
|
-
index.registerInstance(this, hostRef);
|
|
12
|
-
this.stepSelected = index.createEvent(this, "stepSelected", 7);
|
|
13
|
-
/**
|
|
14
|
-
* Select orientation
|
|
15
|
-
*/
|
|
16
|
-
this.vertical = false;
|
|
17
|
-
/**
|
|
18
|
-
* Select linear mode
|
|
19
|
-
*/
|
|
20
|
-
this.linear = false;
|
|
21
|
-
/**
|
|
22
|
-
* Activate navigation click
|
|
23
|
-
*/
|
|
24
|
-
this.clickable = false;
|
|
25
|
-
/**
|
|
26
|
-
* Activate navigation click
|
|
27
|
-
*/
|
|
28
|
-
this.selectedIndex = 0;
|
|
29
|
-
}
|
|
30
|
-
getSteps() {
|
|
31
|
-
return Array.from(this.hostElement.querySelectorAll('ix-workflow-step'));
|
|
32
|
-
}
|
|
33
|
-
deselectAll() {
|
|
34
|
-
const steps = this.getSteps();
|
|
35
|
-
steps.forEach((element) => {
|
|
36
|
-
element.setAttribute('selected', 'false');
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
componentDidRender() {
|
|
40
|
-
const steps = this.getSteps();
|
|
41
|
-
steps.forEach((element, index) => {
|
|
42
|
-
element.setAttribute('vertical', this.vertical === true ? 'true' : 'false');
|
|
43
|
-
element.setAttribute('clickable', this.clickable === true ? 'true' : 'false');
|
|
44
|
-
element.setAttribute('selected', this.selectedIndex === index ? 'true' : 'false');
|
|
45
|
-
if (index === 0)
|
|
46
|
-
element.setAttribute('position', 'first');
|
|
47
|
-
if (index === steps.length - 1)
|
|
48
|
-
element.setAttribute('position', 'last');
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
componentWillRender() {
|
|
52
|
-
const steps = this.getSteps();
|
|
53
|
-
steps.forEach((element, index) => {
|
|
54
|
-
element.addEventListener('click', () => {
|
|
55
|
-
if (!this.clickable)
|
|
56
|
-
return;
|
|
57
|
-
const previousElement = steps[index - 1];
|
|
58
|
-
if (this.linear &&
|
|
59
|
-
previousElement &&
|
|
60
|
-
!['done', 'success'].includes(previousElement === null || previousElement === void 0 ? void 0 : previousElement.status)) {
|
|
61
|
-
return element.setAttribute('selected', 'false');
|
|
62
|
-
}
|
|
63
|
-
this.deselectAll();
|
|
64
|
-
element.setAttribute('selected', 'true');
|
|
65
|
-
this.stepSelected.emit(index);
|
|
66
|
-
});
|
|
67
|
-
// const isEnabled = element.getAttribute('first');
|
|
68
|
-
// if(isEnabled){
|
|
69
|
-
// }
|
|
70
|
-
// console.log(isEnabled)
|
|
71
|
-
// const isDisabled = element.getAttribute('disabled') !== null;
|
|
72
|
-
// if (!isDisabled) element.addEventListener('click', () => '');
|
|
73
|
-
//element.addEventListener('mousedown', event => this.clicked(element, index));
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
render() {
|
|
77
|
-
return (index.h(index.Host, null, index.h("div", { class: { steps: true, vertical: this.vertical } }, index.h("slot", null))));
|
|
78
|
-
}
|
|
79
|
-
get hostElement() { return index.getElement(this); }
|
|
80
|
-
};
|
|
81
|
-
WorkflowSteps.style = workflowStepsCss;
|
|
82
|
-
|
|
83
|
-
exports.ix_workflow_steps = WorkflowSteps;
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { proxyCustomElement, HTMLElement, createEvent, forceUpdate, h, Host } from '@stencil/core/internal/client';
|
|
2
|
-
import { d as defineCustomElement$4 } from './icon.js';
|
|
3
|
-
import { d as defineCustomElement$3 } from './icon-button.js';
|
|
4
|
-
import { d as defineCustomElement$2 } from './tab-item.js';
|
|
5
|
-
import { d as defineCustomElement$1 } from './tabs.js';
|
|
6
|
-
|
|
7
|
-
const menuAboutCss = ".text-xs.sc-ix-menu-about{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.625rem;font-weight:400;line-height:1.4em;color:var(--theme-color-std-text)}.text-s.sc-ix-menu-about{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.75rem;font-weight:400;line-height:1.5em;color:var(--theme-color-std-text)}.text-caption.sc-ix-menu-about{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.75rem;font-weight:700;line-height:1.5em;color:var(--theme-color-std-text)}.text-caption-single.sc-ix-menu-about{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.75rem;font-weight:700;line-height:1em;color:var(--theme-color-std-text)}.text-default.sc-ix-menu-about{-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)}.text-default-single.sc-ix-menu-about{-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.143em;color:var(--theme-color-std-text)}.text-default-title.sc-ix-menu-about{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.875rem;font-weight:700;line-height:1.429em;color:var(--theme-color-std-text)}.text-default-title-single.sc-ix-menu-about{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:0.875rem;font-weight:700;line-height:1.143em;color:var(--theme-color-std-text)}.text-l.sc-ix-menu-about{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:1rem;font-weight:400;line-height:1.5em;color:var(--theme-color-std-text)}.text-l-single.sc-ix-menu-about{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:1rem;font-weight:400;line-height:1.25em;color:var(--theme-color-std-text)}.text-l-title.sc-ix-menu-about{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:1rem;font-weight:700;line-height:1.5em;color:var(--theme-color-std-text)}.text-l-title-single.sc-ix-menu-about{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:1rem;font-weight:700;line-height:1.25em;color:var(--theme-color-std-text)}.text-h2.sc-ix-menu-about{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:1.375rem;font-weight:700;line-height:1.455em;color:var(--theme-color-std-text)}.text-xl.sc-ix-menu-about{-webkit-font-smoothing:antialiased;-moz-osx-font-smooting:grayscale;font-family:Siemens Sans, sans-serif;font-size:1.375rem;font-weight:400;line-height:1.091em;color:var(--theme-color-std-text)}a.sc-ix-menu-about{color:var(--theme-color-primary)}.sc-ix-menu-about-h{display:block;background-color:var(--theme-nav-overlay--background);padding:0.75rem 1rem 1rem 2rem;flex-grow:1;position:absolute;width:100%;height:100%}.sc-ix-menu-about-h .about-header.sc-ix-menu-about{display:flex;justify-content:space-between;flex-direction:row;align-items:center;height:2rem;margin-bottom:0.5rem}.sc-ix-menu-about-h .about-header.sc-ix-menu-about h2.sc-ix-menu-about{color:var(--theme-nav-overlay-header--color);margin-bottom:0}.sc-ix-menu-about-h .about-tabs.sc-ix-menu-about{margin-bottom:1.5rem}.sc-ix-menu-about-h ix-menu-about-item.sc-ix-menu-about{display:none}";
|
|
8
|
-
|
|
9
|
-
const MenuAbout = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
10
|
-
constructor() {
|
|
11
|
-
super();
|
|
12
|
-
this.__registerHost();
|
|
13
|
-
this.close = createEvent(this, "close", 7);
|
|
14
|
-
/**
|
|
15
|
-
*
|
|
16
|
-
*/
|
|
17
|
-
this.i18nImprintLabel = 'Imprint';
|
|
18
|
-
/**
|
|
19
|
-
* Active tab
|
|
20
|
-
*/
|
|
21
|
-
this.activeTabLabel = this.i18nImprintLabel;
|
|
22
|
-
/**
|
|
23
|
-
* Label of first tab
|
|
24
|
-
*/
|
|
25
|
-
this.label = 'About & legal information';
|
|
26
|
-
/**
|
|
27
|
-
* Internal
|
|
28
|
-
*/
|
|
29
|
-
this.show = false;
|
|
30
|
-
this.labels = [];
|
|
31
|
-
}
|
|
32
|
-
get aboutItems() {
|
|
33
|
-
return Array.from(this.el.querySelectorAll('ix-menu-about-item'));
|
|
34
|
-
}
|
|
35
|
-
setTab(label) {
|
|
36
|
-
this.activeTabLabel = label;
|
|
37
|
-
this.aboutItems.forEach((i) => {
|
|
38
|
-
i.style.display = 'none';
|
|
39
|
-
if (i.label === this.activeTabLabel) {
|
|
40
|
-
i.style.display = 'block';
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
componentWillLoad() {
|
|
45
|
-
var _a;
|
|
46
|
-
this.setTab(this.activeTabLabel || ((_a = this.aboutItems[0]) === null || _a === void 0 ? void 0 : _a.label));
|
|
47
|
-
}
|
|
48
|
-
componentDidLoad() {
|
|
49
|
-
var _a;
|
|
50
|
-
this.setTab(this.activeTabLabel || ((_a = this.aboutItems[0]) === null || _a === void 0 ? void 0 : _a.label));
|
|
51
|
-
forceUpdate(this.el);
|
|
52
|
-
}
|
|
53
|
-
componentWillRender() {
|
|
54
|
-
this.updateLabels();
|
|
55
|
-
}
|
|
56
|
-
updateLabels() {
|
|
57
|
-
this.labels = this.aboutItems.map((i) => i.label);
|
|
58
|
-
}
|
|
59
|
-
watchActiveTabLabel(value) {
|
|
60
|
-
// Wait a DOM render cycle to get changed labels
|
|
61
|
-
setTimeout(() => this.setTab(value));
|
|
62
|
-
}
|
|
63
|
-
getSelectedTabIndex(label) {
|
|
64
|
-
const selectedItem = this.aboutItems.find((item) => item.label === label);
|
|
65
|
-
return this.aboutItems.indexOf(selectedItem);
|
|
66
|
-
}
|
|
67
|
-
render() {
|
|
68
|
-
return (h(Host, { class: {
|
|
69
|
-
animate__animated: true,
|
|
70
|
-
animate__fadeInLeft: this.show,
|
|
71
|
-
animate__fadeOutLeft: !this.show,
|
|
72
|
-
} }, h("div", { class: "about-header" }, h("h2", { class: "text-h2" }, this.label), h("ix-icon-button", { ghost: true, size: "24", icon: "close", onClick: (e) => this.close.emit(e) })), h("ix-tabs", { selected: this.getSelectedTabIndex(this.activeTabLabel), class: "about-tabs" }, this.labels.map((label) => (h("ix-tab-item", { onClick: () => this.setTab(label) }, label)))), h("div", { class: "about-items" }, h("slot", null))));
|
|
73
|
-
}
|
|
74
|
-
get el() { return this; }
|
|
75
|
-
static get watchers() { return {
|
|
76
|
-
"activeTabLabel": ["watchActiveTabLabel"]
|
|
77
|
-
}; }
|
|
78
|
-
static get style() { return menuAboutCss; }
|
|
79
|
-
}, [6, "ix-menu-about", {
|
|
80
|
-
"i18nImprintLabel": [513, "i-1-8n-imprint-label"],
|
|
81
|
-
"activeTabLabel": [1537, "active-tab-label"],
|
|
82
|
-
"label": [1],
|
|
83
|
-
"show": [4],
|
|
84
|
-
"labels": [32]
|
|
85
|
-
}]);
|
|
86
|
-
function defineCustomElement() {
|
|
87
|
-
if (typeof customElements === "undefined") {
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
const components = ["ix-menu-about", "ix-icon", "ix-icon-button", "ix-tab-item", "ix-tabs"];
|
|
91
|
-
components.forEach(tagName => { switch (tagName) {
|
|
92
|
-
case "ix-menu-about":
|
|
93
|
-
if (!customElements.get(tagName)) {
|
|
94
|
-
customElements.define(tagName, MenuAbout);
|
|
95
|
-
}
|
|
96
|
-
break;
|
|
97
|
-
case "ix-icon":
|
|
98
|
-
if (!customElements.get(tagName)) {
|
|
99
|
-
defineCustomElement$4();
|
|
100
|
-
}
|
|
101
|
-
break;
|
|
102
|
-
case "ix-icon-button":
|
|
103
|
-
if (!customElements.get(tagName)) {
|
|
104
|
-
defineCustomElement$3();
|
|
105
|
-
}
|
|
106
|
-
break;
|
|
107
|
-
case "ix-tab-item":
|
|
108
|
-
if (!customElements.get(tagName)) {
|
|
109
|
-
defineCustomElement$2();
|
|
110
|
-
}
|
|
111
|
-
break;
|
|
112
|
-
case "ix-tabs":
|
|
113
|
-
if (!customElements.get(tagName)) {
|
|
114
|
-
defineCustomElement$1();
|
|
115
|
-
}
|
|
116
|
-
break;
|
|
117
|
-
} });
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
export { MenuAbout as M, defineCustomElement as d };
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-55cfd20d.js';
|
|
2
|
-
|
|
3
|
-
const workflowStepsCss = ".sc-ix-workflow-steps-h .steps.sc-ix-workflow-steps{display:flex}.sc-ix-workflow-steps-h .steps.vertical.sc-ix-workflow-steps{display:block}";
|
|
4
|
-
|
|
5
|
-
const WorkflowSteps = class {
|
|
6
|
-
constructor(hostRef) {
|
|
7
|
-
registerInstance(this, hostRef);
|
|
8
|
-
this.stepSelected = createEvent(this, "stepSelected", 7);
|
|
9
|
-
/**
|
|
10
|
-
* Select orientation
|
|
11
|
-
*/
|
|
12
|
-
this.vertical = false;
|
|
13
|
-
/**
|
|
14
|
-
* Select linear mode
|
|
15
|
-
*/
|
|
16
|
-
this.linear = false;
|
|
17
|
-
/**
|
|
18
|
-
* Activate navigation click
|
|
19
|
-
*/
|
|
20
|
-
this.clickable = false;
|
|
21
|
-
/**
|
|
22
|
-
* Activate navigation click
|
|
23
|
-
*/
|
|
24
|
-
this.selectedIndex = 0;
|
|
25
|
-
}
|
|
26
|
-
getSteps() {
|
|
27
|
-
return Array.from(this.hostElement.querySelectorAll('ix-workflow-step'));
|
|
28
|
-
}
|
|
29
|
-
deselectAll() {
|
|
30
|
-
const steps = this.getSteps();
|
|
31
|
-
steps.forEach((element) => {
|
|
32
|
-
element.setAttribute('selected', 'false');
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
componentDidRender() {
|
|
36
|
-
const steps = this.getSteps();
|
|
37
|
-
steps.forEach((element, index) => {
|
|
38
|
-
element.setAttribute('vertical', this.vertical === true ? 'true' : 'false');
|
|
39
|
-
element.setAttribute('clickable', this.clickable === true ? 'true' : 'false');
|
|
40
|
-
element.setAttribute('selected', this.selectedIndex === index ? 'true' : 'false');
|
|
41
|
-
if (index === 0)
|
|
42
|
-
element.setAttribute('position', 'first');
|
|
43
|
-
if (index === steps.length - 1)
|
|
44
|
-
element.setAttribute('position', 'last');
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
componentWillRender() {
|
|
48
|
-
const steps = this.getSteps();
|
|
49
|
-
steps.forEach((element, index) => {
|
|
50
|
-
element.addEventListener('click', () => {
|
|
51
|
-
if (!this.clickable)
|
|
52
|
-
return;
|
|
53
|
-
const previousElement = steps[index - 1];
|
|
54
|
-
if (this.linear &&
|
|
55
|
-
previousElement &&
|
|
56
|
-
!['done', 'success'].includes(previousElement === null || previousElement === void 0 ? void 0 : previousElement.status)) {
|
|
57
|
-
return element.setAttribute('selected', 'false');
|
|
58
|
-
}
|
|
59
|
-
this.deselectAll();
|
|
60
|
-
element.setAttribute('selected', 'true');
|
|
61
|
-
this.stepSelected.emit(index);
|
|
62
|
-
});
|
|
63
|
-
// const isEnabled = element.getAttribute('first');
|
|
64
|
-
// if(isEnabled){
|
|
65
|
-
// }
|
|
66
|
-
// console.log(isEnabled)
|
|
67
|
-
// const isDisabled = element.getAttribute('disabled') !== null;
|
|
68
|
-
// if (!isDisabled) element.addEventListener('click', () => '');
|
|
69
|
-
//element.addEventListener('mousedown', event => this.clicked(element, index));
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
render() {
|
|
73
|
-
return (h(Host, null, h("div", { class: { steps: true, vertical: this.vertical } }, h("slot", null))));
|
|
74
|
-
}
|
|
75
|
-
get hostElement() { return getElement(this); }
|
|
76
|
-
};
|
|
77
|
-
WorkflowSteps.style = workflowStepsCss;
|
|
78
|
-
|
|
79
|
-
export { WorkflowSteps as ix_workflow_steps };
|