@1024pix/pix-ui 37.0.0 → 38.1.0

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 (99) hide show
  1. package/.circleci/config.yml +1 -1
  2. package/.storybook/main.js +7 -5
  3. package/.storybook/preview.js +35 -32
  4. package/CHANGELOG.md +20 -0
  5. package/addon/styles/_pix-button-base.scss +1 -0
  6. package/app/stories/form.stories.js +4 -0
  7. package/app/stories/{pix-background-header.stories.mdx → pix-background-header.mdx} +6 -6
  8. package/app/stories/pix-background-header.stories.js +4 -0
  9. package/app/stories/{pix-banner.stories.mdx → pix-banner.mdx} +19 -30
  10. package/app/stories/pix-banner.stories.js +49 -46
  11. package/app/stories/{pix-block.stories.mdx → pix-block.mdx} +5 -7
  12. package/app/stories/pix-block.stories.js +14 -11
  13. package/app/stories/{pix-button-link.stories.mdx → pix-button-link.mdx} +6 -14
  14. package/app/stories/pix-button-link.stories.js +87 -87
  15. package/app/stories/{pix-button-upload.stories.mdx → pix-button-upload.mdx} +5 -8
  16. package/app/stories/pix-button-upload.stories.js +62 -59
  17. package/app/stories/{pix-button.stories.mdx → pix-button.mdx} +15 -28
  18. package/app/stories/pix-button.stories.js +152 -149
  19. package/app/stories/pix-checkbox.mdx +71 -0
  20. package/app/stories/pix-checkbox.stories.js +69 -66
  21. package/app/stories/pix-collapsible.mdx +31 -0
  22. package/app/stories/pix-collapsible.stories.js +16 -13
  23. package/app/stories/{pix-dropdown.stories.mdx → pix-dropdown.mdx} +9 -17
  24. package/app/stories/pix-dropdown.stories.js +114 -110
  25. package/app/stories/{pix-filter-banner.stories.mdx → pix-filter-banner.mdx} +5 -7
  26. package/app/stories/pix-filter-banner.stories.js +36 -33
  27. package/app/stories/{pix-filterable-and-searchable-select.stories.mdx → pix-filterable-and-searchable-select.mdx} +7 -17
  28. package/app/stories/pix-filterable-and-searchable-select.stories.js +136 -133
  29. package/app/stories/{pix-icon-button.stories.mdx → pix-icon-button.mdx} +8 -16
  30. package/app/stories/pix-icon-button.stories.js +60 -57
  31. package/app/stories/{pix-indicator-card.stories.mdx → pix-indicator-card.mdx} +6 -10
  32. package/app/stories/pix-indicator-card.stories.js +37 -34
  33. package/app/stories/{pix-input-code.stories.mdx → pix-input-code.mdx} +5 -7
  34. package/app/stories/pix-input-code.stories.js +55 -52
  35. package/app/stories/{pix-input-password.stories.mdx → pix-input-password.mdx} +22 -23
  36. package/app/stories/pix-input-password.stories.js +60 -57
  37. package/app/stories/{pix-input.stories.mdx → pix-input.mdx} +14 -20
  38. package/app/stories/pix-input.stories.js +55 -52
  39. package/app/stories/pix-message.mdx +54 -0
  40. package/app/stories/pix-message.stories.js +40 -36
  41. package/app/stories/{pix-modal.stories.mdx → pix-modal.mdx} +5 -7
  42. package/app/stories/pix-modal.stories.js +31 -30
  43. package/app/stories/{pix-multi-select.stories.mdx → pix-multi-select.mdx} +9 -21
  44. package/app/stories/pix-multi-select.stories.js +106 -99
  45. package/app/stories/{pix-pagination.stories.mdx → pix-pagination.mdx} +8 -16
  46. package/app/stories/pix-pagination.stories.js +114 -111
  47. package/app/stories/{pix-progress-gauge.stories.mdx → pix-progress-gauge.mdx} +6 -10
  48. package/app/stories/pix-progress-gauge.stories.js +43 -40
  49. package/app/stories/{pix-radio-button.stories.mdx → pix-radio-button.mdx} +13 -15
  50. package/app/stories/pix-radio-button.stories.js +35 -32
  51. package/app/stories/pix-return-to.mdx +34 -0
  52. package/app/stories/pix-return-to.stories.js +32 -32
  53. package/app/stories/{pix-search-input.stories.mdx → pix-search-input.mdx} +5 -7
  54. package/app/stories/pix-search-input.stories.js +56 -52
  55. package/app/stories/{pix-select.stories.mdx → pix-select.mdx} +12 -28
  56. package/app/stories/pix-select.stories.js +171 -168
  57. package/app/stories/pix-selectable-tag.mdx +37 -0
  58. package/app/stories/pix-selectable-tag.stories.js +37 -34
  59. package/app/stories/{pix-sidebar.stories.mdx → pix-sidebar.mdx} +5 -7
  60. package/app/stories/pix-sidebar.stories.js +28 -25
  61. package/app/stories/{pix-stars.stories.mdx → pix-stars.mdx} +5 -7
  62. package/app/stories/pix-stars.stories.js +29 -26
  63. package/app/stories/{pix-tag.stories.mdx → pix-tag.mdx} +9 -10
  64. package/app/stories/pix-tag.stories.js +39 -39
  65. package/app/stories/{pix-textarea.stories.mdx → pix-textarea.mdx} +6 -7
  66. package/app/stories/pix-textarea.stories.js +37 -39
  67. package/app/stories/pix-toggle.mdx +28 -0
  68. package/app/stories/pix-toggle.stories.js +52 -49
  69. package/app/stories/{pix-tooltip.stories.mdx → pix-tooltip.mdx} +14 -28
  70. package/app/stories/pix-tooltip.stories.js +57 -54
  71. package/docs/{architecture.stories.mdx → architecture.mdx} +1 -1
  72. package/docs/{breaking-changes.stories.mdx → breaking-changes.mdx} +1 -1
  73. package/docs/changelog.mdx +6 -0
  74. package/docs/{colors-palette.stories.mdx → colors-palette.mdx} +1 -3
  75. package/docs/{create-component.stories.mdx → create-component.mdx} +24 -30
  76. package/docs/{design-system.stories.mdx → design-system.mdx} +1 -1
  77. package/docs/{design-tokens.stories.mdx → design-tokens.mdx} +1 -1
  78. package/docs/{good-practices-a11y.stories.mdx → good-practices-a11y.mdx} +1 -1
  79. package/docs/{good-practices-design.stories.mdx → good-practices-design.mdx} +1 -1
  80. package/docs/{good-practices-responsive.stories.mdx → good-practices-responsive.mdx} +1 -1
  81. package/docs/{good-practices-style-css.stories.mdx → good-practices-style-css.mdx} +1 -1
  82. package/docs/{good-practices-tests.stories.mdx → good-practices-tests.mdx} +1 -1
  83. package/docs/{make-a-release.stories.mdx → make-a-release.mdx} +1 -1
  84. package/docs/{pix-design-tokens-dev.stories.mdx → pix-design-tokens-dev.mdx} +1 -1
  85. package/docs/{shadow.stories.mdx → shadow.mdx} +1 -1
  86. package/docs/{spacing.stories.mdx → spacing.mdx} +1 -1
  87. package/docs/{storybook.stories.mdx → storybook.mdx} +1 -1
  88. package/docs/{test-component-without-release.stories.mdx → test-component-without-release.mdx} +1 -1
  89. package/docs/{typography.stories.mdx → typography.mdx} +1 -3
  90. package/docs/{use-component.stories.mdx → use-component.mdx} +1 -1
  91. package/docs/{use-install.stories.mdx → use-install.mdx} +1 -1
  92. package/package.json +17 -20
  93. package/app/stories/pix-checkbox.stories.mdx +0 -73
  94. package/app/stories/pix-collapsible.stories.mdx +0 -36
  95. package/app/stories/pix-message.stories.mdx +0 -64
  96. package/app/stories/pix-return-to.stories.mdx +0 -33
  97. package/app/stories/pix-selectable-tag.stories.mdx +0 -43
  98. package/app/stories/pix-toggle.stories.mdx +0 -36
  99. package/docs/changelog.stories.mdx +0 -6
