playbook_ui 17.1.0.pre.rc.0 → 17.1.0.pre.rc.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.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/pb_card/card.rb +1 -1
  3. data/app/pb_kits/playbook/pb_card/kit.schema.json +2 -0
  4. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_required_indicator.html.erb +1 -1
  5. data/app/pb_kits/playbook/pb_date_picker/docs/_date_picker_required_indicator.jsx +1 -1
  6. data/app/pb_kits/playbook/pb_dropdown/_dropdown.scss +24 -6
  7. data/app/pb_kits/playbook/pb_dropdown/dropdown.test.jsx +32 -0
  8. data/app/pb_kits/playbook/pb_dropdown/subcomponents/DropdownTrigger.tsx +7 -3
  9. data/app/pb_kits/playbook/pb_dropdown/subcomponents/MultiSelectTriggerDisplay.tsx +4 -2
  10. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_button.jsx +51 -34
  11. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_date_picker.jsx +28 -18
  12. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_default.jsx +47 -25
  13. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_full_width.jsx +69 -40
  14. data/app/pb_kits/playbook/pb_form_group/docs/_form_group_select.jsx +7 -0
  15. data/app/pb_kits/playbook/tokens/_colors.scss +7 -3
  16. data/app/pb_kits/playbook/tokens/_height.scss +5 -1
  17. data/app/pb_kits/playbook/utilities/globalProps.ts +17 -9
  18. data/app/pb_kits/playbook/utilities/test/globalProps/height.test.js +10 -7
  19. data/dist/chunks/{_detail-DmbtP8Zd.js → _detail-1i4TmleS.js} +1 -1
  20. data/dist/chunks/{_pb_line_graph-BynhzAZz.js → _pb_line_graph-B7TGSyYS.js} +1 -1
  21. data/dist/chunks/{_table-BKJZFT_d.js → _table-1tcUiFYP.js} +1 -1
  22. data/dist/chunks/{_typeahead-CV5P_leb.js → _typeahead-B21GhE8G.js} +1 -1
  23. data/dist/chunks/globalProps-tiHK42xn.js +6 -0
  24. data/dist/chunks/{lib-CYZytrqW.js → lib-BRNHo5iY.js} +1 -1
  25. data/dist/chunks/vendor.js +2 -2
  26. data/dist/playbook-rails-react-bindings.js +1 -1
  27. data/dist/playbook-rails.js +1 -1
  28. data/dist/playbook.css +1 -1
  29. data/lib/playbook/height.rb +2 -2
  30. data/lib/playbook/max_height.rb +2 -2
  31. data/lib/playbook/min_height.rb +2 -2
  32. data/lib/playbook/pb_forms_global_props_helper.rb +3 -3
  33. data/lib/playbook/tokens/colors.json +4 -2
  34. data/lib/playbook/version.rb +1 -1
  35. metadata +8 -8
  36. data/dist/chunks/globalProps-BmtRVofv.js +0 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7b715350921a0d13054afef8c7a265256206ce8a191121ac5a553f7a6c53f81e
4
- data.tar.gz: d2f45143b6d02498ee81758e82ce67ad49f35d821990d627bdd973ac3d944f83
3
+ metadata.gz: d2b39d1988129a1775386968f9a5e6e8153ccf1fdf44aaf371c23144d75e75d1
4
+ data.tar.gz: 546a6f29bd40d122f0fb899cd86d38b3474dbf0c3e54d275c4082623c0bab1ef
5
5
  SHA512:
6
- metadata.gz: 060ba5b0e47cbefc0822b7f624b45344e28dea010f2b0af1d380e7d85e33b59f0b5a2df7153cbc1b4b7264b4821ee9617dc2e732ff8704b029333329119a1583
7
- data.tar.gz: a90fecaa285e278f7d119e96f48760f8c36816ef7f8810c1177e1100d088bf34c9d4f7705319d99a1106e570b4304989536169262bc5223d2ecb505210ca5566
6
+ metadata.gz: 8d0e377654cc74f6143aedf096cf6c4409d56f51fff11a168ea48a99e1b0e7a4ff588c6e1b4ae974b148aa03c3efbfc4df9035985a871f81593f8a7cf014ed35
7
+ data.tar.gz: 745b58a4eda8d12eea4205aab68d21758084d63eefd9942bed1e538be5a7e5932736b55cf110c51aa1d80448f539a0f7ffab52a0cc0bb10667c4e4282b775add
@@ -15,7 +15,7 @@ module Playbook
15
15
  values: %w[xs sm md lg xl none rounded],
