playbook_ui 12.5.0 → 12.6.0.pre.alpha.collapsible1

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 (62) hide show
  1. checksums.yaml +4 -4
  2. data/app/pb_kits/playbook/_playbook.scss +2 -0
  3. data/app/pb_kits/playbook/data/menu.yml +2 -1
  4. data/app/pb_kits/playbook/index.js +1 -0
  5. data/app/pb_kits/playbook/pb_button/_button_mixins.scss +2 -2
  6. data/app/pb_kits/playbook/pb_circle_icon_button/_circle_icon_button.scss +1 -1
  7. data/app/pb_kits/playbook/pb_collapsible/_collapsible.tsx +5 -1
  8. data/app/pb_kits/playbook/pb_collapsible/child_kits/CollapsibleMain.tsx +10 -4
  9. data/app/pb_kits/playbook/pb_collapsible/collapsible_main.html.erb +2 -2
  10. data/app/pb_kits/playbook/pb_collapsible/collapsible_main.rb +7 -0
  11. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_main_flex.html.erb +10 -0
  12. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_main_flex.jsx +23 -0
  13. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_main_flex.md +1 -0
  14. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_main_flex_item.html.erb +23 -0
  15. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_main_flex_item.jsx +48 -0
  16. data/app/pb_kits/playbook/pb_collapsible/docs/_collapsible_main_flex_item.md +1 -0
  17. data/app/pb_kits/playbook/pb_collapsible/docs/example.yml +6 -1
  18. data/app/pb_kits/playbook/pb_collapsible/docs/index.js +2 -0
  19. data/app/pb_kits/playbook/pb_filter/Filter/CurrentFilters.tsx +72 -0
  20. data/app/pb_kits/playbook/pb_filter/Filter/{FilterBackground.jsx → FilterBackground.tsx} +12 -14
  21. data/app/pb_kits/playbook/pb_filter/Filter/{FilterDouble.jsx → FilterDouble.tsx} +7 -8
  22. data/app/pb_kits/playbook/pb_filter/Filter/{FilterSingle.jsx → FilterSingle.tsx} +25 -25
  23. data/app/pb_kits/playbook/pb_filter/Filter/{FiltersPopover.jsx → FiltersPopover.tsx} +13 -11
  24. data/app/pb_kits/playbook/pb_filter/Filter/{ResultsCount.jsx → ResultsCount.tsx} +39 -14
  25. data/app/pb_kits/playbook/pb_filter/Filter/{SortMenu.jsx → SortMenu.tsx} +6 -6
  26. data/app/pb_kits/playbook/pb_filter/Filter/{index.jsx → index.tsx} +17 -10
  27. data/app/pb_kits/playbook/pb_filter/{_filter.jsx → _filter.tsx} +0 -2
  28. data/app/pb_kits/playbook/pb_list/_list.tsx +2 -2
  29. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.scss +86 -0
  30. data/app/pb_kits/playbook/pb_multi_level_select/_multi_level_select.tsx +81 -0
  31. data/app/pb_kits/playbook/pb_multi_level_select/_multi_select_helper.tsx +30 -0
  32. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_default.jsx +86 -0
  33. data/app/pb_kits/playbook/pb_multi_level_select/docs/_multi_level_select_default.md +3 -0
  34. data/app/pb_kits/playbook/pb_multi_level_select/docs/example.yml +6 -0
  35. data/app/pb_kits/playbook/pb_multi_level_select/docs/index.js +1 -0
  36. data/app/pb_kits/playbook/pb_multi_level_select/helper_functions.ts +60 -0
  37. data/app/pb_kits/playbook/pb_multi_level_select/multi_level_select.test.jsx +40 -0
  38. data/app/pb_kits/playbook/pb_person_contact/{_person_contact.jsx → _person_contact.tsx} +19 -22
  39. data/app/pb_kits/playbook/pb_person_contact/person_contact.test.js +112 -0
  40. data/app/pb_kits/playbook/pb_phone_number_input/_phone_number_input.tsx +61 -47
  41. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_initial_country.html.erb +3 -0
  42. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_only_countries.html.erb +4 -0
  43. data/app/pb_kits/playbook/pb_phone_number_input/docs/_phone_number_input_preferred_countries.html.erb +4 -0
  44. data/app/pb_kits/playbook/pb_phone_number_input/docs/example.yml +4 -1
  45. data/app/pb_kits/playbook/pb_phone_number_input/phone_number_input.html.erb +1 -15
  46. data/app/pb_kits/playbook/pb_popover/_popover.tsx +33 -32
  47. data/app/pb_kits/playbook/playbook-doc.js +2 -0
  48. data/app/pb_kits/playbook/tokens/_animation-curves.scss +30 -30
  49. data/app/pb_kits/playbook/tokens/_border_radius.scss +15 -16
  50. data/app/pb_kits/playbook/tokens/_colors.scss +3 -1
  51. data/app/pb_kits/playbook/tokens/_display.scss +6 -6
  52. data/app/pb_kits/playbook/tokens/_line_height.scss +7 -7
  53. data/app/pb_kits/playbook/tokens/_opacity.scss +10 -10
  54. data/app/pb_kits/playbook/tokens/_positioning.scss +11 -11
  55. data/app/pb_kits/playbook/tokens/_screen_sizes.scss +10 -10
  56. data/app/pb_kits/playbook/tokens/_shadows.scss +4 -4
  57. data/app/pb_kits/playbook/tokens/_spacing.scss +6 -6
  58. data/app/pb_kits/playbook/tokens/_transition.scss +3 -3
  59. data/app/pb_kits/playbook/tokens/_typography.scss +35 -46
  60. data/lib/playbook/version.rb +2 -2
  61. metadata +33 -14
  62. data/app/pb_kits/playbook/pb_filter/Filter/CurrentFilters.jsx +0 -76
