@servicetitan/anvil2 1.50.0 → 1.50.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/{Combobox-hxGMMb8x.js → Combobox-DGAa9vgU.js} +7 -19
  3. package/dist/Combobox-DGAa9vgU.js.map +1 -0
  4. package/dist/Combobox.js +1 -1
  5. package/dist/{DataTable-DSySFGWC.js → DataTable-DQ9FFuV8.js} +109 -55
  6. package/dist/DataTable-DQ9FFuV8.js.map +1 -0
  7. package/dist/DataTable.css +68 -26
  8. package/dist/SelectField.js +1 -1
  9. package/dist/{SelectFieldSync-BOzavAtv.js → SelectFieldSync-D4VdOXoY.js} +93 -81
  10. package/dist/SelectFieldSync-D4VdOXoY.js.map +1 -0
  11. package/dist/SelectFieldSync.css +6 -5
  12. package/dist/{SelectTrigger-DfVnPiNf.js → SelectTrigger-D4AjiMKp.js} +2 -2
  13. package/dist/{SelectTrigger-DfVnPiNf.js.map → SelectTrigger-D4AjiMKp.js.map} +1 -1
  14. package/dist/SelectTrigger.js +1 -1
  15. package/dist/{SelectTriggerBase-D8scKtBr.js → SelectTriggerBase-D9GuxPxR.js} +3 -15
  16. package/dist/SelectTriggerBase-D9GuxPxR.js.map +1 -0
  17. package/dist/Table.js +1 -1
  18. package/dist/{Toolbar-DEwvVf35.js → Toolbar-Vw9V1RHr.js} +206 -137
  19. package/dist/Toolbar-Vw9V1RHr.js.map +1 -0
  20. package/dist/Toolbar.css +62 -30
  21. package/dist/Toolbar.js +1 -1
  22. package/dist/beta/components/SelectField/internal/useCombo.d.ts +1 -0
  23. package/dist/beta/components/Table/DataTable/internal/cells/DataTableHeaderCell.d.ts +9 -1
  24. package/dist/beta/components/Table/DataTable/stories/DataTable.story-data.d.ts +1 -0
  25. package/dist/beta/components/Table/internal/ResizeHandle.d.ts +5 -2
  26. package/dist/beta/components/Table/internal/getCommonPinningStyles.d.ts +2 -1
  27. package/dist/beta/components/Toolbar/Filters/internal/utils/filter-state.d.ts +28 -0
  28. package/dist/beta.js +3 -3
  29. package/dist/components/Combobox/internal/ComboboxLegacy/ComboboxLegacyUtils.d.ts +0 -36
  30. package/dist/components/Combobox/internal/ComboboxUtils.d.ts +0 -57
  31. package/dist/index.js +2 -2
  32. package/dist/internal/hooks/index.d.ts +1 -0
  33. package/dist/internal/hooks/useDownshiftEnvironment/index.d.ts +1 -0
  34. package/dist/internal/hooks/useDownshiftEnvironment/useDownshiftEnvironment.d.ts +36 -0
  35. package/dist/{match-sorter.esm-CtBw0MrM.js → match-sorter.esm-NrKOPPde.js} +16 -3
  36. package/dist/match-sorter.esm-NrKOPPde.js.map +1 -0
  37. package/package.json +1 -1
  38. package/dist/Combobox-hxGMMb8x.js.map +0 -1
  39. package/dist/DataTable-DSySFGWC.js.map +0 -1
  40. package/dist/SelectFieldSync-BOzavAtv.js.map +0 -1
  41. package/dist/SelectTriggerBase-D8scKtBr.js.map +0 -1
  42. package/dist/Toolbar-DEwvVf35.js.map +0 -1
  43. package/dist/match-sorter.esm-CtBw0MrM.js.map +0 -1
@@ -138,7 +138,7 @@ table[data-anv=simple-table-base] thead th._table-header-cell_1ffr7_2 {
138
138
  }
139
139
  }@layer starter, reset, base, state, application;
