@ionic/core 7.5.8-dev.11701894917.1c1465bd → 7.5.8-dev.11702056888.11188f48

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 (198) hide show
  1. package/components/data.js +1 -1
  2. package/components/ion-datetime.js +39 -30
  3. package/components/ion-picker-column-option.d.ts +11 -0
  4. package/components/ion-picker-column-option.js +9 -0
  5. package/components/ion-picker-column.js +2 -2
  6. package/components/ion-picker-legacy-column.d.ts +11 -0
  7. package/components/ion-picker-legacy-column.js +9 -0
  8. package/components/{ion-picker-internal.d.ts → ion-picker-legacy.d.ts} +4 -4
  9. package/components/ion-picker-legacy.js +309 -0
  10. package/components/ion-picker.js +1 -309
  11. package/components/overlays.js +6 -3
  12. package/components/picker-column-option.js +122 -0
  13. package/components/picker-column.js +351 -322
  14. package/components/picker-column2.js +379 -0
  15. package/components/{picker-internal.js → picker.js} +29 -22
  16. package/dist/cjs/{data-36b9094e.js → data-e7526b58.js} +1 -1
  17. package/dist/cjs/index.cjs.js +1 -1
  18. package/dist/cjs/ion-action-sheet.cjs.entry.js +1 -1
  19. package/dist/cjs/ion-alert.cjs.entry.js +1 -1
  20. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  21. package/dist/cjs/ion-datetime_3.cjs.entry.js +29 -35
  22. package/dist/cjs/ion-loading.cjs.entry.js +1 -1
  23. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  24. package/dist/cjs/ion-modal.cjs.entry.js +1 -1
  25. package/dist/cjs/ion-picker-column-option.cjs.entry.js +104 -0
  26. package/dist/cjs/{ion-picker-column-internal.cjs.entry.js → ion-picker-column.cjs.entry.js} +104 -87
  27. package/dist/cjs/{ion-picker-internal.cjs.entry.js → ion-picker.cjs.entry.js} +26 -19
  28. package/dist/cjs/ion-popover.cjs.entry.js +1 -1
  29. package/dist/cjs/ion-select_3.cjs.entry.js +1 -1
  30. package/dist/cjs/ion-toast.cjs.entry.js +1 -1
  31. package/dist/cjs/ionic.cjs.js +1 -1
  32. package/dist/cjs/loader.cjs.js +1 -1
  33. package/dist/cjs/{overlays-2c6b1072.js → overlays-e8e05b0e.js} +6 -3
  34. package/dist/collection/collection-manifest.json +7 -6
  35. package/dist/collection/components/datetime/datetime.ios.css +2 -13
  36. package/dist/collection/components/datetime/datetime.js +19 -16
  37. package/dist/collection/components/datetime/datetime.md.css +2 -13
  38. package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
  39. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  40. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
  41. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
  42. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +43 -41
  43. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  44. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +2 -2
  45. package/dist/collection/components/datetime/test/values/datetime.e2e.js +15 -12
  46. package/dist/collection/components/datetime/utils/data.js +1 -1
  47. package/dist/collection/components/picker/picker.ios.css +113 -211
  48. package/dist/collection/components/picker/picker.js +468 -743
  49. package/dist/collection/components/picker/picker.md.css +109 -198
  50. package/dist/collection/components/{picker-internal/test/a11y/picker-internal.e2e.js → picker/test/a11y/picker.e2e.js} +2 -2
  51. package/dist/collection/components/picker/test/basic/picker.e2e.js +99 -13
  52. package/dist/collection/components/picker/test/custom/picker.e2e.js +85 -0
  53. package/dist/collection/components/{picker-internal/test/keyboard-entry/picker-internal.e2e.js → picker/test/keyboard-entry/picker.e2e.js} +63 -32
  54. package/dist/collection/components/{picker-column-internal/picker-column-internal.md.css → picker-column/picker-column.css} +96 -83
  55. package/dist/collection/components/picker-column/picker-column.js +497 -335
  56. package/dist/collection/components/{picker-column-internal/test/basic/picker-column-internal.e2e.js → picker-column/test/basic/picker-column.e2e.js} +8 -8
  57. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +91 -0
  58. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +39 -0
  59. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +87 -0
  60. package/dist/collection/components/picker-column-option/picker-column-option.js +173 -0
  61. package/dist/collection/components/{picker-column-internal/picker-column-internal.ios.css → picker-column-option/picker-column-option.md.css} +6 -53
  62. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +18 -0
  63. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +37 -0
  64. package/dist/collection/components/picker-column-option/test/picker-column-option.spec.js +29 -0
  65. package/dist/collection/components/{picker-internal/picker-internal.md.css → picker-legacy/picker.ios.css} +207 -98
  66. package/dist/collection/components/picker-legacy/picker.js +817 -0
  67. package/dist/collection/components/{picker-internal/picker-internal.ios.css → picker-legacy/picker.md.css} +192 -100
  68. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +25 -0
  69. package/dist/collection/components/{picker → picker-legacy}/test/is-open/picker.e2e.js +4 -4
  70. package/dist/collection/components/{picker → picker-legacy}/test/picker-id.spec.js +5 -5
  71. package/dist/collection/components/{picker → picker-legacy}/test/trigger/picker.e2e.js +1 -1
  72. package/dist/collection/components/picker-legacy-column/picker-column.js +419 -0
  73. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-aria.spec.js +3 -3
  74. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column-dynamic.spec.js +2 -2
  75. package/dist/collection/components/{picker-column → picker-legacy-column}/test/picker-column.spec.js +2 -2
  76. package/dist/collection/components/{picker-column → picker-legacy-column}/test/standalone/picker-column.e2e.js +3 -3
  77. package/dist/collection/utils/overlays.js +6 -3
  78. package/dist/docs.json +493 -24
  79. package/dist/esm/{data-f5c75b4e.js → data-4b9508c9.js} +1 -1
  80. package/dist/esm/index.js +1 -1
  81. package/dist/esm/ion-action-sheet.entry.js +1 -1
  82. package/dist/esm/ion-alert.entry.js +1 -1
  83. package/dist/esm/ion-datetime-button.entry.js +1 -1
  84. package/dist/esm/ion-datetime_3.entry.js +28 -34
  85. package/dist/esm/ion-loading.entry.js +1 -1
  86. package/dist/esm/ion-menu_3.entry.js +1 -1
  87. package/dist/esm/ion-modal.entry.js +1 -1
  88. package/dist/esm/ion-picker-column-option.entry.js +100 -0
  89. package/dist/esm/{ion-picker-column-internal.entry.js → ion-picker-column.entry.js} +104 -87
  90. package/dist/esm/{ion-picker-internal.entry.js → ion-picker.entry.js} +26 -19
  91. package/dist/esm/ion-popover.entry.js +1 -1
  92. package/dist/esm/ion-select_3.entry.js +1 -1
  93. package/dist/esm/ion-toast.entry.js +1 -1
  94. package/dist/esm/ionic.js +1 -1
  95. package/dist/esm/loader.js +1 -1
  96. package/dist/esm/{overlays-d23ea6e1.js → overlays-fbc5cab5.js} +6 -3
  97. package/dist/esm-es5/index.js +1 -1
  98. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  99. package/dist/esm-es5/ion-alert.entry.js +1 -1
  100. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  101. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  102. package/dist/esm-es5/ion-loading.entry.js +1 -1
  103. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  104. package/dist/esm-es5/ion-modal.entry.js +1 -1
  105. package/dist/esm-es5/ion-picker-column-option.entry.js +4 -0
  106. package/dist/esm-es5/ion-picker-column.entry.js +4 -0
  107. package/dist/esm-es5/ion-picker.entry.js +4 -0
  108. package/dist/esm-es5/ion-popover.entry.js +1 -1
  109. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  110. package/dist/esm-es5/ion-toast.entry.js +1 -1
  111. package/dist/esm-es5/ionic.js +1 -1
  112. package/dist/esm-es5/loader.js +1 -1
  113. package/dist/esm-es5/overlays-fbc5cab5.js +4 -0
  114. package/dist/html.html-data.json +152 -1
  115. package/dist/ionic/index.esm.js +1 -1
  116. package/dist/ionic/ionic.esm.js +1 -1
  117. package/dist/ionic/{p-2f300cca.entry.js → p-21c3515a.entry.js} +1 -1
  118. package/dist/ionic/p-23672c82.system.entry.js +4 -0
  119. package/dist/ionic/{p-1f620cd4.system.entry.js → p-26798a7b.system.entry.js} +1 -1
  120. package/dist/ionic/{p-e1e5afe1.system.entry.js → p-27bcbbc7.system.entry.js} +1 -1
  121. package/dist/ionic/p-36d194c5.entry.js +4 -0
  122. package/dist/ionic/{p-3b568d18.entry.js → p-4a081ea9.entry.js} +1 -1
  123. package/dist/ionic/{p-2f2293da.system.entry.js → p-4a36430f.system.entry.js} +1 -1
  124. package/dist/ionic/{p-fff7a57e.system.js → p-54dfc9b5.system.js} +1 -1
  125. package/dist/ionic/{p-60b386c9.system.entry.js → p-563c41f0.system.entry.js} +1 -1
  126. package/dist/ionic/p-5a1aac13.system.entry.js +4 -0
  127. package/dist/ionic/{p-27ea6f4e.entry.js → p-5d42b6b4.entry.js} +1 -1
  128. package/dist/ionic/{p-2dc43d20.entry.js → p-6b7c55cd.entry.js} +1 -1
  129. package/dist/ionic/{p-f78efbd1.entry.js → p-73190c5f.entry.js} +1 -1
  130. package/dist/ionic/{p-af19a573.entry.js → p-73aa7604.entry.js} +1 -1
  131. package/dist/ionic/{p-39a335b6.system.entry.js → p-8017aad2.system.entry.js} +1 -1
  132. package/dist/ionic/{p-1e57bd24.entry.js → p-846ee227.entry.js} +1 -1
  133. package/dist/ionic/p-8a1ad27c.system.entry.js +4 -0
  134. package/dist/ionic/p-8ab2d8be.entry.js +4 -0
  135. package/dist/ionic/p-8fa6583d.system.js +4 -0
  136. package/dist/ionic/{p-4df97e3c.system.entry.js → p-96dbbac1.system.entry.js} +1 -1
  137. package/dist/ionic/{p-8780cc2a.entry.js → p-a8baa23e.entry.js} +1 -1
  138. package/dist/ionic/p-afcf4620.entry.js +4 -0
  139. package/dist/ionic/{p-ddb30596.entry.js → p-b133e9b4.entry.js} +1 -1
  140. package/dist/ionic/{p-3e3d06a6.system.entry.js → p-c18de88a.system.entry.js} +1 -1
  141. package/dist/ionic/p-c8f0a036.entry.js +4 -0
  142. package/dist/ionic/p-ca8938f4.js +4 -0
  143. package/dist/ionic/p-e3584231.system.js +1 -1
  144. package/dist/ionic/{p-9eec42cc.system.entry.js → p-f910cc73.system.entry.js} +1 -1
  145. package/dist/ionic/{p-e3ad9607.system.entry.js → p-fbf3a689.system.entry.js} +1 -1
  146. package/dist/ionic/p-ffd5dba4.system.entry.js +4 -0
  147. package/dist/types/components/datetime/utils/data.d.ts +11 -7
  148. package/dist/types/components/picker/picker-interfaces.d.ts +8 -0
  149. package/dist/types/components/picker/picker.d.ts +74 -131
  150. package/dist/types/components/picker-column/picker-column-interfaces.d.ts +4 -0
  151. package/dist/types/components/picker-column/picker-column.d.ts +99 -39
  152. package/dist/types/components/picker-column-option/picker-column-option.d.ts +66 -0
  153. package/dist/types/components/picker-legacy/picker.d.ts +158 -0
  154. package/dist/types/components/picker-legacy-column/picker-column.d.ts +46 -0
  155. package/dist/types/components.d.ts +155 -122
  156. package/dist/types/interface.d.ts +1 -1
  157. package/dist/types/utils/config.d.ts +2 -2
  158. package/dist/types/utils/overlays.d.ts +5 -2
  159. package/hydrate/index.js +1486 -1362
  160. package/package.json +1 -1
  161. package/components/ion-picker-column-internal.d.ts +0 -11
  162. package/components/ion-picker-column-internal.js +0 -9
  163. package/components/ion-picker-internal.js +0 -9
  164. package/components/picker-column-internal.js +0 -390
  165. package/dist/collection/components/picker-column-internal/picker-column-internal.js +0 -565
  166. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +0 -162
  167. package/dist/collection/components/picker-internal/picker-internal.js +0 -544
  168. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +0 -118
  169. package/dist/esm-es5/ion-picker-column-internal.entry.js +0 -4
  170. package/dist/esm-es5/ion-picker-internal.entry.js +0 -4
  171. package/dist/esm-es5/overlays-d23ea6e1.js +0 -4
  172. package/dist/ionic/p-60502e3f.system.entry.js +0 -4
  173. package/dist/ionic/p-67da080d.entry.js +0 -4
  174. package/dist/ionic/p-73ea8f82.system.entry.js +0 -4
  175. package/dist/ionic/p-80fa068e.entry.js +0 -4
  176. package/dist/ionic/p-ab11130c.system.js +0 -4
  177. package/dist/ionic/p-af16fe62.entry.js +0 -4
  178. package/dist/ionic/p-c14f8ac8.js +0 -4
  179. package/dist/ionic/p-cce9f61a.system.entry.js +0 -4
  180. package/dist/types/components/picker-column-internal/picker-column-internal-interfaces.d.ts +0 -5
  181. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +0 -102
  182. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +0 -8
  183. package/dist/types/components/picker-internal/picker-internal.d.ts +0 -102
  184. /package/dist/collection/components/{picker-internal/picker-internal-interfaces.js → picker/picker-interfaces.js} +0 -0
  185. /package/dist/collection/components/{picker-column-internal/picker-column-internal-interfaces.js → picker-column/picker-column-interfaces.js} +0 -0
  186. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.enter.js +0 -0
  187. /package/dist/collection/components/{picker → picker-legacy}/animations/ios.leave.js +0 -0
  188. /package/dist/collection/components/{picker → picker-legacy}/picker-interface.js +0 -0
  189. /package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.ios.css +0 -0
  190. /package/dist/collection/components/{picker-column → picker-legacy-column}/picker-column.md.css +0 -0
  191. /package/dist/collection/components/{picker-column → picker-legacy-column}/test/test.utils.js +0 -0
  192. /package/dist/esm-es5/{data-f5c75b4e.js → data-4b9508c9.js} +0 -0
  193. /package/dist/ionic/{p-2aea8b1e.js → p-368f5215.js} +0 -0
  194. /package/dist/ionic/{p-82e3d633.system.js → p-f58981c2.system.js} +0 -0
  195. /package/dist/types/components/{picker → picker-legacy}/animations/ios.enter.d.ts +0 -0
  196. /package/dist/types/components/{picker → picker-legacy}/animations/ios.leave.d.ts +0 -0
  197. /package/dist/types/components/{picker → picker-legacy}/picker-interface.d.ts +0 -0
  198. /package/dist/types/components/{picker-column → picker-legacy-column}/test/test.utils.d.ts +0 -0
