@ionic/core 7.5.8-dev.11701806358.1ca1b519 → 7.5.8-dev.11701894917.1c1465bd

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 (196) hide show
  1. package/components/data.js +1 -1
  2. package/components/ion-datetime.js +30 -39
  3. package/components/ion-picker-column-internal.d.ts +11 -0
  4. package/components/ion-picker-column-internal.js +9 -0
  5. package/components/ion-picker-column.js +2 -2
  6. package/components/{ion-picker-legacy.d.ts → ion-picker-internal.d.ts} +4 -4
  7. package/components/ion-picker-internal.js +9 -0
  8. package/components/ion-picker.js +309 -1
  9. package/components/overlays.js +3 -6
  10. package/components/picker-column-internal.js +390 -0
  11. package/components/picker-column.js +317 -363
  12. package/components/{picker.js → picker-internal.js} +16 -16
  13. package/dist/cjs/{data-e7526b58.js → data-36b9094e.js} +1 -1
  14. package/dist/cjs/index.cjs.js +1 -1
  15. package/dist/cjs/ion-action-sheet.cjs.entry.js +1 -1
  16. package/dist/cjs/ion-alert.cjs.entry.js +1 -1
  17. package/dist/cjs/ion-datetime-button.cjs.entry.js +1 -1
  18. package/dist/cjs/ion-datetime_3.cjs.entry.js +35 -29
  19. package/dist/cjs/ion-loading.cjs.entry.js +1 -1
  20. package/dist/cjs/ion-menu_3.cjs.entry.js +1 -1
  21. package/dist/cjs/ion-modal.cjs.entry.js +1 -1
  22. package/dist/cjs/{ion-picker-column.cjs.entry.js → ion-picker-column-internal.cjs.entry.js} +72 -105
  23. package/dist/cjs/{ion-picker.cjs.entry.js → ion-picker-internal.cjs.entry.js} +13 -13
  24. package/dist/cjs/ion-popover.cjs.entry.js +1 -1
  25. package/dist/cjs/ion-select_3.cjs.entry.js +1 -1
  26. package/dist/cjs/ion-toast.cjs.entry.js +1 -1
  27. package/dist/cjs/ionic.cjs.js +1 -1
  28. package/dist/cjs/loader.cjs.js +1 -1
  29. package/dist/cjs/{overlays-e8e05b0e.js → overlays-2c6b1072.js} +3 -6
  30. package/dist/collection/collection-manifest.json +6 -7
  31. package/dist/collection/components/datetime/datetime.ios.css +13 -0
  32. package/dist/collection/components/datetime/datetime.js +16 -19
  33. package/dist/collection/components/datetime/datetime.md.css +13 -0
  34. package/dist/collection/components/datetime/test/datetime.e2e.js +2 -2
  35. package/dist/collection/components/datetime/test/disabled/datetime.spec.js +4 -4
  36. package/dist/collection/components/datetime/test/locale/datetime.e2e.js +2 -2
  37. package/dist/collection/components/datetime/test/minmax/datetime.e2e.js +6 -6
  38. package/dist/collection/components/datetime/test/prefer-wheel/datetime.e2e.js +41 -43
  39. package/dist/collection/components/datetime/test/presentation/datetime.e2e.js +1 -1
  40. package/dist/collection/components/datetime/test/readonly/datetime.e2e.js +2 -2
  41. package/dist/collection/components/datetime/test/values/datetime.e2e.js +12 -15
  42. package/dist/collection/components/datetime/utils/data.js +1 -1
  43. package/dist/collection/components/picker/picker.ios.css +205 -100
  44. package/dist/collection/components/picker/picker.js +743 -461
  45. package/dist/collection/components/picker/picker.md.css +194 -98
  46. package/dist/collection/components/picker/test/basic/picker.e2e.js +13 -99
  47. package/dist/collection/components/{picker-legacy → picker}/test/is-open/picker.e2e.js +4 -4
  48. package/dist/collection/components/{picker-legacy → picker}/test/picker-id.spec.js +5 -5
  49. package/dist/collection/components/{picker-legacy → picker}/test/trigger/picker.e2e.js +1 -1
  50. package/dist/collection/components/picker-column/picker-column.ios.css +160 -120
  51. package/dist/collection/components/picker-column/picker-column.js +329 -514
  52. package/dist/collection/components/picker-column/picker-column.md.css +107 -134
  53. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column-aria.spec.js +3 -3
  54. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column-dynamic.spec.js +2 -2
  55. package/dist/collection/components/{picker-legacy-column → picker-column}/test/picker-column.spec.js +2 -2
  56. package/dist/collection/components/{picker-legacy-column → picker-column}/test/standalone/picker-column.e2e.js +3 -3
  57. package/dist/collection/components/{picker-column-option/picker-column-option.md.css → picker-column-internal/picker-column-internal.ios.css} +53 -6
  58. package/dist/collection/components/picker-column-internal/picker-column-internal.js +565 -0
  59. package/dist/collection/components/{picker-legacy-column/picker-column.md.css → picker-column-internal/picker-column-internal.md.css} +63 -113
  60. package/dist/collection/components/{picker-column/test/basic/picker-column.e2e.js → picker-column-internal/test/basic/picker-column-internal.e2e.js} +8 -8
  61. package/dist/collection/components/picker-column-internal/test/disabled/picker-column-internal.e2e.js +162 -0
  62. package/dist/collection/components/{picker-legacy/picker.md.css → picker-internal/picker-internal.ios.css} +100 -192
  63. package/dist/collection/components/picker-internal/picker-internal.js +544 -0
  64. package/dist/collection/components/{picker-legacy-column/picker-column.ios.css → picker-internal/picker-internal.md.css} +101 -98
  65. package/dist/collection/components/{picker/test/a11y/picker.e2e.js → picker-internal/test/a11y/picker-internal.e2e.js} +2 -2
  66. package/dist/collection/components/picker-internal/test/basic/picker-internal.e2e.js +118 -0
  67. package/dist/collection/components/{picker/test/keyboard-entry/picker.e2e.js → picker-internal/test/keyboard-entry/picker-internal.e2e.js} +22 -23
  68. package/dist/collection/utils/overlays.js +3 -6
  69. package/dist/docs.json +23 -487
  70. package/dist/esm/{data-4b9508c9.js → data-f5c75b4e.js} +1 -1
  71. package/dist/esm/index.js +1 -1
  72. package/dist/esm/ion-action-sheet.entry.js +1 -1
  73. package/dist/esm/ion-alert.entry.js +1 -1
  74. package/dist/esm/ion-datetime-button.entry.js +1 -1
  75. package/dist/esm/ion-datetime_3.entry.js +34 -28
  76. package/dist/esm/ion-loading.entry.js +1 -1
  77. package/dist/esm/ion-menu_3.entry.js +1 -1
  78. package/dist/esm/ion-modal.entry.js +1 -1
  79. package/dist/esm/{ion-picker-column.entry.js → ion-picker-column-internal.entry.js} +72 -105
  80. package/dist/esm/{ion-picker.entry.js → ion-picker-internal.entry.js} +13 -13
  81. package/dist/esm/ion-popover.entry.js +1 -1
  82. package/dist/esm/ion-select_3.entry.js +1 -1
  83. package/dist/esm/ion-toast.entry.js +1 -1
  84. package/dist/esm/ionic.js +1 -1
  85. package/dist/esm/loader.js +1 -1
  86. package/dist/esm/{overlays-fbc5cab5.js → overlays-d23ea6e1.js} +3 -6
  87. package/dist/esm-es5/index.js +1 -1
  88. package/dist/esm-es5/ion-action-sheet.entry.js +1 -1
  89. package/dist/esm-es5/ion-alert.entry.js +1 -1
  90. package/dist/esm-es5/ion-datetime-button.entry.js +1 -1
  91. package/dist/esm-es5/ion-datetime_3.entry.js +1 -1
  92. package/dist/esm-es5/ion-loading.entry.js +1 -1
  93. package/dist/esm-es5/ion-menu_3.entry.js +1 -1
  94. package/dist/esm-es5/ion-modal.entry.js +1 -1
  95. package/dist/esm-es5/ion-picker-column-internal.entry.js +4 -0
  96. package/dist/esm-es5/ion-picker-internal.entry.js +4 -0
  97. package/dist/esm-es5/ion-popover.entry.js +1 -1
  98. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  99. package/dist/esm-es5/ion-toast.entry.js +1 -1
  100. package/dist/esm-es5/ionic.js +1 -1
  101. package/dist/esm-es5/loader.js +1 -1
  102. package/dist/esm-es5/overlays-d23ea6e1.js +4 -0
  103. package/dist/html.html-data.json +1 -152
  104. package/dist/ionic/index.esm.js +1 -1
  105. package/dist/ionic/ionic.esm.js +1 -1
  106. package/dist/ionic/{p-846ee227.entry.js → p-1e57bd24.entry.js} +1 -1
  107. package/dist/ionic/{p-26798a7b.system.entry.js → p-1f620cd4.system.entry.js} +1 -1
  108. package/dist/ionic/{p-5d42b6b4.entry.js → p-27ea6f4e.entry.js} +1 -1
  109. package/dist/ionic/{p-6b7c55cd.entry.js → p-2dc43d20.entry.js} +1 -1
  110. package/dist/ionic/{p-4a36430f.system.entry.js → p-2f2293da.system.entry.js} +1 -1
  111. package/dist/ionic/{p-21c3515a.entry.js → p-2f300cca.entry.js} +1 -1
  112. package/dist/ionic/{p-8017aad2.system.entry.js → p-39a335b6.system.entry.js} +1 -1
  113. package/dist/ionic/{p-4a081ea9.entry.js → p-3b568d18.entry.js} +1 -1
  114. package/dist/ionic/{p-c18de88a.system.entry.js → p-3e3d06a6.system.entry.js} +1 -1
  115. package/dist/ionic/{p-96dbbac1.system.entry.js → p-4df97e3c.system.entry.js} +1 -1
  116. package/dist/ionic/p-60502e3f.system.entry.js +4 -0
  117. package/dist/ionic/{p-563c41f0.system.entry.js → p-60b386c9.system.entry.js} +1 -1
  118. package/dist/ionic/p-67da080d.entry.js +4 -0
  119. package/dist/ionic/p-73ea8f82.system.entry.js +4 -0
  120. package/dist/ionic/p-80fa068e.entry.js +4 -0
  121. package/dist/ionic/{p-a8baa23e.entry.js → p-8780cc2a.entry.js} +1 -1
  122. package/dist/ionic/{p-f910cc73.system.entry.js → p-9eec42cc.system.entry.js} +1 -1
  123. package/dist/ionic/p-ab11130c.system.js +4 -0
  124. package/dist/ionic/p-af16fe62.entry.js +4 -0
  125. package/dist/ionic/{p-73aa7604.entry.js → p-af19a573.entry.js} +1 -1
  126. package/dist/ionic/p-c14f8ac8.js +4 -0
  127. package/dist/ionic/p-cce9f61a.system.entry.js +4 -0
  128. package/dist/ionic/{p-b133e9b4.entry.js → p-ddb30596.entry.js} +1 -1
  129. package/dist/ionic/{p-27bcbbc7.system.entry.js → p-e1e5afe1.system.entry.js} +1 -1
  130. package/dist/ionic/p-e3584231.system.js +1 -1
  131. package/dist/ionic/{p-fbf3a689.system.entry.js → p-e3ad9607.system.entry.js} +1 -1
  132. package/dist/ionic/{p-73190c5f.entry.js → p-f78efbd1.entry.js} +1 -1
  133. package/dist/ionic/{p-54dfc9b5.system.js → p-fff7a57e.system.js} +1 -1
  134. package/dist/types/components/datetime/utils/data.d.ts +2 -2
  135. package/dist/types/components/picker/picker.d.ts +131 -74
  136. package/dist/types/components/picker-column/picker-column.d.ts +39 -105
  137. package/dist/types/components/picker-column-internal/picker-column-internal.d.ts +102 -0
  138. package/dist/types/components/picker-internal/picker-internal-interfaces.d.ts +8 -0
  139. package/dist/types/components/picker-internal/picker-internal.d.ts +102 -0
  140. package/dist/types/components.d.ts +122 -163
  141. package/dist/types/interface.d.ts +1 -1
  142. package/dist/types/utils/config.d.ts +2 -2
  143. package/dist/types/utils/overlays.d.ts +2 -5
  144. package/hydrate/index.js +1151 -1287
  145. package/package.json +1 -1
  146. package/components/ion-picker-column-option.d.ts +0 -11
  147. package/components/ion-picker-column-option.js +0 -9
  148. package/components/ion-picker-legacy-column.d.ts +0 -11
  149. package/components/ion-picker-legacy-column.js +0 -9
  150. package/components/ion-picker-legacy.js +0 -309
  151. package/components/picker-column-option.js +0 -122
  152. package/components/picker-column2.js +0 -379
  153. package/dist/cjs/ion-picker-column-option.cjs.entry.js +0 -104
  154. package/dist/collection/components/picker-column/test/disabled/picker-column.e2e.js +0 -113
  155. package/dist/collection/components/picker-column/test/slots/picker-column.e2e.js +0 -39
  156. package/dist/collection/components/picker-column-option/picker-column-option.ios.css +0 -87
  157. package/dist/collection/components/picker-column-option/picker-column-option.js +0 -173
  158. package/dist/collection/components/picker-column-option/test/a11y/picker-column-option.e2e.js +0 -18
  159. package/dist/collection/components/picker-column-option/test/basic/picker-column-option.e2e.js +0 -37
  160. package/dist/collection/components/picker-legacy/picker.ios.css +0 -367
  161. package/dist/collection/components/picker-legacy/picker.js +0 -817
  162. package/dist/collection/components/picker-legacy/test/basic/picker.e2e.js +0 -25
  163. package/dist/collection/components/picker-legacy-column/picker-column.js +0 -419
  164. package/dist/esm/ion-picker-column-option.entry.js +0 -100
  165. package/dist/esm-es5/ion-picker-column-option.entry.js +0 -4
  166. package/dist/esm-es5/ion-picker-column.entry.js +0 -4
  167. package/dist/esm-es5/ion-picker.entry.js +0 -4
  168. package/dist/esm-es5/overlays-fbc5cab5.js +0 -4
  169. package/dist/ionic/p-23672c82.system.entry.js +0 -4
  170. package/dist/ionic/p-8fa6583d.system.js +0 -4
  171. package/dist/ionic/p-9282b16f.entry.js +0 -4
  172. package/dist/ionic/p-9ba90516.system.entry.js +0 -4
  173. package/dist/ionic/p-afcf4620.entry.js +0 -4
  174. package/dist/ionic/p-c2910c78.entry.js +0 -4
  175. package/dist/ionic/p-c8f0a036.entry.js +0 -4
  176. package/dist/ionic/p-ca8938f4.js +0 -4
  177. package/dist/ionic/p-ca9d1792.system.entry.js +0 -4
  178. package/dist/ionic/p-ffd5dba4.system.entry.js +0 -4
  179. package/dist/types/components/picker/picker-interfaces.d.ts +0 -8
  180. package/dist/types/components/picker-column-option/picker-column-option.d.ts +0 -66
  181. package/dist/types/components/picker-legacy/picker.d.ts +0 -158
  182. package/dist/types/components/picker-legacy-column/picker-column.d.ts +0 -46
  183. /package/dist/collection/components/{picker-legacy → picker}/animations/ios.enter.js +0 -0
  184. /package/dist/collection/components/{picker-legacy → picker}/animations/ios.leave.js +0 -0
  185. /package/dist/collection/components/picker/{picker-interfaces.js → picker-interface.js} +0 -0
  186. /package/dist/collection/components/{picker-legacy-column → picker-column}/test/test.utils.js +0 -0
  187. /package/dist/collection/components/{picker-column/picker-column-interfaces.js → picker-column-internal/picker-column-internal-interfaces.js} +0 -0
  188. /package/dist/collection/components/{picker-legacy/picker-interface.js → picker-internal/picker-internal-interfaces.js} +0 -0
  189. /package/dist/esm-es5/{data-4b9508c9.js → data-f5c75b4e.js} +0 -0
  190. /package/dist/ionic/{p-368f5215.js → p-2aea8b1e.js} +0 -0
  191. /package/dist/ionic/{p-f58981c2.system.js → p-82e3d633.system.js} +0 -0
  192. /package/dist/types/components/{picker-legacy → picker}/animations/ios.enter.d.ts +0 -0
  193. /package/dist/types/components/{picker-legacy → picker}/animations/ios.leave.d.ts +0 -0
  194. /package/dist/types/components/{picker-legacy → picker}/picker-interface.d.ts +0 -0
  195. /package/dist/types/components/{picker-legacy-column → picker-column}/test/test.utils.d.ts +0 -0
  196. /package/dist/types/components/{picker-column/picker-column-interfaces.d.ts → picker-column-internal/picker-column-internal-interfaces.d.ts} +0 -0
