@cityway/basic-ui 1.0.2-beta001 → 1.0.2

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 (49) hide show
  1. package/README.md +2 -1
  2. package/cityway-basic-ui-1.0.2.tgz +0 -0
  3. package/fesm2022/cityway-basic-ui.mjs +194 -849
  4. package/fesm2022/cityway-basic-ui.mjs.map +1 -1
  5. package/index.d.ts +42 -574
  6. package/lib/assets/fonts/nunito/_nunito.scss +10 -10
  7. package/lib/assets/styles/scss/_custom-bootstrap.scss +1 -1
  8. package/lib/assets/styles/scss/bootstrap/_breadcrumb.scss +6 -6
  9. package/lib/assets/styles/scss/cw-ds/_reboot.scss +11 -3
  10. package/lib/assets/styles/scss/cw-ds/_root-bo.scss +0 -1
  11. package/lib/assets/styles/scss/cw-ds/_root-fo.scss +0 -1
  12. package/lib/assets/styles/scss/cw-ds/components/_alert.scss +10 -10
  13. package/lib/assets/styles/scss/cw-ds/components/_badge.scss +22 -22
  14. package/lib/assets/styles/scss/cw-ds/components/_close.scss +0 -5
  15. package/lib/assets/styles/scss/cw-ds/components/_icon-notification.scss +10 -10
  16. package/lib/assets/styles/scss/cw-ds/components/_icon.scss +9 -35
  17. package/lib/assets/styles/scss/cw-ds/components/_numerical-range.scss +4 -4
  18. package/lib/assets/styles/scss/cw-ds/components/{tab/_tab-fo.scss → _tab.scss} +4 -6
  19. package/lib/assets/styles/scss/cw-ds/components/button/_button-bo-variant.scss +21 -87
  20. package/lib/assets/styles/scss/cw-ds/components/button/_button-fo-variant.scss +87 -21
  21. package/lib/assets/styles/scss/cw-ds/components/button/_button.scss +1 -11
  22. package/lib/assets/styles/scss/cw-ds/helpers/_spinner.scss +9 -15
  23. package/lib/assets/styles/scss/cw-ds/mixins/_type.scss +0 -17
  24. package/lib/assets/styles/scss/cw-ds/utilities/_flex.scss +0 -4
  25. package/lib/assets/styles/scss/cw-ds/utilities/_type.scss +3 -0
  26. package/lib/assets/styles/scss/styles-bo.scss +10 -18
  27. package/lib/assets/styles/scss/styles-fo.scss +10 -18
  28. package/package.json +4 -3
  29. package/styles-bo.min.css +5 -0
  30. package/styles-bo.min.css.map +1 -0
  31. package/styles-fo.min.css +5 -0
  32. package/styles-fo.min.css.map +1 -0
  33. package/cityway-basic-ui-1.0.2-beta001.tgz +0 -0
  34. package/lib/assets/icons/sprite.ids.txt +0 -467
  35. package/lib/assets/icons/sprite.preview.html +0 -4966
  36. package/lib/assets/icons/sprite.svg +0 -1404
  37. package/lib/assets/styles/scss/cw-ds/components/_accordion.scss +0 -35
  38. package/lib/assets/styles/scss/cw-ds/components/_modal.scss +0 -161
  39. package/lib/assets/styles/scss/cw-ds/components/tab/_tab-bo.scss +0 -96
  40. package/lib/assets/styles/scss/cw-ds/helpers/_skeleton.scss +0 -67
  41. package/lib/assets/styles/scss/cw-ds/utilities/_breakpoints.scss +0 -30
  42. package/lib/assets/styles/scss/cw-ds/utilities/_grid.scss +0 -65
  43. package/lib/assets/styles/scss/cw-ds/utilities/type/_type-bo.scss +0 -40
  44. package/lib/assets/styles/scss/cw-ds/utilities/type/_type-fo.scss +0 -1
  45. package/lib/assets/styles/scss/cw-ds/utilities/type/_type.scss +0 -18
  46. package/styles/styles-bo.min.css +0 -5
  47. package/styles/styles-bo.min.css.map +0 -1
  48. package/styles/styles-fo.min.css +0 -5
  49. package/styles/styles-fo.min.css.map +0 -1