@@ -53,134 +53,6 @@
53
53
  * }
54
54
  * }
55
55
  */
56
- :host {
57
- /**
58
- * @prop --background: Background of the picker
59
- * @prop --background-rgb: Background of the picker in rgb format
60
- *
61
- * @prop --border-radius: Border radius of the picker
62
- * @prop --border-color: Border color of the picker
63
- * @prop --border-width: Border width of the picker
64
- * @prop --border-style: Border style of the picker
65
- *
66
- * @prop --min-width: Minimum width of the picker
67
- * @prop --width: Width of the picker
68
- * @prop --max-width: Maximum width of the picker
69
- *
70
- * @prop --min-height: Minimum height of the picker
71
- * @prop --height: Height of the picker
72
- * @prop --max-height: Maximum height of the picker
73
- *
74
- * @prop --backdrop-opacity: Opacity of the backdrop
75
- */
76
- --border-radius: 0;
77
- --border-style: solid;
78
- --min-width: auto;
79
- --width: 100%;
80
- --max-width: 500px;
81
- --min-height: auto;
82
- --max-height: auto;
83
- -moz-osx-font-smoothing: grayscale;
84
- -webkit-font-smoothing: antialiased;
85
- top: 0;
86
- display: block;
87
- position: absolute;
88
- width: 100%;
89
- height: 100%;
90
- outline: none;
91
- font-family: var(--ion-font-family, inherit);
92
- contain: strict;
93
- user-select: none;
94
- z-index: 1001;
95
- }
96
- @supports (inset-inline-start: 0) {
97
- :host {
98
- inset-inline-start: 0;
99
- }
100
- }
101
- @supports not (inset-inline-start: 0) {
102
- :host {
103
- left: 0;
104
- }
105
- :host-context([dir=rtl]) {
106
- left: unset;
107
- right: unset;
108
- right: 0;
109
- }
110
- @supports selector(:dir(rtl)) {
111
- :host(:dir(rtl)) {
112
- left: unset;
113
- right: unset;
114
- right: 0;
115
- }
116
- }
117
- }
118
-
119
- :host(.overlay-hidden) {
120
- display: none;
121
- }
122
-
123
- .picker-wrapper {
124
- border-radius: var(--border-radius);
125
- left: 0;
126
- right: 0;
127
- bottom: 0;
128
- -webkit-margin-start: auto;
129
- margin-inline-start: auto;
130
- -webkit-margin-end: auto;
131
- margin-inline-end: auto;
132
- margin-top: auto;
133
- margin-bottom: auto;
134
- transform: translate3d(0, 100%, 0);
135
- display: flex;
136
- position: absolute;
137
- flex-direction: column;
138
- width: var(--width);
139
- min-width: var(--min-width);
140
- max-width: var(--max-width);
141
- height: var(--height);
142
- min-height: var(--min-height);
143
- max-height: var(--max-height);
144
- border-width: var(--border-width);
145
- border-style: var(--border-style);
146
- border-color: var(--border-color);
147
- background: var(--background);
148
- contain: strict;
149
- overflow: hidden;
150
- z-index: 10;
151
- }
152
-
153
- .picker-toolbar {
154
- width: 100%;
155
- background: transparent;
156
- contain: strict;
157
- z-index: 1;
158
- }
159
-
160
- .picker-button {
161
- border: 0;
162
- font-family: inherit;
163
- }
164
-
165
- .picker-button:active, .picker-button:focus {
166
- outline: none;
167
- }
168
-
169
- .picker-columns {
170
- display: flex;
171
- position: relative;
172
- justify-content: center;
173
- margin-bottom: var(--ion-safe-area-bottom, 0);
174
- contain: strict;
175
- overflow: hidden;
176
- }
177
-
178
- .picker-above-highlight,
179
- .picker-below-highlight {
180
- display: none;
181
- pointer-events: none;
182
- }
183
-
184
56
  /**
185
57
  * Convert a font size to a dynamic font size.
186
58
  * Fonts that participate in Dynamic Type should use
@@ -237,89 +109,68 @@
237
109
  * }
238
110
  */
