q2-tecton-elements 1.27.1 → 1.28.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 (162) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +258 -0
  2. package/dist/cjs/{index-ffd19146.js → index-7a73e106.js} +12 -52
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/q2-action-sheet.cjs.entry.js +1 -1
  5. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  6. package/dist/cjs/q2-badge_2.cjs.entry.js +1 -1
  7. package/dist/cjs/q2-btn_2.cjs.entry.js +1 -1
  8. package/dist/cjs/q2-calendar.cjs.entry.js +128 -83
  9. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  10. package/dist/cjs/q2-carousel-pane.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
  12. package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
  13. package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
  14. package/dist/cjs/q2-chart-donut.cjs.entry.js +1 -1
  15. package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
  16. package/dist/cjs/q2-checkbox.cjs.entry.js +1 -1
  17. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  18. package/dist/cjs/q2-dropdown.cjs.entry.js +44 -45
  19. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  20. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  21. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  22. package/dist/cjs/q2-message.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
  24. package/dist/cjs/q2-optgroup_2.cjs.entry.js +1 -1
  25. package/dist/cjs/{q2-option-list_2.cjs.entry.js → q2-option-list.cjs.entry.js} +3 -167
  26. package/dist/cjs/q2-pagination.cjs.entry.js +1 -1
  27. package/dist/cjs/q2-pill.cjs.entry.js +1 -1
  28. package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
  29. package/dist/cjs/q2-radio.cjs.entry.js +1 -1
  30. package/dist/cjs/q2-section.cjs.entry.js +1 -1
  31. package/dist/cjs/q2-select.cjs.entry.js +11 -6
  32. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  33. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +1 -1
  34. package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
  35. package/dist/cjs/q2-tab-container.cjs.entry.js +1 -1
  36. package/dist/cjs/q2-tag.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  38. package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
  39. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  40. package/dist/collection/components/q2-avatar/styles.css +3 -7
  41. package/dist/collection/components/q2-calendar/helpers.js +37 -11
  42. package/dist/collection/components/q2-calendar/index.js +174 -91
  43. package/dist/collection/components/q2-calendar/styles.css +5 -68
  44. package/dist/collection/components/q2-dropdown/index.js +123 -66
  45. package/dist/collection/components/q2-dropdown/styles.css +3 -89
  46. package/dist/collection/components/q2-select/index.js +10 -5
  47. package/dist/collection/utils/index.js +11 -51
  48. package/dist/components/index11.js +1 -1
  49. package/dist/components/index15.js +12 -52
  50. package/dist/components/index3.js +1 -1
  51. package/dist/components/index7.js +1 -1
  52. package/dist/components/index8.js +1 -1
  53. package/dist/components/q2-calendar.js +154 -101
  54. package/dist/components/q2-card.js +1 -1
  55. package/dist/components/q2-carousel.js +1 -1
  56. package/dist/components/q2-checkbox-group.js +1 -1
  57. package/dist/components/q2-checkbox.js +1 -1
  58. package/dist/components/q2-dropdown.js +66 -59
  59. package/dist/components/q2-radio-group.js +1 -1
  60. package/dist/components/q2-radio.js +1 -1
  61. package/dist/components/q2-select.js +11 -6
  62. package/dist/components/q2-stepper-pane.js +1 -1
  63. package/dist/components/q2-stepper-vertical.js +1 -1
  64. package/dist/components/q2-stepper.js +1 -1
  65. package/dist/components/q2-tab-container.js +1 -1
  66. package/dist/components/q2-textarea.js +1 -1
  67. package/dist/docs.json +144 -4
  68. package/dist/esm/click-elsewhere_2.entry.js +253 -0
  69. package/dist/esm/{index-a0cc60e3.js → index-576f618c.js} +12 -52
  70. package/dist/esm/loader.js +1 -1
  71. package/dist/esm/q2-action-sheet.entry.js +1 -1
  72. package/dist/esm/q2-avatar.entry.js +1 -1
  73. package/dist/esm/q2-badge_2.entry.js +1 -1
  74. package/dist/esm/q2-btn_2.entry.js +1 -1
  75. package/dist/esm/q2-calendar.entry.js +128 -83
  76. package/dist/esm/q2-card.entry.js +1 -1
  77. package/dist/esm/q2-carousel-pane.entry.js +1 -1
  78. package/dist/esm/q2-carousel.entry.js +1 -1
  79. package/dist/esm/q2-chart-area.entry.js +1 -1
  80. package/dist/esm/q2-chart-bar.entry.js +1 -1
  81. package/dist/esm/q2-chart-donut.entry.js +1 -1
  82. package/dist/esm/q2-checkbox-group.entry.js +1 -1
  83. package/dist/esm/q2-checkbox.entry.js +1 -1
  84. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  85. package/dist/esm/q2-dropdown.entry.js +44 -45
  86. package/dist/esm/q2-editable-field.entry.js +1 -1
  87. package/dist/esm/q2-icon.entry.js +1 -1
  88. package/dist/esm/q2-loc.entry.js +1 -1
  89. package/dist/esm/q2-message.entry.js +1 -1
  90. package/dist/esm/q2-month-picker.entry.js +1 -1
  91. package/dist/esm/q2-optgroup_2.entry.js +1 -1
  92. package/dist/esm/{q2-option-list_2.entry.js → q2-option-list.entry.js} +4 -167
  93. package/dist/esm/q2-pagination.entry.js +1 -1
  94. package/dist/esm/q2-pill.entry.js +1 -1
  95. package/dist/esm/q2-radio-group.entry.js +1 -1
  96. package/dist/esm/q2-radio.entry.js +1 -1
  97. package/dist/esm/q2-section.entry.js +1 -1
  98. package/dist/esm/q2-select.entry.js +11 -6
  99. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  100. package/dist/esm/q2-stepper-vertical.entry.js +1 -1
  101. package/dist/esm/q2-stepper.entry.js +1 -1
  102. package/dist/esm/q2-tab-container.entry.js +1 -1
  103. package/dist/esm/q2-tag.entry.js +1 -1
  104. package/dist/esm/q2-tecton-elements.js +1 -1
  105. package/dist/esm/q2-textarea.entry.js +1 -1
  106. package/dist/esm/q2-tooltip.entry.js +1 -1
  107. package/dist/q2-tecton-elements/p-0b7003c4.entry.js +1 -0
  108. package/dist/q2-tecton-elements/{p-0b8943da.entry.js → p-0d92ab4a.entry.js} +1 -1
  109. package/dist/q2-tecton-elements/p-138db98d.entry.js +1 -0
  110. package/dist/q2-tecton-elements/{p-a298cbfb.entry.js → p-1b9e07b4.entry.js} +1 -1
  111. package/dist/q2-tecton-elements/{p-bafb5e70.entry.js → p-1e57a843.entry.js} +1 -1
  112. package/dist/q2-tecton-elements/{p-ac6dd5b1.entry.js → p-2423b9a9.entry.js} +1 -1
  113. package/dist/q2-tecton-elements/{p-396fd275.entry.js → p-2bb447c3.entry.js} +1 -1
  114. package/dist/q2-tecton-elements/{p-85e780b2.entry.js → p-3422207a.entry.js} +1 -1
  115. package/dist/q2-tecton-elements/{p-edcf49fd.entry.js → p-39989362.entry.js} +1 -1
  116. package/dist/q2-tecton-elements/{p-3dca7465.entry.js → p-3aad6a45.entry.js} +1 -1
  117. package/dist/q2-tecton-elements/{p-ef657f8f.entry.js → p-4d2b7f2e.entry.js} +1 -1
  118. package/dist/q2-tecton-elements/{p-869e899c.entry.js → p-4ffde81a.entry.js} +1 -1
  119. package/dist/q2-tecton-elements/{p-d06d752f.entry.js → p-55bdd480.entry.js} +1 -1
  120. package/dist/q2-tecton-elements/p-590adc15.entry.js +1 -0
  121. package/dist/q2-tecton-elements/{p-949fa312.entry.js → p-5cd51157.entry.js} +1 -1
  122. package/dist/q2-tecton-elements/p-5e14a790.entry.js +1 -0
  123. package/dist/q2-tecton-elements/{p-12e65423.entry.js → p-6524d5f3.entry.js} +1 -1
  124. package/dist/q2-tecton-elements/{p-521c9085.entry.js → p-68908be9.entry.js} +1 -1
  125. package/dist/q2-tecton-elements/{p-9367dc29.entry.js → p-6975e5e4.entry.js} +1 -1
  126. package/dist/q2-tecton-elements/p-6bb3789b.entry.js +1 -0
  127. package/dist/q2-tecton-elements/{p-5a670d93.entry.js → p-6db208c7.entry.js} +1 -1
  128. package/dist/q2-tecton-elements/p-78b7ea4e.entry.js +1 -0
  129. package/dist/q2-tecton-elements/{p-2b8a8981.entry.js → p-7a702d92.entry.js} +1 -1
  130. package/dist/q2-tecton-elements/{p-fb768d19.entry.js → p-7e1a14ea.entry.js} +1 -1
  131. package/dist/q2-tecton-elements/p-921ea070.js +1 -0
  132. package/dist/q2-tecton-elements/{p-04b9a7ee.entry.js → p-a63e64f0.entry.js} +1 -1
  133. package/dist/q2-tecton-elements/p-b9bbfaf7.entry.js +1 -0
  134. package/dist/q2-tecton-elements/{p-d69cb7d1.entry.js → p-bbd2c530.entry.js} +1 -1
  135. package/dist/q2-tecton-elements/{p-05bdc0aa.entry.js → p-c19e143e.entry.js} +1 -1
  136. package/dist/q2-tecton-elements/{p-256e5161.entry.js → p-c8525f80.entry.js} +1 -1
  137. package/dist/q2-tecton-elements/{p-fcad1609.entry.js → p-c93341d5.entry.js} +1 -1
  138. package/dist/q2-tecton-elements/{p-8545c3cb.entry.js → p-d6824ce5.entry.js} +1 -1
  139. package/dist/q2-tecton-elements/{p-f3e4bb52.entry.js → p-ddfb393a.entry.js} +1 -1
  140. package/dist/q2-tecton-elements/{p-9292bd80.entry.js → p-df3fb1e7.entry.js} +1 -1
  141. package/dist/q2-tecton-elements/{p-fe3625ad.entry.js → p-ed77f0c2.entry.js} +1 -1
  142. package/dist/q2-tecton-elements/{p-25ea01d3.entry.js → p-ed91f837.entry.js} +1 -1
  143. package/dist/q2-tecton-elements/{p-1d28c600.entry.js → p-fa0e471c.entry.js} +1 -1
  144. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  145. package/dist/test/helpers.js +1 -1
  146. package/dist/types/components/q2-calendar/helpers.d.ts +1 -0
  147. package/dist/types/components/q2-calendar/index.d.ts +22 -12
  148. package/dist/types/components/q2-dropdown/index.d.ts +12 -8
  149. package/dist/types/components.d.ts +24 -0
  150. package/dist/types/utils/index.d.ts +4 -9
  151. package/dist/types/workspace/workspace/{tecton-production_release_1.27.x → tecton-production_release_1.28.x}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +1 -1
  152. package/package.json +3 -3
  153. package/dist/cjs/click-elsewhere.cjs.entry.js +0 -93
  154. package/dist/esm/click-elsewhere.entry.js +0 -89
  155. package/dist/q2-tecton-elements/p-2453cd92.js +0 -1
  156. package/dist/q2-tecton-elements/p-31b655b6.entry.js +0 -1
  157. package/dist/q2-tecton-elements/p-72374b8e.entry.js +0 -1
  158. package/dist/q2-tecton-elements/p-8e652d59.entry.js +0 -1
  159. package/dist/q2-tecton-elements/p-aae8b9fc.entry.js +0 -1
  160. package/dist/q2-tecton-elements/p-be0d3bfe.entry.js +0 -1
  161. package/dist/q2-tecton-elements/p-c1d33fd2.entry.js +0 -1
  162. package/dist/q2-tecton-elements/p-ee1f3114.entry.js +0 -1
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-bb1c8c7f.js';
2
- import { l as loc, s as setPopProperties, h as handleAriaLabel, o as overrideFocus, i as isMobile, a as isEventFromElement } from './index-a0cc60e3.js';
2
+ import { l as loc, h as handleAriaLabel, o as overrideFocus, i as isMobile, a as isEventFromElement, b as handleRenamedProp, w as waitForNextPaint } from './index-576f618c.js';
3
3
 