@@ -1,35 +0,0 @@
1
- @use "sass:map";
2
- @use "@cityway/design-tokens/primitives" as p;
3
- @use "@cityway/design-tokens/functions" as *;
4
-
5
- .accordion {
6
- --#{p.$prefix}-accordion-gap: #{size(md)};
7
-
8
- display: flex;
9
- flex-direction: column;
10
- gap: var(--#{p.$prefix}-accordion-gap);
11
-
12
- cw-card {
13
- .card {
14
- border-radius: 0;
15
- }
16
-
17
- &:only-child {
18
- .card {
19
- border-radius: var(--#{p.$prefix}-card-br);
20
- }
21
- }
22
-
23
- &:first-child:not(:only-child) {
24
- .card {
25
- border-radius: var(--#{p.$prefix}-card-br) 0 0;
26
- }
27
- }
28
-
29
- &:last-child:not(:only-child) {
30
- .card {
31
- border-radius: 0 0 var(--#{p.$prefix}-card-br) var(--#{p.$prefix}-card-br);
32
- }
33
- }
34
- }
35
- }
@@ -1,161 +0,0 @@
1
- @use "sass:map";
2
- @use "@cityway/design-tokens/primitives" as p;
3
- @use "@cityway/design-tokens/functions" as *;
4
-
5
- .open-modal {
6
- overflow: hidden;
7
- padding-right: 15px;
8
- }
9
-
10
- .modal {
11
- --#{p.$prefix}-modal-zindex: 1055;
12
- --#{p.$prefix}-modal-width: 500px;
13
- --#{p.$prefix}-modal-padding: #{size(md)};
14
- --#{p.$prefix}-modal-margin: 0.5rem;
15
- --#{p.$prefix}-modal-color: var(--#{p.$prefix}-body-color);
16
- --#{p.$prefix}-modal-bg: var(--#{p.$prefix}-body-bg);
17
-
18
- --#{p.$prefix}-modal-border-color: transparent;
19
- --#{p.$prefix}-modal-border-width: 0;
20
-
21
- --#{p.$prefix}-modal-border-radius: var(--#{p.$prefix}-border-radius);
22
- --#{p.$prefix}-modal-box-shadow: var(--#{p.$prefix}-shadow-default);
23
-
24
- --#{p.$prefix}-modal-inner-border-radius: calc(var(--#{p.$prefix}-border-radius-lg) - (var(--#{p.$prefix}-border-width)));
25
-
26
- --#{p.$prefix}-modal-sub-border-color: #{color("grey", 100)};
27
- --#{p.$prefix}-modal-sub-border-width: 0.063rem;
28
-
29
- --#{p.$prefix}-modal-title-fw: #{font(fw, bold)};
30
- --#{p.$prefix}-modal-title-fs: #{font(fs, xl)};
31
- --#{p.$prefix}-modal-title-lh: #{font(lh, xl)};
32
- --#{p.$prefix}-modal-title-color: #{font(fl, xl)};
33
-
34
- --#{p.$prefix}-modal-footer-gap: #{size(2xs)};
35
- --#{p.$prefix}-modal-footer-align: center;
36
- --#{p.$prefix}-modal-footer-bg: ;
37
- --#{p.$prefix}-modal-footer-border-color: var(--#{p.$prefix}-border-color);
38
- --#{p.$prefix}-modal-footer-border-width: var(--#{p.$prefix}-border-width);
39
-
40
- position: fixed;
41
- top: 0;
42
- left: 0;
43
- z-index: var(--#{p.$prefix}-modal-zindex);
44
- display: none;
45
- align-items: center;
46
- justify-content: center;
47
- width: 100%;
48
- height: 100%;
49
- overflow-x: hidden;
50
- overflow-y: auto;
51
- outline: 0;
52
-
53
- &-dialog {
54
- position: relative;
55
- width: auto;
56
- margin: var(--#{p.$prefix}-modal-margin);
57
- pointer-events: none;
58
- }
59
-
60
- &-content {
61
- position: relative;
62
- display: flex;
63
- flex-direction: column;
64
- width: 100%;
65
- color: var(--#{p.$prefix}-modal-color);
66
- pointer-events: auto;
67
- background-color: var(--#{p.$prefix}-modal-bg);
68
- background-clip: padding-box;
69
- border: var(--#{p.$prefix}-modal-border-width) solid var(--#{p.$prefix}-modal-border-color);
70
- border-radius: var(--#{p.$prefix}-modal-border-radius);
71
- outline: 0;
72
- }
73
-
74
- &-header {
75
- display: flex;
76
- flex-shrink: 0;
77
- align-items: center;
78
- padding: var(--#{p.$prefix}-modal-padding);
79
- border-bottom: var(--#{p.$prefix}-modal-sub-border-width) solid var(--#{p.$prefix}-modal-sub-border-color);
80
- border-top-left-radius: var(--#{p.$prefix}-modal-inner-border-radius);
81
- border-top-right-radius: var(--#{p.$prefix}-modal-inner-border-radius);
82
-
83
- cw-button {
84
- display: inline-flex;
85
- }
86
- }
87
-
88
- &-inner-backdrop {
89
- position: fixed;
90
- top: 0;
91
- left: 0;
92
- width: 100vw;
93
- height: 100vh;
94
- }
95
-
96
- &-title {
97
- flex-grow: 1;
98
- margin-bottom: 0;
99
- font-size: var(--#{p.$prefix}-modal-title-fs);
100
- line-height: var(--#{p.$prefix}-modal-title-lh);
101
- font-weight: var(--#{p.$prefix}-modal-title-fw);
102
- color: var(--#{p.$prefix}-modal-title-color);
103
- }
104
-
105
- &-body {
106
- position: relative;
107
- flex: 1 1 auto;
108
- padding: var(--#{p.$prefix}-modal-padding);
109
- font-size: font(fs, md-rwd);
110
- }
111
-
112
- &-footer {
113
- display: flex;
114
- flex-shrink: 0;
115
- flex-wrap: wrap;
116
- align-items: center;
117
- gap: var(--#{p.$prefix}-modal-footer-gap);
118
- justify-content: var(--#{p.$prefix}-modal-footer-align);
119
- padding: var(--#{p.$prefix}-modal-padding);
120
- background-color: var(--#{p.$prefix}-modal-footer-bg);
121
- border-top: var(--#{p.$prefix}-modal-footer-border-width) solid var(--#{p.$prefix}-modal-footer-border-color);
122
- border-bottom-right-radius: var(--#{p.$prefix}-modal-inner-border-radius);
123
- border-bottom-left-radius: var(--#{p.$prefix}-modal-inner-border-radius);
124
- }
125
-
126
- &-backdrop {
127
- --#{p.$prefix}-backdrop-zindex: 1050;
128
- --#{p.$prefix}-backdrop-bg: #000;
129
- --#{p.$prefix}-backdrop-opacity: 0.5;
130
-
131
- position: fixed;
132
- top: 0;
133
- left: 0;
134
- z-index: var(--#{p.$prefix}-backdrop-zindex);
135
- width: 100vw;
136
- height: 100vh;
137
- background-color: var(--#{p.$prefix}-backdrop-bg);
138
- }
139
-
140
- &-backdrop.fade {
141
- opacity: 0;
142
- }
143
-
144
- &-backdrop.show {
145
- opacity: var(--#{p.$prefix}-backdrop-opacity);
146
- }
147
- }
148
-
149
- .modal-sm {
150
- width: 18.75rem;
151
- }
152
- .modal-md {
153
- width: 31.25rem;
154
- }
155
- .modal-lg {
156
- width: 50rem;
157
- }
158
- .modal-xl {
159
- width: 71.25rem;
160
- }
161
-
@@ -1,96 +0,0 @@
1
- @use "sass:map";
2
- @use "@cityway/design-tokens/primitives" as p;
3
- @use "@cityway/design-tokens/functions" as *;
4
-
5
- .tab {
6
- --#{p.$prefix}-tab-padding: #{size(sm)} #{size(lg)};
7
- --#{p.$prefix}-tab-bg: var(--#{p.$prefix}-base-white);
8
- --#{p.$prefix}-tab-fs: #{font(fs, sm)};
9
-
10
- h2,.h2 {
11
- margin: 0;
12
- padding: var(--#{p.$prefix}-tab-padding);
13
- border-bottom: 1px solid #{color('grey', 200)};
14
- }
15
-
16
- .tab-items {
17
- list-style: none;
18
- margin: 0;
19
- padding: #{size(2xs)} 0;
20
- }
21
-
22
- .tab-link {
23
- padding: var(--#{p.$prefix}-tab-padding);
24
- color: var(--#{p.$prefix}-primary);
25
- font-size: var(--#{p.$prefix}-tab-fs);
26
- font-weight: font(fw, semibold);
27
- text-decoration: none;
28
- border: 0;
29
-
30
- &:hover,
31
- &:active {
32
- color: var(--#{p.$prefix}-primary-hover);
33
- }
34
-
35
- &.active {
36
- color: var(--#{p.$prefix}-body-color);
37
-
38
- &:hover,
39
- &:active {
40
- color: inherit;
41
- }
42
- }
43
- }
44
- }
45
-
46
- .tab-card {
47
- @extend .tab;
48
-
49
- --#{p.$prefix}-tab-br: #{border(br, xs)};
50
- --#{p.$prefix}-tab-bs: #{border(bs, md)};
51
-
52
- margin-bottom: size(lg);
53
- border-radius: var(--#{p.$prefix}-tab-br);
54
- box-shadow: var(--#{p.$prefix}-tab-bs);
55
- background-color: var(--#{p.$prefix}-tab-bg);
56
-
57
- .tab-items {
58
- gap: size(md);
59
- }
60
- }
61
-
62
- .tab-basic {
63
- @extend .tab;
64
-
65
- --#{p.$prefix}-tab-br: #{border(br, xs)} #{border(br, xs)} 0 0;
66
- --#{p.$prefix}-tab-bs: 0 #{size(md)} 0 #fff,
67
- #{border(bs, md)};
68
-
69
- .tab-items {
70
- gap: size(lg);
71
- }
72
-
73
- .tab-link {
74
- border-radius: 0;
75
-
76
- &.active {
77
- border-radius: var(--#{p.$prefix}-tab-br);
78
- box-shadow: var(--#{p.$prefix}-tab-bs);
79
- background-color: var(--#{p.$prefix}-tab-bg);
80
- }
81
- }
82
- }
83
-
84
- .tab-content-basic {
85
- --#{p.$prefix}-tab-content-bg: var(--#{p.$prefix}-base-white);
86
- --#{p.$prefix}-tab-content-br: #{border(br, md)};
87
- --#{p.$prefix}-tab-content-bs: #{border(bs, md)};
88
- --#{p.$prefix}-tab-content-padding-y: #{size(md)};
89
- --#{p.$prefix}-tab-content-padding-x: #{size(md)};
90
-
91
- padding: var(--#{p.$prefix}-tab-content-padding-y) var(--#{p.$prefix}-tab-content-padding-x);
92
-
93
- border-radius: var(--#{p.$prefix}-tab-content-br);
94
- box-shadow: var(--#{p.$prefix}-tab-content-bs);
95
- background-color: var(--#{p.$prefix}-tab-content-bg);
96
- }
@@ -1,67 +0,0 @@
1
- @use "sass:map";
2
- @use "@cityway/design-tokens/primitives" as p;
3
- @use "@cityway/design-tokens/functions" as *;
4
-
5
- @keyframes sk-shimmer {
6
- 100% {
7
- transform: translateX(100%);
8
- }
9
- }
10
-
11
- .skeleton {
12
- display: block;
13
- position: relative;
14
- overflow: hidden;
15
- max-width: 50%;
16
- min-height: 16px;
17
-
18
- background-color: #e8e8e8 !important;
19
-
20
- /* Masquer le contenu sans casser le layout */
21
- color: transparent !important;
22
- -webkit-text-fill-color: transparent !important;
23
- pointer-events: none;
24
- user-select: none;
25
-
26
- /* Cacher les enfants (textes, icônes…) */
27
- * {
28
- visibility: hidden !important;
29
- }
30
-
31
- /* Cacher les images sans les retirer du flux */
32
- img,
33
- picture,
34
- svg {
35
- opacity: 0 !important;
36
- }
37
-
38
- &::after {
39
- content: "";
40
- position: absolute;
41
- inset: 0;
42
-
43
- background: linear-gradient(90deg,
44
- transparent,
45
- rgba(255, 255, 255, 0.6),
46
- transparent);
47
-
48
- transform: translateX(-100%);
49
- animation: sk-shimmer 1.4s infinite;
50
- }
51
-
52
- &.btn,
53
- &.badge {
54
- display: inline-flex;
55
- max-width: 100%;
56
- min-width: 5rem;
57
- padding: 0;
58
- }
59
-
60
- &.btn {
61
- min-width: 7rem;
62
- }
63
-
64
- &.form-control {
65
- border: 0;
66
- }
67
- }
@@ -1,30 +0,0 @@
1
-
2
- @use "sass:map";
3
- @use "@cityway/design-tokens/primitives" as p;
4
-
5
- @mixin media-breakpoint-up($name) {
6
- $min: map.get(p.$grid, "breakpoints", $name);
7
-
8
- @if $min and $min != 0 {
9
- @media (min-width: $min) {
10
- @content;
11
- }
12
- } @else if $min == 0 {
13
- // Pour 'xs', on n'enveloppe pas dans une media query (Mobile First)
14
- @content;
15
- } @else {
16
- @warn "Le breakpoint '#{$name}' n'existe pas dans p.$grid.";
17
- }
18
- }
19
-
20
- @mixin media-breakpoint-down($name) {
21
- $breakpoint-value: map.get(p.$grid, "breakpoints", $name);
22
- @if $breakpoint-value and $breakpoint-value != 0 {
23
- // On retire 0.02px pour éviter les conflits de précision sur les écrans Retina
24
- @media (max-width: ($breakpoint-value - 0.02px)) {
25
- @content;
26
- }
27
- } @else {
28
- @warn "Le breakpoint '#{$name}' n'est pas valide pour un down (ou est à 0).";
29
- }
30
- }
@@ -1,65 +0,0 @@
1
- @use "sass:map";
2
- @use "@cityway/design-tokens/primitives" as p;
3
-
4
- // --- Mixins de Breakpoints ---
5
- @mixin media-breakpoint-up($name) {
6
- $min: map.get(p.$grid, "breakpoints", $name);
7
- @if $min and $min != 0 {
8
- @media (min-width: $min) { @content; }
9
- } @else {
10
- @content;
11
- }
12
- }
13
-
14
- // --- Container ---
15
- .container, .container-fluid {
16
- width: 100%;
17
- margin-right: auto;
18
- margin-left: auto;
19
- // Utilise la gutter de ta map colonnes
20
- padding-right: var(--#{p.$prefix}-columns-gutter);
21
- padding-left: var(--#{p.$prefix}-columns-gutter);
22
- }
23
-
24
- .container {
25
- width: 100%;
26
- margin-inline: auto;
27
- padding-inline: var(--#{p.$prefix}-columns-gutter);
28
-
29
- @each $bp, $value in map.get(p.$grid, "breakpoints") {
30
- @if $value > 0 {
31
- @include media-breakpoint-up($bp) {
32
- max-width: calc(#{$value} - (var(--#{p.$prefix}-columns-gutter) * 2));
33
- }
34
- }
35
- }
36
- }
37
-
38
- // --- Row & Columns (Grid) ---
39
- .row {
40
- display: grid;
41
- grid-template-columns: repeat(var(--#{p.$prefix}-columns-number), 1fr);
42
- gap: var(--#{p.$prefix}-columns-gutter);
43
- }
44
-
45
- [class^="col-"] {
46
- grid-column: span var(--#{p.$prefix}-columns-number);
47
- }
48
-
49
- // --- Générateur de colonnes et offsets ---
50
- @each $name, $width in map.get(p.$grid, "breakpoints") {
51
- @include media-breakpoint-up($name) {
52
- @for $i from 1 through map.get(p.$grid, "columns", "number") {
53
- .col-#{$name}-#{$i} {
54
- grid-column: span #{$i};
55
- }
56
- .offset-#{$name}-#{$i} {
57
- grid-column-start: #{$i + 1};
58
- }
59
- }
60
- // Reset offset
61
- .offset-#{$name}-0 {
62
- grid-column-start: auto;
63
- }
64
- }
65
- }
@@ -1,40 +0,0 @@
1
- @use "@cityway/design-tokens/primitives" as p;
2
- @use "@cityway/design-tokens/functions" as *;
3
- @use "type" as mixin;
4
-
5
- // Variables
6
- // ---------------------------------
7
- $heading: (
8
- h1: (
9
- ff: var(--#{p.$prefix}-body-ff-heading),
10
- fw: font(fw, normal),
11
- fs: font(fs, xl),
12
- lh: font(lh, xl),
13
- color: var(--#{p.$prefix}-body-color)
14
- ),
15
- h2: (
16
- ff: var(--#{p.$prefix}-body-ff-heading),
17
- fw: font(fw, normal),
18
- fs: font(fs, xl),
19
- lh: font(lh, xl),
20
- color: var(--#{p.$prefix}-body-color)
21
- ),
22
- h3: (
23
- ff: var(--#{p.$prefix}-body-ff-heading),
24
- fw: font(fw, normal),
25
- fs: font(fs, lg),
26
- lh: font(lh, lg),
27
- color: var(--#{p.$prefix}-base-disabled)
28
- ),
29
- h4: (
30
- ff: var(--#{p.$prefix}-body-ff-heading),
31
- fw: font(fw, bold),
32
- fs: font(fs, md),
33
- lh: font(lh, md),
34
- color: var(--#{p.$prefix}-body-color)
35
- )
36
- );
37
-
38
- // Générer toutes les variantes
39
- // ---------------------------------
40
- @include mixin.heading-variants($heading);
@@ -1,18 +0,0 @@
1
- @use "sass:map";
2
- @use "../../mixins/type" as *;
3
-
4
- @include generate-type-utilities();
5
-
6
- // MIXIN - Variantes
7
- // ---------------------------------
8
- @mixin heading-variants($variants) {
9
- @each $tag, $props in $variants {
10
- #{$tag}, .#{$tag} {
11
- font-family: #{map.get($props, ff)};
12
- font-weight: #{map.get($props, fw)};
13
- font-size: #{map.get($props, fs)};
14
- line-height: #{map.get($props, lh)};
15
- color: #{map.get($props, color)};
16
- }
17
- }
18
- }