@servicetitan/design-system 13.4.3 → 13.4.4

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.
@@ -51,7 +51,7 @@
51
51
  box-shadow: 0 0 0 3px var(--colorsFocusRingPrimary, #78bbfa);
52
52
  }
53
53
  .Button.Button--outline {
54
- background-color: transparent;
54
+ background-color: var(--colorsSurfaceDefault, white);
55
55
  box-shadow: inset 0 0 0 1px var(--colorsBorderDefault, #444445);
56
56
  }
57
57
  .Button.Button--outline:hover::before {
@@ -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"],"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","file":"Button.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"],"names":[],"mappings":"AAAA;AC2CA;ACxCC;EACA;AAEA;EACA;ECLC;EACA;EF4CD;EACA,kBAtCoB;EAuCpB;EACA,eG7BiB;EH8BjB;EACA,OAhDc;EAiDd;EACA;EACA,WGmFa;EHlFb,aGqDsB;EHpDtB;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,kBAzFmB;EA0FnB;;AAGC;EACC,kBA5EY;;AAkFb;EACC,kBA3Ea;;AA+Ef;EAAgC;;AAGjC;EACC;;AAGC;EACC,kBA/FY;;AAqGb;EACC,kBA9Fa;;;AAsGjB;EACC,WGJa;EHKb;;;AAGD;EACC,SGrBW;EHsBX;;AAEA;EACC;;AAEA;EACC;EACA;;;AAKH;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAKA;EAKC,OAlLa;;;AAsLf;EACC,kBAhLoB;EAiLpB,OArLiB;;AAwLhB;EACC,kBAhKgB;;AAsKjB;EACC,kBA/JiB;;AAmKnB;EACC;EACA;EACA,OAzMa;;AA4MZ;EACC,kBAtLY;;AA0Ld;EAAgC;;AAI/B;EACC,kBAvLa;;AA4LhB;EACC;EACA,OA7Na;;AAgOZ;EACC,kBA1MY;;AAgNb;EACC,kBAzMa;;;AA+MjB;EACC,kBAxOqB;EAyOrB,OA7OkB;;AAgPjB;EACC,kBAxNiB;;AA8NlB;EACC,kBAvNkB;;AA2NpB;EAAgC,YAjPhB;;AAmPhB;EACC;EACA;EACA,OAnQc;;AAsQb;EACC,kBAhPa;;AAsPd;EACC,kBA/Oc;;AAmPhB;EAAgC;;AAGjC;EACC;EACA,OAvRc;;AA0Rb;EACC,kBApQa;;AA0Qd;EACC,kBAnQc;;;AA2QjB;EAGC,YAzSmB;EA0SnB,OAhTa;EAiTb;;AAEA;EACC,SGtMgB;;AH0MlB;EAEC;;AAGD;EACC;;;AAIF;EAAoB;;;AAGpB;EACC,WGjMa;EHkMb;;AAEA;EACC,WGnMY;EHoMZ;;;AAMF;EAAwB,WG5MV;;;AH8Md;EACC;;AACA;EAAsB,SGnNR;;;AHsNf;EACC;;AACA;EAAsB;;;AAIvB;EAAgB;;;AAGhB;EAAsB;;;AAItB;EACC;IAAK;;;AAGN;EACC,SG5PkB;EH6PlB;EACA;;AAEA;EAAmB;;;AAGpB;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EAAsB,eGxQV;;;AHyQZ;EAAuB,cGzQX;;;AH2QZ;EAA2B;;;AAE3B;EACC;EACA;;;AAGD;EAAoD","file":"Button.css"}
@@ -51,7 +51,7 @@
51
51
  box-shadow: 0 0 0 3px var(--colorsFocusRingPrimary, #78bbfa);
52
52
  }
53
53
  .Button.Button--outline {
54
- background-color: transparent;
54
+ background-color: var(--colorsSurfaceDefault, white);
55
55
  box-shadow: inset 0 0 0 1px var(--colorsBorderDefault, #444445);
56
56
  }
57
57
  .Button.Button--outline:hover::before {
@@ -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"],"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","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"],"names":[],"mappings":"AAAA;AC2CA;ACxCC;EACA;AAEA;EACA;ECLC;EACA;EF4CD;EACA,kBAtCoB;EAuCpB;EACA,eG7BiB;EH8BjB;EACA,OAhDc;EAiDd;EACA;EACA,WGmFa;EHlFb,aGqDsB;EHpDtB;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,kBAzFmB;EA0FnB;;AAGC;EACC,kBA5EY;;AAkFb;EACC,kBA3Ea;;AA+Ef;EAAgC;;AAGjC;EACC;;AAGC;EACC,kBA/FY;;AAqGb;EACC,kBA9Fa;;;AAsGjB;EACC,WGJa;EHKb;;;AAGD;EACC,SGrBW;EHsBX;;AAEA;EACC;;AAEA;EACC;EACA;;;AAKH;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAKA;EAKC,OAlLa;;;AAsLf;EACC,kBAhLoB;EAiLpB,OArLiB;;AAwLhB;EACC,kBAhKgB;;AAsKjB;EACC,kBA/JiB;;AAmKnB;EACC;EACA;EACA,OAzMa;;AA4MZ;EACC,kBAtLY;;AA0Ld;EAAgC;;AAI/B;EACC,kBAvLa;;AA4LhB;EACC;EACA,OA7Na;;AAgOZ;EACC,kBA1MY;;AAgNb;EACC,kBAzMa;;;AA+MjB;EACC,kBAxOqB;EAyOrB,OA7OkB;;AAgPjB;EACC,kBAxNiB;;AA8NlB;EACC,kBAvNkB;;AA2NpB;EAAgC,YAjPhB;;AAmPhB;EACC;EACA;EACA,OAnQc;;AAsQb;EACC,kBAhPa;;AAsPd;EACC,kBA/Oc;;AAmPhB;EAAgC;;AAGjC;EACC;EACA,OAvRc;;AA0Rb;EACC,kBApQa;;AA0Qd;EACC,kBAnQc;;;AA2QjB;EAGC,YAzSmB;EA0SnB,OAhTa;EAiTb;;AAEA;EACC,SGtMgB;;AH0MlB;EAEC;;AAGD;EACC;;;AAIF;EAAoB;;;AAGpB;EACC,WGjMa;EHkMb;;AAEA;EACC,WGnMY;EHoMZ;;;AAMF;EAAwB,WG5MV;;;AH8Md;EACC;;AACA;EAAsB,SGnNR;;;AHsNf;EACC;;AACA;EAAsB;;;AAIvB;EAAgB;;;AAGhB;EAAsB;;;AAItB;EACC;IAAK;;;AAGN;EACC,SG5PkB;EH6PlB;EACA;;AAEA;EAAmB;;;AAGpB;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EAAsB,eGxQV;;;AHyQZ;EAAuB,cGzQX;;;AH2QZ;EAA2B;;;AAE3B;EACC;EACA;;;AAGD;EAAoD","file":"index.css"}
@@ -51,7 +51,7 @@
51
51
  box-shadow: 0 0 0 3px var(--colorsFocusRingPrimary, #78bbfa);
52
52
  }
53
53
  .Button.Button--outline {
54
- background-color: transparent;
54
+ background-color: var(--colorsSurfaceDefault, white);
55
55
  box-shadow: inset 0 0 0 1px var(--colorsBorderDefault, #444445);
56
56
  }
57
57
  .Button.Button--outline:hover::before {
@@ -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","../../../src/components/Icon/Icon.scss"],"names":[],"mappings":"AAAA;AC2CA;ACxCC;EACA;AAEA;EACA;ECLC;EACA;EF4CD;EACA,kBAtCoB;EAuCpB;EACA,eG7BiB;EH8BjB;EACA,OAhDc;EAiDd;EACA;EACA,WGmFa;EHlFb,aGqDsB;EHpDtB;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,kBAzFmB;EA0FnB;;AAGC;EACC,kBA5EY;;AAkFb;EACC,kBA3Ea;;AA+Ef;EAAgC;;AAGjC;EACC;;AAGC;EACC,kBA/FY;;AAqGb;EACC,kBA9Fa;;;AAsGjB;EACC,WGJa;EHKb;;;AAGD;EACC,SGrBW;EHsBX;;AAEA;EACC;;AAEA;EACC;EACA;;;AAKH;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAKA;EAKC,OAlLa;;;AAsLf;EACC,kBAhLoB;EAiLpB,OArLiB;;AAwLhB;EACC,kBAhKgB;;AAsKjB;EACC,kBA/JiB;;AAmKnB;EACC;EACA;EACA,OAzMa;;AA4MZ;EACC,kBAtLY;;AA0Ld;EAAgC;;AAI/B;EACC,kBAvLa;;AA4LhB;EACC;EACA,OA7Na;;AAgOZ;EACC,kBA1MY;;AAgNb;EACC,kBAzMa;;;AA+MjB;EACC,kBAxOqB;EAyOrB,OA7OkB;;AAgPjB;EACC,kBAxNiB;;AA8NlB;EACC,kBAvNkB;;AA2NpB;EAAgC,YAjPhB;;AAmPhB;EACC;EACA;EACA,OAnQc;;AAsQb;EACC,kBAhPa;;AAsPd;EACC,kBA/Oc;;AAmPhB;EAAgC;;AAGjC;EACC;EACA,OAvRc;;AA0Rb;EACC,kBApQa;;AA0Qd;EACC,kBAnQc;;;AA2QjB;EAGC,YAzSmB;EA0SnB,OAhTa;EAiTb;;AAEA;EACC,SGtMgB;;AH0MlB;EAEC;;AAGD;EACC;;;AAIF;EAAoB;;;AAGpB;EACC,WGjMa;EHkMb;;AAEA;EACC,WGnMY;EHoMZ;;;AAMF;EAAwB,WG5MV;;;AH8Md;EACC;;AACA;EAAsB,SGnNR;;;AHsNf;EACC;;AACA;EAAsB;;;AAIvB;EAAgB;;;AAGhB;EAAsB;;;AAItB;EACC;IAAK;;;AAGN;EACC,SG5PkB;EH6PlB;EACA;;AAEA;EAAmB;;;AAGpB;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EAAsB,eGxQV;;;AHyQZ;EAAuB,cGzQX;;;AH2QZ;EAA2B;;;AAE3B;EACC;EACA;;;AAGD;EAAoD;;;AI7YpD;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"}
@@ -51,7 +51,7 @@
51
51
  box-shadow: 0 0 0 3px var(--colorsFocusRingPrimary, #78bbfa);
52
52
  }
53
53
  .Button.Button--outline {
54
- background-color: transparent;
54
+ background-color: var(--colorsSurfaceDefault, white);
55
55
  box-shadow: inset 0 0 0 1px var(--colorsBorderDefault, #444445);
56
56
  }
57
57
  .Button.Button--outline:hover::before {
@@ -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","../../../src/components/Icon/Icon.scss"],"names":[],"mappings":"AAAA;AC2CA;ACxCC;EACA;AAEA;EACA;ECLC;EACA;EF4CD;EACA,kBAtCoB;EAuCpB;EACA,eG7BiB;EH8BjB;EACA,OAhDc;EAiDd;EACA;EACA,WGmFa;EHlFb,aGqDsB;EHpDtB;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,kBAzFmB;EA0FnB;;AAGC;EACC,kBA5EY;;AAkFb;EACC,kBA3Ea;;AA+Ef;EAAgC;;AAGjC;EACC;;AAGC;EACC,kBA/FY;;AAqGb;EACC,kBA9Fa;;;AAsGjB;EACC,WGJa;EHKb;;;AAGD;EACC,SGrBW;EHsBX;;AAEA;EACC;;AAEA;EACC;EACA;;;AAKH;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAKA;EAKC,OAlLa;;;AAsLf;EACC,kBAhLoB;EAiLpB,OArLiB;;AAwLhB;EACC,kBAhKgB;;AAsKjB;EACC,kBA/JiB;;AAmKnB;EACC;EACA;EACA,OAzMa;;AA4MZ;EACC,kBAtLY;;AA0Ld;EAAgC;;AAI/B;EACC,kBAvLa;;AA4LhB;EACC;EACA,OA7Na;;AAgOZ;EACC,kBA1MY;;AAgNb;EACC,kBAzMa;;;AA+MjB;EACC,kBAxOqB;EAyOrB,OA7OkB;;AAgPjB;EACC,kBAxNiB;;AA8NlB;EACC,kBAvNkB;;AA2NpB;EAAgC,YAjPhB;;AAmPhB;EACC;EACA;EACA,OAnQc;;AAsQb;EACC,kBAhPa;;AAsPd;EACC,kBA/Oc;;AAmPhB;EAAgC;;AAGjC;EACC;EACA,OAvRc;;AA0Rb;EACC,kBApQa;;AA0Qd;EACC,kBAnQc;;;AA2QjB;EAGC,YAzSmB;EA0SnB,OAhTa;EAiTb;;AAEA;EACC,SGtMgB;;AH0MlB;EAEC;;AAGD;EACC;;;AAIF;EAAoB;;;AAGpB;EACC,WGjMa;EHkMb;;AAEA;EACC,WGnMY;EHoMZ;;;AAMF;EAAwB,WG5MV;;;AH8Md;EACC;;AACA;EAAsB,SGnNR;;;AHsNf;EACC;;AACA;EAAsB;;;AAIvB;EAAgB;;;AAGhB;EAAsB;;;AAItB;EACC;IAAK;;;AAGN;EACC,SG5PkB;EH6PlB;EACA;;AAEA;EAAmB;;;AAGpB;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EAAsB,eGxQV;;;AHyQZ;EAAuB,cGzQX;;;AH2QZ;EAA2B;;;AAE3B;EACC;EACA;;;AAGD;EAAoD;;;AI7YpD;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"}
@@ -9,7 +9,7 @@ var __rest = (this && this.__rest) || function (s, e) {
9
9
  }
10
10
  return t;
11
11
  };
12
- import React, { useCallback, useEffect, useMemo } from 'react';
12
+ import React, { useCallback, useEffect, useMemo, useRef } from 'react';
13
13
  import classnames from 'classnames';
14
14
  import { FocusScope } from '@react-aria/focus';
15
15
  import { Input } from '../Input';
@@ -119,21 +119,28 @@ export const TimePicker = React.forwardRef((props, ref) => {
119
119
  return filtered;
120
120
  }, [input, filter, options, autoRounding, closestOption]);
121
121
  // Runs on each input blur event
122
+ const isEmpty = useRef(false);
122
123
  const autoComplete = () => {
123
- if (input === '')
124
+ if (input === '') {
125
+ if (!value && !isEmpty.current)
126
+ onChange === null || onChange === void 0 ? void 0 : onChange(null);
127
+ isEmpty.current = true;
124
128
  return;
129
+ }
125
130
  if (closestOption) {
131
+ isEmpty.current = false;
126
132
  if (closestOption.text === dateToTime(value)) {
127
133
  setInput(closestOption.text);
128
134
  setFilter('');
129
135
  return; // Suppress onChange, as same time aready selected
130
136
  }
131
- onChange(timeToDate(closestOption.text)); // Accept user input
137
+ onChange === null || onChange === void 0 ? void 0 : onChange(timeToDate(closestOption.text)); // Accept user input
132
138
  }
133
139
  else {
134
140
  // Reject user input, if input !== ''
135
- onChange(null);
141
+ onChange === null || onChange === void 0 ? void 0 : onChange(null);
136
142
  setInput(''); // Clear user's input
143
+ isEmpty.current = true;
137
144
  setFilter('');
138
145
  }
139
146
  if (opened)
@@ -158,7 +165,6 @@ export const TimePicker = React.forwardRef((props, ref) => {
158
165
  const { key } = e;
159
166
  // Autocomplete on focus lost (on tab or shift+tab)
160
167
  if (key === keys.tab) {
161
- autoComplete();
162
168
  if (opened)
163
169
  setOpened(false);
164
170
  }
@@ -185,7 +191,7 @@ export const TimePicker = React.forwardRef((props, ref) => {
185
191
  const handleDropdownChange = (val) => {
186
192
  const time = dateToTime(val, localTimezone); // Dropdown is using local
187
193
  const date = timeToDate(time); // get date based on timezone and returnDate
188
- onChange(date);
194
+ onChange === null || onChange === void 0 ? void 0 : onChange(date);
189
195
  setInput(time);
190
196
  setFilter('');
191
197
  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';\nimport { FocusScope } from '@react-aria/focus';\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\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 = () => {\n\t\t\tif (!opened || disabled || disableDropdown) 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 { labelFor: inputId } = React.useContext(FormFieldContext);\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\thandleInputKeyDown,\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<FocusScope>\n\t\t\t\t\t<TimePickerOptionList {...dropdownProps} />\n\t\t\t\t</FocusScope>\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":"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","sourcesContent":["import React, { FC, useCallback, useEffect, useMemo, useRef } from 'react';\nimport classnames from 'classnames';\nimport { FocusScope } from '@react-aria/focus';\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\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 = () => {\n\t\t\tif (!opened || disabled || disableDropdown) 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 isEmpty = useRef(false);\n\t\tconst autoComplete = () => {\n\t\t\tif (input === '') {\n\t\t\t\tif (!value && !isEmpty.current) onChange?.(null);\n\t\t\t\tisEmpty.current = true;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (closestOption) {\n\t\t\t\tisEmpty.current = false;\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\tisEmpty.current = true;\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\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 { labelFor: inputId } = React.useContext(FormFieldContext);\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\thandleInputKeyDown,\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<FocusScope>\n\t\t\t\t\t<TimePickerOptionList {...dropdownProps} />\n\t\t\t\t</FocusScope>\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,5 +1,14 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
1
10
  import React from 'react';
2
- import { render } from '@testing-library/react';
11
+ import { render, waitFor } from '@testing-library/react';
3
12
  import { TimePicker } from './TimePicker';
4
13
  describe('TimePicker', () => {
5
14
  beforeEach(() => jest.spyOn(console, 'error'));
@@ -8,19 +17,23 @@ describe('TimePicker', () => {
8
17
  const element = container.querySelector('[placeholder="hh:mm"]');
9
18
  expect(element).not.toBeNull();
10
19
  });
11
- it('should pass through data automation attributes', () => {
20
+ it('should pass through data automation attributes', () => __awaiter(void 0, void 0, void 0, function* () {
12
21
  const { container } = render(React.createElement(TimePicker, { defaultTimeSignifier: "AM", step: 15, disableDropdown: false, format: "hh:mm xm", open: true, className: "m-b-7", "data-auto-sel": "automation-selector" }));
13
- const element = container.querySelector('[data-auto-sel="automation-selector"]');
14
- expect(element).not.toBeNull();
15
- });
16
- it('should pass data automation attributes to portal', () => {
22
+ yield waitFor(() => {
23
+ const element = container.querySelector('[data-auto-sel="automation-selector"]');
24
+ expect(element).not.toBeNull();
25
+ });
26
+ }));
27
+ it('should pass data automation attributes to portal', () => __awaiter(void 0, void 0, void 0, function* () {
17
28
  const { container, baseElement } = render(React.createElement(TimePicker, { defaultTimeSignifier: "AM", step: 15, disableDropdown: false, format: "hh:mm xm", open: true, className: "m-b-7", portalDataAttributes: {
18
29
  'data-auto-sel': 'automation-selector',
19
30
  } }));
20
- const nonPortalElement = container.querySelector('[data-auto-sel="automation-selector"]');
21
- const portalElement = baseElement.querySelector('[data-auto-sel="automation-selector"]');
22
- expect(nonPortalElement).toBeNull();
23
- expect(portalElement).not.toBeNull();
24
- });
31
+ yield waitFor(() => {
32
+ const nonPortalElement = container.querySelector('[data-auto-sel="automation-selector"]');
33
+ const portalElement = baseElement.querySelector('[data-auto-sel="automation-selector"]');
34
+ expect(nonPortalElement).toBeNull();
35
+ expect(portalElement).not.toBeNull();
36
+ });
37
+ }));
25
38
  });
26
39
  //# sourceMappingURL=TimePicker.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TimePicker.test.js","sourceRoot":"","sources":["../../../src/components/TimePicker/TimePicker.test.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC3B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACzC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,UAAU,IAAC,MAAM,EAAC,UAAU,EAAC,WAAW,EAAC,OAAO,GAAG,CACpD,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;QAEjE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACzD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,UAAU,IACV,oBAAoB,EAAC,IAAI,EACzB,IAAI,EAAE,EAAE,EACR,eAAe,EAAE,KAAK,EACtB,MAAM,EAAC,UAAU,EACjB,IAAI,QACJ,SAAS,EAAC,OAAO,mBACH,qBAAqB,GAClC,CACF,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CACtC,uCAAuC,CACvC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC3D,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,CACxC,oBAAC,UAAU,IACV,oBAAoB,EAAC,IAAI,EACzB,IAAI,EAAE,EAAE,EACR,eAAe,EAAE,KAAK,EACtB,MAAM,EAAC,UAAU,EACjB,IAAI,QACJ,SAAS,EAAC,OAAO,EACjB,oBAAoB,EAAE;gBACrB,eAAe,EAAE,qBAAqB;aACtC,GACA,CACF,CAAC;QAEF,MAAM,gBAAgB,GAAG,SAAS,CAAC,aAAa,CAC/C,uCAAuC,CACvC,CAAC;QACF,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAC9C,uCAAuC,CACvC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { render } from '@testing-library/react';\nimport { TimePicker } from './TimePicker';\n\ndescribe('TimePicker', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('should have custom placeholder', () => {\n\t\tconst { container } = render(\n\t\t\t<TimePicker format=\"hh:mm xm\" placeholder=\"hh:mm\" />\n\t\t);\n\n\t\tconst element = container.querySelector('[placeholder=\"hh:mm\"]');\n\n\t\texpect(element).not.toBeNull();\n\t});\n\n\tit('should pass through data automation attributes', () => {\n\t\tconst { container } = render(\n\t\t\t<TimePicker\n\t\t\t\tdefaultTimeSignifier=\"AM\"\n\t\t\t\tstep={15}\n\t\t\t\tdisableDropdown={false}\n\t\t\t\tformat=\"hh:mm xm\"\n\t\t\t\topen\n\t\t\t\tclassName=\"m-b-7\"\n\t\t\t\tdata-auto-sel=\"automation-selector\"\n\t\t\t/>\n\t\t);\n\n\t\tconst element = container.querySelector(\n\t\t\t'[data-auto-sel=\"automation-selector\"]'\n\t\t);\n\n\t\texpect(element).not.toBeNull();\n\t});\n\n\tit('should pass data automation attributes to portal', () => {\n\t\tconst { container, baseElement } = render(\n\t\t\t<TimePicker\n\t\t\t\tdefaultTimeSignifier=\"AM\"\n\t\t\t\tstep={15}\n\t\t\t\tdisableDropdown={false}\n\t\t\t\tformat=\"hh:mm xm\"\n\t\t\t\topen\n\t\t\t\tclassName=\"m-b-7\"\n\t\t\t\tportalDataAttributes={{\n\t\t\t\t\t'data-auto-sel': 'automation-selector',\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\n\t\tconst nonPortalElement = container.querySelector(\n\t\t\t'[data-auto-sel=\"automation-selector\"]'\n\t\t);\n\t\tconst portalElement = baseElement.querySelector(\n\t\t\t'[data-auto-sel=\"automation-selector\"]'\n\t\t);\n\n\t\texpect(nonPortalElement).toBeNull();\n\t\texpect(portalElement).not.toBeNull();\n\t});\n});\n"]}
1
+ {"version":3,"file":"TimePicker.test.js","sourceRoot":"","sources":["../../../src/components/TimePicker/TimePicker.test.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC3B,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/C,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACzC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,UAAU,IAAC,MAAM,EAAC,UAAU,EAAC,WAAW,EAAC,OAAO,GAAG,CACpD,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;QAEjE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAS,EAAE;QAC/D,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAC3B,oBAAC,UAAU,IACV,oBAAoB,EAAC,IAAI,EACzB,IAAI,EAAE,EAAE,EACR,eAAe,EAAE,KAAK,EACtB,MAAM,EAAC,UAAU,EACjB,IAAI,QACJ,SAAS,EAAC,OAAO,mBACH,qBAAqB,GAClC,CACF,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,EAAE;YAClB,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CACtC,uCAAuC,CACvC,CAAC;YAEF,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAChC,CAAC,CAAC,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAS,EAAE;QACjE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,CACxC,oBAAC,UAAU,IACV,oBAAoB,EAAC,IAAI,EACzB,IAAI,EAAE,EAAE,EACR,eAAe,EAAE,KAAK,EACtB,MAAM,EAAC,UAAU,EACjB,IAAI,QACJ,SAAS,EAAC,OAAO,EACjB,oBAAoB,EAAE;gBACrB,eAAe,EAAE,qBAAqB;aACtC,GACA,CACF,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,EAAE;YAClB,MAAM,gBAAgB,GAAG,SAAS,CAAC,aAAa,CAC/C,uCAAuC,CACvC,CAAC;YACF,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAC9C,uCAAuC,CACvC,CAAC;YAEF,MAAM,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC;YACpC,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { render, waitFor } from '@testing-library/react';\nimport { TimePicker } from './TimePicker';\n\ndescribe('TimePicker', () => {\n\tbeforeEach(() => jest.spyOn(console, 'error'));\n\n\tit('should have custom placeholder', () => {\n\t\tconst { container } = render(\n\t\t\t<TimePicker format=\"hh:mm xm\" placeholder=\"hh:mm\" />\n\t\t);\n\n\t\tconst element = container.querySelector('[placeholder=\"hh:mm\"]');\n\n\t\texpect(element).not.toBeNull();\n\t});\n\n\tit('should pass through data automation attributes', async () => {\n\t\tconst { container } = render(\n\t\t\t<TimePicker\n\t\t\t\tdefaultTimeSignifier=\"AM\"\n\t\t\t\tstep={15}\n\t\t\t\tdisableDropdown={false}\n\t\t\t\tformat=\"hh:mm xm\"\n\t\t\t\topen\n\t\t\t\tclassName=\"m-b-7\"\n\t\t\t\tdata-auto-sel=\"automation-selector\"\n\t\t\t/>\n\t\t);\n\n\t\tawait waitFor(() => {\n\t\t\tconst element = container.querySelector(\n\t\t\t\t'[data-auto-sel=\"automation-selector\"]'\n\t\t\t);\n\n\t\t\texpect(element).not.toBeNull();\n\t\t});\n\t});\n\n\tit('should pass data automation attributes to portal', async () => {\n\t\tconst { container, baseElement } = render(\n\t\t\t<TimePicker\n\t\t\t\tdefaultTimeSignifier=\"AM\"\n\t\t\t\tstep={15}\n\t\t\t\tdisableDropdown={false}\n\t\t\t\tformat=\"hh:mm xm\"\n\t\t\t\topen\n\t\t\t\tclassName=\"m-b-7\"\n\t\t\t\tportalDataAttributes={{\n\t\t\t\t\t'data-auto-sel': 'automation-selector',\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\n\t\tawait waitFor(() => {\n\t\t\tconst nonPortalElement = container.querySelector(\n\t\t\t\t'[data-auto-sel=\"automation-selector\"]'\n\t\t\t);\n\t\t\tconst portalElement = baseElement.querySelector(\n\t\t\t\t'[data-auto-sel=\"automation-selector\"]'\n\t\t\t);\n\n\t\t\texpect(nonPortalElement).toBeNull();\n\t\t\texpect(portalElement).not.toBeNull();\n\t\t});\n\t});\n});\n"]}
@@ -1040,7 +1040,7 @@ span.Popover {
1040
1040
  box-shadow: 0 0 0 3px var(--colorsFocusRingPrimary, #78bbfa);
1041
1041
  }
1042
1042
  .Button.Button--outline {
1043
- background-color: transparent;
1043
+ background-color: var(--colorsSurfaceDefault, white);
1044
1044
  box-shadow: inset 0 0 0 1px var(--colorsBorderDefault, #444445);
1045
1045
  }
1046
1046
  .Button.Button--outline:hover::before {