q2-tecton-elements 1.10.6 → 1.10.9

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 (189) hide show
  1. package/dist/cjs/{index-f4153f5a.js → index-a55d3c34.js} +9 -0
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/q2-btn_2.cjs.entry.js +10 -6
  4. package/dist/cjs/q2-calendar.cjs.entry.js +2902 -6078
  5. package/dist/cjs/q2-carousel-pane.cjs.entry.js +50 -7
  6. package/dist/cjs/q2-carousel.cjs.entry.js +2719 -6513
  7. package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
  8. package/dist/cjs/q2-checkbox.cjs.entry.js +10 -2
  9. package/dist/cjs/q2-dropdown-item.cjs.entry.js +2 -2
  10. package/dist/cjs/q2-dropdown.cjs.entry.js +8 -2
  11. package/dist/cjs/q2-editable-field.cjs.entry.js +26 -11
  12. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  13. package/dist/cjs/q2-input.cjs.entry.js +9 -7
  14. package/dist/cjs/q2-loading-element.cjs.entry.js +1 -1
  15. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  16. package/dist/cjs/q2-message.cjs.entry.js +11 -3
  17. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  18. package/dist/cjs/q2-option.cjs.entry.js +3 -34
  19. package/dist/cjs/q2-radio-group.cjs.entry.js +10 -2
  20. package/dist/cjs/q2-radio.cjs.entry.js +10 -2
  21. package/dist/cjs/q2-section.cjs.entry.js +9 -3
  22. package/dist/cjs/q2-select.cjs.entry.js +175 -130
  23. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  24. package/dist/cjs/q2-stepper.cjs.entry.js +10 -4
  25. package/dist/cjs/q2-tab-container.cjs.entry.js +9 -11
  26. package/dist/cjs/q2-tab-pane.cjs.entry.js +2 -2
  27. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  28. package/dist/cjs/q2-textarea.cjs.entry.js +8 -4
  29. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  30. package/dist/collection/components/q2-avatar/index.js +1 -1
  31. package/dist/collection/components/q2-avatar/styles.css +63 -61
  32. package/dist/collection/components/q2-btn/index.js +8 -4
  33. package/dist/collection/components/q2-btn/styles.css +96 -96
  34. package/dist/collection/components/q2-calendar/helpers.js +77 -52
  35. package/dist/collection/components/q2-calendar/index.js +248 -196
  36. package/dist/collection/components/q2-calendar/styles.css +63 -84
  37. package/dist/collection/components/q2-calendar/validation.js +100 -166
  38. package/dist/collection/components/q2-carousel/index.js +204 -266
  39. package/dist/collection/components/q2-carousel/styles.css +152 -155
  40. package/dist/collection/components/q2-carousel-pane/index.js +67 -28
  41. package/dist/collection/components/q2-carousel-pane/styles.css +82 -16
  42. package/dist/collection/components/q2-checkbox/index.js +16 -2
  43. package/dist/collection/components/q2-checkbox/styles.css +152 -176
  44. package/dist/collection/components/q2-checkbox-group/index.js +1 -1
  45. package/dist/collection/components/q2-checkbox-group/styles.css +65 -81
  46. package/dist/collection/components/q2-dropdown/index.js +15 -2
  47. package/dist/collection/components/q2-dropdown/styles.css +49 -36
  48. package/dist/collection/components/q2-dropdown-item/index.js +1 -1
  49. package/dist/collection/components/q2-dropdown-item/styles.css +48 -62
  50. package/dist/collection/components/q2-editable-field/index.js +33 -12
  51. package/dist/collection/components/q2-editable-field/styles.css +49 -50
  52. package/dist/collection/components/q2-icon/styles.css +29 -29
  53. package/dist/collection/components/q2-input/index.js +9 -7
  54. package/dist/collection/components/q2-input/styles.css +211 -292
  55. package/dist/collection/components/q2-loading/index.js +1 -1
  56. package/dist/collection/components/q2-loading/skeleton/q2-loading-element/index.js +1 -1
  57. package/dist/collection/components/q2-loading/skeleton/q2-loading-element/styles.css +5 -6
  58. package/dist/collection/components/q2-loading/styles.css +130 -136
  59. package/dist/collection/components/q2-loc/index.js +1 -1
  60. package/dist/collection/components/q2-loc/styles.css +30 -31
  61. package/dist/collection/components/q2-message/index.js +18 -3
  62. package/dist/collection/components/q2-message/styles.css +32 -29
  63. package/dist/collection/components/q2-optgroup/index.js +1 -1
  64. package/dist/collection/components/q2-optgroup/styles.css +42 -47
  65. package/dist/collection/components/q2-option/index.js +4 -42
  66. package/dist/collection/components/q2-option/styles.css +29 -29
  67. package/dist/collection/components/q2-radio/index.js +16 -2
  68. package/dist/collection/components/q2-radio/styles.css +29 -29
  69. package/dist/collection/components/q2-radio-group/index.js +16 -2
  70. package/dist/collection/components/q2-radio-group/styles.css +67 -72
  71. package/dist/collection/components/q2-section/index.js +15 -3
  72. package/dist/collection/components/q2-section/styles.css +77 -77
  73. package/dist/collection/components/q2-select/index.js +182 -131
  74. package/dist/collection/components/q2-select/styles.css +33 -34
  75. package/dist/collection/components/q2-stepper/index.js +15 -3
  76. package/dist/collection/components/q2-stepper/styles.css +32 -32
  77. package/dist/collection/components/q2-stepper-pane/styles.css +29 -29
  78. package/dist/collection/components/q2-tab-container/index.js +7 -9
  79. package/dist/collection/components/q2-tab-container/styles.css +29 -29
  80. package/dist/collection/components/q2-tab-pane/index.js +2 -2
  81. package/dist/collection/components/q2-tab-pane/styles.css +34 -36
  82. package/dist/collection/components/q2-textarea/index.js +8 -4
  83. package/dist/collection/components/q2-textarea/styles.css +180 -228
  84. package/dist/collection/components/tecton-tab-pane/index.js +2 -2
  85. package/dist/collection/components/tecton-tab-pane/styles.css +50 -50
  86. package/dist/collection/utils/index.js +7 -0
  87. package/dist/esm/{index-476b86cc.js → index-ec6660af.js} +8 -1
  88. package/dist/esm/loader.js +1 -1
  89. package/dist/esm/q2-btn_2.entry.js +10 -6
  90. package/dist/esm/q2-calendar.entry.js +2902 -6078
  91. package/dist/esm/q2-carousel-pane.entry.js +51 -8
  92. package/dist/esm/q2-carousel.entry.js +2720 -6514
  93. package/dist/esm/q2-checkbox-group.entry.js +2 -2
  94. package/dist/esm/q2-checkbox.entry.js +10 -2
  95. package/dist/esm/q2-dropdown-item.entry.js +2 -2
  96. package/dist/esm/q2-dropdown.entry.js +8 -2
  97. package/dist/esm/q2-editable-field.entry.js +26 -11
  98. package/dist/esm/q2-icon.entry.js +1 -1
  99. package/dist/esm/q2-input.entry.js +9 -7
  100. package/dist/esm/q2-loading-element.entry.js +1 -1
  101. package/dist/esm/q2-loc.entry.js +1 -1
  102. package/dist/esm/q2-message.entry.js +11 -3
  103. package/dist/esm/q2-optgroup.entry.js +2 -2
  104. package/dist/esm/q2-option.entry.js +4 -35
  105. package/dist/esm/q2-radio-group.entry.js +10 -2
  106. package/dist/esm/q2-radio.entry.js +10 -2
  107. package/dist/esm/q2-section.entry.js +9 -3
  108. package/dist/esm/q2-select.entry.js +175 -130
  109. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  110. package/dist/esm/q2-stepper.entry.js +10 -4
  111. package/dist/esm/q2-tab-container.entry.js +7 -9
  112. package/dist/esm/q2-tab-pane.entry.js +2 -2
  113. package/dist/esm/q2-tecton-elements.js +1 -1
  114. package/dist/esm/q2-textarea.entry.js +8 -4
  115. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  116. package/dist/q2-tecton-elements/{p-4830affe.entry.js → p-07a5d703.entry.js} +1 -1
  117. package/dist/q2-tecton-elements/{p-84c05db6.entry.js → p-32ad664c.entry.js} +1 -1
  118. package/dist/q2-tecton-elements/p-37aba2a4.js +1 -0
  119. package/dist/q2-tecton-elements/p-4ae9d1f3.entry.js +1 -0
  120. package/dist/q2-tecton-elements/p-52f53e07.entry.js +1 -0
  121. package/dist/q2-tecton-elements/p-5559f126.entry.js +1 -0
  122. package/dist/q2-tecton-elements/p-6702eb4d.entry.js +1 -0
  123. package/dist/q2-tecton-elements/p-750bcd33.entry.js +1 -0
  124. package/dist/q2-tecton-elements/p-78642b7b.entry.js +1 -0
  125. package/dist/q2-tecton-elements/p-7e6fc65d.entry.js +1 -0
  126. package/dist/q2-tecton-elements/p-7eb39c90.entry.js +1 -0
  127. package/dist/q2-tecton-elements/p-81df91a1.entry.js +1 -0
  128. package/dist/q2-tecton-elements/{p-01e00610.entry.js → p-843b1ee9.entry.js} +1 -1
  129. package/dist/q2-tecton-elements/p-8509b171.entry.js +1 -0
  130. package/dist/q2-tecton-elements/p-8ea2c4f7.entry.js +1 -0
  131. package/dist/q2-tecton-elements/{p-d1d040ef.entry.js → p-95a73559.entry.js} +1 -1
  132. package/dist/q2-tecton-elements/p-96c9eb75.entry.js +1 -0
  133. package/dist/q2-tecton-elements/p-9b50c3c3.entry.js +1 -0
  134. package/dist/q2-tecton-elements/{p-a9bdd814.entry.js → p-a6f8d09a.entry.js} +1 -1
  135. package/dist/q2-tecton-elements/p-ab977515.entry.js +1 -0
  136. package/dist/q2-tecton-elements/{p-a166b9a6.entry.js → p-bb2e110a.entry.js} +1 -1
  137. package/dist/q2-tecton-elements/p-bbacb804.entry.js +1 -0
  138. package/dist/q2-tecton-elements/p-c555f1de.entry.js +1 -0
  139. package/dist/q2-tecton-elements/p-c5e55b9f.entry.js +1 -0
  140. package/dist/q2-tecton-elements/p-fa6eea5c.entry.js +1 -0
  141. package/dist/q2-tecton-elements/{p-61c0e5fd.entry.js → p-fbf7c5e6.entry.js} +1 -1
  142. package/dist/q2-tecton-elements/p-fc804ebd.entry.js +1 -0
  143. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  144. package/dist/test/helpers.js +4 -0
  145. package/dist/types/components/q2-btn/index.d.ts +1 -0
  146. package/dist/types/components/q2-calendar/helpers.d.ts +6 -6
  147. package/dist/types/components/q2-calendar/index.d.ts +16 -17
  148. package/dist/types/components/q2-calendar/types.d.ts +9 -26
  149. package/dist/types/components/q2-calendar/validation.d.ts +27 -12
  150. package/dist/types/components/q2-carousel/index.d.ts +15 -45
  151. package/dist/types/components/q2-carousel-pane/index.d.ts +5 -2
  152. package/dist/types/components/q2-checkbox/index.d.ts +2 -0
  153. package/dist/types/components/q2-dropdown/index.d.ts +1 -0
  154. package/dist/types/components/q2-editable-field/index.d.ts +5 -1
  155. package/dist/types/components/q2-input/index.d.ts +1 -1
  156. package/dist/types/components/q2-message/index.d.ts +2 -0
  157. package/dist/types/components/q2-option/index.d.ts +0 -4
  158. package/dist/types/components/q2-radio/index.d.ts +3 -0
  159. package/dist/types/components/q2-radio-group/index.d.ts +1 -0
  160. package/dist/types/components/q2-section/index.d.ts +1 -0
  161. package/dist/types/components/q2-select/index.d.ts +10 -7
  162. package/dist/types/components/q2-stepper/index.d.ts +2 -1
  163. package/dist/types/components/q2-tab-container/index.d.ts +1 -1
  164. package/dist/types/components/q2-textarea/index.d.ts +2 -1
  165. package/dist/types/components.d.ts +3 -2
  166. package/dist/types/util.d.ts +2 -1
  167. package/dist/types/utils/index.d.ts +2 -0
  168. package/dist/types/workspace/workspace/tecton-production_release_1.10.x/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +2 -1
  169. package/package.json +4 -5
  170. package/dist/q2-tecton-elements/p-1fc4e6f6.entry.js +0 -1
  171. package/dist/q2-tecton-elements/p-25a5f691.js +0 -1
  172. package/dist/q2-tecton-elements/p-27353237.entry.js +0 -1
  173. package/dist/q2-tecton-elements/p-3e100450.entry.js +0 -1
  174. package/dist/q2-tecton-elements/p-428d15fd.entry.js +0 -1
  175. package/dist/q2-tecton-elements/p-48fc317d.entry.js +0 -1
  176. package/dist/q2-tecton-elements/p-5222b792.entry.js +0 -1
  177. package/dist/q2-tecton-elements/p-5469c1e9.entry.js +0 -1
  178. package/dist/q2-tecton-elements/p-74c1a311.entry.js +0 -1
  179. package/dist/q2-tecton-elements/p-784af485.entry.js +0 -1
  180. package/dist/q2-tecton-elements/p-7c99a58b.entry.js +0 -1
  181. package/dist/q2-tecton-elements/p-7f74b629.entry.js +0 -1
  182. package/dist/q2-tecton-elements/p-831a461f.entry.js +0 -1
  183. package/dist/q2-tecton-elements/p-84c52d3b.entry.js +0 -9
  184. package/dist/q2-tecton-elements/p-997e4c7e.entry.js +0 -1
  185. package/dist/q2-tecton-elements/p-a224bc9c.entry.js +0 -1
  186. package/dist/q2-tecton-elements/p-d893fcf2.entry.js +0 -1
  187. package/dist/q2-tecton-elements/p-da7cca07.entry.js +0 -1
  188. package/dist/q2-tecton-elements/p-f17761da.entry.js +0 -1
  189. package/dist/q2-tecton-elements/p-f5e074f8.entry.js +0 -1
