@stamcat/craftsman 0.0.27-alpha.13 → 0.0.27-alpha.15

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/Components.esm.js +11 -9
  2. package/Utilities.esm.js +2 -2
  3. package/package.json +6 -1
  4. package/src/components/{Input → Checkbox}/Checkbox.d.ts +2 -3
  5. package/src/components/{Input → Checkbox}/Checkbox.esm.js +2 -2
  6. package/src/components/DatePicker/DatePicker.css +1 -0
  7. package/src/components/DatePicker/DatePicker.d.ts +8 -0
  8. package/src/{styles/global/components/_reactDatePicker.scss → components/DatePicker/DatePicker.scss} +5 -4
  9. package/src/components/{Input/DatePicker.esm.js → DatePicker/DatePicker2.esm.js} +4 -4
  10. package/src/components/DatePicker/ReactCalendar.css +1 -0
  11. package/src/components/DatePicker/ReactCalendar.scss +239 -0
  12. package/src/components/DateTimePicker/DateTimePicker.d.ts +8 -0
  13. package/src/components/{Input → InputPassword}/InputPassword.d.ts +1 -1
  14. package/src/components/{Input → InputPassword}/InputPassword.esm.js +2 -2
  15. package/src/{styles/global/components/_reactPhone.css → components/InputPhone/InputPhone.css} +1 -1
  16. package/src/components/{Input → InputPhone}/InputPhone.d.ts +1 -1
  17. package/src/components/InputPhone/InputPhone.scss +266 -0
  18. package/src/components/{Input/InputPhone.esm.js → InputPhone/InputPhone2.esm.js} +3 -3
  19. package/src/components/{Input → RadioButton}/RadioButton.d.ts +1 -1
  20. package/src/components/{Input → RadioButton}/RadioButton.esm.js +2 -2
  21. package/src/components/{Input → Textarea}/Textarea.d.ts +1 -1
  22. package/src/components/{Input → Textarea}/Textarea.esm.js +2 -2
  23. package/src/components/TimePicker/TimePicker.css +1 -0
  24. package/src/components/TimePicker/TimePicker.d.ts +5 -4
  25. package/src/components/TimePicker/TimePicker.scss +29 -0
  26. package/src/components/TimePicker/TimePicker2.esm.js +129 -0
  27. package/src/components/TimePicker/TimePickerDisplay.d.ts +6 -1
  28. package/src/components/TimePicker/TimePickerWheel.esm.js +61 -0
  29. package/src/components/TimePicker/constants.esm.js +3 -0
  30. package/src/components/TimePicker/utilities.d.ts +1 -0
  31. package/src/components/TimePicker/utilities.esm.js +20 -0
  32. package/src/components/Tooltip/Tooltip.d.ts +12 -0
  33. package/src/components/Tooltip/Tooltip.scss +29 -0
  34. package/src/components/index.d.ts +7 -6
  35. package/src/utilities/validations.d.ts +1 -0
  36. package/src/utilities/validations.esm.js +7 -4
  37. package/src/components/Input/DatePicker.d.ts +0 -8
  38. package/src/styles/global/components/_reactCalendar.css +0 -1
  39. package/src/styles/global/components/_reactCalendar.scss +0 -237
  40. package/src/styles/global/components/_reactDatePicker.css +0 -1
  41. package/src/styles/global/components/_reactPhone.scss +0 -265
@@ -1,14 +1,15 @@
1
1
  export { Button } from './Button/Button';
2
2
  export { Input } from './Input/Input';
3
- export { InputPassword } from './Input/InputPassword';
3
+ export { InputPassword } from './InputPassword/InputPassword';
4
4
  export { Loader } from './Loader/Loader';
5
- export { RadioButton } from './Input/RadioButton';
6
- export { Checkbox } from './Input/Checkbox';
7
- export { Textarea } from './Input/Textarea';
5
+ export { RadioButton } from './RadioButton/RadioButton';
6
+ export { Checkbox } from './Checkbox/Checkbox';
7
+ export { Textarea } from './Textarea/Textarea';
8
8
  export { Text } from './Text/Text';
9
9
  export { Modal } from './Modal/Modal';
10
10
  export { Select } from './Select/Select';
11
- export { DatePicker } from './Input/DatePicker';
12
- export { InputPhone } from './Input/InputPhone';
11
+ export { DatePicker } from './DatePicker/DatePicker';
12
+ export { InputPhone } from './InputPhone/InputPhone';
13
13
  export { Pagination } from './Pagination/Pagination';