239
111
  :host {
240
- --background: var(--ion-background-color, #fff);
241
- --border-width: 1px 0 0;
242
- --border-color: var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, #c8c7cc)));
243
- --height: 260px;
244
- --backdrop-opacity: var(--ion-backdrop-opacity, 0.26);
245
- color: var(--ion-item-color, var(--ion-text-color, #000));
246
- }
247
-
248
- .picker-toolbar {
112
+ /**
113
+ * @prop --highlight-background: Background of the picker highlight for the selected item
114
+ * @prop --highlight-border-radius: Border radius of the picker highlight for the selected item
115
+ *
116
+ * @prop --fade-background-rgb: Background of the gradient covering non-selected items in rgb format
117
+ */
118
+ --highlight-border-radius: 8px;
249
119
  display: flex;
250
- height: 44px;
251
- border-bottom: 0.55px solid var(--border-color);
252
- }
253
-
254
- .picker-toolbar-button {
255
- flex: 1;
256
- text-align: end;
257
- }
258
-
259
- .picker-toolbar-button:last-child .picker-button {
260
- font-weight: 600;
261
- }
262
-
263
- .picker-toolbar-button:first-child {
264
- font-weight: normal;
265
- text-align: start;
266
- }
267
-
268
- .picker-button,
269
- .picker-button.ion-activated {
270
- margin-left: 0;
271
- margin-right: 0;
272
- margin-top: 0;
273
- margin-bottom: 0;
274
- -webkit-padding-start: 1em;
275
- padding-inline-start: 1em;
276
- -webkit-padding-end: 1em;
277
- padding-inline-end: 1em;
278
- padding-top: 0;
279
- padding-bottom: 0;
280
- height: 44px;
281
- background: transparent;
282
- color: var(--ion-color-primary, #3880ff);
283
- font-size: 16px;
120
+ position: relative;
121
+ align-items: center;
122
+ justify-content: center;
123
+ width: 100%;
124
+ height: 200px;
125
+ /**
126
+ * Picker columns should display
127
+ * in the order in which developers
128
+ * added them and should ignore
129
+ * LTR vs RTL directions.
130
+ */
131
+ direction: ltr;
132
+ /**
133
+ * This is required otherwise the
134
+ * highlight will appear behind
135
+ * the picker when used inline.
136
+ */
137
+ z-index: 0;
284
138
  }
285
139
 
286
- .picker-columns {
287
- height: 215px;
288
- perspective: 1000px;
140
+ :host .picker-before,
141
+ :host .picker-after {
142
+ position: absolute;
143
+ width: 100%;
144
+ /**
145
+ * The transform and z-index
146
+ * are needed for WebKit otherwise
147
+ * the fade will appear underneath the picker.
148
+ */
149
+ transform: translateZ(0);
150
+ z-index: 1;
151
+ pointer-events: none;
289
152
  }
290
153
 
291
- .picker-above-highlight {
154
+ :host .picker-before {
292
155
  top: 0;
293
- transform: translate3d(0, 0, 90px);
294
- display: block;
295
- position: absolute;
296
- width: 100%;
297
- height: 81px;
298
- border-bottom: 1px solid var(--border-color);
299
- background: linear-gradient(to bottom, var(--background, var(--ion-background-color, #fff)) 20%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);
300
- z-index: 10;
156
+ height: 83px;
301
157
  }
302
158
  @supports (inset-inline-start: 0) {
303
- .picker-above-highlight {
159
+ :host .picker-before {
304
160
  inset-inline-start: 0;
305
161
  }
306
162
  }
307
163
  @supports not (inset-inline-start: 0) {
308
- .picker-above-highlight {
164
+ :host .picker-before {
309
165
  left: 0;
310
166
  }
311
- :host-context([dir=rtl]) .picker-above-highlight {
312
- left: unset;
313
- right: unset;
314
- right: 0;
315
- }
316
- [dir=rtl] .picker-above-highlight {
167
+ :host-context([dir=rtl]) .picker-before {
317
168
  left: unset;
318
169
  right: unset;
319
170
  right: 0;
320
171
  }
321
172
  @supports selector(:dir(rtl)) {
322
- .picker-above-highlight:dir(rtl) {
173
+ :host(:dir(rtl)) .picker-before {
323
174
  left: unset;
324
175
  right: unset;
325
176
  right: 0;
@@ -327,41 +178,92 @@
327
178
  }
328
179
  }
329
180
 
330
- .picker-below-highlight {
331
- top: 115px;
332
- transform: translate3d(0, 0, 90px);
333
- display: block;
334
- position: absolute;
335
- width: 100%;
336
- height: 119px;
337
- border-top: 1px solid var(--border-color);
338
- background: linear-gradient(to top, var(--background, var(--ion-background-color, #fff)) 30%, rgba(var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)), 0.8) 100%);
339
- z-index: 11;
181
+ :host .picker-after {
182
+ top: 116px;
183
+ height: 84px;
340
184
  }
341
185
  @supports (inset-inline-start: 0) {
342
- .picker-below-highlight {
186
+ :host .picker-after {
343
187
  inset-inline-start: 0;
344
188
  }
345
189
  }
346
190
  @supports not (inset-inline-start: 0) {
347
- .picker-below-highlight {
191
+ :host .picker-after {
348
192
  left: 0;
349
193
  }
350
- :host-context([dir=rtl]) .picker-below-highlight {
351
- left: unset;
352
- right: unset;
353
- right: 0;
354
- }
355
- [dir=rtl] .picker-below-highlight {
194
+ :host-context([dir=rtl]) .picker-after {
356
195
  left: unset;
357
196
  right: unset;
358
197
  right: 0;
359
198
  }
360
199
  @supports selector(:dir(rtl)) {
361
- .picker-below-highlight:dir(rtl) {
200
+ :host(:dir(rtl)) .picker-after {
362
201
  left: unset;
363
202
  right: unset;
364
203
  right: 0;
365
204
  }
366
205
  }
206
+ }
207
+
208
+ :host .picker-highlight {
209
+ border-radius: var(--wheel-highlight-border-radius, var(--highlight-border-radius));
210
+ left: 0;
211
+ right: 0;
212
+ top: 50%;
213
+ bottom: 0;
214
+ -webkit-margin-start: auto;
215
+ margin-inline-start: auto;
216
+ -webkit-margin-end: auto;
217
+ margin-inline-end: auto;
218
+ margin-top: 0;
219
+ margin-bottom: 0;
220
+ position: absolute;
221
+ width: calc(100% - 16px);
222
+ height: 34px;
223
+ transform: translateY(-50%);
224
+ background: var(--wheel-highlight-background, var(--highlight-background));
225
+ z-index: -1;
226
+ }
227
+
228
+ :host input {
229
+ position: absolute;
230
+ top: 0;
231
+ left: 0;
232
+ right: 0;
233
+ bottom: 0;
234
+ width: 100%;
235
+ height: 100%;
236
+ margin: 0;
237
+ padding: 0;
238
+ border: 0;
239
+ outline: 0;
240
+ clip: rect(0 0 0 0);
241
+ opacity: 0;
242
+ overflow: hidden;
243
+ -webkit-appearance: none;
244
+ -moz-appearance: none;
245
+ }
246
+
247
+ :host ::slotted(ion-picker-column:first-of-type) {
248
+ text-align: start;
249
+ }
250
+
251
+ :host ::slotted(ion-picker-column:last-of-type) {
252
+ text-align: end;
253
+ }
254
+
255
+ :host ::slotted(ion-picker-column:only-child) {
256
+ text-align: center;
257
+ }
258
+
259
+ :host .picker-before {
260
+ background: linear-gradient(to bottom, rgba(var(--wheel-fade-background-rgb, var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)))), 1) 20%, rgba(var(--wheel-fade-background-rgb, var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)))), 0.8) 100%);
261
+ }
262
+
263
+ :host .picker-after {
264
+ background: linear-gradient(to top, rgba(var(--wheel-fade-background-rgb, var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)))), 1) 20%, rgba(var(--wheel-fade-background-rgb, var(--fade-background-rgb, var(--background-rgb, var(--ion-background-color-rgb, 255, 255, 255)))), 0.8) 100%);
265
+ }
266
+
267
+ :host .picker-highlight {
268
+ background: var(--highlight-background, var(--ion-color-step-150, #eeeeef));
367
269
  }