q2-tecton-elements 1.17.1 → 1.18.0

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 (139) hide show
  1. package/dist/cjs/{index-afc50fbb.js → index-eccd5617.js} +8 -0
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/q2-badge_2.cjs.entry.js +1 -1
  4. package/dist/cjs/q2-btn_2.cjs.entry.js +3 -2
  5. package/dist/cjs/q2-calendar.cjs.entry.js +1 -1
  6. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  7. package/dist/cjs/q2-carousel-pane.cjs.entry.js +1 -1
  8. package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
  9. package/dist/cjs/q2-chart-donut.cjs.entry.js +1 -1
  10. package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-checkbox.cjs.entry.js +1 -1
  12. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  13. package/dist/cjs/q2-dropdown.cjs.entry.js +1 -1
  14. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  15. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  16. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  17. package/dist/cjs/q2-message.cjs.entry.js +1 -1
  18. package/dist/cjs/q2-month-picker.cjs.entry.js +147 -0
  19. package/dist/cjs/q2-optgroup.cjs.entry.js +1 -1
  20. package/dist/cjs/{q2-option-list.cjs.entry.js → q2-option-list_2.cjs.entry.js} +102 -19
  21. package/dist/cjs/q2-pagination.cjs.entry.js +8 -2
  22. package/dist/cjs/q2-pill.cjs.entry.js +20 -18
  23. package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
  24. package/dist/cjs/q2-radio.cjs.entry.js +1 -1
  25. package/dist/cjs/q2-section.cjs.entry.js +1 -1
  26. package/dist/cjs/q2-select.cjs.entry.js +3 -5
  27. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  28. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +1 -1
  29. package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
  30. package/dist/cjs/q2-tab-container.cjs.entry.js +1 -1
  31. package/dist/cjs/q2-tag.cjs.entry.js +17 -15
  32. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  33. package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
  34. package/dist/cjs/q2-tooltip.cjs.entry.js +63 -13
  35. package/dist/collection/collection-manifest.json +2 -0
  36. package/dist/collection/components/q2-btn/index.js +19 -1
  37. package/dist/collection/components/q2-btn/styles.css +1 -0
  38. package/dist/collection/components/q2-calendar/q2-month-picker.css +130 -0
  39. package/dist/collection/components/q2-calendar/q2-month-picker.js +246 -0
  40. package/dist/collection/components/q2-option-list/index.js +7 -52
  41. package/dist/collection/components/q2-option-list/styles.css +1 -49
  42. package/dist/collection/components/q2-pagination/index.js +9 -3
  43. package/dist/collection/components/q2-pill/index.js +27 -24
  44. package/dist/collection/components/q2-pill/styles.css +11 -6
  45. package/dist/collection/components/q2-popover/index.js +245 -0
  46. package/dist/collection/components/q2-popover/styles.css +205 -0
  47. package/dist/collection/components/q2-select/index.js +2 -4
  48. package/dist/collection/components/q2-tag/index.js +21 -18
  49. package/dist/collection/components/q2-tag/styles.css +1 -5
  50. package/dist/collection/components/q2-tooltip/index.js +102 -13
  51. package/dist/collection/components/q2-tooltip/styles.css +62 -82
  52. package/dist/collection/utils/index.js +7 -0
  53. package/dist/esm/{index-2ca8c93c.js → index-eac6b89e.js} +8 -1
  54. package/dist/esm/loader.js +1 -1
  55. package/dist/esm/q2-badge_2.entry.js +1 -1
  56. package/dist/esm/q2-btn_2.entry.js +3 -2
  57. package/dist/esm/q2-calendar.entry.js +1 -1
  58. package/dist/esm/q2-card.entry.js +1 -1
  59. package/dist/esm/q2-carousel-pane.entry.js +1 -1
  60. package/dist/esm/q2-carousel.entry.js +1 -1
  61. package/dist/esm/q2-chart-donut.entry.js +1 -1
  62. package/dist/esm/q2-checkbox-group.entry.js +1 -1
  63. package/dist/esm/q2-checkbox.entry.js +1 -1
  64. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  65. package/dist/esm/q2-dropdown.entry.js +1 -1
  66. package/dist/esm/q2-editable-field.entry.js +1 -1
  67. package/dist/esm/q2-icon.entry.js +1 -1
  68. package/dist/esm/q2-loc.entry.js +1 -1
  69. package/dist/esm/q2-message.entry.js +1 -1
  70. package/dist/esm/q2-month-picker.entry.js +143 -0
  71. package/dist/esm/q2-optgroup.entry.js +1 -1
  72. package/dist/esm/{q2-option-list.entry.js → q2-option-list_2.entry.js} +102 -20
  73. package/dist/esm/q2-pagination.entry.js +8 -2
  74. package/dist/esm/q2-pill.entry.js +21 -19
  75. package/dist/esm/q2-radio-group.entry.js +1 -1
  76. package/dist/esm/q2-radio.entry.js +1 -1
  77. package/dist/esm/q2-section.entry.js +1 -1
  78. package/dist/esm/q2-select.entry.js +3 -5
  79. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  80. package/dist/esm/q2-stepper-vertical.entry.js +1 -1
  81. package/dist/esm/q2-stepper.entry.js +1 -1
  82. package/dist/esm/q2-tab-container.entry.js +1 -1
  83. package/dist/esm/q2-tag.entry.js +18 -16
  84. package/dist/esm/q2-tecton-elements.js +1 -1
  85. package/dist/esm/q2-textarea.entry.js +1 -1
  86. package/dist/esm/q2-tooltip.entry.js +63 -13
  87. package/dist/q2-tecton-elements/{p-d781e2d9.entry.js → p-02c1b7fd.entry.js} +1 -1
  88. package/dist/q2-tecton-elements/{p-2faed36b.entry.js → p-04c743f2.entry.js} +1 -1
  89. package/dist/q2-tecton-elements/{p-5acb7ec6.entry.js → p-07dc509c.entry.js} +1 -1
  90. package/dist/q2-tecton-elements/{p-d8d9e8eb.entry.js → p-12caa479.entry.js} +1 -1
  91. package/dist/q2-tecton-elements/{p-d3e4cc5d.entry.js → p-160dd1c2.entry.js} +1 -1
  92. package/dist/q2-tecton-elements/{p-31070ab8.entry.js → p-1a3de749.entry.js} +1 -1
  93. package/dist/q2-tecton-elements/{p-0d849ed4.entry.js → p-2061c3fd.entry.js} +1 -1
  94. package/dist/q2-tecton-elements/{p-64605d17.entry.js → p-2e54f9a0.entry.js} +1 -1
  95. package/dist/q2-tecton-elements/{p-a45c6b65.entry.js → p-375569ff.entry.js} +1 -1
  96. package/dist/q2-tecton-elements/p-3766cc6c.entry.js +1 -0
  97. package/dist/q2-tecton-elements/{p-732dafd0.entry.js → p-3eda2714.entry.js} +1 -1
  98. package/dist/q2-tecton-elements/{p-cde0cdff.entry.js → p-421af42d.entry.js} +1 -1
  99. package/dist/q2-tecton-elements/{p-44bdaf52.entry.js → p-4fd405f5.entry.js} +1 -1
  100. package/dist/q2-tecton-elements/p-509c8924.entry.js +1 -0
  101. package/dist/q2-tecton-elements/{p-445e7c45.entry.js → p-55dc3dc1.entry.js} +1 -1
  102. package/dist/q2-tecton-elements/p-5fffb28a.entry.js +1 -0
  103. package/dist/q2-tecton-elements/p-612e9974.entry.js +1 -0
  104. package/dist/q2-tecton-elements/{p-815c8a7d.entry.js → p-796c2bb5.entry.js} +1 -1
  105. package/dist/q2-tecton-elements/{p-41fcf343.js → p-80014da0.js} +1 -1
  106. package/dist/q2-tecton-elements/{p-8543a0e1.entry.js → p-86887866.entry.js} +1 -1
  107. package/dist/q2-tecton-elements/p-9204c34d.entry.js +1 -0
  108. package/dist/q2-tecton-elements/{p-b4b8f85c.entry.js → p-a0fa416d.entry.js} +1 -1
  109. package/dist/q2-tecton-elements/p-bd83e8e2.entry.js +1 -0
  110. package/dist/q2-tecton-elements/{p-fbf23146.entry.js → p-be0f2539.entry.js} +1 -1
  111. package/dist/q2-tecton-elements/p-c05b0b55.entry.js +1 -0
  112. package/dist/q2-tecton-elements/{p-318758d4.entry.js → p-c608e3c9.entry.js} +1 -1
  113. package/dist/q2-tecton-elements/{p-824a1d7c.entry.js → p-d826d7ad.entry.js} +1 -1
  114. package/dist/q2-tecton-elements/{p-06865cf5.entry.js → p-d9e9340c.entry.js} +1 -1
  115. package/dist/q2-tecton-elements/{p-4da9b6b6.entry.js → p-e5757895.entry.js} +1 -1
  116. package/dist/q2-tecton-elements/p-e68c9ef0.entry.js +1 -0
  117. package/dist/q2-tecton-elements/{p-30f81b22.entry.js → p-eb33bda4.entry.js} +1 -1
  118. package/dist/q2-tecton-elements/{p-661c2092.entry.js → p-f319549d.entry.js} +1 -1
  119. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  120. package/dist/types/components/q2-btn/index.d.ts +1 -0
  121. package/dist/types/components/q2-calendar/q2-month-picker.d.ts +24 -0
  122. package/dist/types/components/q2-option-list/index.d.ts +1 -4
  123. package/dist/types/components/q2-pill/index.d.ts +7 -3
  124. package/dist/types/components/q2-popover/index.d.ts +26 -0
  125. package/dist/types/components/q2-tag/index.d.ts +5 -2
  126. package/dist/types/components/q2-tooltip/index.d.ts +12 -0
  127. package/dist/types/components.d.ts +53 -4
  128. package/dist/types/utils/index.d.ts +1 -0
  129. package/dist/types/workspace/workspace/{tecton-production_release_1.17.x → Tecton_tecton-production_master}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +0 -0
  130. package/package.json +2 -2
  131. package/dist/q2-tecton-elements/p-30a4fdfb.entry.js +0 -1
  132. package/dist/q2-tecton-elements/p-41c22a16.entry.js +0 -1
  133. package/dist/q2-tecton-elements/p-654fcd6b.entry.js +0 -1
  134. package/dist/q2-tecton-elements/p-916fd90b.entry.js +0 -1
  135. package/dist/q2-tecton-elements/p-94b3c534.entry.js +0 -1
  136. package/dist/q2-tecton-elements/p-a659d112.entry.js +0 -1
  137. package/dist/q2-tecton-elements/p-b595b415.entry.js +0 -1
  138. package/dist/test/elements/q2-tag-test.js +0 -151
  139. package/dist/types/workspace/workspace/tecton-production_release_1.17.x/packages/q2-tecton-elements/.stencil/test/elements/q2-tag-test.d.ts +0 -1
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, F as Fragment, g as getElement } from './index-6d5ed7cc.js';
2
- import { a as isTouchDevice, o as overrideFocus, i as isEventFromElement } from './index-2ca8c93c.js';
2
+ import { a as isTouchDevice, o as overrideFocus, i as isEventFromElement } from './index-eac6b89e.js';
3
3
 