@@ -1,5 +1,74 @@
1
1
  import { hbs } from 'ember-cli-htmlbars';
2
2
 
3
+ export default {
4
+ title: 'Form/Checkbox',
5
+ argTypes: {
6
+ id: {
7
+ name: 'id',
8
+ description:
9
+ 'Identifiant du champ permettant de lui attacher un label. Généré automatiquement si non renseigné.',
10
+ type: { name: 'string' },
11
+ },
12
+ label: {
13
+ name: 'label',
14
+ description: "Le label de l'input",
15
+ },
16
+ class: {
17
+ name: 'class',
18
+ description: "Permet d'ajouter une classe au parent du composant.",
19
+ type: { name: 'string' },
20
+ },
21
+ screenReaderOnly: {
22
+ name: 'screenReaderOnly',
23
+ description:
24
+ "Permet de ne pas afficher le label à l'écran. Sert à garder un label qui sera lisible par les lecteurs d'écran.",
25
+ type: { name: 'boolean', required: true },
26
+ table: {
27
+ type: { summary: 'boolean' },
28
+ defaultValue: { summary: false },
29
+ },
30
+ },
31
+ isIndeterminate: {
32
+ name: 'isIndeterminate',
33
+ description:
34
+ "Rendre la checkbox indéterminée, état indiquant que la/les case(s) n'est/ne sont ni cochée(s) ni décochée(s) (exemple: une checkbox parente indiquant la sélection partielle de plusieurs checkbox enfants)",
35
+ type: { name: 'boolean', required: true },
36
+ table: {
37
+ type: { summary: 'boolean' },
38
+ defaultValue: { summary: false },
39
+ },
40
+ },
41
+ labelSize: {
42
+ name: 'labelSize',
43
+ description: 'Correspond à la taille de la police du label.',
44
+ type: { name: 'string', required: false },
45
+ table: {
46
+ defaultValue: { summary: 'default' },
47
+ },
48
+ control: { type: 'select' },
49
+ options: ['small', 'default', 'large'],
50
+ },
51
+ checked: {
52
+ name: 'checked',
53
+ description: 'Permet de cocher la checkbox',
54
+ type: { name: 'boolean', required: false },
55
+ table: {
56
+ type: { summary: 'boolean' },
57
+ defaultValue: { summary: false },
58
+ },
59
+ },
60
+ disabled: {
61
+ name: 'disabled',
62
+ description: 'Permet de désactiver la checkbox',
63
+ type: { name: 'boolean', required: false },
64
+ table: {
65
+ type: { summary: 'boolean' },
66
+ defaultValue: { summary: false },
67
+ },
68
+ },
69
+ },
70
+ };
71
+
3
72
  export const Template = (args) => {
4
73
  return {
5
74
  template: hbs`
@@ -105,69 +174,3 @@ export const multiple = MultipleTemplate.bind({});
105
174
  multiple.args = {
106
175
  label: 'Recevoir la newsletter',
107
176
  };
108
-
109
- export const argTypes = {
110
- id: {
111
- name: 'id',
112
- description:
113
- 'Identifiant du champ permettant de lui attacher un label. Généré automatiquement si non renseigné.',
114
- type: { name: 'string' },
115
- },
116
- label: {
117
- name: 'label',
118
- description: "Le label de l'input",
119
- },
120
- class: {
121
- name: 'class',
122
- description: "Permet d'ajouter une classe au parent du composant.",
123
- type: { name: 'string' },
124
- },
125
- screenReaderOnly: {
126
- name: 'screenReaderOnly',
127
- description:
128
- "Permet de ne pas afficher le label à l'écran. Sert à garder un label qui sera lisible par les lecteurs d'écran.",
129
- type: { name: 'boolean', required: true },
130
- table: {
131
- type: { summary: 'boolean' },
132
- defaultValue: { summary: false },
133
- },
134
- },
135
- isIndeterminate: {
136
- name: 'isIndeterminate',
137
- description:
138
- "Rendre la checkbox indéterminée, état indiquant que la/les case(s) n'est/ne sont ni cochée(s) ni décochée(s) (exemple: une checkbox parente indiquant la sélection partielle de plusieurs checkbox enfants)",
139
- type: { name: 'boolean', required: true },
140
- table: {
141
- type: { summary: 'boolean' },
142
- defaultValue: { summary: false },
143
- },
144
- },
145
- labelSize: {
146
- name: 'labelSize',
147
- description: 'Correspond à la taille de la police du label.',
148
- type: { name: 'string', required: false },
149
- table: {
150
- defaultValue: { summary: 'default' },
151
- },
152
- control: { type: 'select' },
153
- options: ['small', 'default', 'large'],
154
- },
155
- checked: {
156
- name: 'checked',
157
- description: 'Permet de cocher la checkbox',
158
- type: { name: 'boolean', required: false },
159
- table: {
160
- type: { summary: 'boolean' },
161
- defaultValue: { summary: false },
162
- },
163
- },
164
- disabled: {
165
- name: 'disabled',
166
- description: 'Permet de désactiver la checkbox',
167
- type: { name: 'boolean', required: false },
168
- table: {
169
- type: { summary: 'boolean' },
170
- defaultValue: { summary: false },
171
- },
172
- },
173
- };
@@ -0,0 +1,31 @@
1
+ import { Meta, Story, ArgTypes } from '@storybook/blocks';
2
+ import * as ComponentStories from './pix-collapsible.stories';
3
+
4
+ <Meta of={ComponentStories} />
5
+
6
+ # PixCollapsible
7
+
8
+ Un `PixCollapsible` est un élément comprenant un libellé et un contenu.
9
+ Par défaut le contenu est masqué et cliquer sur le libellé permet de montrer le contenu du `PixCollapsible`.
10
+
11
+ > Il est possible de cumuler les `PixCollapsible` de sorte à former un accordéon, il suffit de les mettre dans une même div parente.
12
+
13
+
14
+ <Story of={ComponentStories.collapsible} height={150} />
15
+
16
+ <Story of={ComponentStories.collapsibleWithBlockTitle} height={150} />
17
+
18
+ <Story of={ComponentStories.multipleCollapsible} height={260} />
19
+
20
+
21
+ ## Usage
22
+
23
+ ```html
24
+ <PixCollapsible @title="Titre du contenu à dérouler en cliquant" @iconTitle="user">
25
+ <p>Contenu du PixCollapsible</p>
26
+ </PixCollapsible>
27
+ ```
28
+
29
+ ## Arguments
30
+
31
+ <ArgTypes of={ComponentStories} />
@@ -1,5 +1,21 @@
1
1
  import { hbs } from 'ember-cli-htmlbars';
2
2
 
3
+ export default {
4
+ title: 'Others/Collapsible',
5
+ argTypes: {
6
+ title: {
7
+ name: 'title',
8
+ description: 'Intitulé du contenu du PixCollapsible',
9
+ type: { name: 'string', required: true },
10
+ },
11
+ titleIcon: {
12
+ name: 'titleIcon',
13
+ description: "Ajoute l'icône donnée en paramètre avant le titre du PixCollapsible",
14
+ type: { name: 'string', required: false },
15
+ },
16
+ },
17
+ };
18
+
3
19
  const Template = (args) => {
4
20
  return {
5
21
  template: hbs`<PixCollapsible @title={{this.title}} @titleIcon={{this.titleIcon}}>
@@ -47,16 +63,3 @@ export const multipleCollapsible = (args) => {
47
63
  context: args,
48
64
  };
49
65
  };
50
-
51
- export const argTypes = {
52
- title: {
53
- name: 'title',
54
- description: 'Intitulé du contenu du PixCollapsible',
55
- type: { name: 'string', required: true },
56
- },
57
- titleIcon: {
58
- name: 'titleIcon',
59
- description: "Ajoute l'icône donnée en paramètre avant le titre du PixCollapsible",
60
- type: { name: 'string', required: false },
61
- },
62
- };
@@ -1,8 +1,7 @@
1
- import { Meta, Story, Canvas, ArgsTable } from '@storybook/addon-docs';
1
+ import { Meta, Story, ArgTypes } from '@storybook/blocks';
2
+ import * as ComponentStories from './pix-dropdown.stories';
2
3
 
3
- import * as stories from './pix-dropdown.stories.js';
4
-
5
- <Meta title="Form/Dropdown" component="PixDropdown" argTypes={stories.argTypes} />
4
+ <Meta of={ComponentStories} />
6
5
 
7
6
  # Pix Dropdown
8
7
 
@@ -18,27 +17,20 @@ Les options sont représentées par un tableau d'objet contenant les propriété
18
17
 
19
18
  ## Default
20
19
 
21
- <Canvas>
22
- <Story name="Dropdown" story={stories.Default} height={200} />
23
- </Canvas>
20
+ <Story of={ComponentStories.Default} height={200} />
24
21
 
25
22
  ## With label
26
23
 
27
- <Canvas>
28
- <Story story={stories.withLabel} height={200} />
29
- </Canvas>
24
+ <Story of={ComponentStories.withLabel} height={200} />
30
25
 
31
26
  ## Searchable
32
27
 
33
- <Canvas>
34
- <Story name="Searchable" story={stories.searchableDropdown} height={200} />
35
- </Canvas>
28
+ <Story of={ComponentStories.searchableDropdown} height={200} />
29
+
36
30
 
37
31
  ## Infinite scroll
38
32
 
39
- <Canvas>
40
- <Story name="Paginated" story={stories.paginatedDropdown} height={200} />
41
- </Canvas>
33
+ <Story of={ComponentStories.paginatedDropdown} height={200} />
42
34
 
43
35
  ## Usage
44
36
 
@@ -62,4 +54,4 @@ Les options sont représentées par un tableau d'objet contenant les propriété
62
54
 
63
55
  ## Arguments
64
56
 
65
- <ArgsTable story="Dropdown" />
57
+ <ArgTypes of={ComponentStories} />
@@ -1,7 +1,120 @@
1
1
  import { hbs } from 'ember-cli-htmlbars';
2
2
  import { action } from '@storybook/addon-actions';
3
3
 
4
- export const Template = (args) => {
4
+ export default {
5
+ title: 'Form/Dropdown',
6
+ argTypes: {
7
+ options: {
8
+ name: 'options',
9
+ description:
10
+ 'Les options sont représentées par un tableau d‘objet contenant les propriétés ``value`` et ``label``.',
11
+ type: { name: 'array', required: true },
12
+ },
13
+ selectedOption: {
14
+ name: 'selectedOption',
15
+ description: 'Option sélectionnée',
16
+ options: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'],
17
+ control: { type: 'select' },
18
+ type: { name: 'string', required: false },
19
+ table: {
20
+ type: { summary: 'string' },
21
+ },
22
+ },
23
+ onSelect: {
24
+ name: 'onSelect',
25
+ description: 'Fonction à appeler quand une option est sélectionnée.',
26
+ type: { required: true },
27
+ control: { disable: true },
28
+ },
29
+ isSearchable: {
30
+ name: 'isSearchable',
31
+ description:
32
+ "Rend le champ cherchable, le paramètre @searchPlaceholder devient requis pour l'accessibilité.",
33
+ control: { type: 'boolean' },
34
+ type: { name: 'boolean', required: false },
35
+ table: {
36
+ type: { summary: 'boolean' },
37
+ defaultValue: { summary: false },
38
+ },
39
+ },
40
+ searchPlaceholder: {
41
+ name: 'searchPlaceholder',
42
+ description: 'Placeholder du champ de recherche. Requis si le menu est cherchable.',
43
+ type: { name: 'string', required: false },
44
+ table: {
45
+ type: { summary: 'string' },
46
+ },
47
+ },
48
+ placeholder: {
49
+ name: 'placeholder',
50
+ description: "Un texte donnant une indication a l'utilisateur sur le choix des options.",
51
+ type: { name: 'string', required: false },
52
+ table: {
53
+ type: { summary: 'string' },
54
+ },
55
+ },
56
+ label: {
57
+ name: 'label',
58
+ description:
59
+ 'Label du menu déroulant, le paramètre @id devient obligatoire avec ce paramètre.',
60
+ type: { name: 'string', required: false },
61
+ table: {
62
+ type: { summary: 'string' },
63
+ },
64
+ },
65
+ requiredLabel: {
66
+ name: 'requiredLabel',
67
+ description:
68
+ 'Label indiquant que le champ est requis, le paramètre @label devient obligatoire avec ce paramètre.',
69
+ type: { name: 'string', required: false },
70
+ table: {
71
+ type: { summary: 'string' },
72
+ },
73
+ },
74
+ id: {
75
+ name: 'id',
76
+ description: "L'id du label",
77
+ type: { name: 'string', required: false },
78
+ table: {
79
+ type: { summary: 'string' },
80
+ },
81
+ },
82
+ pageSize: {
83
+ name: 'pageSize',
84
+ description: "Le nombre d'élément à afficher dans la liste.",
85
+ type: { name: 'number', required: false },
86
+ table: {
87
+ type: { summary: 'number' },
88
+ },
89
+ },
90
+ clearLabel: {
91
+ name: 'clearLabel',
92
+ description: "Label de l'icône pour éliminer la sélection. Requis pour l'accessibilité.",
93
+ type: { name: 'string', required: false },
94
+ table: {
95
+ type: { summary: 'string' },
96
+ },
97
+ },
98
+ expandLabel: {
99
+ name: 'expandLabel',
100
+ description: "Label de l'icône pour ouvrir le menu déroulant. Requis pour l'accessibilité.",
101
+ type: { name: 'string', required: false },
102
+ table: {
103
+ type: { summary: 'string' },
104
+ },
105
+ },
106
+ collapseLabel: {
107
+ name: 'collapseLabel',
108
+ description: "Label de l'icône pour réduire le menu déroulant. Requis pour l'accessibilité.",
109
+ type: { name: 'string', required: false },
110
+ table: {
111
+ type: { summary: 'string' },
112
+ },
113
+ },
114
+ },
115
+ };
116
+
117
+ const Template = (args) => {
5
118
  return {
6
119
  template: hbs`<div style='width: 300px;'>
7
120
  <PixDropdown
@@ -78,112 +191,3 @@ paginatedDropdown.args = {
78
191
  label: `${index}abc`,
79
192
  })),
80
193
  };
81
-
82
- export const argTypes = {
83
- options: {
84
- name: 'options',
85
- description:
86
- 'Les options sont représentées par un tableau d‘objet contenant les propriétés ``value`` et ``label``.',
87
- type: { name: 'array', required: true },
88
- },
89
- selectedOption: {
90
- name: 'selectedOption',
91
- description: 'Option sélectionnée',
92
- options: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'],
93
- control: { type: 'select' },
94
- type: { name: 'string', required: false },
95
- table: {
96
- type: { summary: 'string' },
97
- },
98
- },
99
- onSelect: {
100
- name: 'onSelect',
101
- description: 'Fonction à appeler quand une option est sélectionnée.',
102
- type: { required: true },
103
- control: { disable: true },
104
- },
105
- isSearchable: {
106
- name: 'isSearchable',
107
- description:
108
- "Rend le champ cherchable, le paramètre @searchPlaceholder devient requis pour l'accessibilité.",
109
- control: { type: 'boolean' },
110
- type: { name: 'boolean', required: false },
111
- table: {
112
- type: { summary: 'boolean' },
113
- defaultValue: { summary: false },
114
- },
115
- },
116
- searchPlaceholder: {
117
- name: 'searchPlaceholder',
118
- description: 'Placeholder du champ de recherche. Requis si le menu est cherchable.',
119
- type: { name: 'string', required: false },
120
- table: {
121
- type: { summary: 'string' },
122
- },
123
- },
124
- placeholder: {
125
- name: 'placeholder',
126
- description: "Un texte donnant une indication a l'utilisateur sur le choix des options.",
127
- type: { name: 'string', required: false },
128
- table: {
129
- type: { summary: 'string' },
130
- },
131
- },
132
- label: {
133
- name: 'label',
134
- description: 'Label du menu déroulant, le paramètre @id devient obligatoire avec ce paramètre.',
135
- type: { name: 'string', required: false },
136
- table: {
137
- type: { summary: 'string' },
138
- },
139
- },
140
- requiredLabel: {
141
- name: 'requiredLabel',
142
- description:
143
- 'Label indiquant que le champ est requis, le paramètre @label devient obligatoire avec ce paramètre.',
144
- type: { name: 'string', required: false },
145
- table: {
146
- type: { summary: 'string' },
147
- },
148
- },
149
- id: {
150
- name: 'id',
151
- description: "L'id du label",
152
- type: { name: 'string', required: false },
153
- table: {
154
- type: { summary: 'string' },
155
- },
156
- },
157
- pageSize: {
158
- name: 'pageSize',
159
- description: "Le nombre d'élément à afficher dans la liste.",
160
- type: { name: 'number', required: false },
161
- table: {
162
- type: { summary: 'number' },
163
- },
164
- },
165
- clearLabel: {
166
- name: 'clearLabel',
167
- description: "Label de l'icône pour éliminer la sélection. Requis pour l'accessibilité.",
168
- type: { name: 'string', required: false },
169
- table: {
170
- type: { summary: 'string' },
171
- },
172
- },
173
- expandLabel: {
174
- name: 'expandLabel',
175
- description: "Label de l'icône pour ouvrir le menu déroulant. Requis pour l'accessibilité.",
176
- type: { name: 'string', required: false },
177
- table: {
178
- type: { summary: 'string' },
179
- },
180
- },
181
- collapseLabel: {
182
- name: 'collapseLabel',
183
- description: "Label de l'icône pour réduire le menu déroulant. Requis pour l'accessibilité.",
184
- type: { name: 'string', required: false },
185
- table: {
186
- type: { summary: 'string' },
187
- },
188
- },
189
- };
@@ -1,7 +1,7 @@
1
- import { Meta, Story, Canvas, ArgsTable } from '@storybook/addon-docs';
2
- import * as stories from './pix-filter-banner.stories.js';
1
+ import { Meta, Story, ArgTypes } from '@storybook/blocks';
2
+ import * as ComponentStories from './pix-filter-banner.stories.js';
3
3
 
4
- <Meta title="Form/Filter banner" component="PixFilterBanner" argTypes={stories.argTypes} />
4
+ <Meta of={ComponentStories} />
5
5
 
6
6
  # Pix Filter Banner
7
7
 
@@ -9,9 +9,7 @@ Une `FilterBanner` permet de wrapper les éléments de filtres (`Select`, `Multi
9
9
 
10
10
  > Il est possible de surcharger le style d'une `<PixFilterBanner>` via l'attribut `class` ainsi que de passer n'importe quel attribut sur sa `div` wrapper (par exemple, un `aria-label`)
11
11
 
12
- <Canvas>
13
- <Story name="Filter banner" story={stories.filterBanner} height={80} />
14
- </Canvas>
12
+ <Story of={ComponentStories.filterBanner} height={80} />
15
13
 
16
14
  ## Usage
17
15
 
@@ -25,4 +23,4 @@ Une `FilterBanner` permet de wrapper les éléments de filtres (`Select`, `Multi
25
23
 
26
24
  ## Arguments
27
25
 
28
- <ArgsTable story="Filter banner" />
26
+ <ArgTypes of={ComponentStories} />
@@ -1,6 +1,42 @@
1
1
  import { hbs } from 'ember-cli-htmlbars';
2
2
  import { action } from '@storybook/addon-actions';
3
3
 
4
+ export default {
5
+ title: 'Form/Filter banner',
6
+ argTypes: {
7
+ title: {
8
+ name: 'title',
9
+ description: 'Titre du filtre',
10
+ type: { name: 'string', required: false },
11
+ },
12
+ details: {
13
+ name: 'details',
14
+ description: 'Détails du filtre',
15
+ type: { name: 'string', required: false },
16
+ },
17
+ clearFiltersLabel: {
18
+ name: 'clearFiltersLabel',
19
+ description: 'libellé du bouton',
20
+ type: { name: 'string', required: false },
21
+ },
22
+ onClearFilters: {
23
+ name: 'onClearFilters',
24
+ description: 'fonction à appeler pour déclencher l’action de suppression des filtres',
25
+ type: { required: false },
26
+ },
27
+ isClearFilterButtonDisabled: {
28
+ name: 'isClearFilterButtonDisabled',
29
+ description: 'Désactiver le button de la suppresion des filtres',
30
+ type: { name: 'boolean', required: true },
31
+ control: { type: 'boolean' },
32
+ table: {
33
+ type: { summary: 'boolean' },
34
+ defaultValue: { summary: false },
35
+ },
36
+ },
37
+ },
38
+ };
39
+
4
40
  export const filterBanner = (args) => {
5
41
  return {
6
42
  template: hbs`<PixFilterBanner
@@ -28,36 +64,3 @@ filterBanner.args = {
28
64
  onChange: action('select-onchange'),
29
65
  onClearFilters: action('onClearFilters'),
30
66
  };
31
-
32
- export const argTypes = {
33
- title: {
34
- name: 'title',
35
- description: 'Titre du filtre',
36
- type: { name: 'string', required: false },
37
- },
38
- details: {
39
- name: 'details',
40
- description: 'Détails du filtre',
41
- type: { name: 'string', required: false },
42
- },
43
- clearFiltersLabel: {
44
- name: 'clearFiltersLabel',
45
- description: 'libellé du bouton',
46
- type: { name: 'string', required: false },
47
- },
48
- onClearFilters: {
49
- name: 'onClearFilters',
50
- description: 'fonction à appeler pour déclencher l’action de suppression des filtres',
51
- type: { required: false },
52
- },
53
- isClearFilterButtonDisabled: {
54
- name: 'isClearFilterButtonDisabled',
55
- description: 'Désactiver le button de la suppresion des filtres',
56
- type: { name: 'boolean', required: true },
57
- control: { type: 'boolean' },
58
- table: {
59
- type: { summary: 'boolean' },
60
- defaultValue: { summary: false },
61
- },
62
- },
63
- };
@@ -1,11 +1,7 @@
1
- import { Meta, Story, Canvas, ArgsTable } from '@storybook/addon-docs';
2
- import * as stories from './pix-filterable-and-searchable-select.stories.js';
1
+ import { Meta, Story, ArgTypes } from '@storybook/blocks';
2
+ import * as ComponentStories from './pix-filterable-and-searchable-select.stories.js';
3
3
 
4
- <Meta
5
- title="Form/Filterable and searchable select"
6
- component="PixFilterableAndSearchableSelect"
7
- argTypes={stories.argTypes}
8
- />
4
+ <Meta of={ComponentStories} />
9
5
 
10
6
  # Pix Filterable and searchable select
11
7
 
@@ -23,21 +19,15 @@ Les options sont représentées par un tableau d'objet contenant les propriété
23
19
 
24
20
  ## Default
25
21
 
26
- <Canvas>
27
- <Story name="Default" story={stories.Default} />
28
- </Canvas>
22
+ <Story of={ComponentStories.Default} height={400}/>
29
23
 
30
24
  ## Searchable
31
25
 
32
- <Canvas>
33
- <Story name="Searchable" story={stories.Searchable} />
34
- </Canvas>
26
+ <Story of={ComponentStories.Searchable} height={400}/>
35
27
 
36
28
  ## With labels only for screenReaders
37
29
 
38
- <Canvas>
39
- <Story name="WithLabelsOnlyForScreenReaders" story={stories.WithLabelsOnlyForScreenReaders} />
40
- </Canvas>
30
+ <Story of={ComponentStories.WithLabelsOnlyForScreenReaders} height={400}/>
41
31
 
42
32
  ## Usage
43
33
 
@@ -68,4 +58,4 @@ Les options sont représentées par un tableau d'objet contenant les propriété
68
58
 
69
59
  ## Arguments
70
60
 
71
- <ArgsTable story="Default" />
61
+ <ArgTypes of={ComponentStories} />