@1024pix/pix-ui 38.0.0 → 38.2.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 +31 -39
  2. package/.nvmrc +1 -1
  3. package/.storybook/main.js +7 -5
  4. package/.storybook/preview.js +35 -32
  5. package/CHANGELOG.md +20 -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 +19 -21
  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,6 +1,177 @@
1
1
  import { hbs } from 'ember-cli-htmlbars';
2
2
  import { action } from '@storybook/addon-actions';
3
3
 
4
+ export default {
5
+ title: 'Form/Select',
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``, ``label`` et ``category``. Ce dernier étant optionnel.',
11
+ type: { name: 'array', required: true },
12
+ },
13
+ value: {
14
+ name: 'value',
15
+ description: 'Option sélectionnée',
16
+ options: ['1', '2', '3', '4', '5', '6'],
17
+ control: { type: 'select' },
18
+ type: { name: 'string', required: false },
19
+ table: {
20
+ type: { summary: 'string' },
21
+ },
22
+ },
23
+ onChange: {
24
+ name: 'onChange',
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: 'Rend le champ cherchable',
32
+ control: { type: 'boolean' },
33
+ type: { name: 'boolean', required: false },
34
+ table: {
35
+ type: { summary: 'boolean' },
36
+ defaultValue: { summary: false },
37
+ },
38
+ },
39
+ screenReaderOnly: {
40
+ name: 'screenReaderOnly',
41
+ description: "Permet de rendre le label lisible uniquement par les lecteurs d'écran",
42
+ control: { type: 'boolean' },
43
+ type: { name: 'boolean', required: false },
44
+ table: {
45
+ type: { summary: 'boolean' },
46
+ defaultValue: { summary: false },
47
+ },
48
+ },
49
+ id: {
50
+ name: 'id',
51
+ description:
52
+ "Un identifiant unique placé sur le composant. **⚠️ L'`id` est obligatoire que si le `label` n'est pas donné. ⚠️**",
53
+ type: { name: 'string', required: false },
54
+ table: {
55
+ type: { summary: 'string' },
56
+ },
57
+ },
58
+ label: {
59
+ name: 'label',
60
+ description:
61
+ "Label du menu déroulant. ** ⚠️ Le `label` est obligatoire que si l'`id` n'est pas donné. ⚠️ **",
62
+ type: { name: 'string', required: false },
63
+ table: {
64
+ type: { summary: 'string' },
65
+ },
66
+ },
67
+ subLabel: {
68
+ name: 'subLabel',
69
+ description: 'Sous Label explicatif du menu déroulant',
70
+ type: { name: 'string', required: false },
71
+ table: {
72
+ type: { summary: 'string' },
73
+ },
74
+ },
75
+ placeholder: {
76
+ name: 'placeholder',
77
+ description: "Placeholder du menu déroulant. Il sert aussi de label pour l'option par défaut",
78
+ type: { name: 'string', required: true },
79
+ table: {
80
+ type: { summary: 'string' },
81
+ },
82
+ },
83
+ hideDefaultOption: {
84
+ name: 'hideDefaultOption',
85
+ description: "Cache l'option par défaut",
86
+ type: { name: 'boolean', required: false },
87
+ table: {
88
+ type: { summary: 'boolean' },
89
+ defaultValue: { summary: false },
90
+ },
91
+ },
92
+ className: {
93
+ name: 'className',
94
+ description: 'Cette classe css permet de surcharger le css par défaut du composant.',
95
+ type: { name: 'string', required: false },
96
+ table: {
97
+ type: { summary: 'string' },
98
+ },
99
+ },
100
+ searchLabel: {
101
+ name: 'searchLabel',
102
+ description:
103
+ 'Label de la recherche dans le menu déroulant. **⚠️ Le `searchLabel` est obligatoire que si le `isSearchable` à `true`. ⚠️**',
104
+ type: { name: 'string', required: false },
105
+ table: {
106
+ type: { summary: 'string' },
107
+ },
108
+ },
109
+ searchPlaceholder: {
110
+ name: 'searchPlaceholder',
111
+ description:
112
+ 'Placeholder de la recherche dans le menu déroulant. **⚠️ Le `searchPlaceholder` est obligatoire que si le `isSearchable` à `true`. ⚠️**',
113
+ type: { name: 'string', required: false },
114
+ table: {
115
+ type: { summary: 'string' },
116
+ },
117
+ },
118
+ emptySearchMessage: {
119
+ name: 'emptySearchMessage',
120
+ description:
121
+ "Message affiché si la recherche ne retourne pas d'options. **⚠️ Le `emptySearchMessage` est obligatoire que si le `isSearchable` à `true`. ⚠️**",
122
+ type: { name: 'string', required: false },
123
+ table: {
124
+ type: { summary: 'string' },
125
+ },
126
+ },
127
+ requiredText: {
128
+ name: 'requiredText',
129
+ description: "Affiche l'astérisque au label et ajoute sa signification",
130
+ type: { name: 'string', required: false },
131
+ table: {
132
+ type: { summary: 'string' },
133
+ },
134
+ },
135
+ errorMessage: {
136
+ name: 'errorMessage',
137
+ description: 'Message affiché si une erreur survient',
138
+ type: { name: 'string', required: false },
139
+ table: {
140
+ type: { summary: 'string' },
141
+ },
142
+ },
143
+ isDisabled: {
144
+ name: 'isDisabled',
145
+ description: "Permet de désactiver l'affichage des options possible",
146
+ type: { name: 'boolean', required: false },
147
+ table: {
148
+ type: { summary: false },
149
+ },
150
+ },
151
+ placement: {
152
+ name: 'placement',
153
+ description:
154
+ "Permet de placer la dropdown du select par rapport à son bouton. Par défaut, cela s'adapte tout seul.",
155
+ type: { name: 'string', required: false },
156
+ options: ['bottom', 'top', 'left', 'right'],
157
+ table: {
158
+ type: { summary: 'string' },
159
+ defaultValue: { summary: null },
160
+ },
161
+ },
162
+ icon: {
163
+ name: 'icon',
164
+ description:
165
+ "Permet l'affichage d'une icône FontAwesome avant le placeholder ou le label de l'option sélectionnée.",
166
+ type: { name: 'string', required: false },
167
+ table: {
168
+ type: { summary: 'string' },
169
+ defaultValue: { summary: null },
170
+ },
171
+ },
172
+ },
173
+ };
174
+
4
175
  export const Template = (args) => {
5
176
  return {
6
177
  template: hbs`
@@ -231,171 +402,3 @@ WithIcon.args = {
231
402
  ],
232
403
  value: 'fr',
233
404
  };
234
-
235
- export const argTypes = {
236
- options: {
237
- name: 'options',
238
- description:
239
- 'Les options sont représentées par un tableau d‘objet contenant les propriétés ``value``, ``label`` et ``category``. Ce dernier étant optionnel.',
240
- type: { name: 'array', required: true },
241
- },
242
- value: {
243
- name: 'value',
244
- description: 'Option sélectionnée',
245
- options: ['1', '2', '3', '4', '5', '6'],
246
- control: { type: 'select' },
247
- type: { name: 'string', required: false },
248
- table: {
249
- type: { summary: 'string' },
250
- },
251
- },
252
- onChange: {
253
- name: 'onChange',
254
- description: 'Fonction à appeler quand une option est sélectionnée.',
255
- type: { required: true },
256
- control: { disable: true },
257
- },
258
- isSearchable: {
259
- name: 'isSearchable',
260
- description: 'Rend le champ cherchable',
261
- control: { type: 'boolean' },
262
- type: { name: 'boolean', required: false },
263
- table: {
264
- type: { summary: 'boolean' },
265
- defaultValue: { summary: false },
266
- },
267
- },
268
- screenReaderOnly: {
269
- name: 'screenReaderOnly',
270
- description: "Permet de rendre le label lisible uniquement par les lecteurs d'écran",
271
- control: { type: 'boolean' },
272
- type: { name: 'boolean', required: false },
273
- table: {
274
- type: { summary: 'boolean' },
275
- defaultValue: { summary: false },
276
- },
277
- },
278
- id: {
279
- name: 'id',
280
- description:
281
- "Un identifiant unique placé sur le composant. **⚠️ L'`id` est obligatoire que si le `label` n'est pas donné. ⚠️**",
282
- type: { name: 'string', required: false },
283
- table: {
284
- type: { summary: 'string' },
285
- },
286
- },
287
- label: {
288
- name: 'label',
289
- description:
290
- "Label du menu déroulant. ** ⚠️ Le `label` est obligatoire que si l'`id` n'est pas donné. ⚠️ **",
291
- type: { name: 'string', required: false },
292
- table: {
293
- type: { summary: 'string' },
294
- },
295
- },
296
- subLabel: {
297
- name: 'subLabel',
298
- description: 'Sous Label explicatif du menu déroulant',
299
- type: { name: 'string', required: false },
300
- table: {
301
- type: { summary: 'string' },
302
- },
303
- },
304
- placeholder: {
305
- name: 'placeholder',
306
- description: "Placeholder du menu déroulant. Il sert aussi de label pour l'option par défaut",
307
- type: { name: 'string', required: true },
308
- table: {
309
- type: { summary: 'string' },
310
- },
311
- },
312
- hideDefaultOption: {
313
- name: 'hideDefaultOption',
314
- description: "Cache l'option par défaut",
315
- type: { name: 'boolean', required: false },
316
- table: {
317
- type: { summary: 'boolean' },
318
- defaultValue: { summary: false },
319
- },
320
- },
321
- className: {
322
- name: 'className',
323
- description: 'Cette classe css permet de surcharger le css par défaut du composant.',
324
- type: { name: 'string', required: false },
325
- table: {
326
- type: { summary: 'string' },
327
- },
328
- },
329
- searchLabel: {
330
- name: 'searchLabel',
331
- description:
332
- 'Label de la recherche dans le menu déroulant. **⚠️ Le `searchLabel` est obligatoire que si le `isSearchable` à `true`. ⚠️**',
333
- type: { name: 'string', required: false },
334
- table: {
335
- type: { summary: 'string' },
336
- },
337
- },
338
- searchPlaceholder: {
339
- name: 'searchPlaceholder',
340
- description:
341
- 'Placeholder de la recherche dans le menu déroulant. **⚠️ Le `searchPlaceholder` est obligatoire que si le `isSearchable` à `true`. ⚠️**',
342
- type: { name: 'string', required: false },
343
- table: {
344
- type: { summary: 'string' },
345
- },
346
- },
347
- emptySearchMessage: {
348
- name: 'emptySearchMessage',
349
- description:
350
- "Message affiché si la recherche ne retourne pas d'options. **⚠️ Le `emptySearchMessage` est obligatoire que si le `isSearchable` à `true`. ⚠️**",
351
- type: { name: 'string', required: false },
352
- table: {
353
- type: { summary: 'string' },
354
- },
355
- },
356
- requiredText: {
357
- name: 'requiredText',
358
- description: "Affiche l'astérisque au label et ajoute sa signification",
359
- type: { name: 'string', required: false },
360
- table: {
361
- type: { summary: 'string' },
362
- },
363
- },
364
- errorMessage: {
365
- name: 'errorMessage',
366
- description: 'Message affiché si une erreur survient',
367
- type: { name: 'string', required: false },
368
- table: {
369
- type: { summary: 'string' },
370
- },
371
- },
372
- isDisabled: {
373
- name: 'isDisabled',
374
- description: "Permet de désactiver l'affichage des options possible",
375
- type: { name: 'boolean', required: false },
376
- table: {
377
- type: { summary: false },
378
- },
379
- },
380
- placement: {
381
- name: 'placement',
382
- description:
383
- "Permet de placer la dropdown du select par rapport à son bouton. Par défaut, cela s'adapte tout seul.",
384
- type: { name: 'string', required: false },
385
- options: ['bottom', 'top', 'left', 'right'],
386
- table: {
387
- type: { summary: 'string' },
388
- defaultValue: { summary: null },
389
- },
390
- },
391
- icon: {
392
- name: 'icon',
393
- description:
394
- "Permet l'affichage d'une icône FontAwesome avant le placeholder ou le label de l'option sélectionnée.",
395
- type: { name: 'string', required: false },
396
- table: {
397
- type: { summary: 'string' },
398
- defaultValue: { summary: null },
399
- },
400
- },
401
- };
@@ -0,0 +1,37 @@
1
+ import { Meta, Story, ArgTypes } from '@storybook/blocks';
2
+
3
+ import * as ComponentStories from './pix-selectable-tag.stories.js';
4
+
5
+ <Meta of={ComponentStories} />
6
+
7
+ # Pix Selectable Tag
8
+
9
+ Un tag permettant de sélectionner ou non la valeur.
10
+
11
+ ## Default
12
+
13
+ <Story of={ComponentStories.selectableTagDefault} height={60} />
14
+
15
+ ## Selected
16
+
17
+ <Story of={ComponentStories.selectableTagSelected} height={60} />
18
+
19
+ ## Multiple tags
20
+
21
+ <Story of={ComponentStories.selectableTagMultiple} height={60} />
22
+
23
+ ## Usage
24
+
25
+ ```html
26
+ Par défaut :
27
+ <PixSelectableTag> @label={{label}} @id={{id}} @onChange={{onChange}} </PixSelectableTag>
28
+
29
+ Tag Sélectionné :
30
+ <PixSelectableTag>
31
+ @label={{label}} @id={{id}} @onChange={{onChange}} @checked={{true}}
32
+ </PixSelectableTag>
33
+ ```
34
+
35
+ ## Arguments
36
+
37
+ <ArgTypes of={ComponentStories} />
@@ -1,5 +1,42 @@
1
1
  import { hbs } from 'ember-cli-htmlbars';
2
2
 
3
+ export default {
4
+ title: 'basics/Tag/Selectable Tag',
5
+ argTypes: {
6
+ label: {
7
+ name: 'label',
8
+ description: 'Le label du tag sélectionnable',
9
+ type: { name: 'string', required: true },
10
+ table: {
11
+ type: { summary: 'string' },
12
+ },
13
+ },
14
+ id: {
15
+ name: 'id',
16
+ description: "L'id du tag sélectionnable",
17
+ type: { name: 'string', required: true },
18
+ table: {
19
+ type: { summary: 'string' },
20
+ },
21
+ },
22
+ onChange: {
23
+ name: 'onChange',
24
+ description: 'Fonction à appeler si le tag est sélectionné',
25
+ type: { required: true },
26
+ control: { disable: true },
27
+ },
28
+ checked: {
29
+ name: 'checked',
30
+ description: 'Indiquez si le tag doit être coché',
31
+ type: { name: 'boolean', required: true },
32
+ table: {
33
+ type: { summary: 'boolean' },
34
+ defaultValue: { summary: false },
35
+ },
36
+ },
37
+ },
38
+ };
39
+
3
40
  export const selectableTagDefault = (args) => {
4
41
  return {
5
42
  template: hbs`<PixSelectableTag @label='non sélectionné' @id='123' @onChange={{this.onChange}} @checked={{false}} />`,
@@ -24,37 +61,3 @@ export const selectableTagMultiple = (args) => {
24
61
  context: args,
25
62
  };
26
63
  };
27
-
28
- export const argTypes = {
29
- label: {
30
- name: 'label',
31
- description: 'Le label du tag sélectionnable',
32
- type: { name: 'string', required: true },
33
- table: {
34
- type: { summary: 'string' },
35
- },
36
- },
37
- id: {
38
- name: 'id',
39
- description: "L'id du tag sélectionnable",
40
- type: { name: 'string', required: true },
41
- table: {
42
- type: { summary: 'string' },
43
- },
44
- },
45
- onChange: {
46
- name: 'onChange',
47
- description: 'Fonction à appeler si le tag est sélectionné',
48
- type: { required: true },
49
- control: { disable: true },
50
- },
51
- checked: {
52
- name: 'checked',
53
- description: 'Indiquez si le tag doit être coché',
54
- type: { name: 'boolean', required: true },
55
- table: {
56
- type: { summary: 'boolean' },
57
- defaultValue: { summary: false },
58
- },
59
- },
60
- };
@@ -1,8 +1,8 @@
1
- import { Meta, Story, Canvas, ArgsTable } from '@storybook/addon-docs';
1
+ import { Meta, Story, ArgTypes } from '@storybook/blocks';
2
2
 
3
- import * as stories from './pix-sidebar.stories.js';
3
+ import * as ComponentStories from './pix-sidebar.stories.js';
4
4
 
5
- <Meta title="Basics/Sidebar" component="PixSidebar" argTypes={stories.argTypes} />
5
+ <Meta of={ComponentStories} />
6
6
 
7
7
  # PixSidebar
8
8
 
@@ -15,9 +15,7 @@ Ce composant possède deux `yield` :
15
15
  - `:footer` peut également accueillir tout type de contenu HTML, mais est destiné aux boutons permettant d'interagir
16
16
  avec la sidebar, ce qui permettra de les positionner correctement dans tous les cas de figure.
17
17
 
18
- <Canvas>
19
- <Story name="Default" story={stories.Default} height={500} />
20
- </Canvas>
18
+ <Story of={ComponentStories.Default} height={500} />
21
19
 
22
20
  ## Usage
23
21
 
@@ -48,4 +46,4 @@ Ce composant possède deux `yield` :
48
46
 
49
47
  ## Arguments
50
48
 
51
- <ArgsTable story="Default" />
49
+ <ArgTypes of={ComponentStories} />
@@ -1,5 +1,33 @@
1
1
  import { hbs } from 'ember-cli-htmlbars';
2
2
 
3
+ export default {
4
+ title: 'Basics/Sidebar',
5
+ argTypes: {
6
+ showSidebar: {
7
+ name: 'showSidebar',
8
+ description: 'Visibilité de la sidebar',
9
+ type: { name: 'boolean', required: false },
10
+ table: {
11
+ type: { summary: 'boolean' },
12
+ defaultValue: { summary: false },
13
+ },
14
+ },
15
+ title: {
16
+ name: 'title',
17
+ description: 'Titre de la sidebar',
18
+ type: { name: 'string', required: true },
19
+ },
20
+ onClose: {
21
+ name: 'onClose',
22
+ description: 'Fonction à exécuter à la fermeture de la sidebar',
23
+ type: { name: 'function', required: true },
24
+ table: {
25
+ type: { summary: 'function' },
26
+ },
27
+ },
28
+ },
29
+ };
30
+
3
31
  export const Template = (args) => {
4
32
  return {
5
33
  template: hbs`<PixSidebar
@@ -38,28 +66,3 @@ Default.args = {
38
66
  title: 'Filtrer',
39
67
  onClose: () => {},
40
68
  };
41
-
42
- export const argTypes = {
43
- showSidebar: {
44
- name: 'showSidebar',
45
- description: 'Visibilité de la sidebar',
46
- type: { name: 'boolean', required: false },
47
- table: {
48
- type: { summary: 'boolean' },
49
- defaultValue: { summary: false },
50
- },
51
- },
52
- title: {
53
- name: 'title',
54
- description: 'Titre de la sidebar',
55
- type: { name: 'string', required: true },
56
- },
57
- onClose: {
58
- name: 'onClose',
59
- description: 'Fonction à exécuter à la fermeture de la sidebar',
60
- type: { name: 'function', required: true },
61
- table: {
62
- type: { summary: 'function' },
63
- },
64
- },
65
- };
@@ -1,7 +1,7 @@
1
- import { Meta, Story, Canvas, ArgsTable } from '@storybook/addon-docs';
2
- import * as stories from './pix-stars.stories.js';
1
+ import { Meta, Story, ArgTypes } from '@storybook/addon-docs';
2
+ import * as ComponentStories from './pix-stars.stories.js';
3
3
 
4
- <Meta title="Others/PixStars" component="PixStars" argTypes={stories.argTypes} />
4
+ <Meta of={ComponentStories} />
5
5
 
6
6
  # Pix Stars
7
7
 
@@ -9,9 +9,7 @@ Affiche une série d'étoiles en fonction des paramètres donnés.
9
9
  Un texte alternatif peut être renseigné et différents styles sont pré-définis.
10
10
  Pour ne pas afficher les étoiles vides, il suffit de ne pas donner le total d'étoiles.
11
11
 
12
- <Canvas>
13
- <Story name="PixStars" story={stories.stars} height={70} />
14
- </Canvas>
12
+ <Story of={ComponentStories.stars} height={70} />
15
13
 
16
14
  ## Usage
17
15
 
@@ -21,4 +19,4 @@ Pour ne pas afficher les étoiles vides, il suffit de ne pas donner le total d'
21
19
 
22
20
  ## Arguments
23
21
 
24
- <ArgsTable story="PixStars" />
22
+ <ArgTypes of={ComponentStories} />
@@ -1,5 +1,34 @@
1
1
  import { hbs } from 'ember-cli-htmlbars';
2
2
 
3
+ export default {
4
+ title: 'Others/PixStars',
5
+ argTypes: {
6
+ count: {
7
+ name: 'count',
8
+ description: 'Nombre total d’étoiles actives',
9
+ type: { name: 'number', required: false },
10
+ },
11
+ total: {
12
+ name: 'total',
13
+ description: 'Nombre total d’étoiles',
14
+ type: { name: 'number', required: false },
15
+ },
16
+ alt: {
17
+ name: 'alt',
18
+ description: 'Message alternatif pour les étoiles',
19
+ type: { name: 'string', required: true },
20
+ },
21
+ color: {
22
+ name: 'color',
23
+ description: 'Couleur des étoiles',
24
+ type: { name: 'string', required: false },
25
+ table: { defaultValue: { summary: undefined } },
26
+ control: { type: 'radio' },
27
+ options: [undefined, 'blue', 'grey'],
28
+ },
29
+ },
30
+ };
31
+
3
32
  const Template = (args) => {
4
33
  return {
5
34
  template: hbs`<PixStars @count={{this.count}} @total={{this.total}} @alt={{this.alt}} @color={{this.color}} />`,
@@ -14,29 +43,3 @@ stars.args = {
14
43
  alt: 'message alternatif',
15
44
  color: undefined,
16
45
  };
17
-
18
- export const argTypes = {
19
- count: {
20
- name: 'count',
21
- description: 'Nombre total d’étoiles actives',
22
- type: { name: 'number', required: false },
23
- },
24
- total: {
25
- name: 'total',
26
- description: 'Nombre total d’étoiles',
27
- type: { name: 'number', required: false },
28
- },
29
- alt: {
30
- name: 'alt',
31
- description: 'Message alternatif pour les étoiles',
32
- type: { name: 'string', required: true },
33
- },
34
- color: {
35
- name: 'color',
36
- description: 'Couleur des étoiles',
37
- type: { name: 'string', required: false },
38
- table: { defaultValue: { summary: undefined } },
39
- control: { type: 'radio' },
40
- options: [undefined, 'blue', 'grey'],
41
- },
42
- };
@@ -1,7 +1,7 @@
1
- import { Meta, Story, Canvas, ArgsTable } from '@storybook/addon-docs';
2
- import * as stories from './pix-tag.stories.js';
1
+ import { Meta, Story, ArgTypes } from '@storybook/blocks';
2
+ import * as ComponentStories from './pix-tag.stories';
3
3
 
4
- <Meta title="Basics/Tag" component="PixTag" argTypes={stories.argTypes} />
4
+ <Meta of={ComponentStories} />
5
5
 
6
6
  # Pix Tag
7
7
 
@@ -9,12 +9,11 @@ Un `Tag` est un type de `Chips` qui permet de mettre en avant une information ou
9
9
 
10
10
  > Il est possible de surcharger le style d'un `<PixTag>` 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 isColumn>
13
- Tag
14
- <Story name="Tag" story={stories.tag} height={60} />
15
- Tag compact
16
- <Story name="Compact Tag" story={stories.compactTag} height={60} />
17
- </Canvas>
12
+ Tag
13
+ <Story of={ComponentStories.tag} height={60} />
14
+
15
+ Tag compact
16
+ <Story of={ComponentStories.compactTag} height={60} />
18
17
 
19
18
  ## Usage
20
19
 
@@ -31,4 +30,4 @@ Tag Compact
31
30
 
32
31
  ## Arguments
33
32
 
34
- <ArgsTable story="Tag" />
33
+ <ArgTypes />