4
4
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus, 0 0 0 2px #33b4ff)}: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):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)))}.container:is(button):hover,.container:is(a):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):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-6d5ed7cc.js';
2
- import { l as loc } from './index-2ca8c93c.js';
2
+ import { l as loc } from './index-eac6b89e.js';
3
3
 
4
4
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus, 0 0 0 2px #33b4ff)}: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));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(--tct-global-focus, var(--const-global-focus, 0 0 0 2px #33b4ff))}q2-carousel-pane.q2-carousel-pane .q2-carousel-pane-main-content{box-shadow:var(--app-shadow-2, 0px 2px 8px 0px var(--t-top-a1, rgba(0, 0, 0, 0.25)));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(--app-shadow-3, 0px 2px 8px 0px var(--t-top-a1, rgba(0, 0, 0, 0.25)))}";
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-6d5ed7cc.js';
2
- import { c as createGuid, l as loc, h as handleAriaLabel, i as isEventFromElement, o as overrideFocus } from './index-2ca8c93c.js';
2
+ import { c as createGuid, l as loc, h as handleAriaLabel, i as isEventFromElement, o as overrideFocus } from './index-eac6b89e.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-6d5ed7cc.js';
2
- import { o as overrideFocus, l as loc, i as isEventFromElement } from './index-2ca8c93c.js';
2
+ import { o as overrideFocus, l as loc, i as isEventFromElement } from './index-eac6b89e.js';
3
3
 
