@servicetitan/design-system 14.0.0 → 14.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/components/AnvilSelect/AnvilSelect.d.ts +1 -1
  2. package/dist/components/AnvilSelect/AnvilSelect.js.map +1 -1
  3. package/dist/components/AnvilSelect/components/Trigger.css +1 -0
  4. package/dist/components/AnvilSelect/components/Trigger.css.map +1 -1
  5. package/dist/components/AnvilSelect/index.css +1 -0
  6. package/dist/components/AnvilSelect/index.css.map +1 -1
  7. package/dist/components/Button/Button.css +23 -36
  8. package/dist/components/Button/Button.css.map +1 -1
  9. package/dist/components/Button/Button.js +1 -6
  10. package/dist/components/Button/Button.js.map +1 -1
  11. package/dist/components/Button/index.css +23 -36
  12. package/dist/components/Button/index.css.map +1 -1
  13. package/dist/components/Checkbox/Checkbox.css +1 -1
  14. package/dist/components/Checkbox/index.css +1 -1
  15. package/dist/components/DatePicker/DatePicker.css +1 -1
  16. package/dist/components/DatePicker/index.css +1 -1
  17. package/dist/components/DateRangePicker/DateRangePicker.js +23 -8
  18. package/dist/components/DateRangePicker/DateRangePicker.js.map +1 -1
  19. package/dist/components/FlowCard/FlowCard.d.ts +2 -2
  20. package/dist/components/FlowCard/FlowCard.js.map +1 -1
  21. package/dist/components/Icon/Icon.css +24 -37
  22. package/dist/components/Icon/Icon.css.map +1 -1
  23. package/dist/components/Icon/index.css +24 -37
  24. package/dist/components/Icon/index.css.map +1 -1
  25. package/dist/components/Mask/Mask.css +1 -1
  26. package/dist/components/Mask/index.css +1 -1
  27. package/dist/components/Radio/Radio.css +1 -1
  28. package/dist/components/Radio/index.css +1 -1
  29. package/dist/components/Table/Table.css +16 -1
  30. package/dist/components/Table/Table.css.map +1 -1
  31. package/dist/components/Table/index.css +16 -1
  32. package/dist/components/Table/index.css.map +1 -1
  33. package/dist/components/Takeover/Takeover.js +3 -1
  34. package/dist/components/Takeover/Takeover.js.map +1 -1
  35. package/dist/components/Thumbnail/Thumbnail.css +1 -1
  36. package/dist/components/Thumbnail/index.css +1 -1
  37. package/dist/components/TimePicker/TimePicker.js +12 -11
  38. package/dist/components/TimePicker/TimePicker.js.map +1 -1
  39. package/dist/components/TimePicker/TimePicker.test.js +12 -8
  40. package/dist/components/TimePicker/TimePicker.test.js.map +1 -1
  41. package/dist/components/TimePicker/utils/timezoneUtils.js +1 -1
  42. package/dist/components/TimePicker/utils/timezoneUtils.js.map +1 -1
  43. package/dist/components/Toast/Toast.d.ts +5 -0
  44. package/dist/components/Toast/Toast.js +9 -1
  45. package/dist/components/Toast/Toast.js.map +1 -1
  46. package/dist/components/Toast/ToastGroup.js +3 -1
  47. package/dist/components/Toast/ToastGroup.js.map +1 -1
  48. package/dist/components/Toast/ToastGroupContext.d.ts +4 -0
  49. package/dist/components/Toast/ToastGroupContext.js +3 -0
  50. package/dist/components/Toast/ToastGroupContext.js.map +1 -0
  51. package/dist/components/index.css +44 -41
  52. package/dist/components/index.css.map +1 -1
  53. package/dist/global/index.css +1 -1
  54. package/dist/global/version.css +1 -1
  55. package/dist/system-light.css +1 -1
  56. package/dist/system-light.min.css +1 -1
  57. package/dist/system.css +45 -42
  58. package/dist/system.css.map +1 -1
  59. package/dist/system.min.css +2 -2
  60. package/dist/themes/index.css +1 -1
  61. package/dist/themes/kendo/index.css +1 -1
  62. package/dist/utilities/TimezoneProvider/TimezoneProvider.test.js +36 -10
  63. package/dist/utilities/TimezoneProvider/TimezoneProvider.test.js.map +1 -1
  64. package/package.json +9 -8
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/Button/Button.scss","../../../src/utilities/_component-reset.scss","../../../src/utilities/_font-smoothing.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/components/Icon/Icon.scss"],"names":[],"mappings":"AAAA;AC0CA;ACvCC;EACA;AAEA;EACA;ECLC;EACA;EF2CD;EACA,kBArCoB;EAsCpB;EACA,eG5BiB;EH6BjB;EACA,OA/Cc;EAgDd;EACA;EACA,WGoFa;EHnFb,aGsDsB;EHrDtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACC;EAED;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAEA;EACC,kBA1Da;;AAgEd;EACC,kBAzDc;;AA6DhB;EACC;EACA,YAjFc;;AAoFf;EACC;EACA;;AAGC;EACC,kBA5EY;;AAkFb;EACC,kBA3Ea;;AA+Ef;EAAgC;;AAGjC;EACC;;AAGC;EACC,kBA/FY;;AAqGb;EACC,kBA9Fa;;;AAsGjB;EACC,WGHa;EHIb;;;AAGD;EACC,SGpBW;EHqBX;;AAEA;EACC;;AAEA;EACC;EACA;;;AAKH;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAKA;EAKC,OAjLa;;;AAqLf;EACC,kBA/KoB;EAgLpB,OApLiB;;AAuLhB;EACC,kBAhKgB;;AAsKjB;EACC,kBA/JiB;;AAmKnB;EACC;EACA;EACA,OAxMa;;AA2MZ;EACC,kBAtLY;;AA0Ld;EAAgC;;AAI/B;EACC,kBAvLa;;AA4LhB;EACC;EACA,OA5Na;;AA+NZ;EACC,kBA1MY;;AAgNb;EACC,kBAzMa;;;AA+MjB;EACC,kBAvOqB;EAwOrB,OA5OkB;;AA+OjB;EACC,kBAxNiB;;AA8NlB;EACC,kBAvNkB;;AA2NpB;EAAgC,YAjPhB;;AAmPhB;EACC;EACA;EACA,OAlQc;;AAqQb;EACC,kBAhPa;;AAsPd;EACC,kBA/Oc;;AAmPhB;EAAgC;;AAGjC;EACC;EACA,OAtRc;;AAyRb;EACC,kBApQa;;AA0Qd;EACC,kBAnQc;;;AA2QjB;EAGC,YAxSmB;EAySnB,OA/Sa;EAgTb;;AAEA;EACC,SGrMgB;;AHyMlB;EAEC;;AAGD;EACC;;;AAIF;EAAoB;;;AAGpB;EACC,WGhMa;EHiMb;;AAEA;EACC,WGlMY;EHmMZ;;;AAMF;EAAwB,WG3MV;;;AH6Md;EACC;;AACA;EAAsB,SGlNR;;;AHqNf;EACC;;AACA;EAAsB;;;AAIvB;EAAgB;;;AAGhB;EAAsB;;;AAItB;EACC;IAAK;;;AAGN;EACC,SG3PkB;EH4PlB;EACA;;AAEA;EAAmB;;;AAGpB;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EAAsB,eGvQV;;;AHwQZ;EAAuB,cGxQX;;;AH0QZ;EAA2B;;;AAE3B;EACC;EACA;;;AAGD;EAAoD;;;AI5YpD;EACC;EACA;EACA;;AAEA;EACC,eDYgB;ECXhB;EACA;;;AAIF;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;AAAA;EAAM","file":"Icon.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/Button/Button.scss","../../../src/utilities/_component-reset.scss","../../../src/utilities/_font-smoothing.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../node_modules/@servicetitan/tokens/core/appearances/light.scss","../../../src/components/Icon/Icon.scss"],"names":[],"mappings":"AAAA;ACqCA;AClCC;EACA;AAEA;EACA;ECLC;EACA;EFsCD;EACA,kBAhCoB;EAiCpB;EACA,eGtBiB;EHuBjB;EACA,OA1Cc;EA2Cd;EACA;EACA,WGyFa;EHxFb,aG2DsB;EH1DtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACC;EAID;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAEA;EACC,kBAzDa;;AA+Dd;EACC,kBA1Dc;;AA8DhB;EACC;EACA,SA9Ec;;AAiFf;EACC,kBAtFmB;EAuFnB;;AAGC;EACC,kBA5EY;;AAkFb;EACC,kBA7Ea;;AAkFhB;EACC;;AAGC;EACC,kBA7FY;;AAmGb;EACC,kBA9Fa;;;AAsGjB;EACC,WGCa;EHAb;;;AAGD;EACC,SGhBW;EHiBX;;AAEA;EACC;;AAEA;EACC;EACA;;;AAKH;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAKA;EAKC,OA7Ka;;;AAiLf;EACC,kBA3KoB;EA4KpB,OAhLiB;;AAmLhB;EACC,kBA/Ja;;AAqKd;EACC,kBAhKc;;AAoKhB;EACC;EACA;EACA,OApMa;;AAuMZ;EACC,kBApLY;;AA0Lb;EACC,kBArLa;;AA0LhB;EACC;EACA,OAtNa;;AAyNZ;EACC,kBAtMY;;AA4Mb;EACC,kBAvMa;;;AA6MjB;EACC,kBAjOqB;EAkOrB,OAtOkB;;AAyOjB;EACC,kBArNiB;;AAyNnB;EACC,SApOe;;AAyOf;EACC,kBA1NkB;;AA8NpB;EACC;EACA;EACA,OA9Pc;;AAiQb;EACC,kBA9Oa;;AAoPd;EACC,kBA/Oc;;AAoPjB;EACC;EACA,OAhRc;;AAmRb;EACC,kBAhQa;;AAsQd;EACC,kBAjQc;;;AAyQjB;EAGC,YI7PkC;EJ8PlC,OIjPyB;EJkPzB;EACA;;AAEA;EACC,SGhMgB;;;AHqMnB;EAAoB;;;AAGpB;EACC,WGlLa;EHmLb;;AAEA;EACC,WGpLY;EHqLZ;;;AAMF;EAAwB,WG7LV;;;AH+Ld;EACC;;AACA;EAAsB,SGpMR;;;AHuMf;EACC;;AACA;EAAsB;;;AAIvB;EAAgB;;;AAGhB;EAAsB;;;AAItB;EACC;IAAK;;;AAGN;EACC,SG7OkB;EH8OlB;EACA;;AAEA;EAAmB;;;AAGpB;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EAAsB,eGzPV;;;AH0PZ;EAAuB,cG1PX;;;AH4PZ;EAA2B;;;AAE3B;EACC;EACA;;;AAGD;EAAoD;;;AK9XpD;EACC;EACA;EACA;;AAEA;EACC,eFYgB;EEXhB;EACA;;;AAIF;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;AAAA;EAAM","file":"Icon.css"}
@@ -9,7 +9,7 @@
9
9
  align-items: center;