@@ -1,132 +1,194 @@
1
- .q2-carousel-pagination-navigation-wrapper {
2
- display: flex;
3
- justify-content: center;
4
- margin: .5rem 0;
1
+ * {
2
+ box-sizing: border-box;
5
3
  }
6
4
 
7
- .q2-carousel-pagination-navigation-wrapper.evenly-space {
8
- display: flex;
9
- justify-content: space-between;
5
+ *:active {
6
+ outline: none;
10
7
  }
11
8
 
12
- .q2-carousel-pagination-navigation-wrapper .q2-carousel-control-center-tray {
13
- display: flex;
9
+ *:focus {
10
+ outline: none;
11
+ box-shadow: var(--const-global-focus);
14
12
  }
15
13
 
16
- q2-carousel button {
17
- border: 0;
18
- background: transparent;
19
- transition: all .2s;
20
- opacity: 0.3;
14
+ :host {
15
+ box-shadow: none !important;
21
16
  }
22
17
 
23
- q2-carousel button:hover {
24
- opacity: 0.7;
25
- cursor: pointer;
18
+ ::-moz-focus-inner {
19
+ border: none;
26
20
  }
27
21
 
28
- .q2-carousel-navigation-button {
29
- border: 0;
30
- background: transparent;
31
- transition: all .2s;
32
- opacity: 0.3;
22
+ input,
23
+ textarea,
24
+ button {
25
+ font-family: inherit;
26
+ font-size: inherit;
33
27
  }
34
28
 
35
- .q2-carousel-navigation-button.hide-carousel-navigation-button {
36
- opacity: 0;
37
- pointer-events: none;
29
+ :host(.sr),
30
+ :host(.sr) button {
31
+ border: 0;
32
+ clip: rect(0 0 0 0);
33
+ height: 1px;
34
+ margin: -1px;
35
+ overflow: hidden;
36
+ padding: 0;
37
+ position: absolute;
38
+ width: 1px;
39
+ white-space: nowrap;
38
40
  }
39
41
 
40
- .q2-carousel-navigation-button.hide-carousel-navigation-button:hover {
41
- cursor: default;
42
+ .sr,
43
+ .sr button {
44
+ border: 0;
45
+ clip: rect(0 0 0 0);
46
+ height: 1px;
47
+ margin: -1px;
48
+ overflow: hidden;
49
+ padding: 0;
50
+ position: absolute;
51
+ width: 1px;
52
+ white-space: nowrap;
42
53
  }
43
54
 
44
- .q2-carousel-content-staging {
55
+ .hidden {
45
56
  display: none;
46
57
  }
47
58
 
48
- .q2-carousel-swiper-wrapper.compact {
49
- overflow: visible;
59
+ :host([hidden]) {
60
+ display: none;
50
61
  }
51
62
 
52
- .q2-carousel-swiper-container.compact q2-btn {
53
- margin-top: 4px;
63
+ .invisible {
64
+ visibility: hidden;
54
65
  }
55
66
 
56
- .q2-carousel-pagination {
57
- margin-top: 10px;
58
- height: 12px;
59
- display: flex;
60
- align-content: center;
61
- justify-content: center;
67
+ button {
68
+ border: 0;
69
+ background: transparent;
70
+ transition: all 0.2s;
71
+ opacity: 0.3;
72
+ cursor: pointer;
73
+ }
74
+ button:hover {
75
+ opacity: 0.7;
62
76
  }
63
77
 
64
- .q2-carousel-pagination.dynamic .q2-carousel-page-indicator {
65
- display: none;
78
+ q2-carousel {
79
+ display: flex;
80
+ flex-direction: column-reverse;
66
81
  }
67
82
 
68
- .q2-carousel-pagination .q2-carousel-page-indicator {
69
- display: inline-block;
70
- height: 12px;
71
- width: 12px;
72
- border-radius: 50%;
73
- background-color: var(---tct-carousel-pagination-inactive-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-grayl1, var(--app-gray-l1,#CCCCCC)))));
74
- margin-right: .5rem;
75
- padding: 0;
76
- border: 0;
77
- transition: all .5s;
78
- opacity: 0.7;
83
+ .swiper-container {
84
+ --comp-container-padding: var(--app-scale-1x, 5px) 0 var(--app-scale-2x, 10px);
85
+ display: block;
86
+ width: 100%;
87
+ margin-left: auto;
88
+ margin-right: auto;
89
+ position: relative;
90
+ overflow: hidden;
91
+ padding: var(--tct-carousel-container-padding, var(--t-carousel-container-padding, var(--comp-container-padding, 5px 0 10px)));
79
92
  }
80
93
 
81
- .q2-carousel-pagination .q2-carousel-page-indicator:hover {
82
- cursor: pointer;
83
- background-color: var(---tct-carousel-pagination-active-color, var(--tct-primary, var(--t-primary, #006eb2)));
84
- opacity: 1;
94
+ .insufficient-pane-feedback {
95
+ text-align: center;
96
+ box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.25);
97
+ background-color: var(--tct-carousel-background-color, var(--t-carousel-background-color, var(--tct-white, var(--app-white, #ffffff))));
98
+ border: var(--tct-carousel-pane-border-width, var(--t-carousel-pane-border-width, 1px)) solid var(--tct-carousel-pane-border-color, var(--t-carousel-pane-border-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))));
99
+ border-radius: var(--tct-carousel-pane-border-radius, var(--t-carousel-pane-border-radius, 8px));
100
+ padding: var(--tct-carousel-pane-padding, var(--t-carousel-pane-padding, 0.5rem 0.5rem 0.5rem 0.5rem));
101
+ min-height: 10em;
102
+ }
103
+ .insufficient-pane-feedback.content-peek-display {
104
+ max-width: 395px;
105
+ margin: 0 auto;
106
+ }
107
+ .insufficient-pane-feedback .insufficient-panes-header,
108
+ .insufficient-pane-feedback .insufficient-panes-body {
109
+ text-align: center;
110
+ }
111
+ .insufficient-pane-feedback .insufficient-panes-header strong {
112
+ font-weight: 600;
113
+ }
114
+ .insufficient-pane-feedback .insufficient-panes-body {
115
+ margin: 0 auto 2rem auto;
116
+ max-width: 75%;
117
+ }
118
+ .insufficient-pane-feedback .insufficient-panes-icon-wrapper {
119
+ display: flex;
120
+ justify-content: center;
121
+ margin: 1rem 0 2rem 0;
122
+ }
123
+ .insufficient-pane-feedback .insufficient-panes-icon-wrapper q2-icon {
124
+ width: 38px;
85
125
  }
86
126
 
87
- .q2-carousel-pagination .q2-carousel-page-indicator.active-page {
88
- display: inline-block;
89
- background-color: var(---tct-carousel-pagination-active-color, var(--tct-primary, var(--t-primary, #006eb2)));
127
+ .q2-carousel-pagination-navigation-wrapper {
128
+ display: flex;
129
+ justify-content: center;
130
+ align-items: center;
131
+ }
132
+ .q2-carousel-pagination-navigation-wrapper.evenly-space {
133
+ justify-content: space-between;
90
134
  }
91
135
 
92
- .q2-carousel-pagination.dynamic .q2-carousel-page-indicator.active-adjacent {
93
- display: inline-block;
94
- height: 10px;
95
- width: 10px;
136
+ .q2-carousel-control-center-tray {
137
+ display: flex;
138
+ align-items: center;
96
139
  }
97
140
 
98
- .q2-carousel-pagination.dynamic .q2-carousel-page-indicator.active-adjacent-adjacent {
99
- display: inline-block;
100
- height: 8px;
101
- width: 8px;
141
+ .q2-carousel-swiper-wrapper.compact {
142
+ overflow: visible;
143
+ }
144
+ .q2-carousel-swiper-wrapper.compact q2-btn {
145
+ margin-top: 4px;
102
146
  }
103
147
 
104
- .q2-carousel-swiper-container .sr-only {
105
- position: absolute;
106
- width: 1px;
107
- height: 1px;
148
+ .q2-carousel-pagination {
149
+ height: 12px;
150
+ display: flex;
151
+ align-content: center;
152
+ justify-content: center;
153
+ gap: 0.5rem;
154
+ }
155
+ .q2-carousel-pagination .q2-carousel-page-indicator {
156
+ display: inline-block;
157
+ height: 12px;
158
+ width: 12px;
159
+ border-radius: 50%;
160
+ background-color: var(--tct-carousel-pagination-inactive-color, var(--t-carousel-pagination-inactive-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))));
108
161
  padding: 0;
109
- margin: -1px;
110
- overflow: hidden;
111
- clip: rect(0 0 0 0);
112
162
  border: 0;
163
+ transition: all 0.5s;
164
+ opacity: 0.7;
113
165
  }
114
-
115
- q2-carousel .swiper-container {
116
- margin-left: auto;
117
- margin-right: auto;
118
- position: relative;
119
- overflow: hidden;
120
- list-style: none;
121
- padding: 5px 0 0 0;
122
- /* Fix of Webkit flickering */
123
- z-index: 1;
166
+ .q2-carousel-pagination .q2-carousel-page-indicator:hover {
167
+ background-color: var(--tct-carousel-pagination-active-color, var(--t-carousel-pagination-active-color, var(--tct-primary, var(--t-primary, #006eb2))));
168
+ opacity: 1;
124
169
  }
125
-
126
- q2-carousel .swiper-container:focus {
127
- box-shadow: none;
170
+ .q2-carousel-pagination .q2-carousel-page-indicator.active-page {
171
+ display: inline-block;
172
+ background-color: var(--tct-carousel-pagination-active-color, var(--t-carousel-pagination-active-color, var(--tct-primary, var(--t-primary, #006eb2))));
173
+ }
174
+ .q2-carousel-pagination.dynamic .q2-carousel-page-indicator {
175
+ display: none;
176
+ }
177
+ .q2-carousel-pagination.dynamic .q2-carousel-page-indicator.active-adjacent {
178
+ display: inline-block;
179
+ height: 10px;
180
+ width: 10px;
181
+ }
182
+ .q2-carousel-pagination.dynamic .q2-carousel-page-indicator.active-adjacent-adjacent {
183
+ display: inline-block;
184
+ height: 8px;
185
+ width: 8px;
128
186
  }
129
187
 
188
+ .q2-carousel-swiper-container {
189
+ /** CONTENT PEEKING **/
190
+ /** FULL-WIDTH PANES **/
191
+ }
130
192
  .q2-carousel-swiper-container .swiper-wrapper {
131
193
  position: relative;
132
194
  width: 100%;
@@ -136,75 +198,10 @@ q2-carousel .swiper-container:focus {
136
198
  transition-property: transform;
137
199
  box-sizing: content-box;
138
200
  }
139
-
140
- q2-carousel .swiper-slide-invisible-blank {
141
- visibility: hidden;
142
- }
143
-
144
- /* a11y */
145
- q2-carousel .swiper-container .swiper-notification {
146
- position: absolute;
147
- left: 0;
148
- top: 0;
149
- pointer-events: none;
150
- opacity: 0;
151
- z-index: -1000;
152
- }
153
-
154
- /** CONTENT PEEKING **/
155
201
  .q2-carousel-swiper-container.content-peek-display .q2-carousel-pane:not(.swiper-slide-active) {
156
202
  transform: scale(0.9);
157
203
  }
158
-
159
- /** FULL-WIDTH PANES **/
160
- .q2-carousel-swiper-container.full-width-display {
161
- padding: 5px;
162
- }
163
-
164
- /** INSUFFICIENT CONTENT **/
165
- .q2-carousel-swiper-container.swiper-container.insufficient-panes .q2-carousel-swiper-wrapper,
166
- .q2-carousel-swiper-container.swiper-container.insufficient-panes .q2-carousel-pagination-navigation-wrapper {
167
- display: none;
168
- }
169
-
170
- q2-carousel .insufficient-pane-feedback {
171
- text-align: center;
172
- }
173
-
174
- q2-carousel .insufficient-pane-feedback.content-peek-display {
175
- max-width: 395px;
176
- margin: 0 auto;
177
- }
178
-
179
- q2-carousel .insufficient-panes-header,
180
- q2-carousel .insufficient-panes-body {
181
- text-align: center;
182
- }
183
-
184
- q2-carousel .insufficient-panes-header strong {
185
- font-weight: 600;
186
- }
187
-
188
- q2-carousel .insufficient-pane-feedback {
189
- box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.25);
190
- background-color: var(---tct-carousel-background-color, var(--tct-white, var(--app-white, #ffffff)));
191
- border: var(--tct-carousel-pane-border-width, 1px) solid var(--tct-carousel-pane-border-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-grayl1, #CCCCCC)))));
192
- border-radius: var(--tct-carousel-pane-border-radius, 8px);
193
- padding: var(--tct-carousel-pane-padding, .5rem .5rem .5rem .5rem);
194
- min-height: 10em;
195
- }
196
-
197
- q2-carousel .insufficient-panes-icon-wrapper {
198
- display: flex;
199
- justify-content: center;
200
- margin: 1rem 0 2rem 0;
201
- }
202
-
203
- q2-carousel .insufficient-panes-icon-wrapper q2-icon {
204
- width: 38px;
205
- }
206
-
207
- q2-carousel .insufficient-pane-feedback .insufficient-panes-body {
208
- margin: 0 auto 2rem auto;
209
- max-width: 75%;
210
- }
204
+ .q2-carousel-swiper-container.full-width-display {
205
+ --comp-container-padding: var(--app-scale-1x, 5px) var(--app-scale-2x, 10px) var(--app-scale-2x, 10px);
206
+ padding: var(--tct-carousel-full-width-container-padding, var(--t-carousel-full-width-container-padding, var(--comp-container-padding, 5px 10px 10px)));
207
+ }
@@ -1,29 +1,65 @@
1
- import { Component, Element, Host, Prop, h } from '@stencil/core';
1
+ import { Component, Event, Element, Host, Watch, Prop, h } from '@stencil/core';
2
2
  import { loc } from 'src/utils';
3
3
  export class Q2Carousel {
4
4
  constructor() {
5
5
  this.generatePaneClass = (currentIndex) => {
6
6
  return `q2-carousel-pane swiper-slide q2-carousel-pane-${currentIndex}`;
7
7
  };
8
+ this.paneClicked = event => {
9
+ if (this.isActivePane)
10
+ return;
11
+ event.preventDefault();
12
+ this.clickCarouselPane.emit({
13
+ paneIndex: this.index,
14
+ pane: this.hostElement
15
+ });
16
+ };
8
17
  }
9
18
  get currentPaneIndex() {
10
19
  return Array.prototype.indexOf.call(this.hostElement.parentElement.children, this.hostElement);
11
20
  }
21
+ componentDidLoad() {
22
+ this.determineDisabledContent();
23
+ }
24
+ determineDisabledContent() {
25
+ const { isActivePane } = this;
26
+ const focusableElements = this.hostElement.querySelectorAll('q2-btn, a[href], button, [tabindex]:not([tabindex="-1"])');
27
+ focusableElements.forEach(element => {
28
+ const hasValidTabIndex = element.hasAttribute('tabindex') && parseInt(element.getAttribute('tabindex')) >= 0;
29
+ if (hasValidTabIndex) {
30
+ element.dataset.q2Tabindex = `${element.tabIndex}`;
31
+ }
32
+ if (isActivePane) {
33
+ if (element.hasAttribute('data-q2-tabindex')) {
34
+ element.tabIndex = parseInt(element.getAttribute('data-q2-tabindex'));
35
+ element.removeAttribute('data-q2-tabindex');
36
+ }
37
+ else if (element.tagName.startsWith('Q2-')) {
38
+ element.tabIndex = undefined;
39
+ }
40
+ else {
41
+ element.removeAttribute('tabindex');
42
+ }
43
+ }
44
+ else {
45
+ element.tabIndex = -1;
46
+ }
47
+ });
48
+ }
12
49
  render() {
13
- return (h(Host, { class: this.generatePaneClass(this.currentPaneIndex), tabIndex: "0", "aria-hidden": this.hideFromScreenReader, "aria-label": this.label },
50
+ const { label } = this;
51
+ return (h(Host, { class: this.generatePaneClass(this.currentPaneIndex), tabIndex: this.isActivePane ? 0 : -1, role: "group", "aria-roledescription": "slide", "aria-hidden": this.isActivePane ? undefined : 'true', "aria-label": label
52
+ ? loc(label)
53
+ : loc('tecton.element.carousel.itemDescription', [
54
+ (this.currentPaneIndex + 1).toString(),
55
+ (this.siblingCount || 0).toString()
56
+ ]), onClick: this.paneClicked },
14
57
  h("article", { class: "q2-carousel-pane-main-content" },
15
- h("slot", null),
16
- h("span", { class: "sr-only item-count" },
17
- loc('tecton.element.carousel.itemDescription', [
18
- (this.currentPaneIndex + 1).toString()
19
- ]),
20
- loc('tecton.element.carousel.collectionDescription', [
21
- (this.siblingCount || 0).toString()
22
- ])))));
58
+ h("slot", null))));
23
59
  }
24
60
  static get is() { return "q2-carousel-pane"; }
25
61
  static get originalStyleUrls() { return {
26
- "$": ["styles.css"]
62
+ "$": ["styles.scss"]
27
63
  }; }
28
64
  static get styleUrls() { return {
29
65
  "$": ["styles.css"]
@@ -63,23 +99,6 @@ export class Q2Carousel {
63
99
  "attribute": "sibling-count",
64
100
  "reflect": false
65
101
  },
66
- "hideFromScreenReader": {
67
- "type": "boolean",
68
- "mutable": false,
69
- "complexType": {
70
- "original": "boolean",
71
- "resolved": "boolean",
72
- "references": {}
73
- },
74
- "required": false,
75
- "optional": false,
76
- "docs": {
77
- "tags": [],
78
- "text": ""
79
- },
80
- "attribute": "hide-from-screen-reader",
81
- "reflect": true
82
- },
83
102
  "isActivePane": {
84
103
  "type": "boolean",
85
104
  "mutable": false,
@@ -115,5 +134,25 @@ export class Q2Carousel {
115
134
  "reflect": true
116
135
  }
117
136
  }; }
137
+ static get events() { return [{
138
+ "method": "clickCarouselPane",
139
+ "name": "clickCarouselPane",
140
+ "bubbles": true,
141
+ "cancelable": true,
142
+ "composed": true,
143
+ "docs": {
144
+ "tags": [],
145
+ "text": ""
146
+ },
147
+ "complexType": {
148
+ "original": "any",
149
+ "resolved": "any",
150
+ "references": {}
151
+ }
152
+ }]; }
118
153
  static get elementRef() { return "hostElement"; }
154
+ static get watchers() { return [{
155
+ "propName": "isActivePane",
156
+ "methodName": "determineDisabledContent"
157
+ }]; }
119
158
  }
@@ -1,30 +1,96 @@
1
+ * {
2
+ box-sizing: border-box;
3
+ }
4
+
5
+ *:active {
6
+ outline: none;
7
+ }
8
+
9
+ *:focus {
10
+ outline: none;
11
+ box-shadow: var(--const-global-focus);
12
+ }
13
+
14
+ :host {
15
+ box-shadow: none !important;
16
+ }
17
+
18
+ ::-moz-focus-inner {
19
+ border: none;
20
+ }
21
+
22
+ input,
23
+ textarea,
24
+ button {
25
+ font-family: inherit;
26
+ font-size: inherit;
27
+ }
28
+
29
+ :host(.sr),
30
+ :host(.sr) button {
31
+ border: 0;
32
+ clip: rect(0 0 0 0);
33
+ height: 1px;
34
+ margin: -1px;
35
+ overflow: hidden;
36
+ padding: 0;
37
+ position: absolute;
38
+ width: 1px;
39
+ white-space: nowrap;
40
+ }
41
+
42
+ .sr,
43
+ .sr button {
44
+ border: 0;
45
+ clip: rect(0 0 0 0);
46
+ height: 1px;
47
+ margin: -1px;
48
+ overflow: hidden;
49
+ padding: 0;
50
+ position: absolute;
51
+ width: 1px;
52
+ white-space: nowrap;
53
+ }
54
+
55
+ .hidden {
56
+ display: none;
57
+ }
58
+
59
+ :host([hidden]) {
60
+ display: none;
61
+ }
62
+
63
+ .invisible {
64
+ visibility: hidden;
65
+ }
66
+
1
67
  q2-carousel .swiper-slide {
2
68
  flex-shrink: 0;
3
69
  width: 100%;
4
70
  height: 100%;
5
71
  position: relative;
6
72
  transition-property: transform;
7
- transition: all .2s;
73
+ transition: all 0.2s;
8
74
  }
9
75
 
10
- .q2-carousel-pane .q2-carousel-pane-main-content {
11
- box-shadow: 0px 2px 8px 0px var(--t-top-a1, rgba(0, 0, 0, 0.25));
12
- background-color: var(---tct-carousel-background-color, var(--tct-white, var(--app-white, #ffffff)));
13
- border: var(--tct-carousel-pane-border-width, 1px) solid var(--tct-carousel-pane-border-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1,#cccccc)))));
14
- border-radius: var(--tct-carousel-pane-border-radius, 8px);
15
- padding: var(--tct-carousel-pane-padding, .5rem .5rem .5rem .5rem);
16
- min-height: 10em;
76
+ q2-carousel-pane.q2-carousel-pane {
77
+ cursor: grab;
78
+ }
79
+ q2-carousel-pane.q2-carousel-pane:not([is-active-pane]) * {
80
+ cursor: pointer;
17
81
  }
18
-
19
82
  q2-carousel-pane.q2-carousel-pane:focus {
20
83
  box-shadow: none;
21
84
  }
22
-
23
- .q2-carousel-pane:focus .q2-carousel-pane-main-content {
85
+ q2-carousel-pane.q2-carousel-pane:focus .q2-carousel-pane-main-content {
24
86
  outline: none;
25
- box-shadow: 0 0 0 2px #33B4FF; /** Tecton focus styling **/
87
+ box-shadow: var(--tct-global-focus, var(--const-global-focus, 0 0 0 2px #33b4ff));
26
88
  }
27
-
28
- .q2-carousel-pane .q2-carousel-pane-main-content:hover {
29
- cursor: grab;
30
- }
89
+ q2-carousel-pane.q2-carousel-pane .q2-carousel-pane-main-content {
90
+ box-shadow: 0px 2px 8px 0px var(--t-top-a1, rgba(0, 0, 0, 0.25));
91
+ background-color: var(--tct-carousel-background-color, var(--t-carousel-background-color, var(--tct-white, var(--app-white, #ffffff))));
92
+ border: var(--tct-carousel-pane-border-width, var(--t-carousel-pane-border-width, 1px)) solid var(--tct-carousel-pane-border-color, var(--t-carousel-pane-border-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))));
93
+ border-radius: var(--tct-carousel-pane-border-radius, var(--t-carousel-pane-border-radius, 8px));
94
+ padding: var(--tct-carousel-pane-padding, var(--t-carousel-pane-padding, 0.5rem 0.5rem 0.5rem 0.5rem));
95
+ min-height: 10em;
96
+ }
@@ -1,5 +1,5 @@
1
1
  import { Component, Prop, Element, Listen, Watch, Event, h } from '@stencil/core';
2
- import { createGuid, handleAriaLabel, loc } from 'src/utils';
2
+ import { createGuid, handleAriaLabel, isEventFromElement, loc, overrideFocus } from 'src/utils';
3
3
  export class Q2Checkbox {
4
4
  constructor() {
5
5
  this.checked = false;
@@ -17,12 +17,20 @@ export class Q2Checkbox {
17
17
  componentWillLoad() {
18
18
  handleAriaLabel(this);
19
19
  }
20
+ componentDidLoad() {
21
+ overrideFocus(this.hostElement);
22
+ }
20
23
  //////// Host Element Events ////////
21
24
  defaultChangeHandler(event) {
22
25
  if (event.target === this.hostElement && !this.hostElement.onchange && !!event.detail) {
23
26
  this.checked = event.detail.checked;
24
27
  }
25
28
  }
29
+ delegateFocus(event) {
30
+ if (!isEventFromElement(event, this.hostElement))
31
+ return;
32
+ this.hostElement.shadowRoot.querySelector('input').focus();
33
+ }
26
34
  ////////// OBSERVERS //////////
27
35
  ariaLabelObserver() {
28
36
  handleAriaLabel(this);
@@ -67,7 +75,7 @@ export class Q2Checkbox {
67
75
  static get is() { return "q2-checkbox"; }
68
76
  static get encapsulation() { return "shadow"; }
69
77
  static get originalStyleUrls() { return {
70
- "$": ["styles.css"]
78
+ "$": ["styles.scss"]
71
79
  }; }
72
80
  static get styleUrls() { return {
73
81
  "$": ["styles.css"]
@@ -306,5 +314,11 @@ export class Q2Checkbox {
306
314
  "target": undefined,
307
315
  "capture": false,
308
316
  "passive": false
317
+ }, {
318
+ "name": "focus",
319
+ "method": "delegateFocus",
320
+ "target": undefined,
321
+ "capture": false,
322
+ "passive": false
309
323
  }]; }
310
324
  }