4
4
  function toInteger(dirtyNumber) {
5
5
  if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {
@@ -2660,27 +2660,53 @@ function formatDateISO(value) {
2660
2660
  return;
2661
2661
  return formatISO(date, { representation: 'date' });
2662
2662
  }
2663
+ let memoizedFormatDateShort;
2663
2664
  function formatDateShort(value) {
2664
2665
  const date = new Date(value);
2665
2666
  if (!isValid(date))
2666
2667
  return;
2667
2668
  const isoDate = date.toISOString();
2668
- return new Intl.DateTimeFormat('default', {
2669
- month: '2-digit',
2670
- day: '2-digit',
2671
- year: 'numeric',
2672
- timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
2673
- }).format(new Date(isoDate));
2669
+ if (!memoizedFormatDateShort) {
2670
+ memoizedFormatDateShort = new Intl.DateTimeFormat('default', {
2671
+ month: '2-digit',
2672
+ day: '2-digit',
2673
+ year: 'numeric',
2674
+ timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
2675
+ });
2676
+ }
2677
+ return memoizedFormatDateShort.format(new Date(isoDate));
2674
2678
  }
2679
+ let memoizedFormatDateLong;
2675
2680
  function formatDateLong(value) {
2676
2681
  const date = new Date(value);
2677
2682
  if (!isValid(date))
2678
2683
  return;
2679
- return new Intl.DateTimeFormat('default', {
2680
- month: 'short',
2681
- day: 'numeric',
2682
- year: 'numeric',
2683
- }).format(date);
2684
+ if (!memoizedFormatDateLong) {
2685
+ memoizedFormatDateLong = new Intl.DateTimeFormat('default', {
2686
+ month: 'short',
2687
+ day: 'numeric',
2688
+ year: 'numeric',
2689
+ });
2690
+ }
2691
+ return memoizedFormatDateLong.format(date);
2692
+ }
2693
+ let memoizedFormatDateFull;
2694
+ function formatDateFull(value) {
2695
+ if (!value)
2696
+ return;
2697
+ const date = new Date(value);
2698
+ if (!isValid(date))
2699
+ return;
2700
+ if (!memoizedFormatDateFull) {
2701
+ memoizedFormatDateFull = new Intl.DateTimeFormat('default', {
2702
+ month: 'long',
2703
+ day: 'numeric',
2704
+ year: 'numeric',
2705
+ weekday: 'long',
2706
+ timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
2707
+ });
2708
+ }
2709
+ return memoizedFormatDateFull.format(date);
2684
2710
  }
2685
2711
  function convertMomentFormat(stringFormat) {
2686
2712
  return stringFormat
@@ -3038,7 +3064,7 @@ function addEmptyDates(from, to) {
3038
3064
  return [...Array(to - from).keys()].map(() => (Object.assign({}, emptyDate)));
3039
3065
  }
3040
3066
 
3041
- const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #33b4ff #06C)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}.q2-element-dropdown{display:none;position:absolute;background-color:var(--app-white, #ffffff);color:var(--t-text, #4d4d4d);left:0;width:100%;z-index:100;margin-top:1px;box-shadow:var(--app-shadow-1, 0 2px 4px rgba(0, 0, 0, 0.3));height:0;overflow:hidden;opacity:0;visibility:hidden;transition:opacity var(--app-tween-1, 0.2s ease);border-radius:var(--tct-dropdown-border-radius, --t-dropdown-border-radius, 0);--comp-scrollbar-size:var(--tct-scrollbar-size, var(--t-scrollbar-size, var(--app-scale-1x, 5px)));--comp-scrollbar-border-radius:var(--tct-scrollbar-border-radius, var(--t-scrollbar-border-radius, var(--app-border-radius-1, 3px)));--comp-scrollbar-color:var(--tct-scrollbar-color, var(--t-scrollbar-color, var(--t-a11y-gray-color, #747474)));scrollbar-width:thin;scrollbar-color:var(--comp-scrollbar-color) transparent}.q2-element-dropdown::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}.q2-element-dropdown::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}.q2-element-dropdown::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}.q2-element-dropdown.sizable{display:block;height:auto}.dropdown-open .q2-element-dropdown{display:block;height:auto;overflow:auto;opacity:1;visibility:visible}:host([alignment=right]) .q2-element-dropdown{left:auto;right:0}:host([block]) q2-btn,:host([block]){display:block}:host{display:block}:host[hidden]{display:none}.calendar-container{position:relative;display:block}q2-input{margin:0;cursor:pointer}.q2-element-dropdown{text-align:center;min-width:308px}.q2-element-dropdown.dropup{bottom:var(--comp-input-min-height, 44px);margin-bottom:0px}.calendar-label{font-size:var(--tct-calendar-label-font-size, var(--t-calendar-label-font-size, 16px));flex:1 1;flex-basis:calc(100% - var(--tct-btn-icon-width, 44px));margin:0;padding:var(--tct-calendar-label-vertical-padding, var(--t-calendar-label-vertical-padding, var(--tct-scale-2, var(--app-scale-2x, 10px)))) 0}.calendar-hint{text-align:left;margin:0}.cal-month-heading{padding:0 0 0.75rem;display:flex;justify-content:center;align-items:center;font-size:var(--tct-calendar-month-font-size, var(--t-calendar-month-font-size, 16px));font-weight:var(--tct-calendar-month-font-weight, var(--t-calendar-month-font-weight, 600))}.cal-month-text{min-width:82px;display:inline-block}.cal-year-text{min-width:50px;display:inline-block}table{width:100%;margin-bottom:2px}th{font-size:var(--tct-calendar-day-heading-font-size, var(--t-calendar-day-heading-font-size, inherit));font-weight:var(--tct-calendar-day-heading-font-weight, var(--t-calendar-day-heading-font-weight, 600));width:14.285714%}td{height:44px;cursor:pointer;border:var(--tct-calendar-day-border, var(--t-calendar-day-border, 0));border-radius:var(--tct-calendar-day-border-radius, var(--t-calendar-day-border-radius))}td.is-unavailable{border:1px solid var(--tct-input-error-border-color, var(--const-stoplight-alert, #c30000))}td.is-valid:hover{border:var(--tct-calendar-day-hover-border, var(--t-calendar-day-hover-border, var(--tct-calendar-day-border, var(--t-calendar-day-border, 0))));border-radius:var(--tct-calendar-day-hover-border-radius, var(--t-calendar-day-hover-border-radius, var(--tct-calendar-day-border-radius, var(--t-calendar-day-border-radius))));background-color:var(--tct-calendar-day-hover-bg, var(--t-calendar-day-hover-bg, var(--tct-gray-14, var(--app-gray14, var(--tct-gray-l4, var(--app-gray-l4, #f2f2f2))))));color:var(--tct-calendar-day-hover-font-color, var(--t-calendar-day-hover-font-color, inherit))}td[aria-hidden],td[aria-disabled]{pointer-events:none;cursor:not-allowed}td[aria-disabled]{opacity:var(--tct-calendar-day-disabled-opacity, var(--t-calendar-day-disabled-opacity, var(--app-disabled-opacity, 0.4)))}td[aria-selected]{border:var(--tct-calendar-day-selected-border, var(--t-calendar-day-selected-border, var(--tct-calendar-day-border, var(--t-calendar-day-border, 0))));border-radius:var(--tct-calendar-day-selected-border-radius, var(--t-calendar-day-selected-border-radius, var(--tct-calendar-day-border-radius, var(--t-calendar-day-border-radius))));background-color:var(--tct-calendar-day-selected-bg, var(--t-calendar-day-selected-bg, var(--tct-calendar-day-hover-bg, var(--t-calendar-day-hover-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l4, var(--app-gray-l4, #f2f2f2))))))));color:var(--tct-calendar-day-selected-font-color, var(--t-calendar-day-selected-font-color, var(--tct-calendar-day-hover-font-color, var(--t-calendar-day-hover-font-color, inherit))));box-shadow:0 0 0 2px var(--tct-calendar-day-selected-outline-color, var(--t-calendar-day-selected-outline-color, var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))))}.today-decorator{text-transform:uppercase;font-weight:700;font-size:10px;height:12px}.calendar-disclaimer{font-size:var(--tct-calendar-disclaimer-font-size, var(--t-calendar-disclaimer-font-size, var(--tct-font-size-small, var(--app-font-size-small, 12px))));border-top:1px solid var(--tct-calendar-disclaimer-border-color, var(--t-calendar-disclaimer-border-color, var(--tct-gray-13, var(--t-gray-13, var(--tct-gray-l3, var(--app-gray-l3, #e6e6e6))))));padding:var(--tct-calendar-disclaimer-padding, var(--tct-scale-2, var(--app-scale-2x, 10px)));text-align:left}";
3067
+ const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #33b4ff #06C)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:block}:host[hidden]{display:none}click-elsewhere{position:relative;display:block}q2-input{margin:0;cursor:pointer}.calendar-field-popup{padding:var(--tct-calendar-popover-padding, var(--t-calendar-popover-padding, var(--app-scale-1x, 5px)))}.calendar-label{font-size:var(--tct-calendar-label-font-size, var(--t-calendar-label-font-size, 16px));flex:1 1;flex-basis:calc(100% - var(--tct-btn-icon-width, 44px));margin:0;padding:var(--tct-calendar-label-vertical-padding, var(--t-calendar-label-vertical-padding, var(--tct-scale-2, var(--app-scale-2x, 10px)))) 0}.calendar-hint{text-align:left;margin:0}.cal-month-heading{padding:0 0 0.75rem;display:flex;justify-content:center;align-items:center;font-size:var(--tct-calendar-month-font-size, var(--t-calendar-month-font-size, 16px));font-weight:var(--tct-calendar-month-font-weight, var(--t-calendar-month-font-weight, 600));text-align:center}.cal-month-text{min-width:82px;display:inline-block}.cal-year-text{min-width:50px;display:inline-block}table{width:100%;margin-bottom:2px;text-align:center}th{font-size:var(--tct-calendar-day-heading-font-size, var(--t-calendar-day-heading-font-size, inherit));font-weight:var(--tct-calendar-day-heading-font-weight, var(--t-calendar-day-heading-font-weight, 600));width:14.285714%}td{height:44px;cursor:pointer;border:var(--tct-calendar-day-border, var(--t-calendar-day-border, 0));border-radius:var(--tct-calendar-day-border-radius, var(--t-calendar-day-border-radius))}td.is-unavailable{border:1px solid var(--tct-input-error-border-color, var(--const-stoplight-alert, #c30000))}td.is-valid:hover{border:var(--tct-calendar-day-hover-border, var(--t-calendar-day-hover-border, var(--tct-calendar-day-border, var(--t-calendar-day-border, 0))));border-radius:var(--tct-calendar-day-hover-border-radius, var(--t-calendar-day-hover-border-radius, var(--tct-calendar-day-border-radius, var(--t-calendar-day-border-radius))));background-color:var(--tct-calendar-day-hover-bg, var(--t-calendar-day-hover-bg, var(--tct-gray-14, var(--app-gray14, var(--tct-gray-l4, var(--app-gray-l4, #f2f2f2))))));color:var(--tct-calendar-day-hover-font-color, var(--t-calendar-day-hover-font-color, inherit))}td[aria-hidden],td[aria-disabled]{pointer-events:none;cursor:not-allowed}td[aria-disabled]{opacity:var(--tct-calendar-day-disabled-opacity, var(--t-calendar-day-disabled-opacity, var(--app-disabled-opacity, 0.4)))}td[aria-selected]{border:var(--tct-calendar-day-selected-border, var(--t-calendar-day-selected-border, var(--tct-calendar-day-border, var(--t-calendar-day-border, 0))));border-radius:var(--tct-calendar-day-selected-border-radius, var(--t-calendar-day-selected-border-radius, var(--tct-calendar-day-border-radius, var(--t-calendar-day-border-radius))));background-color:var(--tct-calendar-day-selected-bg, var(--t-calendar-day-selected-bg, var(--tct-calendar-day-hover-bg, var(--t-calendar-day-hover-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l4, var(--app-gray-l4, #f2f2f2))))))));color:var(--tct-calendar-day-selected-font-color, var(--t-calendar-day-selected-font-color, var(--tct-calendar-day-hover-font-color, var(--t-calendar-day-hover-font-color, inherit))));box-shadow:0 0 0 2px var(--tct-calendar-day-selected-outline-color, var(--t-calendar-day-selected-outline-color, var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))))}.today-decorator{text-transform:uppercase;font-weight:700;font-size:10px;height:12px}.calendar-disclaimer{font-size:var(--tct-calendar-disclaimer-font-size, var(--t-calendar-disclaimer-font-size, var(--tct-font-size-small, var(--app-font-size-small, 12px))));border-top:1px solid var(--tct-calendar-disclaimer-border-color, var(--t-calendar-disclaimer-border-color, var(--tct-gray-13, var(--t-gray-13, var(--tct-gray-l3, var(--app-gray-l3, #e6e6e6))))));padding:var(--tct-calendar-disclaimer-padding, var(--tct-scale-2, var(--app-scale-2x, 10px)));text-align:left}";
3042
3068
 
3043
3069
  const Q2Calendar = class {
3044
3070
  constructor(hostRef) {
@@ -3048,38 +3074,31 @@ const Q2Calendar = class {
3048
3074
  this.success = createEvent(this, "success", 7);
3049
3075
  this.formatModifier = 'M/D/YYYY'; // To allow missing leading zero, 4/3/2021 => converts into 04/03/2021
3050
3076
  this.defaultFormatString = 'mm/dd/yyyy';
3051
- this.defaultHintMessage = loc('tecton.element.calendar.hint.format') + ': ' + this.defaultFormatString;
3052
3077
  this.scheduledAfterRender = [];
3053
3078
  this.dayAbbrStrings = getDays();
3054
3079
  this.dayStrings = getDaysOfWeek();
3055
3080
  this.monthStrings = getMonths();
3056
3081
  this.closeCalendar = () => {
3057
- if (this.dropdownOpen) {
3058
- this.dropdownOpen = false;
3059
- this.focusInput();
3060
- this.scheduledAfterRender.push(this.resizeIframe);
3061
- }
3082
+ if (!this.open)
3083
+ return;
3084
+ this.open = false;
3085
+ this.focusInput();
3062
3086
  };
3063
3087
  this.openCalendar = () => {
3064
- if (!this.readonly && !this.dropdownOpen) {
3065
- this.selectedMonthYear = setupMonthYear(this.dateValue);
3066
- this.dateList = this.buildDateList(this.selectedMonthYear);
3067
- this.dropdownOpen = true;
3068
- this.focusInput();
3069
- this.scheduledAfterRender.push(this.resizeIframe);
3070
- }
3088
+ if (this.readonly || this.open)
3089
+ return;
3090
+ this.selectedMonthYear = setupMonthYear(this.dateValue);
3091
+ this.dateList = this.buildDateList(this.selectedMonthYear);
3092
+ this.open = true;
3071
3093
  };
3072
3094
  this.toggleCalendar = () => {
3073
3095
  if (this.readonly)
3074
3096
  return;
3075
- this.dropdownOpen = !this.dropdownOpen;
3076
- this.scheduledAfterRender.push(this.resizeIframe);
3077
- if (this.dropdownOpen) {
3078
- this.selectedMonthYear = setupMonthYear(this.dateValue);
3079
- this.dateList = this.buildDateList(this.selectedMonthYear);
3097
+ if (this.open) {
3098
+ this.closeCalendar();
3080
3099
  }
3081
3100
  else {
3082
- this.focusInput();
3101
+ this.openCalendar();
3083
3102
  }
3084
3103
  };
3085
3104
  this.onClickElsewhere = (event) => {
@@ -3112,10 +3131,11 @@ const Q2Calendar = class {
3112
3131
  if (this.disabled) {
3113
3132
  return;
3114
3133
  }
3115
- if (event.key === 'Escape' || event.key === 'Esc') {
3116
- this.onInputBlur();
3117
- this.closeCalendar();
3118
- return;
3134
+ switch (event.key) {
3135
+ case 'Escape':
3136
+ this.onInputBlur();
3137
+ this.closeCalendar();
3138
+ break;
3119
3139
  }
3120
3140
  if (!this.isTypeable)
3121
3141
  return;
@@ -3189,10 +3209,8 @@ const Q2Calendar = class {
3189
3209
  }
3190
3210
  };
3191
3211
  this.onInputClick = () => {
3192
- if (this.disabled) {
3212
+ if (this.disabled)
3193
3213
  return;
3194
- }
3195
- setPopProperties(this);
3196
3214
  this.toggleCalendar();
3197
3215
  };
3198
3216
  this.onRefocus = () => {
@@ -3229,13 +3247,6 @@ const Q2Calendar = class {
3229
3247
  return;
3230
3248
  const clickedDate = removeTimezoneOffset(new Date(dateCell.dataset.date));
3231
3249
  this.selectDate(clickedDate);
3232
- if (this.isTypeable) {
3233
- this.setHints({
3234
- isValid: true,
3235
- message: `${loc('tecton.element.calendar.hint.selection')}: ${formatDateLong(clickedDate)}`,
3236
- messageType: 'success',
3237
- });
3238
- }
3239
3250
  this.closeCalendar();
3240
3251
  };
3241
3252
  this.onDateKeydown = (event) => {
@@ -3310,6 +3321,7 @@ const Q2Calendar = class {
3310
3321
  this.disabled = undefined;
3311
3322
  this.readonly = undefined;
3312
3323
  this.invalid = undefined;
3324
+ this.open = undefined;
3313
3325
  this.typeable = undefined;
3314
3326
  this.clearable = undefined;
3315
3327
  this.placeholder = undefined;
@@ -3321,24 +3333,22 @@ const Q2Calendar = class {
3321
3333
  this.endDate = undefined;
3322
3334
  this.cutoffTime = undefined;
3323
3335
  this.daysOfWeekChecksum = undefined;
3324
- this.popDirection = undefined;
3325
3336
  this.assume = 'current';
3326
3337
  this.errors = undefined;
3327
3338
  this.invalidDates = undefined;
3328
3339
  this.validDates = undefined;
3340
+ this.popoverDirection = undefined;
3341
+ this.popoverMinHeight = 355;
3342
+ this.popDirection = undefined;
3329
3343
  this.onsuccess = undefined;
3330
3344
  this.buttonLabel = undefined;
3331
3345
  this.ariaLabel = undefined;
3332
- this.dropdownOpen = false;
3333
3346
  this.keyboardSelection = false;
3334
3347
  this.typedValue = '';
3335
3348
  this.dateList = undefined;
3336
3349
  this.hintMessage = this.defaultHintMessage;
3337
3350
  this.hintMessageType = 'info';
3338
3351
  }
3339
- resizeIframe() {
3340
- return window.TectonElements && window.TectonElements.resizeIframe && window.TectonElements.resizeIframe();
3341
- }
3342
3352
  connectedCallback() {
3343
3353
  this.selectedMonthYear = setupMonthYear(this.dateValue);
3344
3354
  this.dateList = this.buildDateList(this.selectedMonthYear);
@@ -3348,6 +3358,7 @@ const Q2Calendar = class {
3348
3358
  this.validateDate();
3349
3359
  }
3350
3360
  componentWillLoad() {
3361
+ this.popDirectionHandler();
3351
3362
  handleAriaLabel(this);
3352
3363
  }
3353
3364
  componentDidRender() {
@@ -3359,6 +3370,20 @@ const Q2Calendar = class {
3359
3370
  componentDidLoad() {
3360
3371
  overrideFocus(this.hostElement);
3361
3372
  }
3373
+ get selectedDate() {
3374
+ var _a;
3375
+ const selectedCell = (_a = this.calendarBody) === null || _a === void 0 ? void 0 : _a.querySelector('[aria-selected="true"]');
3376
+ return selectedCell ? removeTimezoneOffset(new Date(selectedCell.dataset.date)) : null;
3377
+ }
3378
+ get innerInputField() {
3379
+ var _a, _b;
3380
+ return (_b = (_a = this.controlElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('.input-field');
3381
+ }
3382
+ get defaultHintMessage() {
3383
+ return this.typeable
3384
+ ? loc('tecton.element.calendar.hint.format') + ': ' + this.defaultFormatString
3385
+ : loc('tecton.element.calendar.hint.select');
3386
+ }
3362
3387
  get canClear() {
3363
3388
  if (this.isTypeable) {
3364
3389
  return this.clearable && !!this.typedValue;
@@ -3466,36 +3491,52 @@ const Q2Calendar = class {
3466
3491
  delegateFocus(event) {
3467
3492
  if (!isEventFromElement(event, this.hostElement))
3468
3493
  return;
3469
- this.inputField.shadowRoot.querySelector('.input-field').focus();
3494
+ this.controlElement.shadowRoot.querySelector('.input-field').focus();
3470
3495
  }
3471
3496
  handleClear() {
3472
3497
  this.value = null;
3473
3498
  this.typedValue = '';
3474
- this.setHints({ isValid: true, message: this.defaultHintMessage, messageType: 'info' });
3499
+ }
3500
+ popoverStateHandler({ detail: { open } }) {
3501
+ if (this.open !== open)
3502
+ this.open = open;
3475
3503
  }
3476
3504
  //////// Observers //////////
3505
+ popDirectionHandler() {
3506
+ handleRenamedProp(this, 'popDirection', 'popoverDirection');
3507
+ }
3477
3508
  ariaLabelObserver() {
3478
3509
  handleAriaLabel(this);
3479
3510
  }
3511
+ typeableChanged() {
3512
+ this.valueObserver(this.value);
3513
+ }
3480
3514
  valueObserver(newValue) {
3481
3515
  const isMoment = newValue && typeof newValue !== 'string' && 'toDate' in newValue;
3516
+ const newDate = isMoment ? newValue.toDate() : stringToDate(newValue);
3517
+ const shortFormattedValue = formatDateShort(newDate);
3482
3518
  if (this.isTypeable) {
3483
- const newValueAsString = isMoment
3484
- ? formatDateShort(newValue.toDate())
3485
- : newValue;
3486
- this.typedValue = newValueAsString;
3487
- // reset hint when value is cleared
3488
- if (!newValueAsString && !this.invalid) {
3489
- this.setHints({ isValid: true, message: this.defaultHintMessage, messageType: 'info' });
3490
- }
3519
+ this.typedValue = shortFormattedValue;
3491
3520
  }
3492
3521
  else {
3493
- const dateValue = isMoment ? newValue.toDate() : stringToDate(newValue);
3494
- this.inputField.value = formatDateShort(dateValue);
3495
- this.selectedMonthYear = setupMonthYear(dateValue);
3522
+ this.controlElement.value = shortFormattedValue;
3523
+ this.selectedMonthYear = setupMonthYear(newDate);
3496
3524
  this.dateList = this.buildDateList(this.selectedMonthYear);
3497
3525
  this.validateDate();
3498
3526
  }
3527
+ // reset hint when value is cleared
3528
+ if (this.invalid)
3529
+ return;
3530
+ if (shortFormattedValue) {
3531
+ this.setHints({
3532
+ isValid: true,
3533
+ message: `${loc('tecton.element.calendar.hint.selection')}: ${formatDateLong(newDate)}`,
3534
+ messageType: 'success',
3535
+ });
3536
+ }
3537
+ else {
3538
+ this.setHints({ isValid: true, message: this.defaultHintMessage, messageType: 'info' });
3539
+ }
3499
3540
  }
3500
3541
  daysOfWeekChecksumObserver() {
3501
3542
  this.dateList = this.buildDateList(this.selectedMonthYear);
@@ -3575,7 +3616,7 @@ const Q2Calendar = class {
3575
3616
  }
3576
3617
  focusInput() {
3577
3618
  var _a;
3578
- (_a = this.inputField) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new FocusEvent('focus'));
3619
+ (_a = this.controlElement) === null || _a === void 0 ? void 0 : _a.focus();
3579
3620
  }
3580
3621
  checkActiveCellForBlankness() {
3581
3622
  const activeElement = this.hostElement.shadowRoot.activeElement;
@@ -3595,56 +3636,60 @@ const Q2Calendar = class {
3595
3636
  this.goToMonthYear(date.getMonth(), date.getFullYear());
3596
3637
  this.scheduledAfterRender.push(() => this.focusDay(date));
3597
3638
  }
3598
- focusDay(date) {
3639
+ async focusDay(date) {
3599
3640
  var _a;
3641
+ if (!date)
3642
+ return;
3643
+ await waitForNextPaint();
3600
3644
  (_a = this.calendarBody.querySelector(`td[data-day="${date.getDate()}"]`)) === null || _a === void 0 ? void 0 : _a.focus();
3601
3645
  }
3602
3646
  render() {
3603
- return (h("click-elsewhere", { class: `calendar-container${this.dropdownOpen ? ' dropdown-open' : ''}`, onChange: this.onClickElsewhere }, this.calendarField(), h("div", { ref: el => (this.dropdownContainer = el), "aria-modal": "true", role: "dialog", "aria-label": loc('tecton.element.calendar.dialogLabel'), class: `q2-element-dropdown ${this.privatePopDirection === 'up' ? 'dropup' : ''}` }, this.isTypeable && this.hintField(), this.calendarPopUp())));
3647
+ return (h("click-elsewhere", { class: this.open ? 'dropdown-open' : undefined, onChange: this.onClickElsewhere }, this.inputField(), h("q2-popover", { ref: el => (this.popoverElement = el), controlElement: this.innerInputField, open: this.open, direction: this.popoverDirection, "aria-label": loc('tecton.element.calendar.dialogLabel'), minHeight: this.popoverMinHeight, block: true }, this.hintField(), this.calendarPopover())));
3604
3648
  }
3605
3649
  hintField() {
3606
- return (h("q2-message", { type: this.hintMessageType, class: "calendar-hint" }, this.hintMessage));
3650
+ const messageClasses = ['calendar-hint'];
3651
+ if (!this.isTypeable)
3652
+ messageClasses.push('sr');
3653
+ return (h("q2-message", { ref: el => (this.hintMessageElement = el), type: this.hintMessageType, class: messageClasses.join(' ') }, this.hintMessage));
3607
3654
  }
3608
3655
  setHints({ isValid, message, messageType }) {
3656
+ if (message === this.hintMessage)
3657
+ return this.hintMessageElement.present();
3609
3658
  this.invalid = !isValid;
3610
3659
  this.hintMessage = message;
3611
3660
  this.hintMessageType = messageType;
3612
- if (!this.invalid) {
3613
- this.errors = [];
3614
- }
3615
3661
  }
3616
3662
  setCompleteInput(inputDate) {
3617
3663
  const formattedDate = formatDateShort(inputDate);
3618
3664
  this.change.emit({ value: formatDateISO(inputDate) });
3619
3665
  this.typedValue = formattedDate;
3620
- this.setHints({
3621
- isValid: true,
3622
- message: `${loc('tecton.element.calendar.hint.selection')}: ${formatDateLong(inputDate)}`,
3623
- messageType: 'success',
3624
- });
3625
3666
  }
3626
- calendarField() {
3627
- 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, clearable: this.canClear, placeholder: this.computedPlaceholder, optional: !!this.optional, ariaExpanded: `${!!this.dropdownOpen}`, errors: (this.localizedErrors.length > 0 && this.localizedErrors) ||
3667
+ inputField() {
3668
+ return (h("q2-input", { ref: el => (this.controlElement = el), class: "calendar-input-field", value: this.formattedValue, label: loc(this.label), hideLabel: this.hideLabel, disabled: !!this.disabled, readonly: !!this.readonly, clearable: this.canClear, placeholder: this.computedPlaceholder, optional: !!this.optional, ariaExpanded: `${!!this.open}`, errors: (this.localizedErrors.length > 0 && this.localizedErrors) ||
3628
3669
  (this.invalid && ['tecton.element.calendar.invalid']) ||
3629
3670
  [], 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" }));
3630
3671
  }
3631
- calendarPopUp() {
3672
+ calendarPopover() {
3632
3673
  const { monthIndex, selectedYear } = this.selectedMonthYear;
3633
3674
  return (h("div", { class: "calendar-field-popup", onKeyUp: this.onPopupKeyup }, this.calendarLabel && h("p", { class: "calendar-label" }, loc(this.calendarLabel)), h("div", { class: "cal-month-heading" }, h("q2-btn", { label: loc('tecton.element.calendar.previousMonth'), "hide-label": true, ref: elm => (this.btnPrevMonth = elm), class: "cal-nav-btn prev-month", "test-id": "previousMonthButton", onClick: () => this.goToMonthYear(monthIndex - 1, selectedYear) }, h("q2-icon", { type: "chevron-left" })), h("span", { class: "cal-month-text" }, this.monthStrings[monthIndex]), h("q2-btn", { label: loc('tecton.element.calendar.nextMonth'), "hide-label": true, class: "cal-nav-btn next-month", ref: elm => (this.btnNextMonth = elm), "test-id": "nextMonthButton", onClick: () => this.goToMonthYear(monthIndex + 1, selectedYear) }, h("q2-icon", { type: "chevron-right" })), h("q2-btn", { label: loc('tecton.element.calendar.previousYear'), "hide-label": true, class: "cal-nav-btn prev-year", ref: elm => (this.btnPrevYear = elm), "test-id": "previousYearButton", onClick: () => this.goToMonthYear(monthIndex, selectedYear - 1) }, h("q2-icon", { type: "chevron-left" })), h("span", { class: "cal-year-text" }, this.selectedMonthYear.selectedYear), h("q2-btn", { label: loc('tecton.element.calendar.nextYear'), "hide-label": true, class: "cal-nav-btn next-year", ref: elm => (this.btnNextYear = elm), "test-id": "nextYearButton", onClick: () => this.goToMonthYear(monthIndex, selectedYear + 1) }, h("q2-icon", { type: "chevron-right" }))), h("div", { class: "sr", "aria-live": "polite", id: "table-label" }, `${this.monthStrings[monthIndex]} ${selectedYear}`), this.calendarDays(), this.disclaimer && h("div", { class: "calendar-disclaimer" }, loc(this.disclaimer)), h("q2-btn", { class: "sr refocus-popup", onFocus: this.onRefocus })));
3634
3675
  }
3635
3676
  calendarDays() {
3636
- const monthName = this.monthStrings[this.selectedMonthYear.monthIndex];
3637
- return (h("table", { role: "grid", "aria-labelledby": "table-label" }, h("thead", null, h("tr", null, [...Array(7).keys()].map(index => (h("th", { scope: "col", abbr: this.dayStrings[index] }, this.dayAbbrStrings[index]))))), h("tbody", { onClick: this.onDateSelection, onKeyDown: this.onDateKeydown, ref: elm => (this.calendarBody = elm), "test-id": "calendarTableBody" }, this.currentWeeks.map(week => (h("tr", null, week.map(day => {
3677
+ return (h("table", { role: "grid", "aria-labelledby": "table-label" }, h("thead", null, h("tr", null, [...Array(7).keys()].map(index => (h("th", { scope: "col", "aria-label": this.dayStrings[index] }, this.dayAbbrStrings[index]))))), h("tbody", { onClick: this.onDateSelection, onKeyDown: this.onDateKeydown, ref: elm => (this.calendarBody = elm), "test-id": "calendarTableBody" }, this.currentWeeks.map(week => (h("tr", null, week.map(day => {
3638
3678
  var _a;
3639
- let ariaLabel = `${monthName} ${day.integer}`;
3679
+ let ariaLabel = '';
3680
+ if (day.isToday)
3681
+ ariaLabel = `${loc('tecton.element.calendar.today')}, `;
3682
+ ariaLabel += formatDateFull(day.date);
3640
3683
  if (day.isSelected)
3641
3684
  ariaLabel += ` (${loc('tecton.element.calendar.selected')})`;
3642
- return (h("td", { class: day.classList, "aria-hidden": day.isEmpty ? 'true' : undefined, tabindex: day.isSelected ? 0 : -1, role: day.isSelected ? 'gridcell' : undefined, "aria-selected": day.isSelected ? 'true' : undefined, "aria-disabled": day.isValid ? undefined : 'true', "data-day": day.integer || undefined, "data-date": day.date ? formatDateISO(day.date) : undefined }, (day === null || day === void 0 ? void 0 : day.isToday) && (h("div", { class: "today-decorator" }, loc('tecton.element.calendar.today'))), h("div", { "aria-label": ariaLabel }, (_a = day === null || day === void 0 ? void 0 : day.integer) !== null && _a !== void 0 ? _a : '')));
3685
+ return (h("td", { class: day.classList, "aria-hidden": day.isEmpty ? 'true' : undefined, tabindex: day.isSelected ? 0 : -1, role: day.isSelected ? 'gridcell' : undefined, "aria-selected": day.isSelected ? 'true' : undefined, "aria-disabled": day.isValid ? undefined : 'true', "data-day": day.integer || undefined, "data-date": day.date ? formatDateISO(day.date) : undefined }, (day === null || day === void 0 ? void 0 : day.isToday) && (h("div", { class: "today-decorator", "aria-hidden": "true" }, loc('tecton.element.calendar.today'))), h("div", { "aria-label": ariaLabel }, (_a = day === null || day === void 0 ? void 0 : day.integer) !== null && _a !== void 0 ? _a : '')));
3643
3686
  })))))));
3644
3687
  }
3645
3688
  get hostElement() { return getElement(this); }
3646
3689
  static get watchers() { return {
3690
+ "popDirection": ["popDirectionHandler"],
3647
3691
  "ariaLabel": ["ariaLabelObserver"],
3692
+ "typeable": ["typeableChanged"],
3648
3693
  "value": ["valueObserver"],
3649
3694
  "daysOfWeekChecksum": ["daysOfWeekChecksumObserver"],
3650
3695
  "validDates": ["validDatesObserver"],
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, F as Fragment, g as getElement } from './index-bb1c8c7f.js';
2
- import { b as isTouchDevice, o as overrideFocus, a as isEventFromElement } from './index-a0cc60e3.js';
2
+ import { c as isTouchDevice, o as overrideFocus, a as isEventFromElement } from './index-576f618c.js';
3
3
 
4
4
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #33b4ff #06C)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:block}.container{position:relative;width:100%;text-align:start;height:100%;display:grid;gap:var(--tct-card-gap, var(--t-card-gap, var(--app-scale-3x, 15px)));margin:0;color:var(--tct-card-color, var(--t-card-color, var(--t-text, #4d4d4d)));--comp-avatar-size:var(--tct-card-avatar-size, var(--t-card-avatar-size, 44px));--comp-chevron-size:0;--comp-bar-width:var(--tct-card-bar-width, var(--t-card-bar-width, var(--app-scale-2x, 10px)));--comp-card-padding:var(--tct-card-padding, var(--t-card-padding, var(--app-scale-4x, 20px)))}.container.is-small{--comp-avatar-size:var(--tct-card-avatar-size, var(--t-card-avatar-size, 26px))}.container.has-avatar{grid-template-columns:var(--comp-avatar-size) 1fr;--tct-avatar-width:var(--comp-avatar-size);--tct-avatar-height:var(--comp-avatar-size);--tct-icon-size:var(--comp-avatar-size)}:host([bar][is-static]) .container{padding-left:var(--comp-card-padding)}.container:is(button),.container:is(a){--comp-border-radius:var(--tct-card-border-radius, var(--t-card-border-radius, var(--app-border-radius-1, 3px)));--comp-border-width:var(--tct-card-border-width, var(--t-card-border-width, 0px));cursor:pointer;border:none;background:var(--tct-card-background, var(--t-card-background, var(--t-base, #ffffff)));padding:var(--comp-card-padding);text-decoration:none;border-width:var(--comp-border-width);border-color:var(--tct-card-border-color, var(--t-card-border-color, transparent));border-style:solid;border-radius:var(--comp-border-radius);transition:box-shadow var(--tct-tween-1, var(--app-tween-1, 0.2s ease));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))))}@media (hover: hover){.container:is(button),.container:is(a){--comp-card-hover-box-shadow:var(--tct-card-hover-box-shadow, var(--t-card-hover-box-shadow, var(--app-shadow-3, 0 4px 12px rgba(0, 0, 0, 0.3))))}.container:is(button):hover,.container:is(button):active,.container:is(button):focus,.container:is(a):hover,.container:is(a):active,.container:is(a):focus{color:var(--tct-card-color, var(--t-card-color, var(--t-text, #4d4d4d)));box-shadow:var(--const-double-focus-ring)}.container:is(button):hover,.container:is(a):hover{box-shadow:var(--comp-card-hover-box-shadow)}.container:is(button):focus:hover,.container:is(a):focus:hover{box-shadow:var(--const-double-focus-ring), var(--comp-card-hover-box-shadow)}.container:is(button):active,.container:is(a):active{box-shadow:var(--tct-card-active-box-shadow, var(--t-card-active-box-shadow, var(--app-shadow-1, 0 2px 4px rgba(0, 0, 0, 0.3))))}}.container:is(button).is-touch,.container:is(a).is-touch{--comp-chevron-size:var(--tct-card-chevron-size, var(--t-card-chevron-size, 26px));grid-template-columns:1fr var(--comp-chevron-size)}.container:is(button).has-avatar.is-touch,.container:is(a).has-avatar.is-touch{grid-template-columns:var(--comp-avatar-size) 1fr var(--comp-chevron-size)}.content{overflow:hidden;display:grid;gap:var(--tct-card-content-gap, var(--t-card-content-gap, var(--app-scale-1x, 5px)));align-content:start}h3,p{margin:0;padding:0;line-height:var(--tct-card-font-height, var(--t-card-font-height, 20px))}h3{font-weight:var(--tct-card-font-weight, var(--t-card-font-weight, 600));font-size:var(--tct-card-font-size, var(--t-card-font-size, 17px));text-overflow:ellipsis;overflow:hidden;white-space:nowrap}p{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bar{--comp-bar-border-radius:calc(var(--comp-border-radius) - var(--comp-border-width));border-radius:var(--comp-bar-border-radius) 0 0 var(--comp-bar-border-radius);position:absolute;inset:0 auto auto 0;width:var(--comp-bar-width);background:var(--comp-bar-color);height:100%}.touch-indicator{align-self:center;--tct-icon-size:var(--comp-chevron-size)}";
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-bb1c8c7f.js';
2
- import { l as loc } from './index-a0cc60e3.js';
2
+ import { l as loc } from './index-576f618c.js';
3
3
 
4
4
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #33b4ff #06C)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}q2-carousel .swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;transition:all 0.2s}q2-carousel-pane.q2-carousel-pane{--comp-carousel-pane-tween:var(--tct-tween-1, var(--app-tween-1, 0.2s ease));--comp-carousel-shadow:var(--app-shadow-2, 0px 2px 8px 0px var(--t-top-a1, rgba(0, 0, 0, 0.25)));cursor:grab}q2-carousel-pane.q2-carousel-pane:not([is-active-pane]) *{cursor:pointer}q2-carousel-pane.q2-carousel-pane:focus{box-shadow:none}q2-carousel-pane.q2-carousel-pane:focus .q2-carousel-pane-main-content{outline:none;box-shadow:var(--const-double-focus-ring)}q2-carousel-pane.q2-carousel-pane button{border:0;background:transparent;transition:all 0.2s;opacity:0.3;cursor:pointer}q2-carousel-pane.q2-carousel-pane button:hover{opacity:0.7}q2-carousel-pane.q2-carousel-pane .q2-carousel-pane-main-content{box-shadow:var(--comp-carousel-shadow);transition:var(--comp-carousel-pane-tween);background-color:var(--tct-carousel-background-color, var(--t-carousel-background-color, var(--tct-white, var(--app-white, #ffffff))));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))))));border-radius:var(--tct-carousel-pane-border-radius, var(--t-carousel-pane-border-radius, 8px));padding:var(--tct-carousel-pane-padding, var(--t-carousel-pane-padding, 0.5rem 0.5rem 0.5rem 0.5rem));height:var(--tct-carousel-pane-height, var(--t-carousel-pane-height, 10em))}q2-carousel-pane.q2-carousel-pane .q2-carousel-pane-main-content:hover{box-shadow:var(--const-double-focus-ring), var(--comp-carousel-shadow)}";
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, F as Fragment, H as Host, g as getElement } from './index-bb1c8c7f.js';
2
- import { c as createGuid, l as loc, h as handleAriaLabel, a as isEventFromElement, o as overrideFocus } from './index-a0cc60e3.js';
2
+ import { d as createGuid, l as loc, h as handleAriaLabel, a as isEventFromElement, o as overrideFocus } from './index-576f618c.js';
3
3
 
4
4
  /**
5
5
  * SSR Window 4.0.2
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-bb1c8c7f.js';
2
- import { o as overrideFocus, l as loc } from './index-a0cc60e3.js';
2
+ import { o as overrideFocus, l as loc } from './index-576f618c.js';
3
3
  import { g as getDefaultLabel, c as createSeriesData, a as getDefaultInterpolatedLabel, i as isCoordinateSystemType, b as createGridClipPath, d as createPolarClipPath, e as dataSample, f as getCSSProperty, h as isValidColor, j as formatValue, k as install$3, l as install$4 } from './charting-2a73ba8e.js';
4
4
  import { _ as __extends, c as createSymbol, e as enterEmphasis, l as leaveEmphasis, u as updateProps, s as saveOldStyle, i as initProps, g as getLabelStatesModels, n as normalizeSymbolOffset, Z as ZRImage, a as extend, b as setLabelStyle, t as toggleHoverEmphasis, d as getECData, r as removeElement, f as normalizeSymbolSize, G as Group, h as traverseElements, j as isObject, S as SeriesModel, m as map, k as isDimensionStacked, o as isNumber, p as createFloat32Array, q as cubicRootAt, P as Path, v as PathProxy, w as cubicAt, x as convertToColorString, y as defaults, z as setStatesStylesFromModel, A as queryDataIndex, C as ChartView, B as setStatesFlag, D as isFunction, E as ZRText, F as interpolateRawValues, H as labelInner, I as each, L as LinearGradient, J as SPECIAL_STATES, K as lerp, M as createRenderPlanner, N as cubicSubdivide, O as fromPoints, Q as BoundingRect, R as clonePath, T as Polygon, U as Sector, V as Rect, W as Point, X as Transformable, Y as lerp$1, $ as getAnimationConfig, a0 as isArray, a1 as normalizeToArray, a2 as SERIES_UNIVERSAL_TRANSITION_PROP, a3 as makeInner, a4 as DataDiffer, a5 as filter, a6 as createHashMap, a7 as Displayable, a8 as getOldStyle, a9 as use, aa as init, ab as install$1, ac as install$2 } from './installCanvasRenderer-4a470516.js';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-bb1c8c7f.js';
2
- import { o as overrideFocus, l as loc } from './index-a0cc60e3.js';
2
+ import { o as overrideFocus, l as loc } from './index-576f618c.js';
3
3
  import { c as createSeriesData, m as createClipPath, g as getDefaultLabel, i as isCoordinateSystemType, a as getDefaultInterpolatedLabel, e as dataSample, f as getCSSProperty, h as isValidColor, j as formatValue, k as install$3, l as install$4 } from './charting-2a73ba8e.js';
4
4
  import { _ as __extends, I as each, S as SeriesModel, b3 as inheritDefaultOption, P as Path, b4 as calculateTextPosition, o as isNumber, a0 as isArray, h as traverseElements, i as initProps, u as updateProps, s as saveOldStyle, H as labelInner, b5 as removeElementWithFadeOut, G as Group, m as map, d as getECData, C as ChartView, V as Rect, a as extend, g as getLabelStatesModels, b as setLabelStyle, b6 as setLabelValueAnimation, t as toggleHoverEmphasis, z as setStatesStylesFromModel, b7 as throttle, U as Sector, af as curry, b8 as createProgressiveLayout, b9 as layout, a9 as use, aa as init, ab as install$1, ac as install$2 } from './installCanvasRenderer-4a470516.js';
5
5
  import { i as installLabelLayout } from './installLabelLayout-d660eaad.js';
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-bb1c8c7f.js';
2
- import { o as overrideFocus, l as loc, a as isEventFromElement } from './index-a0cc60e3.js';
2
+ import { o as overrideFocus, l as loc, a as isEventFromElement } from './index-576f618c.js';
3
3
  import { bn as normalizeCssArray, V as Rect, _ as __extends, av as ComponentModel, bo as toCamelCase, bp as env, bq as normalizeEvent, x as convertToColorString, b2 as isString, a0 as isArray, br as isDom, I as each$1, bs as bind, aJ as indexOf, bt as getPaddingFromTooltipModel, bu as transformLocalCoord, j as isObject, bv as throwError, E as ZRText, bw as getTooltipRenderMode, bx as createOrUpdate, by as clear, bz as register, d as getECData, bA as findPointFromSeries, bB as findEventDispatcher, bC as createTooltipMarkup, bD as getValueLabel, bE as trim, bF as getAxisRawValue, bG as normalizeTooltipFormatResult, bH as buildTooltipMarkup, bI as clone, bJ as format, bK as formatTpl, D as isFunction, bg as parsePercent, aH as getLayoutRect, bL as unregister, aY as ComponentView, bM as Model, bN as preParseFinder, bO as queryReferringComponents, bP as TooltipMarkupStyleCreator, a as extend, a9 as use, aZ as install$5, bQ as noop, ax as merge, bR as isNameSpecified, a6 as createHashMap, m as map, a5 as filter, o as isNumber, y as defaults, bS as parse, bT as stringify, b as setLabelStyle, bU as enableHoverEmphasis, a$ as createTextStyle, bV as setTooltipConfig, bW as box, bX as createOrUpdatePatternFromDecal, c as createSymbol, af as curry$1, G as Group$2, ay as getLayoutParams, b3 as inheritDefaultOption, az as mergeLayoutParam, bY as createIcon, a_ as retrieve2, u as updateProps, at as linearMap, W as Point, bj as shiftLayoutOnY, bZ as parsePercent$1, i as initProps, s as saveOldStyle, z as setStatesStylesFromModel, t as toggleHoverEmphasis, g as getLabelStatesModels, bb as Polyline, b_ as retrieve3, U as Sector, b5 as removeElementWithFadeOut, C as ChartView, ah as prepareSeriesDataSchema, aj as SeriesData, a3 as makeInner, b$ as makeSeriesEncodeForNameBased, c0 as getPercentSeats, c1 as defaultEmphasis, S as SeriesModel, c2 as createLegacyDataSelectAction, aa as init, ac as install$6, ab as install$7 } from './installCanvasRenderer-4a470516.js';
4
4
  import { l as limitTurnAngle, a as limitSurfaceAngle, s as setLabelLineStyle, g as getLabelLineStatesModels, i as installLabelLayout } from './installLabelLayout-d660eaad.js';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-bb1c8c7f.js';
2
- import { c as createGuid, l as loc } from './index-a0cc60e3.js';
2
+ import { d as createGuid, l as loc } from './index-576f618c.js';
3
3
 
4
4
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #33b4ff #06C)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{margin-top:var(--tct-scale-2, var(--app-scale-2x, 10px))}fieldset{padding:var(--tct-input-error-padding, 0);margin:0;border:0}fieldset.has-error{border-color:var(--tct-input-error-border-color, var(--const-stoplight-alert, #c30000));border-width:1px;border-style:solid;border-radius:var(--tct-border-radius-1, var(--app-border-radius-1, 2px));position:relative}fieldset.has-error .error-icon-container{top:8px;right:8px;position:absolute;width:40%;text-align:right;background:linear-gradient(to right, var(--tct-checkbox-group-error-gradient-start, var(--t-base-a0, rgba(255, 255, 255, 0))), var(--tct-checkbox-group-error-gradient-end, var(--t-base, white)))}fieldset.has-error legend+div.error-icon-container.no-label{top:28px}.group-legend{font-weight:600}legend.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0}.optional-tag{margin-left:var(--tct-input-label-optional-margin-left, var(--tct-scale-1, var(--app-scale-1x, 5px)));color:var(--tct-input-label-optional-font-color, var(--tct-a11y-color, var(--t-a11y-gray-color, var(--tct-gray-7, var(--t-gray-7, var(--tct-gray-d1, var(--app-gray-d1, #666666)))))));font-size:var(--tct-input-label-optional-font-size, 12px);font-weight:var(--tct-input-label-optional-font-weight, 400)}.flexed{margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.flexed.left{justify-content:left}";
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-bb1c8c7f.js';
2
- import { c as createGuid, h as handleAriaLabel, o as overrideFocus, a as isEventFromElement, l as loc } from './index-a0cc60e3.js';
2
+ import { d as createGuid, h as handleAriaLabel, o as overrideFocus, a as isEventFromElement, l as loc } from './index-576f618c.js';
3
3
 
4
4
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #33b4ff #06C)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:block;position:relative;padding:var(--tct-checkbox-vertical-padding, var(--t-checkbox-vertical-padding, var(--tct-scale-2, var(--app-scale-2x, 10px)))) 0}.container{--comp-checkbox-size:var(--tct-checkbox-size, var(--t-checkbox-size, 20px));--comp-checkbox-default-column-gap:var(--app-scale-2x, 10px);--comp-checkbox-default-row-gap:0;--comp-checkbox-default-gap:var(--comp-checkbox-default-row-gap) var(--comp-checkbox-default-column-gap);--comp-checkbox-tween:var(--tct-tween-1, var(--app-tween-1, 0.2s ease));--comp-checkbox-toggle-width:var(--tct-checkbox-toggle-width, var(--t-checkbox-toggle-width, 46px));--comp-checkbox-gap:var(--tct-checkbox-gap, var(--t-checkbox-gap, var(--comp-checkbox-default-gap)));--comp-checkbox-outer-stroke-color:var(--tct-checkbox-outer-stroke-color, var(--t-checkbox-outer-stroke-color, var(--t-a11y-gray-color-AA, #949494)));--comp-checkbox-outer-fill-color:var(--tct-checkbox-outer-fill-color, var(--t-checkbox-outer-fill-color, var(--tct-white, var(--app-white, #ffffff))));--comp-checkbox-checked-color:var(--tct-checkbox-check-stroke-color, var(--t-checkbox-check-stroke-color, var(--t-checkbox-fill, var(--t-a11y-active-gray-color-AA, #404040))));--comp-control-width:var(--comp-checkbox-size);display:grid;grid-template-areas:\"svg label\" \"svg description\";align-items:center;gap:var(--comp-checkbox-gap);grid-template-columns:var(--comp-control-width) calc(100% - var(--comp-control-width) - var(--comp-checkbox-default-column-gap))}:host([type=favorite]) .container{--comp-checkbox-favorite-stroke-color:var(--tct-checkbox-favorite-stroke-color, var(--t-checkbox-favorite-stroke-color, var(--t-a11y-gray-color-AA, #949494)));--comp-checkbox-favorite-fill-color:var(--tct-checkbox-favorite-fill-color, var(--t-checkbox-favorite-fill-color, #db7d24))}:host([type=toggle]) .container{--comp-control-width:var(--comp-checkbox-toggle-width)}:host([alignment=right]) .container,:host([type=toggle]:not([alignment])) .container{grid-template-areas:\"label svg\" \"description svg\";grid-template-columns:calc(100% - var(--comp-control-width) - var(--comp-checkbox-default-column-gap)) var(--comp-control-width)}.label-control{align-items:center;display:flex}.label-text{grid-area:label}:host([description]) .label-text{font-weight:var(--tct-checkbox-label-font-weight, var(--t-checkbox-label-font-weight, 600))}:host([checked]) .label-text{font-weight:var(--tct-checkbox-checked-label-font-weight, var(--t-checkbox-checked-label-font-weight, 600))}.description-text{grid-area:description;font-weight:var(--tct-checkbox-description-font-weight, var(--t-checkbox-description-font-weight, 400))}label{color:var(--tct-checkbox-label-color);cursor:pointer}:host([disabled]:not([disabled=false])),:host([group-disabled]){opacity:var(--tct-checkbox-disabled-opacity, var(--t-checkbox-disabled-opacity, var(--tct-disabled-opacity, var(--app-disabled-opacity, 0.4))))}:host([disabled]:not([disabled=false])) label,:host([group-disabled]) label{cursor:not-allowed}.checkbox-icon{--t-icon-stroke-primary:var(--comp-checkbox-outer-stroke-color);width:var(--comp-checkbox-size);height:var(--comp-checkbox-size);border-radius:var(--tct-checkbox-outer-border-radius, var(--t-checkbox-outer-border-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 3px))));stroke:var(--comp-checkbox-outer-stroke-color);color:var(--comp-checkbox-outer-stroke-color);stroke-width:var(--tct-checkbox-outer-stroke-width, var(--t-checkbox-outer-stroke-width, 2));fill:var(--comp-checkbox-outer-fill-color);flex-shrink:0}:host([checked]) .checkbox-icon{fill:var(--tct-checkbox-checked-outer-fill-color, var(--t-checkbox-checked-outer-fill-color, var(--comp-checkbox-outer-fill-color)));stroke:var(--tct-checkbox-checked-outer-stroke-color, var(--t-checkbox-checked-outer-stroke-color, var(--comp-checkbox-outer-stroke-color)))}:host(:focus-within) .checkbox-icon{box-shadow:var(--const-double-focus-ring), var(--tct-global-focus, 0 0 0 2px #33b4ff);stroke:var(--tct-checkbox-focused-outer-stroke-color, var(--t-checkbox-focused-outer-stroke-color, var(--comp-checkbox-checked-color)))}:host([type=favorite]) .checkbox-icon{--tct-icon-stroke-width:var(--tct-checkbox-favorite-stroke-width, var(--t-checkbox-favorite-stroke-width, 1));--tct-icon-stroke-primary:var(--comp-checkbox-favorite-stroke-color);transition:fill var(--comp-checkbox-tween), color var(--comp-checkbox-tween), stroke var(--comp-checkbox-tween)}:host([type=favorite]:focus-within) .checkbox-icon,:host([type=favorite]:hover) .checkbox-icon{--tct-icon-stroke-primary:var(--comp-checkbox-favorite-fill-color);--tct-icon-stroke-width:var(--tct-checkbox-favorite-hover-stroke-width, var(--t-checkbox-favorite-hover-stroke-width, 2))}:host([checked][type=favorite]) .checkbox-icon{--tct-icon-stroke-primary:var(--comp-checkbox-favorite-fill-color);fill:var(--comp-checkbox-favorite-fill-color);transition:fill var(--comp-checkbox-tween), color var(--comp-checkbox-tween), stroke var(--comp-checkbox-tween)}:host([checked][type=favorite]:focus-within) .checkbox-icon,:host([checked][type=favorite]:hover) .checkbox-icon{--tct-icon-stroke-primary:var(--comp-checkbox-favorite-stroke-color);--tct-icon-fill-primary:var(--comp-checkbox-favorite-fill-color);--tct-icon-stroke-width:var(--tct-checkbox-favorite-hover-stroke-width, var(--t-checkbox-favorite-hover-stroke-width, 2))}.checkbox-fill{stroke:var(--comp-checkbox-checked-color)}.checked-fill{stroke-width:var(--tct-checkbox-check-stroke-width, var(--t-checkbox-check-stroke-width, 2.5));stroke-linecap:round;stroke-linejoin:round}:host([type=toggle]) .checked-fill{stroke:var(--tct-checkbox-toggle-icon-stroke, var(--t-checkbox-toggle-icon-stroke, var(--tct-white, var(--app-white, #ffffff))));transition:opacity var(--comp-checkbox-tween)}:host([type=toggle][checked]) .checked-fill{stroke:var(--tct-checkbox-toggle-checked-icon-stroke, var(--t-checkbox-toggle-checked-icon-stroke, var(--t-checkbox-text, var(--tct-white, var(--app-white, #ffffff)))))}.indeterminate-fill{stroke-width:var(--tct-checkbox-indeterminate-stroke-width, var(--t-checkbox-indeterminate-stroke-width, 3.5))}.toggle-svg{height:30px;width:var(--comp-checkbox-toggle-width);position:relative;text-align:initial}.toggle-track,.toggle-indicator{position:absolute;top:50%;transform:translateY(-50%)}.toggle-track{fill:var(--tct-checkbox-toggle-track-color, var(--t-checkbox-toggle-track-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))));height:14px;width:46px}:host([checked]) .toggle-track{fill:var(--tct-checkbox-toggle-checked-color, var(--t-checkbox-toggle-checked-color, var(--comp-checkbox-checked-color)));opacity:0.5}.toggle-indicator{transition:left var(--comp-checkbox-tween);height:30px;width:30px;left:0;border-radius:50%}:host([checked]) .toggle-indicator{left:21px}.toggle-circle{fill:var(--tct-checkbox-toggle-circle-color, var(--t-checkbox-toggle-circle-color, var(--t-a11y-gray-color-AA, #949494)))}:host([checked]) .toggle-circle{fill:var(--tct-checkbox-toggle-checked-color, var(--t-checkbox-toggle-checked-color, var(--comp-checkbox-checked-color)))}:host(:focus-within) .toggle-circle{stroke:var(--tct-checkbox-toggle-checked-color, var(--t-checkbox-toggle-checked-color, var(--comp-checkbox-checked-color)));stroke-width:10px;stroke-opacity:0.5}:host(:not([checked]):focus-within) .toggle-circle{stroke:var(--tct-checkbox-toggle-circle-color, var(--t-checkbox-toggle-circle-color, var(--t-a11y-gray-color-AA, #949494)))}:host([checked]) .off,:host(:not([checked])) .on{opacity:0}";
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-bb1c8c7f.js';
2
- import { h as handleAriaLabel, l as loc } from './index-a0cc60e3.js';
2
+ import { h as handleAriaLabel, l as loc } from './index-576f618c.js';
3
3
 
4
4
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #33b4ff #06C)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}.dropdown-separator{--comp-default-separator-margin:0 var(--tct-scale-1, var(--app-scale-3x, 15px));margin:var(--tct-dropdown-separator-margin, var(--t-dropdown-separator-margin, var(--comp-default-separator-margin)));border-bottom:1px solid var(--tct-dropdown-item-separator-color, var(--t-dropdown-item-separator-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))))}.dropdown-item-wrapper{display:flex}.dropdown-item{min-height:44px;flex:1 1 100%;padding:var(--tct-dropdown-item-padding, var(--t-dropdown-item-padding, 2px))}.dropdown-item-content{--comp-default-content-padding:12px var(--app-scale-3x, 15px);padding:var(--tct-dropdown-item-content-padding, var(--t-dropdown-item-content-padding, var(--comp-default-content-padding)));text-align:left;background-color:var(--tct-dropdown-item-bg, var(--t-dropdown-item-bg, var(--tct-white, var(--t-base, var(--app-white, #ffffff)))));color:var(--tct-dropdown-item-font-color, var(--t-dropdown-item-font-color, inherit));transition:background-color var(--tct-dropdown-item-content-tween, var(--t-dropdown-item-content-tween, var(--tct-tween-1, var(--app-tween-1, 0.2s ease))));overflow:hidden;text-overflow:ellipsis;flex:1}:host(:not([disabled])) .dropdown-item-content:hover,:host(:not([disabled])) .dropdown-item:focus-within .dropdown-item-content{background-color:var(--tct-dropdown-item-selected-bg, var(--t-dropdown-item-selected-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, var(--t-base, #f2f2f2)))))));color:var(--tct-dropdown-item-selected-font-color, var(--t-dropdown-item-selected-font-color, inherit))}.remove-dropdown-item{flex:0 0 44px;margin:2px}";
5
5