@1024pix/pix-ui 52.3.4 → 53.0.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 (41) hide show
  1. package/addon/styles/_pix-app-layout.scss +3 -1
  2. package/addon/styles/_pix-background-header.scss +3 -1
  3. package/addon/styles/_pix-block.scss +2 -0
  4. package/addon/styles/_pix-button-base.scss +2 -0
  5. package/addon/styles/_pix-filter-banner.scss +4 -1
  6. package/addon/styles/_pix-filterable-and-searchable-select.scss +2 -0
  7. package/addon/styles/_pix-indicator-card.scss +3 -0
  8. package/addon/styles/_pix-input-code.scss +3 -0
  9. package/addon/styles/_pix-input-password.scss +3 -0
  10. package/addon/styles/_pix-input.scss +2 -0
  11. package/addon/styles/_pix-label.scss +2 -0
  12. package/addon/styles/_pix-modal.scss +6 -2
  13. package/addon/styles/_pix-multi-select.scss +4 -0
  14. package/addon/styles/_pix-navigation-button.scss +2 -0
  15. package/addon/styles/_pix-navigation-separator.scss +2 -0
  16. package/addon/styles/_pix-navigation.scss +9 -6
  17. package/addon/styles/_pix-notification-alert.scss +2 -0
  18. package/addon/styles/_pix-pagination.scss +3 -1
  19. package/addon/styles/_pix-progress-bar.scss +2 -0
  20. package/addon/styles/_pix-return-to.scss +2 -0
  21. package/addon/styles/_pix-search-input.scss +2 -0
  22. package/addon/styles/_pix-select-list.scss +2 -0
  23. package/addon/styles/_pix-select.scss +4 -0
  24. package/addon/styles/_pix-selectable-tag.scss +2 -0
  25. package/addon/styles/_pix-sidebar.scss +5 -2
  26. package/addon/styles/_pix-structure-switcher.scss +5 -2
  27. package/addon/styles/_pix-table.scss +2 -1
  28. package/addon/styles/_pix-tag.scss +2 -0
  29. package/addon/styles/_pix-textarea.scss +2 -0
  30. package/addon/styles/_pix-toast.scss +2 -0
  31. package/addon/styles/_pix-toggle-button.scss +2 -0
  32. package/addon/styles/_pix-tooltip.scss +2 -0
  33. package/addon/styles/addon.scss +48 -48
  34. package/addon/styles/component-state/_form.scss +2 -0
  35. package/addon/styles/normalize-reset/_reset.scss +2 -0
  36. package/addon/styles/normalize-reset/index.scss +2 -2
  37. package/addon/styles/pix-design-tokens/_breakpoints.scss +3 -3
  38. package/addon/styles/pix-design-tokens/_typography.scss +10 -8
  39. package/addon/styles/pix-design-tokens/index.scss +6 -6
  40. package/package.json +2 -2
  41. package/addon/styles/component-state/index.scss +0 -1
@@ -1,3 +1,5 @@
1
+ @use "pix-design-tokens/breakpoints";
2
+
1
3
  .pix-app-layout {
2
4
  display: grid;
3
5
  grid-template-areas:
@@ -21,7 +23,7 @@
21
23
  grid-area: footer;
22
24
  }
23
25
 
24
- @include device-is('mobile') {
26
+ @include breakpoints.device-is('mobile') {
25
27
  display: block
26
28
  }
27
29
 
@@ -1,3 +1,5 @@
1
+ @use "pix-design-tokens/colors";
2
+
1
3
  .pix-background-header {
2
4
  position: relative;
3
5
  padding: 68px var(--pix-spacing-6x) 0;
@@ -10,7 +12,7 @@
10
12
  width: 100%;
11
13
  min-height: 270px;
12
14
  color: var(--pix-neutral-0);
13
- background: $pix-primary-app-gradient;
15
+ background: colors.$pix-primary-app-gradient;
14
16
  box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.1);
15
17
  }
16
18
 
