@1024pix/pix-ui 46.9.2 → 46.9.4

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.
@@ -0,0 +1,42 @@
1
+ import { Meta, Story, ArgTypes } from '@storybook/blocks';
2
+ import * as ComponentStories from './pix-checkbox-variant-tile.stories';
3
+
4
+ <Meta of={ComponentStories} />
5
+
6
+ # PixCheckbox `@variant="title"`
7
+
8
+ La PixCheckbox permet de créer des checkbox basiques ou des checkbox mixées (checkbox servant d'indicateur lors d'une sélection multiple).
9
+ Un cursor `pointer` est défini sur la checkbox et son label par défaut.
10
+
11
+ La checkbox et son label sont visuellement regroupés dans un ensemble intégralement cliquable.
12
+
13
+ <Story of={ComponentStories.VariantTile} height={120} />
14
+
15
+ ## États de la Checkbox
16
+
17
+ ### Checkbox désactivée
18
+
19
+ L'attribut `@isDisabled` permet de désactiver la checkbox en conservant la possibilité de naviguer avec le clavier ou le lecteur d'écran. Il est préféré à l'attribut natif `disabled` qui empêche ces usages.
20
+ Un cursor `not-allowed` est défini sur la checkbox et son label lorsqu'elle est dans un état `disabled`.
21
+
22
+ <Story of={ComponentStories.isDisabledVariantTile} height={120} />
23
+ <Story of={ComponentStories.checkedIsDisabledVariantTile} height={120} />
24
+ <Story of={ComponentStories.isIndeterminateIsDisabledVariantTile} height={120} />
25
+
26
+ ## Usage
27
+
28
+ ```html
29
+ <PixCheckbox
30
+ @screenReaderOnly={{false}}
31
+ @isIndeterminate={{false}}
32
+ @size="small"
33
+ @isDisabled={{true}}
34
+ @variant="tile"
35
+ >
36
+ <:label>Recevoir la newsletter</:label>
37
+ </PixCheckbox>
38
+ ```
39
+
40
+ ## Arguments
41
+
42
+ <ArgTypes of={ComponentStories} />
@@ -0,0 +1,68 @@
1
+ import { hbs } from 'ember-cli-htmlbars';
2
+ import pixCheckboxStories from './pix-checkbox.stories.js';
3
+
4
+ export default {
5
+ title: 'Form/Inputs/Checkbox/Variant Tile',
6
+ argTypes: {
7
+ variant: {
8
+ name: 'variant',
9
+ description: 'Utiliser une variante graphique du composant',
10
+ options: ['tile'],
11
+ control: { type: 'select' },
12
+ type: { required: true },
13
+ },
14
+ ...pixCheckboxStories.argTypes,
15
+ },
16
+ };
17
+
18
+ const VariantTileTemplate = (args) => {
19
+ return {
20
+ template: hbs`{{! template-lint-disable no-inline-styles }}
21
+ <div
22
+ style='border: 1px solid var(--pix-neutral-500); padding: var(--pix-spacing-4x); width: 500px'
23
+ ><PixCheckbox
24
+ @id={{this.id}}
25
+ @isIndeterminate={{this.isIndeterminate}}
26
+ @checked={{this.checked}}
27
+ @isDisabled={{this.isDisabled}}
28
+ @variant={{this.variant}}
29
+ >
30
+ <:label>{{this.label}}</:label>
31
+ </PixCheckbox></div>`,
32
+ context: args,
33
+ };
34
+ };
35
+
36
+ export const VariantTile = VariantTileTemplate.bind({});
37
+ VariantTile.args = {
38
+ id: 'proposal',
39
+ label: 'Une réponse',
40
+ variant: 'tile',
41
+ };
42
+
43
+ export const isDisabledVariantTile = VariantTileTemplate.bind({});
44
+ isDisabledVariantTile.args = {
45
+ id: 'accept-newsletter-2',
46
+ label: 'Recevoir la newsletter',
47
+ variant: 'tile',
48
+ isDisabled: true,
49
+ };
50
+
51
+ export const checkedIsDisabledVariantTile = VariantTileTemplate.bind({});
52
+ checkedIsDisabledVariantTile.args = {
53
+ id: 'accept-newsletter-2',
54
+ label: 'Recevoir la newsletter',
55
+ variant: 'tile',
56
+ isDisabled: true,
57
+ checked: true,
58
+ };
59
+
60
+ export const isIndeterminateIsDisabledVariantTile = VariantTileTemplate.bind({});
61
+ isIndeterminateIsDisabledVariantTile.args = {
62
+ id: 'accept-newsletter-2',
63
+ label: 'Recevoir la newsletter',
64
+ variant: 'tile',
65
+ isDisabled: true,
66
+ checked: true,
67
+ isIndeterminate: true,
68
+ };
@@ -1,5 +1,6 @@
1
1
  import { Meta, Story, ArgTypes } from '@storybook/blocks';
