nk_jtb 0.2.0 → 0.3.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.
package/scss/jtb.scss CHANGED
@@ -12,8 +12,6 @@
12
12
  // @use "nk_components";
13
13
  @forward "nk";
14
14
  @forward "forms";
15
- @forward "layout/grid_old";
16
-
17
15
 
18
16
 
19
17
  @forward "components/accordion";
@@ -28,11 +26,8 @@
28
26
  @forward "components/sidebar";
29
27
 
30
28
 
31
-
32
- // @forward "utilities/visibility";
33
- // why forward???
34
29
  @forward "utilities/border";
35
- @forward "utilities/display";
30
+ @forward "utilities/display_visibility";
36
31
  @forward "utilities/flex";
37
32
  @forward "utilities/general";
38
33
  @forward "utilities/grid";
@@ -21,7 +21,7 @@
21
21
  }
22
22
 
23
23
  @mixin desktop-only {
24
- @media (min-width: $desktop) and (max-width: $desktop - 1px) {
24
+ @media (min-width: $desktop) and (max-width: $widescreen - 1px) {
25
25
  @content;
26
26
  }
27
27
  }
@@ -35,11 +35,6 @@
35
35
  // |-- from-device (device and larger) --|
36
36
  // --------------------------------------------------------------------------
37
37
 
38
- @mixin from-mobile-landscape {
39
- @media (min-width: $mobile-landscape) {
40
- @content;
41
- }
42
- }
43
38
  @mixin from-tablet {
44
39
  @media (min-width: $tablet) {
45
40
  @content;
@@ -43,9 +43,12 @@
43
43
  }
44
44
 
45
45
  .#{$base-class}#{$position-key}#{$size-key} {
46
- // use shorthand for 'xy'
46
+ // do not use shorthand to allow for easier override
47
47
  @if ($axis-or-position == "xy") {
48
- #{$property}: #{$value};
48
+ #{$property}-top: #{$value};
49
+ #{$property}-bottom: #{$value};
50
+ #{$property}-left: #{$value};
51
+ #{$property}-right: #{$value};
49
52
  } @else {
50
53
  @include makeCssPositionProperty($property, #{$value}, $positions);
51
54
  }
@@ -1,36 +1,25 @@
1
1
  @use "../base/vars_all" as *;
2
2
  @use "../mixins/positionUtilityClasses" as *;
3
3
 
4
- // Add border radius to map???
5
4
  $border-utilities-map: (
6
5
  "border": (
7
6
  "base-class": "bdr",
8
7
  "values-map": (
9
8
  "default": $border,
9
+ "0": none !important,
10
10
  ),
11
11
  "axis-position-map": $axis-position-map,
12
12
  ),
13
13
  );
14
14
 
15
15
  $border-widths-map: (
16
- 1: 1px,
16
+ 0: 0px,
17
+ 2: 2px,
17
18
  3: 3px,
18
19
  5: 5px,
19
- 10: 10px,
20
- ) !default;
21
-
22
- $border-colors-map: (
23
- "orange": var(--orange),
24
- "red": map-get($color-map, "red"),
25
- "green": var(--green),
26
- "blue": var(--blue),
27
- "primary": $primary,
28
- "secondary": var(--secondary),
29
- "success": var(--success),
30
- "danger": var(--danger),
31
- "info": var(--info),
32
20
  ) !default;
33
21
 
22
+ $border-colors-map: ($color-map) !default;
34
23
 
35
24
  // --------------------------------------------------------------------------
36
25
  // -- POSITION BASED BORDERS --
@@ -38,13 +27,13 @@ $border-colors-map: (
38
27
 
39
28
  @include positionUtilityClasses($border-utilities-map);
40
29
 
41
-
42
30
  // --------------------------------------------------------------------------
43
31
  // -- BORDER COLORS --
44
32
  // --------------------------------------------------------------------------
33
+
45
34
  @each $key, $value in $border-colors-map {
46
35
  .bdr-#{$key} {
47
- border: 1px solid $value;
36
+ border-color: $value;
48
37
  }
49
38
  }
50
39
 
@@ -54,58 +43,57 @@ $border-colors-map: (
54
43
  // make sure overrides come after base class
55
44
 
56
45
  @each $key, $value in $border-widths-map {
57
- .bdr#{$key} {
46
+ .bdr-#{$key} {
58
47
  border-width: $value;
59
48
  }
60
49
  }
61
50
 
62
-
63
-
64
- .nbdr {
65
- border: none !important;
51
+ // --------------------------------------------------------------------------
52
+ // -- BORDER RADIUS --
53
+ // --------------------------------------------------------------------------
54
+ .bdrr {
55
+ border: $border;
56
+ border-radius: $border-radius;
57
+ &-t {
58
+ border-top-left-radius: $border-radius;
59
+ border-top-right-radius: $border-radius;
60
+ }
61
+ &-b {
62
+ border-bottom-left-radius: $border-radius;
63
+ border-bottom-right-radius: $border-radius;
64
+ }
65
+ &-l {
66
+ border-top-left-radius: $border-radius;
67
+ border-bottom-left-radius: $border-radius;
68
+ }
69
+ &-r {
70
+ border-top-right-radius: $border-radius;
71
+ border-bottom-right-radius: $border-radius;
72
+ }
66
73
  }
67
74
 
68
- // // // border radius
69
- // // // --------------------------------------------------------------------------
70
- // // .bdrr {
71
- // // border: $border;
72
- // // border-radius: $border-radius;
73
- // // // positions
74
- // // &-t {
75
- // // border-top-left-radius: $border-radius;
76
- // // border-top-right-radius: $border-radius;
77
- // // }
78
- // // &-b {
79
- // // border-bottom-left-radius: $border-radius;
80
- // // border-bottom-right-radius: $border-radius;
81
- // // }
82
- // // &-l {
83
- // // border-top-left-radius: $border-radius;
84
- // // border-bottom-left-radius: $border-radius;
85
- // // }
86
- // // &-r {
87
- // // border-top-right-radius: $border-radius;
88
- // // border-bottom-right-radius: $border-radius;
89
- // // }
90
- // // }
75
+ // --------------------------------------------------------------------------
76
+ // -- REMOVE BORDER --
77
+ // --------------------------------------------------------------------------
91
78
 
92
- // // // remove border radius
93
- // // .nbr {
94
- // // border-radius: 0;
95
- // // &-t {
96
- // // border-top-left-radius: 0;
97
- // // border-top-right-radius: 0;
98
- // // }
99
- // // &-b {
100
- // // border-bottom-left-radius: 0;
101
- // // border-bottom-right-radius: 0;
102
- // // }
103
- // // &-l {
104
- // // border-top-left-radius: 0;
105
- // // border-bottom-left-radius: 0;
106
- // // }
107
- // // &-r {
108
- // // border-top-right-radius: 0;
109
- // // border-bottom-right-radius: 0;
110
- // // }
111
- // // }
79
+ .bdrr {
80
+ &-0 {
81
+ border-radius: 0;
82
+ }
83
+ &-t-0 {
84
+ border-top-left-radius: 0;
85
+ border-top-right-radius: 0;
86
+ }
87
+ &-b-0 {
88
+ border-bottom-left-radius: 0;
89
+ border-bottom-right-radius: 0;
90
+ }
91
+ &-l-0 {
92
+ border-top-left-radius: 0;
93
+ border-bottom-left-radius: 0;
94
+ }
95
+ &-r-0 {
96
+ border-top-right-radius: 0;
97
+ border-bottom-right-radius: 0;
98
+ }
99
+ }
@@ -61,6 +61,17 @@ $visibility-utilities: (
61
61
  display: flex !important;
62
62
  }
63
63
  }
64
+ @include laptop-only {
65
+ .hide-on-laptop {
66
+ display: none !important;
67
+ }
68
+ .block-on-laptop {
69
+ display: block !important;
70
+ }
71
+ .flex-on-laptop {
72
+ display: flex !important;
73
+ }
74
+ }
64
75
  @include desktop-only {
65
76
  .hide-on-desktop {
66
77
  display: none !important;
@@ -72,6 +83,17 @@ $visibility-utilities: (
72
83
  display: flex !important;
73
84
  }
74
85
  }
86
+ @include widescreen-only {
87
+ .hide-on-widescreen {
88
+ display: none !important;
89
+ }
90
+ .block-on-widescreen {
91
+ display: block !important;
92
+ }
93
+ .flex-on-widescreen {
94
+ display: flex !important;
95
+ }
96
+ }
75
97
 
76
98
  // ==========================================================================
77
99
  // |--\0/-- from-device (device and larger) --\0/--|
@@ -88,6 +110,17 @@ $visibility-utilities: (
88
110
  display: flex !important;
89
111
  }
90
112
  }
113
+ @include from-laptop {
114
+ .hide-from-laptop {
115
+ display: none !important;
116
+ }
117
+ .block-from-laptop {
118
+ display: block !important;
119
+ }
120
+ .flex-from-laptop {
121
+ display: flex !important;
122
+ }
123
+ }
91
124
  @include from-desktop {
92
125
  .hide-from-desktop {
93
126
  display: none !important;
@@ -99,6 +132,17 @@ $visibility-utilities: (
99
132
  display: flex !important;
100
133
  }
101
134
  }
135
+ @include from-widescreen {
136
+ .hide-from-widescreen {
137
+ display: none !important;
138
+ }
139
+ .block-from-widescreen {
140
+ display: block !important;
141
+ }
142
+ .flex-from-widescreen {
143
+ display: flex !important;
144
+ }
145
+ }
102
146
 
103
147
  // // ==========================================================================
104
148
  // // |--\0/-- up-to-device (up to but not including) --\0/--|
@@ -114,6 +158,17 @@ $visibility-utilities: (
114
158
  display: flex !important;
115
159
  }
116
160
  }
161
+ @include up-to-laptop {
162
+ .hide-up-to-laptop {
163
+ display: none !important;
164
+ }
165
+ .block-up-to-laptop {
166
+ display: block !important;
167
+ }
168
+ .flex-up-to-laptop {
169
+ display: flex !important;
170
+ }
171
+ }
117
172
  @include up-to-desktop {
118
173
  .hide-up-to-desktop {
119
174
  display: none !important;
@@ -125,3 +180,14 @@ $visibility-utilities: (
125
180
  display: flex !important;
126
181
  }
127
182
  }
183
+ @include up-to-widescreen {
184
+ .hide-up-to-widescreen {
185
+ display: none !important;
186
+ }
187
+ .block-up-to-widescreen {
188
+ display: block !important;
189
+ }
190
+ .flex-up-to-widescreen {
191
+ display: flex !important;
192
+ }
193
+ }
@@ -67,7 +67,7 @@ $flex-utilities: (
67
67
  // stretch: stretch,
68
68
  // between: space-between,
69
69
  // around: space-around,
70
- // evenly: space-evenly,
70
+ // evenly: space-evenly,,,
71
71
  ),
72
72
  ),
73
73
  "flex-direction": (
@@ -93,12 +93,20 @@ $flex-utilities: (
93
93
  "property": "flex",
94
94
  "prefix": "",
95
95
  "values": (
96
- fsg1: 1 1 0%,
96
+ flex-1: 1 1 0%,
97
97
  fs-auto: 0 1 auto,
98
98
  fsg-auto: 1 1 auto,
99
99
  flex-none: none,
100
100
  ),
101
101
  ),
102
+ "order": (
103
+ "property": "order",
104
+ "prefix": "order-",
105
+ "values": (
106
+ 1: 1,
107
+ 2: 2,
108
+ ),
109
+ ),
102
110
  );
103
111
 
104
112
  @each $property, $map in $flex-utilities {
@@ -58,8 +58,9 @@
58
58
  left: 0;
59
59
  right: 0;
60
60
  overflow-y: auto;
61
- background: rgba(31, 41, 155, 0.6);
61
+ background: rgba(0, 0, 0, 0.7);
62
62
  z-index: 1000;
63
+ margin: 0;
63
64
  }
64
65
 
65
66
  .cursor-pointer {
@@ -79,10 +80,10 @@
79
80
  }
80
81
 
81
82
  .close {
82
- color: rgb(238, 235, 235);
83
+ color: rgb(199, 197, 197);
83
84
  cursor: pointer;
84
- height: 1.25rem; // nice default size
85
- width: 1.25rem; // nice default size
85
+ height: 1rem;
86
+ width: 1rem;
86
87
 
87
88
  &:hover {
88
89
  color: rgb(163, 69, 88);
@@ -8,14 +8,17 @@
8
8
  // -- MAPS --
9
9
  // --------------------------------------------------------------------------
10
10
 
11
+ // percentage to fr conversion for two column layouts
11
12
  $grid-fr-map: (
12
13
  // first-col-%: (col1 fr, col2 fr)
13
14
  20: (1fr, 4fr),
14
15
  25: (1fr, 3fr),
15
16
  30: (3fr, 7fr),
17
+ 33: (1fr, 2fr),
16
18
  40: (2fr, 3fr),
17
19
  50: (1fr, 1fr),
18
20
  60: (3fr, 2fr),
21
+ 67: (2fr, 1fr),
19
22
  70: (7fr, 3fr),
20
23
  75: (3fr 1fr),
21
24
  80: (4fr, 1fr)
@@ -24,7 +27,9 @@ $grid-fr-map: (
24
27
  // only need to add 1st column percentage, 2nd is calculated
25
28
  // no need to add small size here, it is set to 100 in the create function
26
29
  // (25, 25) is shorthand for {25:75}_{25:75}_{100}
27
- $two-column-magic-grid: ((25, 25), (25, 40), (30, 50), (40, 50), (50, 50), (60, 50), (70, 60), (70, 70));
30
+
31
+ // 33.33, 66.66
32
+ $two-column-magic-grid: ((25, 25), (25, 40), (30, 50), (40, 50), (50, 50), (60, 50), (67, 50), (70, 50), (70, 60), (70, 70)) !default;
28
33
 
29
34
  $grid-gap-sizes: (0, 1, 1.5, 2, 3, 4, 5);
30
35
 
@@ -40,11 +45,12 @@ $grid-gap-sizes: (0, 1, 1.5, 2, 3, 4, 5);
40
45
  }
41
46
 
42
47
  // -- TWO COLUMN UN-EQUAL WIDTHS (NON-RESPONSIVE) --
48
+ // minmax prevents blowout
43
49
  @each $key, $fr-units in $grid-fr-map {
44
50
  // specify the first column size,then calculate the second column width
45
51
  $class: #{$key}\:#{(100 - $key)};
46
52
  .cols-#{$class} {
47
- grid-template-columns: nth($fr-units, 1) nth($fr-units, 2);
53
+ grid-template-columns: minmax(0, nth($fr-units, 1)) minmax(0, nth($fr-units, 2));
48
54
  }
49
55
  }
50
56
 
@@ -131,7 +137,7 @@ $grid-gap-sizes: (0, 1, 1.5, 2, 3, 4, 5);
131
137
  // -- RESPONSIVE GRID FIXED WIDTH COLUMNS --
132
138
  // --------------------------------------------------------------------------
133
139
  // simply add the amount of columns you want a each break point
134
- $fixed-width-columns-map: ((2, 2, 1), (3, 1, 1), (3, 2, 1), (3, 3, 1), (4, 2, 1), (6, 3, 1));
140
+ $fixed-width-columns-map: ((2, 2, 1), (3, 1, 1), (3, 2, 1), (3, 3, 1), (4, 2, 1), (4, 2, 2), (6, 3, 1));
135
141
 
136
142
  @each $grid-list in $fixed-width-columns-map {
137
143
  // create the class based on the items in each grid map
@@ -177,18 +183,3 @@ $fixed-width-columns-map: ((2, 2, 1), (3, 1, 1), (3, 2, 1), (3, 3, 1), (4, 2, 1)
177
183
  grid-template-columns: repeat(4, minmax(0, 1fr));
178
184
  }
179
185
  }
180
-
181
- // responsive grid
182
- // -------------------------
183
- // for each breakpoint (xs, sm, etc ...) in breakpoints
184
- // @each $breakpoint, $size in map.remove($breakpoints, "xs") {
185
- // // create a media query with min-width of $size
186
- // @media (min-width: $size) {
187
- // // create num-cols + 1 for 0 index
188
- // @for $i from 1 to $num-grid-cols + 1 {
189
- // .cols-#{$breakpoint}-#{$i} {
190
- // grid-template-columns: repeat($i, minmax(0, 1fr));
191
- // }
192
- // }
193
- // }
194
- // }
@@ -41,8 +41,6 @@
41
41
  bottom: 0;
42
42
  }
43
43
 
44
-
45
-
46
44
  // DO NOT ADD TL, TR, BL, BR, JUST USE MULTIPLE CLASSES???
47
45
 
48
46
  .pos {
@@ -52,10 +50,12 @@
52
50
  left: 0;
53
51
  right: 0;
54
52
  }
53
+
55
54
  &-x {
56
55
  left: 0;
57
56
  right: 0;
58
57
  }
58
+
59
59
  &-y {
60
60
  top: 0;
61
61
  bottom: 0;
@@ -66,35 +66,18 @@
66
66
  left: 0;
67
67
  right: 0;
68
68
  }
69
+
69
70
  &-b {
70
71
  bottom: 0;
71
72
  }
73
+
72
74
  &-l {
73
75
  left: 0;
74
76
  right: auto; // reset for flex ?? dd requires to shrink ??
75
77
  }
78
+
76
79
  &-r {
77
80
  right: 0;
78
81
  left: auto; // reset for flex ?? dd requires to shrink ??
79
82
  }
80
- //
81
- //
82
- //
83
- //
84
- // &-tl {
85
- // top: 0;
86
- // left: 0;
87
- // }
88
- // &-tr {
89
- // top: 0;
90
- // right: 0;
91
- // }
92
- // &-bl {
93
- // bottom: 0;
94
- // left: 0;
95
- // }
96
- // &-br {
97
- // bottom: 0;
98
- // right: 0;
99
- // }
100
83
  }
@@ -1,14 +1,8 @@
1
1
  @use "../base/vars_base" as *;
2
2
  @use "../functions/helpers" as *;
3
+ @use "../mixins/media" as *;
3
4
  @use "sass:map";
4
5
 
5
- // ---------------- BEFORE YOU DO ANYTHING CRAZY ----------------
6
- //
7
- // the flag is used top make sure utility overrides
8
- // class specificity.
9
- //
10
- // ---------------- BEFORE YOU DO ANYTHING CRAZY ----------------
11
-
12
6
  // width utilities w-{n}rem or w-{n}px
13
7
 
14
8
  // --------------------------------------------------------------------------
@@ -73,7 +67,6 @@ $pixel-sizes: (16, 24, 32, 40, 64, 100, 150, 200, 300, 400, 600);
73
67
  // -- FRACTIONAL SIZES --
74
68
  // --------------------------------------------------------------------------
75
69
 
76
- // \ is needed to escape the forward slash
77
70
  $fractional-sizes: (1\/4: 25%, 1\/3: 33.33%, 1\/2: 50%, 3\/4: 75%);
78
71
 
79
72
  @each $key, $value in $fractional-sizes {
@@ -82,13 +75,11 @@ $fractional-sizes: (1\/4: 25%, 1\/3: 33.33%, 1\/2: 50%, 3\/4: 75%);
82
75
  }
83
76
  }
84
77
 
85
-
86
-
87
78
  $v-heights: (
88
79
  // 40: 40vh,
89
80
  // 50: 50vh,
90
81
  // 60: 60vh,
91
- 100: 100vh,
82
+ 100: 100vh
92
83
  );
93
84
 
94
85
  // vertical heights
@@ -107,8 +98,9 @@ $max-min-sizes: (
107
98
  800: 800px,
108
99
  );
109
100
 
110
-
111
- // 1. use capital so sass does not throw an error
101
+ .h-1\/1{
102
+ height: 100%;
103
+ }
112
104
 
113
105
  @each $key, $value in $max-min-sizes {
114
106
  .minw#{$key} {
@@ -118,9 +110,36 @@ $max-min-sizes: (
118
110
  }
119
111
  // max-width, up to max of n%
120
112
  .maxw#{$key} {
121
- // Think of the min() value as providing the maximum value
122
- // a property can have. chooses the minimum of the two
123
- width: Min($value, 95%); // 1.
113
+ // Think of the min() value as providing the maximum value a property
114
+ // can have. chooses the minimum of the two
115
+
116
+ // this allows shring?????
117
+ max-width: $value;
118
+ // width: Min($value, 95%); // 1. use capital so sass does not throw an error
124
119
  }
125
120
  }
126
121
 
122
+ // @include from-tablet {
123
+ // @each $key, $value in $fractional-sizes {
124
+ // .md\:w-#{$key} {
125
+ // width: $value;
126
+ // }
127
+ // }
128
+ // }
129
+
130
+ // @include from-laptop {
131
+ // @each $key, $value in $fractional-sizes {
132
+ // .lg\:w-#{$key} {
133
+ // width: $value;
134
+ // }
135
+ // }
136
+ // }
137
+
138
+ // @include from-desktop {
139
+ // @each $key, $value in $fractional-sizes {
140
+ // .xl\:w-#{$key} {
141
+ // width: $value;
142
+ // }
143
+ // }
144
+ // }
145
+
@@ -8,8 +8,19 @@
8
8
  // Order Matters! basic and responsive utility classes need to
9
9
  // come after the magic classes to allow them to be overridden
10
10
  //
11
+ // There is no winning here!!! Do you want parent magic classes to
12
+ // override utilities or visa versa
13
+ //
14
+ // put remove at the top???
11
15
  // --------------------------------------------------------------
12
16
 
17
+ // for testing only to override default list
18
+ // $rem-sizes-map: (
19
+ // "1": 1rem,
20
+ // "3": 3rem,
21
+ // "5": 5rem,
22
+ // );
23
+
13
24
  $spacing-utilities-map: (
14
25
  "margin": (
15
26
  "base-class": "m",
@@ -38,8 +49,6 @@ $spacing-utilities-map: (
38
49
  ),
39
50
  );
40
51
 
41
- @include positionUtilityClasses($spacing-utilities-map);
42
-
43
52
  // --------------------------------------------------------------
44
53
  // -- RESPONSIVE SPACING UTILITIES --
45
54
  // --------------------------------------------------------------
@@ -65,7 +74,7 @@ $padding-y-responsive-sizes: (10, 6, 2), "";
65
74
  }
66
75
 
67
76
  // --------------------------------------------------------------
68
- // -- RESPONSIVE PADDING --
77
+ // -- RESPONSIVE PADDING / MARGIN--
69
78
  // --------------------------------------------------------------
70
79
  //
71
80
  .py-5-3-2 {
@@ -83,6 +92,21 @@ $padding-y-responsive-sizes: (10, 6, 2), "";
83
92
  }
84
93
  }
