@1024pix/pix-ui 21.0.0 → 22.0.1
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.
- package/.storybook/main.js +3 -0
- package/CHANGELOG.md +15 -0
- package/README.md +2 -2
- package/addon/components/pix-toggle.hbs +24 -0
- package/addon/components/pix-toggle.js +23 -0
- package/addon/styles/_pix-toggle.scss +63 -0
- package/addon/styles/addon.scss +1 -0
- package/app/components/pix-toggle.js +1 -0
- package/app/stories/form.stories.js +12 -12
- package/app/stories/pix-banner.stories.js +4 -4
- package/app/stories/pix-block.stories.js +1 -1
- package/app/stories/pix-button-link.stories.js +11 -11
- package/app/stories/pix-button-upload.stories.js +5 -5
- package/app/stories/pix-button.stories.js +10 -10
- package/app/stories/pix-checkbox.stories.js +5 -5
- package/app/stories/pix-collapsible.stories.js +5 -5
- package/app/stories/pix-dropdown.stories.js +13 -13
- package/app/stories/pix-filter-banner.stories.js +4 -4
- package/app/stories/pix-filterable-and-searchable-select.stories.js +12 -12
- package/app/stories/pix-icon-button.stories.js +8 -8
- package/app/stories/pix-input-code.stories.js +5 -5
- package/app/stories/pix-input-password.stories.js +7 -7
- package/app/stories/pix-input.stories.js +6 -6
- package/app/stories/pix-message.stories.js +2 -2
- package/app/stories/pix-modal.stories.js +5 -5
- package/app/stories/pix-pagination.stories.js +4 -4
- package/app/stories/pix-progress-gauge.stories.js +10 -10
- package/app/stories/pix-radio-button.stories.js +2 -2
- package/app/stories/pix-return-to.stories.js +2 -2
- package/app/stories/pix-selectable-tag.stories.js +5 -5
- package/app/stories/pix-sidebar.stories.js +6 -6
- package/app/stories/pix-stars.stories.js +1 -1
- package/app/stories/pix-tag.stories.js +2 -2
- package/app/stories/pix-textarea.stories.js +5 -5
- package/app/stories/pix-toggle.stories.js +120 -0
- package/app/stories/pix-toggle.stories.mdx +38 -0
- package/package.json +20 -9
- package/.github/workflows/auto-merge.yml +0 -23
- package/.github/workflows/deploy-storybook.yml +0 -22
- package/.github/workflows/npm-publish.yml +0 -23
- package/.github/workflows/on-dev-merge.yml +0 -33
- package/.prettierignore +0 -1
package/.storybook/main.js
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Pix-UI Changelog
|
|
2
2
|
|
|
3
|
+
## v22.0.1 (08/12/2022)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### :building_construction: Tech
|
|
7
|
+
- [#300](https://github.com/1024pix/pix-ui/pull/300) [TECH] Réparer l'affichage des stories
|
|
8
|
+
|
|
9
|
+
## v22.0.0 (08/12/2022)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### :rocket: Amélioration
|
|
13
|
+
- [#288](https://github.com/1024pix/pix-ui/pull/288) [FEATURE] Ajout le composant PixToggle (PIX-6427)
|
|
14
|
+
|
|
15
|
+
### :building_construction: Tech
|
|
16
|
+
- [#292](https://github.com/1024pix/pix-ui/pull/292) [TECH] Mettre à jour `ember-source` vers la 4.0.1 (PIX-6462).
|
|
17
|
+
|
|
3
18
|
## v21.0.0 (05/12/2022)
|
|
4
19
|
|
|
5
20
|
|
package/README.md
CHANGED
|
@@ -15,8 +15,8 @@ Pix-UI c'est l'implémentation des principes du design system de Pix. Cela se ma
|
|
|
15
15
|
|
|
16
16
|
##### Version du projet :
|
|
17
17
|
|
|
18
|
-
* Ember CLI v3.
|
|
19
|
-
* Node
|
|
18
|
+
* Ember CLI v3.24 or above
|
|
19
|
+
* Node 12 or above
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
## Installation de l'addon Pix-UI <a id="Addon"></a>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<label class={{this.className}}>
|
|
2
|
+
<span class="pix-toggle__label{{if @screenReaderOnly ' screen-reader-only'}}">{{@label}}</span>
|
|
3
|
+
<button
|
|
4
|
+
class="pix-toggle__button"
|
|
5
|
+
aria-pressed={{if @toggled "true" "false"}}
|
|
6
|
+
type="button"
|
|
7
|
+
{{on "click" this.onToggle}}
|
|
8
|
+
>
|
|
9
|
+
<span class="pix-toggle__on">
|
|
10
|
+
{{#if @onLabel}}
|
|
11
|
+
{{@onLabel}}
|
|
12
|
+
{{else}}
|
|
13
|
+
{{yield to="on"}}
|
|
14
|
+
{{/if}}
|
|
15
|
+
</span>
|
|
16
|
+
<span class="pix-toggle__off">
|
|
17
|
+
{{#if @offLabel}}
|
|
18
|
+
{{@offLabel}}
|
|
19
|
+
{{else}}
|
|
20
|
+
{{yield to="off"}}
|
|
21
|
+
{{/if}}
|
|
22
|
+
</span>
|
|
23
|
+
</button>
|
|
24
|
+
</label>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import Component from '@glimmer/component';
|
|
2
|
+
import { action } from '@ember/object';
|
|
3
|
+
|
|
4
|
+
export default class PixToggle extends Component {
|
|
5
|
+
get className() {
|
|
6
|
+
const classes = ['pix-toggle'];
|
|
7
|
+
if (this.args.inline) {
|
|
8
|
+
classes.push('pix-toggle--inline');
|
|
9
|
+
}
|
|
10
|
+
if (this.args.toggled) {
|
|
11
|
+
classes.push('pix-toggle--pressed');
|
|
12
|
+
}
|
|
13
|
+
if (this.args.screenReaderOnly) {
|
|
14
|
+
classes.push('pix-toggle--screen-reader-only');
|
|
15
|
+
}
|
|
16
|
+
return classes.join(' ');
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@action
|
|
20
|
+
onToggle() {
|
|
21
|
+
this.args.onChange(!this.args.toggled);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
.pix-toggle {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
|
|
5
|
+
&__label {
|
|
6
|
+
color: $pix-neutral-90;
|
|
7
|
+
|
|
8
|
+
@include text;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
&__button {
|
|
12
|
+
width: fit-content;
|
|
13
|
+
background-color: transparent;
|
|
14
|
+
border: 1px solid $pix-neutral-30;
|
|
15
|
+
border-radius: 4px;
|
|
16
|
+
padding: $spacing-xxs;
|
|
17
|
+
margin-top: $spacing-xxs;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&__on,
|
|
21
|
+
&__off {
|
|
22
|
+
display: inline-block;
|
|
23
|
+
border-radius: 4px;
|
|
24
|
+
padding: $spacing-xs;
|
|
25
|
+
color: $pix-neutral-70;
|
|
26
|
+
|
|
27
|
+
@include text-small;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&__off {
|
|
31
|
+
background-color: $pix-neutral-45;
|
|
32
|
+
color: $white;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
&--inline {
|
|
36
|
+
flex-direction: row;
|
|
37
|
+
align-items: center;
|
|
38
|
+
gap: $spacing-xxs;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
&--inline,
|
|
42
|
+
&--screen-reader-only {
|
|
43
|
+
.pix-toggle {
|
|
44
|
+
&__button {
|
|
45
|
+
margin-top: 0;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
&--pressed {
|
|
51
|
+
.pix-toggle {
|
|
52
|
+
&__on {
|
|
53
|
+
background-color: $pix-neutral-45;
|
|
54
|
+
color: $white;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
&__off {
|
|
58
|
+
background-color: transparent;
|
|
59
|
+
color: inherit;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
package/addon/styles/addon.scss
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from '@1024pix/pix-ui/components/pix-toggle';
|
|
@@ -7,20 +7,20 @@ export const form = (args) => {
|
|
|
7
7
|
<PixInput
|
|
8
8
|
@id='firstName'
|
|
9
9
|
@label='Prénom'
|
|
10
|
-
@errorMessage={{genericErrorMessage}}
|
|
10
|
+
@errorMessage={{this.genericErrorMessage}}
|
|
11
11
|
@requiredLabel='champ obligatoire'
|
|
12
12
|
/>
|
|
13
13
|
<br />
|
|
14
|
-
<PixInputPassword @id='password' @label='Mot de passe' @errorMessage={{genericErrorMessage}} />
|
|
14
|
+
<PixInputPassword @id='password' @label='Mot de passe' @errorMessage={{this.genericErrorMessage}} />
|
|
15
15
|
<br />
|
|
16
16
|
|
|
17
17
|
<PixMultiSelect
|
|
18
18
|
@innerText='Votre notation en étoiles...'
|
|
19
19
|
@id='form__pix-mutli-select'
|
|
20
20
|
@label='A quel point aimez vous Pix UI ?'
|
|
21
|
-
@onSelect={{onSelect}}
|
|
22
|
-
@selected={{selected}}
|
|
23
|
-
@options={{options}}
|
|
21
|
+
@onSelect={{this.onSelect}}
|
|
22
|
+
@selected={{this.selected}}
|
|
23
|
+
@options={{this.options}}
|
|
24
24
|
as |star|
|
|
25
25
|
>
|
|
26
26
|
<PixStars @count={{star.value}} @total={{star.total}} />
|
|
@@ -31,10 +31,10 @@ export const form = (args) => {
|
|
|
31
31
|
@innerText='Mes condiements'
|
|
32
32
|
@id='form__pix-mutli-select-searchable'
|
|
33
33
|
@label='Choississez vos condiments'
|
|
34
|
-
@onSelect={{onSelect}}
|
|
35
|
-
@selected={{selected}}
|
|
34
|
+
@onSelect={{this.onSelect}}
|
|
35
|
+
@selected={{this.selected}}
|
|
36
36
|
@isSearchable={{true}}
|
|
37
|
-
@options={{optionsSearch}}
|
|
37
|
+
@options={{this.optionsSearch}}
|
|
38
38
|
as |condiment|
|
|
39
39
|
>
|
|
40
40
|
{{condiment.label}}
|
|
@@ -44,7 +44,7 @@ export const form = (args) => {
|
|
|
44
44
|
<PixSelect
|
|
45
45
|
@id='form__searchable-pix-select'
|
|
46
46
|
@label='Votre fruit préféré est : '
|
|
47
|
-
@options={{selectOptions}}
|
|
47
|
+
@options={{this.selectOptions}}
|
|
48
48
|
@isSearchable={{true}}
|
|
49
49
|
@isValidationActive={{true}}
|
|
50
50
|
placeholder='Fraises, Mangues...'
|
|
@@ -54,7 +54,7 @@ export const form = (args) => {
|
|
|
54
54
|
|
|
55
55
|
<PixDropdown
|
|
56
56
|
@id='form__searchable-pix-dropdown'
|
|
57
|
-
@options={{selectOptions}}
|
|
57
|
+
@options={{this.selectOptions}}
|
|
58
58
|
@placeholder='Choisir votre fruit'
|
|
59
59
|
@isSearchable={{true}}
|
|
60
60
|
@searchPlaceholder='Rechercher'
|
|
@@ -70,7 +70,7 @@ export const form = (args) => {
|
|
|
70
70
|
@value=''
|
|
71
71
|
@maxlength={{200}}
|
|
72
72
|
@label='Un commentaire ?'
|
|
73
|
-
@errorMessage={{genericErrorMessage}}
|
|
73
|
+
@errorMessage={{this.genericErrorMessage}}
|
|
74
74
|
/>
|
|
75
75
|
<br />
|
|
76
76
|
|
|
@@ -89,7 +89,7 @@ export const form = (args) => {
|
|
|
89
89
|
|
|
90
90
|
<div class='pix-form__actions'>
|
|
91
91
|
<PixButton
|
|
92
|
-
@triggerAction={{cancel}}
|
|
92
|
+
@triggerAction={{this.cancel}}
|
|
93
93
|
@backgroundColor='transparent-light'
|
|
94
94
|
@isBorderVisible={{true}}
|
|
95
95
|
>
|
|
@@ -3,10 +3,10 @@ import { hbs } from 'ember-cli-htmlbars';
|
|
|
3
3
|
const Template = (args) => {
|
|
4
4
|
return {
|
|
5
5
|
template: hbs`<PixBanner
|
|
6
|
-
@type={{type}}
|
|
7
|
-
@actionLabel={{actionLabel}}
|
|
8
|
-
@actionUrl={{actionUrl}}
|
|
9
|
-
@canCloseBanner={{canCloseBanner}}
|
|
6
|
+
@type={{this.type}}
|
|
7
|
+
@actionLabel={{this.actionLabel}}
|
|
8
|
+
@actionUrl={{this.actionUrl}}
|
|
9
|
+
@canCloseBanner={{this.canCloseBanner}}
|
|
10
10
|
>
|
|
11
11
|
Parcours de rentrée 2020 : les codes sont disponibles dans l'onglet campagne. N’oubliez pas de les
|
|
12
12
|
diffuser aux élèves avant la Toussaint.
|
|
@@ -5,11 +5,11 @@ export const htmlLinkTemplate = (args) => {
|
|
|
5
5
|
template: hbs`<PixButtonLink
|
|
6
6
|
@href='https://pix.fr'
|
|
7
7
|
target='NEW'
|
|
8
|
-
@shape={{shape}}
|
|
9
|
-
@backgroundColor={{backgroundColor}}
|
|
10
|
-
@size={{size}}
|
|
11
|
-
@isBorderVisible={{isBorderVisible}}
|
|
12
|
-
@isDisabled={{isDisabled}}
|
|
8
|
+
@shape={{this.shape}}
|
|
9
|
+
@backgroundColor={{this.backgroundColor}}
|
|
10
|
+
@size={{this.size}}
|
|
11
|
+
@isBorderVisible={{this.isBorderVisible}}
|
|
12
|
+
@isDisabled={{this.isDisabled}}
|
|
13
13
|
>
|
|
14
14
|
Lien HTML classique
|
|
15
15
|
</PixButtonLink>`,
|
|
@@ -22,12 +22,12 @@ export const emberLinkTemplate = (args) => {
|
|
|
22
22
|
template: hbs`<PixButtonLink
|
|
23
23
|
@route=''
|
|
24
24
|
@model=''
|
|
25
|
-
@query={{query}}
|
|
26
|
-
@shape={{shape}}
|
|
27
|
-
@backgroundColor={{backgroundColor}}
|
|
28
|
-
@size={{size}}
|
|
29
|
-
@isBorderVisible={{isBorderVisible}}
|
|
30
|
-
@isDisabled={{isDisabled}}
|
|
25
|
+
@query={{this.query}}
|
|
26
|
+
@shape={{this.shape}}
|
|
27
|
+
@backgroundColor={{this.backgroundColor}}
|
|
28
|
+
@size={{this.size}}
|
|
29
|
+
@isBorderVisible={{this.isBorderVisible}}
|
|
30
|
+
@isDisabled={{this.isDisabled}}
|
|
31
31
|
>
|
|
32
32
|
Lien route Ember (LinkTo)
|
|
33
33
|
</PixButtonLink>`,
|
|
@@ -5,11 +5,11 @@ export const buttonUpload = (args) => {
|
|
|
5
5
|
return {
|
|
6
6
|
template: hbs`<PixButtonUpload
|
|
7
7
|
@id='id'
|
|
8
|
-
@onChange={{onChange}}
|
|
9
|
-
@shape={{shape}}
|
|
10
|
-
@backgroundColor={{backgroundColor}}
|
|
11
|
-
@size={{size}}
|
|
12
|
-
@isBorderVisible={{isBorderVisible}}
|
|
8
|
+
@onChange={{this.onChange}}
|
|
9
|
+
@shape={{this.shape}}
|
|
10
|
+
@backgroundColor={{this.backgroundColor}}
|
|
11
|
+
@size={{this.size}}
|
|
12
|
+
@isBorderVisible={{this.isBorderVisible}}
|
|
13
13
|
>
|
|
14
14
|
Cliquer pour uploader un fichier
|
|
15
15
|
</PixButtonUpload>`,
|
|
@@ -3,22 +3,22 @@ import { hbs } from 'ember-cli-htmlbars';
|
|
|
3
3
|
const Template = (args) => ({
|
|
4
4
|
template: hbs`<section style={{this.style}}>
|
|
5
5
|
<PixButton
|
|
6
|
-
@triggerAction={{action triggerAction}}
|
|
7
|
-
@loadingColor={{loadingColor}}
|
|
8
|
-
@shape={{shape}}
|
|
9
|
-
@backgroundColor={{backgroundColor}}
|
|
10
|
-
@isDisabled={{isDisabled}}
|
|
11
|
-
@isLoading={{isLoading}}
|
|
12
|
-
@size={{size}}
|
|
13
|
-
@isBorderVisible={{isBorderVisible}}
|
|
6
|
+
@triggerAction={{action this.triggerAction}}
|
|
7
|
+
@loadingColor={{this.loadingColor}}
|
|
8
|
+
@shape={{this.shape}}
|
|
9
|
+
@backgroundColor={{this.backgroundColor}}
|
|
10
|
+
@isDisabled={{this.isDisabled}}
|
|
11
|
+
@isLoading={{this.isLoading}}
|
|
12
|
+
@size={{this.size}}
|
|
13
|
+
@isBorderVisible={{this.isBorderVisible}}
|
|
14
14
|
>
|
|
15
15
|
{{this.label}}
|
|
16
16
|
</PixButton>
|
|
17
17
|
</section>
|
|
18
|
-
{{#each extraButtons as |button|}}
|
|
18
|
+
{{#each this.extraButtons as |button|}}
|
|
19
19
|
<section style={{button.style}}>
|
|
20
20
|
<PixButton
|
|
21
|
-
@triggerAction={{action triggerAction}}
|
|
21
|
+
@triggerAction={{action this.triggerAction}}
|
|
22
22
|
@loadingColor={{button.loadingColor}}
|
|
23
23
|
@shape={{button.shape}}
|
|
24
24
|
@backgroundColor={{button.backgroundColor}}
|
|
@@ -3,11 +3,11 @@ import { hbs } from 'ember-cli-htmlbars';
|
|
|
3
3
|
export const Template = (args) => {
|
|
4
4
|
return {
|
|
5
5
|
template: hbs`<PixCheckbox
|
|
6
|
-
@id={{id}}
|
|
7
|
-
@screenReaderOnly={{screenReaderOnly}}
|
|
8
|
-
@isIndeterminate={{isIndeterminate}}
|
|
9
|
-
@labelSize={{labelSize}}
|
|
10
|
-
@checked={{checked}}
|
|
6
|
+
@id={{this.id}}
|
|
7
|
+
@screenReaderOnly={{this.screenReaderOnly}}
|
|
8
|
+
@isIndeterminate={{this.isIndeterminate}}
|
|
9
|
+
@labelSize={{this.labelSize}}
|
|
10
|
+
@checked={{this.checked}}
|
|
11
11
|
>
|
|
12
12
|
{{label}}
|
|
13
13
|
</PixCheckbox>`,
|
|
@@ -2,7 +2,7 @@ import { hbs } from 'ember-cli-htmlbars';
|
|
|
2
2
|
|
|
3
3
|
export const collapsible = (args) => {
|
|
4
4
|
return {
|
|
5
|
-
template: hbs`<PixCollapsible @title={{title}} @titleIcon={{titleIcon}}>
|
|
5
|
+
template: hbs`<PixCollapsible @title={{this.title}} @titleIcon={{this.titleIcon}}>
|
|
6
6
|
<div>Contenu du PixCollapsible</div>
|
|
7
7
|
</PixCollapsible>`,
|
|
8
8
|
context: args,
|
|
@@ -11,7 +11,7 @@ export const collapsible = (args) => {
|
|
|
11
11
|
|
|
12
12
|
export const collapsibleWithBlockTitle = (args) => {
|
|
13
13
|
return {
|
|
14
|
-
template: hbs`<PixCollapsible @titleIcon={{titleIcon}}>
|
|
14
|
+
template: hbs`<PixCollapsible @titleIcon={{this.titleIcon}}>
|
|
15
15
|
<:title>
|
|
16
16
|
<span>Titre avec <em>contenu de type block</em></span>
|
|
17
17
|
</:title>
|
|
@@ -26,15 +26,15 @@ export const collapsibleWithBlockTitle = (args) => {
|
|
|
26
26
|
export const multipleCollapsible = (args) => {
|
|
27
27
|
return {
|
|
28
28
|
template: hbs`<div>
|
|
29
|
-
<PixCollapsible @title='Titre A' @titleIcon={{titleIcon}}>
|
|
29
|
+
<PixCollapsible @title='Titre A' @titleIcon={{this.titleIcon}}>
|
|
30
30
|
<div>Contenu A</div>
|
|
31
31
|
</PixCollapsible>
|
|
32
32
|
|
|
33
|
-
<PixCollapsible @title='Titre B' @titleIcon={{titleIcon}}>
|
|
33
|
+
<PixCollapsible @title='Titre B' @titleIcon={{this.titleIcon}}>
|
|
34
34
|
<div>Contenu B</div>
|
|
35
35
|
</PixCollapsible>
|
|
36
36
|
|
|
37
|
-
<PixCollapsible @title='Titre C' @titleIcon={{titleIcon}}>
|
|
37
|
+
<PixCollapsible @title='Titre C' @titleIcon={{this.titleIcon}}>
|
|
38
38
|
<div>Contenu C</div>
|
|
39
39
|
</PixCollapsible>
|
|
40
40
|
</div>`,
|
|
@@ -5,19 +5,19 @@ export const Template = (args) => {
|
|
|
5
5
|
return {
|
|
6
6
|
template: hbs`<div style='width: 300px;'>
|
|
7
7
|
<PixDropdown
|
|
8
|
-
@id={{id}}
|
|
9
|
-
@options={{options}}
|
|
10
|
-
@onSelect={{onSelect}}
|
|
11
|
-
@placeholder={{placeholder}}
|
|
12
|
-
@selectedOption={{selectedOption}}
|
|
13
|
-
@isSearchable={{isSearchable}}
|
|
14
|
-
@searchPlaceholder={{searchPlaceholder}}
|
|
15
|
-
@label={{label}}
|
|
16
|
-
@clearLabel={{clearLabel}}
|
|
17
|
-
@expandLabel={{expandLabel}}
|
|
18
|
-
@collapseLabel={{collapseLabel}}
|
|
19
|
-
@pageSize={{pageSize}}
|
|
20
|
-
@requiredLabel={{requiredLabel}}
|
|
8
|
+
@id={{this.id}}
|
|
9
|
+
@options={{this.options}}
|
|
10
|
+
@onSelect={{this.onSelect}}
|
|
11
|
+
@placeholder={{this.placeholder}}
|
|
12
|
+
@selectedOption={{this.selectedOption}}
|
|
13
|
+
@isSearchable={{this.isSearchable}}
|
|
14
|
+
@searchPlaceholder={{this.searchPlaceholder}}
|
|
15
|
+
@label={{this.label}}
|
|
16
|
+
@clearLabel={{this.clearLabel}}
|
|
17
|
+
@expandLabel={{this.expandLabel}}
|
|
18
|
+
@collapseLabel={{this.collapseLabel}}
|
|
19
|
+
@pageSize={{this.pageSize}}
|
|
20
|
+
@requiredLabel={{this.requiredLabel}}
|
|
21
21
|
/>
|
|
22
22
|
</div>`,
|
|
23
23
|
context: args,
|
|
@@ -4,10 +4,10 @@ import { action } from '@storybook/addon-actions';
|
|
|
4
4
|
export const filterBanner = (args) => {
|
|
5
5
|
return {
|
|
6
6
|
template: hbs`<PixFilterBanner
|
|
7
|
-
@title={{title}}
|
|
8
|
-
@details={{details}}
|
|
9
|
-
@clearFiltersLabel={{clearFiltersLabel}}
|
|
10
|
-
@onClearFilters={{onClearFilters}}
|
|
7
|
+
@title={{this.title}}
|
|
8
|
+
@details={{this.details}}
|
|
9
|
+
@clearFiltersLabel={{this.clearFiltersLabel}}
|
|
10
|
+
@onClearFilters={{this.onClearFilters}}
|
|
11
11
|
>
|
|
12
12
|
<PixSelect @options={{this.options}} @onChange={{this.onChange}} />
|
|
13
13
|
<PixSelect @options={{this.options}} @onChange={{this.onChange}} />
|
|
@@ -4,18 +4,18 @@ const Template = (args) => {
|
|
|
4
4
|
return {
|
|
5
5
|
template: hbs`
|
|
6
6
|
<PixFilterableAndSearchableSelect
|
|
7
|
-
@label={{label}}
|
|
8
|
-
@subLabel={{subLabel}}
|
|
9
|
-
@screenReaderOnly={{screenReaderOnly}}
|
|
10
|
-
@placeholder={{placeholder}}
|
|
11
|
-
@options={{options}}
|
|
12
|
-
@onChange={{onChange}}
|
|
13
|
-
@categoriesLabel={{categoriesLabel}}
|
|
14
|
-
@categoriesPlaceholder={{categoriesPlaceholder}}
|
|
15
|
-
@isSearchable={{isSearchable}}
|
|
16
|
-
@value={{value}}
|
|
17
|
-
@requiredText={{requiredText}}
|
|
18
|
-
@errorMessage={{errorMessage}}
|
|
7
|
+
@label={{this.label}}
|
|
8
|
+
@subLabel={{this.subLabel}}
|
|
9
|
+
@screenReaderOnly={{this.screenReaderOnly}}
|
|
10
|
+
@placeholder={{this.placeholder}}
|
|
11
|
+
@options={{this.options}}
|
|
12
|
+
@onChange={{this.onChange}}
|
|
13
|
+
@categoriesLabel={{this.categoriesLabel}}
|
|
14
|
+
@categoriesPlaceholder={{this.categoriesPlaceholder}}
|
|
15
|
+
@isSearchable={{this.isSearchable}}
|
|
16
|
+
@value={{this.value}}
|
|
17
|
+
@requiredText={{this.requiredText}}
|
|
18
|
+
@errorMessage={{this.errorMessage}}
|
|
19
19
|
/>
|
|
20
20
|
`,
|
|
21
21
|
context: args,
|
|
@@ -4,14 +4,14 @@ import { action } from '@storybook/addon-actions';
|
|
|
4
4
|
const Template = (args) => {
|
|
5
5
|
return {
|
|
6
6
|
template: hbs`<PixIconButton
|
|
7
|
-
@ariaLabel={{ariaLabel}}
|
|
8
|
-
@icon={{icon}}
|
|
9
|
-
@iconPrefix={{iconPrefix}}
|
|
10
|
-
@triggerAction={{triggerAction}}
|
|
11
|
-
@withBackground={{withBackground}}
|
|
12
|
-
@size={{size}}
|
|
13
|
-
disabled={{disabled}}
|
|
14
|
-
aria-disabled={{disabled}}
|
|
7
|
+
@ariaLabel={{this.ariaLabel}}
|
|
8
|
+
@icon={{this.icon}}
|
|
9
|
+
@iconPrefix={{this.iconPrefix}}
|
|
10
|
+
@triggerAction={{this.triggerAction}}
|
|
11
|
+
@withBackground={{this.withBackground}}
|
|
12
|
+
@size={{this.size}}
|
|
13
|
+
disabled={{this.disabled}}
|
|
14
|
+
aria-disabled={{this.disabled}}
|
|
15
15
|
/>`,
|
|
16
16
|
context: args,
|
|
17
17
|
};
|
|
@@ -3,11 +3,11 @@ import { hbs } from 'ember-cli-htmlbars';
|
|
|
3
3
|
export const Template = (args) => {
|
|
4
4
|
return {
|
|
5
5
|
template: hbs`<PixInputCode
|
|
6
|
-
@ariaLabel={{ariaLabel}}
|
|
7
|
-
@legend={{legend}}
|
|
8
|
-
@inputType={{inputType}}
|
|
9
|
-
@numInputs={{numInputs}}
|
|
10
|
-
@explanationOfUse={{explanationOfUse}}
|
|
6
|
+
@ariaLabel={{this.ariaLabel}}
|
|
7
|
+
@legend={{this.legend}}
|
|
8
|
+
@inputType={{this.inputType}}
|
|
9
|
+
@numInputs={{this.numInputs}}
|
|
10
|
+
@explanationOfUse={{this.explanationOfUse}}
|
|
11
11
|
/>`,
|
|
12
12
|
context: args,
|
|
13
13
|
};
|
|
@@ -3,13 +3,13 @@ import { hbs } from 'ember-cli-htmlbars';
|
|
|
3
3
|
export const Template = (args) => {
|
|
4
4
|
return {
|
|
5
5
|
template: hbs`<PixInputPassword
|
|
6
|
-
@ariaLabel={{ariaLabel}}
|
|
7
|
-
@id={{id}}
|
|
8
|
-
@label={{label}}
|
|
9
|
-
@information={{information}}
|
|
10
|
-
@errorMessage={{errorMessage}}
|
|
11
|
-
@prefix={{prefix}}
|
|
12
|
-
@requiredLabel={{requiredLabel}}
|
|
6
|
+
@ariaLabel={{this.ariaLabel}}
|
|
7
|
+
@id={{this.id}}
|
|
8
|
+
@label={{this.label}}
|
|
9
|
+
@information={{this.information}}
|
|
10
|
+
@errorMessage={{this.errorMessage}}
|
|
11
|
+
@prefix={{this.prefix}}
|
|
12
|
+
@requiredLabel={{this.requiredLabel}}
|
|
13
13
|
/>`,
|
|
14
14
|
context: args,
|
|
15
15
|
};
|
|
@@ -3,13 +3,13 @@ import { hbs } from 'ember-cli-htmlbars';
|
|
|
3
3
|
export const Template = (args) => {
|
|
4
4
|
return {
|
|
5
5
|
template: hbs`<PixInput
|
|
6
|
-
@id={{id}}
|
|
7
|
-
@label={{label}}
|
|
8
|
-
@information={{information}}
|
|
9
|
-
@errorMessage={{errorMessage}}
|
|
6
|
+
@id={{this.id}}
|
|
7
|
+
@label={{this.label}}
|
|
8
|
+
@information={{this.information}}
|
|
9
|
+
@errorMessage={{this.errorMessage}}
|
|
10
10
|
placeholder='Jeanne, Pierre ...'
|
|
11
|
-
@requiredLabel={{requiredLabel}}
|
|
12
|
-
@ariaLabel={{ariaLabel}}
|
|
11
|
+
@requiredLabel={{this.requiredLabel}}
|
|
12
|
+
@ariaLabel={{this.ariaLabel}}
|
|
13
13
|
/>`,
|
|
14
14
|
context: args,
|
|
15
15
|
};
|
|
@@ -2,9 +2,9 @@ import { hbs } from 'ember-cli-htmlbars';
|
|
|
2
2
|
|
|
3
3
|
const Template = (args) => {
|
|
4
4
|
return {
|
|
5
|
-
template: hbs`<PixMessage @type={{type}} @withIcon={{withIcon}}>
|
|
5
|
+
template: hbs`<PixMessage @type={{this.type}} @withIcon={{this.withIcon}}>
|
|
6
6
|
Ceci est un message
|
|
7
|
-
{{type}}
|
|
7
|
+
{{this.type}}
|
|
8
8
|
avec un texte tellement long qu'il est nécessaire
|
|
9
9
|
<br />
|
|
10
10
|
de l'afficher sur deux lignes.
|
|
@@ -3,9 +3,9 @@ import { hbs } from 'ember-cli-htmlbars';
|
|
|
3
3
|
export const Template = (args) => {
|
|
4
4
|
return {
|
|
5
5
|
template: hbs`<PixModal
|
|
6
|
-
@showModal={{showModal}}
|
|
6
|
+
@showModal={{this.showModal}}
|
|
7
7
|
@title={{this.title}}
|
|
8
|
-
@onCloseButtonClick={{fn (mut showModal) (not showModal)}}
|
|
8
|
+
@onCloseButtonClick={{fn (mut this.showModal) (not this.showModal)}}
|
|
9
9
|
>
|
|
10
10
|
<:content>
|
|
11
11
|
<p>
|
|
@@ -21,13 +21,13 @@ export const Template = (args) => {
|
|
|
21
21
|
<PixButton
|
|
22
22
|
@backgroundColor='transparent-light'
|
|
23
23
|
@isBorderVisible='true'
|
|
24
|
-
@triggerAction={{fn (mut showModal) (not showModal)}}
|
|
24
|
+
@triggerAction={{fn (mut this.showModal) (not this.showModal)}}
|
|
25
25
|
>Annuler</PixButton>
|
|
26
|
-
<PixButton @triggerAction={{fn (mut showModal) (not showModal)}}>Valider</PixButton>
|
|
26
|
+
<PixButton @triggerAction={{fn (mut this.showModal) (not this.showModal)}}>Valider</PixButton>
|
|
27
27
|
</:footer>
|
|
28
28
|
</PixModal>
|
|
29
29
|
<div style='display:flex; justify-content:center; align-items:center; height:105vh;'>
|
|
30
|
-
<PixButton @triggerAction={{fn (mut showModal) (not showModal)}}>Ouvrir la modale</PixButton>
|
|
30
|
+
<PixButton @triggerAction={{fn (mut this.showModal) (not this.showModal)}}>Ouvrir la modale</PixButton>
|
|
31
31
|
</div>`,
|
|
32
32
|
context: args,
|
|
33
33
|
};
|
|
@@ -3,10 +3,10 @@ import { hbs } from 'ember-cli-htmlbars';
|
|
|
3
3
|
export const Template = (args) => {
|
|
4
4
|
return {
|
|
5
5
|
template: hbs`<PixPagination
|
|
6
|
-
@pagination={{pagination}}
|
|
7
|
-
@locale={{locale}}
|
|
8
|
-
@pageOptions={{pageOptions}}
|
|
9
|
-
@isCondensed={{isCondensed}}
|
|
6
|
+
@pagination={{this.pagination}}
|
|
7
|
+
@locale={{this.locale}}
|
|
8
|
+
@pageOptions={{this.pageOptions}}
|
|
9
|
+
@isCondensed={{this.isCondensed}}
|
|
10
10
|
/>`,
|
|
11
11
|
context: args,
|
|
12
12
|
};
|
|
@@ -3,11 +3,11 @@ import { hbs } from 'ember-cli-htmlbars';
|
|
|
3
3
|
export const Default = (args) => {
|
|
4
4
|
return {
|
|
5
5
|
template: hbs`<PixProgressGauge
|
|
6
|
-
@value={{value}}
|
|
7
|
-
@color={{color}}
|
|
8
|
-
@isArrowLeft={{isArrowLeft}}
|
|
9
|
-
@subtitle={{subtitle}}
|
|
10
|
-
@tooltipText={{tooltipText}}
|
|
6
|
+
@value={{this.value}}
|
|
7
|
+
@color={{this.color}}
|
|
8
|
+
@isArrowLeft={{this.isArrowLeft}}
|
|
9
|
+
@subtitle={{this.subtitle}}
|
|
10
|
+
@tooltipText={{this.tooltipText}}
|
|
11
11
|
/>`,
|
|
12
12
|
context: args,
|
|
13
13
|
};
|
|
@@ -20,11 +20,11 @@ export const whiteProgressGauge = (args) => {
|
|
|
20
20
|
return {
|
|
21
21
|
template: hbs`<section style='width: 100%; padding: 35px 35px 5px;background-color: lightgray'>
|
|
22
22
|
<PixProgressGauge
|
|
23
|
-
@value={{value}}
|
|
24
|
-
@color={{color}}
|
|
25
|
-
@isArrowLeft={{isArrowLeft}}
|
|
26
|
-
@subtitle={{subtitle}}
|
|
27
|
-
@tooltipText={{tooltipText}}
|
|
23
|
+
@value={{this.value}}
|
|
24
|
+
@color={{this.color}}
|
|
25
|
+
@isArrowLeft={{this.isArrowLeft}}
|
|
26
|
+
@subtitle={{this.subtitle}}
|
|
27
|
+
@tooltipText={{this.tooltipText}}
|
|
28
28
|
/>
|
|
29
29
|
</section>`,
|
|
30
30
|
context: args,
|
|
@@ -2,7 +2,7 @@ import { hbs } from 'ember-cli-htmlbars';
|
|
|
2
2
|
|
|
3
3
|
const Template = (args) => {
|
|
4
4
|
return {
|
|
5
|
-
template: hbs`<PixRadioButton @label={{label}} @value={{value}} @isDisabled={{isDisabled}} />`,
|
|
5
|
+
template: hbs`<PixRadioButton @label={{this.label}} @value={{this.value}} @isDisabled={{this.isDisabled}} />`,
|
|
6
6
|
context: args,
|
|
7
7
|
};
|
|
8
8
|
};
|
|
@@ -20,7 +20,7 @@ isDisabled.args = {
|
|
|
20
20
|
|
|
21
21
|
const checked = (args) => {
|
|
22
22
|
return {
|
|
23
|
-
template: hbs`<PixRadioButton @label={{label}} @isDisabled={{isDisabled}} checked />`,
|
|
23
|
+
template: hbs`<PixRadioButton @label={{this.label}} @isDisabled={{this.isDisabled}} checked />`,
|
|
24
24
|
context: args,
|
|
25
25
|
};
|
|
26
26
|
};
|
|
@@ -2,7 +2,7 @@ import { hbs } from 'ember-cli-htmlbars';
|
|
|
2
2
|
|
|
3
3
|
export const returnTo = (args) => {
|
|
4
4
|
return {
|
|
5
|
-
template: hbs`<PixReturnTo @route='profile' @shade={{shade}} />`,
|
|
5
|
+
template: hbs`<PixReturnTo @route='profile' @shade={{this.shade}} />`,
|
|
6
6
|
context: args,
|
|
7
7
|
};
|
|
8
8
|
};
|
|
@@ -12,7 +12,7 @@ returnTo.args = {
|
|
|
12
12
|
|
|
13
13
|
export const returnToWithText = (args) => {
|
|
14
14
|
return {
|
|
15
|
-
template: hbs`<PixReturnTo @route='profile' @shade={{shade}}>
|
|
15
|
+
template: hbs`<PixReturnTo @route='profile' @shade={{this.shade}}>
|
|
16
16
|
Retour vers mon profil
|
|
17
17
|
</PixReturnTo>`,
|
|
18
18
|
context: args,
|
|
@@ -2,14 +2,14 @@ import { hbs } from 'ember-cli-htmlbars';
|
|
|
2
2
|
|
|
3
3
|
export const selectableTagDefault = (args) => {
|
|
4
4
|
return {
|
|
5
|
-
template: hbs`<PixSelectableTag @label='non sélectionné' @id='123' @onChange={{onChange}} @checked={{false}} />`,
|
|
5
|
+
template: hbs`<PixSelectableTag @label='non sélectionné' @id='123' @onChange={{this.onChange}} @checked={{false}} />`,
|
|
6
6
|
context: args,
|
|
7
7
|
};
|
|
8
8
|
};
|
|
9
9
|
|
|
10
10
|
export const selectableTagSelected = (args) => {
|
|
11
11
|
return {
|
|
12
|
-
template: hbs`<PixSelectableTag @label='Sélectionné' @id='456' @onChange={{onChange}} @checked={{true}} />`,
|
|
12
|
+
template: hbs`<PixSelectableTag @label='Sélectionné' @id='456' @onChange={{this.onChange}} @checked={{true}} />`,
|
|
13
13
|
context: args,
|
|
14
14
|
};
|
|
15
15
|
};
|
|
@@ -17,9 +17,9 @@ export const selectableTagSelected = (args) => {
|
|
|
17
17
|
export const selectableTagMultiple = (args) => {
|
|
18
18
|
return {
|
|
19
19
|
template: hbs`<div style='display:flex;justify-content:space-around;width:400px;height:100%;padding:10px'>
|
|
20
|
-
<PixSelectableTag @label='Lorem ipsum' @id='1' @onChange={{onChange}} @checked={{false}} />
|
|
21
|
-
<PixSelectableTag @label='Lorem ipsum' @id='2' @onChange={{onChange}} @checked={{false}} />
|
|
22
|
-
<PixSelectableTag @label='Lorem ipsum' @id='3' @onChange={{onChange}} @checked={{false}} />
|
|
20
|
+
<PixSelectableTag @label='Lorem ipsum' @id='1' @onChange={{this.onChange}} @checked={{false}} />
|
|
21
|
+
<PixSelectableTag @label='Lorem ipsum' @id='2' @onChange={{this.onChange}} @checked={{false}} />
|
|
22
|
+
<PixSelectableTag @label='Lorem ipsum' @id='3' @onChange={{this.onChange}} @checked={{false}} />
|
|
23
23
|
</div>`,
|
|
24
24
|
context: args,
|
|
25
25
|
};
|
|
@@ -3,9 +3,9 @@ import { hbs } from 'ember-cli-htmlbars';
|
|
|
3
3
|
export const Template = (args) => {
|
|
4
4
|
return {
|
|
5
5
|
template: hbs`<PixSidebar
|
|
6
|
-
@showSidebar={{showSidebar}}
|
|
7
|
-
@title={{title}}
|
|
8
|
-
@onClose={{fn (mut showSidebar) (not showSidebar)}}
|
|
6
|
+
@showSidebar={{this.showSidebar}}
|
|
7
|
+
@title={{this.title}}
|
|
8
|
+
@onClose={{fn (mut this.showSidebar) (not this.showSidebar)}}
|
|
9
9
|
>
|
|
10
10
|
<:content>
|
|
11
11
|
<p>
|
|
@@ -18,14 +18,14 @@ export const Template = (args) => {
|
|
|
18
18
|
<PixButton
|
|
19
19
|
@backgroundColor='transparent-light'
|
|
20
20
|
@isBorderVisible='true'
|
|
21
|
-
@triggerAction={{fn (mut showSidebar) (not showSidebar)}}
|
|
21
|
+
@triggerAction={{fn (mut this.showSidebar) (not this.showSidebar)}}
|
|
22
22
|
>Annuler</PixButton>
|
|
23
|
-
<PixButton @triggerAction={{fn (mut showSidebar) (not showSidebar)}}>Valider</PixButton>
|
|
23
|
+
<PixButton @triggerAction={{fn (mut this.showSidebar) (not this.showSidebar)}}>Valider</PixButton>
|
|
24
24
|
</div>
|
|
25
25
|
</:footer>
|
|
26
26
|
</PixSidebar>
|
|
27
27
|
<div style='display:flex; justify-content:center; align-items:center; height:105vh;'>
|
|
28
|
-
<PixButton @triggerAction={{fn (mut showSidebar) (not showSidebar)}} style='height:45px'>Ouvrir la
|
|
28
|
+
<PixButton @triggerAction={{fn (mut this.showSidebar) (not this.showSidebar)}} style='height:45px'>Ouvrir la
|
|
29
29
|
sidebar</PixButton>
|
|
30
30
|
</div>`,
|
|
31
31
|
context: args,
|
|
@@ -2,7 +2,7 @@ import { hbs } from 'ember-cli-htmlbars';
|
|
|
2
2
|
|
|
3
3
|
export const stars = (args) => {
|
|
4
4
|
return {
|
|
5
|
-
template: hbs`<PixStars @count={{count}} @total={{total}} @alt={{alt}} @color={{color}} />`,
|
|
5
|
+
template: hbs`<PixStars @count={{this.count}} @total={{this.total}} @alt={{this.alt}} @color={{this.color}} />`,
|
|
6
6
|
context: args,
|
|
7
7
|
};
|
|
8
8
|
};
|
|
@@ -2,7 +2,7 @@ import { hbs } from 'ember-cli-htmlbars';
|
|
|
2
2
|
|
|
3
3
|
export const tag = (args) => {
|
|
4
4
|
return {
|
|
5
|
-
template: hbs`<PixTag @color={{color}} @compact={{compact}}>
|
|
5
|
+
template: hbs`<PixTag @color={{this.color}} @compact={{this.compact}}>
|
|
6
6
|
Contenu du tag
|
|
7
7
|
</PixTag>`,
|
|
8
8
|
context: args,
|
|
@@ -11,7 +11,7 @@ export const tag = (args) => {
|
|
|
11
11
|
|
|
12
12
|
export const compactTag = (args) => {
|
|
13
13
|
return {
|
|
14
|
-
template: hbs`<PixTag @color={{color}} @compact={{compact}}>
|
|
14
|
+
template: hbs`<PixTag @color={{this.color}} @compact={{this.compact}}>
|
|
15
15
|
Contenu du tag
|
|
16
16
|
</PixTag>`,
|
|
17
17
|
context: args,
|
|
@@ -3,11 +3,11 @@ import { hbs } from 'ember-cli-htmlbars';
|
|
|
3
3
|
export const textarea = (args) => {
|
|
4
4
|
return {
|
|
5
5
|
template: hbs`<PixTextarea
|
|
6
|
-
@id={{id}}
|
|
7
|
-
@value={{value}}
|
|
8
|
-
@maxlength={{maxlength}}
|
|
9
|
-
@label={{label}}
|
|
10
|
-
@errorMessage={{errorMessage}}
|
|
6
|
+
@id={{this.id}}
|
|
7
|
+
@value={{this.value}}
|
|
8
|
+
@maxlength={{this.maxlength}}
|
|
9
|
+
@label={{this.label}}
|
|
10
|
+
@errorMessage={{this.errorMessage}}
|
|
11
11
|
/>`,
|
|
12
12
|
context: args,
|
|
13
13
|
};
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { hbs } from 'ember-cli-htmlbars';
|
|
2
|
+
import { action } from '@storybook/addon-actions';
|
|
3
|
+
|
|
4
|
+
export const Template = (args) => {
|
|
5
|
+
return {
|
|
6
|
+
template: hbs`
|
|
7
|
+
<PixToggle
|
|
8
|
+
@label={{this.label}}
|
|
9
|
+
@onLabel={{this.onLabel}}
|
|
10
|
+
@offLabel={{this.offLabel}}
|
|
11
|
+
@toggled={{this.toggled}}
|
|
12
|
+
@onChange={{this.onChange}}
|
|
13
|
+
@inline={{this.inline}}
|
|
14
|
+
@screenReaderOnly={{this.screenReaderOnly}}
|
|
15
|
+
/>
|
|
16
|
+
`,
|
|
17
|
+
context: args,
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export const TemplateWithYields = (args) => {
|
|
22
|
+
return {
|
|
23
|
+
template: hbs`
|
|
24
|
+
<PixToggle
|
|
25
|
+
@label={{this.label}}
|
|
26
|
+
@toggled={{this.toggled}}
|
|
27
|
+
@onChange={{this.onChange}}
|
|
28
|
+
>
|
|
29
|
+
<:on><FaIcon @icon="sun" /></:on>
|
|
30
|
+
<:off><FaIcon @icon="moon" /></:off>
|
|
31
|
+
</PixToggle>
|
|
32
|
+
`,
|
|
33
|
+
context: args,
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export const Default = Template.bind({});
|
|
38
|
+
Default.args = {
|
|
39
|
+
label: 'Mon toggle',
|
|
40
|
+
onLabel: 'Oui',
|
|
41
|
+
offLabel: 'Non',
|
|
42
|
+
toggled: false,
|
|
43
|
+
onChange: action('onChange'),
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export const Inline = Template.bind({});
|
|
47
|
+
Inline.args = {
|
|
48
|
+
inline: true,
|
|
49
|
+
label: 'Mon toggle',
|
|
50
|
+
onLabel: 'Oui',
|
|
51
|
+
offLabel: 'Non',
|
|
52
|
+
toggled: false,
|
|
53
|
+
onChange: action('onChange'),
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export const ScreenReaderOnly = Template.bind({});
|
|
57
|
+
ScreenReaderOnly.args = {
|
|
58
|
+
screenReaderOnly: true,
|
|
59
|
+
label: 'Mon toggle',
|
|
60
|
+
onLabel: 'Oui',
|
|
61
|
+
offLabel: 'Non',
|
|
62
|
+
toggled: false,
|
|
63
|
+
onChange: action('onChange'),
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
export const WithYields = TemplateWithYields.bind({});
|
|
67
|
+
WithYields.args = {
|
|
68
|
+
label: 'Mon toggle',
|
|
69
|
+
toggled: false,
|
|
70
|
+
onChange: action('onChange'),
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export const argTypes = {
|
|
74
|
+
label: {
|
|
75
|
+
name: 'label',
|
|
76
|
+
description: 'Le label du PixToggle',
|
|
77
|
+
type: { name: 'string', required: true },
|
|
78
|
+
},
|
|
79
|
+
onLabel: {
|
|
80
|
+
name: 'onLabel',
|
|
81
|
+
description: "Le label de l'état actif du PixToggle",
|
|
82
|
+
type: { name: 'string', required: false },
|
|
83
|
+
},
|
|
84
|
+
offLabel: {
|
|
85
|
+
name: 'offLabel',
|
|
86
|
+
description: "Le label de l'état non actif du PixToggle",
|
|
87
|
+
type: { name: 'string', required: false },
|
|
88
|
+
},
|
|
89
|
+
toggled: {
|
|
90
|
+
name: 'toggled',
|
|
91
|
+
description: 'Détermine si le PixToggle est activé',
|
|
92
|
+
type: { name: 'boolean', required: true },
|
|
93
|
+
},
|
|
94
|
+
onChange: {
|
|
95
|
+
name: 'onChange',
|
|
96
|
+
description: "Fonction à appeler quand le PixToggle change d'état.",
|
|
97
|
+
type: { required: true },
|
|
98
|
+
control: { disable: true },
|
|
99
|
+
},
|
|
100
|
+
inline: {
|
|
101
|
+
name: 'inline',
|
|
102
|
+
description: "Permet d'afficher le PixToggle sur une seule ligne",
|
|
103
|
+
control: { type: 'boolean' },
|
|
104
|
+
type: { name: 'boolean', required: false },
|
|
105
|
+
table: {
|
|
106
|
+
type: { summary: 'boolean' },
|
|
107
|
+
defaultValue: { summary: false },
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
screenReaderOnly: {
|
|
111
|
+
name: 'screenReaderOnly',
|
|
112
|
+
description: "Permet de rendre le label lisible uniquement par les lecteurs d'écran",
|
|
113
|
+
control: { type: 'boolean' },
|
|
114
|
+
type: { name: 'boolean', required: false },
|
|
115
|
+
table: {
|
|
116
|
+
type: { summary: 'boolean' },
|
|
117
|
+
defaultValue: { summary: false },
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Meta, Story, Canvas, ArgsTable } from '@storybook/addon-docs/blocks';
|
|
2
|
+
import centered from '@storybook/addon-centered/ember';
|
|
3
|
+
import * as stories from './pix-toggle.stories.js';
|
|
4
|
+
|
|
5
|
+
<Meta
|
|
6
|
+
title='Form/Toggle'
|
|
7
|
+
component='PixToggle'
|
|
8
|
+
argTypes={stories.argTypes}
|
|
9
|
+
/>
|
|
10
|
+
|
|
11
|
+
# Pix Select
|
|
12
|
+
|
|
13
|
+
Affiche un bouton à deux états.
|
|
14
|
+
|
|
15
|
+
## Default
|
|
16
|
+
|
|
17
|
+
<Canvas>
|
|
18
|
+
<Story name='Default' story={stories.Default} height={200} />
|
|
19
|
+
</Canvas>
|
|
20
|
+
|
|
21
|
+
## Inline
|
|
22
|
+
|
|
23
|
+
<Canvas>
|
|
24
|
+
<Story name='Inline' story={stories.Inline} height={200} />
|
|
25
|
+
</Canvas>
|
|
26
|
+
|
|
27
|
+
## ScreenReaderOnly
|
|
28
|
+
|
|
29
|
+
<Canvas>
|
|
30
|
+
<Story name='ScreenReaderOnly' story={stories.ScreenReaderOnly} height={200} />
|
|
31
|
+
</Canvas>
|
|
32
|
+
|
|
33
|
+
## WithYields
|
|
34
|
+
|
|
35
|
+
<Canvas>
|
|
36
|
+
<Story name='WithYields' story={stories.WithYields} height={200} />
|
|
37
|
+
</Canvas>
|
|
38
|
+
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1024pix/pix-ui",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "22.0.1",
|
|
4
4
|
"description": "Pix-UI is the implementation of Pix design principles and guidelines for its products.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ember-addon"
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"signal-github": "./scripts/signal-deploy-to-pr.sh"
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"ember-cli-babel": "^7.26.
|
|
46
|
+
"ember-cli-babel": "^7.26.8",
|
|
47
47
|
"ember-cli-htmlbars": "^6.1.1",
|
|
48
48
|
"ember-cli-sass": "^11.0.1",
|
|
49
49
|
"ember-cli-string-utils": "^1.1.0",
|
|
@@ -52,12 +52,13 @@
|
|
|
52
52
|
"ember-truth-helpers": "^3.1.1"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
|
-
"@1024pix/ember-testing-library": "^0.
|
|
55
|
+
"@1024pix/ember-testing-library": "^0.6.0",
|
|
56
56
|
"@babel/eslint-parser": "^7.19.1",
|
|
57
57
|
"@babel/plugin-proposal-decorators": "^7.20.5",
|
|
58
58
|
"@ember/optional-features": "^2.0.0",
|
|
59
59
|
"@ember/render-modifiers": "^2.0.4",
|
|
60
60
|
"@ember/test-helpers": "^2.8.1",
|
|
61
|
+
"@embroider/test-setup": "^0.48.1",
|
|
61
62
|
"@formatjs/intl": "^2.5.1",
|
|
62
63
|
"@fortawesome/ember-fontawesome": "^0.4.1",
|
|
63
64
|
"@fortawesome/free-regular-svg-icons": "^6.2.1",
|
|
@@ -70,16 +71,18 @@
|
|
|
70
71
|
"@storybook/addon-docs": "^6.5.13",
|
|
71
72
|
"@storybook/addon-essentials": "^6.5.13",
|
|
72
73
|
"@storybook/addons": "^6.5.13",
|
|
74
|
+
"@storybook/builder-webpack5": "^6.5.13",
|
|
73
75
|
"@storybook/ember": "^6.5.13",
|
|
74
76
|
"@storybook/ember-cli-storybook": "^0.6.0",
|
|
77
|
+
"@storybook/manager-webpack5": "^6.5.13",
|
|
75
78
|
"@storybook/storybook-deployer": "^2.8.16",
|
|
76
79
|
"@storybook/theming": "^6.5.13",
|
|
77
80
|
"@testing-library/user-event": "^14.4.3",
|
|
78
81
|
"axios": "^1.2.0",
|
|
79
82
|
"broccoli-asset-rev": "^3.0.0",
|
|
80
83
|
"core-js": "^3.26.1",
|
|
81
|
-
"ember-auto-import": "^
|
|
82
|
-
"ember-cli": "^
|
|
84
|
+
"ember-auto-import": "^2.5.0",
|
|
85
|
+
"ember-cli": "^4.8.0",
|
|
83
86
|
"ember-cli-dependency-checker": "^3.3.1",
|
|
84
87
|
"ember-cli-google-fonts": "^2.16.2",
|
|
85
88
|
"ember-cli-inject-live-reload": "^2.1.0",
|
|
@@ -88,11 +91,11 @@
|
|
|
88
91
|
"ember-disable-prototype-extensions": "^1.1.3",
|
|
89
92
|
"ember-export-application-global": "^2.0.1",
|
|
90
93
|
"ember-load-initializers": "^2.1.2",
|
|
91
|
-
"ember-
|
|
92
|
-
"ember-qunit": "^
|
|
94
|
+
"ember-page-title": "^7.0.0",
|
|
95
|
+
"ember-qunit": "^6.0.0",
|
|
93
96
|
"ember-resolver": "^8.0.3",
|
|
94
97
|
"ember-sinon": "^5.0.0",
|
|
95
|
-
"ember-source": "^
|
|
98
|
+
"ember-source": "^4.0.1",
|
|
96
99
|
"ember-source-channel-url": "^3.0.0",
|
|
97
100
|
"ember-template-lint": "^4.18.2",
|
|
98
101
|
"ember-template-lint-plugin-prettier": "^4.1.0",
|
|
@@ -104,13 +107,21 @@
|
|
|
104
107
|
"eslint-plugin-prettier": "^4.2.1",
|
|
105
108
|
"eslint-plugin-qunit": "^7.3.3",
|
|
106
109
|
"fs-extra": "^10.1.0",
|
|
110
|
+
"html-webpack-plugin": "^5.5.0",
|
|
107
111
|
"loader.js": "^4.7.0",
|
|
108
112
|
"lodash": "^4.17.21",
|
|
109
113
|
"moment": "^2.29.4",
|
|
110
114
|
"npm-run-all": "^4.1.5",
|
|
111
115
|
"prettier": "^2.8.0",
|
|
116
|
+
"qunit": "^2.19.3",
|
|
112
117
|
"qunit-dom": "^2.0.0",
|
|
113
|
-
"sass": "^1.56.1"
|
|
118
|
+
"sass": "^1.56.1",
|
|
119
|
+
"webpack": "^5.75.0"
|
|
120
|
+
},
|
|
121
|
+
"overrides": {
|
|
122
|
+
"@storybook/ember": {
|
|
123
|
+
"ember-source": "^4.0.1"
|
|
124
|
+
}
|
|
114
125
|
},
|
|
115
126
|
"bugs": {
|
|
116
127
|
"url": "https://github.com/1024pix/pix-ui/issues"
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
name: automerge check
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
pull_request:
|
|
5
|
-
types:
|
|
6
|
-
- labeled
|
|
7
|
-
- unlabeled
|
|
8
|
-
check_suite:
|
|
9
|
-
types:
|
|
10
|
-
- completed
|
|
11
|
-
status:
|
|
12
|
-
types:
|
|
13
|
-
- success
|
|
14
|
-
|
|
15
|
-
permissions: write-all
|
|
16
|
-
|
|
17
|
-
jobs:
|
|
18
|
-
automerge:
|
|
19
|
-
runs-on: ubuntu-latest
|
|
20
|
-
steps:
|
|
21
|
-
- uses: 1024pix/pix-actions/auto-merge@v0
|
|
22
|
-
with:
|
|
23
|
-
auto_merge_token: "${{ github.token }}"
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
name: Deploy Pix UI Storybook
|
|
2
|
-
|
|
3
|
-
on:
|
|
4
|
-
workflow_dispatch:
|
|
5
|
-
push:
|
|
6
|
-
tags:
|
|
7
|
-
- '*'
|
|
8
|
-
|
|
9
|
-
jobs:
|
|
10
|
-
deploy:
|
|
11
|
-
runs-on: ubuntu-latest
|
|
12
|
-
steps:
|
|
13
|
-
- uses: actions/checkout@v3
|
|
14
|
-
- uses: actions/setup-node@v3
|
|
15
|
-
with:
|
|
16
|
-
node-version: 16.14.0
|
|
17
|
-
- run: npm i -g npm@8.13.2
|
|
18
|
-
- run: npm ci
|
|
19
|
-
- name: Deploy storybook to Github Pages
|
|
20
|
-
run: npm run deploy-storybook -- --ci
|
|
21
|
-
env:
|
|
22
|
-
GH_TOKEN: 1024pix:${{ secrets.GITHUB_TOKEN }}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
|
|
2
|
-
# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages
|
|
3
|
-
|
|
4
|
-
name: Node.js Package
|
|
5
|
-
|
|
6
|
-
on:
|
|
7
|
-
push:
|
|
8
|
-
tags:
|
|
9
|
-
- '*'
|
|
10
|
-
|
|
11
|
-
jobs:
|
|
12
|
-
publish-npm:
|
|
13
|
-
runs-on: ubuntu-latest
|
|
14
|
-
steps:
|
|
15
|
-
- uses: actions/checkout@v2
|
|
16
|
-
- uses: actions/setup-node@v2
|
|
17
|
-
with:
|
|
18
|
-
node-version: '16'
|
|
19
|
-
check-latest: true
|
|
20
|
-
registry-url: https://registry.npmjs.org/
|
|
21
|
-
- run: npm publish --access public
|
|
22
|
-
env:
|
|
23
|
-
NODE_AUTH_TOKEN: ${{secrets.NPM_PUBLISH_ACCESS_TOKEN}}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
name: Merge on Dev
|
|
2
|
-
on:
|
|
3
|
-
push:
|
|
4
|
-
branches:
|
|
5
|
-
- dev
|
|
6
|
-
jobs:
|
|
7
|
-
transition-issue:
|
|
8
|
-
name: Transition Issue
|
|
9
|
-
runs-on: ubuntu-latest
|
|
10
|
-
steps:
|
|
11
|
-
- name: Checkout
|
|
12
|
-
uses: actions/checkout@master
|
|
13
|
-
|
|
14
|
-
- name: Login
|
|
15
|
-
uses: atlassian/gajira-login@master
|
|
16
|
-
env:
|
|
17
|
-
JIRA_BASE_URL: ${{ secrets.JIRA_BASE_URL }}
|
|
18
|
-
JIRA_USER_EMAIL: ${{ secrets.JIRA_USER_EMAIL }}
|
|
19
|
-
JIRA_API_TOKEN: ${{ secrets.JIRA_API_TOKEN }}
|
|
20
|
-
|
|
21
|
-
- name: Find Issue Key
|
|
22
|
-
id: find
|
|
23
|
-
uses: atlassian/gajira-find-issue-key@master
|
|
24
|
-
continue-on-error: true
|
|
25
|
-
with:
|
|
26
|
-
from: commits
|
|
27
|
-
|
|
28
|
-
- name: Transition issue
|
|
29
|
-
uses: atlassian/gajira-transition@master
|
|
30
|
-
if: ${{ steps.find.outputs.issue }}
|
|
31
|
-
with:
|
|
32
|
-
issue: ${{ steps.find.outputs.issue }}
|
|
33
|
-
transition: "Move to 'Deployed in Integration'"
|
package/.prettierignore
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/blueprints/**
|