2
2
  import * as ComponentStories from './pix-checkbox.stories';
3
+ import * as VariantTileStories from './pix-checkbox-variant-tile.stories';
3
4
 
4
5
  <Meta of={ComponentStories} />
5
6
 
@@ -27,7 +28,9 @@ La PixCheckbox prend toute la largeur à sa disposition par défaut.
27
28
 
28
29
  Si le paramètre `variant` est précisé avec la valeur `tile`, la checkbox et son label sont visuellement regroupés dans un ensemble intégralement cliquable.
29
30
 
30
- <Story of={ComponentStories.VariantTile} height={100} />
31
+ <Story of={VariantTileStories.VariantTile} height={120} />
32
+
33
+ Voir la [documentation de la variante `tile`](?path=/docs/form-inputs-checkbox-variant-tile--docs).
31
34
 
32
35
  ## États de la Checkbox
33
36
 
@@ -46,10 +49,6 @@ Un cursor `not-allowed` est défini sur la checkbox et son label lorsqu'elle est
46
49
  <Story of={ComponentStories.checkedIsDisabled} height={60} />
47
50
  <Story of={ComponentStories.isIndeterminateIsDisabled} height={60} />
48
51
 
49
- <Story of={ComponentStories.isDisabledVariantTile} height={100} />
50
- <Story of={ComponentStories.checkedIsDisabledVariantTile} height={100} />
51
- <Story of={ComponentStories.isIndeterminateIsDisabledVariantTile} height={100} />
52
-
53
52
  ## Autres tailles de police du label
54
53
 
55
54
  <br />
@@ -1,7 +1,7 @@
1
1
  import { hbs } from 'ember-cli-htmlbars';
2
2
 