10
10
  background-color: var(--colorsSurfaceGrey, #eeeeee);
11
11
  border: 0;
12
- border-radius: 3px;
12
+ border-radius: 6px;
13
13
  box-sizing: border-box;
14
14
  color: var(--colorsTextOnGrey, #444445);
15
15
  cursor: pointer;
@@ -19,14 +19,15 @@
19
19
  justify-content: center;
20
20
  line-height: 1;
21
21
  margin: 0;
22
- outline: none;
23
22
  padding: 12px 16px;
24
23
  text-align: center;
25
24
  text-decoration: none;
26
25
  text-shadow: none;
27
- transition: background cubic-bezier(0.4, 0, 0.2, 1) 100ms 0ms, color cubic-bezier(0.4, 0, 0.2, 1) 100ms 0ms;
26
+ transition: background cubic-bezier(0.4, 0, 0.2, 1) 100ms 0ms, color cubic-bezier(0.4, 0, 0.2, 1) 100ms 0ms, outline cubic-bezier(0.4, 0, 0.2, 1) 100ms 0ms, outline-offset cubic-bezier(0.4, 0, 0.2, 1) 100ms 0ms;
28
27
  user-select: none;
29
28
  position: relative;
29
+ outline-offset: 0;
30
+ outline: solid 0 transparent;
30
31
  }
31
32
  .Button::before {
32
33
  content: "";
@@ -46,13 +47,13 @@
46
47
  .Button:active::before, .Button.Button--selected::before {
47
48
  background-color: var(--colorsActiveDefault, rgba(20, 20, 20, 0.2));
48
49
  }
49
- .Button.Button--focus-visible:focus {
50
- outline: 0;
51
- box-shadow: 0 0 0 3px var(--colorsFocusRingPrimary, #78bbfa);
50
+ .Button:focus-visible {
51
+ outline-offset: 2px;
52
+ outline: solid 2px var(--colorsBorderPrimary, #0265dc);
52
53
  }
53
54
  .Button.Button--outline {
54
- background-color: transparent;
55
- box-shadow: inset 0 0 0 1px var(--colorsBorderDefault, #444445);
55
+ background-color: var(--colorsSurfaceDefault, white);
56
+ box-shadow: inset 0 0 0 1px var(--colorsBorderDefault, #949596);
56
57
  }
57
58
  .Button.Button--outline:hover::before {
58
59
  background-color: var(--colorsHoverOnGrey, rgba(20, 20, 20, 0.08));
@@ -60,9 +61,6 @@
60
61
  .Button.Button--outline:active::before, .Button.Button--outline.Button--selected::before {
61
62
  background-color: var(--colorsActiveOnGrey, rgba(20, 20, 20, 0.16));
62
63
  }
63
- .Button.Button--outline.Button--focus-visible:focus {
64
- box-shadow: inset 0 0 0 1px var(--colorsBorderDefault, #444445), 0 0 0 3px var(--colorsFocusRingPrimary, #78bbfa);
65
- }
66
64
  .Button.Button--subtle {
67
65
  background-color: transparent;
68
66
  }
@@ -114,34 +112,31 @@ button.Button {
114
112
  color: var(--colorsTextOnPrimary, white);
115
113
  }
116
114
  .Button--blue:hover::before {
117
- background-color: var(--colorsHoverOnPrimary, rgba(255, 255, 255, 0.16));
115
+ background-color: var(--colorsHoverOnGrey, rgba(20, 20, 20, 0.08));
118
116
  }
119
117
  .Button--blue:active::before, .Button--blue.Button--selected::before {
120
- background-color: var(--colorsActiveOnPrimary, rgba(20, 20, 20, 0.16));
118
+ background-color: var(--colorsActiveOnGrey, rgba(20, 20, 20, 0.16));
121
119
  }
122
120
  .Button--blue.Button--outline {
123
121
  background-color: transparent;
124
- box-shadow: inset 0 0 0 1px var(--colorsBorderPrimary, #0265dc);
122
+ box-shadow: inset 0 0 0 1px var(--colorsBorderDefault, #949596);
125
123
  color: var(--colorsTextPrimary, #0265dc);
126
124
  }
127
125
  .Button--blue.Button--outline:hover::before {
128
- background-color: var(--colorsHoverPrimary, rgba(2, 101, 220, 0.1));
129
- }
130
- .Button--blue.Button--outline.Button--focus-visible:focus {
131
- box-shadow: inset 0 0 0 1px var(--colorsBorderPrimary, #0265dc), 0 0 0 3px var(--colorsFocusRingPrimary, #78bbfa);
126
+ background-color: var(--colorsHoverDefault, rgba(20, 20, 20, 0.08));
132
127
  }
133
128
  .Button--blue.Button--outline:active::before, .Button--blue.Button--outline.Button--selected::before {
134
- background-color: var(--colorsActivePrimary, rgba(2, 101, 220, 0.3));
129
+ background-color: var(--colorsActiveDefault, rgba(20, 20, 20, 0.2));
135
130
  }
136
131
  .Button--blue.Button--subtle {
137
132
  background-color: transparent;
138
133
  color: var(--colorsTextPrimary, #0265dc);
139
134
  }
140
135
  .Button--blue.Button--subtle:hover::before {
141
- background-color: var(--colorsHoverPrimary, rgba(2, 101, 220, 0.1));
136
+ background-color: var(--colorsHoverDefault, rgba(20, 20, 20, 0.08));
142
137
  }
143
138
  .Button--blue.Button--subtle:active::before, .Button--blue.Button--subtle.Button--selected::before {
144
- background-color: var(--colorsActivePrimary, rgba(2, 101, 220, 0.3));
139
+ background-color: var(--colorsActiveDefault, rgba(20, 20, 20, 0.2));
145
140
  }
146
141
 
147
142
  .Button--red {
@@ -151,15 +146,15 @@ button.Button {
151
146
  .Button--red:hover::before {
152
147
  background-color: var(--colorsHoverOnCritical, rgba(255, 255, 255, 0.16));
153
148
  }
149
+ .Button--red:focus-visible {
150
+ outline: solid 2px var(--colorsBorderCritical, #e13212);
151
+ }
154
152
  .Button--red:active::before, .Button--red.Button--selected::before {
155
153
  background-color: var(--colorsActiveOnCritical, rgba(20, 20, 20, 0.16));
156
154
  }
157
- .Button--red.Button--focus-visible:focus {
158
- box-shadow: 0 0 0 3px var(--colorsFocusRingCritical, #ffb2a0);
159
- }
160
155
  .Button--red.Button--outline {
161
156
  background-color: transparent;
162
- box-shadow: inset 0 0 0 1px var(--colorsBorderCritical, #e13212);
157
+ box-shadow: inset 0 0 0 1px var(--colorsBorderDefault, #949596);
163
158
  color: var(--colorsTextCritical, #bf2a00);
164
159
  }
165
160
  .Button--red.Button--outline:hover::before {
@@ -168,9 +163,6 @@ button.Button {
168
163
  .Button--red.Button--outline:active::before, .Button--red.Button--outline.Button--selected::before {
169
164
  background-color: var(--colorsActiveCritical, rgba(225, 50, 18, 0.3));
170
165
  }
171
- .Button--red.Button--outline.Button--focus-visible:focus {
172
- box-shadow: inset 0 0 0 1px var(--colorsBorderCritical, #e13212), 0 0 0 3px var(--colorsFocusRingCritical, #ffb2a0);
173
- }
174
166
  .Button--red.Button--subtle {
175
167
  background-color: transparent;
176
168
  color: var(--colorsTextCritical, #bf2a00);
@@ -183,19 +175,14 @@ button.Button {
183
175
  }
184
176
 
185
177
  .Button--disabled, .Button--disabled.Button--outline, .Button--disabled.Button--subtle {
186
- background: var(--colorsSurfaceGrey, #eeeeee);
187
- color: var(--colorsTextOnGrey, #444445);
178
+ background: #bcbcbd;
179
+ color: #606162;
180
+ box-shadow: none;
188
181
  opacity: 0.4;
189
182
  }
190
183
  .Button--disabled svg, .Button--disabled.Button--outline svg, .Button--disabled.Button--subtle svg {
191
184
  opacity: 0.6;
192
185
  }
193
- .Button--disabled.Button--outline, .Button--disabled.Button--subtle {
194
- background: transparent;
195
- }
196
- .Button--disabled.Button--outline {
197
- box-shadow: inset 0 0 0 1px var(--colorsBorderDefault, #444445);
198
- }
199
186
 
200
187
  .Button--inactive {
201
188
  pointer-events: none;
@@ -295,7 +282,7 @@ button.a-Icon {
295
282
  }
296
283
  button.a-Icon:focus {
297
284
  border-radius: 3px;
298
- box-shadow: 0 0 0 2px var(--colorsFocusRingPrimary, #78bbfa);
285
+ box-shadow: 0 0 0 1px var(--colorsBorderPrimary, #0265dc);
299
286
  outline: 0;
300
287
  }
301
288
 
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/Button/Button.scss","../../../src/utilities/_component-reset.scss","../../../src/utilities/_font-smoothing.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/components/Icon/Icon.scss"],"names":[],"mappings":"AAAA;AC0CA;ACvCC;EACA;AAEA;EACA;ECLC;EACA;EF2CD;EACA,kBArCoB;EAsCpB;EACA,eG5BiB;EH6BjB;EACA,OA/Cc;EAgDd;EACA;EACA,WGoFa;EHnFb,aGsDsB;EHrDtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACC;EAED;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAEA;EACC,kBA1Da;;AAgEd;EACC,kBAzDc;;AA6DhB;EACC;EACA,YAjFc;;AAoFf;EACC;EACA;;AAGC;EACC,kBA5EY;;AAkFb;EACC,kBA3Ea;;AA+Ef;EAAgC;;AAGjC;EACC;;AAGC;EACC,kBA/FY;;AAqGb;EACC,kBA9Fa;;;AAsGjB;EACC,WGHa;EHIb;;;AAGD;EACC,SGpBW;EHqBX;;AAEA;EACC;;AAEA;EACC;EACA;;;AAKH;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAKA;EAKC,OAjLa;;;AAqLf;EACC,kBA/KoB;EAgLpB,OApLiB;;AAuLhB;EACC,kBAhKgB;;AAsKjB;EACC,kBA/JiB;;AAmKnB;EACC;EACA;EACA,OAxMa;;AA2MZ;EACC,kBAtLY;;AA0Ld;EAAgC;;AAI/B;EACC,kBAvLa;;AA4LhB;EACC;EACA,OA5Na;;AA+NZ;EACC,kBA1MY;;AAgNb;EACC,kBAzMa;;;AA+MjB;EACC,kBAvOqB;EAwOrB,OA5OkB;;AA+OjB;EACC,kBAxNiB;;AA8NlB;EACC,kBAvNkB;;AA2NpB;EAAgC,YAjPhB;;AAmPhB;EACC;EACA;EACA,OAlQc;;AAqQb;EACC,kBAhPa;;AAsPd;EACC,kBA/Oc;;AAmPhB;EAAgC;;AAGjC;EACC;EACA,OAtRc;;AAyRb;EACC,kBApQa;;AA0Qd;EACC,kBAnQc;;;AA2QjB;EAGC,YAxSmB;EAySnB,OA/Sa;EAgTb;;AAEA;EACC,SGrMgB;;AHyMlB;EAEC;;AAGD;EACC;;;AAIF;EAAoB;;;AAGpB;EACC,WGhMa;EHiMb;;AAEA;EACC,WGlMY;EHmMZ;;;AAMF;EAAwB,WG3MV;;;AH6Md;EACC;;AACA;EAAsB,SGlNR;;;AHqNf;EACC;;AACA;EAAsB;;;AAIvB;EAAgB;;;AAGhB;EAAsB;;;AAItB;EACC;IAAK;;;AAGN;EACC,SG3PkB;EH4PlB;EACA;;AAEA;EAAmB;;;AAGpB;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EAAsB,eGvQV;;;AHwQZ;EAAuB,cGxQX;;;AH0QZ;EAA2B;;;AAE3B;EACC;EACA;;;AAGD;EAAoD;;;AI5YpD;EACC;EACA;EACA;;AAEA;EACC,eDYgB;ECXhB;EACA;;;AAIF;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;AAAA;EAAM","file":"index.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/Button/Button.scss","../../../src/utilities/_component-reset.scss","../../../src/utilities/_font-smoothing.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../node_modules/@servicetitan/tokens/core/appearances/light.scss","../../../src/components/Icon/Icon.scss"],"names":[],"mappings":"AAAA;ACqCA;AClCC;EACA;AAEA;EACA;ECLC;EACA;EFsCD;EACA,kBAhCoB;EAiCpB;EACA,eGtBiB;EHuBjB;EACA,OA1Cc;EA2Cd;EACA;EACA,WGyFa;EHxFb,aG2DsB;EH1DtB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YACC;EAID;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAEA;EACC,kBAzDa;;AA+Dd;EACC,kBA1Dc;;AA8DhB;EACC;EACA,SA9Ec;;AAiFf;EACC,kBAtFmB;EAuFnB;;AAGC;EACC,kBA5EY;;AAkFb;EACC,kBA7Ea;;AAkFhB;EACC;;AAGC;EACC,kBA7FY;;AAmGb;EACC,kBA9Fa;;;AAsGjB;EACC,WGCa;EHAb;;;AAGD;EACC,SGhBW;EHiBX;;AAEA;EACC;;AAEA;EACC;EACA;;;AAKH;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAKA;EAKC,OA7Ka;;;AAiLf;EACC,kBA3KoB;EA4KpB,OAhLiB;;AAmLhB;EACC,kBA/Ja;;AAqKd;EACC,kBAhKc;;AAoKhB;EACC;EACA;EACA,OApMa;;AAuMZ;EACC,kBApLY;;AA0Lb;EACC,kBArLa;;AA0LhB;EACC;EACA,OAtNa;;AAyNZ;EACC,kBAtMY;;AA4Mb;EACC,kBAvMa;;;AA6MjB;EACC,kBAjOqB;EAkOrB,OAtOkB;;AAyOjB;EACC,kBArNiB;;AAyNnB;EACC,SApOe;;AAyOf;EACC,kBA1NkB;;AA8NpB;EACC;EACA;EACA,OA9Pc;;AAiQb;EACC,kBA9Oa;;AAoPd;EACC,kBA/Oc;;AAoPjB;EACC;EACA,OAhRc;;AAmRb;EACC,kBAhQa;;AAsQd;EACC,kBAjQc;;;AAyQjB;EAGC,YI7PkC;EJ8PlC,OIjPyB;EJkPzB;EACA;;AAEA;EACC,SGhMgB;;;AHqMnB;EAAoB;;;AAGpB;EACC,WGlLa;EHmLb;;AAEA;EACC,WGpLY;EHqLZ;;;AAMF;EAAwB,WG7LV;;;AH+Ld;EACC;;AACA;EAAsB,SGpMR;;;AHuMf;EACC;;AACA;EAAsB;;;AAIvB;EAAgB;;;AAGhB;EAAsB;;;AAItB;EACC;IAAK;;;AAGN;EACC,SG7OkB;EH8OlB;EACA;;AAEA;EAAmB;;;AAGpB;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EAAsB,eGzPV;;;AH0PZ;EAAuB,cG1PX;;;AH4PZ;EAA2B;;;AAE3B;EACC;EACA;;;AAGD;EAAoD;;;AK9XpD;EACC;EACA;EACA;;AAEA;EACC,eFYgB;EEXhB;EACA;;;AAIF;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGA;AAAA;EAAM","file":"index.css"}
@@ -13,7 +13,7 @@
13
13
  position: absolute;
14
14
  top: 0;
15
15
  width: 100%;
16
- z-index: 9;
16
+ z-index: 799;
17
17
  }
18
18
  .Mask__overlay.border-radius-1 {
19
19
  border-radius: 3px;
@@ -13,7 +13,7 @@
13
13
  position: absolute;
14
14
  top: 0;
15
15
  width: 100%;
16
- z-index: 9;
16
+ z-index: 799;
17
17
  }
18
18
  .Mask__overlay.border-radius-1 {
19
19
  border-radius: 3px;
@@ -226,7 +226,7 @@
226
226
  box-shadow: 0 0 0 8px var(--colorsBorderCritical, #e13212) inset;
227
227
  }
228
228
  .a-Radio:not(.Radio--disabled):hover .Radio__box {
229
- box-shadow: 0 0 0 1px var(--colorsBorderDefault, #444445) inset;
229
+ box-shadow: 0 0 0 1px var(--colorsBorderDefault, #949596) inset;
230
230
  }
231
231
  .a-Radio:not(.Radio--disabled):hover .Radio__input:checked + .Radio__box, .Radio--checked:not(.Radio--disabled):hover .Radio__box {
232
232
  box-shadow: 0 0 0 2px var(--colorsHoverOnPrimary, rgba(255, 255, 255, 0.16)) inset, 0 0 0 2px var(--colorsBorderPrimary, #0265dc) inset;
@@ -226,7 +226,7 @@
226
226
  box-shadow: 0 0 0 8px var(--colorsBorderCritical, #e13212) inset;
227
227
  }
228
228
  .a-Radio:not(.Radio--disabled):hover .Radio__box {
229
- box-shadow: 0 0 0 1px var(--colorsBorderDefault, #444445) inset;
229
+ box-shadow: 0 0 0 1px var(--colorsBorderDefault, #949596) inset;
230
230
  }
231
231
  .a-Radio:not(.Radio--disabled):hover .Radio__input:checked + .Radio__box, .Radio--checked:not(.Radio--disabled):hover .Radio__box {
232
232
  box-shadow: 0 0 0 2px var(--colorsHoverOnPrimary, rgba(255, 255, 255, 0.16)) inset, 0 0 0 2px var(--colorsBorderPrimary, #0265dc) inset;
@@ -228,7 +228,7 @@
228
228
  box-shadow: 0 0 0 4px var(--colorsBorderPrimarySubdued, #b5deff);
229
229
  }
230
230
  .a-Checkbox:not(.Checkbox--disabled):hover .Checkbox__box {
231
- border-color: var(--colorsBorderDefault, #444445);
231
+ border-color: var(--colorsBorderDefault, #949596);
232
232
  }
233
233
  .Checkbox--error.a-Checkbox:not(.Checkbox--disabled):hover .Checkbox__box {
234
234
  border-color: var(--colorsBorderCritical, #e13212);
@@ -574,6 +574,21 @@ span.Popover {
574
574
  .Table.k-grid .k-checkbox.k-focus, .Table.k-grid .k-checkbox:checked:focus, .Table.k-grid .k-checkbox:focus {
575
575
  box-shadow: 0 0 0 4px var(--colorsFocusRingPrimary, #78bbfa);
576
576
  }
577
+ .Table.k-grid a.Link.Link--blue {
578
+ color: var(--colorsTextPrimary, #0265dc);
579
+ }
580
+ .Table.k-grid a.Link.Link--red {
581
+ color: var(--colorsTextCritical, #bf2a00);
582
+ }
583
+ .Table.k-grid a.Link.Link--grey {
584
+ color: var(--colorsTextSubdued, #606162);
585
+ }
586
+ .Table.k-grid a.Link.Link--disabled {
587
+ color: var(--colorsTextDefault, #141414);
588
+ }
589
+ .Table.k-grid a.Link:hover, .Table.k-grid a.Link:focus {
590
+ text-decoration: underline;
591
+ }
577
592
  .Table.k-grid .k-filter-row > td,
578
593
  .Table.k-grid .k-filter-row > th,
579
594
  .Table.k-grid td,
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/Form/Form.scss","../../../src/components/Checkbox/Checkbox.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/components/Popover/Popover.scss","../../../src/themes/kendo/_kendo-variables.scss","../../../src/components/Table/Table.scss"],"names":[],"mappings":"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","file":"Table.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/Form/Form.scss","../../../src/components/Checkbox/Checkbox.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/components/Popover/Popover.scss","../../../src/themes/kendo/_kendo-variables.scss","../../../src/components/Table/Table.scss"],"names":[],"mappings":"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","file":"Table.css"}
@@ -228,7 +228,7 @@
228
228
  box-shadow: 0 0 0 4px var(--colorsBorderPrimarySubdued, #b5deff);
229
229
  }
230
230
  .a-Checkbox:not(.Checkbox--disabled):hover .Checkbox__box {
231
- border-color: var(--colorsBorderDefault, #444445);
231
+ border-color: var(--colorsBorderDefault, #949596);
232
232
  }
233
233
  .Checkbox--error.a-Checkbox:not(.Checkbox--disabled):hover .Checkbox__box {
234
234
  border-color: var(--colorsBorderCritical, #e13212);
@@ -574,6 +574,21 @@ span.Popover {
574
574
  .Table.k-grid .k-checkbox.k-focus, .Table.k-grid .k-checkbox:checked:focus, .Table.k-grid .k-checkbox:focus {
575
575
  box-shadow: 0 0 0 4px var(--colorsFocusRingPrimary, #78bbfa);
576
576
  }
577
+ .Table.k-grid a.Link.Link--blue {
578
+ color: var(--colorsTextPrimary, #0265dc);
579
+ }
580
+ .Table.k-grid a.Link.Link--red {
581
+ color: var(--colorsTextCritical, #bf2a00);
582
+ }
583
+ .Table.k-grid a.Link.Link--grey {
584
+ color: var(--colorsTextSubdued, #606162);
585
+ }
586
+ .Table.k-grid a.Link.Link--disabled {
587
+ color: var(--colorsTextDefault, #141414);
588
+ }
589
+ .Table.k-grid a.Link:hover, .Table.k-grid a.Link:focus {
590
+ text-decoration: underline;
591
+ }
577
592
  .Table.k-grid .k-filter-row > td,
578
593
  .Table.k-grid .k-filter-row > th,
579
594
  .Table.k-grid td,
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/Form/Form.scss","../../../src/components/Checkbox/Checkbox.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/components/Popover/Popover.scss","../../../src/themes/kendo/_kendo-variables.scss","../../../src/components/Table/Table.scss"],"names":[],"mappings":"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","file":"index.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../../src/utilities/_visually-hidden.scss","../../../src/components/Form/Form.scss","../../../src/components/Checkbox/Checkbox.scss","../../../src/utilities/_component-reset.scss","../../../node_modules/@servicetitan/tokens/core/tokens.scss","../../../src/components/Popover/Popover.scss","../../../src/themes/kendo/_kendo-variables.scss","../../../src/components/Table/Table.scss"],"names":[],"mappings":"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","file":"index.css"}
@@ -49,7 +49,9 @@ export const Takeover = (_a) => {
49
49
  };
50
50
  const TakeoverClasses = classnames('Takeover', className, `Takeover--${theme}`);
51
51
  const contentWrapperClasses = classnames('TakeoverContent', contentWrapperClass);
52
- const content = wrapWithComponent(children, TakeoverSection);
52
+ const content = !sectioned
53
+ ? wrapWithComponent(children, TakeoverSection)
54
+ : children;
53
55
  const duration = parseInt(tokens.durationStandard, 10) / 1000; // '200ms' -> 0.2
54
56
  const framerAnimation = {
55
57
  initial: { opacity: 0, y: 50 },
@@ -1 +1 @@
1
- {"version":3,"file":"Takeover.js","sourceRoot":"","sources":["../../../src/components/Takeover/Takeover.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { FC } from 'react';\nimport classnames from 'classnames';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { tokens } from '@servicetitan/tokens/core';\nimport { Overlay } from '../../internal/Overlay';\nimport { wrapWithComponent } from '../../utilities/wrapWithComponent';\nimport { useFocusTrap, UseFocusTrapProps } from '../../hooks/useFocusTrap';\nimport { TakeoverHeader, TakeoverHeaderProps } from './TakeoverHeader';\nimport { TakeoverSection, TakeoverSectionProps } from './TakeoverSection';\nimport { TakeoverFooter, TakeoverFooterProps } from './TakeoverFooter';\n\nexport interface TakeoverPropsStrict {\n\t/** Content for Action area next to close button */\n\tactions?: TakeoverHeaderProps['actions'];\n\n\t/**\n\t * Use animation for show/hide transitions\n\t * Defaults to false because Takeovers are used as full page layouts\n\t */\n\tanimate?: boolean;\n\n\t/** Label for Back button. Turns Back button into `Back to {backLabel}` button */\n\tbackLabel?: TakeoverHeaderProps['backLabel'];\n\n\t/** Add <ProgressTracker.Step> components to be rendered in the <ProgressTracker> */\n\tchildren: TakeoverSectionProps['children'];\n\n\t/** Adds one or more classnames to an element */\n\tclassName?: string;\n\n\t/** Adds one or more classnames to TakeoverContent */\n\tcontentWrapperClass?: string;\n\n\t/** Footer Elements */\n\tfooter?: TakeoverFooterProps['children'];\n\n\t/** Align TakeoverFooter content using flexbox justify-content properties */\n\tfooterAlign?: TakeoverFooterProps['align'];\n\n\t/** False will automatically wrap children with <Takeover.Section /> */\n\tsectioned?: boolean;\n\n\t/** If passed an onBack function, <Takeover.Header> gets a Back button in the top right */\n\tonBack?: TakeoverHeaderProps['onBack'];\n\n\t/** If passed an onClose function, <Takeover.Header> gets a Close button in the top right */\n\tonClose?: TakeoverHeaderProps['onClose'];\n\n\t/** Set visibility of the Takeover */\n\topen?: boolean;\n\n\t/** Theme of Takeover */\n\ttheme?: TakeoverHeaderProps['theme'];\n\n\t/** Name of Takeover */\n\ttitle: TakeoverHeaderProps['title'];\n\n\t/** Render in a React Portal */\n\tportal?: boolean;\n\n\t/** Options passed into useFocusTrap */\n\tfocusTrapOptions?: UseFocusTrapProps;\n}\n\nexport interface TakeoverProps extends TakeoverPropsStrict {\n\t[propName: string]: any;\n}\n\nexport interface Takeover extends FC<TakeoverProps> {\n\tHeader: typeof TakeoverHeader;\n\tSection: typeof TakeoverSection;\n\tFooter: typeof TakeoverFooter;\n}\n\nexport const Takeover: Takeover = ({\n\tactions,\n\tanimate = false,\n\tbackLabel,\n\tchildren,\n\tclassName,\n\tcontentWrapperClass,\n\tfocusTrapOptions,\n\tfooter,\n\tfooterAlign = TakeoverFooter.defaultProps.align,\n\tonBack,\n\tonClose,\n\topen = true,\n\tportal = true,\n\tsectioned,\n\ttheme = TakeoverHeader.defaultProps.theme,\n\ttitle,\n\t...props\n}) => {\n\tReact.useEffect(() => {\n\t\tif (open) {\n\t\t\tdocument.body.classList.add('Takeover--is-open');\n\t\t} else {\n\t\t\tconst otherOpenTakeovers =\n\t\t\t\tdocument.getElementsByClassName('Takeover').length > 0;\n\t\t\tif (otherOpenTakeovers) {\n\t\t\t\tdocument.body.classList.add('Takeover--is-open');\n\t\t\t}\n\t\t}\n\n\t\treturn () => document.body.classList.remove('Takeover--is-open');\n\t}, [open]);\n\n\t// Focus trapping\n\tconst takeoverRef = useFocusTrap({\n\t\tautoFocusContainer: true,\n\t\tdisabled: !open,\n\t\t...focusTrapOptions,\n\t});\n\n\tconst headerProps = {\n\t\tactions,\n\t\tbackLabel,\n\t\tonBack,\n\t\tonClose,\n\t\ttheme,\n\t\ttitle,\n\t};\n\n\tconst footerProps = {\n\t\talign: footerAlign,\n\t\tchildren: footer,\n\t};\n\n\tconst TakeoverClasses = classnames(\n\t\t'Takeover',\n\t\tclassName,\n\t\t`Takeover--${theme}`\n\t);\n\n\tconst contentWrapperClasses = classnames(\n\t\t'TakeoverContent',\n\t\tcontentWrapperClass\n\t);\n\n\tconst content = wrapWithComponent(children, TakeoverSection);\n\n\tconst duration: number = parseInt(tokens.durationStandard, 10) / 1000; // '200ms' -> 0.2\n\tconst framerAnimation = {\n\t\tinitial: { opacity: 0, y: 50 },\n\t\tanimate: { opacity: 1, y: 0 },\n\t\texit: { opacity: 0, y: 50 },\n\t\ttransition: { type: 'easeInOut', duration },\n\t};\n\n\tconst Animate = animate ? AnimatePresence : React.Fragment;\n\tconst TakeoverEl = animate ? motion.div : 'div';\n\tconst TakeoverProps = {\n\t\tclassName: TakeoverClasses,\n\t\tref: takeoverRef,\n\t\t...(animate && framerAnimation),\n\t\t...props,\n\t};\n\n\treturn (\n\t\t<Overlay portal={portal} animate={animate} open={open}>\n\t\t\t<Animate>\n\t\t\t\t{open && (\n\t\t\t\t\t<TakeoverEl\n\t\t\t\t\t\tdata-anvil-component=\"Takeover\"\n\t\t\t\t\t\t{...TakeoverProps}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TakeoverHeader {...headerProps} />\n\t\t\t\t\t\t<div className={contentWrapperClasses}>{content}</div>\n\t\t\t\t\t\t<TakeoverFooter {...footerProps} />\n\t\t\t\t\t</TakeoverEl>\n\t\t\t\t)}\n\t\t\t</Animate>\n\t\t</Overlay>\n\t);\n};\n\nTakeover.Header = TakeoverHeader;\nTakeover.Section = TakeoverSection;\nTakeover.Footer = TakeoverFooter;\n"]}
1
+ {"version":3,"file":"Takeover.js","sourceRoot":"","sources":["../../../src/components/Takeover/Takeover.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { FC } from 'react';\nimport classnames from 'classnames';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport { tokens } from '@servicetitan/tokens/core';\nimport { Overlay } from '../../internal/Overlay';\nimport { wrapWithComponent } from '../../utilities/wrapWithComponent';\nimport { useFocusTrap, UseFocusTrapProps } from '../../hooks/useFocusTrap';\nimport { TakeoverHeader, TakeoverHeaderProps } from './TakeoverHeader';\nimport { TakeoverSection, TakeoverSectionProps } from './TakeoverSection';\nimport { TakeoverFooter, TakeoverFooterProps } from './TakeoverFooter';\n\nexport interface TakeoverPropsStrict {\n\t/** Content for Action area next to close button */\n\tactions?: TakeoverHeaderProps['actions'];\n\n\t/**\n\t * Use animation for show/hide transitions\n\t * Defaults to false because Takeovers are used as full page layouts\n\t */\n\tanimate?: boolean;\n\n\t/** Label for Back button. Turns Back button into `Back to {backLabel}` button */\n\tbackLabel?: TakeoverHeaderProps['backLabel'];\n\n\t/** Add <ProgressTracker.Step> components to be rendered in the <ProgressTracker> */\n\tchildren: TakeoverSectionProps['children'];\n\n\t/** Adds one or more classnames to an element */\n\tclassName?: string;\n\n\t/** Adds one or more classnames to TakeoverContent */\n\tcontentWrapperClass?: string;\n\n\t/** Footer Elements */\n\tfooter?: TakeoverFooterProps['children'];\n\n\t/** Align TakeoverFooter content using flexbox justify-content properties */\n\tfooterAlign?: TakeoverFooterProps['align'];\n\n\t/** False will automatically wrap children with <Takeover.Section /> */\n\tsectioned?: boolean;\n\n\t/** If passed an onBack function, <Takeover.Header> gets a Back button in the top right */\n\tonBack?: TakeoverHeaderProps['onBack'];\n\n\t/** If passed an onClose function, <Takeover.Header> gets a Close button in the top right */\n\tonClose?: TakeoverHeaderProps['onClose'];\n\n\t/** Set visibility of the Takeover */\n\topen?: boolean;\n\n\t/** Theme of Takeover */\n\ttheme?: TakeoverHeaderProps['theme'];\n\n\t/** Name of Takeover */\n\ttitle: TakeoverHeaderProps['title'];\n\n\t/** Render in a React Portal */\n\tportal?: boolean;\n\n\t/** Options passed into useFocusTrap */\n\tfocusTrapOptions?: UseFocusTrapProps;\n}\n\nexport interface TakeoverProps extends TakeoverPropsStrict {\n\t[propName: string]: any;\n}\n\nexport interface Takeover extends FC<TakeoverProps> {\n\tHeader: typeof TakeoverHeader;\n\tSection: typeof TakeoverSection;\n\tFooter: typeof TakeoverFooter;\n}\n\nexport const Takeover: Takeover = ({\n\tactions,\n\tanimate = false,\n\tbackLabel,\n\tchildren,\n\tclassName,\n\tcontentWrapperClass,\n\tfocusTrapOptions,\n\tfooter,\n\tfooterAlign = TakeoverFooter.defaultProps.align,\n\tonBack,\n\tonClose,\n\topen = true,\n\tportal = true,\n\tsectioned,\n\ttheme = TakeoverHeader.defaultProps.theme,\n\ttitle,\n\t...props\n}) => {\n\tReact.useEffect(() => {\n\t\tif (open) {\n\t\t\tdocument.body.classList.add('Takeover--is-open');\n\t\t} else {\n\t\t\tconst otherOpenTakeovers =\n\t\t\t\tdocument.getElementsByClassName('Takeover').length > 0;\n\t\t\tif (otherOpenTakeovers) {\n\t\t\t\tdocument.body.classList.add('Takeover--is-open');\n\t\t\t}\n\t\t}\n\n\t\treturn () => document.body.classList.remove('Takeover--is-open');\n\t}, [open]);\n\n\t// Focus trapping\n\tconst takeoverRef = useFocusTrap({\n\t\tautoFocusContainer: true,\n\t\tdisabled: !open,\n\t\t...focusTrapOptions,\n\t});\n\n\tconst headerProps = {\n\t\tactions,\n\t\tbackLabel,\n\t\tonBack,\n\t\tonClose,\n\t\ttheme,\n\t\ttitle,\n\t};\n\n\tconst footerProps = {\n\t\talign: footerAlign,\n\t\tchildren: footer,\n\t};\n\n\tconst TakeoverClasses = classnames(\n\t\t'Takeover',\n\t\tclassName,\n\t\t`Takeover--${theme}`\n\t);\n\n\tconst contentWrapperClasses = classnames(\n\t\t'TakeoverContent',\n\t\tcontentWrapperClass\n\t);\n\n\tconst content = !sectioned\n\t\t? wrapWithComponent(children, TakeoverSection)\n\t\t: children;\n\n\tconst duration: number = parseInt(tokens.durationStandard, 10) / 1000; // '200ms' -> 0.2\n\tconst framerAnimation = {\n\t\tinitial: { opacity: 0, y: 50 },\n\t\tanimate: { opacity: 1, y: 0 },\n\t\texit: { opacity: 0, y: 50 },\n\t\ttransition: { type: 'easeInOut', duration },\n\t};\n\n\tconst Animate = animate ? AnimatePresence : React.Fragment;\n\tconst TakeoverEl = animate ? motion.div : 'div';\n\tconst TakeoverProps = {\n\t\tclassName: TakeoverClasses,\n\t\tref: takeoverRef,\n\t\t...(animate && framerAnimation),\n\t\t...props,\n\t};\n\n\treturn (\n\t\t<Overlay portal={portal} animate={animate} open={open}>\n\t\t\t<Animate>\n\t\t\t\t{open && (\n\t\t\t\t\t<TakeoverEl\n\t\t\t\t\t\tdata-anvil-component=\"Takeover\"\n\t\t\t\t\t\t{...TakeoverProps}\n\t\t\t\t\t>\n\t\t\t\t\t\t<TakeoverHeader {...headerProps} />\n\t\t\t\t\t\t<div className={contentWrapperClasses}>{content}</div>\n\t\t\t\t\t\t<TakeoverFooter {...footerProps} />\n\t\t\t\t\t</TakeoverEl>\n\t\t\t\t)}\n\t\t\t</Animate>\n\t\t</Overlay>\n\t);\n};\n\nTakeover.Header = TakeoverHeader;\nTakeover.Section = TakeoverSection;\nTakeover.Footer = TakeoverFooter;\n"]}
@@ -5,7 +5,7 @@
5
5
  /* Make sure font-family goes across entire component */
6
6
  font-family: "Nunito Sans", sans-serif;
7
7
  box-sizing: border-box;
8
- border: 1px solid var(--colorsBorderDefault, #444445);
8
+ border: 1px solid var(--colorsBorderDefault, #949596);
9
9
  display: inline-block;
10
10
  position: relative;
11
11
  overflow: hidden;
@@ -5,7 +5,7 @@
5
5
  /* Make sure font-family goes across entire component */
6
6
  font-family: "Nunito Sans", sans-serif;
7
7
  box-sizing: border-box;
8
- border: 1px solid var(--colorsBorderDefault, #444445);
8
+ border: 1px solid var(--colorsBorderDefault, #949596);
9
9
  display: inline-block;
10
10
  position: relative;
11
11
  overflow: hidden;
@@ -33,9 +33,10 @@ export const TimePicker = React.forwardRef((props, ref) => {
33
33
  const mm = () => consumeMinMax(min, max, timezone);
34
34
  const inputRef = React.useRef(null);
35
35
  const dropdownRef = React.useRef(null);
36
+ const text = typeof value === 'string' ? value : dateToTime(value) || ''; // Try to parse `value: string`, if `value: Date` use TZ
36
37
  const [opened, setOpened] = React.useState(false); // Dropdown's visibility
37
38
  const [dropdownFocused, setDropdownFocused] = React.useState(false); // Dropdown is in focus
38
- const [input, setInput] = React.useState(''); // User's input string
39
+ const [input, setInput] = React.useState(text); // User's input string
39
40
  const [filter, setFilter] = React.useState(''); // Dropdown's options filter string (differs from user's input)
40
41
  const { labelFor: inputId } = React.useContext(FormFieldContext);
41
42
  // Effects
@@ -52,10 +53,6 @@ export const TimePicker = React.forwardRef((props, ref) => {
52
53
  if (text !== input)
53
54
  setInput(text);
54
55
  }, [value, timezone]); // eslint-disable-line
55
- useEffect(() => {
56
- // Perform autocomplete on first render to convert "value: string" into "value: Date"
57
- autoComplete();
58
- }, []); // eslint-disable-line
59
56
  const handleInputFocus = () => {
60
57
  if (disabled)
61
58
  return;
@@ -121,23 +118,28 @@ export const TimePicker = React.forwardRef((props, ref) => {
121
118
  filtered = highlightOption(filtered, closestOption); // Highlight closest option
122
119
  return filtered;
123
120
  }, [input, filter, options, autoRounding, closestOption]);
124
- // Runs on each input blur event
125
121
  const autoComplete = () => {
126
- if (input === '')
122
+ if (!value && input === '') {
123
+ return;
124
+ }
125
+ if (input === '') {
126
+ onChange === null || onChange === void 0 ? void 0 : onChange(null);
127
127
  return;
128
+ }
128
129
  if (closestOption) {
129
130
  if (closestOption.text === dateToTime(value)) {
130
131
  setInput(closestOption.text);
131
132
  setFilter('');
132
133
  return; // Suppress onChange, as same time aready selected
133
134
  }
134
- onChange(timeToDate(closestOption.text)); // Accept user input
135
+ onChange === null || onChange === void 0 ? void 0 : onChange(timeToDate(closestOption.text)); // Accept user input
135
136
  }
136
137
  else {
137
138
  // Reject user input, if input !== ''
138
- onChange(null);
139
+ onChange === null || onChange === void 0 ? void 0 : onChange(null);
139
140
  setInput(''); // Clear user's input
140
141
  setFilter('');
142
+ return;
141
143
  }
142
144
  if (opened)
143
145
  setOpened(false);
@@ -162,7 +164,6 @@ export const TimePicker = React.forwardRef((props, ref) => {
162
164
  const { key } = e;
163
165
  // Autocomplete on focus lost (on tab or shift+tab)
164
166
  if (key === keys.tab) {
165
- autoComplete();
166
167
  if (opened)
167
168
  setOpened(false);
168
169
  }
@@ -189,7 +190,7 @@ export const TimePicker = React.forwardRef((props, ref) => {
189
190
  const handleDropdownChange = (val) => {
190
191
  const time = dateToTime(val, localTimezone); // Dropdown is using local
191
192
  const date = timeToDate(time); // get date based on timezone and returnDate
192
- onChange(date);
193
+ onChange === null || onChange === void 0 ? void 0 : onChange(date);
193
194
  setInput(time);
194
195
  setFilter('');
195
196
  focus(inputRef); // Move focus back to the field
@@ -1 +1 @@
1
- {"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../../../src/components/TimePicker/TimePicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { FC, useCallback, useEffect, useMemo } from 'react';\nimport classnames from 'classnames';\n\nimport { Input, InputProps } from '../Input';\nimport { Popover, PopoverProps } from '../Popover';\nimport { TimezoneContext } from '../../utilities/TimezoneProvider';\nimport { keys } from '../../utilities';\nimport { FormFieldContext } from '../../components/FormField';\n\nimport {\n\tdateToTime as dtt,\n\ttimeToDate as ttd,\n\tlocalTimezone,\n\tconsumeMinMax,\n\tgetReturnDate,\n\tgenerateOptions,\n\tfilterOptionsWithRounding,\n\tfilterOptions,\n\tgetClosestOption,\n\tgetOptionByText,\n\thighlightOption,\n\tinjectOption,\n} from './utils';\n\nimport { TimePickerOptionList, TimePickerOptionProps } from './components';\nimport { PopperProps } from '../../internal';\n\nexport interface TimePickerPropsStrict\n\textends Omit<InputProps, 'value'>,\n\t\tPick<\n\t\t\tPopoverProps,\n\t\t\t| 'autoFlipVertically'\n\t\t\t| 'autoFlipHorizontally'\n\t\t\t| 'direction'\n\t\t\t| 'width'\n\t\t> {\n\t/**\n\t * If false, ignores `step` prop, so that user may fill in intermidiate values.\n\t * If true, user only allowed to choose options generated with `step` prop,\n\t * and user's input to be automatically rounded to the closest option.\n\t * Closest value to be highlighted in a dropdown.\n\t * Default is false.\n\t */\n\tautoRounding?: boolean;\n\n\t/** Preferable signifier of a value to select on autocomplete when user left the control */\n\tdefaultTimeSignifier?: 'AM' | 'PM';\n\n\t/**\n\t * Turns off TimePicker's ability to display a dropdown with options.\n\t * Default is false.\n\t */\n\tdisableDropdown?: boolean;\n\n\t/**\n\t * Specified in minutes, default is 30. Should not exceed 1440 (24 hours).\n\t * Step used to:\n\t * 1. hide intermediate values (these values are still possible to pick by typing)\n\t * from TimePicker's dropdown if `autoRounding` is false, or\n\t * 2. generate strict values for dropdown options if `autoRounding` is true.\n\t */\n\tstep?: number;\n\n\t/**\n\t * Time format.\n\t * Value of `hh:mm` stands for 24-hour format with leading zero.\n\t * Default value is `hh:mm xm`.\n\t */\n\tformat?: 'hh:mm xm' | 'hh:mm';\n\n\t/**\n\t * Minimum time allowed.\n\t * String value must have `hh:mm xm` or `hh:mm` format, from 00:00 to 23:59.\n\t * Default is `12:00 AM`.\n\t */\n\tmin?: Date | string;\n\n\t/**\n\t * Maximum time allowed.\n\t * String value must have `hh:mm xm` or `hh:mm` format, from 00:00 to 23:59.\n\t * Default is `11:59 PM`.\n\t */\n\tmax?: Date | string;\n\n\t/** Called when the user changes the value */\n\tonChange?: (value: TimePickerOptionProps['value']) => void;\n\n\t/** Show a dropdown on render, if `disableDropdown` is unset */\n\topen?: boolean;\n\n\t/** Date object, unrestricted by min and max props */\n\tvalue?: TimePickerOptionProps['value'];\n\n\t/** Props to be passed to the portaled div */\n\tportalDataAttributes?: PopperProps['portalDataAttributes'];\n}\n\nexport interface TimePickerProps extends TimePickerPropsStrict {\n\t/** Unstrict Props */\n\t[propName: string]: any;\n}\n\nexport const TimePicker: FC<TimePickerProps> = React.forwardRef(\n\t(props, ref: React.RefObject<any>) => {\n\t\tconst {\n\t\t\tautoRounding = false,\n\t\t\tclassName,\n\t\t\tdefaultTimeSignifier = 'AM',\n\t\t\tdisabled,\n\t\t\tdisableDropdown = false,\n\t\t\tdirection = 'br',\n\t\t\terror,\n\t\t\tfluid,\n\t\t\tformat = 'hh:mm xm',\n\t\t\tmin = '12:00 AM',\n\t\t\tmax = '23:59 PM',\n\t\t\tonChange,\n\t\t\topen,\n\t\t\tplaceholder,\n\t\t\tstep = 30,\n\t\t\tsize,\n\t\t\tvalue,\n\t\t\twidth = '100',\n\t\t\tportalDataAttributes,\n\t\t\t...rest\n\t\t} = props;\n\t\tconst timezone = React.useContext(TimezoneContext);\n\n\t\t// Date (00:00 in timezone), based on which selected time to be returned\n\t\tconst returnDate = () => getReturnDate(min, max, value, timezone);\n\t\tconst dateToTime = (d: Date, tz?: string) =>\n\t\t\tdtt(d, tz || timezone, format);\n\t\tconst timeToDate = (t: string) => ttd(t, timezone, returnDate());\n\n\t\t/**\n\t\t * In case min or max provided as strings, no timezone adjustment needed.\n\t\t * In case of Date objects, their time should be adjusted to timezone provided.\n\t\t */\n\t\tconst mm = () => consumeMinMax(min, max, timezone);\n\n\t\tconst inputRef = React.useRef(null);\n\t\tconst dropdownRef = React.useRef<HTMLDivElement>(null);\n\n\t\tconst [opened, setOpened] = React.useState(false); // Dropdown's visibility\n\t\tconst [dropdownFocused, setDropdownFocused] = React.useState(false); // Dropdown is in focus\n\t\tconst [input, setInput] = React.useState(''); // User's input string\n\t\tconst [filter, setFilter] = React.useState(''); // Dropdown's options filter string (differs from user's input)\n\n\t\tconst { labelFor: inputId } = React.useContext(FormFieldContext);\n\n\t\t// Effects\n\t\tuseEffect(() => {\n\t\t\tif (disableDropdown || disabled) {\n\t\t\t\tsetOpened(false);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetOpened(open);\n\t\t}, [disableDropdown, disabled, open]);\n\n\t\tuseEffect(() => {\n\t\t\t// Set input's text on each non-null value change or timezone change\n\t\t\tconst text =\n\t\t\t\ttypeof value === 'string' ? value : dateToTime(value) || ''; // Try to parse `value: string`, if `value: Date` use TZ\n\t\t\tif (text !== input) setInput(text);\n\t\t}, [value, timezone]); // eslint-disable-line\n\n\t\tuseEffect(() => {\n\t\t\t// Perform autocomplete on first render to convert \"value: string\" into \"value: Date\"\n\t\t\tautoComplete();\n\t\t}, []); // eslint-disable-line\n\n\t\tconst handleInputFocus = () => {\n\t\t\tif (disabled) return;\n\t\t\tif (input === dateToTime(value)) setFilter(''); // Don't filter options until typing\n\t\t\tsetDropdownFocused(false); // Dropdown unfocus\n\t\t\tif (!disableDropdown && !opened) setOpened(true);\n\t\t};\n\n\t\tlet mouseDownOnDropdown = false; // To be false on each re-render\n\n\t\t// Prevents onBlur event handling on input when clicked inside dropdown\n\t\tconst handleDropdownMouseDown = () => (mouseDownOnDropdown = true);\n\t\tconst handleClickOutside = (e: any) => {\n\t\t\tif (!opened || disabled || disableDropdown) return;\n\t\t\tif (e?.target?.closest?.(`[for=\"${inputId}\"]`)) return;\n\t\t\tsetOpened(false);\n\t\t\tautoComplete();\n\t\t};\n\n\t\tconst handleInputBlur = () => {\n\t\t\t// User is choosing from dropdown'ed options\n\t\t\tif (dropdownFocused && !disableDropdown) return;\n\n\t\t\t// User clicked inside dropdown, prevent blur handling on input\n\t\t\tif (mouseDownOnDropdown) return;\n\n\t\t\t// Fake blur detection, case if active element not changed (alt+tab, etc)\n\t\t\tif (document.activeElement === getNode(inputRef)) return;\n\t\t\tautoComplete();\n\t\t};\n\n\t\t// Initial list of options to be generated based on min, max, step\n\t\tconst optionsArgs = [mm().min, mm().max, step, format] as const;\n\t\tconst options: TimePickerOptionProps[] = useCallback(\n\t\t\tgenerateOptions,\n\t\t\toptionsArgs\n\t\t)(...optionsArgs);\n\n\t\t// Getting most expected option based on user's input\n\t\tconst getClosestOptionArgs = [\n\t\t\toptions,\n\t\t\tinput,\n\t\t\tdefaultTimeSignifier,\n\t\t\tautoRounding,\n\t\t\tmm().min,\n\t\t\tmm().max,\n\t\t\tformat,\n\t\t] as const;\n\t\tconst closestOption = useCallback(\n\t\t\tgetClosestOption,\n\t\t\tgetClosestOptionArgs\n\t\t)(...getClosestOptionArgs);\n\n\t\t// Filtered list of options with an extra one to highligh (in case autoRounding is disabled)\n\t\tconst dropdownOptions = useMemo(() => {\n\t\t\tif (input === '') return options;\n\n\t\t\tif (filter === '')\n\t\t\t\t// Value is set, but user not yet modified input's text string\n\t\t\t\treturn highlightOption(\n\t\t\t\t\tinjectOption(options, closestOption), // Inject currently selected option in case it not yet exist\n\t\t\t\t\tclosestOption,\n\t\t\t\t\ttrue // Highlight selected value\n\t\t\t\t);\n\n\t\t\t// Filtering started, due to user's input manipulations\n\t\t\tlet filtered;\n\n\t\t\tfiltered = autoRounding\n\t\t\t\t? filterOptionsWithRounding(options, filter)\n\t\t\t\t: filterOptions(options, filter);\n\n\t\t\tfiltered = injectOption(filtered, closestOption); // Inject closest option in case it was filtered out\n\t\t\tfiltered = highlightOption(filtered, closestOption); // Highlight closest option\n\n\t\t\treturn filtered;\n\t\t}, [input, filter, options, autoRounding, closestOption]);\n\n\t\t// Runs on each input blur event\n\t\tconst autoComplete = () => {\n\t\t\tif (input === '') return;\n\t\t\tif (closestOption) {\n\t\t\t\tif (closestOption.text === dateToTime(value)) {\n\t\t\t\t\tsetInput(closestOption.text);\n\t\t\t\t\tsetFilter('');\n\t\t\t\t\treturn; // Suppress onChange, as same time aready selected\n\t\t\t\t}\n\t\t\t\tonChange(timeToDate(closestOption.text)); // Accept user input\n\t\t\t} else {\n\t\t\t\t// Reject user input, if input !== ''\n\t\t\t\tonChange(null);\n\t\t\t\tsetInput(''); // Clear user's input\n\t\t\t\tsetFilter('');\n\t\t\t}\n\t\t\tif (opened) setOpened(false);\n\t\t};\n\n\t\t// Handling with user's typing\n\t\tconst handleInputChange = (e: any, data: any) => {\n\t\t\tsetInput(data.value?.toUpperCase());\n\t\t\tsetFilter(data.value?.toUpperCase());\n\t\t\tif (!opened && !disableDropdown) setOpened(true);\n\t\t};\n\n\t\tconst handleIconClick = () => {\n\t\t\tif (disabled) return;\n\t\t\tfocus(inputRef);\n\t\t\tif (opened || disableDropdown) return;\n\t\t\tsetOpened(true);\n\t\t};\n\n\t\tconst handleInputKeyDown = (e: React.KeyboardEvent) => {\n\t\t\tconst { key } = e;\n\n\t\t\t// Autocomplete on focus lost (on tab or shift+tab)\n\t\t\tif (key === keys.tab) {\n\t\t\t\tautoComplete();\n\t\t\t\tif (opened) setOpened(false);\n\t\t\t}\n\n\t\t\t// Explicit autocomplete (on enter)\n\t\t\tif (key === keys.enter) autoComplete();\n\n\t\t\t// Move focus to the dropdown\n\t\t\tif (key === keys.down || key === keys.up) {\n\t\t\t\tif (!disableDropdown) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tif (!opened) setOpened(true);\n\t\t\t\t\tif (!dropdownFocused) setDropdownFocused(true);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tconst dropdownFocusValue = () => {\n\t\t\tconst focusValue = closestOption\n\t\t\t\t? getOptionByText(dropdownOptions, closestOption.text)\n\t\t\t\t: dropdownOptions[0];\n\n\t\t\treturn dropdownFocused ? focusValue : null;\n\t\t};\n\n\t\tconst handleDropdownChange = (val: Date) => {\n\t\t\tconst time = dateToTime(val, localTimezone); // Dropdown is using local\n\t\t\tconst date = timeToDate(time); // get date based on timezone and returnDate\n\t\t\tonChange(date);\n\t\t\tsetInput(time);\n\t\t\tsetFilter('');\n\t\t\tfocus(inputRef); // Move focus back to the field\n\t\t\tif (opened) setOpened(false);\n\t\t};\n\n\t\tconst inputProps = {\n\t\t\tid: inputId,\n\t\t\tfluid,\n\t\t\tdisabled,\n\t\t\terror,\n\t\t\tplaceholder:\n\t\t\t\ttypeof placeholder === 'string'\n\t\t\t\t\t? placeholder\n\t\t\t\t\t: format === 'hh:mm xm'\n\t\t\t\t\t? `HH:MM ${defaultTimeSignifier}`\n\t\t\t\t\t: 'HH:MM',\n\t\t\tsize,\n\t\t\tonChange: handleInputChange,\n\t\t\tonFocus: handleInputFocus,\n\t\t\tonBlur: handleInputBlur,\n\t\t\tvalue: input,\n\t\t};\n\n\t\tconst dropdownProps = {\n\t\t\tclassName: classnames('TimePicker__options', {\n\t\t\t\t'TimePicker__options-focused': dropdownFocused,\n\t\t\t}),\n\t\t\tfocusValue: dropdownFocusValue(),\n\t\t\toptions: dropdownOptions,\n\t\t\tonChange: handleDropdownChange,\n\t\t\tinputRef: inputRef.current?.inputRef || inputRef,\n\t\t\tdropdownRef,\n\t\t\tcloseDropdown: () => opened && setOpened(false),\n\t\t};\n\n\t\tconst Field = (\n\t\t\t<Input\n\t\t\t\t{...inputProps}\n\t\t\t\tclassName=\"TimePicker__input\"\n\t\t\t\tdata-anvil-component=\"TimePicker\"\n\t\t\t\ticon={{\n\t\t\t\t\tclassName: 'TimePicker__icon',\n\t\t\t\t\tel: 'span',\n\t\t\t\t\tname: 'access_time',\n\t\t\t\t\tonClick: handleIconClick,\n\t\t\t\t}}\n\t\t\t\ticonPosition=\"left\"\n\t\t\t\tonKeyDown={handleInputKeyDown}\n\t\t\t\tref={inputRef}\n\t\t\t/>\n\t\t);\n\n\t\tconst TimePickerClasses = classnames(className, 'TimePicker', {\n\t\t\t'TimePicker--open': opened,\n\t\t\t'TimePicker--disabled': disabled,\n\t\t\t[`TimePicker--${size}`]: size,\n\t\t});\n\n\t\treturn (\n\t\t\t<Popover\n\t\t\t\tautoFlipVertically\n\t\t\t\tclassName={classnames('TimePicker__dropdown', 'a-Select')}\n\t\t\t\tdirection={direction}\n\t\t\t\tonClickOutside={handleClickOutside}\n\t\t\t\topen={\n\t\t\t\t\t!disabled &&\n\t\t\t\t\t!disableDropdown &&\n\t\t\t\t\topened &&\n\t\t\t\t\tdropdownOptions.length !== 0\n\t\t\t\t}\n\t\t\t\tpadding={null}\n\t\t\t\tportal\n\t\t\t\tref={ref}\n\t\t\t\tscrollHeight={props.scrollHeight || '192px'}\n\t\t\t\ttrigger={Field}\n\t\t\t\twidth={width}\n\t\t\t\twrapperClassName={TimePickerClasses}\n\t\t\t\tonMouseDown={handleDropdownMouseDown}\n\t\t\t\tportalDataAttributes={portalDataAttributes}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<TimePickerOptionList {...dropdownProps} />\n\t\t\t</Popover>\n\t\t);\n\t}\n);\n\nTimePicker.displayName = 'TimePicker';\n\nconst getNode = (ref: any) => {\n\tif (ref.current?.inputRef?.current) {\n\t\treturn ref.current.inputRef.current; // Input component\n\t}\n\treturn ref.current; // Something else\n};\n\nconst focus = (ref: any) => getNode(ref).focus();\n"]}
1
+ {"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../../../src/components/TimePicker/TimePicker.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAM,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACnE,OAAO,UAAU,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAc,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAgB,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EACN,UAAU,IAAI,GAAG,EACjB,UAAU,IAAI,GAAG,EACjB,aAAa,EACb,aAAa,EACb,aAAa,EACb,eAAe,EACf,yBAAyB,EACzB,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,GACZ,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,oBAAoB,EAAyB,MAAM,cAAc,CAAC;AA8E3E,MAAM,CAAC,MAAM,UAAU,GAAwB,KAAK,CAAC,UAAU,CAC9D,CAAC,KAAK,EAAE,GAAyB,EAAE,EAAE;;IACpC,MAAM,EACL,YAAY,GAAG,KAAK,EACpB,SAAS,EACT,oBAAoB,GAAG,IAAI,EAC3B,QAAQ,EACR,eAAe,GAAG,KAAK,EACvB,SAAS,GAAG,IAAI,EAChB,KAAK,EACL,KAAK,EACL,MAAM,GAAG,UAAU,EACnB,GAAG,GAAG,UAAU,EAChB,GAAG,GAAG,UAAU,EAChB,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,IAAI,GAAG,EAAE,EACT,IAAI,EACJ,KAAK,EACL,KAAK,GAAG,KAAK,EACb,oBAAoB,KAEjB,KAAK,EADL,IAAI,UACJ,KAAK,EArBH,wOAqBL,CAAQ,CAAC;IACV,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAEnD,wEAAwE;IACxE,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,CAAC,CAAO,EAAE,EAAW,EAAE,EAAE,CAC3C,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAEjE;;;OAGG;IACH,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAEnD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IACvD,MAAM,IAAI,GACT,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,wDAAwD;IACtH,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,wBAAwB;IAC3E,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB;IAC5F,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB;IACtE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,+DAA+D;IAE/G,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAEjE,UAAU;IACV,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,eAAe,IAAI,QAAQ,EAAE;YAChC,SAAS,CAAC,KAAK,CAAC,CAAC;YACjB,OAAO;SACP;QACD,SAAS,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACd,oEAAoE;QACpE,MAAM,IAAI,GACT,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,wDAAwD;QACtH,IAAI,IAAI,KAAK,KAAK;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,sBAAsB;IAE7C,MAAM,gBAAgB,GAAG,GAAG,EAAE;QAC7B,IAAI,QAAQ;YAAE,OAAO;QACrB,IAAI,KAAK,KAAK,UAAU,CAAC,KAAK,CAAC;YAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,oCAAoC;QACpF,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB;QAC9C,IAAI,CAAC,eAAe,IAAI,CAAC,MAAM;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,IAAI,mBAAmB,GAAG,KAAK,CAAC,CAAC,gCAAgC;IAEjE,uEAAuE;IACvE,MAAM,uBAAuB,GAAG,GAAG,EAAE,CAAC,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IACnE,MAAM,kBAAkB,GAAG,CAAC,CAAM,EAAE,EAAE;;QACrC,IAAI,CAAC,MAAM,IAAI,QAAQ,IAAI,eAAe;YAAE,OAAO;QACnD,IAAI,MAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,MAAM,0CAAE,OAAO,mDAAG,SAAS,OAAO,IAAI,CAAC;YAAE,OAAO;QACvD,SAAS,CAAC,KAAK,CAAC,CAAC;QACjB,YAAY,EAAE,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,GAAG,EAAE;QAC5B,4CAA4C;QAC5C,IAAI,eAAe,IAAI,CAAC,eAAe;YAAE,OAAO;QAEhD,+DAA+D;QAC/D,IAAI,mBAAmB;YAAE,OAAO;QAEhC,yEAAyE;QACzE,IAAI,QAAQ,CAAC,aAAa,KAAK,OAAO,CAAC,QAAQ,CAAC;YAAE,OAAO;QACzD,YAAY,EAAE,CAAC;IAChB,CAAC,CAAC;IAEF,kEAAkE;IAClE,MAAM,WAAW,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAU,CAAC;IAChE,MAAM,OAAO,GAA4B,WAAW,CACnD,eAAe,EACf,WAAW,CACX,CAAC,GAAG,WAAW,CAAC,CAAC;IAElB,qDAAqD;IACrD,MAAM,oBAAoB,GAAG;QAC5B,OAAO;QACP,KAAK;QACL,oBAAoB;QACpB,YAAY;QACZ,EAAE,EAAE,CAAC,GAAG;QACR,EAAE,EAAE,CAAC,GAAG;QACR,MAAM;KACG,CAAC;IACX,MAAM,aAAa,GAAG,WAAW,CAChC,gBAAgB,EAChB,oBAAoB,CACpB,CAAC,GAAG,oBAAoB,CAAC,CAAC;IAE3B,4FAA4F;IAC5F,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACpC,IAAI,KAAK,KAAK,EAAE;YAAE,OAAO,OAAO,CAAC;QAEjC,IAAI,MAAM,KAAK,EAAE;YAChB,8DAA8D;YAC9D,OAAO,eAAe,CACrB,YAAY,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,4DAA4D;YAClG,aAAa,EACb,IAAI,CAAC,2BAA2B;aAChC,CAAC;QAEH,uDAAuD;QACvD,IAAI,QAAQ,CAAC;QAEb,QAAQ,GAAG,YAAY;YACtB,CAAC,CAAC,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC;YAC5C,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAElC,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,oDAAoD;QACtG,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,2BAA2B;QAEhF,OAAO,QAAQ,CAAC;IACjB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;IAE1D,MAAM,YAAY,GAAG,GAAG,EAAE;QACzB,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,EAAE,EAAE;YAC3B,OAAO;SACP;QACD,IAAI,KAAK,KAAK,EAAE,EAAE;YACjB,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,IAAI,CAAC,CAAC;YACjB,OAAO;SACP;QACD,IAAI,aAAa,EAAE;YAClB,IAAI,aAAa,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,CAAC,EAAE;gBAC7C,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC7B,SAAS,CAAC,EAAE,CAAC,CAAC;gBAEd,OAAO,CAAC,kDAAkD;aAC1D;YACD,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAoB;SAChE;aAAM;YACN,qCAAqC;YACrC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,IAAI,CAAC,CAAC;YACjB,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,qBAAqB;YACnC,SAAS,CAAC,EAAE,CAAC,CAAC;YACd,OAAO;SACP;QAED,IAAI,MAAM;YAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,8BAA8B;IAC9B,MAAM,iBAAiB,GAAG,CAAC,CAAM,EAAE,IAAS,EAAE,EAAE;;QAC/C,QAAQ,CAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,WAAW,EAAE,CAAC,CAAC;QACpC,SAAS,CAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,WAAW,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe;YAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,GAAG,EAAE;QAC5B,IAAI,QAAQ;YAAE,OAAO;QACrB,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,MAAM,IAAI,eAAe;YAAE,OAAO;QACtC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,CAAC,CAAsB,EAAE,EAAE;QACrD,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAElB,mDAAmD;QACnD,IAAI,GAAG,KAAK,IAAI,CAAC,GAAG,EAAE;YACrB,IAAI,MAAM;gBAAE,SAAS,CAAC,KAAK,CAAC,CAAC;SAC7B;QAED,mCAAmC;QACnC,IAAI,GAAG,KAAK,IAAI,CAAC,KAAK;YAAE,YAAY,EAAE,CAAC;QAEvC,6BAA6B;QAC7B,IAAI,GAAG,KAAK,IAAI,CAAC,IAAI,IAAI,GAAG,KAAK,IAAI,CAAC,EAAE,EAAE;YACzC,IAAI,CAAC,eAAe,EAAE;gBACrB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,MAAM;oBAAE,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,CAAC,eAAe;oBAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;aAC/C;SACD;IACF,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC/B,MAAM,UAAU,GAAG,aAAa;YAC/B,CAAC,CAAC,eAAe,CAAC,eAAe,EAAE,aAAa,CAAC,IAAI,CAAC;YACtD,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAEtB,OAAO,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5C,CAAC,CAAC;IAEF,MAAM,oBAAoB,GAAG,CAAC,GAAS,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,0BAA0B;QACvE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,4CAA4C;QAC3E,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,SAAS,CAAC,EAAE,CAAC,CAAC;QACd,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,+BAA+B;QAChD,IAAI,MAAM;YAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG;QAClB,EAAE,EAAE,OAAO;QACX,KAAK;QACL,QAAQ;QACR,KAAK;QACL,WAAW,EACV,OAAO,WAAW,KAAK,QAAQ;YAC9B,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,MAAM,KAAK,UAAU;gBACvB,CAAC,CAAC,SAAS,oBAAoB,EAAE;gBACjC,CAAC,CAAC,OAAO;QACX,IAAI;QACJ,QAAQ,EAAE,iBAAiB;QAC3B,OAAO,EAAE,gBAAgB;QACzB,MAAM,EAAE,eAAe;QACvB,KAAK,EAAE,KAAK;KACZ,CAAC;IAEF,MAAM,aAAa,GAAG;QACrB,SAAS,EAAE,UAAU,CAAC,qBAAqB,EAAE;YAC5C,6BAA6B,EAAE,eAAe;SAC9C,CAAC;QACF,UAAU,EAAE,kBAAkB,EAAE;QAChC,OAAO,EAAE,eAAe;QACxB,QAAQ,EAAE,oBAAoB;QAC9B,QAAQ,EAAE,CAAA,MAAA,QAAQ,CAAC,OAAO,0CAAE,QAAQ,KAAI,QAAQ;QAChD,WAAW;QACX,aAAa,EAAE,GAAG,EAAE,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC;KAC/C,CAAC;IAEF,MAAM,KAAK,GAAG,CACb,oBAAC,KAAK,oBACD,UAAU,IACd,SAAS,EAAC,mBAAmB,0BACR,YAAY,EACjC,IAAI,EAAE;YACL,SAAS,EAAE,kBAAkB;YAC7B,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,eAAe;SACxB,EACD,YAAY,EAAC,MAAM,EACnB,SAAS,EAAE,kBAAkB,EAC7B,GAAG,EAAE,QAAQ,IACZ,CACF,CAAC;IAEF,MAAM,iBAAiB,GAAG,UAAU,CAAC,SAAS,EAAE,YAAY,EAAE;QAC7D,kBAAkB,EAAE,MAAM;QAC1B,sBAAsB,EAAE,QAAQ;QAChC,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,IAAI;KAC7B,CAAC,CAAC;IAEH,OAAO,CACN,oBAAC,OAAO,kBACP,kBAAkB,QAClB,SAAS,EAAE,UAAU,CAAC,sBAAsB,EAAE,UAAU,CAAC,EACzD,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,kBAAkB,EAClC,IAAI,EACH,CAAC,QAAQ;YACT,CAAC,eAAe;YAChB,MAAM;YACN,eAAe,CAAC,MAAM,KAAK,CAAC,EAE7B,OAAO,EAAE,IAAI,EACb,MAAM,QACN,GAAG,EAAE,GAAG,EACR,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,OAAO,EAC3C,OAAO,EAAE,KAAK,EACd,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,iBAAiB,EACnC,WAAW,EAAE,uBAAuB,EACpC,oBAAoB,EAAE,oBAAoB,IACtC,IAAI;QAER,oBAAC,oBAAoB,oBAAK,aAAa,EAAI,CAClC,CACV,CAAC;AACH,CAAC,CACD,CAAC;AAEF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;AAEtC,MAAM,OAAO,GAAG,CAAC,GAAQ,EAAE,EAAE;;IAC5B,IAAI,MAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,QAAQ,0CAAE,OAAO,EAAE;QACnC,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,kBAAkB;KACvD;IACD,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC,iBAAiB;AACtC,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC","sourcesContent":["import React, { FC, useCallback, useEffect, useMemo } from 'react';\nimport classnames from 'classnames';\n\nimport { Input, InputProps } from '../Input';\nimport { Popover, PopoverProps } from '../Popover';\nimport { TimezoneContext } from '../../utilities/TimezoneProvider';\nimport { keys } from '../../utilities';\nimport { FormFieldContext } from '../../components/FormField';\n\nimport {\n\tdateToTime as dtt,\n\ttimeToDate as ttd,\n\tlocalTimezone,\n\tconsumeMinMax,\n\tgetReturnDate,\n\tgenerateOptions,\n\tfilterOptionsWithRounding,\n\tfilterOptions,\n\tgetClosestOption,\n\tgetOptionByText,\n\thighlightOption,\n\tinjectOption,\n} from './utils';\n\nimport { TimePickerOptionList, TimePickerOptionProps } from './components';\nimport { PopperProps } from '../../internal';\n\nexport interface TimePickerPropsStrict\n\textends Omit<InputProps, 'value'>,\n\t\tPick<\n\t\t\tPopoverProps,\n\t\t\t| 'autoFlipVertically'\n\t\t\t| 'autoFlipHorizontally'\n\t\t\t| 'direction'\n\t\t\t| 'width'\n\t\t> {\n\t/**\n\t * If false, ignores `step` prop, so that user may fill in intermidiate values.\n\t * If true, user only allowed to choose options generated with `step` prop,\n\t * and user's input to be automatically rounded to the closest option.\n\t * Closest value to be highlighted in a dropdown.\n\t * Default is false.\n\t */\n\tautoRounding?: boolean;\n\n\t/** Preferable signifier of a value to select on autocomplete when user left the control */\n\tdefaultTimeSignifier?: 'AM' | 'PM';\n\n\t/**\n\t * Turns off TimePicker's ability to display a dropdown with options.\n\t * Default is false.\n\t */\n\tdisableDropdown?: boolean;\n\n\t/**\n\t * Specified in minutes, default is 30. Should not exceed 1440 (24 hours).\n\t * Step used to:\n\t * 1. hide intermediate values (these values are still possible to pick by typing)\n\t * from TimePicker's dropdown if `autoRounding` is false, or\n\t * 2. generate strict values for dropdown options if `autoRounding` is true.\n\t */\n\tstep?: number;\n\n\t/**\n\t * Time format.\n\t * Value of `hh:mm` stands for 24-hour format with leading zero.\n\t * Default value is `hh:mm xm`.\n\t */\n\tformat?: 'hh:mm xm' | 'hh:mm';\n\n\t/**\n\t * Minimum time allowed.\n\t * String value must have `hh:mm xm` or `hh:mm` format, from 00:00 to 23:59.\n\t * Default is `12:00 AM`.\n\t */\n\tmin?: Date | string;\n\n\t/**\n\t * Maximum time allowed.\n\t * String value must have `hh:mm xm` or `hh:mm` format, from 00:00 to 23:59.\n\t * Default is `11:59 PM`.\n\t */\n\tmax?: Date | string;\n\n\t/** Called when the user changes the value */\n\tonChange?: (value: TimePickerOptionProps['value']) => void;\n\n\t/** Show a dropdown on render, if `disableDropdown` is unset */\n\topen?: boolean;\n\n\t/** Date object, unrestricted by min and max props */\n\tvalue?: TimePickerOptionProps['value'];\n\n\t/** Props to be passed to the portaled div */\n\tportalDataAttributes?: PopperProps['portalDataAttributes'];\n}\n\nexport interface TimePickerProps extends TimePickerPropsStrict {\n\t/** Unstrict Props */\n\t[propName: string]: any;\n}\n\nexport const TimePicker: FC<TimePickerProps> = React.forwardRef(\n\t(props, ref: React.RefObject<any>) => {\n\t\tconst {\n\t\t\tautoRounding = false,\n\t\t\tclassName,\n\t\t\tdefaultTimeSignifier = 'AM',\n\t\t\tdisabled,\n\t\t\tdisableDropdown = false,\n\t\t\tdirection = 'br',\n\t\t\terror,\n\t\t\tfluid,\n\t\t\tformat = 'hh:mm xm',\n\t\t\tmin = '12:00 AM',\n\t\t\tmax = '23:59 PM',\n\t\t\tonChange,\n\t\t\topen,\n\t\t\tplaceholder,\n\t\t\tstep = 30,\n\t\t\tsize,\n\t\t\tvalue,\n\t\t\twidth = '100',\n\t\t\tportalDataAttributes,\n\t\t\t...rest\n\t\t} = props;\n\t\tconst timezone = React.useContext(TimezoneContext);\n\n\t\t// Date (00:00 in timezone), based on which selected time to be returned\n\t\tconst returnDate = () => getReturnDate(min, max, value, timezone);\n\t\tconst dateToTime = (d: Date, tz?: string) =>\n\t\t\tdtt(d, tz || timezone, format);\n\t\tconst timeToDate = (t: string) => ttd(t, timezone, returnDate());\n\n\t\t/**\n\t\t * In case min or max provided as strings, no timezone adjustment needed.\n\t\t * In case of Date objects, their time should be adjusted to timezone provided.\n\t\t */\n\t\tconst mm = () => consumeMinMax(min, max, timezone);\n\n\t\tconst inputRef = React.useRef(null);\n\t\tconst dropdownRef = React.useRef<HTMLDivElement>(null);\n\t\tconst text =\n\t\t\ttypeof value === 'string' ? value : dateToTime(value) || ''; // Try to parse `value: string`, if `value: Date` use TZ\n\t\tconst [opened, setOpened] = React.useState(false); // Dropdown's visibility\n\t\tconst [dropdownFocused, setDropdownFocused] = React.useState(false); // Dropdown is in focus\n\t\tconst [input, setInput] = React.useState(text); // User's input string\n\t\tconst [filter, setFilter] = React.useState(''); // Dropdown's options filter string (differs from user's input)\n\n\t\tconst { labelFor: inputId } = React.useContext(FormFieldContext);\n\n\t\t// Effects\n\t\tuseEffect(() => {\n\t\t\tif (disableDropdown || disabled) {\n\t\t\t\tsetOpened(false);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetOpened(open);\n\t\t}, [disableDropdown, disabled, open]);\n\n\t\tuseEffect(() => {\n\t\t\t// Set input's text on each non-null value change or timezone change\n\t\t\tconst text =\n\t\t\t\ttypeof value === 'string' ? value : dateToTime(value) || ''; // Try to parse `value: string`, if `value: Date` use TZ\n\t\t\tif (text !== input) setInput(text);\n\t\t}, [value, timezone]); // eslint-disable-line\n\n\t\tconst handleInputFocus = () => {\n\t\t\tif (disabled) return;\n\t\t\tif (input === dateToTime(value)) setFilter(''); // Don't filter options until typing\n\t\t\tsetDropdownFocused(false); // Dropdown unfocus\n\t\t\tif (!disableDropdown && !opened) setOpened(true);\n\t\t};\n\n\t\tlet mouseDownOnDropdown = false; // To be false on each re-render\n\n\t\t// Prevents onBlur event handling on input when clicked inside dropdown\n\t\tconst handleDropdownMouseDown = () => (mouseDownOnDropdown = true);\n\t\tconst handleClickOutside = (e: any) => {\n\t\t\tif (!opened || disabled || disableDropdown) return;\n\t\t\tif (e?.target?.closest?.(`[for=\"${inputId}\"]`)) return;\n\t\t\tsetOpened(false);\n\t\t\tautoComplete();\n\t\t};\n\n\t\tconst handleInputBlur = () => {\n\t\t\t// User is choosing from dropdown'ed options\n\t\t\tif (dropdownFocused && !disableDropdown) return;\n\n\t\t\t// User clicked inside dropdown, prevent blur handling on input\n\t\t\tif (mouseDownOnDropdown) return;\n\n\t\t\t// Fake blur detection, case if active element not changed (alt+tab, etc)\n\t\t\tif (document.activeElement === getNode(inputRef)) return;\n\t\t\tautoComplete();\n\t\t};\n\n\t\t// Initial list of options to be generated based on min, max, step\n\t\tconst optionsArgs = [mm().min, mm().max, step, format] as const;\n\t\tconst options: TimePickerOptionProps[] = useCallback(\n\t\t\tgenerateOptions,\n\t\t\toptionsArgs\n\t\t)(...optionsArgs);\n\n\t\t// Getting most expected option based on user's input\n\t\tconst getClosestOptionArgs = [\n\t\t\toptions,\n\t\t\tinput,\n\t\t\tdefaultTimeSignifier,\n\t\t\tautoRounding,\n\t\t\tmm().min,\n\t\t\tmm().max,\n\t\t\tformat,\n\t\t] as const;\n\t\tconst closestOption = useCallback(\n\t\t\tgetClosestOption,\n\t\t\tgetClosestOptionArgs\n\t\t)(...getClosestOptionArgs);\n\n\t\t// Filtered list of options with an extra one to highligh (in case autoRounding is disabled)\n\t\tconst dropdownOptions = useMemo(() => {\n\t\t\tif (input === '') return options;\n\n\t\t\tif (filter === '')\n\t\t\t\t// Value is set, but user not yet modified input's text string\n\t\t\t\treturn highlightOption(\n\t\t\t\t\tinjectOption(options, closestOption), // Inject currently selected option in case it not yet exist\n\t\t\t\t\tclosestOption,\n\t\t\t\t\ttrue // Highlight selected value\n\t\t\t\t);\n\n\t\t\t// Filtering started, due to user's input manipulations\n\t\t\tlet filtered;\n\n\t\t\tfiltered = autoRounding\n\t\t\t\t? filterOptionsWithRounding(options, filter)\n\t\t\t\t: filterOptions(options, filter);\n\n\t\t\tfiltered = injectOption(filtered, closestOption); // Inject closest option in case it was filtered out\n\t\t\tfiltered = highlightOption(filtered, closestOption); // Highlight closest option\n\n\t\t\treturn filtered;\n\t\t}, [input, filter, options, autoRounding, closestOption]);\n\n\t\tconst autoComplete = () => {\n\t\t\tif (!value && input === '') {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (input === '') {\n\t\t\t\tonChange?.(null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (closestOption) {\n\t\t\t\tif (closestOption.text === dateToTime(value)) {\n\t\t\t\t\tsetInput(closestOption.text);\n\t\t\t\t\tsetFilter('');\n\n\t\t\t\t\treturn; // Suppress onChange, as same time aready selected\n\t\t\t\t}\n\t\t\t\tonChange?.(timeToDate(closestOption.text)); // Accept user input\n\t\t\t} else {\n\t\t\t\t// Reject user input, if input !== ''\n\t\t\t\tonChange?.(null);\n\t\t\t\tsetInput(''); // Clear user's input\n\t\t\t\tsetFilter('');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (opened) setOpened(false);\n\t\t};\n\n\t\t// Handling with user's typing\n\t\tconst handleInputChange = (e: any, data: any) => {\n\t\t\tsetInput(data.value?.toUpperCase());\n\t\t\tsetFilter(data.value?.toUpperCase());\n\t\t\tif (!opened && !disableDropdown) setOpened(true);\n\t\t};\n\n\t\tconst handleIconClick = () => {\n\t\t\tif (disabled) return;\n\t\t\tfocus(inputRef);\n\t\t\tif (opened || disableDropdown) return;\n\t\t\tsetOpened(true);\n\t\t};\n\n\t\tconst handleInputKeyDown = (e: React.KeyboardEvent) => {\n\t\t\tconst { key } = e;\n\n\t\t\t// Autocomplete on focus lost (on tab or shift+tab)\n\t\t\tif (key === keys.tab) {\n\t\t\t\tif (opened) setOpened(false);\n\t\t\t}\n\n\t\t\t// Explicit autocomplete (on enter)\n\t\t\tif (key === keys.enter) autoComplete();\n\n\t\t\t// Move focus to the dropdown\n\t\t\tif (key === keys.down || key === keys.up) {\n\t\t\t\tif (!disableDropdown) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tif (!opened) setOpened(true);\n\t\t\t\t\tif (!dropdownFocused) setDropdownFocused(true);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tconst dropdownFocusValue = () => {\n\t\t\tconst focusValue = closestOption\n\t\t\t\t? getOptionByText(dropdownOptions, closestOption.text)\n\t\t\t\t: dropdownOptions[0];\n\n\t\t\treturn dropdownFocused ? focusValue : null;\n\t\t};\n\n\t\tconst handleDropdownChange = (val: Date) => {\n\t\t\tconst time = dateToTime(val, localTimezone); // Dropdown is using local\n\t\t\tconst date = timeToDate(time); // get date based on timezone and returnDate\n\t\t\tonChange?.(date);\n\t\t\tsetInput(time);\n\t\t\tsetFilter('');\n\t\t\tfocus(inputRef); // Move focus back to the field\n\t\t\tif (opened) setOpened(false);\n\t\t};\n\n\t\tconst inputProps = {\n\t\t\tid: inputId,\n\t\t\tfluid,\n\t\t\tdisabled,\n\t\t\terror,\n\t\t\tplaceholder:\n\t\t\t\ttypeof placeholder === 'string'\n\t\t\t\t\t? placeholder\n\t\t\t\t\t: format === 'hh:mm xm'\n\t\t\t\t\t? `HH:MM ${defaultTimeSignifier}`\n\t\t\t\t\t: 'HH:MM',\n\t\t\tsize,\n\t\t\tonChange: handleInputChange,\n\t\t\tonFocus: handleInputFocus,\n\t\t\tonBlur: handleInputBlur,\n\t\t\tvalue: input,\n\t\t};\n\n\t\tconst dropdownProps = {\n\t\t\tclassName: classnames('TimePicker__options', {\n\t\t\t\t'TimePicker__options-focused': dropdownFocused,\n\t\t\t}),\n\t\t\tfocusValue: dropdownFocusValue(),\n\t\t\toptions: dropdownOptions,\n\t\t\tonChange: handleDropdownChange,\n\t\t\tinputRef: inputRef.current?.inputRef || inputRef,\n\t\t\tdropdownRef,\n\t\t\tcloseDropdown: () => opened && setOpened(false),\n\t\t};\n\n\t\tconst Field = (\n\t\t\t<Input\n\t\t\t\t{...inputProps}\n\t\t\t\tclassName=\"TimePicker__input\"\n\t\t\t\tdata-anvil-component=\"TimePicker\"\n\t\t\t\ticon={{\n\t\t\t\t\tclassName: 'TimePicker__icon',\n\t\t\t\t\tel: 'span',\n\t\t\t\t\tname: 'access_time',\n\t\t\t\t\tonClick: handleIconClick,\n\t\t\t\t}}\n\t\t\t\ticonPosition=\"left\"\n\t\t\t\tonKeyDown={handleInputKeyDown}\n\t\t\t\tref={inputRef}\n\t\t\t/>\n\t\t);\n\n\t\tconst TimePickerClasses = classnames(className, 'TimePicker', {\n\t\t\t'TimePicker--open': opened,\n\t\t\t'TimePicker--disabled': disabled,\n\t\t\t[`TimePicker--${size}`]: size,\n\t\t});\n\n\t\treturn (\n\t\t\t<Popover\n\t\t\t\tautoFlipVertically\n\t\t\t\tclassName={classnames('TimePicker__dropdown', 'a-Select')}\n\t\t\t\tdirection={direction}\n\t\t\t\tonClickOutside={handleClickOutside}\n\t\t\t\topen={\n\t\t\t\t\t!disabled &&\n\t\t\t\t\t!disableDropdown &&\n\t\t\t\t\topened &&\n\t\t\t\t\tdropdownOptions.length !== 0\n\t\t\t\t}\n\t\t\t\tpadding={null}\n\t\t\t\tportal\n\t\t\t\tref={ref}\n\t\t\t\tscrollHeight={props.scrollHeight || '192px'}\n\t\t\t\ttrigger={Field}\n\t\t\t\twidth={width}\n\t\t\t\twrapperClassName={TimePickerClasses}\n\t\t\t\tonMouseDown={handleDropdownMouseDown}\n\t\t\t\tportalDataAttributes={portalDataAttributes}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t<TimePickerOptionList {...dropdownProps} />\n\t\t\t</Popover>\n\t\t);\n\t}\n);\n\nTimePicker.displayName = 'TimePicker';\n\nconst getNode = (ref: any) => {\n\tif (ref.current?.inputRef?.current) {\n\t\treturn ref.current.inputRef.current; // Input component\n\t}\n\treturn ref.current; // Something else\n};\n\nconst focus = (ref: any) => getNode(ref).focus();\n"]}