@dubai-design-system/components-js 3.11.7 → 3.11.8

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.
Files changed (85) hide show
  1. package/dist/cjs/dda-header-menu_3.cjs.entry.js +24 -6
  2. package/dist/cjs/dda-header-menu_3.cjs.entry.js.map +1 -1
  3. package/dist/cjs/dda-search-input.cjs.entry.js +27 -3
  4. package/dist/cjs/dda-search-input.cjs.entry.js.map +1 -1
  5. package/dist/cjs/dda-select.cjs.entry.js +36 -3
  6. package/dist/cjs/dda-select.cjs.entry.js.map +1 -1
  7. package/dist/cjs/dda-tabs.cjs.entry.js +18 -14
  8. package/dist/cjs/dda-tabs.cjs.entry.js.map +1 -1
  9. package/dist/cjs/dda.cjs.js +1 -1
  10. package/dist/cjs/loader.cjs.js +1 -1
  11. package/dist/collection/components/dda-header-menu/dda-header-menu.css +226 -187
  12. package/dist/collection/components/dda-input/dda-input.js +64 -5
  13. package/dist/collection/components/dda-input/dda-input.js.map +1 -1
  14. package/dist/collection/components/dda-search-input/dda-search-input.js +72 -3
  15. package/dist/collection/components/dda-search-input/dda-search-input.js.map +1 -1
  16. package/dist/collection/components/dda-select/dda-select.js +81 -3
  17. package/dist/collection/components/dda-select/dda-select.js.map +1 -1
  18. package/dist/collection/components/dda-tabs/dda-tabs.js +20 -16
  19. package/dist/collection/components/dda-tabs/dda-tabs.js.map +1 -1
  20. package/dist/components/dda-header-menu.js +1 -1
  21. package/dist/components/dda-header.js +2 -2
  22. package/dist/components/dda-input.js +1 -1
  23. package/dist/components/dda-search-input.js +32 -4
  24. package/dist/components/dda-search-input.js.map +1 -1
  25. package/dist/components/dda-select.js +41 -4
  26. package/dist/components/dda-select.js.map +1 -1
  27. package/dist/components/dda-tabs.js +18 -14
  28. package/dist/components/dda-tabs.js.map +1 -1
  29. package/dist/components/{p-93bcdccb.js → p-589645ea.js} +29 -7
  30. package/dist/components/p-589645ea.js.map +1 -0
  31. package/dist/components/{p-60cb6934.js → p-f0f752d2.js} +2 -2
  32. package/dist/components/p-f0f752d2.js.map +1 -0
  33. package/dist/dda/dda.esm.js +1 -1
  34. package/dist/dda/dda.esm.js.map +1 -1
  35. package/dist/dda/p-0e352b46.entry.js +2 -0
  36. package/dist/dda/p-0e352b46.entry.js.map +1 -0
  37. package/dist/dda/p-a4eeb3f8.entry.js +2 -0
  38. package/dist/dda/p-a4eeb3f8.entry.js.map +1 -0
  39. package/dist/dda/p-c034b0f0.entry.js +2 -0
  40. package/dist/dda/p-c034b0f0.entry.js.map +1 -0
  41. package/dist/dda/{p-1fad7e82.entry.js → p-e5783b18.entry.js} +2 -2
  42. package/dist/dda/p-e5783b18.entry.js.map +1 -0
  43. package/dist/esm/dda-header-menu_3.entry.js +24 -6
  44. package/dist/esm/dda-header-menu_3.entry.js.map +1 -1
  45. package/dist/esm/dda-search-input.entry.js +27 -3
  46. package/dist/esm/dda-search-input.entry.js.map +1 -1
  47. package/dist/esm/dda-select.entry.js +36 -3
  48. package/dist/esm/dda-select.entry.js.map +1 -1
  49. package/dist/esm/dda-tabs.entry.js +18 -14
  50. package/dist/esm/dda-tabs.entry.js.map +1 -1
  51. package/dist/esm/dda.js +1 -1
  52. package/dist/esm/loader.js +1 -1
  53. package/dist/types/components/dda-input/dda-input.d.ts +4 -0
  54. package/dist/types/components/dda-search-input/dda-search-input.d.ts +4 -0
  55. package/dist/types/components/dda-select/dda-select.d.ts +3 -0
  56. package/dist/types/components/dda-tabs/dda-tabs.d.ts +1 -2
  57. package/dist/types/components.d.ts +8 -2
  58. package/package.json +2 -2
  59. package/readme.md +4 -0
  60. package/www/build/dda.esm.js +1 -1
  61. package/www/build/dda.esm.js.map +1 -1
  62. package/www/build/p-0e352b46.entry.js +2 -0
  63. package/www/build/p-0e352b46.entry.js.map +1 -0
  64. package/www/build/p-a4eeb3f8.entry.js +2 -0
  65. package/www/build/p-a4eeb3f8.entry.js.map +1 -0
  66. package/www/build/p-c034b0f0.entry.js +2 -0
  67. package/www/build/p-c034b0f0.entry.js.map +1 -0
  68. package/www/build/{p-1fad7e82.entry.js → p-e5783b18.entry.js} +2 -2
  69. package/www/build/p-e5783b18.entry.js.map +1 -0
  70. package/dist/components/p-60cb6934.js.map +0 -1
  71. package/dist/components/p-93bcdccb.js.map +0 -1
  72. package/dist/dda/p-1fad7e82.entry.js.map +0 -1
  73. package/dist/dda/p-48f0e5e3.entry.js +0 -2
  74. package/dist/dda/p-48f0e5e3.entry.js.map +0 -1
  75. package/dist/dda/p-a5199deb.entry.js +0 -2
  76. package/dist/dda/p-a5199deb.entry.js.map +0 -1
  77. package/dist/dda/p-bd419f43.entry.js +0 -2
  78. package/dist/dda/p-bd419f43.entry.js.map +0 -1
  79. package/www/build/p-1fad7e82.entry.js.map +0 -1
  80. package/www/build/p-48f0e5e3.entry.js +0 -2
  81. package/www/build/p-48f0e5e3.entry.js.map +0 -1
  82. package/www/build/p-a5199deb.entry.js +0 -2
  83. package/www/build/p-a5199deb.entry.js.map +0 -1
  84. package/www/build/p-bd419f43.entry.js +0 -2
  85. package/www/build/p-bd419f43.entry.js.map +0 -1