@@ -0,0 +1,112 @@
1
+ import React from 'react'
2
+ import { render, screen } from '../utilities/test-utils'
3
+ import PersonContact from './_person_contact'
4
+
5
+ const testId = 'personContact'
6
+ const multipleTestId = 'personContactMultiple'
7
+
8
+ const PersonContactTest = (props) => {
9
+ return (
10
+ <>
11
+ <PersonContact
12
+ aria={{ label: testId }}
13
+ className={'custom-class'}
14
+ contacts={[
15
+ {
16
+ contactType: 'email',
17
+ contactValue: 'email@example.com',
18
+ },
19
+ {
20
+ contactValue: '5555555555',
21
+ contactDetail: 'Home',
22
+ },
23
+ {
24
+ contactType: 'work',
25
+ contactValue: '3245627482',
26
+ contactDetail: 'Work',
27
+ },
28
+ ]}
29
+ data={{ testid: testId }}
30
+ firstName="Jose"
31
+ id={testId}
32
+ lastName="da Silva"
33
+ {...props}
34
+ />
35
+ <PersonContact
36
+ contacts={[
37
+ {
38
+ contactValue: '5555555555',
39
+ contactType: 'wrong-phone',
40
+ },
41
+ ]}
42
+ data={{ testid: multipleTestId }}
43
+ firstName="Brenda"
44
+ lastName="Walters"
45
+ {...props}
46
+ />
47
+ </>
48
+ )
49
+ }
50
+
51
+ test('should render custom class and data', () => {
52
+ render(<PersonContactTest />)
53
+
54
+ const kit = screen.getByTestId(testId)
55
+ expect(kit).toHaveClass('custom-class')
56
+ })
57
+
58
+ test('should render id', () => {
59
+ render(<PersonContactTest />)
60
+
61
+ const kit = screen.getByTestId(testId)
62
+ expect(kit).toHaveProperty('id', testId)
63
+ })
64
+
65
+ test('should render aria-label', () => {
66
+ render(<PersonContactTest />)
67
+
68
+ const kit = screen.getByTestId(testId)
69
+ expect(kit).toHaveAttribute('aria-label', testId)
70
+ })
71
+
72
+ test('should render firstName', () => {
73
+ render(<PersonContactTest />)
74
+
75
+ const kit = screen.getByTestId(testId)
76
+ expect(kit).toHaveTextContent('Jose')
77
+ })
78
+
79
+ test('should render lastName', () => {
80
+ render(<PersonContactTest />)
81
+
82
+ const kit = screen.getByTestId(testId)
83
+ expect(kit).toHaveTextContent('da Silva')
84
+ })
85
+
86
+ test('should render contact value', () => {
87
+ render(<PersonContactTest />)
88
+
89
+ const kit = screen.getByTestId(testId)
90
+ expect(kit).toHaveTextContent('(555) 555-5555')
91
+ })
92
+
93
+ test('should render contact detail', () => {
94
+ render(<PersonContactTest />)
95
+
96
+ const kit = screen.getByTestId(testId)
97
+ expect(kit).toHaveTextContent('Home')
98
+ })
99
+
100
+ test('should render multiple contacts', () => {
101
+ render(<PersonContactTest />)
102
+
103
+ const kit = screen.getByTestId(multipleTestId)
104
+ expect(kit).toHaveTextContent('Brenda Walters')
105
+ })
106
+
107
+ test('should render wrong number', () => {
108
+ render(<PersonContactTest />)
109
+
110
+ const kit = screen.getByTestId(multipleTestId)
111
+ expect(kit).toHaveTextContent('wrong number')
112
+ })
@@ -1,32 +1,32 @@
1
1
  /* @flow */