16
16
  default: "md"
17
17
  prop :background, type: Playbook::Props::Enum,
18
- values: %w[white light dark product_1_background product_1_highlight product_2_background product_2_highlight product_3_background product_3_highlight product_4_background product_4_highlight product_5_background product_5_highlight product_6_background product_6_highlight product_7_background product_7_highlight product_8_background product_8_highlight product_9_background product_9_highlight product_10_background product_10_highlight product_11_background product_11_highlight windows siding doors solar roofing gutters insulation none success_subtle warning_subtle error_subtle info_subtle neutral_subtle],
18
+ values: %w[white light dark product_1_background product_1_highlight product_2_background product_2_highlight product_3_background product_3_highlight product_4_background product_4_highlight product_5_background product_5_highlight product_6_background product_6_highlight product_7_background product_7_highlight product_8_background product_8_highlight product_9_background product_9_highlight product_10_background product_10_highlight product_11_background product_11_highlight product_12_background product_12_highlight windows siding doors solar roofing gutters insulation none success_subtle warning_subtle error_subtle info_subtle neutral_subtle],
19
19
  default: "none"
20
20
  prop :drag_id, type: Playbook::Props::String
21
21
  prop :draggable_item, type: Playbook::Props::Boolean,
@@ -39,6 +39,8 @@
39
39
  "product_10_highlight",
40
40
  "product_11_background",
41
41
  "product_11_highlight",
42
+ "product_12_background",
43
+ "product_12_highlight",
42
44
  "windows",
43
45
  "siding",
44
46
  "doors",
@@ -1,5 +1,5 @@
1
1
  <%= pb_rails("date_picker", props: {
2
- picker_id: "date_picker_required_indicator",
2
+ picker_id: "date-picker-required-indicator",
3
3
  label: "Required Date Picker",
4
4
  required_indicator: true,
5
5
  }) %>
@@ -4,7 +4,7 @@ import DatePicker from "../_date_picker"
4
4
  const DatePickerRequiredIndicator = (props) => (
5
5
  <DatePicker
6
6
  label="Required Date Picker"
7
- pickerId="date_picker_required_indicator"
7
+ pickerId="date-picker-required-indicator"
8
8
  requiredIndicator
9
9
  {...props}
10
10
  />
@@ -116,6 +116,12 @@
116
116
  color: $input_text_disabled;
117
117
  }
118
118
 
119
+ // Rails select-only / multi-select Body placeholders (autocomplete uses ::placeholder above)
120
+ .pb_body_kit[data-dropdown-trigger-display],
121
+ .pb_body_kit[data-dropdown-trigger-display-multi-select] {
122
+ color: $input_text_default;
123
+ }
124
+
119
125
  &:focus {
120
126
  box-shadow: 0px 0px 0 1px $status_border_primary !important;
121
127
  outline: unset;
@@ -127,16 +133,20 @@
127
133
  transition: box-shadow 0.15s ease-in-out;
128
134
  }
129
135
 
130
- &.dropdown_trigger_wrapper_select_only {
131
- box-shadow: inset 0 -11px 20px rgba($status_border_primary, 0.05);
132
- }
133
-
134
136
  &.dropdown_trigger_wrapper_focus {
135
137
  box-shadow: 0px 0px 0 1px $status_border_primary !important;
136
138
  transition: box-shadow 0.1s ease-in-out;
137
139
  }
138
140
  }
139
141
 