85
94
 
95
+ .my-5-3-2 {
96
+ margin-top: 2rem;
97
+ margin-bottom: 2rem;
98
+
99
+ @include from-tablet {
100
+ margin-top: 3rem;
101
+ margin-bottom: 3rem;
102
+ }
103
+
104
+ @include from-desktop {
105
+ margin-top: 5rem;
106
+ margin-bottom: 5rem;
107
+ }
108
+ }
109
+
86
110
  // --------------------------------------------------------------
87
111
  // -- RESPONSIVE MAGIC PADDING --
88
112
  // --------------------------------------------------------------
@@ -113,6 +137,9 @@ $padding-y-responsive-sizes: (10, 6, 2), "";
113
137
  margin-top: $content-gap;
114
138
  }
115
139
 
140
+ .space-y-0 > *:not(:first-child) {
141
+ margin-top: 0;
142
+ }
116
143
  .space-y-05 > *:not(:first-child) {
117
144
  margin-top: 0.5rem;
118
145
  }
@@ -174,3 +201,20 @@ $padding-y-responsive-sizes: (10, 6, 2), "";
174
201
  padding-left: 1rem;
175
202
  padding-right: 1rem;
176
203
  }
204
+
205
+ //
206
+ //
207
+ //
208
+ // ORDER ABOVE IN REVIEW
209
+ //
210
+ //
211
+ //
212
+ //
213
+
214
+ // --------------------------------------------------------------
215
+ // -- POSITION BASED UTILITIES --
216
+ // --------------------------------------------------------------
217
+ // Must built last to ensure override
218
+ //
219
+
220
+ @include positionUtilityClasses($spacing-utilities-map);