3
3
  export default {
4
- title: 'Form/Checkbox',
4
+ title: 'Form/Inputs/Checkbox',
5
5
  argTypes: {
6
6
  id: {
7
7
  name: 'id',
@@ -120,24 +120,6 @@ const FullWidthTemplate = (args) => {
120
120
  };
121
121
  };
122
122
 
123
- const VariantTileTemplate = (args) => {
124
- return {
125
- template: hbs`{{! template-lint-disable no-inline-styles }}
126
- <div
127
- style='border: 1px solid var(--pix-neutral-500); padding: var(--pix-spacing-4x); width: 500px'
128
- ><PixCheckbox
129
- @id={{this.id}}
130
- @isIndeterminate={{this.isIndeterminate}}
131
- @checked={{this.checked}}
132
- @isDisabled={{this.isDisabled}}
133
- @variant='tile'
134
- >
135
- <:label>{{this.label}}</:label>
136
- </PixCheckbox></div>`,
137
- context: args,
138
- };
139
- };
140
-
141
123
  export const Default = Template.bind({});
142
124
  Default.args = {
143
125
  id: 'accept-newsletter',
@@ -157,12 +139,6 @@ FullWidth.args = {
157
139
  label: 'Une réponse',
158
140
  };
159
141
 
160
- export const VariantTile = VariantTileTemplate.bind({});
161
- VariantTile.args = {
162
- id: 'proposal',
163
- label: 'Une réponse',
164
- };
165
-
166
142
  export const isIndeterminate = Template.bind({});
167
143
  isIndeterminate.args = {
168
144
  id: 'accept-newsletter-2',
@@ -209,30 +185,6 @@ isIndeterminateIsDisabled.args = {
209
185
  isIndeterminate: true,
210
186
  };
211
187
 
212
- export const isDisabledVariantTile = VariantTileTemplate.bind({});
213
- isDisabledVariantTile.args = {
214
- id: 'accept-newsletter-2',
215
- label: 'Recevoir la newsletter',
216
- isDisabled: true,
217
- };
218
-
219
- export const checkedIsDisabledVariantTile = VariantTileTemplate.bind({});
220
- checkedIsDisabledVariantTile.args = {
221
- id: 'accept-newsletter-2',
222
- label: 'Recevoir la newsletter',
223
- isDisabled: true,
224
- checked: true,
225
- };
226
-
227
- export const isIndeterminateIsDisabledVariantTile = VariantTileTemplate.bind({});
228
- isIndeterminateIsDisabledVariantTile.args = {
229
- id: 'accept-newsletter-2',
230
- label: 'Recevoir la newsletter',
231
- isDisabled: true,
232
- checked: true,
233
- isIndeterminate: true,
234
- };
235
-
236
188
  const MultipleTemplate = (args) => {
237
189
  return {
238
190
  template: hbs`<PixCheckbox
@@ -0,0 +1,39 @@
1
+ import { Meta, Story, ArgTypes } from '@storybook/blocks';
2
+ import * as ComponentStories from './pix-radio-button-variant-tile.stories.js';
3
+
4
+ <Meta of={ComponentStories} />
5
+
6
+ # PixRadioButton `@variant="title"`
7
+
8
+ Un bouton radio permettant de sélectionner une seule option dans une liste.
9
+
10
+ ⚠️ Le bouton radio ne peut pas être utilisé seul : il faut au minimum **2 options**.<br/>
11
+ Il est préférable de ne pas sélectionner d’option par défaut pour que le choix de l’utilisateur soit conscient (en particulier si le choix est obligatoire).
12
+
13
+ Un cursor `pointer` est défini sur le RadioButton et son label par défaut.
14
+
15
+ Le RadioButton et son label sont visuellement regroupés dans un ensemble intégralement cliquable.
16
+
17
+ <Story of={ComponentStories.VariantTile} height={120} />
18
+
19
+ ## États du RadioButton
20
+
21
+ ### RadioButton désactivé
22
+
23
+ L'attribut `@isDisabled` permet de désactiver le RadioButton en conservant la possibilité de naviguer avec le clavier ou le lecteur d'écran. Il est préféré à l'attribut natif `disabled` qui empêche ces usages.
24
+ Un cursor `not-allowed` est défini sur le RadioButton et son label lorsqu'il est dans un état `disabled`.
25
+
26
+ <Story of={ComponentStories.isDisabledVariantTile} height={120} />
27
+ <Story of={ComponentStories.checkedIsDisabledVariantTile} height={120} />
28
+
29
+ ## Usage
30
+
31
+ ```html
32
+ <PixRadioButton name="input-name" @value="{{value}}" @variant="tile">
33
+ <:label>Exemple de label</:label>
34
+ </PixRadioButton>
35
+ ```
36
+
37
+ ## Arguments
38
+
39
+ <ArgTypes of={ComponentStories} />
@@ -0,0 +1,57 @@
1
+ import { hbs } from 'ember-cli-htmlbars';
2
+ import pixRadioButtonStories from './pix-radio-button.stories.js';
3
+
4
+ export default {
5
+ title: 'Form/Inputs/Radio Button/Variant Tile',
6
+ argTypes: {
7
+ variant: {
8
+ name: 'variant',
9
+ description: 'Utiliser une variante graphique du composant',
10
+ options: ['tile'],
11
+ control: { type: 'select' },
12
+ type: { required: true },
13
+ },
14
+ ...pixRadioButtonStories.argTypes,
15
+ },
16
+ };
17
+
18
+ const VariantTileTemplate = (args) => {
19
+ return {
20
+ template: hbs`{{! template-lint-disable no-inline-styles }}
21
+ <div
22
+ style='border: 1px solid var(--pix-neutral-500); background: var(--pix-neutral-20); padding: var(--pix-spacing-4x); width: 500px'
23
+ ><PixRadioButton
24
+ @id={{this.id}}
25
+ @isDisabled={{this.isDisabled}}
26
+ checked={{this.checked}}
27
+ @variant={{this.variant}}
28
+ >
29
+ <:label>{{this.label}}</:label>
30
+ </PixRadioButton></div>`,
31
+ context: args,
32
+ };
33
+ };
34
+
35
+ export const VariantTile = VariantTileTemplate.bind({});
36
+ VariantTile.args = {
37
+ id: 'proposal',
38
+ label: 'Une réponse',
39
+ variant: 'tile',
40
+ };
41
+
42
+ export const isDisabledVariantTile = VariantTileTemplate.bind({});
43
+ isDisabledVariantTile.args = {
44
+ id: 'accept-newsletter-2',
45
+ label: 'Recevoir la newsletter',
46
+ variant: 'tile',
47
+ isDisabled: true,
48
+ };
49
+
50
+ export const checkedIsDisabledVariantTile = VariantTileTemplate.bind({});
51
+ checkedIsDisabledVariantTile.args = {
52
+ id: 'accept-newsletter-2',
53
+ label: 'Recevoir la newsletter',
54
+ variant: 'tile',
55
+ isDisabled: true,
56
+ checked: true,
57
+ };
@@ -1,6 +1,7 @@
1
1
  import { Meta, Story, ArgTypes } from '@storybook/blocks';
2
2
 
3
3
  import * as ComponentStories from './pix-radio-button.stories.js';
4
+ import * as VariantTileStories from './pix-radio-button-variant-tile.stories.js';
4
5
 
5
6
  <Meta of={ComponentStories} />
6
7
 
@@ -26,13 +27,15 @@ Pour les considérer comme un seul groupe d'inputs, **il est nécessaire qu'ils
26
27
 
27
28
  ### Variations graphiques du composant
28
29
 
29
- Le PixRadioButton prend toute la largeur à sa disposition.
30
+ Le PixRadioButton prend toute la largeur à sa disposition par défaut.
30
31
 
31
32
  <Story of={ComponentStories.FullWidth} height={100} />
32
33
 
33
- Si le paramètre `variant` est précisé avec la valeur `tile`, le radiobutton et son label sont visuellement regroupés dans un ensemble intégralement cliquable.
34
+ Si le paramètre `variant` est précisé avec la valeur `tile`, le RadioButton et son label sont visuellement regroupés dans un ensemble intégralement cliquable.
34
35
 
35
- <Story of={ComponentStories.VariantTile} height={100} />
36
+ <Story of={VariantTileStories.VariantTile} height={100} />
37
+
38
+ Voir la [documentation de la variante tile](http://localhost:9001/iframe.html?path=/docs/form-inputs-radiobutton-variant-tile--docs).
36
39
 
37
40
  ## Disabled
38
41
 
@@ -53,3 +56,4 @@ L'attribut `@isDisabled` permet de désactiver la radio en conservant la possibi
53
56
  ## Arguments
54
57
 
55
58
  <ArgTypes of={ComponentStories} />
59
+ ./pix-radio-button-variant-tile.stories.js
@@ -1,7 +1,7 @@
1
1
  import { hbs } from 'ember-cli-htmlbars';
2
2
 
3
3
  export default {
4
- title: 'Form/Radio Button',
4
+ title: 'Form/Inputs/Radio Button',
5
5
  argTypes: {
6
6
  id: {
7
7
  name: 'id',
@@ -114,23 +114,6 @@ const FullWidthTemplate = (args) => {
114
114
  };
115
115
  };
116
116
 
117
- const VariantTileTemplate = (args) => {
118
- return {
119
- template: hbs`{{! template-lint-disable no-inline-styles }}
120
- <div
121
- style='border: 1px solid var(--pix-neutral-500); background: var(--pix-neutral-20); padding: var(--pix-spacing-4x); width: 500px'
122
- ><PixRadioButton
123
- @id={{this.id}}
124
- @isDisabled={{this.isDisabled}}
125
- checked={{this.checked}}
126
- @variant='tile'
127
- >
128
- <:label>{{this.label}}</:label>
129
- </PixRadioButton></div>`,
130
- context: args,
131
- };
132
- };
133
-
134
117
  export const Default = Template.bind({});
135
118
  Default.args = {
136
119
  label: 'Poivron',
@@ -147,25 +130,12 @@ FullWidth.args = {
147
130
  label: 'Une réponse',
148
131
  };
149
132
 
150
- export const VariantTile = VariantTileTemplate.bind({});
151
- VariantTile.args = {
152
- id: 'proposal',
153
- label: 'Une réponse',
154
- };
155
-
156
133
  export const isDisabled = Template.bind({});
157
134
  isDisabled.args = {
158
135
  ...Default.args,
159
136
  isDisabled: true,
160
137
  };
161
138
 
162
- export const isDisabledVariantTile = VariantTileTemplate.bind({});
163
- isDisabledVariantTile.args = {
164
- id: 'accept-newsletter-2',
165
- label: 'Recevoir la newsletter',
166
- isDisabled: true,
167
- };
168
-
169
139
  export const checkedIsDisabled = Template.bind({});
170
140
  checkedIsDisabled.args = {
171
141
  ...Default.args,
@@ -173,14 +143,6 @@ checkedIsDisabled.args = {
173
143
  checked: true,
174
144
  };
175
145
 
176
- export const checkedIsDisabledVariantTile = VariantTileTemplate.bind({});
177
- checkedIsDisabledVariantTile.args = {
178
- id: 'accept-newsletter-2',
179
- label: 'Recevoir la newsletter',
180
- isDisabled: true,
181
- checked: true,
182
- };
183
-
184
146
  /* Multiple components story */
185
147
  const multipleTemplate = (args) => {
186
148
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1024pix/pix-ui",
3
- "version": "46.9.2",
3
+ "version": "46.9.4",
4
4
  "description": "Pix-UI is the implementation of Pix design principles and guidelines for its products.",
5
5
  "keywords": [
6
6
  "ember-addon"
@@ -58,7 +58,7 @@
58
58
  "ember-truth-helpers": "^4.0.0"
59
59
  },
60
60
  "devDependencies": {
61
- "@1024pix/ember-testing-library": "^1.1.0",
61
+ "@1024pix/ember-testing-library": "^2.0.0",
62
62
  "@1024pix/eslint-config": "^1.3.3",
63
63
  "@1024pix/stylelint-config": "^5.1.12",
64
64
  "@babel/eslint-parser": "^7.19.1",