142
+ // Selected value: restore default text color (Rails reuses the placeholder Body node)
143
+ &:has([data-dropdown-clear-icon]:not([style*="display: none"])),
144
+ &:has(.pb_dropdown_option_selected) {
145
+ .pb_body_kit[data-dropdown-trigger-display] {
146
+ color: $text_default_color;
147
+ }
148
+ }
149
+
140
150
  .pb_dropdown_container {
141
151
  position: absolute;
142
152
  background-color: $white;
@@ -401,8 +411,9 @@
401
411
  [class^="pb_body"] {
402
412
  color: $text_default_dark;
403
413
  }
404
- &.dropdown_trigger_wrapper_select_only {
405
- box-shadow: inset 0 -11px 20px rgba($status_border_primary_dark, 0.05);
414
+ .pb_body_kit[data-dropdown-trigger-display],
415
+ .pb_body_kit[data-dropdown-trigger-display-multi-select] {
416
+ color: $input_text_default_dark;
406
417
  }
407
418
  .dropdown_input {
408
419
  background-color: unset;
@@ -413,6 +424,13 @@
413
424
  }
414
425
  }
415
426
 
427
+ &:has([data-dropdown-clear-icon]:not([style*="display: none"])),
428
+ &:has(.pb_dropdown_option_selected) {
429
+ .pb_body_kit[data-dropdown-trigger-display] {
430
+ color: $text_default_dark;
431
+ }
432
+ }
433
+
416
434
  &.error {
417
435
  .dropdown_trigger_wrapper,
418
436
  .dropdown_trigger_wrapper_focus,
@@ -197,6 +197,38 @@ test('placeholder shows default "Select..." when not provided', () => {
197
197
  expect(trigger).toHaveTextContent('Select...')
198
198
  })
199
199
 
200
+ test('placeholder Body uses lighter color', () => {
201
+ render(
202
+ <Dropdown
203
+ data={{ testid: testId }}
204
+ options={options}
205
+ placeholder="Choose a country"
206
+ />
207
+ )
208
+
209
+ const kit = screen.getByTestId(testId)
210
+ const placeholderBody = kit.querySelector('.dropdown_trigger_wrapper_select_only .pb_body_kit_lighter')
211
+ expect(placeholderBody).toBeInTheDocument()
212
+ expect(placeholderBody).toHaveTextContent('Choose a country')
213
+ })
214
+
215
+ test('selected value Body does not use lighter color', () => {
216
+ render(
217
+ <Dropdown
218
+ data={{ testid: testId }}
219
+ defaultValue={options[0]}
220
+ options={options}
221
+ placeholder="Choose a country"
222
+ />
223
+ )
224
+
225
+ const kit = screen.getByTestId(testId)
226
+ const triggerBodies = kit.querySelectorAll('.dropdown_trigger_wrapper_select_only [class^="pb_body_kit"]')
227
+ const selectedBody = Array.from(triggerBodies).find((el) => el.textContent === options[0].label)
228
+ expect(selectedBody).toBeTruthy()
229
+ expect(selectedBody).not.toHaveClass('pb_body_kit_lighter')
230
+ })
231
+
200
232
  test('generated label prop', () => {
201
233
  render (
202
234
  <Dropdown
@@ -170,7 +170,9 @@ const DropdownTrigger = (props: DropdownTriggerProps) => {
170
170
  {customDisplay ? (
171
171
  <Flex align="center">
172
172
  {customDisplay}
173
- <Body dark={dark}
173
+ <Body
174
+ color={customDisplayPlaceholder ? "lighter" : undefined}
175
+ dark={dark}
174
176
  paddingLeft={`${joinedLabels ? "xs" : "none"}`}
175
177
  >
176
178
  {customDisplayPlaceholder}
@@ -213,8 +215,10 @@ const DropdownTrigger = (props: DropdownTriggerProps) => {
213
215
  )}
214
216
  </>
215
217
  ) : (
216
- <Body dark={dark}
217
- text={defaultDisplayPlaceholder}
218
+ <Body
219
+ color={!joinedLabels && !autocomplete ? "lighter" : undefined}
220
+ dark={dark}
221
+ text={defaultDisplayPlaceholder}
218
222
  />
219
223
  )
220
224
  )}
@@ -24,8 +24,10 @@ const MultiSelectTriggerDisplay = ({
24
24
  if (selected.length === 0) {
25
25
  if (autocomplete) return null;
26
26
  return (
27
- <Body dark={dark}
28
- text={placeholder ? placeholder : "Select..."}
27
+ <Body
28
+ color="lighter"
29
+ dark={dark}
30
+ text={placeholder ? placeholder : "Select..."}
29
31
  />
30
32
  )
31
33
  }
@@ -1,43 +1,60 @@
1
- import React from 'react'
1
+ import React, { useState } from 'react'
2
2
 
3
3
  import Button from '../../pb_button/_button'
4
4
  import FormGroup from '../../pb_form_group/_form_group'
5
5
  import TextInput from '../../pb_text_input/_text_input'
6
6
 
7
- const FormGroupButton = (props) => (
8
- <div>
9
- <div>
10
- <FormGroup>
11
- <TextInput
12
- id="search-with-label"
13
- label="With Label"
14
- placeholder="Search"
15
- {...props}
16
- />
17
- <Button
18
- onClick={() => alert('Button Clicked!')}
19
- text="Submit"
20
- variant="secondary"
21
- {...props}
22
- />
23
- </FormGroup>
24
- </div>
25
- <br />
7
+ const FormGroupButton = (props) => {
8
+ const [searchWithLabel, setSearchWithLabel] = useState('')
9
+ const [search, setSearch] = useState('')
10
+
11
+ const handleUpdateSearchWithLabel = ({ target }) => {
12
+ setSearchWithLabel(target.value)
13
+ }
14
+
15
+ const handleUpdateSearch = ({ target }) => {
16
+ setSearch(target.value)
17
+ }
18
+
19
+ return (
26
20
  <div>
27
- <FormGroup>
28
- <TextInput
29
- placeholder="Search"
30
- {...props}
31
- />
32
- <Button
33
- onClick={() => alert('Button Clicked!')}
34
- text="Submit"
35
- variant="secondary"
36
- {...props}
37
- />
38
- </FormGroup>
21
+ <div>
22
+ <FormGroup>
23
+ <TextInput
24
+ id="search-with-label"
25
+ label="With Label"
26
+ onChange={handleUpdateSearchWithLabel}
27
+ placeholder="Search"
28
+ value={searchWithLabel}
29
+ {...props}
30
+ />
31
+ <Button
32
+ onClick={() => alert('Button Clicked!')}
33
+ text="Submit"
34
+ variant="secondary"
35
+ {...props}
36
+ />
37
+ </FormGroup>
38
+ </div>
39
+ <br />
40
+ <div>
41
+ <FormGroup>
42
+ <TextInput
43
+ onChange={handleUpdateSearch}
44
+ placeholder="Search"
45
+ value={search}
46
+ {...props}
47
+ />
48
+ <Button
49
+ onClick={() => alert('Button Clicked!')}
50
+ text="Submit"
51
+ variant="secondary"
52
+ {...props}
53
+ />
54
+ </FormGroup>
55
+ </div>
39
56
  </div>
40
- </div>
41
- )
57
+ )
58
+ }
42
59
 
43
60
  export default FormGroupButton
@@ -1,26 +1,36 @@
1
- import React from 'react'
1
+ import React, { useState } from 'react'
2
2
 
3
3
  import FormGroup from '../_form_group'
4
4
 
5
5
  import DatePicker from '../../pb_date_picker/_date_picker'
6
6
  import TextInput from '../../pb_text_input/_text_input'
7
7
 
8
- const FormGroupDatePicker = (props) => (
9
- <div>
10
- <FormGroup>
11
- <TextInput
12
- id="event-name"
13
- label="Event"
14
- placeholder="Event Name"
15
- {...props}
16
- />
17
- <DatePicker
18
- label="event date"
19
- pickerId="date-picker-default"
20
- {...props}
21
- />
22
- </FormGroup>
23
- </div>
24
- )
8
+ const FormGroupDatePicker = (props) => {
9
+ const [eventName, setEventName] = useState('')
10
+
11
+ const handleUpdateEventName = ({ target }) => {
12
+ setEventName(target.value)
13
+ }
14
+
15
+ return (
16
+ <div>
17
+ <FormGroup>
18
+ <TextInput
19
+ id="event-name"
20
+ label="Event"
21
+ onChange={handleUpdateEventName}
22
+ placeholder="Event Name"
23
+ value={eventName}
24
+ {...props}
25
+ />
26
+ <DatePicker
27
+ label="event date"
28
+ pickerId="date-picker-default"
29
+ {...props}
30
+ />
31
+ </FormGroup>
32
+ </div>
33
+ )
34
+ }
25
35
 
26
36
  export default FormGroupDatePicker
@@ -1,31 +1,53 @@
1
- import React from 'react'
1
+ import React, { useState } from 'react'
2
2
 
3
3
  import FormGroup from '../_form_group'
4
4
  import TextInput from '../../pb_text_input/_text_input'
5
5
 
6
- const FormGroupDefault = (props) => (
7
- <div>
8
- <FormGroup>
9
- <TextInput
10
- id="first-name"
11
- label="First Name"
12
- placeholder="Enter First Name"
13
- {...props}
14
- />
15
- <TextInput
16
- id="middle-initial"
17
- label="Middle Initial"
18
- placeholder="Enter Middle Initial"
19
- {...props}
20
- />
21
- <TextInput
22
- id="last-name"
23
- label="Last Name"
24
- placeholder="Enter Last Name"
25
- {...props}
26
- />
27
- </FormGroup>
28
- </div>
29
- )
6
+ const FormGroupDefault = (props) => {
7
+ const [formFields, setFormFields] = useState({
8
+ firstName: '',
9
+ middleInitial: '',
10
+ lastName: '',
11
+ })
12
+
13
+ const handleOnChange = ({ target }) => {
14
+ const { name, value } = target
15
+ setFormFields({ ...formFields, [name]: value })
16
+ }
17
+
18
+ return (
19
+ <div>
20
+ <FormGroup>
21
+ <TextInput
22
+ id="first-name"
23
+ label="First Name"
24
+ name="firstName"
25
+ onChange={handleOnChange}
26
+ placeholder="Enter First Name"
27
+ value={formFields.firstName}
28
+ {...props}
29
+ />
30
+ <TextInput
31
+ id="middle-initial"
32
+ label="Middle Initial"
33
+ name="middleInitial"
34
+ onChange={handleOnChange}
35
+ placeholder="Enter Middle Initial"
36
+ value={formFields.middleInitial}
37
+ {...props}
38
+ />
39
+ <TextInput
40
+ id="last-name"
41
+ label="Last Name"
42
+ name="lastName"
43
+ onChange={handleOnChange}
44
+ placeholder="Enter Last Name"
45
+ value={formFields.lastName}
46
+ {...props}
47
+ />
48
+ </FormGroup>
49
+ </div>
50
+ )
51
+ }
30
52
 
31
53
  export default FormGroupDefault
@@ -1,49 +1,78 @@
1
- import React from 'react'
1
+ import React, { useState } from 'react'
2
2
 
3
3
  import FormGroup from '../_form_group'
4
4
  import TextInput from '../../pb_text_input/_text_input'
5
5
  import Button from '../../pb_button/_button'
6
6
 
7
- const FormGroupFullWidth = (props) => (
8
- <div>
9
- <div>
10
- <FormGroup fullWidth>
11
- <TextInput
12
- id="first-name-full-width"
13
- label="First Name"
14
- placeholder="Enter First Name"
15
- {...props}
16
- />
17
- <TextInput
18
- id="middle-initial-full-width"
19
- label="Middle Initial"
20
- placeholder="Enter Middle Initial"
21
- {...props}
22
- />
23
- <TextInput
24
- id="last-name-full-width"
25
- label="Last Name"
26
- placeholder="Enter Last Name"
27
- {...props}
28
- />
29
- </FormGroup>
30
- </div>
31
- <br />
7
+ const FormGroupFullWidth = (props) => {
8
+ const [formFields, setFormFields] = useState({
9
+ firstName: '',
10
+ middleInitial: '',
11
+ lastName: '',
12
+ })
13
+ const [search, setSearch] = useState('')
14
+
15
+ const handleOnChange = ({ target }) => {
16
+ const { name, value } = target
17
+ setFormFields({ ...formFields, [name]: value })
18
+ }
19
+
20
+ const handleUpdateSearch = ({ target }) => {
21
+ setSearch(target.value)
22
+ }
23
+
24
+ return (
32
25
  <div>
33
- <FormGroup fullWidth>
34
- <TextInput
35
- placeholder="Search"
36
- {...props}
37
- />
38
- <Button
39
- onClick={() => alert('Button Clicked!')}
40
- text="Submit"
41
- variant="secondary"
42
- {...props}
43
- />
44
- </FormGroup>
26
+ <div>
27
+ <FormGroup fullWidth>
28
+ <TextInput
29
+ id="first-name-full-width"
30
+ label="First Name"
31
+ name="firstName"
32
+ onChange={handleOnChange}
33
+ placeholder="Enter First Name"
34
+ value={formFields.firstName}
35
+ {...props}
36
+ />
37
+ <TextInput
38
+ id="middle-initial-full-width"
39
+ label="Middle Initial"
40
+ name="middleInitial"
41
+ onChange={handleOnChange}
42
+ placeholder="Enter Middle Initial"
43
+ value={formFields.middleInitial}
44
+ {...props}
45
+ />
46
+ <TextInput
47
+ id="last-name-full-width"
48
+ label="Last Name"
49
+ name="lastName"
50
+ onChange={handleOnChange}
51
+ placeholder="Enter Last Name"
52
+ value={formFields.lastName}
53
+ {...props}
54
+ />
55
+ </FormGroup>
56
+ </div>
57
+ <br />
58
+ <div>
59
+ <FormGroup fullWidth>
60
+ <TextInput
61
+ onChange={handleUpdateSearch}
62
+ placeholder="Search"
63
+ value={search}
64
+ {...props}
65
+ />
66
+ <Button
67
+ onClick={() => alert('Button Clicked!')}
68
+ text="Submit"
69
+ variant="secondary"
70
+ {...props}
71
+ />
72
+ </FormGroup>
73
+ </div>
45
74
  </div>
46
- </div>
47
- )
75
+ )
76
+ }
48
77
 
49
78
  export default FormGroupFullWidth
@@ -8,9 +8,14 @@ import Flex from '../../pb_flex/_flex'
8
8
  import Passphrase from '../../pb_passphrase/_passphrase'
9
9
 
10
10
  const FormGroupSelect = (props) => {
11
+ const [artistName, setArtistName] = useState('')
11
12
  const [input, setInput] = useState("");
12
13
  const handleChange = (e) => setInput(e.target.value);
13
14
 
15
+ const handleUpdateArtistName = ({ target }) => {
16
+ setArtistName(target.value)
17
+ }
18
+
14
19
  const options = [
15
20
  { value: 'Country' },
16
21
  { value: 'Pop' },
@@ -36,7 +41,9 @@ const FormGroupSelect = (props) => {
36
41
  >
37
42
  <FormGroup>
38
43
  <TextInput
44
+ onChange={handleUpdateArtistName}
39
45
  placeholder="Enter Artist Name"
46
+ value={artistName}
40
47
  {...props}
41
48
  />
42
49
  <Select
@@ -253,8 +253,10 @@ $product_9_background: #fcc419 !default;
253
253
  $product_9_highlight: #ffd43b !default;
254
254
  $product_10_background: #20c997 !default;
255
255
  $product_10_highlight: #38d9a9 !default;
256
- $product_11_background: #8D5500 !default;
257
- $product_11_highlight: #A36D00 !default;
256
+ $product_11_background: #635445 !default;
257
+ $product_11_highlight: #A48D77 !default;
258
+ $product_12_background: #6F83AF !default;
259
+ $product_12_highlight: #7E94C6 !default;
258
260
  $windows: $product_1_background !default; // deprecated
259
261
  $siding: $product_2_background !default; // deprecated
260
262
  $doors: $product_3_background !default; // deprecated
@@ -293,7 +295,9 @@ $product_colors: (
293
295
  product_10_background: $product_10_background,
294
296
  product_10_highlight: $product_10_highlight,
295
297
  product_11_background: $product_11_background,
296
- product_11_highlight: $product_11_highlight
298
+ product_11_highlight: $product_11_highlight,
299
+ product_12_background: $product_12_background,
300
+ product_12_highlight: $product_12_highlight
297
301
  ) !default;
298
302
 
299
303
  /* Category colors ---------------------*/
@@ -7,6 +7,8 @@ $height_lg: 1024px !default;
7
7
  $height_xl: 1280px !default;
8
8
  $height_2xl: 1440px !default;
9
9
  $height_3xl: 1920px !default;
10
+ $height_100_percent: 100% !default;
11
+ $height_100vh: 100vh !default;
10
12
  $heights: (
11
13
  height_auto: $height_auto,
12
14
  height_xs: $height_xs,
@@ -15,5 +17,7 @@ $heights: (
15
17
  height_lg: $height_lg,
16
18
  height_xl: $height_xl,
17
19
  height_xxl: $height_2xl,
18
- height_xxxl: $height_3xl
20
+ height_xxxl: $height_3xl,
21
+ height_100_percent: $height_100_percent,
22
+ height_100vh: $height_100vh
19
23
  );