14
14
  export { Carousel } from './Carousel/Carousel';
15
+ export { TimePicker } from './TimePicker/TimePicker';
@@ -1,5 +1,6 @@
1
1
  export declare function isEmpty(value: unknown): boolean;
2
2
  export declare function validateEmail(value: string): boolean;
3
+ export declare function isTouchDevice(): boolean;
3
4
  export declare const getUnitLabel: (locale: Intl.LocalesArgument, unit: Intl.NumberFormatOptions["unit"], override?: string) => string;
4
5
  export declare const is24HourFormat: (locale: Intl.LocalesArgument) => boolean;
5
6
  export declare const getAmPmLabels: (locale: Intl.LocalesArgument) => [string, string];
@@ -5,14 +5,17 @@ function e(e) {
5
5
  function t(e) {
6
6
  return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e);
7
7
  }
8
- var n = (e, t, n) => n ?? new Intl.NumberFormat(e, {
8
+ function n() {
9
+ return typeof window < "u" && window.matchMedia("(pointer: coarse)").matches;
10
+ }
11
+ var r = (e, t, n) => n ?? new Intl.NumberFormat(e, {
9
12
  style: "unit",
10
13
  unit: t,
11
14
  unitDisplay: "long"
12
- }).formatToParts(1).find((e) => e.type === "unit")?.value ?? String(t), r = (e) => {
15
+ }).formatToParts(1).find((e) => e.type === "unit")?.value ?? String(t), i = (e) => {
13
16
  let t = new Intl.DateTimeFormat(e, { hour: "numeric" }).resolvedOptions();
14
17
  return t.hourCycle === "h23" || t.hourCycle === "h24";
15
- }, i = (e) => {
18
+ }, a = (e) => {
16
19
  let t = new Intl.DateTimeFormat(e, {
17
20
  hour: "numeric",
18
21
  hour12: !0
@@ -20,4 +23,4 @@ var n = (e, t, n) => n ?? new Intl.NumberFormat(e, {
20
23
  return [t.formatToParts(new Date(2e3, 0, 1, 9)).find((e) => e.type === "dayPeriod")?.value ?? "AM", t.formatToParts(new Date(2e3, 0, 1, 21)).find((e) => e.type === "dayPeriod")?.value ?? "PM"];
21
24
  };
22
25
  //#endregion
23
- export { i as getAmPmLabels, n as getUnitLabel, r as is24HourFormat, e as isEmpty, t as validateEmail };
26
+ export { a as getAmPmLabels, r as getUnitLabel, i as is24HourFormat, e as isEmpty, n as isTouchDevice, t as validateEmail };
@@ -1,8 +0,0 @@
1
- import { default as React } from 'react';
2
- import { LabeledInput } from './InputWrapper';
3
- import { DatePickerProps } from 'react-date-picker';
4
- export type InputProps = DatePickerProps & LabeledInput & {
5
- id?: string;
6
- style?: React.CSSProperties;
7
- };
8
- export declare const DatePicker: React.FC<InputProps>;
@@ -1 +0,0 @@
1
- .react-calendar{background:#fff;border:1px solid #a0a096;width:350px;max-width:100%;font-family:Arial,Helvetica,sans-serif;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{margin:-.5em;display:flex}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar,.react-calendar *,.react-calendar :before,.react-calendar :after{box-sizing:border-box}.react-calendar button{border:0;outline:none;margin:0}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{height:44px;margin-bottom:1em;display:flex}.react-calendar__navigation button{background:0 0;min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{font:inherit;justify-content:center;align-items:center;font-size:.75em;font-weight:700;display:flex}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__year-view .react-calendar__tile,.react-calendar__decade-view .react-calendar__tile,.react-calendar__century-view .react-calendar__tile{padding:2em .5em}.react-calendar__tile{text-align:center;max-width:100%;font:inherit;background:0 0;padding:10px 6.6667px;font-size:.833em}.react-calendar__tile:disabled{color:#ababab;background-color:#f0f0f0}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{color:#fff;background:#006edc}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.react-calendar{border-color:var(--gray400)}.react-calendar button{justify-content:center}.react-calendar__month-view__days button.react-calendar__tile{height:50px}.react-calendar__month-view__days button.react-calendar__tile:hover,.react-calendar__month-view__days button.react-calendar__tile--active,.react-calendar__month-view__days button.react-calendar__tile--now{border-radius:50%}.react-datetime-picker button{color:unset}.react-datetime-picker button.react-calendar__tile--active{background-color:var(--blue500);color:var(--white)}.react-datetime-picker button.react-calendar__tile--active:hover{background-color:var(--blue500)}.react-datetime-picker button.react-calendar__tile--now{border:1px solid var(--text)}.react-datetime-picker button.react-calendar__tile--now:hover{background-color:var(--gray100)}.react-datetime-picker button.react-calendar__tile--hasActive{background:var(--blue500)}.react-datetime-picker button.react-calendar__tile--hasActive:hover{background:var(--blue300)}.react-datetime-picker button:hover{background-color:unset}.react-datetime-picker input[type=number]{appearance:textfield}.react-datetime-picker input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.react-datetime-picker input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datetime-picker input{background-color:unset;border:unset;box-sizing:unset;border-radius:unset}.react-datetime-picker input:focus,.react-datetime-picker input:focus-visible{border:unset;color:unset;background:unset;outline:none}
@@ -1,237 +0,0 @@
1
- @use "../../utilities/functions" as u;
2
-
3
- .react-calendar {
4
- width: 350px;
5
- max-width: 100%;
6
- background: white;
7
- border: 1px solid #a0a096;
8
- font-family: "Arial", "Helvetica", sans-serif;
9
- line-height: 1.125em;
10
- }
11
-
12
- .react-calendar--doubleView {
13
- width: 700px;
14
- }
15
-
16
- .react-calendar--doubleView .react-calendar__viewContainer {
17
- display: flex;
18
- margin: -0.5em;
19
- }
20
-
21
- .react-calendar--doubleView .react-calendar__viewContainer > * {
22
- width: 50%;
23
- margin: 0.5em;
24
- }
25
-
26
- .react-calendar,
27
- .react-calendar *,
28
- .react-calendar *:before,
29
- .react-calendar *:after {
30
- -moz-box-sizing: border-box;
31
- -webkit-box-sizing: border-box;
32
- box-sizing: border-box;
33
- }
34
-
35
- .react-calendar button {
36
- margin: 0;
37
- border: 0;
38
- outline: none;
39
- }
40
-
41
- .react-calendar button:enabled:hover {
42
- cursor: pointer;
43
- }
44
-
45
- .react-calendar__navigation {
46
- display: flex;
47
- height: 44px;
48
- margin-bottom: 1em;
49
- }
50
-
51
- .react-calendar__navigation button {
52
- min-width: 44px;
53
- background: none;
54
- }
55
-
56
- .react-calendar__navigation button:disabled {
57
- background-color: #f0f0f0;
58
- }
59
-
60
- .react-calendar__navigation button:enabled:hover,
61
- .react-calendar__navigation button:enabled:focus {
62
- background-color: #e6e6e6;
63
- }
64
-
65
- .react-calendar__month-view__weekdays {
66
- text-align: center;
67
- text-transform: uppercase;
68
- font: inherit;
69
- font-size: 0.75em;
70
- font-weight: bold;
71
- }
72
-
73
- .react-calendar__month-view__weekdays__weekday {
74
- padding: 0.5em;
75
- }
76
-
77
- .react-calendar__month-view__weekNumbers .react-calendar__tile {
78
- display: flex;
79
- align-items: center;
80
- justify-content: center;
81
- font: inherit;
82
- font-size: 0.75em;
83
- font-weight: bold;
84
- }
85
-
86
- .react-calendar__month-view__days__day--weekend {
87
- color: #d10000;
88
- }
89
-
90
- .react-calendar__month-view__days__day--neighboringMonth,
91
- .react-calendar__decade-view__years__year--neighboringDecade,
92
- .react-calendar__century-view__decades__decade--neighboringCentury {
93
- color: #757575;
94
- }
95
-
96
- .react-calendar__year-view .react-calendar__tile,
97
- .react-calendar__decade-view .react-calendar__tile,
98
- .react-calendar__century-view .react-calendar__tile {
99
- padding: 2em 0.5em;
100
- }
101
-
102
- .react-calendar__tile {
103
- max-width: 100%;
104
- padding: 10px 6.6667px;
105
- background: none;
106
- text-align: center;
107
- font: inherit;
108
- font-size: 0.833em;
109
- }
110
-
111
- .react-calendar__tile:disabled {
112
- background-color: #f0f0f0;
113
- color: #ababab;
114
- }
115
-
116
- .react-calendar__month-view__days__day--neighboringMonth:disabled,
117
- .react-calendar__decade-view__years__year--neighboringDecade:disabled,
118
- .react-calendar__century-view__decades__decade--neighboringCentury:disabled {
119
- color: #cdcdcd;
120
- }
121
-
122
- .react-calendar__tile:enabled:hover,
123
- .react-calendar__tile:enabled:focus {
124
- background-color: #e6e6e6;
125
- }
126
-
127
- .react-calendar__tile--now {
128
- background: #ffff76;
129
- }
130
-
131
- .react-calendar__tile--now:enabled:hover,
132
- .react-calendar__tile--now:enabled:focus {
133
- background: #ffffa9;
134
- }
135
-
136
- .react-calendar__tile--hasActive {
137
- background: #76baff;
138
- }
139
-
140
- .react-calendar__tile--hasActive:enabled:hover,
141
- .react-calendar__tile--hasActive:enabled:focus {
142
- background: #a9d4ff;
143
- }
144
-
145
- .react-calendar__tile--active {
146
- background: #006edc;
147
- color: white;
148
- }
149
-
150
- .react-calendar__tile--active:enabled:hover,
151
- .react-calendar__tile--active:enabled:focus {
152
- background: #1087ff;
153
- }
154
-
155
- .react-calendar--selectRange .react-calendar__tile--hover {
156
- background-color: #e6e6e6;
157
- }
158
- .react-calendar {
159
- border-color: #{u.color("gray400")};
160
- }
161
- .react-calendar button {
162
- justify-content: center;
163
- }
164
- .react-calendar__month-view__days {
165
- button {
166
- &.react-calendar__tile {
167
- height: 50px;
168
- &:hover {
169
- border-radius: 50%;
170
- }
171
- &--active {
172
- border-radius: 50%;
173
- }
174
- &--now {
175
- border-radius: 50%;
176
- }
177
- }
178
- }
179
- }
180
-
181
- // .react-calendar__month-view__days__day--weekend {
182
- // color: unset;
183
- // }
184
- .react-datetime-picker {
185
- button {
186
- color: unset;
187
- &.react-calendar__tile {
188
- &--active {
189
- background-color: #{u.color("blue500")};
190
- color: #{u.color("white")};
191
- &:hover {
192
- background-color: #{u.color("blue500")};
193
- }
194
- }
195
- &--now {
196
- // background-color: unset;
197
- border: 1px solid #{u.color("text")};
198
- &:hover {
199
- background-color: #{u.color("gray100")};
200
- }
201
- }
202
- &--hasActive {
203
- background: #{u.color("blue500")};
204
- &:hover {
205
- background: #{u.color("blue300")};
206
- }
207
- }
208
- }
209
- &:hover {
210
- background-color: unset;
211
- }
212
- }
213
- input {
214
- /* Disable spinner/flipper buttons */
215
- &[type="number"] {
216
- -webkit-appearance: textfield;
217
- -moz-appearance: textfield;
218
- appearance: textfield;
219
- }
220
- &::-webkit-inner-spin-button,
221
- &::-webkit-outer-spin-button {
222
- -webkit-appearance: none;
223
- margin: 0;
224
- }
225
- background-color: unset;
226
- border: unset;
227
- box-sizing: unset;
228
- border-radius: unset;
229
- &:focus,
230
- &:focus-visible {
231
- border: unset;
232
- color: unset;
233
- background: unset;
234
- outline: none;
235
- }
236
- }
237
- }
@@ -1 +0,0 @@
1
- @layer craftsman-base{.react-date-picker__wrapper:focus,.react-datetime-picker__wrapper:focus{box-shadow:none;outline:0}.react-date-picker__wrapper,.react-datetime-picker__wrapper{color:var(--text);border:1px solid var(--gray400);padding:calc(var(--w-gutter) * .5);background-color:var(--white);border-radius:3px}[type=number].react-date-picker__wrapper::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}[type=number].react-datetime-picker__wrapper::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}[type=number].react-date-picker__wrapper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}[type=number].react-datetime-picker__wrapper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}[type=number].react-date-picker__wrapper,[type=number].react-datetime-picker__wrapper{appearance:textfield}.react-date-picker__wrapper:disabled,.react-datetime-picker__wrapper:disabled,.disabled.react-date-picker__wrapper,.disabled.react-datetime-picker__wrapper{border-color:var(--gray200);background-color:var(--gray100)}}.react-date-picker,.react-date-picker *,.react-date-picker :before,.react-date-picker :after,.react-datetime-picker,.react-datetime-picker *,.react-datetime-picker :before,.react-datetime-picker :after{box-sizing:border-box}.react-date-picker,.react-datetime-picker{display:inline-flex;position:relative}.react-date-picker--disabled,.react-datetime-picker--disabled{color:#6d6d6d;background-color:#f0f0f0}.react-date-picker__wrapper,.react-datetime-picker__wrapper{border:1px solid var(--gray400);border-radius:3px;flex-grow:1;flex-shrink:0;padding:2px;display:flex}.react-date-picker__inputGroup,.react-datetime-picker__inputGroup{box-sizing:content-box;flex-grow:1;padding:0 2px}.react-date-picker__inputGroup__divider,.react-datetime-picker__inputGroup__divider{white-space:pre;padding:1px 0}.react-date-picker__inputGroup__divider,.react-date-picker__inputGroup__leadingZero,.react-datetime-picker__inputGroup__divider,.react-datetime-picker__inputGroup__leadingZero{font:inherit;display:inline-block}.react-date-picker__inputGroup__input,.react-datetime-picker__inputGroup__input{color:currentColor;min-width:.54em;height:calc(100% - 2px);font:inherit;box-sizing:content-box;appearance:textfield;background:0 0;border:0;padding:1px;position:relative}.react-date-picker__inputGroup__input::-webkit-outer-spin-button{appearance:none;margin:0}.react-date-picker__inputGroup__input::-webkit-inner-spin-button{appearance:none;margin:0}.react-datetime-picker__inputGroup__input::-webkit-outer-spin-button{appearance:none;margin:0}.react-datetime-picker__inputGroup__input::-webkit-inner-spin-button{appearance:none;margin:0}.react-date-picker__inputGroup__input--hasLeadingZero,.react-datetime-picker__inputGroup__input--hasLeadingZero{margin-left:-.54em;padding-left:calc(1px + .54em)}.react-date-picker__button,.react-datetime-picker__button{background:0 0;border:0;padding:4px 6px}.react-date-picker__button :enabled,.react-datetime-picker__button :enabled{cursor:pointer}.react-date-picker__button :enabled:hover .react-date-picker__button__icon,.react-date-picker__button :enabled:hover .react-datetime-picker__button__icon,.react-date-picker__button :enabled:focus .react-date-picker__button__icon,.react-date-picker__button :enabled:focus .react-datetime-picker__button__icon,.react-datetime-picker__button :enabled:hover .react-date-picker__button__icon,.react-datetime-picker__button :enabled:hover .react-datetime-picker__button__icon,.react-datetime-picker__button :enabled:focus .react-date-picker__button__icon,.react-datetime-picker__button :enabled:focus .react-datetime-picker__button__icon{stroke:#0078d7}.react-date-picker__button :disabled .react-date-picker__button__icon,.react-date-picker__button :disabled .react-datetime-picker__button__icon,.react-datetime-picker__button :disabled .react-date-picker__button__icon,.react-datetime-picker__button :disabled .react-datetime-picker__button__icon{stroke:#6d6d6d}.react-date-picker__button svg,.react-datetime-picker__button svg{display:inherit}.react-date-picker__calendar--closed,.react-date-picker__clock--closed,.react-datetime-picker__calendar--closed,.react-datetime-picker__clock--closed{display:none}.react-date-picker__calendar{z-index:1;width:350px;max-width:100vw}.react-datetime-picker__calendar,.react-datetime-picker__clock{z-index:1}.react-datetime-picker__inputGroup__input:invalid{background:#ff00001a}.react-datetime-picker__inputGroup__amPm{font:inherit;appearance:menulist}.react-datetime-picker__calendar{width:350px;max-width:100vw}.react-datetime-picker__calendar .react-calendar{border-width:thin}.react-datetime-picker__clock{background-color:#fff;border:thin solid #a0a096;width:200px;max-width:100vw;height:200px;padding:25px}.react-date-picker__calendar .react-calendar{border-width:thin}.react-date-picker__inputGroup__input:invalid,.react-datetime-picker__inputGroup__input:invalid{background:unset}
@@ -1,265 +0,0 @@
1
- @use "./input";
2
- @use "../../utilities/functions" as u;
3
-
4
- .input-phone {
5
- &[data-label-position="inside"] {
6
- .input-label {
7
- top: 15px;
8
- left: 50px;
9
- }
10
- }
11
-
12
- .react-international-phone-country-selector {
13
- position: relative;
14
- }
15
-
16
- .react-international-phone-flag-emoji {
17
- width: var(--react-international-phone-flag-width, 24px);
18
- height: var(--react-international-phone-flag-height, 24px);
19
- box-sizing: border-box;
20
- }
21
-
22
- .react-international-phone-country-selector-button {
23
- display: flex;
24
- height: var(--react-international-phone-height, 36px);
25
- box-sizing: border-box;
26
- align-items: center;
27
- justify-content: center;
28
- padding: 0;
29
- border: 1px solid
30
- var(
31
- --react-international-phone-country-selector-border-color,
32
- var(--react-international-phone-border-color, gainsboro)
33
- );
34
- margin: 0;
35
- appearance: button;
36
- -webkit-appearance: button;
37
- background-color: var(
38
- --react-international-phone-country-selector-background-color,
39
- var(--react-international-phone-background-color, white)
40
- );
41
- cursor: pointer;
42
- text-transform: none;
43
- user-select: none;
44
-
45
- &:hover {
46
- background-color: var(--react-international-phone-country-selector-background-color-hover, whitesmoke);
47
- }
48
-
49
- &--hide-dropdown {
50
- cursor: auto;
51
-
52
- &:hover {
53
- background-color: transparent;
54
- }
55
- }
56
-
57
- &--disabled {
58
- background-color: var(
59
- --react-international-phone-disabled-country-selector-background-color,
60
- var(--react-international-phone-disabled-background-color, whitesmoke)
61
- );
62
- cursor: auto;
63
-
64
- &:hover {
65
- background-color: var(
66
- --react-international-phone-disabled-country-selector-background-color,
67
- var(--react-international-phone-disabled-background-color, whitesmoke)
68
- );
69
- }
70
- }
71
-
72
- &__button-content {
73
- display: flex;
74
- align-items: center;
75
- justify-content: center;
76
- }
77
-
78
- &__flag-emoji {
79
- margin: 0 4px;
80
-
81
- &--disabled {
82
- opacity: 0.75;
83
- }
84
- }
85
-
86
- &__dropdown-arrow {
87
- border-top: var(--react-international-phone-country-selector-arrow-size, 4px) solid
88
- var(--react-international-phone-country-selector-arrow-color, #777);
89
- border-right: var(--react-international-phone-country-selector-arrow-size, 4px) solid transparent;
90
- border-left: var(--react-international-phone-country-selector-arrow-size, 4px) solid transparent;
91
- margin-right: 4px;
92
- transition: all 0.1s ease-out;
93
-
94
- &--active {
95
- transform: rotateX(180deg);
96
- }
97
-
98
- &--disabled {
99
- border-top-color: var(--react-international-phone-disabled-country-selector-arrow-color, #999);
100
- }
101
- }
102
- }
103
-
104
- .react-international-phone-country-selector-dropdown {
105
- position: absolute;
106
- z-index: 1000;
107
- top: var(--react-international-phone-dropdown-top, 44px);
108
- left: var(--react-international-phone-dropdown-left, 0);
109
- display: flex;
110
- width: 300px;
111
- max-height: 200px;
112
- flex-direction: column;
113
- padding: 4px 0;
114
- margin: 0;
115
- background-color: var(
116
- --react-international-phone-dropdown-item-background-color,
117
- var(--react-international-phone-background-color, white)
118
- );
119
- box-shadow: var(--react-international-phone-dropdown-shadow, 2px 2px 16px rgba(0, 0, 0, 0.25));
120
- color: var(
121
- --react-international-phone-dropdown-item-text-color,
122
- var(--react-international-phone-text-color, #222)
123
- );
124
- list-style: none;
125
- overflow-y: scroll;
126
-
127
- &__preferred-list-divider {
128
- height: 1px;
129
- border: none;
130
- margin: var(--react-international-phone-dropdown-preferred-list-divider-margin, 0);
131
- background: var(
132
- --react-international-phone-dropdown-preferred-list-divider-color,
133
- var(--react-international-phone-border-color, gainsboro)
134
- );
135
- }
136
-
137
- &__list-item {
138
- display: flex;
139
- min-height: var(--react-international-phone-dropdown-item-height, 28px);
140
- box-sizing: border-box;
141
- align-items: center;
142
- padding: 2px 8px;
143
-
144
- &:hover {
145
- background-color: var(
146
- --react-international-phone-selected-dropdown-item-background-color,
147
- var(--react-international-phone-selected-dropdown-item-background-color, whitesmoke)
148
- );
149
- cursor: pointer;
150
- }
151
-
152
- &--selected,
153
- &--focused {
154
- background-color: var(--react-international-phone-selected-dropdown-item-background-color, whitesmoke);
155
- color: var(
156
- --react-international-phone-selected-dropdown-item-text-color,
157
- var(--react-international-phone-text-color, #222)
158
- );
159
-
160
- .react-international-phone-country-selector-dropdown__list-item-dial-code {
161
- color: var(
162
- --react-international-phone-selected-dropdown-item-dial-code-color,
163
- var(--react-international-phone-dropdown-item-dial-code-color, gray)
164
- );
165
- }
166
- }
167
-
168
- &--focused {
169
- background-color: var(
170
- --react-international-phone-selected-dropdown-item-background-color,
171
- var(--react-international-phone-selected-dropdown-item-background-color, whitesmoke)
172
- );
173
- }
174
-
175
- &-flag-emoji {
176
- margin-right: 8px;
177
- }
178
-
179
- &-country-name {
180
- overflow: hidden;
181
- margin-right: 8px;
182
- font-size: var(--react-international-phone-dropdown-item-font-size, 14px);
183
- text-overflow: ellipsis;
184
- white-space: nowrap;
185
- }
186
-
187
- &-dial-code {
188
- color: var(--react-international-phone-dropdown-item-dial-code-color, gray);
189
- font-size: var(--react-international-phone-dropdown-item-font-size, 14px);
190
- }
191
- }
192
- }
193
-
194
- .react-international-phone-dial-code-preview {
195
- display: flex;
196
- align-items: center;
197
- justify-content: center;
198
- padding: 0 8px;
199
- border: 1px solid
200
- var(
201
- --react-international-phone-dial-code-preview-border-color,
202
- var(--react-international-phone-border-color, gainsboro)
203
- );
204
- margin-right: -1px;
205
- background-color: var(
206
- --react-international-phone-dial-code-preview-background-color,
207
- var(--react-international-phone-background-color, white)
208
- );
209
- color: var(
210
- --react-international-phone-dial-code-preview-text-color,
211
- var(--react-international-phone-text-color, #222)
212
- );
213
- font-size: var(
214
- --react-international-phone-dial-code-preview-font-size,
215
- var(--react-international-phone-font-size, 13px)
216
- );
217
-
218
- &--disabled {
219
- background-color: var(
220
- --react-international-phone-dial-code-preview-disabled-background-color,
221
- var(--react-international-phone-disabled-background-color, whitesmoke)
222
- );
223
- color: var(
224
- --react-international-phone-dial-code-preview-disabled-text-color,
225
- var(--react-international-phone-disabled-text-color, #666)
226
- );
227
- }
228
- }
229
-
230
- .react-international-phone-input-container {
231
- display: flex;
232
-
233
- .react-international-phone-country-selector-button {
234
- border-radius: var(--react-international-phone-border-radius, 4px);
235
- margin-right: -1px;
236
- border-bottom-right-radius: 0;
237
- border-top-right-radius: 0;
238
- }
239
-
240
- .react-international-phone-input {
241
- overflow: visible;
242
- height: var(--react-international-phone-height, 36px);
243
- box-sizing: border-box;
244
- padding: 0 8px;
245
- border: 1px solid var(--react-international-phone-border-color, gainsboro);
246
- border-radius: var(--react-international-phone-border-radius, 4px);
247
- margin: 0;
248
- background-color: var(--react-international-phone-background-color, white);
249
- border-bottom-left-radius: 0;
250
- border-top-left-radius: 0;
251
- color: var(--react-international-phone-text-color, #222);
252
- font-family: inherit;
253
- font-size: var(--react-international-phone-font-size, 13px);
254
-
255
- &:focus {
256
- outline: none;
257
- }
258
-
259
- &--disabled {
260
- background-color: var(--react-international-phone-disabled-background-color, whitesmoke);
261
- color: var(--react-international-phone-disabled-text-color, #666);
262
- }
263
- }
264
- }
265
- }