diff --git a/docs/api/picker-legacy.md b/docs/api/picker-legacy.md deleted file mode 100644 index 19813672ab7..00000000000 --- a/docs/api/picker-legacy.md +++ /dev/null @@ -1,151 +0,0 @@ ---- -title: "ion-picker-legacy" ---- -import Props from '@ionic-internal/component-api/v9/picker-legacy/props.md'; -import Events from '@ionic-internal/component-api/v9/picker-legacy/events.md'; -import Methods from '@ionic-internal/component-api/v9/picker-legacy/methods.md'; -import Parts from '@ionic-internal/component-api/v9/picker-legacy/parts.md'; -import CustomProps from '@ionic-internal/component-api/v9/picker-legacy/custom-props.mdx'; -import Slots from '@ionic-internal/component-api/v9/picker-legacy/slots.md'; - - - ion-picker-legacy: A Dialog That Displays Buttons and Columns - - - -import EncapsulationPill from '@components/page/api/EncapsulationPill'; - - - -:::warning Deprecation Notice - -`ion-picker-legacy` is deprecated and will be removed in the next major release. Migrate to [`ion-picker`](./picker.md) as soon as possible. - -::: - -A Picker is a dialog that displays a row of buttons and columns underneath. It appears on top of the app's content, and at the bottom of the viewport. - -## Inline Pickers (Recommended) - -`ion-picker-legacy` can be used by writing the component directly in your template. This reduces the number of handlers you need to wire up in order to present the Picker. - -import Trigger from '@site/static/usage/v9/picker-legacy/inline/trigger/index.md'; - - - -### Using `isOpen` - -The `isOpen` property on `ion-picker-legacy` allows developers to control the presentation state of the Picker from their application state. This means when `isOpen` is set to `true` the Picker will be presented, and when `isOpen` is set to `false` the Picker will be dismissed. - -`isOpen` uses a one-way data binding, meaning it will not automatically be set to `false` when the Picker is dismissed. Developers should listen for the `ionPickerDidDismiss` or `didDismiss` event and set `isOpen` to `false`. The reason for this is it prevents the internals of `ion-picker` from being tightly coupled with the state of the application. With a one way data binding, the Picker only needs to concern itself with the boolean value that the reactive variable provides. With a two way data binding, the Picker needs to concern itself with both the boolean value as well as the existence of the reactive variable itself. This can lead to non-deterministic behaviors and make applications harder to debug. - -import IsOpen from '@site/static/usage/v9/picker-legacy/inline/isOpen/index.md'; - - - -## Controller Pickers - -The `pickerController` can be used in situations where more control is needed over when the Picker is presented and dismissed. - -import Controller from '@site/static/usage/v9/picker-legacy/controller/index.md'; - - - -## Multiple Columns - -The `columns` property can be used to display a Picker with multiple columns of different options. - -import MultipleColumn from '@site/static/usage/v9/picker-legacy/multiple-column/index.md'; - - - -## Interfaces - -### PickerButton - -```typescript -interface PickerButton { - text?: string; - role?: string; - cssClass?: string | string[]; - handler?: (value: any) => boolean | void; -} -``` - -### PickerColumn - -```typescript -interface PickerColumn { - name: string; - align?: string; - /** - * Changing this value allows the initial value of a picker column to be set. - */ - selectedIndex?: number; - prevSelected?: number; - prefix?: string; - suffix?: string; - options: PickerColumnOption[]; - cssClass?: string | string[]; - columnWidth?: string; - prefixWidth?: string; - suffixWidth?: string; - optionsWidth?: string; -} -``` - -### PickerColumnOption - -```typescript -interface PickerColumnOption { - text?: string; - value?: any; - disabled?: boolean; - duration?: number; - transform?: string; - selected?: boolean; - /** - * The optional text to assign as the aria-label on the picker column option. - */ - ariaLabel?: string; -} -``` - -### PickerOptions - -```typescript -interface PickerOptions { - columns: PickerColumn[]; - buttons?: PickerButton[]; - cssClass?: string | string[]; - showBackdrop?: boolean; - backdropDismiss?: boolean; - animated?: boolean; - - mode?: Mode; - keyboardClose?: boolean; - id?: string; - htmlAttributes?: { [key: string]: any }; - - enterAnimation?: AnimationBuilder; - leaveAnimation?: AnimationBuilder; -} -``` - -## Properties - - -## Events - - -## Methods - - -## CSS Shadow Parts - - -## CSS Custom Properties - - -## Slots - diff --git a/docs/developing/config.md b/docs/developing/config.md index 5204feb4f89..2fdef3f0e48 100644 --- a/docs/developing/config.md +++ b/docs/developing/config.md @@ -193,8 +193,6 @@ Below are the config options that Ionic uses. | `modalLeave` | `AnimationBuilder` | Provides a custom leave animation for all `ion-modal`, overriding the default "animation". | | `mode` | `Mode` | The mode determines which platform styles to use for the whole application. | | `navAnimation` | `AnimationBuilder` | Overrides the default "animation" of all `ion-nav` and `ion-router-outlet` across the whole application. | -| `pickerEnter` | `AnimationBuilder` | Provides a custom enter animation for all `ion-picker`, overriding the default "animation". | -| `pickerLeave` | `AnimationBuilder` | Provides a custom leave animation for all `ion-picker`, overriding the default "animation". | | `platform` | [`PlatformConfig`](/docs/angular/platform#customizing-platform-detection-methods) | Overrides the default platform detection methods. | | `popoverEnter` | `AnimationBuilder` | Provides a custom enter animation for all `ion-popover`, overriding the default "animation". | | `popoverLeave` | `AnimationBuilder` | Provides a custom leave animation for all `ion-popover`, overriding the default "animation". | diff --git a/docs/updating/9-0.md b/docs/updating/9-0.md index 64beb278479..f0df6db52d2 100644 --- a/docs/updating/9-0.md +++ b/docs/updating/9-0.md @@ -258,6 +258,10 @@ npm install @ionic/vue@latest @ionic/vue-router@latest npm install @ionic/core@latest ``` +### Legacy Picker + +1. Remove any usages of the `ion-picker-legacy` and `ion-picker-column-legacy` components. These components have been removed in Ionic 9. Use the [Picker](../api/picker.md#picker-in-modal) component instead. + ## Need Help Upgrading? Be sure to look at the [Ionic 9 Breaking Changes Guide](https://github.com/ionic-team/ionic-framework/blob/main/BREAKING.md#version-9x) for the complete list of breaking changes. This upgrade guide only covers changes that require action from developers. diff --git a/sidebars.js b/sidebars.js index aafb6c47ff3..661395b2463 100644 --- a/sidebars.js +++ b/sidebars.js @@ -326,14 +326,7 @@ module.exports = { type: 'category', label: 'Date & Time Pickers', collapsed: false, - items: [ - 'api/datetime', - 'api/datetime-button', - 'api/picker', - 'api/picker-column', - 'api/picker-column-option', - 'api/picker-legacy', - ], + items: ['api/datetime', 'api/datetime-button', 'api/picker', 'api/picker-column', 'api/picker-column-option'], }, { type: 'category', diff --git a/static/usage/v9/picker-legacy/controller/angular/example_component_html.md b/static/usage/v9/picker-legacy/controller/angular/example_component_html.md deleted file mode 100644 index 1e25fa99c40..00000000000 --- a/static/usage/v9/picker-legacy/controller/angular/example_component_html.md +++ /dev/null @@ -1,3 +0,0 @@ -```html -Open -``` diff --git a/static/usage/v9/picker-legacy/controller/angular/example_component_ts.md b/static/usage/v9/picker-legacy/controller/angular/example_component_ts.md deleted file mode 100644 index 35edd60c597..00000000000 --- a/static/usage/v9/picker-legacy/controller/angular/example_component_ts.md +++ /dev/null @@ -1,56 +0,0 @@ -```ts -import { Component } from '@angular/core'; -import { IonButton, PickerController } from '@ionic/angular/standalone'; - -@Component({ - selector: 'app-example', - templateUrl: 'example.component.html', - styleUrls: ['example.component.css'], - imports: [IonButton], -}) -export class ExampleComponent { - constructor(private pickerCtrl: PickerController) {} - - async openPicker() { - const picker = await this.pickerCtrl.create({ - columns: [ - { - name: 'languages', - options: [ - { - text: 'JavaScript', - value: 'javascript', - }, - { - text: 'TypeScript', - value: 'typescript', - }, - { - text: 'Rust', - value: 'rust', - }, - { - text: 'C#', - value: 'c#', - }, - ], - }, - ], - buttons: [ - { - text: 'Cancel', - role: 'cancel', - }, - { - text: 'Confirm', - handler: (value) => { - console.log(`You selected: ${value.languages.value}`); - }, - }, - ], - }); - - await picker.present(); - } -} -``` diff --git a/static/usage/v9/picker-legacy/controller/demo.html b/static/usage/v9/picker-legacy/controller/demo.html deleted file mode 100644 index 2c584d6bec0..00000000000 --- a/static/usage/v9/picker-legacy/controller/demo.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - Picker Legacy | Controller - - - - - - - - - - -
- Open -
-
-
- - - diff --git a/static/usage/v9/picker-legacy/controller/index.md b/static/usage/v9/picker-legacy/controller/index.md deleted file mode 100644 index a44ff5a1e02..00000000000 --- a/static/usage/v9/picker-legacy/controller/index.md +++ /dev/null @@ -1,26 +0,0 @@ -import Playground from '@site/src/components/global/Playground'; - -import javascript from './javascript.md'; -import react from './react.md'; -import vue from './vue.md'; - -import angular_example_component_ts from './angular/example_component_ts.md'; -import angular_example_component_html from './angular/example_component_html.md'; - - diff --git a/static/usage/v9/picker-legacy/controller/javascript.md b/static/usage/v9/picker-legacy/controller/javascript.md deleted file mode 100644 index 2ee271cbea8..00000000000 --- a/static/usage/v9/picker-legacy/controller/javascript.md +++ /dev/null @@ -1,46 +0,0 @@ -```html -Open - - -``` diff --git a/static/usage/v9/picker-legacy/controller/react.md b/static/usage/v9/picker-legacy/controller/react.md deleted file mode 100644 index 90124100d63..00000000000 --- a/static/usage/v9/picker-legacy/controller/react.md +++ /dev/null @@ -1,52 +0,0 @@ -```tsx -import React from 'react'; -import { IonButton, useIonPicker } from '@ionic/react'; - -function Example() { - const [present] = useIonPicker(); - - const openPicker = async () => { - present({ - columns: [ - { - name: 'languages', - options: [ - { - text: 'JavaScript', - value: 'javascript', - }, - { - text: 'TypeScript', - value: 'typescript', - }, - { - text: 'Rust', - value: 'rust', - }, - { - text: 'C#', - value: 'c#', - }, - ], - }, - ], - buttons: [ - { - text: 'Cancel', - role: 'cancel', - }, - { - text: 'Confirm', - handler: (value) => { - console.log(`You selected: ${value.languages.value}`); - }, - }, - ], - }); - }; - - return Open; -} - -export default Example; -``` diff --git a/static/usage/v9/picker-legacy/controller/vue.md b/static/usage/v9/picker-legacy/controller/vue.md deleted file mode 100644 index 2fc258e022b..00000000000 --- a/static/usage/v9/picker-legacy/controller/vue.md +++ /dev/null @@ -1,53 +0,0 @@ -```html - - - -``` diff --git a/static/usage/v9/picker-legacy/inline/isOpen/angular/example_component_html.md b/static/usage/v9/picker-legacy/inline/isOpen/angular/example_component_html.md deleted file mode 100644 index 64465cb90ba..00000000000 --- a/static/usage/v9/picker-legacy/inline/isOpen/angular/example_component_html.md +++ /dev/null @@ -1,9 +0,0 @@ -```html -Open - -``` diff --git a/static/usage/v9/picker-legacy/inline/isOpen/angular/example_component_ts.md b/static/usage/v9/picker-legacy/inline/isOpen/angular/example_component_ts.md deleted file mode 100644 index d2f1144a794..00000000000 --- a/static/usage/v9/picker-legacy/inline/isOpen/angular/example_component_ts.md +++ /dev/null @@ -1,62 +0,0 @@ -```ts -import { Component } from '@angular/core'; -import { IonButton, IonPickerLegacy } from '@ionic/angular/standalone'; - -interface PickerValue { - languages: { - text: string; - value: string; - }; -} - -@Component({ - selector: 'app-example', - templateUrl: 'example.component.html', - styleUrls: ['example.component.css'], - imports: [IonButton, IonPickerLegacy], -}) -export class ExampleComponent { - isPickerOpen = false; - - public pickerColumns = [ - { - name: 'languages', - options: [ - { - text: 'JavaScript', - value: 'javascript', - }, - { - text: 'TypeScript', - value: 'typescript', - }, - { - text: 'Rust', - value: 'rust', - }, - { - text: 'C#', - value: 'c#', - }, - ], - }, - ]; - - public pickerButtons = [ - { - text: 'Cancel', - role: 'cancel', - }, - { - text: 'Confirm', - handler: (value: PickerValue) => { - console.log(`You selected: ${value.languages.value}`); - }, - }, - ]; - - setOpen(isOpen: boolean) { - this.isPickerOpen = isOpen; - } -} -``` diff --git a/static/usage/v9/picker-legacy/inline/isOpen/demo.html b/static/usage/v9/picker-legacy/inline/isOpen/demo.html deleted file mode 100644 index c3bae2a860f..00000000000 --- a/static/usage/v9/picker-legacy/inline/isOpen/demo.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - Picker Legacy | isOpen - - - - - - - - - -
- Open - -
-
-
- - - diff --git a/static/usage/v9/picker-legacy/inline/isOpen/index.md b/static/usage/v9/picker-legacy/inline/isOpen/index.md deleted file mode 100644 index ac3a2f96c74..00000000000 --- a/static/usage/v9/picker-legacy/inline/isOpen/index.md +++ /dev/null @@ -1,26 +0,0 @@ -import Playground from '@site/src/components/global/Playground'; - -import javascript from './javascript.md'; -import react from './react.md'; -import vue from './vue.md'; - -import angular_example_component_ts from './angular/example_component_ts.md'; -import angular_example_component_html from './angular/example_component_html.md'; - - diff --git a/static/usage/v9/picker-legacy/inline/isOpen/javascript.md b/static/usage/v9/picker-legacy/inline/isOpen/javascript.md deleted file mode 100644 index 6d78b7cb89a..00000000000 --- a/static/usage/v9/picker-legacy/inline/isOpen/javascript.md +++ /dev/null @@ -1,49 +0,0 @@ -```html -Open - - - -``` diff --git a/static/usage/v9/picker-legacy/inline/isOpen/react.md b/static/usage/v9/picker-legacy/inline/isOpen/react.md deleted file mode 100644 index 15c70a59f1c..00000000000 --- a/static/usage/v9/picker-legacy/inline/isOpen/react.md +++ /dev/null @@ -1,55 +0,0 @@ -```tsx -import React, { useState } from 'react'; -import { IonButton, IonPickerLegacy } from '@ionic/react'; - -function Example() { - const [isOpen, setIsOpen] = useState(false); - - return ( - <> - setIsOpen(true)}>Open - setIsOpen(false)} - columns={[ - { - name: 'languages', - options: [ - { - text: 'JavaScript', - value: 'javascript', - }, - { - text: 'TypeScript', - value: 'typescript', - }, - { - text: 'Rust', - value: 'rust', - }, - { - text: 'C#', - value: 'c#', - }, - ], - }, - ]} - buttons={[ - { - text: 'Cancel', - role: 'cancel', - }, - { - text: 'Confirm', - handler: (value) => { - console.log(`You selected: ${value.languages.value}`); - }, - }, - ]} - > - - ); -} - -export default Example; -``` diff --git a/static/usage/v9/picker-legacy/inline/isOpen/vue.md b/static/usage/v9/picker-legacy/inline/isOpen/vue.md deleted file mode 100644 index 03f59a97246..00000000000 --- a/static/usage/v9/picker-legacy/inline/isOpen/vue.md +++ /dev/null @@ -1,59 +0,0 @@ -```html - - - -``` diff --git a/static/usage/v9/picker-legacy/inline/trigger/angular/example_component_html.md b/static/usage/v9/picker-legacy/inline/trigger/angular/example_component_html.md deleted file mode 100644 index 3d96d4de4d0..00000000000 --- a/static/usage/v9/picker-legacy/inline/trigger/angular/example_component_html.md +++ /dev/null @@ -1,4 +0,0 @@ -```html -Open - -``` diff --git a/static/usage/v9/picker-legacy/inline/trigger/angular/example_component_ts.md b/static/usage/v9/picker-legacy/inline/trigger/angular/example_component_ts.md deleted file mode 100644 index 31eb752d4a9..00000000000 --- a/static/usage/v9/picker-legacy/inline/trigger/angular/example_component_ts.md +++ /dev/null @@ -1,56 +0,0 @@ -```ts -import { Component } from '@angular/core'; -import { IonButton, IonPickerLegacy } from '@ionic/angular/standalone'; - -interface PickerValue { - languages: { - text: string; - value: string; - }; -} - -@Component({ - selector: 'app-example', - templateUrl: 'example.component.html', - styleUrls: ['example.component.css'], - imports: [IonButton, IonPickerLegacy], -}) -export class ExampleComponent { - public pickerColumns = [ - { - name: 'languages', - options: [ - { - text: 'JavaScript', - value: 'javascript', - }, - { - text: 'TypeScript', - value: 'typescript', - }, - { - text: 'Rust', - value: 'rust', - }, - { - text: 'C#', - value: 'c#', - }, - ], - }, - ]; - - public pickerButtons = [ - { - text: 'Cancel', - role: 'cancel', - }, - { - text: 'Confirm', - handler: (value: PickerValue) => { - console.log(`You selected: ${value.languages.value}`); - }, - }, - ]; -} -``` diff --git a/static/usage/v9/picker-legacy/inline/trigger/demo.html b/static/usage/v9/picker-legacy/inline/trigger/demo.html deleted file mode 100644 index 0e2328c6768..00000000000 --- a/static/usage/v9/picker-legacy/inline/trigger/demo.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - Picker Legacy | Trigger - - - - - - - - - -
- Open - -
-
-
- - - diff --git a/static/usage/v9/picker-legacy/inline/trigger/index.md b/static/usage/v9/picker-legacy/inline/trigger/index.md deleted file mode 100644 index abfec81b998..00000000000 --- a/static/usage/v9/picker-legacy/inline/trigger/index.md +++ /dev/null @@ -1,26 +0,0 @@ -import Playground from '@site/src/components/global/Playground'; - -import javascript from './javascript.md'; -import react from './react.md'; -import vue from './vue.md'; - -import angular_example_component_ts from './angular/example_component_ts.md'; -import angular_example_component_html from './angular/example_component_html.md'; - - diff --git a/static/usage/v9/picker-legacy/inline/trigger/javascript.md b/static/usage/v9/picker-legacy/inline/trigger/javascript.md deleted file mode 100644 index 7aa671d1f33..00000000000 --- a/static/usage/v9/picker-legacy/inline/trigger/javascript.md +++ /dev/null @@ -1,45 +0,0 @@ -```html -Open - - - -``` diff --git a/static/usage/v9/picker-legacy/inline/trigger/react.md b/static/usage/v9/picker-legacy/inline/trigger/react.md deleted file mode 100644 index 45c4ae592b7..00000000000 --- a/static/usage/v9/picker-legacy/inline/trigger/react.md +++ /dev/null @@ -1,52 +0,0 @@ -```tsx -import React from 'react'; -import { IonButton, IonPickerLegacy } from '@ionic/react'; - -function Example() { - return ( - <> - Open - { - console.log(`You selected: ${value.languages.value}`); - }, - }, - ]} - > - - ); -} - -export default Example; -``` diff --git a/static/usage/v9/picker-legacy/inline/trigger/vue.md b/static/usage/v9/picker-legacy/inline/trigger/vue.md deleted file mode 100644 index 3ded44537a2..00000000000 --- a/static/usage/v9/picker-legacy/inline/trigger/vue.md +++ /dev/null @@ -1,47 +0,0 @@ -```html - - - -``` diff --git a/static/usage/v9/picker-legacy/multiple-column/angular/example_component_html.md b/static/usage/v9/picker-legacy/multiple-column/angular/example_component_html.md deleted file mode 100644 index 3d96d4de4d0..00000000000 --- a/static/usage/v9/picker-legacy/multiple-column/angular/example_component_html.md +++ /dev/null @@ -1,4 +0,0 @@ -```html -Open - -``` diff --git a/static/usage/v9/picker-legacy/multiple-column/angular/example_component_ts.md b/static/usage/v9/picker-legacy/multiple-column/angular/example_component_ts.md deleted file mode 100644 index 5ac50ceecf7..00000000000 --- a/static/usage/v9/picker-legacy/multiple-column/angular/example_component_ts.md +++ /dev/null @@ -1,94 +0,0 @@ -```ts -import { Component } from '@angular/core'; -import { IonButton, IonPickerLegacy } from '@ionic/angular/standalone'; - -interface PickerValue { - meat: { - text: string; - value: string; - }; - veggies: { - text: string; - value: string; - }; - crust: { - text: string; - value: string; - }; -} - -@Component({ - selector: 'app-example', - templateUrl: 'example.component.html', - styleUrls: ['example.component.css'], - imports: [IonButton, IonPickerLegacy], -}) -export class ExampleComponent { - public pickerColumns = [ - { - name: 'meat', - options: [ - { - text: 'Pepperoni', - value: 'pepperoni', - }, - { - text: 'Smoked Ham', - value: 'smoked-ham', - }, - { - text: 'Crispy Bacon', - value: 'bacon', - }, - ], - }, - { - name: 'veggies', - options: [ - { - text: 'Red onion', - value: 'red-onion', - }, - { - text: 'Peppers', - value: 'peppers', - }, - { - text: 'Black olives', - value: 'black-olives', - }, - ], - }, - { - name: 'crust', - options: [ - { - text: 'Pan style', - value: 'pan', - }, - { - text: 'Hand tossed', - value: 'hand-tossed', - }, - { - text: 'Stuffed crust', - value: 'stuffed-crust', - }, - ], - }, - ]; - - public pickerButtons = [ - { - text: 'Cancel', - role: 'cancel', - }, - { - text: 'Confirm', - handler: (value: PickerValue) => { - console.log(`You selected a ${value.crust.text} pizza with ${value.meat.text} and ${value.veggies.text}`); - }, - }, - ]; -} -``` diff --git a/static/usage/v9/picker-legacy/multiple-column/demo.html b/static/usage/v9/picker-legacy/multiple-column/demo.html deleted file mode 100644 index 9642d8dc9d8..00000000000 --- a/static/usage/v9/picker-legacy/multiple-column/demo.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - Picker Legacy | Multiple Columns - - - - - - - - - -
- Open - -
-
-
- - - diff --git a/static/usage/v9/picker-legacy/multiple-column/index.md b/static/usage/v9/picker-legacy/multiple-column/index.md deleted file mode 100644 index 101c0efa398..00000000000 --- a/static/usage/v9/picker-legacy/multiple-column/index.md +++ /dev/null @@ -1,26 +0,0 @@ -import Playground from '@site/src/components/global/Playground'; - -import javascript from './javascript.md'; -import react from './react.md'; -import vue from './vue.md'; - -import angular_example_component_ts from './angular/example_component_ts.md'; -import angular_example_component_html from './angular/example_component_html.md'; - - diff --git a/static/usage/v9/picker-legacy/multiple-column/javascript.md b/static/usage/v9/picker-legacy/multiple-column/javascript.md deleted file mode 100644 index 563a6a77adf..00000000000 --- a/static/usage/v9/picker-legacy/multiple-column/javascript.md +++ /dev/null @@ -1,75 +0,0 @@ -```html -Open - - - -``` diff --git a/static/usage/v9/picker-legacy/multiple-column/react.md b/static/usage/v9/picker-legacy/multiple-column/react.md deleted file mode 100644 index 8308a40d82f..00000000000 --- a/static/usage/v9/picker-legacy/multiple-column/react.md +++ /dev/null @@ -1,82 +0,0 @@ -```tsx -import React from 'react'; -import { IonButton, IonPickerLegacy } from '@ionic/react'; - -function Example() { - return ( - <> - Open - { - console.log(`You selected a ${value.crust.text} pizza with ${value.meat.text} and ${value.veggies.text}`); - }, - }, - ]} - > - - ); -} - -export default Example; -``` diff --git a/static/usage/v9/picker-legacy/multiple-column/vue.md b/static/usage/v9/picker-legacy/multiple-column/vue.md deleted file mode 100644 index 93b46cb04ed..00000000000 --- a/static/usage/v9/picker-legacy/multiple-column/vue.md +++ /dev/null @@ -1,77 +0,0 @@ -```html - - - -```