@@ -1,3 +1,5 @@
1
+ @use "pix-design-tokens/shadows";
2
+
1
3
  .pix-block {
2
4
  position: relative;
3
5
  background-color: var(--pix-neutral-0);
@@ -1,3 +1,5 @@
1
+ @use "pix-design-tokens/typography";
2
+
1
3
  .pix-button {
2
4
  display: flex;
3
5
  align-items: center;
@@ -1,3 +1,6 @@
1
+ @use "pix-design-tokens/breakpoints";
2
+ @use "pix-design-tokens/shadows";
3
+
1
4
  .pix-filter-banner {
2
5
  @extend %pix-shadow-sm;
3
6
 
@@ -46,7 +49,7 @@
46
49
  padding-right: var(--pix-spacing-1x);
47
50
  }
48
51
 
49
- @include device-is('tablet') {
52
+ @include breakpoints.device-is('tablet') {
50
53
  .pix-filter-banner {
51
54
  flex-direction: row;
52
55
  gap: var(--pix-spacing-6x);
@@ -1,3 +1,5 @@
1
+ @use "component-state/form";
2
+
1
3
  .pix-filterable-and-searchable-select {
2
4
  display: flex;
3
5
  max-width: 100%;
@@ -1,3 +1,6 @@
1
+ @use "pix-design-tokens/typography";
2
+ @use "pix-design-tokens/shadows";
3
+
1
4
  .indicator-card {
2
5
  @extend %pix-shadow-xs;
3
6
 
@@ -1,3 +1,6 @@
1
+ @use "pix-design-tokens/typography";
2
+ @use "component-state/form";
3
+
1
4
  .pix-input-code {
2
5
  @extend %pix-monospace;
3
6
 
@@ -1,3 +1,6 @@
1
+ @use "pix-design-tokens/typography";
2
+ @use "component-state/form";
3
+
1
4
  .pix-input-password {
2
5
  position: relative;
3
6
  display: inline-flex;
@@ -1,3 +1,5 @@
1
+ @use "component-state/form";
2
+
1
3
  .pix-input {
2
4
  position: relative;
3
5
  display: inline-flex;
@@ -1,3 +1,5 @@
1
+ @use "pix-design-tokens/typography";
2
+
1
3
  .pix-label {
2
4
  display: block;
3
5
  color: var(--pix-neutral-900);
@@ -1,3 +1,7 @@
1
+ @use "pix-design-tokens/breakpoints";
2
+ @use "pix-design-tokens/typography";
3
+ @use "pix-design-tokens/shadows";
4
+
1
5
  .pix-modal__overlay {
2
6
  position: fixed;
3
7
  top: 0;
@@ -58,7 +62,7 @@
58
62
  flex-shrink: 0;
59
63
  margin-top: -4px;
60
64
 
61
- @include device-is('tablet') {
65
+ @include breakpoints.device-is('tablet') {
62
66
  width: var(--pix-spacing-10x);
63
67
  height: var(--pix-spacing-10x);
64
68
  }
@@ -71,7 +75,7 @@
71
75
  padding-right: var(--pix-spacing-8x) + var(--pix-spacing-2x);
72
76
  color: var(--pix-neutral-900);
73
77
 
74
- @include device-is('tablet') {
78
+ @include breakpoints.device-is('tablet') {
75
79
  padding-right: var(--pix-spacing-10x) + var(--pix-spacing-2x);
76
80
  }
77
81
  }
@@ -1,3 +1,7 @@
1
+ @use "pix-design-tokens/typography";
2
+ @use "component-state/form";
3
+ @use "pix-design-tokens/shadows";
4
+
1
5
  .pix-multi-select {
2
6
  position: relative;
3
7
  display: inline-flex;
@@ -1,3 +1,5 @@
1
+ @use "pix-design-tokens/typography";
2
+
1
3
  .pix-navigation-button {
2
4
  @extend %pix-body-s;
3
5
 
@@ -1,3 +1,5 @@
1
+ @use "pix-design-tokens/typography";
2
+
1
3
  .pix-navigation-separator {
2
4
  @extend %pix-body-l;
3
5
 
@@ -1,3 +1,6 @@
1
+ @use "pix-design-tokens/breakpoints";
2
+ @use "pix-design-tokens/typography";
3
+
1
4
  .pix-navigation {
2
5
  --bg-color-focus: rgb(var(--pix-neutral-100-inline), 50%);
3
6
  --bg-color-active: rgb(var(--pix-neutral-100-inline), 30%);
@@ -24,7 +27,7 @@
24
27
  border-radius: var(--pix-spacing-6x);
25
28
 
26
29
 
27
- @include device-is('mobile') {
30
+ @include breakpoints.device-is('mobile') {
28
31
  position: static;
29
32
  flex-direction: column;
30
33
  align-items: stretch;
@@ -51,7 +54,7 @@
51
54
  margin:0 auto;
52
55
  }
53
56
 
54
- @include device-is('mobile') {
57
+ @include breakpoints.device-is('mobile') {
55
58
  display:flex;
56
59
  flex-direction: row;
57
60
  align-items: center;
@@ -71,7 +74,7 @@
71
74
  &__burger-menu {
72
75
  display: none;
73
76
 
74
- @include device-is('mobile') {
77
+ @include breakpoints.device-is('mobile') {
75
78
  display: block;
76
79
  margin-left:auto;
77
80
 
@@ -100,7 +103,7 @@
100
103
  gap: var(--pix-spacing-2x);
101
104
  align-self: stretch;
102
105
 
103
- @include device-is('mobile') {
106
+ @include breakpoints.device-is('mobile') {
104
107
  display: none;
105
108
  padding: 0 var(--pix-spacing-6x);
106
109
 
@@ -126,7 +129,7 @@
126
129
  word-break: break-word;
127
130
  }
128
131
 
129
- @include device-is('mobile') {
132
+ @include breakpoints.device-is('mobile') {
130
133
  display: none;
131
134
 
132
135
  .pix-navigation--opened & {
@@ -148,7 +151,7 @@
148
151
  padding: var(--pix-spacing-2x) var(--pix-spacing-4x);
149
152
  white-space: unset;
150
153
 
151
- @include device-is('mobile') {
154
+ @include breakpoints.device-is('mobile') {
152
155
  width: auto;
153
156
  }
154
157
  }
@@ -1,3 +1,5 @@
1
+ @use "pix-design-tokens/typography";
2
+
1
3
  .pix-notification-alert {
2
4
  @extend %pix-body-s;
3
5
 
@@ -1,3 +1,5 @@
1
+ @use "pix-design-tokens/breakpoints";
2
+
1
3
  .pix-pagination,
2
4
  .pix-pagination-condensed {
3
5
  display: flex;
@@ -42,7 +44,7 @@
42
44
  }
43
45
  }
44
46
 
45
- @include device-is('tablet') {
47
+ @include breakpoints.device-is('tablet') {
46
48
  .pix-pagination {
47
49
  gap:var(--pix-spacing-2x);
48
50
  justify-content: space-between;
@@ -1,3 +1,5 @@
1
+ @use "pix-design-tokens/typography";
2
+
1
3
  .progress-bar {
2
4
  position: relative;
3
5
  display: grid;
@@ -1,3 +1,5 @@
1
+ @use "pix-design-tokens/typography";
2
+
1
3
  .pix-return-to {
2
4
  @extend %pix-body-l;
3
5
 
@@ -1,3 +1,5 @@
1
+ @use "component-state/form";
2
+
1
3
  .pix-search-input {
2
4
  position: relative;
3
5
  display: inline-flex;
@@ -1,3 +1,5 @@
1
+ @use "pix-design-tokens/typography";
2
+
1
3
  .pix-select_list {
2
4
  padding: var(--pix-spacing-2x);
3
5
  border-top: 1px solid var(--pix-neutral-20);
@@ -1,3 +1,7 @@
1
+ @use "pix-design-tokens/typography";
2
+ @use "component-state/form";
3
+ @use "pix-design-tokens/shadows";
4
+
1
5
  .pix-select {
2
6
  position: relative;
3
7
  display: inline-flex;
@@ -1,3 +1,5 @@
1
+ @use "pix-design-tokens/typography";
2
+
1
3
  $checkmark-width: 0.625rem;
2
4
  $checkmark-width-with-space: $checkmark-width + 0.438rem;
3
5
 
@@ -1,3 +1,6 @@
1
+ @use "pix-design-tokens/breakpoints";
2
+ @use "pix-design-tokens/typography";
3
+
1
4
  .pix-sidebar__overlay {
2
5
  position: fixed;
3
6
  top: 0;
@@ -46,7 +49,7 @@
46
49
  &__close-button {
47
50
  flex-shrink: 0;
48
51
 
49
- @include device-is('tablet') {
52
+ @include breakpoints.device-is('tablet') {
50
53
  width: var(--tablet-close-button-size);
51
54
  height: var(--tablet-close-button-size);
52
55
  }
@@ -64,7 +67,7 @@
64
67
  padding-right: var(--mobile-close-button-size) + var(--space-between-title-and-close-button);
65
68
  color: var(--pix-neutral-900);
66
69
 
67
- @include device-is('tablet') {
70
+ @include breakpoints.device-is('tablet') {
68
71
  padding-right: var(--tablet-close-button-size) + var(--space-between-title-and-close-button);
69
72
  }
70
73
  }
@@ -1,3 +1,6 @@
1
+ @use "pix-design-tokens/breakpoints";
2
+ @use "pix-design-tokens/shadows";
3
+
1
4
  .pix-structure-switcher {
2
5
  --pix-structure-bg-hover: var(--pix-primary-100);
3
6
 
@@ -9,7 +12,7 @@
9
12
  --pix-structure-bg-hover: var(--pix-certif-50);
10
13
  }
11
14
 
12
- @include device-is("mobile") {
15
+ @include breakpoints.device-is("mobile") {
13
16
  width: 100%;
14
17
  }
15
18
 
@@ -33,7 +36,7 @@
33
36
  overflow-y: auto;
34
37
  border-radius: 8px;
35
38
 
36
- @include device-is('mobile') {
39
+ @include breakpoints.device-is('mobile') {
37
40
  position: static !important;
38
41
  display: none;
39
42
  width: 0; // force dropdown to resize to its parent
@@ -1,4 +1,5 @@
1
- @import 'pix-table-column';
1
+ @use "pix-design-tokens/breakpoints";
2
+ @use "pix-design-tokens/typography";
2
3
 
3
4
  .pix-table {
4
5
  width: 100%;
@@ -1,3 +1,5 @@
1
+ @use "pix-design-tokens/typography";
2
+
1
3
  .pix-tag {
2
4
  @extend %pix-body-s;
3
5
 
@@ -1,3 +1,5 @@
1
+ @use "component-state/form";
2
+
1
3
  .pix-textarea {
2
4
  display: flex;
3
5
  flex-direction: column;
@@ -1,3 +1,5 @@
1
+ @use "pix-design-tokens/typography";
2
+
1
3
  .pix-toast {
2
4
  display: flex;
3
5
  width: 400px;
@@ -1,3 +1,5 @@
1
+ @use "pix-design-tokens/typography";
2
+
1
3
  .pix-toggle-button {
2
4
  display: inline-flex;
3
5
  flex-direction: column;
@@ -1,3 +1,5 @@
1
+ @use "pix-design-tokens/shadows";
2
+
1
3
  .pix-tooltip {
2
4
  position: relative;
3
5
  display: flex;
@@ -1,51 +1,51 @@
1
- @import 'pix-design-tokens';
2
- @import 'normalize-reset';
3
- @import 'a11y';
4
- @import 'pix-icon';
5
- @import 'pix-background-header';
6
- @import 'pix-banner-alert';
7
- @import 'pix-block';
8
- @import 'pix-button-base';
9
- @import 'pix-button';
10
- @import 'pix-accordions';
11
- @import 'pix-filter-banner';
12
- @import 'pix-icon-button';
13
- @import 'pix-notification-alert';
14
- @import 'pix-multi-select';
15
- @import 'pix-progress-bar';
16
- @import 'pix-return-to';
17
- @import 'pix-select';
18
- @import 'pix-select-list';
19
- @import 'pix-stars';
20
- @import 'pix-tag';
21
- @import 'pix-table';
22
- @import 'pix-textarea';
23
- @import 'pix-tooltip';
24
- @import 'pix-button-upload';
25
- @import 'pix-input';
26
- @import 'pix-label';
27
- @import 'pix-label-wrapped';
28
- @import 'pix-input-password';
29
- @import 'pix-radio-button';
30
- @import 'pix-modal';
31
- @import 'pix-sidebar';
32
- @import 'pix-input-code';
33
- @import 'pix-selectable-tag';
34
- @import 'pix-pagination';
35
- @import 'pix-checkbox';
36
- @import 'pix-toggle-button';
37
- @import 'pix-indicator-card';
38
- @import 'trap-focus';
39
- @import 'pix-search-input';
40
- @import 'pix-toast';
41
- @import 'toast-example';
42
- @import 'pix-navigation';
43
- @import 'pix-navigation-button';
44
- @import 'pix-navigation-separator';
45
- @import 'pix-app-layout';
46
- @import 'pix-structure-switcher';
1
+ @use 'pix-design-tokens';
2
+ @use 'normalize-reset';
3
+ @use 'a11y';
4
+ @use 'pix-icon';
5
+ @use 'pix-background-header';
6
+ @use 'pix-banner-alert';
7
+ @use 'pix-block';
8
+ @use 'pix-button-base';
9
+ @use 'pix-button';
10
+ @use 'pix-accordions';
11
+ @use 'pix-filter-banner';
12
+ @use 'pix-icon-button';
13
+ @use 'pix-notification-alert';
14
+ @use 'pix-multi-select';
15
+ @use 'pix-progress-bar';
16
+ @use 'pix-return-to';
17
+ @use 'pix-select';
18
+ @use 'pix-select-list';
19
+ @use 'pix-stars';
20
+ @use 'pix-tag';
21
+ @use 'pix-table';
22
+ @use 'pix-table-column';
23
+ @use 'pix-textarea';
24
+ @use 'pix-tooltip';
25
+ @use 'pix-button-upload';
26
+ @use 'pix-input';
27
+ @use 'pix-label';
28
+ @use 'pix-label-wrapped';
29
+ @use 'pix-input-password';
30
+ @use 'pix-radio-button';
31
+ @use 'pix-modal';
32
+ @use 'pix-sidebar';
33
+ @use 'pix-input-code';
34
+ @use 'pix-selectable-tag';
35
+ @use 'pix-pagination';
36
+ @use 'pix-checkbox';
37
+ @use 'pix-toggle-button';
38
+ @use 'pix-indicator-card';
39
+ @use 'trap-focus';
40
+ @use 'pix-search-input';
41
+ @use 'pix-toast';
42
+ @use 'toast-example';
43
+ @use 'pix-navigation';
44
+ @use 'pix-navigation-button';
45
+ @use 'pix-navigation-separator';
46
+ @use 'pix-app-layout';
47
+ @use 'pix-structure-switcher';
47
48
 
48
49
 
49
50
  // at the end so it can override it's children scss
50
- @import 'pix-filterable-and-searchable-select';
51
- @import 'component-state';
51
+ @use 'pix-filterable-and-searchable-select';
@@ -1,3 +1,5 @@
1
+ @use "pix-design-tokens/typography";
2
+
1
3
  %pix-input-default {
2
4
  @extend %pix-body-s;
3
5
 
@@ -1,3 +1,5 @@
1
+ @use "../pix-design-tokens/typography";
2
+
1
3
  /****** Elad Shechter's RESET *******/
2
4
 
3
5
  /*** box sizing border-box for all elements ***/
@@ -1,2 +1,2 @@
1
- @import 'normalize';
2
- @import 'reset';
1
+ @use 'normalize';
2
+ @use 'reset';
@@ -1,7 +1,7 @@
1
1
  @use "sass:map";
2
2
  @use "sass:meta";
3
3
 
4
- $breakpoints: (
4
+ $breakpoint-values: (
5
5
  'mobile': (max-width: 768px),
6
6
  'tablet': (min-width: 769px),
7
7
  'desktop': (min-width: 992px),
@@ -9,8 +9,8 @@ $breakpoints: (
9
9
  ) !default;
10
10
 
11
11
  @mixin device-is($breakpoint) {
12
- @if map.has-key($breakpoints, $breakpoint) {
13
- @media #{meta.inspect(map.get($breakpoints, $breakpoint))} {
12
+ @if map.has-key($breakpoint-values, $breakpoint) {
13
+ @media #{meta.inspect(map.get($breakpoint-values, $breakpoint))} {
14
14
  @content;
15
15
  }
16
16
  } @else {
@@ -1,3 +1,5 @@
1
+ @use "pix-design-tokens/breakpoints";
2
+
1
3
  // See https://www.figma.com/file/8RJ3aCSfdeQ8AZZVBBYKS8/Design-System-Pix?node-id=24%3A8
2
4
 
3
5
  // Placeholder pour permettre l'utilisation dans une classe css si jamais le tag html a trop de classe
@@ -18,11 +20,11 @@
18
20
  line-height: 1.3;
19
21
  letter-spacing: calc(-0.02 * var(--font-size-title));
20
22
 
21
- @include device-is('tablet') {
23
+ @include breakpoints.device-is('tablet') {
22
24
  --font-size-title: 2.5rem;
23
25
  }
24
26
 
25
- @include device-is('desktop') {
27
+ @include breakpoints.device-is('desktop') {
26
28
  --font-size-title: 3rem;
27
29
  }
28
30
  }
@@ -38,11 +40,11 @@
38
40
  line-height: 1.3;
39
41
  letter-spacing: calc(var(--letter-spacing-title) * var(--font-size-title));
40
42
 
41
- @include device-is('tablet') {
43
+ @include breakpoints.device-is('tablet') {
42
44
  --font-size-title: 2rem;
43
45
  }
44
46
 
45
- @include device-is('desktop') {
47
+ @include breakpoints.device-is('desktop') {
46
48
  --font-size-title: 2.25rem;
47
49
  --letter-spacing-title: -0.01;
48
50
  }
@@ -58,11 +60,11 @@
58
60
  line-height: 1.3;
59
61
  letter-spacing: calc(-0.01 * var(--font-size-title));
60
62
 
61
- @include device-is('tablet') {
63
+ @include breakpoints.device-is('tablet') {
62
64
  --font-size-title: 1.5rem;
63
65
  }
64
66
 
65
- @include device-is('desktop') {
67
+ @include breakpoints.device-is('desktop') {
66
68
  --font-size-title: 1.75rem;
67
69
  }
68
70
  }
@@ -125,7 +127,7 @@
125
127
  font-size: 0.875rem;
126
128
  line-height: 1.5;
127
129
 
128
- @include device-is('tablet') {
130
+ @include breakpoints.device-is('tablet') {
129
131
  font-size: 1rem;
130
132
  }
131
133
  }
@@ -137,7 +139,7 @@
137
139
  font-size: 1rem;
138
140
  line-height: 1.5;
139
141
 
140
- @include device-is('tablet') {
142
+ @include breakpoints.device-is('tablet') {
141
143
  font-size: 1.125rem;
142
144
  }
143
145
  }
@@ -1,6 +1,6 @@
1
- @import 'breakpoints';
2
- @import 'colors';
3
- @import 'fonts';
4
- @import 'spacing';
5
- @import 'shadows';
6
- @import 'typography';
1
+ @use 'breakpoints';
2
+ @use 'colors';
3
+ @use 'fonts';
4
+ @use 'spacing';
5
+ @use 'shadows';
6
+ @use 'typography';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1024pix/pix-ui",
3
- "version": "52.3.4",
3
+ "version": "53.0.0",
4
4
  "description": "Pix-UI is the implementation of Pix design principles and guidelines for its products.",
5
5
  "keywords": [
6
6
  "ember-addon"
@@ -130,7 +130,7 @@
130
130
  "prettier": "^3.3.3",
131
131
  "qunit": "^2.22.0",
132
132
  "qunit-dom": "^3.0.0",
133
- "sass": "^1.56.1",
133
+ "sass": "^1.83.1",
134
134
  "storybook": "^8.4.2",
135
135
  "stylelint": "^16.0.2",
136
136
  "svg-sprite": "^2.0.4",
@@ -1 +0,0 @@
1
- @import 'form';