@@ -1,127 +1,148 @@
1
1
  .dda-mega-menu {
2
- margin: 0;
3
- padding: 0;
4
- list-style: none;
5
- display: flex;
6
- align-items: center;
7
- }
8
- .dda-mega-menu>li{
9
- position: relative;
10
- }
11
- .dda-mega-menu>li>a {
12
- display: block;
13
- font-size: var(--font-body);
14
- font-weight: var(--font-weight-regular);
15
- color: var(--dda-on-surface-0);
16
- padding: 20px 16px;
17
- position: relative;
2
+ margin: 0;
3
+ padding: 0;
4
+ list-style: none;
5
+ display: flex;
6
+ align-items: center;
7
+ }
8
+ .dda-mega-menu > li {
9
+ position: relative;
10
+ }
11
+ .dda-mega-menu > li > a {
12
+ display: block;
13
+ font-size: var(--font-body);
14
+ font-weight: var(--font-weight-regular);
15
+ color: var(--dda-on-surface-0);
16
+ padding: 20px 16px;
17
+ position: relative;
18
18
  }
19
19
 
20
- .dda-mega-menu>li:hover>a,
21
- .dda-mega-menu>li>a.active {
22
- color: var(--dda-color-primary-40);
20
+ .dda-mega-menu > li:hover > a,
21
+ .dda-mega-menu > li > a.active {
22
+ color: var(--dda-color-primary-40);
23
23
  }
24
24
 
25
- body.transparent .dda-mega-menu>li>a {
26
- color: var(--dda-neutral-100);
25
+ body.transparent .dda-mega-menu > li > a {
26
+ color: var(--dda-neutral-100);
27
27
  }
28
28
 
29
- .dda-mega-menu>li>a::after {
30
- content: "";
31
- position: absolute;
32
- bottom: 0;
33
- left: 50%;
34
- width: 0;
35
- height: 4px;
36
- background-color: var(--dda-color-primary-40);
37
- border-radius: 8px 8px 0px 0px;
38
- transform: translateX(-50%);
39
- /* transition: all 0.25s ease-in-out; */
29
+ .dda-mega-menu > li > a::after {
30
+ content: '';
31
+ position: absolute;
32
+ bottom: 0;
33
+ left: 50%;
34
+ width: 0;
35
+ height: 4px;
36
+ background-color: var(--dda-color-primary-40);
37
+ border-radius: 8px 8px 0px 0px;
38
+ transform: translateX(-50%);
39
+ /* transition: all 0.25s ease-in-out; */
40
40
  }
41
41
 
42
- body.transparent .dda-mega-menu>li>a::after {
43
- background-color: var(--dda-neutral-100);
42
+ body.transparent .dda-mega-menu > li > a::after {
43
+ background-color: var(--dda-neutral-100);
44
44
  }
45
45
 
46
- .dda-mega-menu>li:hover>a::after,
47
- .dda-mega-menu>li>a:focus-visible:after,
48
- .dda-mega-menu>li>a.active::after {
49
- width: calc(100% - 32px);
46
+ .dda-mega-menu > li:hover > a::after,
47
+ .dda-mega-menu > li > a:focus-visible:after,
48
+ .dda-mega-menu > li > a.active::after {
49
+ width: calc(100% - 32px);
50
50
  }
51
51
  /********************************/
52
- .dda-header-menu li{
53
- list-style: none;
52
+ .dda-header-menu li {
53
+ list-style: none;
54
54
  }
55
- .dda-header-menu li::marker{
56
- display: none;
55
+ .dda-header-menu li::marker {
56
+ display: none;
57
57
  }
58
- .dda-default-submenu{
59
- display: none;
60
- min-width: 300px;
61
- height: 325px;
62
- overflow-x: hidden;
63
- overflow-y: auto;
64
- position: absolute;
65
- top: 100%;
66
- inset-inline-start: 0;
67
- padding-top: 5px;
58
+ .dda-default-submenu {
59
+ display: none;
60
+ min-width: 350px;
61
+ position: absolute;
62
+ top: 100%;
63
+ inset-inline-start: 0;
64
+ padding-top: 5px;
65
+ }
66
+
67
+ .dda-default-submenu ul {
68
+ max-height: 325px;
69
+ overflow: visible;
70
+ overflow-x: visible;
71
+ overflow-y: auto;
72
+ }
73
+
74
+ .dda-default-submenu ul::-webkit-scrollbar {
75
+ width: 6px;
76
+ }
77
+
78
+ .dda-default-submenu ul::-webkit-scrollbar-track {
79
+ background: transparent;
80
+ }
81
+
82
+ .dda-default-submenu ul::-webkit-scrollbar-thumb {
83
+ background: var(--dda-on-primary-98);
84
+ }
85
+
86
+ .dda-default-submenu:hover ul::-webkit-scrollbar-thumb {
87
+ background: var(--dda-on-primary-98);
68
88
  }
69
89
 
70
90
  .dda-default-submenu a,
71
- .dda-default-submenu .dda-submenu-title{
72
- position: relative;
73
- font-size: var(--font-body);
74
- font-weight: var(--font-weight-regular);
91
+ .dda-default-submenu .dda-submenu-title {
92
+ position: relative;
93
+ font-size: var(--font-body);
94
+ font-weight: var(--font-weight-regular);
75
95
  }
76
96
 
77
- .dda-default-submenu a.has-submenu::after{
78
- content: "";
79
- width: 6px;
80
- height: 6px;
81
- border-right: solid 1px var(--dda-color-primary-40);
82
- border-bottom: solid 1px var(--dda-color-primary-40);
83
- position: absolute;
84
- top: 50%;
85
- inset-inline-end: 9px;
86
- margin-top: -4.5px;
87
- transform: rotate(-45deg);
88
- }
89
- :root[dir='rtl'] .dda-default-submenu a.has-submenu::after{
90
- transform: rotate(135deg);
97
+ .dda-default-submenu a.has-submenu::after {
98
+ content: '';
99
+ width: 6px;
100
+ height: 6px;
101
+ border-right: solid 1px var(--dda-color-primary-40);
102
+ border-bottom: solid 1px var(--dda-color-primary-40);
103
+ position: absolute;
104
+ top: 50%;
105
+ inset-inline-end: 9px;
106
+ margin-top: -4.5px;
107
+ transform: rotate(-45deg);
108
+ }
109
+ :root[dir='rtl'] .dda-default-submenu a.has-submenu::after {
110
+ transform: rotate(135deg);
91
111
  }
92
112
 
93
- .dda-default-submenu span{
94
- display: block;
95
- border-bottom: solid 1px #ddd;
96
- padding: 5px 8px 10px 8px;
97
- margin-bottom: 5px;
113
+ .dda-default-submenu span {
114
+ display: block;
115
+ border-bottom: solid 1px #ddd;
116
+ padding: 5px 8px 10px 8px;
117
+ margin-bottom: 5px;
98
118
  }
99
119
 
100
- .dda-default-submenu > ul{
101
- width: 100%;
102
- background-color: var(--dda-surface-100);
103
- border-radius: 5px;
104
- padding: 10px !important;
105
- box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.13);
120
+ .dda-default-submenu > ul {
121
+ width: 100%;
122
+ max-width: 350px;
123
+ background-color: var(--dda-surface-100);
124
+ border-radius: 5px;
125
+ padding: 10px !important;
126
+ box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.13);
106
127
  }
107
128
 
108
- .dda-default-submenu ul li{
109
- list-style: none;
110
- position: relative;
111
- margin-bottom: 1px;
112
- }
113
- .dda-default-submenu ul li a{
114
- font-size: var(--font-body);
115
- font-weight: var(--font-weight-regular);
116
- color: var(--dda-on-surface-0);
117
- display: block;
118
- padding: 10px 7px;
119
- border-radius: 8px;
129
+ .dda-default-submenu ul li {
130
+ list-style: none;
131
+ position: relative;
132
+ margin-bottom: 1px;
133
+ }
134
+ .dda-default-submenu ul li a {
135
+ font-size: var(--font-body);
136
+ font-weight: var(--font-weight-regular);
137
+ color: var(--dda-on-surface-0);
138
+ display: block;
139
+ padding: 10px 7px;
140
+ border-radius: 8px;
120
141
  }
121
142
  .dda-default-submenu ul li:hover > a,
122
- .dda-default-submenu ul li a.active{
123
- background-color: var(--dda-on-primary-98);
124
- color: var(--dda-on-primary-variant-40);
143
+ .dda-default-submenu ul li a.active {
144
+ background-color: var(--dda-on-primary-98);
145
+ color: var(--dda-on-primary-variant-40);
125
146
  }
126
147
 
127
148
  .dda-default-subsubmenu {
@@ -134,123 +155,141 @@ body.transparent .dda-mega-menu>li>a::after {
134
155
  }
135
156
  .dda-default-subsubmenu.is-visible {
136
157
  display: block;
158
+ padding: 0px 5px;
137
159
  }
138
- .dda-default-subsubmenu .dda-default-subsubmenu-content{
139
- width: 100%;
140
- background-color: var(--dda-surface-100);
141
- border-radius: 5px;
142
- padding: 10px !important;
143
- box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.13);
160
+ .dda-default-subsubmenu .dda-default-subsubmenu-content {
161
+ max-width: 100%;
162
+ background-color: var(--dda-surface-100);
163
+ border-radius: 5px;
164
+ padding: 10px !important;
165
+ box-shadow: 0px 6px 7px 0px rgba(0, 0, 0, 0.13);
166
+ position: fixed;
167
+ width: 350px;
144
168
  }
145
- .dda-default-subsubmenu-content ol{
146
- padding: 0px;
169
+ .dda-default-subsubmenu-content ol {
170
+ padding: 0px;
147
171
  }
148
172
 
149
- .dda-main-megamenu{
150
- display: none;
151
- width: 100%;
152
- position: fixed;
153
- inset-inline-start: 0;
154
- }
155
- .dda-megamenu-wrap{
156
- width: 90vw;
157
- margin: 0 auto;
158
- padding-top: 5px;
159
- }
160
- .dda-megamenu-content{
161
- height: 300px;
162
- overflow-x: hidden;
163
- overflow-y: auto;
164
- background: var(--dda-surface-100);
165
- border-radius: 8px;
166
- margin: 0 auto;
167
- padding: 42px 15px;
168
- box-shadow: 0px 10px 15px -3px rgba(16, 24, 40, 0.1);
169
- position: relative;
170
- }
171
- .dda-mega-menu > li:hover .dda-default-submenu,
172
- .dda-mega-menu > li:hover .dda-main-megamenu,
173
+ .dda-main-megamenu {
174
+ display: none;
175
+ width: 100%;
176
+ position: fixed;
177
+ inset-inline-start: 0;
178
+ }
179
+ .dda-megamenu-wrap {
180
+ width: 90vw;
181
+ margin: 0 auto;
182
+ padding-top: 5px;
183
+ }
184
+ .dda-megamenu-content {
185
+ height: 300px;
186
+ overflow-x: visible;
187
+ overflow-y: auto;
188
+ background: var(--dda-surface-100);
189
+ border-radius: 8px;
190
+ margin: 0 auto;
191
+ padding: 42px 15px;
192
+ box-shadow: 0px 10px 15px -3px rgba(16, 24, 40, 0.1);
193
+ position: relative;
194
+ }
195
+
196
+ .dda-megamenu-content::-webkit-scrollbar {
197
+ width: 6px;
198
+ }
199
+
200
+ .dda-megamenu-content::-webkit-scrollbar-track {
201
+ background: transparent;
202
+ }
203
+
204
+ .dda-megamenu-content::-webkit-scrollbar-thumb {
205
+ background: var(--dda-on-primary-98);
206
+ }
207
+
208
+ .dda-megamenu-content::-webkit-scrollbar-thumb:hover {
209
+ background: var(--dda-on-primary-98);
210
+ }
211
+ .dda-mega-menu > li:hover .dda-default-submenu,
212
+ .dda-mega-menu > li:hover .dda-main-megamenu,
173
213
  .dda-default-submenu.is-visible,
174
- .dda-main-megamenu.is-visible{
175
- display: block;
214
+ .dda-main-megamenu.is-visible {
215
+ display: block;
176
216
  }
177
- .dda-megamenu-content ol{
178
- display: flex;
179
- flex-direction: column;
180
- gap: 8px;
181
- padding: 0 !important;
217
+ .dda-megamenu-content ol {
218
+ display: flex;
219
+ flex-direction: column;
220
+ gap: 8px;
221
+ padding: 0 !important;
182
222
  }
183
- .dda-megamenu-content .megamemu-sub-title{
184
- font-size: var(--font-h6);
185
- font-weight: var(--font-weight-regular);
186
- padding: 8px 15px 8px 15px;
223
+ .dda-megamenu-content .megamemu-sub-title {
224
+ font-size: var(--font-h6);
225
+ font-weight: var(--font-weight-regular);
226
+ padding: 8px 15px 8px 15px;
187
227
  }
188
228
 
189
229
  .dda-megamenu-content .dda-mega-menu-link {
190
- width: 100%;
191
- display: flex;
192
- align-items: center;
193
- gap: 15px;
194
- padding: 10px 16px;
195
- background: var(--dda-surface-100);
196
- color: var(--dda-on-surface-0);
197
- border-radius: 8px;
198
- /* transition: all 500ms ease; */
199
- }
200
- .dda-megamenu-content .dda-mega-menu-link:hover{
201
- background-color: var(--dda-on-primary-98);
202
- }
203
- .dda-mega-menu-link{
204
- display: block;
230
+ width: 100%;
231
+ display: flex;
232
+ align-items: center;
233
+ gap: 15px;
234
+ padding: 10px 16px;
235
+ background: var(--dda-surface-100);
236
+ color: var(--dda-on-surface-0);
237
+ border-radius: 8px;
238
+ /* transition: all 500ms ease; */
239
+ }
240
+ .dda-megamenu-content .dda-mega-menu-link:hover {
241
+ background-color: var(--dda-on-primary-98);
242
+ }
243
+ .dda-mega-menu-link {
244
+ display: block;
205
245
  }
206
246
 
207
247
  .dda-mega-menu-link .dda-mega-menu-icon {
208
- width: 40px;
209
- height: 40px;
210
- background: var(--dda-on-primary-94);
211
- border-radius: 8px;
212
- display: flex;
213
- align-items: center;
214
- justify-content: center;
215
- color: var(--dda-color-primary-40);
248
+ width: 40px;
249
+ height: 40px;
250
+ background: var(--dda-on-primary-94);
251
+ border-radius: 8px;
252
+ display: flex;
253
+ align-items: center;
254
+ justify-content: center;
255
+ color: var(--dda-color-primary-40);
216
256
  }
217
257
 
218
258
  .dda-mega-menu-link .text-wrap {
219
- display: flex;
220
- flex: 1;
221
- flex-direction: column;
259
+ display: flex;
260
+ flex: 1;
261
+ flex-direction: column;
222
262
  }
223
263
 
224
264
  .dda-mega-menu-link .dda-mega-menu-text {
225
- display: block;
226
- font-size: var(--font-body);
227
- font-weight: var(--font-weight-regular);
265
+ display: block;
266
+ font-size: var(--font-body);
267
+ font-weight: var(--font-weight-regular);
228
268
  }
229
269
 
230
270
  .dda-mega-menu-link .dda-mega-menu-desc {
231
- font-size: var(--font-caption);
232
- font-weight: var(--font-weight-regular);
233
- color: var(--dda-on-surface-variant-30);
234
- max-height: 40px;
235
- overflow: hidden;
271
+ font-size: var(--font-caption);
272
+ font-weight: var(--font-weight-regular);
273
+ color: var(--dda-on-surface-variant-30);
274
+ max-height: 40px;
275
+ overflow: hidden;
236
276
  }
237
- .dda-mega-menu a:focus-visible{
238
- outline: solid 2px var(--dda-primary-variant-87) !important;
239
- outline-offset: 0px;
277
+ .dda-mega-menu a:focus-visible {
278
+ outline: solid 2px var(--dda-primary-variant-87) !important;
279
+ outline-offset: 0px;
240
280
  }
241
281
 
242
282
  @media (max-width: 1024px) {
243
- .dda-mega-menu {
244
- display: none;
245
- }
283
+ .dda-mega-menu {
284
+ display: none;
285
+ }
246
286
  }
247
287
 
248
288
  @media (prefers-reduced-motion: no-preference) {
249
- .dda-mega-menu>li>a::after {
250
- transition: all 0.25s ease-in-out;
251
- }
252
- .dda-megamenu-content .dda-mega-menu-link {
253
- transition: all 500ms ease;
254
- }
255
-
256
- }
289
+ .dda-mega-menu > li > a::after {
290
+ transition: all 0.25s ease-in-out;
291
+ }
292
+ .dda-megamenu-content .dda-mega-menu-link {
293
+ transition: all 500ms ease;
294
+ }
295
+ }
@@ -10,6 +10,20 @@ export class DdaInput {
10
10
  async getValue() {
11
11
  return this.internalValue || this.value || '';
12
12
  }
13
+ watchValue(newValue) {
14
+ this.internalValue = newValue || '';
15
+ }
16
+ async setValue(val) {
17
+ this.internalValue = val;
18
+ this.inputChanged.emit(val);
19
+ }
20
+ async reset() {
21
+ this.internalValue = '';
22
+ this.inputChanged.emit('');
23
+ }
24
+ componentWillLoad() {
25
+ this.internalValue = this.value || '';
26
+ }
13
27
  componentDidLoad() {
14
28
  // Hide date input placeholder
15
29
  if (this.type === 'date') {
@@ -40,17 +54,18 @@ export class DdaInput {
40
54
  this.type === 'disabled' ? 'dda-input-disabled' : '',
41
55
  this.custom_class,
42
56
  this.component_mode,
43
- ].filter(Boolean).join(' ');
57
+ ]
58
+ .filter(Boolean)
59
+ .join(' ');
44
60
  const describedByIds = [];
45
61
  if (this.helper_text)
46
62
  describedByIds.push(`${this.validation_id}-helper`);
47
63
  if (this.validation_type === 'error' && this.error_message)
48
64
  describedByIds.push(`${this.validation_id}-error`);
49
- return (h(Host, { key: 'b9fb5ad1dafba6f7c6f84ac991fbe39906f3eecc' }, h("div", { key: 'd0ebec077208be7b411944c4383bfa6e9643fe48', class: inputClass }, this.label &&
50
- h("label", { key: '1ea6a5732274284a5abedcbecc9ae6b1284b7cb4', htmlFor: this.input_id, class: "dda-input-label", id: `${this.input_id}-label` }, this.label), h("input", { key: 'a80e738b74bb6f5f65670ab40491a48028349176', id: this.input_id, name: this.input_name, class: `dda-input-field dda-input-text ${this.type === 'date' && this.value ? 'has-value' : ''}`, type: this.type, role: this.input_role, placeholder: this.placeholder, value: this.internalValue || this.value, "aria-required": this.required ? 'true' : undefined, "aria-invalid": this.validation_type === 'error' ? 'true' : 'false', "aria-describedby": `${this.input_id}-label`, "aria-label": !this.label ? this.aria_label : undefined, onInput: (event) => {
65
+ return (h(Host, { key: '4e003cdf89adeda38b90792d6347e7eea6d66f38' }, h("div", { key: '592b69be98bbba7466d13eafe1a7d8f1aaa6dced', class: inputClass }, this.label && (h("label", { key: '2ade0edb9bf64d6afeb4c4fd108721f42cc88df8', htmlFor: this.input_id, class: "dda-input-label", id: `${this.input_id}-label` }, this.label)), h("input", { key: '03a91a4707af534a9fb20116e3af0f08e1ecfd27', id: this.input_id, name: this.input_name, class: `dda-input-field dda-input-text ${this.type === 'date' && this.value ? 'has-value' : ''}`, type: this.type, role: this.input_role, placeholder: this.placeholder, value: this.internalValue, "aria-required": this.required ? 'true' : undefined, "aria-invalid": this.validation_type === 'error' ? 'true' : 'false', "aria-describedby": `${this.input_id}-label`, "aria-label": !this.label ? this.aria_label : undefined, onInput: event => {
51
66
  this.internalValue = event.target.value;
52
- this.inputChanged.emit(event);
53
- }, onBlur: (event) => {
67
+ this.inputChanged.emit(this.internalValue);
68
+ }, onBlur: event => {
54
69
  const value = event.target.value.trim();
55
70
  this.inputBlurred.emit({ name: this.input_name, value });
56
71
  } }), this.validation_type === 'error' && this.error_message ? (h("span", { class: "dda-error-message", id: this.validation_id, role: "alert" }, this.error_message)) : (this.helper_text && (h("span", { class: "dda-helper-text", id: this.validation_id }, this.helper_text))))));
@@ -443,9 +458,53 @@ export class DdaInput {
443
458
  "text": "",
444
459
  "tags": []
445
460
  }
461
+ },
462
+ "setValue": {
463
+ "complexType": {
464
+ "signature": "(val: string) => Promise<void>",
465
+ "parameters": [{
466
+ "name": "val",
467
+ "type": "string",
468
+ "docs": ""
469
+ }],
470
+ "references": {
471
+ "Promise": {
472
+ "location": "global",
473
+ "id": "global::Promise"
474
+ }
475
+ },
476
+ "return": "Promise<void>"
477
+ },
478
+ "docs": {
479
+ "text": "",
480
+ "tags": []
481
+ }
482
+ },
483
+ "reset": {
484
+ "complexType": {
485
+ "signature": "() => Promise<void>",
486
+ "parameters": [],
487
+ "references": {
488
+ "Promise": {
489
+ "location": "global",
490
+ "id": "global::Promise"
491
+ }
492
+ },
493
+ "return": "Promise<void>"
494
+ },
495
+ "docs": {
496
+ "text": "",
497
+ "tags": []
498
+ }
446
499
  }
447
500
  };
448
501
  }
449
502
  static get elementRef() { return "el"; }
503
+ static get watchers() {
504
+ return [{
505
+ "propName": "value",
506
+ "methodName": "watchValue"
507
+ }];
508
+ }
450
509
  }
451
510
  //# sourceMappingURL=dda-input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dda-input.js","sourceRoot":"","sources":["../../../src/components/dda-input/dda-input.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, Host, Event, EventEmitter, Element, State, Method } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-input',\r\n styleUrls: [],\r\n shadow: false,\r\n})\r\nexport class DdaInput {\r\n @Element() el: HTMLElement;\r\n\r\n @Prop() label: string;\r\n @Prop() placeholder: string;\r\n @Prop() value: string;\r\n @Prop() type: string = 'text';\r\n @Prop() input_role: string = 'text';\r\n @Prop() helper_text: string;\r\n @Prop() error_message: string;\r\n @Prop() validation_type?: string;\r\n @Prop() validation_id: string = 'text';\r\n @Prop() size?: string;\r\n @Prop() input_status?: string;\r\n @Prop() custom_class?: string;\r\n @Prop() component_mode?: string; \r\n @Prop() input_id: string;\r\n @Prop() aria_label?: string;\r\n @Prop() input_name?: string;\r\n @Prop() required?: boolean = false;\r\n\r\n @State() internalValue: string = '';\r\n\r\n @Event() inputChanged: EventEmitter<any>;\r\n @Event() inputBlurred: EventEmitter<{ name: string; value: string }>;\r\n\r\n @Method()\r\n async getValue() {\r\n return this.internalValue || this.value || '';\r\n }\r\n\r\n componentDidLoad() {\r\n // Hide date input placeholder\r\n if (this.type === 'date') {\r\n const dateInput = this.el.querySelector('input[type=\"date\"]') as HTMLInputElement;\r\n if (dateInput) {\r\n dateInput.style.color = 'transparent';\r\n dateInput.addEventListener('focus', () => {\r\n dateInput.style.color = '#000';\r\n });\r\n dateInput.addEventListener('blur', () => {\r\n if (!dateInput.value) {\r\n dateInput.style.color = 'transparent';\r\n }\r\n });\r\n dateInput.addEventListener('change', () => {\r\n dateInput.style.color = '#000';\r\n });\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const inputClass = [\r\n 'dda-input-container',\r\n this.validation_type ? `dda-validation-${this.validation_type}` : '',\r\n this.size ? `dda-input-size-${this.size}` : '',\r\n this.input_status ? `dda-input-${this.input_status}` : '',\r\n this.type === 'Witherror' ? 'dda-validation-error' : '',\r\n this.type === 'disabled' ? 'dda-input-disabled' : '',\r\n this.custom_class,\r\n this.component_mode,\r\n ].filter(Boolean).join(' ');\r\n\r\n const describedByIds: string[] = [];\r\n if (this.helper_text) describedByIds.push(`${this.validation_id}-helper`);\r\n if (this.validation_type === 'error' && this.error_message)\r\n describedByIds.push(`${this.validation_id}-error`);\r\n\r\n return (\r\n <Host>\r\n <div class={inputClass}>\r\n {this.label && \r\n <label \r\n htmlFor={this.input_id} \r\n class=\"dda-input-label\"\r\n id={`${this.input_id}-label`}\r\n >\r\n {this.label}\r\n </label>}\r\n <input\r\n id={this.input_id}\r\n name={this.input_name}\r\n class={`dda-input-field dda-input-text ${this.type === 'date' && this.value ? 'has-value' : ''}`}\r\n type={this.type}\r\n role={this.input_role}\r\n placeholder={this.placeholder}\r\n value={this.internalValue || this.value}\r\n aria-required={this.required ? 'true' : undefined}\r\n aria-invalid={this.validation_type === 'error' ? 'true' : 'false'}\r\n aria-describedby={`${this.input_id}-label`}\r\n aria-label={!this.label ? this.aria_label : undefined}\r\n onInput={(event) => {\r\n this.internalValue = (event.target as HTMLInputElement).value;\r\n this.inputChanged.emit(event);\r\n }}\r\n onBlur={(event) => {\r\n const value = (event.target as HTMLInputElement).value.trim();\r\n this.inputBlurred.emit({ name: this.input_name, value });\r\n }}\r\n />\r\n\r\n {this.validation_type === 'error' && this.error_message ? (\r\n <span \r\n class=\"dda-error-message\" \r\n id={this.validation_id}\r\n role=\"alert\"\r\n >\r\n {this.error_message}\r\n </span>\r\n ) : (\r\n this.helper_text && (\r\n <span \r\n class=\"dda-helper-text\" \r\n id={this.validation_id}\r\n >\r\n {this.helper_text}\r\n </span>\r\n )\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"dda-input.js","sourceRoot":"","sources":["../../../src/components/dda-input/dda-input.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, h, Host, Event, EventEmitter, Element, State, Method, Watch } from '@stencil/core';\r\n\r\n@Component({\r\n tag: 'dda-input',\r\n styleUrls: [],\r\n shadow: false,\r\n})\r\nexport class DdaInput {\r\n @Element() el: HTMLElement;\r\n\r\n @Prop() label: string;\r\n @Prop() placeholder: string;\r\n @Prop() value: string;\r\n @Prop() type: string = 'text';\r\n @Prop() input_role: string = 'text';\r\n @Prop() helper_text: string;\r\n @Prop() error_message: string;\r\n @Prop() validation_type?: string;\r\n @Prop() validation_id: string = 'text';\r\n @Prop() size?: string;\r\n @Prop() input_status?: string;\r\n @Prop() custom_class?: string;\r\n @Prop() component_mode?: string;\r\n @Prop() input_id: string;\r\n @Prop() aria_label?: string;\r\n @Prop() input_name?: string;\r\n @Prop() required?: boolean = false;\r\n\r\n @State() internalValue: string = '';\r\n\r\n @Event() inputChanged: EventEmitter<any>;\r\n @Event() inputBlurred: EventEmitter<{ name: string; value: string }>;\r\n\r\n @Method()\r\n async getValue() {\r\n return this.internalValue || this.value || '';\r\n }\r\n\r\n @Watch('value')\r\n watchValue(newValue: string) {\r\n this.internalValue = newValue || '';\r\n }\r\n\r\n @Method()\r\n async setValue(val: string) {\r\n this.internalValue = val;\r\n this.inputChanged.emit(val);\r\n }\r\n\r\n @Method()\r\n async reset() {\r\n this.internalValue = '';\r\n this.inputChanged.emit('');\r\n }\r\n componentWillLoad() {\r\n this.internalValue = this.value || '';\r\n }\r\n componentDidLoad() {\r\n // Hide date input placeholder\r\n if (this.type === 'date') {\r\n const dateInput = this.el.querySelector('input[type=\"date\"]') as HTMLInputElement;\r\n if (dateInput) {\r\n dateInput.style.color = 'transparent';\r\n dateInput.addEventListener('focus', () => {\r\n dateInput.style.color = '#000';\r\n });\r\n dateInput.addEventListener('blur', () => {\r\n if (!dateInput.value) {\r\n dateInput.style.color = 'transparent';\r\n }\r\n });\r\n dateInput.addEventListener('change', () => {\r\n dateInput.style.color = '#000';\r\n });\r\n }\r\n }\r\n }\r\n\r\n render() {\r\n const inputClass = [\r\n 'dda-input-container',\r\n this.validation_type ? `dda-validation-${this.validation_type}` : '',\r\n this.size ? `dda-input-size-${this.size}` : '',\r\n this.input_status ? `dda-input-${this.input_status}` : '',\r\n this.type === 'Witherror' ? 'dda-validation-error' : '',\r\n this.type === 'disabled' ? 'dda-input-disabled' : '',\r\n this.custom_class,\r\n this.component_mode,\r\n ]\r\n .filter(Boolean)\r\n .join(' ');\r\n\r\n const describedByIds: string[] = [];\r\n if (this.helper_text) describedByIds.push(`${this.validation_id}-helper`);\r\n if (this.validation_type === 'error' && this.error_message) describedByIds.push(`${this.validation_id}-error`);\r\n\r\n return (\r\n <Host>\r\n <div class={inputClass}>\r\n {this.label && (\r\n <label htmlFor={this.input_id} class=\"dda-input-label\" id={`${this.input_id}-label`}>\r\n {this.label}\r\n </label>\r\n )}\r\n <input\r\n id={this.input_id}\r\n name={this.input_name}\r\n class={`dda-input-field dda-input-text ${this.type === 'date' && this.value ? 'has-value' : ''}`}\r\n type={this.type}\r\n role={this.input_role}\r\n placeholder={this.placeholder}\r\n value={this.internalValue}\r\n aria-required={this.required ? 'true' : undefined}\r\n aria-invalid={this.validation_type === 'error' ? 'true' : 'false'}\r\n aria-describedby={`${this.input_id}-label`}\r\n aria-label={!this.label ? this.aria_label : undefined}\r\n onInput={event => {\r\n this.internalValue = (event.target as HTMLInputElement).value;\r\n this.inputChanged.emit(this.internalValue);\r\n }}\r\n onBlur={event => {\r\n const value = (event.target as HTMLInputElement).value.trim();\r\n this.inputBlurred.emit({ name: this.input_name, value });\r\n }}\r\n />\r\n\r\n {this.validation_type === 'error' && this.error_message ? (\r\n <span class=\"dda-error-message\" id={this.validation_id} role=\"alert\">\r\n {this.error_message}\r\n </span>\r\n ) : (\r\n this.helper_text && (\r\n <span class=\"dda-helper-text\" id={this.validation_id}>\r\n {this.helper_text}\r\n </span>\r\n )\r\n )}\r\n </div>\r\n </Host>\r\n );\r\n }\r\n}\r\n"]}