4
4
  /*! *****************************************************************************
5
5
  Copyright (c) Microsoft Corporation.
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-6d5ed7cc.js';
2
- import { c as createGuid, l as loc } from './index-2ca8c93c.js';
2
+ import { c as createGuid, l as loc } from './index-eac6b89e.js';
3
3
 
4
4
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus, 0 0 0 2px #33b4ff)}: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-6d5ed7cc.js';
2
- import { c as createGuid, h as handleAriaLabel, o as overrideFocus, i as isEventFromElement, l as loc } from './index-2ca8c93c.js';
2
+ import { c as createGuid, h as handleAriaLabel, o as overrideFocus, i as isEventFromElement, l as loc } from './index-eac6b89e.js';
3
3
 
4
4
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus, 0 0 0 2px #33b4ff)}: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(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))));--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(--tct-gray-5, var(--t-gray-5, var(--tct-gray-d2, var(--app-gray-d2, #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-textA, rgba(77, 77, 77, 0.77))));--comp-checkbox-favorite-fill-color:var(--tct-checkbox-favorite-fill-color, var(--t-checkbox-favorite-fill-color, var(--tct-stoplight-warning, var(--const-stoplight-warning, #f0b400))))}: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{cursor:pointer}:host([disabled]),:host([group-disabled]){opacity:var(--tct-checkbox-disabled-opacity, var(--t-checkbox-disabled-opacity, var(--tct-disabled-opacity, var(--app-disabled-opacity, 0.4))))}.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(--tct-global-focus, var(--const-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}.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(--tct-gray-9, var(--t-gray-9, var(--tct-gray, var(--app-gray, #999999))))))}: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(--tct-gray-9, var(--t-gray-9, var(--tct-gray, var(--app-gray, #999999))))))}: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-6d5ed7cc.js';
2
- import { h as handleAriaLabel, l as loc } from './index-2ca8c93c.js';
2
+ import { h as handleAriaLabel, l as loc } from './index-eac6b89e.js';
3
3
 
4
4
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus, 0 0 0 2px #33b4ff)}: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{margin:0 var(--tct-scale-1, var(--app-scale-1x, 5px));border-bottom:1px solid var(--tct-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, 2px)}.dropdown-item-content{padding:12px var(--tct-scale-3, var(--app-scale-3x, 15px));text-align:left;background-color:var(--tct-dropdown-item-bg, var(--tct-white, var(--t-base, var(--app-white, #ffffff))));color:var(--tct-dropdown-item-font-color, inherit);transition:background-color 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(--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, inherit)}.remove-dropdown-item{flex:0 0 44px;margin:2px}";
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, F as Fragment, g as getElement } from './index-6d5ed7cc.js';
2
- import { s as setPopProperties, h as handleAriaLabel, i as isEventFromElement, o as overrideFocus, l as loc } from './index-2ca8c93c.js';
2
+ import { s as setPopProperties, h as handleAriaLabel, i as isEventFromElement, o as overrideFocus, l as loc } from './index-eac6b89e.js';
3
3
 
4
4
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus, 0 0 0 2px #33b4ff)}: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:inline-flex}.dropdown-container{position:relative;display:block}.dropdown-button-content{display:flex;align-items:center}.dropdown-button.unstyled .dropdown-button-content{padding:var(--tct-scale-2, var(--app-scale-2x, 10px)) var(--tct-scale-1, var(--app-scale-1x, 5px))}.q2-element-dropdown{width:var(--tct-dropdown-width, var(--t-dropdown-width, 175px))}.q2-element-dropdown.dropup{bottom:var(--tct-btn-icon-height, var(--t-btn-icon-height, 44px))}q2-btn[color=primary]~.q2-element-dropdown.dropup,q2-btn[intent=workflow-primary]~.q2-element-dropdown.dropup{bottom:calc(var(--tct-btn-icon-height, var(--t-btn-icon-height, 44px)) + var(--tct-btn-primary-border-width, var(--t-btn-primary-border-width, 0)))}q2-btn[color=secondary]~.q2-element-dropdown.dropup,q2-btn[intent=workflow-secondary]~.q2-element-dropdown.dropup{bottom:calc(var(--tct-btn-icon-height, var(--t-btn-icon-height, 44px)) + var(--tct-btn-secondary-border-width, var(--t-btn-secondary-border-width, 0)))}q2-btn[intent=neutral]~.q2-element-dropdown.dropup{bottom:calc(var(--tct-btn-icon-height, var(--t-btn-icon-height, 44px)) + var(--tct-btn-neutral-border-width, var(--t-btn-neutral-border-width, 0)))}";
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-6d5ed7cc.js';
2
- import { l as loc, h as handleAriaLabel, o as overrideFocus, i as isEventFromElement } from './index-2ca8c93c.js';
2
+ import { l as loc, h as handleAriaLabel, o as overrideFocus, i as isEventFromElement } from './index-eac6b89e.js';
3
3
 
4
4
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus, 0 0 0 2px #33b4ff)}: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:inline-block;max-width:100%}.q2-editable-field-wrapper:not([hidden]){display:flex}.q2-editable-field-wrapper.editing{align-items:flex-end}q2-input,.text-wrapper{margin:0 var(--tct-scale-2, var(--app-scale-2x, 10px)) 0 0}q2-input{flex:1 0 auto;min-width:170px}.text-wrapper{flex:0 auto;align-self:center;display:inline-block}:host([truncated]) .text-wrapper{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}q2-btn{flex:0 0 44px}dl{margin:var(--tct-scale-0, var(--app-scale-0x, 0))}dt{font-weight:600}dd{margin-left:var(--tct-scale-0, var(--app-scale-0x, 0));display:flex;align-items:center}";
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-6d5ed7cc.js';
2
- import { c as createGuid } from './index-2ca8c93c.js';
2
+ import { c as createGuid } from './index-eac6b89e.js';
3
3
  import { i as icons } from './icons-ed54e307.js';
4
4
 
5
5
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus, 0 0 0 2px #33b4ff)}: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:inline-block;height:var(--tct-icon-size, 24px);width:var(--tct-icon-size, 24px);position:relative;fill:none}svg{display:block;position:absolute;top:0;left:0;stroke-width:var(--tct-icon-stroke-width, var(--t-icon-stroke-width, 1.5));stroke-linecap:var(--tct-icon-cap, var(--t-icon-cap, round));stroke-linejoin:var(--tct-icon-cap, var(--t-icon-cap, round))}.stroke-primary{stroke:var(--tct-icon-stroke-primary, var(--t-icon-stroke-primary, var(--t-text, currentColor)))}.stroke-secondary{stroke:var(--tct-icon-stroke-secondary, var(--t-icon-stroke-secondary, var(--t-text, currentColor)))}.fill-primary{fill:var(--tct-icon-stroke-primary, var(--t-icon-stroke-primary, var(--t-text, currentColor)))}.filled{fill:var(--tct-icon-fill, var(--t-icon-fill, none))}.uniform{fill:var(--tct-icon-stroke-primary, var(--t-icon-stroke-primary, currentColor))}:host([type=info]){--tct-icon-stroke-primary:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1));--tct-icon-stroke-secondary:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))}:host([type=success]){--tct-icon-stroke-primary:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00));--t-icon-stroke-secondary:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00))}:host([type=warning]){--tct-icon-stroke-primary:var(--tct-stoplight-warning, var(--const-stoplight-warning, #f0b400));--t-icon-stroke-secondary:var(--tct-stoplight-warning, var(--const-stoplight-warning, #f0b400))}:host([type=error]){--tct-icon-stroke-primary:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000));--t-icon-stroke-secondary:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000))}";
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h } from './index-6d5ed7cc.js';
2
- import { l as loc } from './index-2ca8c93c.js';
2
+ import { l as loc } from './index-eac6b89e.js';
3
3
 
4
4
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus, 0 0 0 2px #33b4ff)}: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:inline}";
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-6d5ed7cc.js';
2
- import { g as isFirefox, o as overrideFocus, n as nextPaint, i as isEventFromElement } from './index-2ca8c93c.js';
2
+ import { g as isFirefox, o as overrideFocus, n as nextPaint, i as isEventFromElement } from './index-eac6b89e.js';
3
3
 
4
4
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus, 0 0 0 2px #33b4ff)}: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}.message{border-left-width:var(--tct-message-bar-width, var(--t-message-bar-width, var(--app-scale-1x, 5px)));border-left-style:solid;--comp-line-height:var(--tct-message-line-height, var(--t-message-line-height, var(--app-line-height, 1.428571429em)));display:grid;gap:var(--tct-scale-1, var(--app-scale-1x, 5px));align-items:flex-start;background:var(--tct-message-bg, var(--t-message-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2))))));color:var(--tct-message-font-color, var(--t-message-font-color, inherit));box-shadow:var(--tct-message-box-shadow, var(--t-message-box-shadow, inherit));border-radius:var(--tct-message-border-radius, var(--t-message-border-radius, inherit))}.message:focus{box-shadow:var(--const-global-focus)}.message-icon{--comp-top-offset:calc(calc(var(--comp-line-height) - var(--comp-icon-size)) / 2);--tct-icon-size:var(--comp-icon-size);top:var(--comp-top-offset);margin-bottom:calc(var(--comp-top-offset) * -1)}.message-content{flex:1;line-height:var(--comp-line-height)}::slotted(ul){padding-left:var(--tct-scale-l3, var(--app-scale-3x, 15px))}:host(:not([appearance])),:host([appearance=standard]){margin:var(--tct-scale-l3, var(--app-scale-3x, 15px)) 0}:host(:not([appearance])) .message,:host([appearance=standard]) .message{--comp-icon-size:var(--tct-message-icon-size, var(--t-message-icon-size, 24px));--comp-padding:var(--tct-message-padding, var(--t-message-padding, var(--app-scale-3x, 15px)));grid-template-columns:var(--comp-icon-size) 1fr;padding:var(--comp-padding);padding-left:calc(var(--comp-padding) - var(--tct-scale-2, var(--app-scale-2x, 10px)));padding-bottom:calc(var(--comp-padding) - var(--tct-scale-1, var(--app-scale-1x, 5px)))}:host(:not([appearance])) ::slotted(ul),:host([appearance=standard]) ::slotted(ul){margin:var(--tct-scale-l3, var(--app-scale-3x, 15px)) 0}:host([appearance=minimal]){margin:0}:host([appearance=minimal]) .message{padding:var(--tct-message-minimal-padding, var(--t-message-minimal-padding, var(--app-scale-2x, 10px)));grid-template-columns:1fr}:host([appearance=minimal]) ::slotted(ul){margin:var(--tct-scale-1, var(--app-scale-1x, 5px)) 0}:host(:not([type])) .message,:host([type=info]) .message{border-left-color:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))}:host(:not([type])) .message-icon,:host([type=info]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1));--tct-icon-stroke-secondary:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))}:host([type=success]) .message{border-left-color:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00))}:host([type=success]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00));--tct-icon-stroke-secondary:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00))}:host([type=warning]) .message{border-left-color:var(--tct-stoplight-warning, var(--const-stoplight-warning, #f0b400))}:host([type=warning]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-warning, var(--const-stoplight-warning, #f0b400));--tct-icon-stroke-secondary:var(--tct-stoplight-warning, var(--const-stoplight-warning, #f0b400))}:host([type=error]) .message,:host([type=danger]) .message{border-left-color:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000))}:host([type=error]) .message-icon,:host([type=danger]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000));--tct-icon-stroke-secondary:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000))}";
5
5
 
@@ -0,0 +1,143 @@
1
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './index-6d5ed7cc.js';
2
+ import { l as loc, o as overrideFocus } from './index-eac6b89e.js';
3
+
4
+ const q2MonthPickerCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus, 0 0 0 2px #33b4ff)}: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}.month-container{--comp-month-primary-bg:var(--tct-btn-primary-bg, var(--t-btn-primary-bg, #2e2e2e));--comp-month-primary-font-color:var(--tct-btn-primary-font-color, var(--t-btn-primary-font-color, var(--tct-white, var(--app-white, #ffffff))));--comp-month-secondary-bg:var(--tct-btn-secondary-bg, var(--t-button-default-bg, #cccccc));--comp-month-secondary-font-color:var(--tct-btn-secondary-font-color, var(--t-btn-secondary-font-color, var(--t-button-default-font-color, #2e2e2e)))}.month-container .navigation{display:flex;justify-content:space-between;flex-direction:row}.month-container .navigation .year-btn{padding:0 1rem;display:flex;align-items:center}.month-container .navigation .year-btn .year{margin-right:0.2rem}.month-container .navigation .year-btn .year-icon{--t-icon-stroke-width:2px;width:16px;height:16px;transition:all 0.3s ease-in-out}.month-container .navigation .year-btn .year-icon.on{transform:rotate(-180deg)}.month-container .navigation .month-controller{display:flex;align-items:center}.month-container .month-list{display:grid;grid-template-columns:auto auto auto}.month-container .month-list .month{display:flex;justify-content:center;align-items:center;padding:0.5rem 0}.month-container .month-list .month .month-button{border-radius:50%;aspect-ratio:1;width:50px;display:flex;justify-content:center;align-items:center}.month-container .month-list .month .month-button:hover{background-color:var(--comp-month-secondary-bg);color:var(--comp-month-secondary-font-color);cursor:pointer}.month-container .month-list .month .month-button:active,.month-container .month-list .month .month-button.active{background-color:var(--comp-month-primary-bg);color:var(--comp-month-primary-font-color)}.month-container .today-label{padding:0.5rem 0;color:var(--tct-calendar-day-selected-outline-color, var(--t-calendar-day-selected-outline-color, var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))))}";
5
+
6
+ const Q2MonthPicker = class {
7
+ constructor(hostRef) {
8
+ registerInstance(this, hostRef);
9
+ this.viewChange = createEvent(this, "viewChange", 7);
10
+ this.toggleChange = createEvent(this, "toggleChange", 7);
11
+ this.year = Number(new Date().toLocaleString('en-US', { year: 'numeric' }));
12
+ this.selectedIndex = 0;
13
+ this.focusedIndex = 0;
14
+ this.showYearLayer = false;
15
+ this.scheduledAfterRender = [];
16
+ this.monthGrid = [
17
+ [0, 1, 2],
18
+ [3, 4, 5],
19
+ [6, 7, 8],
20
+ [9, 10, 11],
21
+ ];
22
+ this.months = [
23
+ 'January',
24
+ 'February',
25
+ 'March',
26
+ 'April',
27
+ 'May',
28
+ 'June',
29
+ 'July',
30
+ 'August',
31
+ 'September',
32
+ 'October',
33
+ 'November',
34
+ 'December',
35
+ ].map(mon => ({
36
+ label: loc(`tecton.element.calendar.months.${mon}`),
37
+ abbr: loc(`tecton.element.calendar.months.abbr.${mon}`),
38
+ }));
39
+ this.onMonthSelection = (event) => {
40
+ var _a, _b;
41
+ const targetElement = event.target.closest('.month-button');
42
+ if ((_a = targetElement === null || targetElement === void 0 ? void 0 : targetElement.dataset) === null || _a === void 0 ? void 0 : _a.index) {
43
+ this.selectMonth(Number((_b = targetElement === null || targetElement === void 0 ? void 0 : targetElement.dataset) === null || _b === void 0 ? void 0 : _b.index));
44
+ }
45
+ };
46
+ this.onMonthKeydown = (event) => {
47
+ if (event.key === 'Escape' || event.key === 'Esc') {
48
+ this.toggleChange.emit({ close: true });
49
+ return;
50
+ }
51
+ const monthIndex = event.target.dataset.index;
52
+ if (!monthIndex)
53
+ return;
54
+ if (event.key === 'Enter' || event.key === ' ') {
55
+ event.preventDefault();
56
+ event.stopPropagation();
57
+ this.selectMonth(Number(monthIndex));
58
+ }
59
+ else {
60
+ const nextMonthIndex = this.moveMonth(this.monthGrid, Number(monthIndex), event);
61
+ this.focusMonth(nextMonthIndex);
62
+ }
63
+ };
64
+ this.moveMonth = (grid, index, event) => {
65
+ const rows = grid.length;
66
+ const cols = grid[0].length;
67
+ const row = Math.floor(index / cols);
68
+ const col = index % cols;
69
+ const current = [row, col];
70
+ if (event.key === 'ArrowUp') {
71
+ event.stopPropagation();
72
+ event.preventDefault();
73
+ return grid[Math.max(0, current[0] - 1)][current[1]];
74
+ }
75
+ else if (event.key === 'ArrowDown') {
76
+ event.stopPropagation();
77
+ event.preventDefault();
78
+ return grid[Math.min(rows - 1, current[0] + 1)][current[1]];
79
+ }
80
+ else if (event.key === 'ArrowLeft') {
81
+ event.stopPropagation();
82
+ event.preventDefault();
83
+ return Math.max(0, index - 1);
84
+ }
85
+ else if (event.key === 'ArrowRight') {
86
+ event.stopPropagation();
87
+ event.preventDefault();
88
+ return Math.min(this.months.length - 1, index + 1);
89
+ }
90
+ else {
91
+ return grid[current[0]][current[1]];
92
+ }
93
+ };
94
+ this.focusMonth = (index) => {
95
+ const nextMonth = this.hostElement.shadowRoot.querySelector(`.month-button[data-index="${index}"]`);
96
+ if (nextMonth) {
97
+ this.focusedIndex = index;
98
+ nextMonth.focus();
99
+ }
100
+ };
101
+ this.selectMonth = (index) => {
102
+ var _a, _b, _c;
103
+ this.selectedIndex = index;
104
+ this.focusedIndex = index;
105
+ const nextMonth = this.hostElement.shadowRoot.querySelector(`.month-button[data-index="${index}"]`);
106
+ (_a = this.hostElement.shadowRoot
107
+ .querySelectorAll(`.month-button`)) === null || _a === void 0 ? void 0 : _a.forEach(el => el.classList.remove('active'));
108
+ nextMonth === null || nextMonth === void 0 ? void 0 : nextMonth.classList.add('active');
109
+ nextMonth === null || nextMonth === void 0 ? void 0 : nextMonth.focus();
110
+ const value = {
111
+ view: 'day',
112
+ monthIndex: index,
113
+ selectedYear: this.year,
114
+ };
115
+ (_c = (_b = this.hostElement).onchange) === null || _c === void 0 ? void 0 : _c.call(_b, new CustomEvent('click', {
116
+ bubbles: true,
117
+ detail: value,
118
+ }));
119
+ this.viewChange.emit(value);
120
+ };
121
+ this.selectYear = (year) => {
122
+ this.year = Math.max(1970, year);
123
+ };
124
+ }
125
+ componentDidRender() {
126
+ var _a;
127
+ (_a = this.scheduledAfterRender) === null || _a === void 0 ? void 0 : _a.forEach(fn => fn());
128
+ this.scheduledAfterRender = [];
129
+ }
130
+ componentDidLoad() {
131
+ overrideFocus(this.hostElement);
132
+ }
133
+ render() {
134
+ return (h("div", { class: "month-container", onKeyDown: this.onMonthKeydown }, h("div", { class: "navigation" }, h("q2-btn", { class: "year-btn", onClick: () => this.viewChange.emit({
135
+ view: 'year',
136
+ selectedYear: this.year,
137
+ }) }, h("span", { class: "year" }, this.year), h("q2-icon", { class: "year-icon off", type: "chevron-down" })), h("div", { class: "month-controller" }, h("div", { class: "cal-year-prev-next" }, h("q2-btn", { label: loc('tecton.element.calendar.previousYear'), "hide-label": true, class: "cal-nav-btn prev-year", "test-id": "previousYearButton", onClick: () => this.selectYear(this.year - 1) }, h("q2-icon", { type: "arrow-left" })), h("q2-btn", { label: loc('tecton.element.calendar.nextYear'), "hide-label": true, class: "cal-nav-btn next-year", "test-id": "nextYearButton", onClick: () => this.selectYear(this.year + 1) }, h("q2-icon", { type: "arrow-right" }))))), h("div", { class: "month-list", onClick: this.onMonthSelection }, this.months.map((month, index) => (h("div", { class: "month" }, h("span", { role: "button", class: "month-button", "data-index": index, "aria-label": month.label, tabindex: index === this.focusedIndex ? 0 : -1 }, month.abbr))))), this.today && (h("div", { class: "today-label" }, loc('tecton.element.calendar.today'), ": ", this.today))));
138
+ }
139
+ get hostElement() { return getElement(this); }
140
+ };
141
+ Q2MonthPicker.style = q2MonthPickerCss;
142
+
143
+ export { Q2MonthPicker as q2_month_picker };
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, g as getElement } from './index-6d5ed7cc.js';
2
- import { c as createGuid, l as loc } from './index-2ca8c93c.js';
2
+ import { c as createGuid, l as loc } from './index-eac6b89e.js';
3
3
 
4
4
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus, 0 0 0 2px #33b4ff)}: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}.q2-optgroup-header{--comp-header-padding:var(--tct-scale-1, var(--app-scale-1x, 5px)) var(--tct-scale-2, var(--app-scale-2x, 10px));background:var(--tct-optgroup-header-bg, var(--t-optgroup-header-bg, var(--tct-gray-13, var(--t-gray-13, var(--tct-gray-l2, var(--app-gray-l2, #e6e6e6))))));padding:var(--tct-optgroup-header-padding, var(--t-optgroup-header-padding, var(--comp-header-padding)));font-weight:var(--tct-optgroup-header-font-weight, var(--t-optgroup-header-font-weight, 600));text-transform:var(--tct-optgroup-header-text-transform, var(--t-optgroup-header-text-transform, uppercase));position:sticky;top:var(--comp-multi-select-header-height, 0);z-index:1}";
5
5
 
@@ -1,13 +1,13 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-6d5ed7cc.js';
2
- import { o as overrideFocus, i as isEventFromElement } from './index-2ca8c93c.js';
2
+ import { o as overrideFocus, i as isEventFromElement } from './index-eac6b89e.js';
3
3
 
4
- const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus, 0 0 0 2px #33b4ff)}: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{position:relative;width:100%;display:block}.content{margin-top:var(--tct-option-list-margin, var(--t-option-list-margin, var(--app-scale-1x, 5px)));position:absolute;height:0;opacity:0;visibility:hidden;background-color:var(--app-white, #ffffff);color:var(--t-text, #4d4d4d);z-index:100;width:max-content;min-width:var(--tct-option-list-min-width, var(--t-option-list-min-width, 135px));box-shadow:var(--app-shadow-1, 0 2px 4px rgba(0, 0, 0, 0.3));overflow:hidden;text-align:start;transition:opacity var(--app-tween-1, 0.2s ease);border-radius:var(--tct-option-list-border-radius, var(--t-option-list-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}.content::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}.content::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}.content::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}:host(:not([align=right])) .content{left:0}:host([align=right]) .content{right:0}:host([open]) .content{display:block;height:auto;overflow:auto;opacity:1;visibility:visible}:host([is-sizeable]) .content{display:block;height:auto}:host([alignment=right]) .content{left:unset;right:0}";
4
+ const stylesCss$1 = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus, 0 0 0 2px #33b4ff)}: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{position:relative;width:100%;display:block;line-height:var(--tct-option-list-line-height, var(--t-option-list-line-height, var(--app-line-height, 1.428571429em)))}.content{text-align:start}:host([is-sizeable]) .content{display:block;height:auto}";
5
5
 
6
6
  const Q2OptionList = class {
7
7
  constructor(hostRef) {
8
8
  registerInstance(this, hostRef);
9
9
  this.change = createEvent(this, "change", 7);
10
- this.optionListState = createEvent(this, "optionListState", 7);
10
+ this.popoverState = createEvent(this, "popoverState", 7);
11
11
  this.role = 'listbox';
12
12
  this.direction = 'down';
13
13
  this.selectedOptions = [];
@@ -92,7 +92,7 @@ const Q2OptionList = class {
92
92
  case 'Escape':
93
93
  if (this.noSelect)
94
94
  this.setActiveElement(null);
95
- this.open = false;
95
+ this.popoverState.emit({ open: false });
96
96
  break;
97
97
  default:
98
98
  if (customSearch)
@@ -174,7 +174,7 @@ const Q2OptionList = class {
174
174
  if (this.disabled)
175
175
  return;
176
176
  this.activeIndex = activeIndex;
177
- this.open = true;
177
+ this.popoverState.emit({ open: true });
178
178
  this.setActiveOption();
179
179
  this.setFocusedOption();
180
180
  this.scheduledAfterRender.push(() => {
@@ -208,8 +208,6 @@ const Q2OptionList = class {
208
208
  });
209
209
  }
210
210
  setActiveOption() {
211
- if (!this.open)
212
- return;
213
211
  const activeIndex = this.activeIndex;
214
212
  this.allOptions.forEach((element, elementIndex) => {
215
213
  element.active = activeIndex === elementIndex;
@@ -262,7 +260,7 @@ const Q2OptionList = class {
262
260
  this.change.emit({ value: selectedValue, values });
263
261
  if (multiple)
264
262
  return;
265
- this.open = false;
263
+ this.popoverState.emit({ open: false });
266
264
  }
267
265
  adjustActiveOptionAndScroll(numToAdd) {
268
266
  this.activeIndex += numToAdd;
@@ -298,24 +296,17 @@ const Q2OptionList = class {
298
296
  this.updateSingleOptionAttrs();
299
297
  }
300
298
  }
301
- openChanged(newValue) {
302
- this.optionListState.emit({ open: newValue });
303
- }
304
299
  /// Listeners ///
305
300
  delegateFocus(event) {
306
301
  if (!isEventFromElement(event, this.hostElement))
307
302
  return;
308
- this.open = true;
303
+ this.popoverState.emit({ open: true });
309
304
  this.setDefaultActiveElement();
310
305
  }
311
306
  handleClick(event) {
312
307
  event.stopPropagation();
313
308
  }
314
309
  /// Public Methods ///
315
- async toggle() {
316
- const isOpen = !this.open;
317
- this.open = isOpen;
318
- }
319
310
  async setDefaultActiveElement() {
320
311
  this.activeIndex = this.getDefaultActiveIndex();
321
312
  this.setActiveOption();
@@ -329,7 +320,7 @@ const Q2OptionList = class {
329
320
  async handleExternalKeydown(event) {
330
321
  const keysThatTriggerOpen = ['ArrowDown', 'ArrowUp', 'PageDown', 'PageUp', 'Home', 'End'];
331
322
  if (keysThatTriggerOpen.includes(event.key)) {
332
- this.open = true;
323
+ this.popoverState.emit({ open: true });
333
324
  }
334
325
  const keysThatTriggerDefault = ['ArrowDown', 'ArrowUp'];
335
326
  if (keysThatTriggerDefault.includes(event.key)) {
@@ -346,10 +337,101 @@ const Q2OptionList = class {
346
337
  }
347
338
  get hostElement() { return getElement(this); }
348
339
  static get watchers() { return {
349
- "selectedOptions": ["selectedOptionsUpdated"],
340
+ "selectedOptions": ["selectedOptionsUpdated"]
341
+ }; }
342
+ };
343
+ Q2OptionList.style = stylesCss$1;
344
+
345
+ const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus, 0 0 0 2px #33b4ff)}: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}*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus, 0 0 0 2px #33b4ff)}: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:inline-flex;width:100%}.container{display:block;overflow:hidden;opacity:0;height:0;position:absolute;visibility:hidden;background-color:var(--tct-popover-background-color, var(--t-popover-background-color, var(--app-white, #ffffff)));color:var(--tct-popover-text-color, var(--t-popover-text-color, var(--t-text, #4d4d4d)));z-index:var(--tct-popover-z-index, var(--t-popover-z-index, 100));width:max-content;min-width:var(--tct-popover-min-width, var(--t-popover-min-width, 135px));box-shadow:var(--tct-popover-box-shadow, var(--t-popover-box-shadow, var(--app-shadow-1, 0 2px 4px rgba(0, 0, 0, 0.3))));text-align:start;left:0;transition:opacity var(--app-tween-1, 0.2s ease);border-radius:var(--tct-popover-border-radius, var(--t-popover-border-radius, 0));max-height:var(--comp-pop-max-height);--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}.container::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}.container::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}.container::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}:host([block]) .container{left:unset;right:unset;width:100%}:host([align=right]) .container{right:0;text-align:end;left:unset}:host([open]) .container{display:block;height:auto;overflow:auto;opacity:1;visibility:visible}.container.up{bottom:var(--comp-pop-offset)}click-elsewhere{position:relative;display:block}.content{height:auto}";
346
+
347
+ const Q2Popover = class {
348
+ constructor(hostRef) {
349
+ registerInstance(this, hostRef);
350
+ this.popoverStateChanged = createEvent(this, "popoverStateChanged", 7);
351
+ this.privateDirection = 'down';
352
+ }
353
+ /// Lifecycle hooks ///
354
+ componentDidLoad() {
355
+ if (this.open)
356
+ this.determinePopDirection();
357
+ }
358
+ componentWillRender() {
359
+ if (this.containerElement && this.containerElement && this.open)
360
+ this.determinePopDirection();
361
+ }
362
+ /// Methods ///
363
+ async toggle() {
364
+ this.open = !this.open;
365
+ }
366
+ /// Watchers ///
367
+ openChanged(open) {
368
+ this.popoverStateChanged.emit({ open });
369
+ }
370
+ /// Listeners ///
371
+ popoverStateHandler(event) {
372
+ const { detail: { open }, } = event;
373
+ if (open === this.open)
374
+ return;
375
+ this.open = open;
376
+ event.stopPropagation();
377
+ }
378
+ /// Helpers ///
379
+ determinePopDirection() {
380
+ var _a;
381
+ const { containerElement, contentElement, direction, controlElement } = this;
382
+ if (containerElement)
383
+ containerElement.style.maxHeight = null;
384
+ if (direction) {
385
+ return (this.privateDirection = direction);
386
+ }
387
+ const contentHeight = contentElement.clientHeight;
388
+ const { top: topOffset, height } = (_a = controlElement === null || controlElement === void 0 ? void 0 : controlElement.getBoundingClientRect()) !== null && _a !== void 0 ? _a : {
389
+ top: 0,
390
+ height: 0,
391
+ };
392
+ const bottomOffset = window.innerHeight - topOffset - height;
393
+ const canShowFullSizeBelow = bottomOffset > contentHeight;
394
+ const canShowFullSizeAbove = contentHeight <= topOffset;
395
+ // Prefer full size above or below
396
+ if (canShowFullSizeBelow) {
397
+ return (this.privateDirection = 'down');
398
+ }
399
+ else if (canShowFullSizeAbove || !this.minHeight) {
400
+ this.determinePopOffset();
401
+ return (this.privateDirection = 'up');
402
+ }
403
+ // If full size will not fit and minHeight is set, then make as tall as possible
404
+ const { minHeight = 150 } = this;
405
+ const displayBuffer = 5;
406
+ const canShowSmallBelow = bottomOffset >= minHeight + displayBuffer;
407
+ if (canShowSmallBelow) {
408
+ const maxBelowHeight = Math.max(bottomOffset - displayBuffer, minHeight);
409
+ containerElement.style.setProperty('--comp-pop-max-height', `${maxBelowHeight}px`);
410
+ return (this.privateDirection = 'down');
411
+ }
412
+ else {
413
+ const maxAboveHeight = Math.max(topOffset, minHeight);
414
+ containerElement.style.setProperty('--comp-pop-max-height', `${maxAboveHeight}px`);
415
+ this.determinePopOffset();
416
+ return (this.privateDirection = 'up');
417
+ }
418
+ }
419
+ determinePopOffset() {
420
+ var _a;
421
+ const { controlElement, containerElement } = this;
422
+ const dropdownHeight = (_a = controlElement === null || controlElement === void 0 ? void 0 : controlElement.getBoundingClientRect().height) !== null && _a !== void 0 ? _a : 0;
423
+ containerElement.style.setProperty('--comp-pop-offset', `${dropdownHeight}px`);
424
+ }
425
+ /// DOM ///
426
+ render() {
427
+ const containerClasses = ['container', this.privateDirection];
428
+ return (h("div", { ref: el => (this.containerElement = el), class: containerClasses.join(' '), role: "menu" }, h("div", { ref: el => (this.contentElement = el), class: "content" }, h("slot", null))));
429
+ }
430
+ get hostElement() { return getElement(this); }
431
+ static get watchers() { return {
350
432
  "open": ["openChanged"]
351
433
  }; }
352
434
  };
353
- Q2OptionList.style = stylesCss;
435
+ Q2Popover.style = stylesCss;
354
436
 
355
- export { Q2OptionList as q2_option_list };
437
+ export { Q2OptionList as q2_option_list, Q2Popover as q2_popover };
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, g as getElement } from './index-6d5ed7cc.js';
2
- import { o as overrideFocus, i as isEventFromElement, l as loc, n as nextPaint } from './index-2ca8c93c.js';
2
+ import { o as overrideFocus, i as isEventFromElement, l as loc, n as nextPaint } from './index-eac6b89e.js';
3
3
 
4
4
  const stylesCss = "*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-global-focus, 0 0 0 2px #33b4ff)}: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{text-align:right;display:block}:host([hidden]){display:none}.container{display:inline-flex;column-gap:var(--tct-pagination-column-gap, var(--t-pagination-column-gap, var(--app-scale-2x, 10px)));align-items:center;height:var(--tct-pagination-height, var(--t-pagination-height, 44px))}.btn-group{display:flex;gap:var(--tct-pagination-btn-gap, var(--t-pagination-btn-gap, 0))}.description,.controls{white-space:nowrap}.controls{display:grid;grid-template-columns:auto 50px auto;align-items:center;gap:var(--tct-pagination-controls-gap, var(--t-pagination-controls-gap, var(--app-scale-1x, 5px)))}.controls[hidden]{display:none}.input-wrapper{height:var(--tct-pagination-height, var(--t-pagination-height, 44px));display:flex;align-items:center}q2-icon{--tct-icon-size:var(--tct-pagination-icon-size, var(--t-pagination-icon-size, 12px));color:var(--tct-pagination-icon-color, var(--t-pagination-icon-color, var(--t-text, #4d4d4d)))}q2-input{--tct-input-margin-top:0;--tct-input-margin-bottom:0;--tct-input-height:var(--tct-pagination-input-height, var(--t-pagination-input-height, 30px));--tct-input-min-height:var(--tct-input-height);--tct-input-align:center}";
5
5
 
@@ -103,7 +103,13 @@ const Q2Pagination = class {
103
103
  range: currentRange,
104
104
  recordType: recordType.toLowerCase(),
105
105
  total: total.toLocaleString(),
106
- })), h("div", { class: "btn-group" }, h("q2-btn", { label: "tecton.element.pagination.goToFirstPage", disabled: onFirstPage, hidden: isFullViewHidden, onClick: () => this.handlePageChange(1), "test-id": "firstPageBtn", "hide-label": true }, h("q2-icon", { type: "chevron-double-left" })), h("q2-btn", { label: loc('tecton.element.pagination.goToPage', [page - 1]), disabled: onFirstPage, onClick: () => this.handlePageChange(page - 1), "test-id": "prevPageBtn", "hide-label": true }, h("q2-icon", { type: "chevron-left" }))), h("div", { class: "controls", hidden: isFullViewHidden, "test-id": "controls" }, h("span", { "aria-hidden": "true" }, loc('tecton.element.pagination.page')), h("div", { class: "input-wrapper", onClick: () => this.inputField.dispatchEvent(new FocusEvent('focus')) }, h("q2-input", { type: "number", value: `${page}`, min: 1, max: this.totalPages, hideLabel: true, optional: true, label: `${loc('tecton.element.pagination.page')} (${loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()])})`, onChange: event => this.handlePageChange(event.detail.value), "test-id": "pageInput", current: "page", ref: el => (this.inputField = el) })), h("span", { "aria-hidden": "true" }, loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()]))), h("div", { class: "btn-group" }, h("q2-btn", { label: loc('tecton.element.pagination.goToPage', [page + 1]), disabled: onLastPage, onClick: () => this.handlePageChange(page + 1), "test-id": "nextPageBtn", "hide-label": true }, h("q2-icon", { type: "chevron-right" })), h("q2-btn", { label: "tecton.element.pagination.goToLastPage", disabled: onLastPage, hidden: isFullViewHidden, onClick: () => this.handlePageChange(totalPages), "test-id": "lastPageBtn", "hide-label": true }, h("q2-icon", { type: "chevron-double-right" })))));
106
+ })), h("div", { class: "btn-group" }, h("q2-btn", { label: loc('tecton.element.pagination.goToFirstPage'), disabled: onFirstPage, hidden: isFullViewHidden, onClick: () => this.handlePageChange(1), "test-id": "firstPageBtn", "hide-label": true }, h("q2-icon", { type: "chevron-double-left" })), h("q2-btn", { label: loc('tecton.element.pagination.goToPages', {
107
+ next: page - 1,
108
+ total: totalPages,
109
+ }), disabled: onFirstPage, onClick: () => this.handlePageChange(page - 1), "test-id": "prevPageBtn", "hide-label": true }, h("q2-icon", { type: "chevron-left" }))), h("div", { class: "controls", hidden: isFullViewHidden, "test-id": "controls" }, h("span", { "aria-hidden": "true" }, loc('tecton.element.pagination.page')), h("div", { class: "input-wrapper", onClick: () => this.inputField.dispatchEvent(new FocusEvent('focus')) }, h("q2-input", { type: "number", value: `${page}`, min: 1, max: this.totalPages, hideLabel: true, optional: true, label: `${loc('tecton.element.pagination.page')} (${loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()])})`, onChange: event => this.handlePageChange(event.detail.value), "test-id": "pageInput", current: "page", ref: el => (this.inputField = el) })), h("span", { "aria-hidden": "true" }, loc('tecton.element.pagination.ofPages', [totalPages.toLocaleString()]))), h("div", { class: "btn-group" }, h("q2-btn", { label: loc('tecton.element.pagination.goToPages', {
110
+ next: page + 1,
111
+ total: totalPages,
112
+ }), disabled: onLastPage, onClick: () => this.handlePageChange(page + 1), "test-id": "nextPageBtn", "hide-label": true }, h("q2-icon", { type: "chevron-right" })), h("q2-btn", { label: "tecton.element.pagination.goToLastPage", disabled: onLastPage, hidden: isFullViewHidden, onClick: () => this.handlePageChange(totalPages), "test-id": "lastPageBtn", "hide-label": true }, h("q2-icon", { type: "chevron-double-right" })))));
107
113
  }
108
114
  get hostElement() { return getElement(this); }
109
115
  };