q2-tecton-elements 1.12.1 → 1.13.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.
Files changed (219) hide show
  1. package/dist/cjs/click-elsewhere.cjs.entry.js +5 -7
  2. package/dist/cjs/{icons-9bd0febe.js → icons-08ffe5c9.js} +386 -386
  3. package/dist/cjs/{index-c2e53804.js → index-7febb200.js} +112 -65
  4. package/dist/cjs/{index-773c3eec.js → index-dd823ee6.js} +2 -2
  5. package/dist/cjs/loader.cjs.js +3 -3
  6. package/dist/cjs/q2-avatar.cjs.entry.js +2 -2
  7. package/dist/cjs/q2-badge.cjs.entry.js +43 -0
  8. package/dist/cjs/q2-btn_2.cjs.entry.js +13 -13
  9. package/dist/cjs/q2-calendar.cjs.entry.js +42 -59
  10. package/dist/cjs/q2-card.cjs.entry.js +43 -5
  11. package/dist/cjs/q2-carousel-pane.cjs.entry.js +5 -5
  12. package/dist/cjs/q2-carousel.cjs.entry.js +318 -106
  13. package/dist/cjs/q2-checkbox-group.cjs.entry.js +3 -3
  14. package/dist/cjs/q2-checkbox.cjs.entry.js +8 -11
  15. package/dist/cjs/q2-dropdown-item.cjs.entry.js +7 -7
  16. package/dist/cjs/q2-dropdown.cjs.entry.js +9 -18
  17. package/dist/cjs/q2-editable-field.cjs.entry.js +5 -8
  18. package/dist/cjs/q2-icon.cjs.entry.js +3 -3
  19. package/dist/cjs/q2-input.cjs.entry.js +431 -434
  20. package/dist/cjs/q2-loading-element.cjs.entry.js +3 -3
  21. package/dist/cjs/q2-loc.cjs.entry.js +2 -2
  22. package/dist/cjs/q2-message.cjs.entry.js +5 -5
  23. package/dist/cjs/q2-optgroup.cjs.entry.js +3 -3
  24. package/dist/cjs/q2-option-list.cjs.entry.js +5 -3
  25. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  26. package/dist/cjs/q2-pagination.cjs.entry.js +6 -8
  27. package/dist/cjs/q2-pill.cjs.entry.js +9 -9
  28. package/dist/cjs/q2-radio-group.cjs.entry.js +4 -7
  29. package/dist/cjs/q2-radio.cjs.entry.js +2 -2
  30. package/dist/cjs/q2-section.cjs.entry.js +5 -7
  31. package/dist/cjs/q2-select.cjs.entry.js +17 -29
  32. package/dist/cjs/q2-stepper-pane.cjs.entry.js +42 -4
  33. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +278 -0
  34. package/dist/cjs/q2-stepper.cjs.entry.js +10 -12
  35. package/dist/cjs/q2-tab-container.cjs.entry.js +8 -8
  36. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-tag.cjs.entry.js +4 -4
  38. package/dist/cjs/q2-tecton-elements.cjs.js +3 -3
  39. package/dist/cjs/q2-textarea.cjs.entry.js +8 -8
  40. package/dist/cjs/{shapes-086c0365.js → shapes-305746b5.js} +9 -16
  41. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -5
  42. package/dist/collection/collection-manifest.json +5 -3
  43. package/dist/collection/components/click-elsewhere/index.js +4 -6
  44. package/dist/collection/components/q2-badge/index.js +148 -0
  45. package/dist/collection/components/q2-badge/styles.css +134 -0
  46. package/dist/collection/components/q2-btn/index.js +14 -14
  47. package/dist/collection/components/q2-calendar/helpers.js +16 -20
  48. package/dist/collection/components/q2-calendar/index.js +21 -36
  49. package/dist/collection/components/q2-calendar/styles.css +1 -1
  50. package/dist/collection/components/q2-calendar/validation.js +4 -2
  51. package/dist/collection/components/q2-card/index.js +59 -2
  52. package/dist/collection/components/q2-card/styles.css +17 -1
  53. package/dist/collection/components/q2-carousel/index.js +11 -16
  54. package/dist/collection/components/q2-carousel/styles.css +3 -3
  55. package/dist/collection/components/q2-carousel-pane/index.js +2 -2
  56. package/dist/collection/components/q2-carousel-pane/styles.css +8 -3
  57. package/dist/collection/components/q2-checkbox/index.js +8 -11
  58. package/dist/collection/components/q2-checkbox/styles.css +1 -1
  59. package/dist/collection/components/q2-checkbox-group/index.js +1 -1
  60. package/dist/collection/components/q2-dropdown/index.js +6 -15
  61. package/dist/collection/components/q2-dropdown/styles.css +3 -3
  62. package/dist/collection/components/q2-dropdown-item/index.js +5 -5
  63. package/dist/collection/components/q2-editable-field/index.js +3 -6
  64. package/dist/collection/components/q2-icon/icons.js +385 -385
  65. package/dist/collection/components/q2-input/formatting/credit-card.js +15 -13
  66. package/dist/collection/components/q2-input/formatting/currency.js +162 -162
  67. package/dist/collection/components/q2-input/formatting/date.js +1 -1
  68. package/dist/collection/components/q2-input/formatting/generic.js +7 -8
  69. package/dist/collection/components/q2-input/formatting/number.js +6 -9
  70. package/dist/collection/components/q2-input/formatting/numeric.js +5 -5
  71. package/dist/collection/components/q2-input/formatting/phone.js +215 -215
  72. package/dist/collection/components/q2-input/formatting/postal.js +1 -1
  73. package/dist/collection/components/q2-input/index.js +20 -21
  74. package/dist/collection/components/q2-input/styles.css +19 -6
  75. package/dist/collection/components/q2-loading/index.js +4 -4
  76. package/dist/collection/components/q2-loading/skeleton/q2-loading-element/index.js +1 -1
  77. package/dist/collection/components/q2-loading/skeleton/shapes.js +8 -15
  78. package/dist/collection/components/q2-loading/styles.css +1 -1
  79. package/dist/collection/components/q2-message/index.js +3 -3
  80. package/dist/collection/components/q2-optgroup/index.js +1 -1
  81. package/dist/collection/components/q2-option-list/index.js +4 -2
  82. package/dist/collection/components/q2-pagination/index.js +4 -6
  83. package/dist/collection/components/q2-pill/index.js +8 -8
  84. package/dist/collection/components/q2-pill/styles.css +3 -1
  85. package/dist/collection/components/q2-radio-group/index.js +3 -6
  86. package/dist/collection/components/q2-section/index.js +5 -7
  87. package/dist/collection/components/q2-select/index.js +15 -27
  88. package/dist/collection/components/q2-select/styles.css +4 -4
  89. package/dist/collection/components/q2-stepper/index.js +8 -10
  90. package/dist/collection/components/q2-stepper/styles.css +3 -3
  91. package/dist/collection/components/q2-stepper-pane/index.js +133 -5
  92. package/dist/collection/components/q2-stepper-vertical/index.js +346 -0
  93. package/dist/collection/components/q2-stepper-vertical/styles.css +273 -0
  94. package/dist/collection/components/q2-tab-container/index.js +7 -7
  95. package/dist/collection/components/q2-tag/index.js +3 -3
  96. package/dist/collection/components/q2-textarea/index.js +6 -6
  97. package/dist/collection/components/tecton-tab-pane/index.js +3 -10
  98. package/dist/collection/utils/index.js +1 -1
  99. package/dist/esm/click-elsewhere.entry.js +5 -7
  100. package/dist/esm/{icons-6a143c2f.js → icons-b1e11526.js} +386 -386
  101. package/dist/esm/{index-fa32f694.js → index-0ff8de52.js} +2 -2
  102. package/dist/esm/{index-be8376c0.js → index-dbfb3ecc.js} +112 -65
  103. package/dist/esm/loader.js +3 -3
  104. package/dist/esm/polyfills/css-shim.js +1 -1
  105. package/dist/esm/q2-avatar.entry.js +2 -2
  106. package/dist/esm/q2-badge.entry.js +39 -0
  107. package/dist/esm/q2-btn_2.entry.js +13 -13
  108. package/dist/esm/q2-calendar.entry.js +42 -59
  109. package/dist/esm/q2-card.entry.js +43 -5
  110. package/dist/esm/q2-carousel-pane.entry.js +5 -5
  111. package/dist/esm/q2-carousel.entry.js +318 -106
  112. package/dist/esm/q2-checkbox-group.entry.js +3 -3
  113. package/dist/esm/q2-checkbox.entry.js +8 -11
  114. package/dist/esm/q2-dropdown-item.entry.js +7 -7
  115. package/dist/esm/q2-dropdown.entry.js +9 -18
  116. package/dist/esm/q2-editable-field.entry.js +5 -8
  117. package/dist/esm/q2-icon.entry.js +3 -3
  118. package/dist/esm/q2-input.entry.js +431 -434
  119. package/dist/esm/q2-loading-element.entry.js +3 -3
  120. package/dist/esm/q2-loc.entry.js +2 -2
  121. package/dist/esm/q2-message.entry.js +5 -5
  122. package/dist/esm/q2-optgroup.entry.js +3 -3
  123. package/dist/esm/q2-option-list.entry.js +5 -3
  124. package/dist/esm/q2-option.entry.js +1 -1
  125. package/dist/esm/q2-pagination.entry.js +6 -8
  126. package/dist/esm/q2-pill.entry.js +9 -9
  127. package/dist/esm/q2-radio-group.entry.js +4 -7
  128. package/dist/esm/q2-radio.entry.js +2 -2
  129. package/dist/esm/q2-section.entry.js +5 -7
  130. package/dist/esm/q2-select.entry.js +17 -29
  131. package/dist/esm/q2-stepper-pane.entry.js +42 -4
  132. package/dist/esm/q2-stepper-vertical.entry.js +274 -0
  133. package/dist/esm/q2-stepper.entry.js +10 -12
  134. package/dist/esm/q2-tab-container.entry.js +8 -8
  135. package/dist/esm/q2-tab-pane.entry.js +1 -1
  136. package/dist/esm/q2-tag.entry.js +4 -4
  137. package/dist/esm/q2-tecton-elements.js +3 -3
  138. package/dist/esm/q2-textarea.entry.js +8 -8
  139. package/dist/esm/{shapes-81c11dfe.js → shapes-cff4e1f0.js} +9 -16
  140. package/dist/esm/tecton-tab-pane.entry.js +2 -5
  141. package/dist/loader/index.d.ts +0 -1
  142. package/dist/q2-tecton-elements/{p-a0248299.entry.js → p-00e8f782.entry.js} +1 -1
  143. package/dist/q2-tecton-elements/p-0900bec1.entry.js +1 -0
  144. package/dist/q2-tecton-elements/{p-f98dc161.entry.js → p-10264ecb.entry.js} +1 -1
  145. package/dist/q2-tecton-elements/{p-0a7cff38.entry.js → p-1305ec5f.entry.js} +1 -1
  146. package/dist/q2-tecton-elements/p-148391d6.entry.js +1 -0
  147. package/dist/q2-tecton-elements/p-1dfaee64.entry.js +1 -0
  148. package/dist/q2-tecton-elements/{p-32ad664c.entry.js → p-221abbf6.entry.js} +1 -1
  149. package/dist/q2-tecton-elements/{p-c90a6016.js → p-255b2b4c.js} +1 -1
  150. package/dist/q2-tecton-elements/p-27736b6b.entry.js +1 -0
  151. package/dist/q2-tecton-elements/p-2846ab94.entry.js +1 -0
  152. package/dist/q2-tecton-elements/{p-167a19fd.entry.js → p-2bc1de01.entry.js} +1 -1
  153. package/dist/q2-tecton-elements/{p-8ea2c4f7.entry.js → p-2c15414c.entry.js} +1 -1
  154. package/dist/q2-tecton-elements/p-2caa89fd.js +1 -0
  155. package/dist/q2-tecton-elements/p-327cca41.entry.js +1 -0
  156. package/dist/q2-tecton-elements/{p-54f0d64e.entry.js → p-3a420dbf.entry.js} +1 -1
  157. package/dist/q2-tecton-elements/{p-c460e5ed.entry.js → p-3a64e5ce.entry.js} +1 -1
  158. package/dist/q2-tecton-elements/{p-aca8302b.entry.js → p-3abcb09d.entry.js} +1 -1
  159. package/dist/q2-tecton-elements/{p-08668234.entry.js → p-3fe98e3e.entry.js} +1 -1
  160. package/dist/q2-tecton-elements/{p-c5199147.entry.js → p-430a979b.entry.js} +1 -1
  161. package/dist/q2-tecton-elements/{p-fa9e3825.entry.js → p-45eb7739.entry.js} +1 -1
  162. package/dist/q2-tecton-elements/{p-750bcd33.entry.js → p-49b2abc4.entry.js} +1 -1
  163. package/dist/q2-tecton-elements/{p-d9bc6494.entry.js → p-4ab30466.entry.js} +1 -1
  164. package/dist/q2-tecton-elements/p-5bbf2bfe.entry.js +1 -0
  165. package/dist/q2-tecton-elements/p-6fec9235.entry.js +1 -0
  166. package/dist/q2-tecton-elements/{p-3c6f73cb.js → p-824aebd9.js} +1 -1
  167. package/dist/q2-tecton-elements/{p-91dba21f.entry.js → p-a4ae89cc.entry.js} +1 -1
  168. package/dist/q2-tecton-elements/{p-d3058002.entry.js → p-a5562aaa.entry.js} +1 -1
  169. package/dist/q2-tecton-elements/{p-5effd81a.entry.js → p-ae130f70.entry.js} +1 -1
  170. package/dist/q2-tecton-elements/p-b2302cd3.entry.js +1 -0
  171. package/dist/q2-tecton-elements/p-c20cbb2d.entry.js +1 -0
  172. package/dist/q2-tecton-elements/p-ca7a3380.entry.js +1 -0
  173. package/dist/q2-tecton-elements/{p-9a3c37ab.entry.js → p-d33e152c.entry.js} +1 -1
  174. package/dist/q2-tecton-elements/{p-9024859f.entry.js → p-d5218cd6.entry.js} +1 -1
  175. package/dist/q2-tecton-elements/{p-54300d2f.entry.js → p-d52b435e.entry.js} +1 -1
  176. package/dist/q2-tecton-elements/{p-c3d68d5c.js → p-dd02cf8d.js} +1 -1
  177. package/dist/q2-tecton-elements/{p-30bf5f44.entry.js → p-e0e7ae8b.entry.js} +1 -1
  178. package/dist/q2-tecton-elements/p-ede12fc1.entry.js +1 -0
  179. package/dist/q2-tecton-elements/{p-af202624.entry.js → p-fdfbe75b.entry.js} +1 -1
  180. package/dist/q2-tecton-elements/p-ffbded54.entry.js +1 -0
  181. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  182. package/dist/test/elements/q2-tag-test.js +6 -6
  183. package/dist/test/helpers.js +7 -7
  184. package/dist/types/components/q2-badge/index.d.ts +13 -0
  185. package/dist/types/components/q2-btn/index.d.ts +3 -3
  186. package/dist/types/components/q2-calendar/index.d.ts +1 -1
  187. package/dist/types/components/q2-calendar/validation.d.ts +1 -1
  188. package/dist/types/components/q2-card/index.d.ts +4 -0
  189. package/dist/types/components/q2-dropdown/index.d.ts +1 -1
  190. package/dist/types/components/q2-editable-field/index.d.ts +1 -1
  191. package/dist/types/components/q2-input/formatting/credit-card.d.ts +1 -3
  192. package/dist/types/components/q2-input/index.d.ts +2 -2
  193. package/dist/types/components/q2-option-list/index.d.ts +1 -1
  194. package/dist/types/components/q2-pill/index.d.ts +1 -1
  195. package/dist/types/components/q2-select/index.d.ts +1 -1
  196. package/dist/types/components/q2-stepper/index.d.ts +1 -1
  197. package/dist/types/components/q2-stepper-pane/index.d.ts +16 -1
  198. package/dist/types/components/q2-stepper-vertical/index.d.ts +52 -0
  199. package/dist/types/components/q2-tab-container/index.d.ts +1 -1
  200. package/dist/types/components/tecton-tab-pane/index.d.ts +2 -2
  201. package/dist/types/components.d.ts +63 -13
  202. package/dist/types/global.d.ts +1 -0
  203. package/dist/types/stencil-public-runtime.d.ts +6 -4
  204. package/dist/types/util.d.ts +2 -10
  205. package/dist/types/workspace/workspace/{tecton-production_release_1.12.x → tecton-production_release_1.13.x}/packages/q2-tecton-elements/.stencil/test/elements/q2-tag-test.d.ts +0 -0
  206. package/dist/types/workspace/workspace/{tecton-production_release_1.12.x → tecton-production_release_1.13.x}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +2 -2
  207. package/package.json +13 -13
  208. package/dist/q2-tecton-elements/p-080839ed.js +0 -1
  209. package/dist/q2-tecton-elements/p-2afdc922.entry.js +0 -1
  210. package/dist/q2-tecton-elements/p-34415315.entry.js +0 -1
  211. package/dist/q2-tecton-elements/p-5b906cf1.entry.js +0 -1
  212. package/dist/q2-tecton-elements/p-7ce98c1a.entry.js +0 -1
  213. package/dist/q2-tecton-elements/p-b9c2c1d3.entry.js +0 -1
  214. package/dist/q2-tecton-elements/p-c5e6f7fa.entry.js +0 -1
  215. package/dist/q2-tecton-elements/p-d65aaed2.entry.js +0 -1
  216. package/dist/q2-tecton-elements/p-df86f160.entry.js +0 -1
  217. package/dist/q2-tecton-elements/p-e38080d2.entry.js +0 -1
  218. package/dist/q2-tecton-elements/p-e9d69ba8.entry.js +0 -1
  219. package/dist/q2-tecton-elements/p-fe6407a4.entry.js +0 -1