2
- import React, { useEffect, useRef, useState } from 'react'
3
- import classnames from 'classnames'
4
- import { buildAriaProps, buildCss, buildDataProps } from '../utilities/props'
5
- import { globalProps } from '../utilities/globalProps'
6
- import intlTelInput from 'intl-tel-input'
7
- import 'intl-tel-input/build/css/intlTelInput.css'
8
- import TextInput from '../pb_text_input/_text_input'
2
+ import React, { useEffect, useRef, useState } from "react"
3
+ import classnames from "classnames"
4
+ import { buildAriaProps, buildCss, buildDataProps } from "../utilities/props"
5
+ import { globalProps } from "../utilities/globalProps"
6
+ import intlTelInput from "intl-tel-input"
7
+ import "intl-tel-input/build/css/intlTelInput.css"
8
+ import TextInput from "../pb_text_input/_text_input"
9
9
 
10
10
  declare global {
11
11
  interface Window {
12
- intlTelInputGlobals: any,
12
+ intlTelInputGlobals: any
13
13
  }
14
14
  }
15
15
 
16
16
  type PhoneNumberInputProps = {
17
- aria?: { [key: string]: string },
18
- className?: string,
19
- data?: { [key: string]: string },
20
- disabled?: boolean,
21
- id?: string,
22
- initialCountry?: string,
23
- isValid?: (valid: boolean) => void,
24
- label?: string,
25
- name?: string,
26
- onChange?: (e: React.FormEvent<HTMLInputElement>) => void,
27
- onlyCountries: string[],
28
- preferredCountries?: string[],
29
- value?: string,
17
+ aria?: { [key: string]: string }
18
+ className?: string
19
+ data?: { [key: string]: string }
20
+ disabled?: boolean
21
+ id?: string
22
+ initialCountry?: string
23
+ isValid?: (valid: boolean) => void
24
+ label?: string
25
+ name?: string
26
+ onChange?: (e: React.FormEvent<HTMLInputElement>) => void
27
+ onlyCountries: string[]
28
+ preferredCountries?: string[]
29
+ value?: string
30
30
  }
31
31
 