140
140
  @layer reset {
141
- ._table-base_wtnhx_2 {
141
+ ._table-base_11xh7_2 {
142
142
  all: unset;
143
143
  font-family: var(--font-family-base, "Nunito Sans", sans-serif);
144
144
  font-size: 100%;
@@ -151,24 +151,41 @@ table[data-anv=simple-table-base] thead th._table-header-cell_1ffr7_2 {
151
151
  box-sizing: border-box;
152
152
  display: table;
153
153
  }
154
+ ._data-table-base_11xh7_15 {
155
+ all: unset;
156
+ font-family: var(--font-family-base, "Nunito Sans", sans-serif);
157
+ font-size: 100%;
158
+ color: var(--foreground-color, #141414);
159
+ margin: 0;
160
+ padding: 0;
161
+ border-style: none;
162
+ border-width: 0;
163
+ border-color: transparent;
164
+ box-sizing: border-box;
165
+ display: grid;
166
+ }
154
167
  }
155
168
  @layer base {
156
- ._table-base_wtnhx_2 {
169
+ ._table-base_11xh7_2 {
157
170
  border-collapse: separate;
158
171
  border-spacing: 0;
159
172
  border-style: hidden;
160
173
  border-width: 0;
161
174
  }
175
+ ._data-table-base_11xh7_15 {
176
+ width: var(--a2-table-width, 100%);
177
+ grid-template-columns: var(--a2-grid-template-columns);
178
+ }
162
179
  }
163
180
  @layer state {}
164
- table._table-base_wtnhx_2 {
181
+ table._table-base_11xh7_2 {
165
182
  background-color: revert-layer;
166
183
  max-width: revert-layer;
167
184
  border-collapse: revert-layer;
168
185
  border-spacing: revert-layer;
169
186
  }@layer starter, reset, base, state, application;
170
187
  @layer reset {
171
- ._table-body_zs2gj_2 {
188
+ ._table-body_zx1bt_2 {
172
189
  all: unset;
173
190
  font-family: var(--font-family-base, "Nunito Sans", sans-serif);
174
191
  font-size: 100%;
@@ -182,9 +199,15 @@ table._table-base_wtnhx_2 {
182
199
  display: revert-layer;
183
200
  }
184
201
  }
185
- @layer base {}
202
+ @layer base {
203
+ div._table-body_zx1bt_2 {
204
+ display: grid;
205
+ grid-column: 1/-1;
206
+ grid-template-columns: subgrid;
207
+ }
208
+ }
186
209
  @layer state {}
187
- table[data-anv=simple-table-base] ._table-body_zs2gj_2 {
210
+ table[data-anv=simple-table-base] ._table-body_zx1bt_2 {
188
211
  background-color: revert-layer;
189
212
  }@layer starter, reset, base, state, application;
190
213
  @layer reset {
@@ -366,7 +389,7 @@ table[data-anv=simple-table-base] ._table-body_zs2gj_2 {
366
389
  }
367
390
  }@layer starter, reset, base, state, application;
368
391
  @layer reset {
369
- ._data-table-body-row_1vs3r_2 {
392
+ ._data-table-body-row_3jgem_2 {
370
393
  all: unset;
371
394
  font-family: var(--font-family-base, "Nunito Sans", sans-serif);
372
395
  font-size: 100%;
@@ -381,21 +404,27 @@ table[data-anv=simple-table-base] ._table-body_zs2gj_2 {
381
404
  }
382
405
  }
383
406
  @layer base {
384
- ._data-table-body-row_1vs3r_2 {
385
- display: flex;
407
+ ._data-table-body-row_3jgem_2 {
408
+ display: grid;
409
+ grid-column: 1/-1;
410
+ grid-template-columns: subgrid;
411
+ }
412
+ ._data-table-body-sub-component-row_3jgem_22 {
413
+ display: block;
414
+ grid-column: 1/-1;
386
415
  }
387
- ._data-table-body-row_1vs3r_2 > ._data-table-body-sub-component-container_1vs3r_20 {
416
+ ._data-table-body-sub-component-container_3jgem_26 {
388
417
  --a2-table-body-sub-component-padding: var(--size-6);
389
418
  background-color: var(--a2-table-body-background-color);
390
419
  width: 100%;
391
420
  }
392
- ._data-table-body-row_1vs3r_2 > ._data-table-body-sub-component-container_1vs3r_20 ._data-table-body-sub-component-content_1vs3r_25 {
421
+ ._data-table-body-sub-component-container_3jgem_26 ._data-table-body-sub-component-content_3jgem_31 {
393
422
  padding: var(--a2-table-body-sub-component-padding);
394
423
  border-block-end: 1px solid var(--a2-table-cell-border-color);
395
424
  }
396
425
  }
397
426
  @layer state {
398
- ._data-table-body-cell-group_1vs3r_31:not(:last-of-type):after {
427
+ ._data-table-body-cell-group_3jgem_37:not(:last-of-type):after {
399
428
  content: "";
400
429
  position: absolute;
401
430
  inset-block: 0;
@@ -406,7 +435,7 @@ table[data-anv=simple-table-base] ._table-body_zs2gj_2 {
406
435
  }
407
436
  }@layer starter, reset, base, state, application;
408
437
  @layer reset {
409
- ._table-footer_hq77m_2 {
438
+ ._table-footer_9bv2z_2 {
410
439
  all: unset;
411
440
  font-family: var(--font-family-base, "Nunito Sans", sans-serif);
412
441
  font-size: 100%;
@@ -421,24 +450,29 @@ table[data-anv=simple-table-base] ._table-body_zs2gj_2 {
421
450
  }
422
451
  }
423
452
  @layer base {
424
- ._table-footer_hq77m_2 {
453
+ ._table-footer_9bv2z_2 {
425
454
  --a2-table-footer-bottom-offset: 0;
426
455
  position: sticky;
427
456
  bottom: var(--a2-table-footer-bottom-offset);
428
457
  z-index: 2;
429
458
  background-color: var(--a2-table-background-color);
430
459
  }
431
- ._table-footer_hq77m_2 ._table-footer-row_hq77m_24:last-of-type ._table-footer-cell_hq77m_24:first-child {
460
+ ._table-footer_9bv2z_2 ._table-footer-row_9bv2z_24:last-of-type ._table-footer-cell_9bv2z_24:first-child {
432
461
  border-end-start-radius: var(--a2-table-border-radius);
433
462
  box-shadow: calc(-1 * var(--a2-table-footer-spacing)) 0 var(--a2-table-background-color);
434
463
  }
435
- ._table-footer_hq77m_2 ._table-footer-row_hq77m_24:last-of-type ._table-footer-cell_hq77m_24:last-child {
464
+ ._table-footer_9bv2z_2 ._table-footer-row_9bv2z_24:last-of-type ._table-footer-cell_9bv2z_24:last-child {
436
465
  border-end-end-radius: var(--a2-table-border-radius);
437
466
  box-shadow: var(--a2-table-footer-spacing) 0 var(--a2-table-background-color);
438
467
  }
468
+ div._table-footer_9bv2z_2 {
469
+ display: grid;
470
+ grid-column: 1/-1;
471
+ grid-template-columns: subgrid;
472
+ }
439
473
  }@layer starter, reset, base, state, application;
440
474
  @layer reset {
441
- ._data-table-footer-row_1nmuq_2 {
475
+ ._data-table-footer-row_13en8_2 {
442
476
  all: unset;
443
477
  font-family: var(--font-family-base, "Nunito Sans", sans-serif);
444
478
  font-size: 100%;
@@ -453,18 +487,19 @@ table[data-anv=simple-table-base] ._table-body_zs2gj_2 {
453
487
  }
454
488
  }
455
489
  @layer base {
456
- ._data-table-footer_1nmuq_2 {
490
+ ._data-table-footer_13en8_2 {
457
491
  padding-block-start: var(--a2-table-footer-spacing);
458
492
  }
459
- ._data-table-footer-row_1nmuq_2 {
460
- display: flex;
461
- flex-direction: row;
493
+ ._data-table-footer-row_13en8_2 {
494
+ display: grid;
495
+ grid-column: 1/-1;
496
+ grid-template-columns: subgrid;
462
497
  position: relative;
463
498
  }
464
499
  }
465
500
  @layer state {}@layer starter, reset, base, state, application;
466
501
  @layer reset {
467
- ._table-header_1pe38_2 {
502
+ ._table-header_y7cb1_2 {
468
503
  all: unset;
469
504
  font-family: var(--font-family-base, "Nunito Sans", sans-serif);
470
505
  font-size: 100%;
@@ -479,12 +514,17 @@ table[data-anv=simple-table-base] ._table-body_zs2gj_2 {
479
514
  }
480
515
  }
481
516
  @layer base {
482
- ._table-header_1pe38_2 {
517
+ ._table-header_y7cb1_2 {
483
518
  position: sticky;
484
519
  top: 0;
485
520
  z-index: 2;
486
521
  background-color: var(--a2-table-header-background-color);
487
522
  }
523
+ div._table-header_y7cb1_2 {
524
+ display: grid;
525
+ grid-column: 1/-1;
526
+ grid-template-columns: subgrid;
527
+ }
488
528
  }
489
529
  @layer state {}@layer starter, reset, base, state, application;
490
530
  @layer reset {
@@ -529,7 +569,7 @@ table[data-anv=simple-table-base] ._table-body_zs2gj_2 {
529
569
  }
530
570
  }@layer starter, reset, base, state, application;
531
571
  @layer reset {
532
- ._table-header_blxpc_2 {
572
+ ._table-header_6qs0u_2 {
533
573
  all: unset;
534
574
  font-family: var(--font-family-base, "Nunito Sans", sans-serif);
535
575
  font-size: 100%;
@@ -544,8 +584,10 @@ table[data-anv=simple-table-base] ._table-body_zs2gj_2 {
544
584
  }
545
585
  }
546
586
  @layer base {
547
- ._data-table-header-row_blxpc_17 {
548
- display: flex;
587
+ ._data-table-header-row_6qs0u_17 {
588
+ display: grid;
589
+ grid-column: 1/-1;
590
+ grid-template-columns: subgrid;
549
591
  }
550
592
  }
551
593
  @layer state {}@layer starter, reset, base, state, application;
@@ -1,2 +1,2 @@
1
- export { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-BOzavAtv.js';
1
+ export { S as SelectField, a as SelectFieldSync } from './SelectFieldSync-D4VdOXoY.js';
2
2
  //# sourceMappingURL=SelectField.js.map
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
- import { u as useCombobox, m as matchSorter } from './match-sorter.esm-CtBw0MrM.js';
2
+ import { u as useDownshiftEnvironment, a as useCombobox, m as matchSorter } from './match-sorter.esm-NrKOPPde.js';
3
3
  import { useState, useRef, useCallback, useEffect, useMemo, forwardRef, useId, useImperativeHandle } from 'react';
4
4
  import { S as Spinner } from './Spinner-xEFwsq8_.js';
5
5
  import { B as Button } from './Button-92_FKAyV.js';
@@ -172,12 +172,12 @@ function useSelectFieldLoading(config) {
172
172
  };
173
173
  }
174
174
 
175
- const empty = "_empty_dbxri_5";
176
- const scroller = "_scroller_dbxri_19";
175
+ const empty = "_empty_4c4yl_6";
176
+ const scroller = "_scroller_4c4yl_20";
177
177
  const styles$3 = {
178
- "select-field-list": "_select-field-list_dbxri_2",
178
+ "select-field-list": "_select-field-list_4c4yl_2",
179
179
  empty: empty,
180
- "load-more": "_load-more_dbxri_12",
180
+ "load-more": "_load-more_4c4yl_13",
181
181
  scroller: scroller};
182
182
 
183
183
  const highlighted = "_highlighted_15431_26";
@@ -489,6 +489,7 @@ const useCombo = ({
489
489
  const selectedDownshiftItem = useMemo(() => {
490
490
  return selectedOption ? mapOptionToDownshiftItem(selectedOption) : null;
491
491
  }, [selectedOption]);
492
+ const { ref: wrapperDivRef, environment } = useDownshiftEnvironment();
492
493
  const {
493
494
  isOpen,
494
495
  highlightedIndex,
@@ -508,6 +509,7 @@ const useCombo = ({
508
509
  }
509
510
  return (disabled || item.disabled) ?? false;
510
511
  },
512
+ environment,
511
513
  selectedItem: selectedDownshiftItem,
512
514
  onSelectedItemChange: ({
513
515
  selectedItem: si
@@ -536,6 +538,7 @@ const useCombo = ({
536
538
  });
537
539
  return {
538
540
  inputValue,
541
+ wrapperDivRef,
539
542
  getToggleButtonProps,
540
543
  getLabelProps,
541
544
  getMenuProps,
@@ -879,6 +882,7 @@ const SelectField = forwardRef(
879
882
  getLabelProps,
880
883
  getMenuProps,
881
884
  getInputProps,
885
+ wrapperDivRef,
882
886
  highlightedIndex,
883
887
  getItemProps,
884
888
  inputValue,
@@ -927,96 +931,104 @@ const SelectField = forwardRef(
927
931
  };
928
932
  const disableClearButton = disableClearButtonProp || !selectedOption || isDisabledOrReadOnly;
929
933
  if (displayAs === "dialog") {
930
- return /* @__PURE__ */ jsxs("div", { className: styles$4["search-field"], style: { ...layoutStyles }, children: [
931
- /* @__PURE__ */ jsx(
932
- SelectFieldLabel,
933
- {
934
- label,
935
- getLabelProps,
936
- required
937
- }
938
- ),
939
- /* @__PURE__ */ jsx(
940
- SelectFieldInput,
941
- {
942
- disabled,
943
- readOnly,
944
- disableToggleButton: false,
945
- placeholder,
946
- disableClearButton,
947
- toggleButtonProps: getToggleButtonProps(),
948
- onClear: () => onSelectedOptionChange(null),
949
- id: `${id}-input`,
950
- inputProps: getInputProps({
951
- "aria-describedby": hasHelperText ? helperUid : void 0,
952
- "aria-invalid": error ? true : void 0,
953
- onFocus: handleFocus,
954
- onBlur: handleBlur
955
- }),
956
- size,
957
- error: !!error,
958
- prefix,
959
- suffix
960
- }
961
- ),
962
- hasHelperText ? /* @__PURE__ */ jsx(
963
- FieldMessage,
964
- {
965
- id: helperUid,
966
- hint,
967
- errorMessage,
968
- errorAriaLive: isOpen || hasFocus ? errorAriaLiveProp : "off",
969
- description
970
- }
971
- ) : null,
972
- /* @__PURE__ */ jsx(
973
- FieldDialog,
974
- {
975
- id: `${id}-dialog`,
976
- isOpen,
977
- onClose: closeMenu,
978
- title: label,
979
- field: /* @__PURE__ */ jsx(
934
+ return /* @__PURE__ */ jsxs(
935
+ "div",
936
+ {
937
+ className: styles$4["search-field"],
938
+ style: { ...layoutStyles },
939
+ ref: wrapperDivRef,
940
+ children: [
941
+ /* @__PURE__ */ jsx(
942
+ SelectFieldLabel,
943
+ {
944
+ label,
945
+ getLabelProps,
946
+ required
947
+ }
948
+ ),
949
+ /* @__PURE__ */ jsx(
980
950
  SelectFieldInput,
981
951
  {
982
952
  disabled,
983
953
  readOnly,
984
- inputProps: getInputProps(),
985
- disableToggleButton: true,
954
+ disableToggleButton: false,
986
955
  placeholder,
987
956
  disableClearButton,
957
+ toggleButtonProps: getToggleButtonProps(),
988
958
  onClear: () => onSelectedOptionChange(null),
989
- id: `${id}-dialog-input`,
990
- inputWrapperRef,
991
- size: "medium",
959
+ id: `${id}-input`,
960
+ inputProps: getInputProps({
961
+ "aria-describedby": hasHelperText ? helperUid : void 0,
962
+ "aria-invalid": error ? true : void 0,
963
+ onFocus: handleFocus,
964
+ onBlur: handleBlur
965
+ }),
966
+ size,
992
967
  error: !!error,
993
968
  prefix,
994
969
  suffix
995
970
  }
996
971
  ),
997
- children: /* @__PURE__ */ jsx(
998
- SelectFieldList,
972
+ hasHelperText ? /* @__PURE__ */ jsx(
973
+ FieldMessage,
999
974
  {
1000
- isOpen: true,
1001
- items: downshiftItems,
1002
- getMenuProps,
1003
- getItemProps,
1004
- highlightedIndex,
1005
- selectedOption,
1006
- hasMore,
1007
- onLoadMore: handleLoadMore,
1008
- loading,
1009
- loadingMore,
1010
- disabled: isDisabledOrReadOnly,
1011
- style: {
1012
- paddingInline: 24,
1013
- paddingBlockEnd: 24
1014
- }
975
+ id: helperUid,
976
+ hint,
977
+ errorMessage,
978
+ errorAriaLive: isOpen || hasFocus ? errorAriaLiveProp : "off",
979
+ description
980
+ }
981
+ ) : null,
982
+ /* @__PURE__ */ jsx(
983
+ FieldDialog,
984
+ {
985
+ id: `${id}-dialog`,
986
+ isOpen,
987
+ onClose: closeMenu,
988
+ title: label,
989
+ field: /* @__PURE__ */ jsx(
990
+ SelectFieldInput,
991
+ {
992
+ disabled,
993
+ readOnly,
994
+ inputProps: getInputProps(),
995
+ disableToggleButton: true,
996
+ placeholder,
997
+ disableClearButton,
998
+ onClear: () => onSelectedOptionChange(null),
999
+ id: `${id}-dialog-input`,
1000
+ inputWrapperRef,
1001
+ size: "medium",
1002
+ error: !!error,
1003
+ prefix,
1004
+ suffix
1005
+ }
1006
+ ),
1007
+ children: /* @__PURE__ */ jsx(
1008
+ SelectFieldList,
1009
+ {
1010
+ isOpen: true,
1011
+ items: downshiftItems,
1012
+ getMenuProps,
1013
+ getItemProps,
1014
+ highlightedIndex,
1015
+ selectedOption,
1016
+ hasMore,
1017
+ onLoadMore: handleLoadMore,
1018
+ loading,
1019
+ loadingMore,
1020
+ disabled: isDisabledOrReadOnly,
1021
+ style: {
1022
+ paddingInline: 24,
1023
+ paddingBlockEnd: 24
1024
+ }
1025
+ }
1026
+ )
1015
1027
  }
1016
1028
  )
1017
- }
1018
- )
1019
- ] });
1029
+ ]
1030
+ }
1031
+ );
1020
1032
  }
1021
1033
  return /* @__PURE__ */ jsxs("div", { className: styles$4["search-field"], style: { ...layoutStyles }, children: [
1022
1034
  /* @__PURE__ */ jsx(
@@ -1119,4 +1131,4 @@ const SelectFieldSync = (props) => {
1119
1131
  };
1120
1132
 
1121
1133
  export { SelectField as S, SelectFieldSync as a, useAdaptiveView as u };
1122
- //# sourceMappingURL=SelectFieldSync-BOzavAtv.js.map
1134
+ //# sourceMappingURL=SelectFieldSync-D4VdOXoY.js.map