@@ -15,7 +15,7 @@ export function formatDateShort(value) {
15
15
  month: '2-digit',
16
16
  day: '2-digit',
17
17
  year: 'numeric',
18
- timeZone: 'UTC'
18
+ timeZone: 'UTC',
19
19
  }).format(new Date(isoDate));
20
20
  }
21
21
  export function formatDateLong(value) {
@@ -25,7 +25,7 @@ export function formatDateLong(value) {
25
25
  return new Intl.DateTimeFormat('default', {
26
26
  month: 'short',
27
27
  day: 'numeric',
28
- year: 'numeric'
28
+ year: 'numeric',
29
29
  }).format(date);
30
30
  }
31
31
  export function convertMomentFormat(stringFormat) {
@@ -45,7 +45,7 @@ export function stringToDate(date) {
45
45
  return undefined;
46
46
  }
47
47
  let result;
48
- let dateParts = date.split(/[\/\-]/).map(part => part.padStart(2, '0'));
48
+ const dateParts = date.split(/[\/\-]/).map(part => part.padStart(2, '0'));
49
49
  const isIsoString = isString && date.length >= 24 && date[10] === 'T';
50
50
  const isCompleteDate = dateParts.length === 3;
51
51
  const isPartialDate = dateParts.length < 3;
@@ -100,7 +100,7 @@ export function setupMonthYear(value = new Date()) {
100
100
  const monthIndex = Number(value.toISOString().split('-')[1]) - 1;
101
101
  return {
102
102
  monthIndex,
103
- selectedYear: value.getFullYear()
103
+ selectedYear: value.getFullYear(),
104
104
  };
105
105
  }
106
106
  export function validateInput(input = '', validDays = [], validDates = [], // white list
@@ -144,14 +144,10 @@ startDate, endDate, formatString = 'mm/dd/yyyy', assume) {
144
144
  if (input.length >= 5 && !isAvailable) {
145
145
  isValid = false;
146
146
  messageType = 'error';
147
- if (!monthName || !date || !year) {
148
- message = `${loc('tecton.element.calendar.hint.invalidDate')}: ${formatString}`;
149
- }
150
- else {
151
- message = loc('tecton.element.calendar.hint.notAvailableDate', [
152
- formatDateLong(inputDate)
153
- ]);
154
- }
147
+ const isInvalid = !monthName || !date || !year;
148
+ message = isInvalid
149
+ ? `${loc('tecton.element.calendar.hint.invalidDate')}: ${formatString}`
150
+ : loc('tecton.element.calendar.hint.notAvailableDate', [formatDateLong(inputDate)]);
155
151
  }
156
152
  }
157
153
  else {
@@ -165,19 +161,19 @@ startDate, endDate, formatString = 'mm/dd/yyyy', assume) {
165
161
  message,
166
162
  inputDate,
167
163
  isAvailable,
168
- calendarPosition
164
+ calendarPosition,
169
165
  };
170
166
  }
171
167
  function buildInputDate(input, assume) {
172
168
  const now = new Date();
173
- let [month, day, year] = input.split('/');
169
+ const [month, day, year] = input.split('/');
174
170
  if (input.length === 10) {
175
171
  return new Date(input);
176
172
  }
177
173
  else if (month && day && Number(day) > 0) {
178
- day = Number(day) < 10 ? `0${Number(day)}` : day;
179
- year = !year || year.length < 4 ? assumeYear(month, day, assume) : year;
180
- return new Date(`${month}/${day}/${year}`);
174
+ const twoDigitDay = Number(day) < 10 ? `0${Number(day)}` : day;
175
+ const fourDigitYear = !year || year.length < 4 ? assumeYear(month, day, assume) : year;
176
+ return new Date(`${month}/${twoDigitDay}/${fourDigitYear}`);
181
177
  }
182
178
  else if (month && day && Number(day) === 0) {
183
179
  return new Date(''); // invalid date: 09/0/2021
@@ -231,7 +227,7 @@ export function getDays() {
231
227
  loc('tecton.element.calendar.days.short.Wednesday'),
232
228
  loc('tecton.element.calendar.days.short.Thursday'),
233
229
  loc('tecton.element.calendar.days.short.Friday'),
234
- loc('tecton.element.calendar.days.short.Saturday')
230
+ loc('tecton.element.calendar.days.short.Saturday'),
235
231
  ];
236
232
  }
237
233
  export function getDaysOfWeek() {
@@ -242,7 +238,7 @@ export function getDaysOfWeek() {
242
238
  loc('tecton.element.calendar.days.Wednesday'),
243
239
  loc('tecton.element.calendar.days.Thursday'),
244
240
  loc('tecton.element.calendar.days.Friday'),
245
- loc('tecton.element.calendar.days.Saturday')
241
+ loc('tecton.element.calendar.days.Saturday'),
246
242
  ];
247
243
  }
248
244
  export function getMonths() {
@@ -258,6 +254,6 @@ export function getMonths() {
258
254
  loc('tecton.element.calendar.months.September'),
259
255
  loc('tecton.element.calendar.months.October'),
260
256
  loc('tecton.element.calendar.months.November'),
261
- loc('tecton.element.calendar.months.December')
257
+ loc('tecton.element.calendar.months.December'),
262
258
  ];
263
259
  }
@@ -1,6 +1,6 @@
1
- import { Component, Prop, Element, State, Event, Listen, Watch, h } from '@stencil/core';
1
+ import { Component, Prop, Element, State, Event, Listen, Watch, h, } from '@stencil/core';
2
2
  import { addDays, isSameDay, format, isValid as isValidDate } from 'date-fns';
3
- import { stringToDate, setupMonthYear, getMonths, getDays, getDaysOfWeek, stringArrayToDate, convertMomentFormat, validateInput, handleMissingZeros, formatDateISO, formatDateLong, formatDateShort, removeTimezoneOffset, reorderDateString } from './helpers';
3
+ import { stringToDate, setupMonthYear, getMonths, getDays, getDaysOfWeek, stringArrayToDate, convertMomentFormat, validateInput, handleMissingZeros, formatDateISO, formatDateLong, formatDateShort, removeTimezoneOffset, reorderDateString, } from './helpers';
4
4
  import { buildDates, getValidDaysOfWeek } from './validation';
5
5
  import { handleAriaLabel, loc, setPopProperties, overrideFocus, isEventFromElement } from 'src/utils';
6
6
  export class Q2Calendar {
@@ -164,7 +164,7 @@ export class Q2Calendar {
164
164
  const newYear = removeTimezoneOffset(new Date(year, monthIndex));
165
165
  this.selectedMonthYear = {
166
166
  monthIndex: newYear.getMonth(),
167
- selectedYear: newYear.getFullYear()
167
+ selectedYear: newYear.getFullYear(),
168
168
  };
169
169
  this.dateList = this.buildDateList(this.selectedMonthYear);
170
170
  this.scheduledAfterRender.push(() => this.checkActiveCellForBlankness());
@@ -252,9 +252,7 @@ export class Q2Calendar {
252
252
  };
253
253
  }
254
254
  resizeIframe() {
255
- return (window.TectonElements &&
256
- window.TectonElements.resizeIframe &&
257
- window.TectonElements.resizeIframe());
255
+ return window.TectonElements && window.TectonElements.resizeIframe && window.TectonElements.resizeIframe();
258
256
  }
259
257
  connectedCallback() {
260
258
  this.selectedMonthYear = setupMonthYear(this.dateValue);
@@ -289,9 +287,7 @@ export class Q2Calendar {
289
287
  }
290
288
  get localizedErrors() {
291
289
  return ((Array.isArray(this.errors) &&
292
- this.errors
293
- .filter((error) => error)
294
- .map((error) => error && loc(error))) ||
290
+ this.errors.filter((error) => error).map((error) => error && loc(error))) ||
295
291
  []);
296
292
  }
297
293
  get formattedValue() {
@@ -306,7 +302,7 @@ export class Q2Calendar {
306
302
  year: 'numeric',
307
303
  month: '2-digit',
308
304
  day: '2-digit',
309
- timeZone: 'UTC'
305
+ timeZone: 'UTC',
310
306
  }).format(dateValue);
311
307
  }
312
308
  get computedPlaceholder() {
@@ -328,9 +324,7 @@ export class Q2Calendar {
328
324
  if (isMoment)
329
325
  return value.toDate();
330
326
  // stringified moment value assigned in html template e.g.) handlebar
331
- const isMomentString = typeof value === 'string' &&
332
- value.split(' ').length === 6 &&
333
- /GMT-\d{4}/g.test(value);
327
+ const isMomentString = typeof value === 'string' && value.split(' ').length === 6 && /GMT-\d{4}/g.test(value);
334
328
  if (isMomentString) {
335
329
  value = formatDateISO(value);
336
330
  }
@@ -342,7 +336,7 @@ export class Q2Calendar {
342
336
  return {
343
337
  startDate: stringToDate(this.startDate),
344
338
  endDate: stringToDate(this.endDate),
345
- cutOffTime: isValidDate(ct) ? ct : undefined
339
+ cutOffTime: isValidDate(ct) ? ct : undefined,
346
340
  };
347
341
  }
348
342
  get isTypeable() {
@@ -359,8 +353,7 @@ export class Q2Calendar {
359
353
  }
360
354
  defaultErrorHandler(event) {
361
355
  if (event.target === this.hostElement && !this.hostElement.onerror) {
362
- if (Array.isArray(this.errors) &&
363
- this.errors.includes('tecton.element.calendar.invalidDate')) {
356
+ if (Array.isArray(this.errors) && this.errors.includes('tecton.element.calendar.invalidDate')) {
364
357
  return;
365
358
  }
366
359
  this.errors = (this.errors || []).concat(['tecton.element.calendar.invalidDate']);
@@ -374,8 +367,7 @@ export class Q2Calendar {
374
367
  this.onsuccess(event);
375
368
  }
376
369
  else {
377
- if (Array.isArray(this.errors) &&
378
- this.errors.includes('tecton.element.calendar.invalidDate')) {
370
+ if (Array.isArray(this.errors) && this.errors.includes('tecton.element.calendar.invalidDate')) {
379
371
  this.errors = this.errors.filter(x => x !== 'tecton.element.calendar.invalidDate');
380
372
  }
381
373
  }
@@ -398,9 +390,7 @@ export class Q2Calendar {
398
390
  this.typedValue = newValueAsString;
399
391
  }
400
392
  else {
401
- const dateValue = isMoment
402
- ? newValue.toDate()
403
- : stringToDate(newValue);
393
+ const dateValue = isMoment ? newValue.toDate() : stringToDate(newValue);
404
394
  this.inputField.value = formatDateShort(dateValue);
405
395
  this.selectedMonthYear = setupMonthYear(dateValue);
406
396
  this.dateList = this.buildDateList(this.selectedMonthYear);
@@ -457,22 +447,21 @@ export class Q2Calendar {
457
447
  else {
458
448
  calculationDateList = this.buildDateList({
459
449
  monthIndex: month,
460
- selectedYear: year
450
+ selectedYear: year,
461
451
  });
462
452
  }
463
453
  const dateValueDayOfMonth = (_c = dateValue === null || dateValue === void 0 ? void 0 : dateValue.getDate()) !== null && _c !== void 0 ? _c : undefined;
464
454
  const isDateValueInvalid = dateValueDayOfMonth
465
- ? !calculationDateList.find(({ integer }) => integer === dateValueDayOfMonth)
466
- .isValid
455
+ ? !calculationDateList.find(({ integer }) => integer === dateValueDayOfMonth).isValid
467
456
  : true;
468
457
  if (isDateValueInvalid) {
469
458
  this.error.emit({
470
459
  errors: [
471
460
  {
472
461
  message: `Value passed is invalid: The date ${this.value} is not valid`,
473
- errorCode: 'generalInvalid'
474
- }
475
- ]
462
+ errorCode: 'generalInvalid',
463
+ },
464
+ ],
476
465
  });
477
466
  }
478
467
  else {
@@ -481,7 +470,7 @@ export class Q2Calendar {
481
470
  }
482
471
  }
483
472
  catch (error) {
484
- console.log('Invalid moment value ', this.dateValue);
473
+ console.warn('Invalid moment value ', this.dateValue);
485
474
  }
486
475
  }
487
476
  focusInput() {
@@ -490,16 +479,12 @@ export class Q2Calendar {
490
479
  }
491
480
  checkActiveCellForBlankness() {
492
481
  const activeElement = this.hostElement.shadowRoot.activeElement;
493
- if (!activeElement ||
494
- activeElement.tagName !== 'TD' ||
495
- !activeElement.hasAttribute('aria-hidden'))
482
+ if (!activeElement || activeElement.tagName !== 'TD' || !activeElement.hasAttribute('aria-hidden'))
496
483
  return;
497
484
  const { calendarBody } = this;
498
485
  const calendarCells = Array.from(calendarBody.querySelectorAll('td'));
499
486
  const indexOfCell = Array.from(calendarCells).indexOf(activeElement);
500
- const dayToFocus = indexOfCell < 15
501
- ? 1
502
- : calendarCells.filter(cell => !cell.hasAttribute('aria-hidden')).length;
487
+ const dayToFocus = indexOfCell < 15 ? 1 : calendarCells.filter(cell => !cell.hasAttribute('aria-hidden')).length;
503
488
  this.focusDay(this.generateDateFromDay(dayToFocus));
504
489
  }
505
490
  generateDateFromDay(day) {
@@ -539,11 +524,11 @@ export class Q2Calendar {
539
524
  this.setHints({
540
525
  isValid: true,
541
526
  message: `${loc('tecton.element.calendar.hint.selection')}: ${formatDateLong(inputDate)}`,
542
- messageType: 'success'
527
+ messageType: 'success',
543
528
  });
544
529
  }
545
530
  calendarField() {
546
- return (h("q2-input", { ref: el => (this.inputField = el), class: "calendar-input-field", value: this.formattedValue, label: loc(this.label), hideLabel: this.hideLabel, disabled: !!this.disabled, readonly: !!this.readonly, placeholder: this.computedPlaceholder, optional: !!this.optional, ariaExpanded: this.dropdownOpen, errors: (this.localizedErrors.length > 0 && this.localizedErrors) ||
531
+ return (h("q2-input", { ref: el => (this.inputField = el), class: "calendar-input-field", value: this.formattedValue, label: loc(this.label), hideLabel: this.hideLabel, disabled: !!this.disabled, readonly: !!this.readonly, placeholder: this.computedPlaceholder, optional: !!this.optional, ariaExpanded: `${!!this.dropdownOpen}`, errors: (this.localizedErrors.length > 0 && this.localizedErrors) ||
547
532
  (this.invalid && ['tecton.element.calendar.invalid']) ||
548
533
  [], onClick: this.onInputClick, onChange: this.onInputChange, onInput: this.onInputInput, onKeyDown: this.onInputKeydown, onKeyUp: this.onInputKeyup, onBlur: this.onInputBlur, "icon-right": "calendar", "format-modifier": this.isTypeable ? this.formatModifier : '', pseudo: !this.isTypeable, type: "date", "hide-messages": true, "test-id": "inputAndCalendarToggle" }));
549
534
  }
@@ -149,7 +149,7 @@ q2-input {
149
149
  .calendar-label {
150
150
  font-size: var(--tct-calendar-label-font-size, var(--t-calendar-label-font-size, 16px));
151
151
  flex: 1 1;
152
- flex-basis: calc(100% - var-list(--tct-btn-icon-width, 44px));
152
+ flex-basis: calc(100% - var(--tct-btn-icon-width, 44px));
153
153
  margin: 0;
154
154
  padding: var(--tct-calendar-label-vertical-padding, var(--t-calendar-label-vertical-padding, var(--tct-scale-2, var(--app-scale-2, 10px)))) 0;
155
155
  }
@@ -8,6 +8,7 @@ export function generateDatesFromMonthYear(month, year) {
8
8
  }, []);
9
9
  }
10
10
  export function getValidDaysOfWeek(checksum = 127) {
11
+ /* tslint:disable:no-bitwise */
11
12
  const sunValid = checksum & 1;
12
13
  const monValid = checksum & 2;
13
14
  const tuesValid = checksum & 4;
@@ -15,6 +16,7 @@ export function getValidDaysOfWeek(checksum = 127) {
15
16
  const thursValid = checksum & 16;
16
17
  const friValid = checksum & 32;
17
18
  const satValid = checksum & 64;
19
+ /* tslint:enable:no-bitwise */
18
20
  const ret = [];
19
21
  if (checksum <= 0)
20
22
  return ret;
@@ -82,7 +84,7 @@ export function getDayState(dayInMonth, dateValidators, currentDate) {
82
84
  const isEndDate = isSameDay(dayInMonth, dateValidators === null || dateValidators === void 0 ? void 0 : dateValidators.endDate);
83
85
  return { isSelected, isToday, isStartDate, isEndDate };
84
86
  }
85
- export function generateClassesForCalDay({ isInvalid, isSelected, isEndDate, isStartDate, isToday, isIncompleteDate }) {
87
+ export function generateClassesForCalDay({ isInvalid, isSelected, isEndDate, isStartDate, isToday, isIncompleteDate, }) {
86
88
  const classes = [];
87
89
  if (!isInvalid)
88
90
  classes.push('is-valid');
@@ -116,7 +118,7 @@ export const emptyDate = {
116
118
  isSelected: false,
117
119
  isStartDate: false,
118
120
  isEndDate: false,
119
- classList: ''
121
+ classList: '',
120
122
  };
121
123
  export function addEmptyDates(from, to) {
122
124
  if (from === 7)
@@ -1,5 +1,23 @@
1
- import { Component, Prop, Event, h, Fragment, Listen, Element, State } from '@stencil/core';
1
+ import { Component, Prop, Event, h, Fragment, Listen, Element, State, Watch, } from '@stencil/core';
2
2
  import { isTouchDevice, overrideFocus, isEventFromElement } from 'src/utils';
3
+ const SUPPORTED_THEME_COLORS = [
4
+ 'primary',
5
+ 'secondary',
6
+ 'tertiary',
7
+ 'accent-1',
8
+ 'accent-2',
9
+ 'accent-3',
10
+ 'accent-4',
11
+ 'accent-5',
12
+ 'accent-6',
13
+ 'accent-7',
14
+ 'accent-8',
15
+ 'accent-9',
16
+ 'accent-10',
17
+ 'accent-11',
18
+ 'accent-12',
19
+ ];
20
+ const STOPLIGHT_COLORS = ['info', 'success', 'warning', 'alert'];
3
21
  export class Q2Card {
4
22
  constructor() {
5
23
  this.isTouch = isTouchDevice();
@@ -13,6 +31,9 @@ export class Q2Card {
13
31
  this.click.emit();
14
32
  };
15
33
  }
34
+ componentWillLoad() {
35
+ this.checkBar();
36
+ }
16
37
  componentDidLoad() {
17
38
  const { hostElement, clickableElement } = this;
18
39
  hostElement.click = () => clickableElement.click();
@@ -28,6 +49,20 @@ export class Q2Card {
28
49
  return;
29
50
  this.clickableElement.focus();
30
51
  }
52
+ checkBar() {
53
+ const { bar } = this;
54
+ if (!bar)
55
+ return;
56
+ if (SUPPORTED_THEME_COLORS.includes(bar)) {
57
+ this.barColor = `var(--t-${bar})`;
58
+ }
59
+ else if (STOPLIGHT_COLORS.includes(bar)) {
60
+ this.barColor = `var(--const-stoplight-${bar})`;
61
+ }
62
+ else {
63
+ this.barColor = bar;
64
+ }
65
+ }
31
66
  determineAutoTouch() {
32
67
  if (this.hostElement.hasAttribute('is-touch'))
33
68
  return;
@@ -54,6 +89,7 @@ export class Q2Card {
54
89
  }
55
90
  generateContent() {
56
91
  return (h(Fragment, null,
92
+ this.bar && (h("div", { class: "bar", "test-id": "bar", style: { '--comp-bar-color': this.barColor } })),
57
93
  this.generateAvatar(),
58
94
  h("div", { class: "container", "test-id": "contentContainer", ref: e => (this.containerElement = e) },
59
95
  this.title && h("h3", { "test-id": "title" }, this.title),
@@ -62,7 +98,7 @@ export class Q2Card {
62
98
  }
63
99
  generateContainerClasses() {
64
100
  const { isSmall, isAutoSmall, avatarName, avatarInitials, avatarSrc, avatarIcon, isTouch, isAutoTouch } = this;
65
- let result = [];
101
+ const result = [];
66
102
  const showSmall = isSmall || isAutoSmall;
67
103
  const showTouch = isTouch || isAutoTouch;
68
104
  const hasAvatar = avatarName || avatarInitials || avatarSrc || avatarIcon;
@@ -206,6 +242,23 @@ export class Q2Card {
206
242
  "attribute": "is-small",
207
243
  "reflect": true
208
244
  },
245
+ "bar": {
246
+ "type": "string",
247
+ "mutable": false,
248
+ "complexType": {
249
+ "original": "string",
250
+ "resolved": "string",
251
+ "references": {}
252
+ },
253
+ "required": false,
254
+ "optional": false,
255
+ "docs": {
256
+ "tags": [],
257
+ "text": ""
258
+ },
259
+ "attribute": "bar",
260
+ "reflect": true
261
+ },
209
262
  "isTouch": {
210
263
  "type": "boolean",
211
264
  "mutable": false,
@@ -280,6 +333,10 @@ export class Q2Card {
280
333
  }
281
334
  }]; }
282
335
  static get elementRef() { return "hostElement"; }
336
+ static get watchers() { return [{
337
+ "propName": "bar",
338
+ "methodName": "checkBar"
339
+ }]; }
283
340
  static get listeners() { return [{
284
341
  "name": "focus",
285
342
  "method": "onHostElementFocus",
@@ -70,6 +70,9 @@ button {
70
70
 
71
71
  button,
72
72
  a {
73
+ --comp-border-radius: var(--tct-card-border-radius, var(--t-card-border-radius, var(--app-border-radius-1, 3px)));
74
+ --comp-border-width: var(--tct-card-border-width, var(--t-card-border-width, 0px));
75
+ position: relative;
73
76
  width: 100%;
74
77
  text-align: start;
75
78
  cursor: pointer;
@@ -82,7 +85,10 @@ a {
82
85
  padding: var(--tct-card-padding, var(--t-card-padding, var(--app-scale-4x, 20px)));
83
86
  color: var(--tct-card-color, var(--t-card-color, var(--t-text, #4d4d4d)));
84
87
  text-decoration: none;
85
- border-radius: var(--tct-card-border-radius, var(--t-card-border-radius, var(--app-border-radius-1, 3px)));
88
+ border-width: var(--comp-border-width);
89
+ border-color: var(--tct-card-border-color, var(--t-card-border-color, transparent));
90
+ border-style: solid;
91
+ border-radius: var(--comp-border-radius);
86
92
  transition: box-shadow var(--tct-tween-1, var(--app-tween-1, 0.2s ease));
87
93
  box-shadow: var(--tct-card-box-shadow, var(--t-card-box-shadow, var(--app-shadow-2, 0 3px 6px rgba(0, 0, 0, 0.3))));
88
94
  --comp-avatar-size: var(--tct-card-avatar-size, var(--t-card-avatar-size, 44px));
@@ -155,6 +161,16 @@ p {
155
161
  -webkit-box-orient: vertical;
156
162
  }
157
163
 
164
+ .bar {
165
+ --comp-bar-border-radius: calc(var(--comp-border-radius) - var(--comp-border-width));
166
+ border-radius: var(--comp-bar-border-radius) 0 0 var(--comp-bar-border-radius);
167
+ position: absolute;
168
+ inset: 0 auto auto 0;
169
+ width: var(--tct-card-bar-width, var(--t-card-bar-width, var(--app-scale-2x, 10px)));
170
+ background: var(--comp-bar-color);
171
+ height: 100%;
172
+ }
173
+
158
174
  .touch-indicator {
159
175
  align-self: center;
160
176
  --tct-icon-size: var(--comp-chevron-size);
@@ -1,4 +1,4 @@
1
- import { Component, Prop, Watch, State, Fragment, Element, Host, h, Event, Listen } from '@stencil/core';
1
+ import { Component, Prop, Watch, State, Fragment, Element, Host, h, Event, Listen, } from '@stencil/core';
2
2
  import Swiper, { Autoplay } from 'swiper';
3
3
  import { createGuid, loc, handleAriaLabel, overrideFocus, isEventFromElement } from 'src/utils';
4
4
  const carouselBreakpoint = 500; /* width in px of this host element where the layout starts to get unruly */
@@ -31,10 +31,10 @@ export class Q2Carousel {
31
31
  }
32
32
  else if (isCarouselFocused)
33
33
  swiper.slides[swiper.activeIndex].focus({
34
- preventScroll: true
34
+ preventScroll: true,
35
35
  });
36
- }
37
- }
36
+ },
37
+ },
38
38
  };
39
39
  this.fullWidthDisplayOptions = Object.assign({ slidesPerView: 1, spaceBetween: 100 }, this.universalCarouselOptions);
40
40
  this.activePaneIndex = this.realIndex;
@@ -75,7 +75,7 @@ export class Q2Carousel {
75
75
  });
76
76
  };
77
77
  this.handleAutoPlayPause = () => {
78
- const { swiper: { autoplay } } = this;
78
+ const { swiper: { autoplay }, } = this;
79
79
  if (!autoplay)
80
80
  return;
81
81
  if (autoplay === null || autoplay === void 0 ? void 0 : autoplay.running)
@@ -149,25 +149,20 @@ export class Q2Carousel {
149
149
  if (this.dynamicPaginationDots)
150
150
  paginationContainerClasses = [...paginationContainerClasses, 'dynamic'];
151
151
  return (h("div", { class: paginationContainerClasses.join(' '), role: "tablist", "aria-label": loc('tecton.element.carousel.tabWrapperLabel') }, this.paneArray.map(pane => {
152
- let btnClasses = [
153
- 'q2-carousel-page-indicator',
154
- `q2-carousel-page-indicator-${pane.index}`
155
- ];
152
+ let btnClasses = ['q2-carousel-page-indicator', `q2-carousel-page-indicator-${pane.index}`];
156
153
  if (pane.isActivePane)
157
154
  btnClasses = [...btnClasses, 'active-page'];
158
155
  if (this.dynamicPaginationDots)
159
156
  btnClasses = [...btnClasses, 'dynamic'];
160
- let withinOneOfActive = pane.index === this.activePaneIndex + 1 ||
161
- pane.index === this.activePaneIndex - 1;
157
+ const withinOneOfActive = pane.index === this.activePaneIndex + 1 || pane.index === this.activePaneIndex - 1;
162
158
  if (withinOneOfActive)
163
159
  btnClasses = [...btnClasses, 'active-adjacent'];
164
- let withinTwoOfActive = pane.index === this.activePaneIndex + 2 ||
165
- pane.index === this.activePaneIndex - 2;
160
+ const withinTwoOfActive = pane.index === this.activePaneIndex + 2 || pane.index === this.activePaneIndex - 2;
166
161
  if (withinTwoOfActive)
167
162
  btnClasses = [...btnClasses, 'active-adjacent-adjacent'];
168
163
  return (h("button", { type: "button", role: "tab", tabIndex: pane.isActivePane ? undefined : -1, "aria-selected": pane.isActivePane ? 'true' : 'false', class: btnClasses.join(' '), onClick: () => this.handleCarouselNavigationSelection(pane.index, true), onKeyDown: event => this.onPaginationKeyDown(event), "aria-label": loc('tecton.element.carousel.itemDescription', [
169
164
  (pane.index + 1).toString(),
170
- this.paneCount.toString()
165
+ this.paneCount.toString(),
171
166
  ]) }));
172
167
  })));
173
168
  };
@@ -192,7 +187,7 @@ export class Q2Carousel {
192
187
  this.insufficientPanesDisplay = () => {
193
188
  let insufficientPanesContainerClasses = [
194
189
  'insufficient-pane-feedback',
195
- this.fullWidthPanes ? 'full-width-display' : 'content-peek-display'
190
+ this.fullWidthPanes ? 'full-width-display' : 'content-peek-display',
196
191
  ];
197
192
  if (this.compactMode)
198
193
  insufficientPanesContainerClasses = [...insufficientPanesContainerClasses, 'compact'];
@@ -285,7 +280,7 @@ export class Q2Carousel {
285
280
  let carouselContainerClasses = [
286
281
  'q2-carousel-swiper-container',
287
282
  'swiper-container',
288
- this.fullWidthPanes ? 'full-width-display' : 'content-peek-display'
283
+ this.fullWidthPanes ? 'full-width-display' : 'content-peek-display',
289
284
  ];
290
285
  if (this.compactMode)
291
286
  carouselContainerClasses = [...carouselContainerClasses, 'compact'];
@@ -93,12 +93,11 @@ q2-carousel {
93
93
 
94
94
  .insufficient-pane-feedback {
95
95
  text-align: center;
96
- box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.25);
96
+ box-shadow: var(--app-shadow-2, 0px 2px 8px 0px rgba(0, 0, 0, 0.25));
97
97
  background-color: var(--tct-carousel-background-color, var(--t-carousel-background-color, var(--tct-white, var(--app-white, #ffffff))));
98
98
  border: var(--tct-carousel-pane-border-width, var(--t-carousel-pane-border-width, 1px)) solid var(--tct-carousel-pane-border-color, var(--t-carousel-pane-border-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))));
99
99
  border-radius: var(--tct-carousel-pane-border-radius, var(--t-carousel-pane-border-radius, 8px));
100
100
  padding: var(--tct-carousel-pane-padding, var(--t-carousel-pane-padding, 0.5rem 0.5rem 0.5rem 0.5rem));
101
- min-height: 10em;
102
101
  }
103
102
  .insufficient-pane-feedback.content-peek-display {
104
103
  max-width: 395px;
@@ -128,6 +127,8 @@ q2-carousel {
128
127
  display: flex;
129
128
  justify-content: center;
130
129
  align-items: center;
130
+ margin-top: var(--app-scale-2x, 10px);
131
+ min-height: 44px;
131
132
  }
132
133
  .q2-carousel-pagination-navigation-wrapper.evenly-space {
133
134
  justify-content: space-between;
@@ -192,7 +193,6 @@ q2-carousel {
192
193
  .q2-carousel-swiper-container .swiper-wrapper {
193
194
  position: relative;
194
195
  width: 100%;
195
- min-height: 12em;
196
196
  z-index: 1;
197
197
  display: flex;
198
198
  transition-property: transform;
@@ -11,7 +11,7 @@ export class Q2Carousel {
11
11
  event.preventDefault();
12
12
  this.clickCarouselPane.emit({
13
13
  paneIndex: this.index,
14
- pane: this.hostElement
14
+ pane: this.hostElement,
15
15
  });
16
16
  };
17
17
  }
@@ -52,7 +52,7 @@ export class Q2Carousel {
52
52
  ? loc(label)
53
53
  : loc('tecton.element.carousel.itemDescription', [
54
54
  (this.currentPaneIndex + 1).toString(),
55
- (this.siblingCount || 0).toString()
55
+ (this.siblingCount || 0).toString(),
56
56
  ]), onClick: this.paneClicked },
57
57
  h("article", { class: "q2-carousel-pane-main-content" },
58
58
  h("slot", null))));
@@ -74,6 +74,7 @@ q2-carousel .swiper-slide {
74
74
  }
75
75
 
76
76
  q2-carousel-pane.q2-carousel-pane {
77
+ --comp-carousel-pane-tween: var(--tct-tween-1, var(--app-tween-1, 0.2s ease));
77
78
  cursor: grab;
78
79
  }
79
80
  q2-carousel-pane.q2-carousel-pane:not([is-active-pane]) * {
@@ -87,10 +88,14 @@ q2-carousel-pane.q2-carousel-pane:focus .q2-carousel-pane-main-content {
87
88
  box-shadow: var(--tct-global-focus, var(--const-global-focus, 0 0 0 2px #33b4ff));
88
89
  }
89
90
  q2-carousel-pane.q2-carousel-pane .q2-carousel-pane-main-content {
90
- box-shadow: 0px 2px 8px 0px var(--t-top-a1, rgba(0, 0, 0, 0.25));
91
+ box-shadow: var(--app-shadow-2, 0px 2px 8px 0px var(--t-top-a1, rgba(0, 0, 0, 0.25)));
92
+ transition: var(--comp-carousel-pane-tween);
91
93
  background-color: var(--tct-carousel-background-color, var(--t-carousel-background-color, var(--tct-white, var(--app-white, #ffffff))));
92
- border: var(--tct-carousel-pane-border-width, var(--t-carousel-pane-border-width, 1px)) solid var(--tct-carousel-pane-border-color, var(--t-carousel-pane-border-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))));
94
+ border: var(--tct-carousel-pane-border-width, var(--t-carousel-pane-border-width, 0px)) solid var(--tct-carousel-pane-border-color, var(--t-carousel-pane-border-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))));
93
95
  border-radius: var(--tct-carousel-pane-border-radius, var(--t-carousel-pane-border-radius, 8px));
94
96
  padding: var(--tct-carousel-pane-padding, var(--t-carousel-pane-padding, 0.5rem 0.5rem 0.5rem 0.5rem));
95
- min-height: 10em;
97
+ height: var(--tct-carousel-pane-height, var(--t-carousel-pane-height, 10em));
98
+ }
99
+ q2-carousel-pane.q2-carousel-pane .q2-carousel-pane-main-content:hover {
100
+ box-shadow: var(--app-shadow-3, 0px 2px 8px 0px var(--t-top-a1, rgba(0, 0, 0, 0.25)));
96
101
  }