32
32
  enum ValidationError {
@@ -35,17 +35,20 @@ enum ValidationError {
35
35
  }
36
36
 
37
37
  const formatToGlobalCountryName = (countryName: string) => {
38
- return countryName.split('(')[0].trim()
38
+ return countryName.split("(")[0].trim()
39
39
  }
40
40
 
41
41
  const formatAllCountries = () => {
42
42
  let countryData = window.intlTelInputGlobals.getCountryData()
43
+
43
44
  for (let i = 0; i < countryData.length; i++) {
44
45
  let country = countryData[i]
45
46
  country.name = formatToGlobalCountryName(country.name)
46
47
  }
47
48
  }
48
49
 
50
+ formatAllCountries()
51
+
49
52
  const containOnlyNumbers = (value: string) => {
50
53
  return /^(\++)*(\d+)$/.test(value)
51
54
  }
@@ -56,25 +59,33 @@ const PhoneNumberInput = (props: PhoneNumberInputProps) => {
56
59
  className,
57
60
  data = {},
58
61
  disabled = false,
59
- id = '',
60
- initialCountry = '',
61
- isValid = () => {void 0 },
62
- label = '',
63
- name = '',
64
- onChange = () => { void 0 },
62
+ id = "",
63
+ initialCountry = "",
64
+ isValid = () => {
65
+ void 0
66
+ },
67
+ label = "",
68
+ name = "",
69
+ onChange = () => {
70
+ void 0
71
+ },
65
72
  onlyCountries = [],
66
73
  preferredCountries = [],
67
- value = '',
74
+ value = "",
68
75
  } = props
69
76
 
70
77
  const ariaProps = buildAriaProps(aria)
71
78
  const dataProps = buildDataProps(data)
72
- const classes = classnames(buildCss('pb_phone_number_input'), globalProps(props), className)
79
+ const classes = classnames(
80
+ buildCss("pb_phone_number_input"),
81
+ globalProps(props),
82
+ className
83
+ )
73
84
 
74
85
  const inputRef = useRef<HTMLInputElement>()
75
86
  const [inputValue, setInputValue] = useState(value)
76
87
  const [itiInit, setItiInit] = useState<any>()
77
- const [error, setError] = useState('')
88
+ const [error, setError] = useState("")
78
89
 
79
90
  const validateTooLongNumber = (itiInit: any) => {
80
91
  const error = itiInit.getValidationError()
@@ -83,7 +94,7 @@ const PhoneNumberInput = (props: PhoneNumberInputProps) => {
83
94
  const countryName = itiInit.getSelectedCountryData().name
84
95
  setError(`Invalid ${countryName} phone number (too long)`)
85
96
  } else {
86
- setError('')
97
+ setError("")
87
98
  }
88
99
  }
89
100
 
@@ -98,7 +109,7 @@ const PhoneNumberInput = (props: PhoneNumberInputProps) => {
98
109
 
99
110
  const validateOnlyNumbers = () => {
100
111
  if (inputValue && !containOnlyNumbers(inputValue)) {
101
- setError('Invalid phone number. Enter numbers only.')
112
+ setError("Invalid phone number. Enter numbers only.")
102
113
  }
103
114
  }
104
115
 
@@ -114,29 +125,32 @@ const PhoneNumberInput = (props: PhoneNumberInputProps) => {
114
125
  isValid(itiInit.isValidNumber())
115
126
  }
116
127
 
128
+ // Separating Concerns as React Docs Recommend
129
+ // This also Fixes things for our react_component rendering on the Rails Side
117
130
  useEffect(() => {
118
131
  formatAllCountries()
132
+ }, [])
119
133
 
134
+ useEffect(() => {
120
135
  const telInputInit = new intlTelInput(inputRef.current, {
121
- utilsScript: 'https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.19/js/utils.js',
122
- separateDialCode: true,
123
- preferredCountries,
124
- allowDropdown: !disabled,
125
- initialCountry,
126
- onlyCountries,
127
- }
136
+ utilsScript:
137
+ "https://cdnjs.cloudflare.com/ajax/libs/intl-tel-input/17.0.19/js/utils.js",
138
+ separateDialCode: true,
139
+ preferredCountries,
140
+ allowDropdown: !disabled,
141
+ initialCountry,
142
+ onlyCountries,
143
+ })
144
+
145
+ inputRef.current.addEventListener("countrychange", () =>
146
+ validateTooLongNumber(telInputInit)
128
147
  )
129
-
130
- inputRef.current.addEventListener("countrychange", () => validateTooLongNumber(telInputInit))
148
+
131
149
  setItiInit(telInputInit)
132
150
  }, [])
133
151
 
134
152
  return (
135
- <div
136
- {...ariaProps}
137
- {...dataProps}
138
- className={classes}
139
- >
153
+ <div {...ariaProps} {...dataProps} className={classes}>
140
154
  <TextInput
141
155
  disabled={disabled}
142
156
  error={error}
@@ -0,0 +1,3 @@
1
+ <%= pb_rails("phone_number_input", props: {
2
+ initial_country: "br"
3
+ }) %>
@@ -0,0 +1,4 @@
1
+ <%= pb_rails("phone_number_input", props: {
2
+ initial_country: "br",
3
+ only_countries: ['us', 'br']
4
+ }) %>
@@ -0,0 +1,4 @@
1
+ <%= pb_rails("phone_number_input", props: {
2
+ initial_country: "br",
3
+ preferred_countries: ['us', 'br', 'ph', 'gb']
4
+ }) %>
@@ -7,4 +7,7 @@ examples:
7
7
  - phone_number_input_only_countries: Limited Countries
8
8
 
9
9
  rails:
10
- - phone_number_input_default: Default
10
+ - phone_number_input_default: Default
11
+ - phone_number_input_preferred_countries: Preferred Countries
12
+ - phone_number_input_initial_country: Initial Country
13
+ - phone_number_input_only_countries: Limited Countries
@@ -1,15 +1 @@
1
- <%= react_component("PhoneNumberInput", object.phone_number_input_options) %>
2
-
3
- <script>
4
- const formatToGlobalCountryName = () => {
5
- return countryName.split('(')[0].trim()
6
- }
7
-
8
- const formatAllCountries = () => {
9
- let countryData = window.intlTelInputGlobals.getCountryData()
10
- for (let i = 0; i < countryData.length; i++) {
11
- let country = countryData[i]
12
- country.name = formatToGlobalCountryName(country.name)
13
- }
14
- }
15
- </script>
1
+ <%= react_component("PhoneNumberInput", object.phone_number_input_options) %>
@@ -1,6 +1,5 @@
1
1
  import React, { useEffect } from "react";
2
2
  import ReactDOM from "react-dom";
3
-
4
3
  import {
5
4
  Popper,
6
5
  Manager as PopperManager,
@@ -23,7 +22,7 @@ type PbPopoverProps = {
23
22
  aria?: { [key: string]: string };
24
23
  className?: string;
25
24
  closeOnClick?: "outside" | "inside" | "any";
26
- data?: object;
25
+ data?: { [key: string]: string },
27
26
  id?: string;
28
27
  offset?: boolean;
29
28
  reference: PopperReference & any;
@@ -100,31 +99,31 @@ const Popover = (props: PbPopoverProps) => {
100
99
 
101
100
  return (
102
101
  <Popper
103
- modifiers={popoverModifiers({ modifiers, offset })}
104
- placement={placement}
105
- referenceElement={referenceElement}
102
+ modifiers={popoverModifiers({ modifiers, offset })}
103
+ placement={placement}
104
+ referenceElement={referenceElement}
106
105
  >
107
106
  {({ placement, ref, style }) => {
108
107
  return (
109
108
  <div
110
- {...ariaProps}
111
- {...dataProps}
112
- className={classes}
113
- data-placement={placement}
114
- id={id}
115
- ref={ref}
116
- style={Object.assign({}, style, zIndexStyle)}
109
+ {...ariaProps}
110
+ {...dataProps}
111
+ className={classes}
112
+ data-placement={placement}
113
+ id={id}
114
+ ref={ref}
115
+ style={Object.assign({}, style, zIndexStyle)}
117
116
  >
118
117
  <div
119
- className={classnames(`${buildCss("pb_popover_tooltip")} show`)}
118
+ className={classnames(`${buildCss("pb_popover_tooltip")} show`)}
120
119
  >
121
120
  <div
122
- className={classnames(
123
- "pb_popover_body",
124
- popoverSpacing,
125
- overflowHandling
126
- )}
127
- style={widthHeightStyles()}
121
+ className={classnames(
122
+ "pb_popover_body",
123
+ popoverSpacing,
124
+ overflowHandling
125
+ )}
126
+ style={widthHeightStyles()}
128
127
  >
129
128
  {children}
130
129
  </div>
@@ -192,17 +191,17 @@ const PbReactPopover = (props: PbPopoverProps) => {
192
191
 
193
192
  const popoverComponent = (
194
193
  <Popover
195
- className={className}
196
- maxHeight={maxHeight}
197
- maxWidth={maxWidth}
198
- minHeight={minHeight}
199
- minWidth={minWidth}
200
- modifiers={modifiers}
201
- offset={offset}
202
- placement={placement}
203
- referenceElement={referenceElement}
204
- zIndex={zIndex}
205
- {...props}
194
+ className={className}
195
+ maxHeight={maxHeight}
196
+ maxWidth={maxWidth}
197
+ minHeight={minHeight}
198
+ minWidth={minWidth}
199
+ modifiers={modifiers}
200
+ offset={offset}
201
+ placement={placement}
202
+ referenceElement={referenceElement}
203
+ zIndex={zIndex}
204
+ {...props}
206
205
  >
207
206
  {children}
208
207
  </Popover>
@@ -214,7 +213,9 @@ const PbReactPopover = (props: PbPopoverProps) => {
214
213
  {reference && !referenceElement && (
215
214
  <PopperReference>
216
215
  {({ ref }) => (
217
- <span className="pb_popover_reference_wrapper" ref={ref}>
216
+ <span
217
+ className="pb_popover_reference_wrapper"
218
+ ref={ref}>
218
219
  <reference.type {...reference.props} />
219
220
  </span>
220
221
  )}
@@ -236,4 +237,4 @@ const PbReactPopover = (props: PbPopoverProps) => {
236
237
  );
237
238
  };
238
239
 
239
- export default PbReactPopover;
240
+ export default PbReactPopover;
@@ -57,6 +57,7 @@ import * as List from 'pb_list/docs'
57
57
  import * as LoadingInline from 'pb_loading_inline/docs'
58
58
  import * as Map from 'pb_map/docs'
59
59
  import * as Message from 'pb_message/docs'
60
+ import * as MultiLevelSelect from 'pb_multi_level_select/docs'
60
61
  import * as MultipleUsers from 'pb_multiple_users/docs'
61
62
  import * as MultipleUsersStacked from 'pb_multiple_users_stacked/docs'
62
63
  import * as Nav from 'pb_nav/docs'
@@ -156,6 +157,7 @@ WebpackerReact.setup({
156
157
  ...LoadingInline,
157
158
  ...Map,
158
159
  ...Message,
160
+ ...MultiLevelSelect,
159
161
  ...MultipleUsers,
160
162
  ...MultipleUsersStacked,
161
163
  ...Nav,
@@ -1,37 +1,37 @@
1
- $bezier: cubic-bezier(.64, 0, .35, 1);
1
+ $bezier: cubic-bezier(.64, 0, .35, 1) !default;
2
2
  // +transition-timing-function(cubic-bezier(0.7, 0, 0.3, 1))
3
3
 
4
4
  /* Default Equations */
5
- $linear: cubic-bezier(0.250, 0.250, 0.750, 0.750);
6
- $ease: cubic-bezier(0.250, 0.100, 0.250, 1.000);
7
- $easeIn: cubic-bezier(0.420, 0.000, 1.000, 1.000);
8
- $easeOut: cubic-bezier(0.000, 0.000, 0.580, 1.000);
9
- $easeInOut: cubic-bezier(0.420, 0.000, 0.580, 1.000);
5
+ $linear: cubic-bezier(0.250, 0.250, 0.750, 0.750) !default;
6
+ $ease: cubic-bezier(0.250, 0.100, 0.250, 1.000) !default;
7
+ $easeIn: cubic-bezier(0.420, 0.000, 1.000, 1.000) !default;
8
+ $easeOut: cubic-bezier(0.000, 0.000, 0.580, 1.000) !default;
9
+ $easeInOut: cubic-bezier(0.420, 0.000, 0.580, 1.000) !default;
10
10
 
11
11
  /* Penner Equations (approximated) originally created by @robpenner */
12
- $easeInQuad: cubic-bezier(0.550, 0.085, 0.680, 0.530);
13
- $easeInCubic: cubic-bezier(0.550, 0.055, 0.675, 0.190);
14
- $easeInQuart: cubic-bezier(0.895, 0.030, 0.685, 0.220);
15
- $easeInQuint: cubic-bezier(0.755, 0.050, 0.855, 0.060);
16
- $easeInSine: cubic-bezier(0.470, 0.000, 0.745, 0.715);
17
- $easeInExpo: cubic-bezier(0.950, 0.050, 0.795, 0.035);
18
- $easeInCirc: cubic-bezier(0.600, 0.040, 0.980, 0.335);
19
- $easeInBack: cubic-bezier(0.600, -0.280, 0.735, 0.045);
12
+ $easeInQuad: cubic-bezier(0.550, 0.085, 0.680, 0.530) !default;
13
+ $easeInCubic: cubic-bezier(0.550, 0.055, 0.675, 0.190) !default;
14
+ $easeInQuart: cubic-bezier(0.895, 0.030, 0.685, 0.220) !default;
15
+ $easeInQuint: cubic-bezier(0.755, 0.050, 0.855, 0.060) !default;
16
+ $easeInSine: cubic-bezier(0.470, 0.000, 0.745, 0.715) !default;
17
+ $easeInExpo: cubic-bezier(0.950, 0.050, 0.795, 0.035) !default;
18
+ $easeInCirc: cubic-bezier(0.600, 0.040, 0.980, 0.335) !default;
19
+ $easeInBack: cubic-bezier(0.600, -0.280, 0.735, 0.045) !default;
20
20
 
21
- $easeOutQuad: cubic-bezier(0.250, 0.460, 0.450, 0.940);
22
- $easeOutCubic: cubic-bezier(0.215, 0.610, 0.355, 1.000);
23
- $easeOutQuart: cubic-bezier(0.165, 0.840, 0.440, 1.000);
24
- $easeOutQuint: cubic-bezier(0.230, 1.000, 0.320, 1.000);
25
- $easeOutSine: cubic-bezier(0.390, 0.575, 0.565, 1.000);
26
- $easeOutExpo: cubic-bezier(0.190, 1.000, 0.220, 1.000);
27
- $easeOutCirc: cubic-bezier(0.075, 0.820, 0.165, 1.000);
28
- $easeOutBack: cubic-bezier(0.175, 0.885, 0.320, 1.275);
21
+ $easeOutQuad: cubic-bezier(0.250, 0.460, 0.450, 0.940) !default;
22
+ $easeOutCubic: cubic-bezier(0.215, 0.610, 0.355, 1.000) !default;
23
+ $easeOutQuart: cubic-bezier(0.165, 0.840, 0.440, 1.000) !default;
24
+ $easeOutQuint: cubic-bezier(0.230, 1.000, 0.320, 1.000) !default;
25
+ $easeOutSine: cubic-bezier(0.390, 0.575, 0.565, 1.000) !default;
26
+ $easeOutExpo: cubic-bezier(0.190, 1.000, 0.220, 1.000) !default;
27
+ $easeOutCirc: cubic-bezier(0.075, 0.820, 0.165, 1.000) !default;
28
+ $easeOutBack: cubic-bezier(0.175, 0.885, 0.320, 1.275) !default;
29
29
 
30
- $easeInOutQuad: cubic-bezier(0.455, 0.030, 0.515, 0.955);
31
- $easeInOutCubic: cubic-bezier(0.645, 0.045, 0.355, 1.000);
32
- $easeInOutQuart: cubic-bezier(0.770, 0.000, 0.175, 1.000);
33
- $easeInOutQuint: cubic-bezier(0.860, 0.000, 0.070, 1.000);
34
- $easeInOutSine: cubic-bezier(0.445, 0.050, 0.550, 0.950);
35
- $easeInOutExpo: cubic-bezier(1.000, 0.000, 0.000, 1.000);
36
- $easeInOutCirc: cubic-bezier(0.785, 0.135, 0.150, 0.860);
37
- $easeInOutBack: cubic-bezier(0.680, -0.550, 0.265, 1.550);
30
+ $easeInOutQuad: cubic-bezier(0.455, 0.030, 0.515, 0.955) !default;
31
+ $easeInOutCubic: cubic-bezier(0.645, 0.045, 0.355, 1.000) !default;
32
+ $easeInOutQuart: cubic-bezier(0.770, 0.000, 0.175, 1.000) !default;
33
+ $easeInOutQuint: cubic-bezier(0.860, 0.000, 0.070, 1.000) !default;
34
+ $easeInOutSine: cubic-bezier(0.445, 0.050, 0.550, 0.950) !default;
35
+ $easeInOutExpo: cubic-bezier(1.000, 0.000, 0.000, 1.000) !default;
36
+ $easeInOutCirc: cubic-bezier(0.785, 0.135, 0.150, 0.860) !default;
37
+ $easeInOutBack: cubic-bezier(0.680, -0.550, 0.265, 1.550) !default;
@@ -1,20 +1,19 @@
1
-
2
1
  // Border Radius
3
- $border_rad_lightest: 1px;
4
- $border_rad_lighter: 2px;
5
- $border_rad_light: 4px;
6
- $border_rad_normal: 0;
7
- $border_rad_heavy: 5px;
8
- $border_rad_heavier: 6px;
9
- $border_rad_heaviest: 7px;
10
- $border_rad_mega: 1000px;
11
- $border_radius_xs: 4px;
12
- $border_radius_sm: 4px;
13
- $border_radius_md: 6px;
14
- $border_radius_lg: 8px;
15
- $border_radius_xl: 16px;
16
- $border_radius_rounded: 1000px;
17
- $border_radius_none: 0;
2
+ $border_rad_lightest: 1px !default;
3
+ $border_rad_lighter: 2px !default;
4
+ $border_rad_light: 4px !default;
5
+ $border_rad_normal: 0 !default;
6
+ $border_rad_heavy: 5px !default;
7
+ $border_rad_heavier: 6px !default;
8
+ $border_rad_heaviest: 7px !default;
9
+ $border_rad_mega: 1000px !default;
10
+ $border_radius_xs: 4px !default;
11
+ $border_radius_sm: 4px !default;
12
+ $border_radius_md: 6px !default;
13
+ $border_radius_lg: 8px !default;
14
+ $border_radius_xl: 16px !default;
15
+ $border_radius_rounded: 1000px !default;
16
+ $border_radius_none: 0 !default;
18
17
  $border_radius: (
19
18
  lightest: $border_rad_lightest,
20
19
  lighter: $border_rad_lighter,
@@ -11,7 +11,7 @@ $teal: #00C4D7 !default;
11
11
  $red: #DA0014 !default;
12
12
  $red_dark: #ff4a50 !default;
13
13
  $yellow: #F9BB00 !default;
14
- $green: #00CA74 !default;
14
+ $green: #1CA05C !default;
15
15
  $orange: #FD804C !default;
16
16
  $default: #93a8b8 !default;
17
17
  $colors: (
@@ -75,6 +75,8 @@ $card_colors: (
75
75
  );
76
76
 
77
77
  $primary-action: $primary !default;
78
+ $secondary-action: rgba($primary_action, 0.05) !default;
79
+
78
80
  $action_colors: (
79
81
  primary_action: $primary-action
80
82
  );
@@ -1,9 +1,9 @@
1
- $display_inline: inline;
2
- $display_block: block;
3
- $display_inline_block: inline-block;
4
- $display_flex: flex;
5
- $display_none: none;
6
- $display_inline_flex: inline-flex;
1
+ $display_inline: inline !default;
2
+ $display_block: block !default;
3
+ $display_inline_block: inline-block !default;
4
+ $display_flex: flex !default;
5
+ $display_none: none !default;
6
+ $display_inline_flex: inline-flex !default;
7
7
  $displays: (
8
8
  display_none: $display_none,
9
9
  display_flex: $display_flex,
@@ -1,10 +1,10 @@
1
- $lh_tightest: 1;
2
- $lh_tighter: 1.2;
3
- $lh_tight: 1.4;
4
- $lh_normal: 1.5;
5
- $lh_loose: 1.6;
6
- $lh_looser: 1.8;
7
- $lh_loosest: 2;
1
+ $lh_tightest: 1 !default;
2
+ $lh_tighter: 1.2 !default;
3
+ $lh_tight: 1.4 !default;
4
+ $lh_normal: 1.5 !default;
5
+ $lh_loose: 1.6 !default;
6
+ $lh_looser: 1.8 !default;
7
+ $lh_loosest: 2 !default;
8
8
  $line_height: (
9
9
  tightest: $lh_tightest,
10
10
  tighter: $lh_tighter,
@@ -1,13 +1,13 @@
1
- $opacity_1: .1;
2
- $opacity_2: .2;
3
- $opacity_3: .3;
4
- $opacity_4: .4;
5
- $opacity_5: .5;
6
- $opacity_6: .6;
7
- $opacity_7: .7;
8
- $opacity_8: .8;
9
- $opacity_9: .9;
10
- $opacity_10: 1;
1
+ $opacity_1: .1 !default;
2
+ $opacity_2: .2 !default;
3
+ $opacity_3: .3 !default;
4
+ $opacity_4: .4 !default;
5
+ $opacity_5: .5 !default;
6
+ $opacity_6: .6 !default;
7
+ $opacity_7: .7 !default;
8
+ $opacity_8: .8 !default;
9
+ $opacity_9: .9 !default;
10
+ $opacity_10: 1 !default;
11
11
  $opacity: (
12
12
  opacity_1: $opacity_1,
13
13
  opacity_2: $opacity_2,