Skip to content

Commit a82d227

Browse files
authored
Move picker to drafts (#83)
1 parent 3047b25 commit a82d227

18 files changed

+61
-49
lines changed

packages/components/docs/Introduction.mdx

+7-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ Here is the list of components part of the Jupyter UI toolkit:
2828
| `listbox` | [Listbox](https://www.w3.org/WAI/ARIA/apg/patterns/listbox/) | [Stories](?path=/story/components-listbox--documentation) |
2929
| `menu` | [Menu](https://www.w3.org/WAI/ARIA/apg/patterns/menubar/) | [Stories](?path=/story/components-menu--documentation) |
3030
| `number-field` | [Number input element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number) | [Stories](?path=/story/components-number-field--documentation) |
31-
| `picker` | Variant of select for large list | [Stories](?path=/story/components-picker--documentation) |
3231
| `progress` | [Meter pattern](https://www.w3.org/WAI/ARIA/apg/patterns/meter/) as line | [Stories](?path=/story/components-progress--documentation) |
3332
| `progress-ring` | [Meter pattern](https://www.w3.org/WAI/ARIA/apg/patterns/meter/) as ring | [Stories](?path=/story/components-progress-ring--documentation) |
3433
| `radio-group` | [Radio pattern](https://www.w3.org/WAI/ARIA/apg/patterns/radio/) | [Stories](?path=/story/components-radio-group--documentation) |
@@ -43,3 +42,10 @@ Here is the list of components part of the Jupyter UI toolkit:
4342
| `toolbar` | [Toolbar pattern](https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/) | [Stories](?path=/story/components-toolbar--documentation) |
4443
| `tooltip` | [Tooltip pattern](https://www.w3.org/WAI/ARIA/apg/patterns/tooltip/) | [Stories](?path=/story/components-tooltip--documentation) |
4544
| `tree-view` | [Tree view pattern](https://www.w3.org/WAI/ARIA/apg/patterns/treeview/) | [Stories](?path=/story/components-tree-view--documentation) |
45+
46+
Draft components are prefixed with `jp-draft-`. Their API is unstable and may change between minor versions. Once stability
47+
is reached, they will be prefixed with simply `jp-`.
48+
49+
| Name | Reference | Documentation |
50+
| ----------------- | ---------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- |
51+
| `picker` | Variant of select for large list | [Stories](?path=/story/components-picker--documentation) |

packages/components/src/custom-elements.ts

+10-8
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import type { Menu } from './menu/index.js';
2929
import type { MenuItem } from './menu-item/index.js';
3030
import type { NumberField } from './number-field/index.js';
3131
import type { Option } from './option/index.js';
32-
import type { Picker } from './picker/index.js';
3332
import type { Progress } from './progress/index.js';
3433
import type { ProgressRing } from './progress-ring/index.js';
3534
import type { Radio } from './radio/index.js';
@@ -50,6 +49,8 @@ import type { Tooltip } from './tooltip/index.js';
5049
import type { TreeItem } from './tree-item/index.js';
5150
import type { TreeView } from './tree-view/index.js';
5251

52+
import type { Picker } from './drafts/picker/index.js';
53+
5354
/**
5455
* Export all custom element definitions
5556
*/
@@ -85,13 +86,6 @@ import { jpMenu } from './menu/index.js';
8586
import { jpMenuItem } from './menu-item/index.js';
8687
import { jpNumberField } from './number-field/index.js';
8788
import { jpOption } from './option/index.js';
88-
import {
89-
jpPicker,
90-
jpPickerList,
91-
jpPickerListItem,
92-
jpPickerMenu,
93-
jpPickerMenuOption
94-
} from './picker/index.js';
9589
import { jpProgress } from './progress/index.js';
9690
import { jpProgressRing } from './progress-ring/index.js';
9791
import { jpRadio } from './radio/index.js';
@@ -112,6 +106,14 @@ import { jpTooltip } from './tooltip/index.js';
112106
import { jpTreeItem } from './tree-item/index.js';
113107
import { jpTreeView } from './tree-view/index.js';
114108

109+
import {
110+
jpPicker,
111+
jpPickerList,
112+
jpPickerListItem,
113+
jpPickerMenu,
114+
jpPickerMenuOption
115+
} from './drafts/picker/index.js';
116+
115117
// When adding new components, make sure to add the component to the `allComponents` object
116118
// in addition to exporting the component by name. Ideally we would be able to just add
117119
// `export * as allComponents from "./custom-elements" from src/index.ts but API extractor
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { Meta, Primary, Controls } from '@storybook/blocks';
2+
import * as PickerStories from './picker.stories';
3+
4+
<Meta of={PickerStories} />
5+
6+
# Picker
7+
8+
> This component is experimental. The API may changed between
9+
> minor versions.
10+
11+
<Primary />
12+
13+
## Props
14+
15+
<Controls />

packages/components/src/picker/index.ts renamed to packages/components/src/drafts/picker/index.ts

+11-11
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import {
1515
pickerMenuTemplate,
1616
pickerTemplate
1717
} from '@microsoft/fast-foundation';
18-
import { fillColor, neutralLayerFloating } from '../design-tokens.js';
18+
import { fillColor, neutralLayerFloating } from '../../design-tokens.js';
1919
import { pickerStyles } from './picker.styles.js';
2020
import { pickerMenuStyles } from './picker-menu.styles.js';
2121
import { pickerMenuOptionStyles } from './picker-menu-option.styles.js';
@@ -29,10 +29,10 @@ import { pickerListItemStyles } from './picker-list-item.styles.js';
2929
*
3030
* @alpha
3131
* @remarks
32-
* * Generates HTML Element: `<jp-picker>`
32+
* * Generates HTML Element: `<jp-draft-picker>`
3333
*/
3434
export const jpPicker = Picker.compose({
35-
baseName: 'picker',
35+
baseName: 'draft-picker',
3636
template: pickerTemplate,
3737
styles: pickerStyles,
3838
shadowOptions: {}
@@ -64,10 +64,10 @@ export class PickerMenu extends FoundationPickerMenu {
6464
*
6565
* @alpha
6666
* @remarks
67-
* HTML Element: \<jp-picker-menu\>
67+
* HTML Element: \<jp-draft-picker-menu\>
6868
*/
6969
export const jpPickerMenu = PickerMenu.compose<FoundationElementDefinition>({
70-
baseName: 'picker-menu',
70+
baseName: 'draft-picker-menu',
7171
baseClass: FoundationPickerMenu,
7272
template: pickerMenuTemplate,
7373
styles: pickerMenuStyles
@@ -79,10 +79,10 @@ export const jpPickerMenu = PickerMenu.compose<FoundationElementDefinition>({
7979
*
8080
* @alpha
8181
* @remarks
82-
* HTML Element: \<jp-picker-menu-option\>
82+
* HTML Element: \<jp-draft-picker-menu-option\>
8383
*/
8484
export const jpPickerMenuOption = PickerMenuOption.compose({
85-
baseName: 'picker-menu-option',
85+
baseName: 'draft-picker-menu-option',
8686
template: pickerMenuOptionTemplate,
8787
styles: pickerMenuOptionStyles
8888
});
@@ -93,11 +93,11 @@ export const jpPickerMenuOption = PickerMenuOption.compose({
9393
*
9494
* @alpha
9595
* @remarks
96-
* HTML Element: \<jp-picker-list\>
96+
* HTML Element: \<jp-draft-picker-list\>
9797
*
9898
*/
9999
export const jpPickerList = PickerList.compose({
100-
baseName: 'picker-list',
100+
baseName: 'draft-picker-list',
101101
template: pickerListTemplate,
102102
styles: pickerListStyles
103103
});
@@ -107,10 +107,10 @@ export const jpPickerList = PickerList.compose({
107107
*
108108
* @alpha
109109
* @remarks
110-
* HTML Element: \<jp-picker-list-item\>
110+
* HTML Element: \<jp-draft-picker-list-item\>
111111
*/
112112
export const jpPickerListItem = PickerListItem.compose({
113-
baseName: 'picker-list-item',
113+
baseName: 'draft-picker-list-item',
114114
template: pickerListItemTemplate,
115115
styles: pickerListItemStyles
116116
});

packages/components/src/picker/picker-list-item.styles.ts renamed to packages/components/src/drafts/picker/picker-list-item.styles.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ import {
2424
neutralForegroundRest,
2525
typeRampBaseFontSize,
2626
typeRampBaseLineHeight
27-
} from '../design-tokens.js';
28-
import { heightNumber } from '../styles/index.js';
27+
} from '../../design-tokens.js';
28+
import { heightNumber } from '../../styles/index.js';
2929

3030
/**
3131
* Styles for Picker list item

packages/components/src/picker/picker-list.styles.ts renamed to packages/components/src/drafts/picker/picker-list.styles.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ import {
2121
strokeWidth,
2222
typeRampBaseFontSize,
2323
typeRampBaseLineHeight
24-
} from '../design-tokens.js';
25-
import { heightNumber } from '../styles/index.js';
24+
} from '../../design-tokens.js';
25+
import { heightNumber } from '../../styles/index.js';
2626

2727
/**
2828
* Styles for Picker list

packages/components/src/picker/picker-menu-option.styles.ts renamed to packages/components/src/drafts/picker/picker-menu-option.styles.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ import {
2828
neutralForegroundRest,
2929
typeRampBaseFontSize,
3030
typeRampBaseLineHeight
31-
} from '../design-tokens.js';
32-
import { heightNumber } from '../styles/index.js';
31+
} from '../../design-tokens.js';
32+
import { heightNumber } from '../../styles/index.js';
3333

3434
/**
3535
* Styles for Picker menu option

packages/components/src/picker/picker-menu.styles.ts renamed to packages/components/src/drafts/picker/picker-menu.styles.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ import {
1313
designUnit,
1414
fillColor,
1515
strokeWidth
16-
} from '../design-tokens.js';
17-
import { elevation } from '../styles/index.js';
16+
} from '../../design-tokens.js';
17+
import { elevation } from '../../styles/index.js';
1818

1919
/**
2020
* Styles for Picker menu

packages/components/src/picker/picker.stories.ts renamed to packages/components/src/drafts/picker/picker.stories.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ const Template: StoryFn = (args): string => {
2727
const max = args.maxSelected ? `max-selected="${args.maxSelected}"` : '';
2828

2929
return `
30-
<jp-picker
30+
<jp-draft-picker
3131
default-selection="${args.defaultSelection}"
3232
selection="${args.selection}"
3333
options="${args.options}"
@@ -37,7 +37,7 @@ const Template: StoryFn = (args): string => {
3737
label="${args.label}"
3838
placeholder="${args.placeholder}"
3939
${max}
40-
></jp-picker>
40+
></jp-draft-picker>
4141
`;
4242
};
4343

packages/components/src/picker/picker.styles.ts renamed to packages/components/src/drafts/picker/picker.styles.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import {
99
designUnit,
1010
fillColor,
1111
typeRampBaseFontSize
12-
} from '../design-tokens.js';
13-
import { heightNumber } from '../styles/index.js';
12+
} from '../../design-tokens.js';
13+
import { heightNumber } from '../../styles/index.js';
1414

1515
/**
1616
* Styles for Picker

packages/components/src/picker/picker.test.ts renamed to packages/components/src/drafts/picker/picker.test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { test, expect } from '@playwright/test';
66
test('Default', async ({ page }) => {
77
await page.goto('/iframe.html?id=components-picker--default');
88

9-
expect(await page.locator('jp-picker').screenshot()).toMatchSnapshot(
9+
expect(await page.locator('jp-draft-picker').screenshot()).toMatchSnapshot(
1010
'picker-default.png'
1111
);
1212
});

packages/components/src/index.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ export * from './menu/index.js';
4040
export * from './menu-item/index.js';
4141
export * from './number-field/index.js';
4242
export * from './option/index.js';
43-
export * from './picker/index.js';
4443
export * from './progress/index.js';
4544
export * from './progress-ring/index.js';
4645
export * from './radio/index.js';
@@ -59,3 +58,6 @@ export * from './toolbar/index.js';
5958
export * from './tooltip/index.js';
6059
export * from './tree-view/index.js';
6160
export * from './tree-item/index.js';
61+
62+
// Draft components
63+
export * from './drafts/picker/index.js';

packages/components/src/picker/Documentation.mdx

-14
This file was deleted.

packages/react-components/src/index.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ export * from './menu';
2424
export * from './menu-item';
2525
export * from './number-field';
2626
export * from './option';
27-
export * from './picker';
2827
export * from './progress';
2928
export * from './progress-ring';
3029
export * from './radio';
@@ -44,3 +43,5 @@ export * from './toolbar';
4443
export * from './tooltip';
4544
export * from './tree-item';
4645
export * from './tree-view';
46+
47+
export * from './drafts/picker';

0 commit comments

Comments
 (0)