@@ -1,817 +0,0 @@
1
- /*!
2
- * (C) Ionic http://ionicframework.com - MIT License
3
- */
4
- import { Host, h } from "@stencil/core";
5
- import { raf } from "../../utils/helpers";
6
- import { createLockController } from "../../utils/lock-controller";
7
- import { printIonWarning } from "../../utils/logging/index";
8
- import { createDelegateController, createTriggerController, BACKDROP, dismiss, eventMethod, isCancel, prepareOverlay, present, safeCall, setOverlayId, } from "../../utils/overlays";
9
- import { getClassMap } from "../../utils/theme";
10
- import { getIonMode } from "../../global/ionic-global";
11
- import { iosEnterAnimation } from "./animations/ios.enter";
12
- import { iosLeaveAnimation } from "./animations/ios.leave";
13
- // TODO(FW-2832): types
14
- /**
15
- * @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
16
- */
17
- export class Picker {
18
- constructor() {
19
- this.delegateController = createDelegateController(this);
20
- this.lockController = createLockController();
21
- this.triggerController = createTriggerController();
22
- this.onBackdropTap = () => {
23
- this.dismiss(undefined, BACKDROP);
24
- };
25
- this.dispatchCancelHandler = (ev) => {
26
- const role = ev.detail.role;
27
- if (isCancel(role)) {
28
- const cancelButton = this.buttons.find((b) => b.role === 'cancel');
29
- this.callButtonHandler(cancelButton);
30
- }
31
- };
32
- this.presented = false;
33
- this.overlayIndex = undefined;
34
- this.delegate = undefined;
35
- this.hasController = false;
36
- this.keyboardClose = true;
37
- this.enterAnimation = undefined;
38
- this.leaveAnimation = undefined;
39
- this.buttons = [];
40
- this.columns = [];
41
- this.cssClass = undefined;
42
- this.duration = 0;
43
- this.showBackdrop = true;
44
- this.backdropDismiss = true;
45
- this.animated = true;
46
- this.htmlAttributes = undefined;
47
- this.isOpen = false;
48
- this.trigger = undefined;
49
- }
50
- onIsOpenChange(newValue, oldValue) {
51
- if (newValue === true && oldValue === false) {
52
- this.present();
53
- }
54
- else if (newValue === false && oldValue === true) {
55
- this.dismiss();
56
- }
57
- }
58
- triggerChanged() {
59
- const { trigger, el, triggerController } = this;
60
- if (trigger) {
61
- triggerController.addClickListener(el, trigger);
62
- }
63
- }
64
- connectedCallback() {
65
- prepareOverlay(this.el);
66
- this.triggerChanged();
67
- }
68
- disconnectedCallback() {
69
- this.triggerController.removeClickListener();
70
- }
71
- componentWillLoad() {
72
- setOverlayId(this.el);
73
- }
74
- componentDidLoad() {
75
- printIonWarning('ion-picker-legacy and ion-picker-legacy-column have been deprecated in favor of new versions of the ion-picker and ion-picker-column components. These new components display inline with your page content allowing for more presentation flexibility than before.', this.el);
76
- /**
77
- * If picker was rendered with isOpen="true"
78
- * then we should open picker immediately.
79
- */
80
- if (this.isOpen === true) {
81
- raf(() => this.present());
82
- }
83
- }
84
- /**
85
- * Present the picker overlay after it has been created.
86
- */
87
- async present() {
88
- const unlock = await this.lockController.lock();
89
- await this.delegateController.attachViewToDom();
90
- await present(this, 'pickerEnter', iosEnterAnimation, iosEnterAnimation, undefined);
91
- if (this.duration > 0) {
92
- this.durationTimeout = setTimeout(() => this.dismiss(), this.duration);
93
- }
94
- unlock();
95
- }
96
- /**
97
- * Dismiss the picker overlay after it has been presented.
98
- *
99
- * @param data Any data to emit in the dismiss events.
100
- * @param role The role of the element that is dismissing the picker.
101
- * This can be useful in a button handler for determining which button was
102
- * clicked to dismiss the picker.
103
- * Some examples include: ``"cancel"`, `"destructive"`, "selected"`, and `"backdrop"`.
104
- */
105
- async dismiss(data, role) {
106
- const unlock = await this.lockController.lock();
107
- if (this.durationTimeout) {
108
- clearTimeout(this.durationTimeout);
109
- }
110
- const dismissed = await dismiss(this, data, role, 'pickerLeave', iosLeaveAnimation, iosLeaveAnimation);
111
- if (dismissed) {
112
- this.delegateController.removeViewFromDom();
113
- }
114
- unlock();
115
- return dismissed;
116
- }
117
- /**
118
- * Returns a promise that resolves when the picker did dismiss.
119
- */
120
- onDidDismiss() {
121
- return eventMethod(this.el, 'ionPickerDidDismiss');
122
- }
123
- /**
124
- * Returns a promise that resolves when the picker will dismiss.
125
- */
126
- onWillDismiss() {
127
- return eventMethod(this.el, 'ionPickerWillDismiss');
128
- }
129
- /**
130
- * Get the column that matches the specified name.
131
- *
132
- * @param name The name of the column.
133
- */
134
- getColumn(name) {
135
- return Promise.resolve(this.columns.find((column) => column.name === name));
136
- }
137
- async buttonClick(button) {
138
- const role = button.role;
139
- if (isCancel(role)) {
140
- return this.dismiss(undefined, role);
141
- }
142
- const shouldDismiss = await this.callButtonHandler(button);
143
- if (shouldDismiss) {
144
- return this.dismiss(this.getSelected(), button.role);
145
- }
146
- return Promise.resolve();
147
- }
148
- async callButtonHandler(button) {
149
- if (button) {
150
- // a handler has been provided, execute it
151
- // pass the handler the values from the inputs
152
- const rtn = await safeCall(button.handler, this.getSelected());
153
- if (rtn === false) {
154
- // if the return value of the handler is false then do not dismiss
155
- return false;
156
- }
157
- }
158
- return true;
159
- }
160
- getSelected() {
161
- const selected = {};
162
- this.columns.forEach((col, index) => {
163
- const selectedColumn = col.selectedIndex !== undefined ? col.options[col.selectedIndex] : undefined;
164
- selected[col.name] = {
165
- text: selectedColumn ? selectedColumn.text : undefined,
166
- value: selectedColumn ? selectedColumn.value : undefined,
167
- columnIndex: index,
168
- };
169
- });
170
- return selected;
171
- }
172
- render() {
173
- const { htmlAttributes } = this;
174
- const mode = getIonMode(this);
175
- return (h(Host, Object.assign({ "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
176
- zIndex: `${20000 + this.overlayIndex}`,
177
- }, class: Object.assign({ [mode]: true,
178
- // Used internally for styling
179
- [`picker-${mode}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { tabindex: "0" }), h("div", { class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { class: "picker-columns" }, h("div", { class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { class: "picker-below-highlight" }))), h("div", { tabindex: "0" })));
180
- }
181
- static get is() { return "ion-picker-legacy"; }
182
- static get encapsulation() { return "scoped"; }
183
- static get originalStyleUrls() {
184
- return {
185
- "ios": ["picker.ios.scss"],
186
- "md": ["picker.md.scss"]
187
- };
188
- }
189
- static get styleUrls() {
190
- return {
191
- "ios": ["picker.ios.css"],
192
- "md": ["picker.md.css"]
193
- };
194
- }
195
- static get properties() {
196
- return {
197
- "overlayIndex": {
198
- "type": "number",
199
- "mutable": false,
200
- "complexType": {
201
- "original": "number",
202
- "resolved": "number",
203
- "references": {}
204
- },
205
- "required": true,
206
- "optional": false,
207
- "docs": {
208
- "tags": [{
209
- "name": "internal",
210
- "text": undefined
211
- }],
212
- "text": ""
213
- },
214
- "attribute": "overlay-index",
215
- "reflect": false
216
- },
217
- "delegate": {
218
- "type": "unknown",
219
- "mutable": false,
220
- "complexType": {
221
- "original": "FrameworkDelegate",
222
- "resolved": "FrameworkDelegate | undefined",
223
- "references": {
224
- "FrameworkDelegate": {
225
- "location": "import",
226
- "path": "../../interface",
227
- "id": "src/interface.d.ts::FrameworkDelegate"
228
- }
229
- }
230
- },
231
- "required": false,
232
- "optional": true,
233
- "docs": {
234
- "tags": [{
235
- "name": "internal",
236
- "text": undefined
237
- }],
238
- "text": ""
239
- }
240
- },
241
- "hasController": {
242
- "type": "boolean",
243
- "mutable": false,
244
- "complexType": {
245
- "original": "boolean",
246
- "resolved": "boolean",
247
- "references": {}
248
- },
249
- "required": false,
250
- "optional": false,
251
- "docs": {
252
- "tags": [{
253
- "name": "internal",
254
- "text": undefined
255
- }],
256
- "text": ""
257
- },
258
- "attribute": "has-controller",
259
- "reflect": false,
260
- "defaultValue": "false"
261
- },
262
- "keyboardClose": {
263
- "type": "boolean",
264
- "mutable": false,
265
- "complexType": {
266
- "original": "boolean",
267
- "resolved": "boolean",
268
- "references": {}
269
- },
270
- "required": false,
271
- "optional": false,
272
- "docs": {
273
- "tags": [],
274
- "text": "If `true`, the keyboard will be automatically dismissed when the overlay is presented."
275
- },
276
- "attribute": "keyboard-close",
277
- "reflect": false,
278
- "defaultValue": "true"
279
- },
280
- "enterAnimation": {
281
- "type": "unknown",
282
- "mutable": false,
283
- "complexType": {
284
- "original": "AnimationBuilder",
285
- "resolved": "((baseEl: any, opts?: any) => Animation) | undefined",
286
- "references": {
287
- "AnimationBuilder": {
288
- "location": "import",
289
- "path": "../../interface",
290
- "id": "src/interface.d.ts::AnimationBuilder"
291
- }
292
- }
293
- },
294
- "required": false,
295
- "optional": true,
296
- "docs": {
297
- "tags": [],
298
- "text": "Animation to use when the picker is presented."
299
- }
300
- },
301
- "leaveAnimation": {
302
- "type": "unknown",
303
- "mutable": false,
304
- "complexType": {
305
- "original": "AnimationBuilder",
306
- "resolved": "((baseEl: any, opts?: any) => Animation) | undefined",
307
- "references": {
308
- "AnimationBuilder": {
309
- "location": "import",
310
- "path": "../../interface",
311
- "id": "src/interface.d.ts::AnimationBuilder"
312
- }
313
- }
314
- },
315
- "required": false,
316
- "optional": true,
317
- "docs": {
318
- "tags": [],
319
- "text": "Animation to use when the picker is dismissed."
320
- }
321
- },
322
- "buttons": {
323
- "type": "unknown",
324
- "mutable": false,
325
- "complexType": {
326
- "original": "PickerButton[]",
327
- "resolved": "PickerButton[]",
328
- "references": {
329
- "PickerButton": {
330
- "location": "import",
331
- "path": "./picker-interface",
332
- "id": "src/components/picker-legacy/picker-interface.ts::PickerButton"
333
- }
334
- }
335
- },
336
- "required": false,
337
- "optional": false,
338
- "docs": {
339
- "tags": [],
340
- "text": "Array of buttons to be displayed at the top of the picker."
341
- },
342
- "defaultValue": "[]"
343
- },
344
- "columns": {
345
- "type": "unknown",
346
- "mutable": false,
347
- "complexType": {
348
- "original": "PickerColumn[]",
349
- "resolved": "PickerColumn[]",
350
- "references": {
351
- "PickerColumn": {
352
- "location": "import",
353
- "path": "./picker-interface",
354
- "id": "src/components/picker-legacy/picker-interface.ts::PickerColumn"
355
- }
356
- }
357
- },
358
- "required": false,
359
- "optional": false,
360
- "docs": {
361
- "tags": [],
362
- "text": "Array of columns to be displayed in the picker."
363
- },
364
- "defaultValue": "[]"
365
- },
366
- "cssClass": {
367
- "type": "string",
368
- "mutable": false,
369
- "complexType": {
370
- "original": "string | string[]",
371
- "resolved": "string | string[] | undefined",
372
- "references": {}
373
- },
374
- "required": false,
375
- "optional": true,
376
- "docs": {
377
- "tags": [],
378
- "text": "Additional classes to apply for custom CSS. If multiple classes are\nprovided they should be separated by spaces."
379
- },
380
- "attribute": "css-class",
381
- "reflect": false
382
- },
383
- "duration": {
384
- "type": "number",
385
- "mutable": false,
386
- "complexType": {
387
- "original": "number",
388
- "resolved": "number",
389
- "references": {}
390
- },
391
- "required": false,
392
- "optional": false,
393
- "docs": {
394
- "tags": [],
395
- "text": "Number of milliseconds to wait before dismissing the picker."
396
- },
397
- "attribute": "duration",
398
- "reflect": false,
399
- "defaultValue": "0"
400
- },
401
- "showBackdrop": {
402
- "type": "boolean",
403
- "mutable": false,
404
- "complexType": {
405
- "original": "boolean",
406
- "resolved": "boolean",
407
- "references": {}
408
- },
409
- "required": false,
410
- "optional": false,
411
- "docs": {
412
- "tags": [],
413
- "text": "If `true`, a backdrop will be displayed behind the picker."
414
- },
415
- "attribute": "show-backdrop",
416
- "reflect": false,
417
- "defaultValue": "true"
418
- },
419
- "backdropDismiss": {
420
- "type": "boolean",
421
- "mutable": false,
422
- "complexType": {
423
- "original": "boolean",
424
- "resolved": "boolean",
425
- "references": {}
426
- },
427
- "required": false,
428
- "optional": false,
429
- "docs": {
430
- "tags": [],
431
- "text": "If `true`, the picker will be dismissed when the backdrop is clicked."
432
- },
433
- "attribute": "backdrop-dismiss",
434
- "reflect": false,
435
- "defaultValue": "true"
436
- },
437
- "animated": {
438
- "type": "boolean",
439
- "mutable": false,
440
- "complexType": {
441
- "original": "boolean",
442
- "resolved": "boolean",
443
- "references": {}
444
- },
445
- "required": false,
446
- "optional": false,
447
- "docs": {
448
- "tags": [],
449
- "text": "If `true`, the picker will animate."
450
- },
451
- "attribute": "animated",
452
- "reflect": false,
453
- "defaultValue": "true"
454
- },
455
- "htmlAttributes": {
456
- "type": "unknown",
457
- "mutable": false,
458
- "complexType": {
459
- "original": "{ [key: string]: any }",
460
- "resolved": "undefined | { [key: string]: any; }",
461
- "references": {}
462
- },
463
- "required": false,
464
- "optional": true,
465
- "docs": {
466
- "tags": [],
467
- "text": "Additional attributes to pass to the picker."
468
- }
469
- },
470
- "isOpen": {
471
- "type": "boolean",
472
- "mutable": false,
473
- "complexType": {
474
- "original": "boolean",
475
- "resolved": "boolean",
476
- "references": {}
477
- },
478
- "required": false,
479
- "optional": false,
480
- "docs": {
481
- "tags": [],
482
- "text": "If `true`, the picker will open. If `false`, the picker will close.\nUse this if you need finer grained control over presentation, otherwise\njust use the pickerController or the `trigger` property.\nNote: `isOpen` will not automatically be set back to `false` when\nthe picker dismisses. You will need to do that in your code."
483
- },
484
- "attribute": "is-open",
485
- "reflect": false,
486
- "defaultValue": "false"
487
- },
488
- "trigger": {
489
- "type": "string",
490
- "mutable": false,
491
- "complexType": {
492
- "original": "string | undefined",
493
- "resolved": "string | undefined",
494
- "references": {}
495
- },
496
- "required": false,
497
- "optional": false,
498
- "docs": {
499
- "tags": [],
500
- "text": "An ID corresponding to the trigger element that\ncauses the picker to open when clicked."
501
- },
502
- "attribute": "trigger",
503
- "reflect": false
504
- }
505
- };
506
- }
507
- static get states() {
508
- return {
509
- "presented": {}
510
- };
511
- }
512
- static get events() {
513
- return [{
514
- "method": "didPresent",
515
- "name": "ionPickerDidPresent",
516
- "bubbles": true,
517
- "cancelable": true,
518
- "composed": true,
519
- "docs": {
520
- "tags": [],
521
- "text": "Emitted after the picker has presented."
522
- },
523
- "complexType": {
524
- "original": "void",
525
- "resolved": "void",
526
- "references": {}
527
- }
528
- }, {
529
- "method": "willPresent",
530
- "name": "ionPickerWillPresent",
531
- "bubbles": true,
532
- "cancelable": true,
533
- "composed": true,
534
- "docs": {
535
- "tags": [],
536
- "text": "Emitted before the picker has presented."
537
- },
538
- "complexType": {
539
- "original": "void",
540
- "resolved": "void",
541
- "references": {}
542
- }
543
- }, {
544
- "method": "willDismiss",
545
- "name": "ionPickerWillDismiss",
546
- "bubbles": true,
547
- "cancelable": true,
548
- "composed": true,
549
- "docs": {
550
- "tags": [],
551
- "text": "Emitted before the picker has dismissed."
552
- },
553
- "complexType": {
554
- "original": "OverlayEventDetail",
555
- "resolved": "OverlayEventDetail<any>",
556
- "references": {
557
- "OverlayEventDetail": {
558
- "location": "import",
559
- "path": "../../utils/overlays-interface",
560
- "id": "src/utils/overlays-interface.ts::OverlayEventDetail"
561
- }
562
- }
563
- }
564
- }, {
565
- "method": "didDismiss",
566
- "name": "ionPickerDidDismiss",
567
- "bubbles": true,
568
- "cancelable": true,
569
- "composed": true,
570
- "docs": {
571
- "tags": [],
572
- "text": "Emitted after the picker has dismissed."
573
- },
574
- "complexType": {
575
- "original": "OverlayEventDetail",
576
- "resolved": "OverlayEventDetail<any>",
577
- "references": {
578
- "OverlayEventDetail": {
579
- "location": "import",
580
- "path": "../../utils/overlays-interface",
581
- "id": "src/utils/overlays-interface.ts::OverlayEventDetail"
582
- }
583
- }
584
- }
585
- }, {
586
- "method": "didPresentShorthand",
587
- "name": "didPresent",
588
- "bubbles": true,
589
- "cancelable": true,
590
- "composed": true,
591
- "docs": {
592
- "tags": [],
593
- "text": "Emitted after the picker has presented.\nShorthand for ionPickerWillDismiss."
594
- },
595
- "complexType": {
596
- "original": "void",
597
- "resolved": "void",
598
- "references": {}
599
- }
600
- }, {
601
- "method": "willPresentShorthand",
602
- "name": "willPresent",
603
- "bubbles": true,
604
- "cancelable": true,
605
- "composed": true,
606
- "docs": {
607
- "tags": [],
608
- "text": "Emitted before the picker has presented.\nShorthand for ionPickerWillPresent."
609
- },
610
- "complexType": {
611
- "original": "void",
612
- "resolved": "void",
613
- "references": {}
614
- }
615
- }, {
616
- "method": "willDismissShorthand",
617
- "name": "willDismiss",
618
- "bubbles": true,
619
- "cancelable": true,
620
- "composed": true,
621
- "docs": {
622
- "tags": [],
623
- "text": "Emitted before the picker has dismissed.\nShorthand for ionPickerWillDismiss."
624
- },
625
- "complexType": {
626
- "original": "OverlayEventDetail",
627
- "resolved": "OverlayEventDetail<any>",
628
- "references": {
629
- "OverlayEventDetail": {
630
- "location": "import",
631
- "path": "../../utils/overlays-interface",
632
- "id": "src/utils/overlays-interface.ts::OverlayEventDetail"
633
- }
634
- }
635
- }
636
- }, {
637
- "method": "didDismissShorthand",
638
- "name": "didDismiss",
639
- "bubbles": true,
640
- "cancelable": true,
641
- "composed": true,
642
- "docs": {
643
- "tags": [],
644
- "text": "Emitted after the picker has dismissed.\nShorthand for ionPickerDidDismiss."
645
- },
646
- "complexType": {
647
- "original": "OverlayEventDetail",
648
- "resolved": "OverlayEventDetail<any>",
649
- "references": {
650
- "OverlayEventDetail": {
651
- "location": "import",
652
- "path": "../../utils/overlays-interface",
653
- "id": "src/utils/overlays-interface.ts::OverlayEventDetail"
654
- }
655
- }
656
- }
657
- }];
658
- }
659
- static get methods() {
660
- return {
661
- "present": {
662
- "complexType": {
663
- "signature": "() => Promise<void>",
664
- "parameters": [],
665
- "references": {
666
- "Promise": {
667
- "location": "global",
668
- "id": "global::Promise"
669
- }
670
- },
671
- "return": "Promise<void>"
672
- },
673
- "docs": {
674
- "text": "Present the picker overlay after it has been created.",
675
- "tags": []
676
- }
677
- },
678
- "dismiss": {
679
- "complexType": {
680
- "signature": "(data?: any, role?: string) => Promise<boolean>",
681
- "parameters": [{
682
- "tags": [{
683
- "name": "param",
684
- "text": "data Any data to emit in the dismiss events."
685
- }],
686
- "text": "Any data to emit in the dismiss events."
687
- }, {
688
- "tags": [{
689
- "name": "param",
690
- "text": "role The role of the element that is dismissing the picker.\nThis can be useful in a button handler for determining which button was\nclicked to dismiss the picker.\nSome examples include: ``\"cancel\"`, `\"destructive\"`, \"selected\"`, and `\"backdrop\"`."
691
- }],
692
- "text": "The role of the element that is dismissing the picker.\nThis can be useful in a button handler for determining which button was\nclicked to dismiss the picker.\nSome examples include: ``\"cancel\"`, `\"destructive\"`, \"selected\"`, and `\"backdrop\"`."
693
- }],
694
- "references": {
695
- "Promise": {
696
- "location": "global",
697
- "id": "global::Promise"
698
- }
699
- },
700
- "return": "Promise<boolean>"
701
- },
702
- "docs": {
703
- "text": "Dismiss the picker overlay after it has been presented.",
704
- "tags": [{
705
- "name": "param",
706
- "text": "data Any data to emit in the dismiss events."
707
- }, {
708
- "name": "param",
709
- "text": "role The role of the element that is dismissing the picker.\nThis can be useful in a button handler for determining which button was\nclicked to dismiss the picker.\nSome examples include: ``\"cancel\"`, `\"destructive\"`, \"selected\"`, and `\"backdrop\"`."
710
- }]
711
- }
712
- },
713
- "onDidDismiss": {
714
- "complexType": {
715
- "signature": "<T = any>() => Promise<OverlayEventDetail<T>>",
716
- "parameters": [],
717
- "references": {
718
- "Promise": {
719
- "location": "global",
720
- "id": "global::Promise"
721
- },
722
- "OverlayEventDetail": {
723
- "location": "import",
724
- "path": "../../utils/overlays-interface",
725
- "id": "src/utils/overlays-interface.ts::OverlayEventDetail"
726
- },
727
- "T": {
728
- "location": "global",
729
- "id": "global::T"
730
- }
731
- },
732
- "return": "Promise<OverlayEventDetail<T>>"
733
- },
734
- "docs": {
735
- "text": "Returns a promise that resolves when the picker did dismiss.",
736
- "tags": []
737
- }
738
- },
739
- "onWillDismiss": {
740
- "complexType": {
741
- "signature": "<T = any>() => Promise<OverlayEventDetail<T>>",
742
- "parameters": [],
743
- "references": {
744
- "Promise": {
745
- "location": "global",
746
- "id": "global::Promise"
747
- },
748
- "OverlayEventDetail": {
749
- "location": "import",
750
- "path": "../../utils/overlays-interface",
751
- "id": "src/utils/overlays-interface.ts::OverlayEventDetail"
752
- },
753
- "T": {
754
- "location": "global",
755
- "id": "global::T"
756
- }
757
- },
758
- "return": "Promise<OverlayEventDetail<T>>"
759
- },
760
- "docs": {
761
- "text": "Returns a promise that resolves when the picker will dismiss.",
762
- "tags": []
763
- }
764
- },
765
- "getColumn": {
766
- "complexType": {
767
- "signature": "(name: string) => Promise<PickerColumn | undefined>",
768
- "parameters": [{
769
- "tags": [{
770
- "name": "param",
771
- "text": "name The name of the column."
772
- }],
773
- "text": "The name of the column."
774
- }],
775
- "references": {
776
- "Promise": {
777
- "location": "global",
778
- "id": "global::Promise"
779
- },
780
- "PickerColumn": {
781
- "location": "import",
782
- "path": "./picker-interface",
783
- "id": "src/components/picker-legacy/picker-interface.ts::PickerColumn"
784
- }
785
- },
786
- "return": "Promise<PickerColumn | undefined>"
787
- },
788
- "docs": {
789
- "text": "Get the column that matches the specified name.",
790
- "tags": [{
791
- "name": "param",
792
- "text": "name The name of the column."
793
- }]
794
- }
795
- }
796
- };
797
- }
798
- static get elementRef() { return "el"; }
799
- static get watchers() {
800
- return [{
801
- "propName": "isOpen",
802
- "methodName": "onIsOpenChange"
803
- }, {
804
- "propName": "trigger",
805
- "methodName": "triggerChanged"
806
- }];
807
- }
808
- }
809
- const buttonWrapperClass = (button) => {
810
- return {
811
- [`picker-toolbar-${button.role}`]: button.role !== undefined,
812
- 'picker-toolbar-button': true,
813
- };
814
- };
815
- const buttonClass = (button) => {
816
- return Object.assign({ 'picker-button': true, 'ion-activatable': true }, getClassMap(button.cssClass));
817
- };