@servicetitan/table 41.0.0 → 41.2.0

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 (221) hide show
  1. package/dist/demo/column-hiding/products.d.ts +1 -1
  2. package/dist/demo/column-hiding/products.d.ts.map +1 -1
  3. package/dist/demo/column-hiding/products.js.map +1 -1
  4. package/dist/demo/column-hiding/table.d.ts +1 -1
  5. package/dist/demo/column-hiding/table.d.ts.map +1 -1
  6. package/dist/demo/column-hiding/table.js.map +1 -1
  7. package/dist/demo/column-hiding/table.store.d.ts +3 -2
  8. package/dist/demo/column-hiding/table.store.d.ts.map +1 -1
  9. package/dist/demo/column-hiding/table.store.js.map +1 -1
  10. package/dist/demo/filters/async-select-filter.d.ts +1 -1
  11. package/dist/demo/filters/async-select-filter.d.ts.map +1 -1
  12. package/dist/demo/filters/async-select-filter.js.map +1 -1
  13. package/dist/demo/filters/categories.d.ts +2 -2
  14. package/dist/demo/filters/categories.d.ts.map +1 -1
  15. package/dist/demo/filters/categories.js.map +1 -1
  16. package/dist/demo/filters/multiselect-filter.d.ts +1 -1
  17. package/dist/demo/filters/multiselect-filter.d.ts.map +1 -1
  18. package/dist/demo/filters/multiselect-filter.js.map +1 -1
  19. package/dist/demo/filters/range-filter.d.ts +1 -1
  20. package/dist/demo/filters/range-filter.d.ts.map +1 -1
  21. package/dist/demo/filters/range-filter.js.map +1 -1
  22. package/dist/demo/filters/select-filter.d.ts +2 -2
  23. package/dist/demo/filters/select-filter.d.ts.map +1 -1
  24. package/dist/demo/filters/select-filter.js.map +1 -1
  25. package/dist/demo/filters/single-select-filter.d.ts +1 -1
  26. package/dist/demo/filters/single-select-filter.d.ts.map +1 -1
  27. package/dist/demo/filters/single-select-filter.js.map +1 -1
  28. package/dist/demo/filters/table.store.d.ts +3 -2
  29. package/dist/demo/filters/table.store.d.ts.map +1 -1
  30. package/dist/demo/filters/table.store.js.map +1 -1
  31. package/dist/demo/footer-page-size/table.d.ts +1 -1
  32. package/dist/demo/footer-page-size/table.d.ts.map +1 -1
  33. package/dist/demo/footer-page-size/table.js.map +1 -1
  34. package/dist/demo/master-detail/detail-table.d.ts +2 -2
  35. package/dist/demo/master-detail/detail-table.d.ts.map +1 -1
  36. package/dist/demo/master-detail/detail-table.js.map +1 -1
  37. package/dist/demo/master-detail/detail-table.store.d.ts.map +1 -1
  38. package/dist/demo/master-detail/detail-table.store.js.map +1 -1
  39. package/dist/demo/master-detail/master-table.store.d.ts +2 -2
  40. package/dist/demo/master-detail/master-table.store.d.ts.map +1 -1
  41. package/dist/demo/master-detail/master-table.store.js.map +1 -1
  42. package/dist/demo/master-detail/product-details.d.ts +1 -1
  43. package/dist/demo/master-detail/product-details.d.ts.map +1 -1
  44. package/dist/demo/master-detail/product-details.js.map +1 -1
  45. package/dist/demo/master-detail/products.d.ts +1 -1
  46. package/dist/demo/master-detail/products.d.ts.map +1 -1
  47. package/dist/demo/master-detail/products.js.map +1 -1
  48. package/dist/demo/master-detail/table-master-detail.d.ts +1 -1
  49. package/dist/demo/master-detail/table-master-detail.d.ts.map +1 -1
  50. package/dist/demo/master-detail/table-master-detail.js.map +1 -1
  51. package/dist/demo/overview/actions-cell.d.ts +2 -2
  52. package/dist/demo/overview/actions-cell.d.ts.map +1 -1
  53. package/dist/demo/overview/actions-cell.js.map +1 -1
  54. package/dist/demo/overview/products.d.ts +1 -1
  55. package/dist/demo/overview/products.d.ts.map +1 -1
  56. package/dist/demo/overview/products.js.map +1 -1
  57. package/dist/demo/overview/table.d.ts +2 -2
  58. package/dist/demo/overview/table.d.ts.map +1 -1
  59. package/dist/demo/overview/table.js.map +1 -1
  60. package/dist/demo/overview/table.store.d.ts +1 -1
  61. package/dist/demo/overview/table.store.d.ts.map +1 -1
  62. package/dist/demo/overview/table.store.js.map +1 -1
  63. package/dist/demo/row-details/row-details-table.d.ts +1 -1
  64. package/dist/demo/row-details/row-details-table.d.ts.map +1 -1
  65. package/dist/demo/row-details/row-details-table.js.map +1 -1
  66. package/dist/demo/row-details/row-details-table.store.d.ts +1 -1
  67. package/dist/demo/row-details/row-details-table.store.d.ts.map +1 -1
  68. package/dist/demo/row-details/row-details-table.store.js.map +1 -1
  69. package/dist/demo/state-caching/beverages.d.ts +1 -1
  70. package/dist/demo/state-caching/beverages.d.ts.map +1 -1
  71. package/dist/demo/state-caching/beverages.js.map +1 -1
  72. package/dist/demo/state-caching/products.d.ts +1 -1
  73. package/dist/demo/state-caching/products.d.ts.map +1 -1
  74. package/dist/demo/state-caching/products.js.map +1 -1
  75. package/dist/demo/state-caching/state-caching-table.d.ts +1 -1
  76. package/dist/demo/state-caching/state-caching-table.d.ts.map +1 -1
  77. package/dist/demo/state-caching/state-caching-table.js.map +1 -1
  78. package/dist/demo/state-caching/state-caching-table.store.d.ts +2 -2
  79. package/dist/demo/state-caching/state-caching-table.store.d.ts.map +1 -1
  80. package/dist/demo/state-caching/state-caching-table.store.js.map +1 -1
  81. package/dist/details/expand-column.d.ts +2 -2
  82. package/dist/details/expand-column.d.ts.map +1 -1
  83. package/dist/details/expand-column.js.map +1 -1
  84. package/dist/editable-cell/boolean-editable-cell.d.ts.map +1 -1
  85. package/dist/editable-cell/boolean-editable-cell.js.map +1 -1
  86. package/dist/editable-cell/get-action-cell.d.ts +3 -3
  87. package/dist/editable-cell/get-action-cell.d.ts.map +1 -1
  88. package/dist/editable-cell/get-action-cell.js.map +1 -1
  89. package/dist/editable-cell/get-editable-cell.d.ts +4 -4
  90. package/dist/editable-cell/get-editable-cell.d.ts.map +1 -1
  91. package/dist/editable-cell/get-editable-cell.js.map +1 -1
  92. package/dist/editable-cell/get-select-editable-cell.d.ts +3 -3
  93. package/dist/editable-cell/get-select-editable-cell.d.ts.map +1 -1
  94. package/dist/editable-cell/get-select-editable-cell.js.map +1 -1
  95. package/dist/editable-cell/text-editable-cell.d.ts.map +1 -1
  96. package/dist/editable-cell/text-editable-cell.js.map +1 -1
  97. package/dist/export/export.d.ts +1 -1
  98. package/dist/export/export.d.ts.map +1 -1
  99. package/dist/export/export.js.map +1 -1
  100. package/dist/filters/async-select/async-select-filter.d.ts +3 -3
  101. package/dist/filters/async-select/async-select-filter.d.ts.map +1 -1
  102. package/dist/filters/async-select/async-select-filter.js.map +1 -1
  103. package/dist/filters/column-menu-filters.d.ts +2 -2
  104. package/dist/filters/column-menu-filters.d.ts.map +1 -1
  105. package/dist/filters/column-menu-filters.js.map +1 -1
  106. package/dist/filters/datetime-filter/datetime-filter.js.map +1 -1
  107. package/dist/filters/field-values-filter.d.ts +1 -1
  108. package/dist/filters/field-values-filter.d.ts.map +1 -1
  109. package/dist/filters/field-values-filter.js.map +1 -1
  110. package/dist/filters/multiselect-filter/multiselect-filter.d.ts +2 -2
  111. package/dist/filters/multiselect-filter/multiselect-filter.d.ts.map +1 -1
  112. package/dist/filters/multiselect-filter/multiselect-filter.js.map +1 -1
  113. package/dist/filters/numeric-filter-extended/numeric-filter-extended.d.ts.map +1 -1
  114. package/dist/filters/numeric-filter-extended/numeric-filter-extended.js.map +1 -1
  115. package/dist/filters/range-filter/range-filter.d.ts.map +1 -1
  116. package/dist/filters/range-filter/range-filter.js.map +1 -1
  117. package/dist/filters/select-filter/operators.d.ts +1 -1
  118. package/dist/filters/select-filter/operators.d.ts.map +1 -1
  119. package/dist/filters/select-filter/operators.js.map +1 -1
  120. package/dist/filters/select-filter/select-filter.d.ts +3 -3
  121. package/dist/filters/select-filter/select-filter.d.ts.map +1 -1
  122. package/dist/filters/select-filter/select-filter.js.map +1 -1
  123. package/dist/filters/select-filter/value-getter.d.ts +1 -1
  124. package/dist/filters/select-filter/value-getter.d.ts.map +1 -1
  125. package/dist/filters/select-filter/value-getter.js.map +1 -1
  126. package/dist/filters/single-select/single-select-filter.d.ts +3 -3
  127. package/dist/filters/single-select/single-select-filter.d.ts.map +1 -1
  128. package/dist/filters/single-select/single-select-filter.js.map +1 -1
  129. package/dist/filters/standard-filter-with-multiselect/filter-cell-ext.d.ts +3 -3
  130. package/dist/filters/standard-filter-with-multiselect/filter-cell-ext.d.ts.map +1 -1
  131. package/dist/filters/standard-filter-with-multiselect/filter-cell-ext.js.map +1 -1
  132. package/dist/filters/standard-filter-with-multiselect/standard-filter-with-multiselect.d.ts +4 -4
  133. package/dist/filters/standard-filter-with-multiselect/standard-filter-with-multiselect.d.ts.map +1 -1
  134. package/dist/filters/standard-filter-with-multiselect/standard-filter-with-multiselect.js.map +1 -1
  135. package/dist/filters/standard-filter-with-multiselect/table-column-menu-filter-ext.d.ts +1 -1
  136. package/dist/filters/standard-filter-with-multiselect/table-column-menu-filter-ext.d.ts.map +1 -1
  137. package/dist/filters/standard-filter-with-multiselect/table-column-menu-filter-ext.js.map +1 -1
  138. package/dist/filters/time-filter/time-filter.d.ts.map +1 -1
  139. package/dist/filters/time-filter/time-filter.js.map +1 -1
  140. package/dist/select-cell/select-cell.d.ts +2 -2
  141. package/dist/select-cell/select-cell.d.ts.map +1 -1
  142. package/dist/select-cell/select-cell.js.map +1 -1
  143. package/dist/table-state.d.ts +6 -5
  144. package/dist/table-state.d.ts.map +1 -1
  145. package/dist/table-state.js.map +1 -1
  146. package/dist/table.d.ts +5 -4
  147. package/dist/table.d.ts.map +1 -1
  148. package/dist/table.js.map +1 -1
  149. package/dist/use-observing-table-state/demo/components/use-observing-table-state-demo.d.ts +2 -2
  150. package/dist/use-observing-table-state/demo/components/use-observing-table-state-demo.d.ts.map +1 -1
  151. package/dist/use-observing-table-state/demo/components/use-observing-table-state-demo.js.map +1 -1
  152. package/dist/use-observing-table-state/use-observing-table-state.d.ts +3 -2
  153. package/dist/use-observing-table-state/use-observing-table-state.d.ts.map +1 -1
  154. package/dist/use-observing-table-state/use-observing-table-state.js.map +1 -1
  155. package/dist/use-observing-table-state/use-observing-table-state.stories.d.ts +1 -1
  156. package/dist/use-observing-table-state/use-observing-table-state.stories.d.ts.map +1 -1
  157. package/dist/utils/filters.d.ts +1 -1
  158. package/dist/utils/filters.d.ts.map +1 -1
  159. package/dist/utils/filters.js.map +1 -1
  160. package/dist/utils/use-td-props.d.ts +2 -2
  161. package/dist/utils/use-td-props.d.ts.map +1 -1
  162. package/dist/utils/use-td-props.js.map +1 -1
  163. package/package.json +9 -9
  164. package/src/demo/column-hiding/products.ts +2 -1
  165. package/src/demo/column-hiding/table.store.ts +4 -2
  166. package/src/demo/column-hiding/table.tsx +4 -2
  167. package/src/demo/filters/async-select-filter.tsx +2 -1
  168. package/src/demo/filters/categories.tsx +2 -2
  169. package/src/demo/filters/multiselect-filter.tsx +2 -1
  170. package/src/demo/filters/range-filter.tsx +2 -1
  171. package/src/demo/filters/select-filter.tsx +5 -3
  172. package/src/demo/filters/single-select-filter.tsx +2 -1
  173. package/src/demo/filters/table.store.ts +4 -7
  174. package/src/demo/footer-page-size/table.tsx +2 -1
  175. package/src/demo/master-detail/detail-table.store.ts +2 -1
  176. package/src/demo/master-detail/detail-table.tsx +6 -3
  177. package/src/demo/master-detail/master-table.store.ts +4 -3
  178. package/src/demo/master-detail/product-details.ts +1 -1
  179. package/src/demo/master-detail/products.ts +2 -1
  180. package/src/demo/master-detail/table-master-detail.tsx +4 -2
  181. package/src/demo/overview/actions-cell.tsx +4 -3
  182. package/src/demo/overview/products.ts +2 -1
  183. package/src/demo/overview/table.store.ts +2 -1
  184. package/src/demo/overview/table.tsx +5 -4
  185. package/src/demo/row-details/row-details-table.store.ts +1 -1
  186. package/src/demo/row-details/row-details-table.tsx +4 -3
  187. package/src/demo/state-caching/beverages.ts +1 -1
  188. package/src/demo/state-caching/products.ts +1 -1
  189. package/src/demo/state-caching/state-caching-table.store.ts +2 -2
  190. package/src/demo/state-caching/state-caching-table.tsx +2 -1
  191. package/src/details/expand-column.tsx +4 -2
  192. package/src/editable-cell/boolean-editable-cell.tsx +3 -2
  193. package/src/editable-cell/get-action-cell.tsx +3 -3
  194. package/src/editable-cell/get-editable-cell.tsx +4 -4
  195. package/src/editable-cell/get-select-editable-cell.tsx +7 -5
  196. package/src/editable-cell/text-editable-cell.tsx +5 -3
  197. package/src/export/export.tsx +1 -1
  198. package/src/filters/async-select/async-select-filter.tsx +7 -14
  199. package/src/filters/column-menu-filters.tsx +4 -7
  200. package/src/filters/datetime-filter/datetime-filter.tsx +4 -4
  201. package/src/filters/field-values-filter.tsx +5 -3
  202. package/src/filters/multiselect-filter/multiselect-filter.tsx +6 -6
  203. package/src/filters/numeric-filter-extended/numeric-filter-extended.tsx +6 -4
  204. package/src/filters/range-filter/range-filter.tsx +5 -3
  205. package/src/filters/select-filter/operators.ts +1 -1
  206. package/src/filters/select-filter/select-filter.tsx +9 -16
  207. package/src/filters/select-filter/value-getter.ts +1 -1
  208. package/src/filters/single-select/single-select-filter.tsx +7 -7
  209. package/src/filters/standard-filter-with-multiselect/filter-cell-ext.tsx +4 -5
  210. package/src/filters/standard-filter-with-multiselect/standard-filter-with-multiselect.tsx +7 -6
  211. package/src/filters/standard-filter-with-multiselect/table-column-menu-filter-ext.tsx +1 -1
  212. package/src/filters/time-filter/time-filter.tsx +4 -2
  213. package/src/select-cell/select-cell.tsx +3 -3
  214. package/src/table-state.ts +6 -9
  215. package/src/table.tsx +10 -24
  216. package/src/use-observing-table-state/demo/components/use-observing-table-state-demo.tsx +4 -2
  217. package/src/use-observing-table-state/use-observing-table-state.stories.tsx +1 -1
  218. package/src/use-observing-table-state/use-observing-table-state.ts +4 -2
  219. package/src/utils/__tests__/filters.test.ts +1 -1
  220. package/src/utils/filters.ts +2 -6
  221. package/src/utils/use-td-props.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/use-td-props.ts"],"sourcesContent":["import { TableCellProps } from '@servicetitan/design-system';\nimport { useTableKeyboardNavigation } from '@progress/kendo-react-data-tools';\nimport { GRID_COL_INDEX_ATTRIBUTE } from '@progress/kendo-react-grid';\nimport { ComponentProps } from 'react';\n\nconst useTdProps = ({\n id,\n colSpan,\n ariaColumnIndex,\n isSelected,\n columnIndex,\n}: TableCellProps): ComponentProps<'td'> & {\n [GRID_COL_INDEX_ATTRIBUTE]?: number;\n} => {\n const navigationAttributes = useTableKeyboardNavigation(id);\n return {\n colSpan,\n 'role': 'gridcell',\n 'aria-colindex': ariaColumnIndex,\n 'aria-selected': isSelected,\n [GRID_COL_INDEX_ATTRIBUTE]: columnIndex,\n ...navigationAttributes,\n };\n};\n\nexport { useTdProps };\n"],"names":["useTableKeyboardNavigation","GRID_COL_INDEX_ATTRIBUTE","useTdProps","id","colSpan","ariaColumnIndex","isSelected","columnIndex","navigationAttributes"],"mappings":"AACA,SAASA,0BAA0B,QAAQ,mCAAmC;AAC9E,SAASC,wBAAwB,QAAQ,6BAA6B;AAGtE,MAAMC,aAAa,CAAC,EAChBC,EAAE,EACFC,OAAO,EACPC,eAAe,EACfC,UAAU,EACVC,WAAW,EACE;IAGb,MAAMC,uBAAuBR,2BAA2BG;IACxD,OAAO;QACHC;QACA,QAAQ;QACR,iBAAiBC;QACjB,iBAAiBC;QACjB,CAACL,yBAAyB,EAAEM;QAC5B,GAAGC,oBAAoB;IAC3B;AACJ;AAEA,SAASN,UAAU,GAAG"}
1
+ {"version":3,"sources":["../../src/utils/use-td-props.ts"],"sourcesContent":["import type { TableCellProps } from '@servicetitan/design-system';\nimport { useTableKeyboardNavigation } from '@progress/kendo-react-data-tools';\nimport { GRID_COL_INDEX_ATTRIBUTE } from '@progress/kendo-react-grid';\nimport type { ComponentProps } from 'react';\n\nconst useTdProps = ({\n id,\n colSpan,\n ariaColumnIndex,\n isSelected,\n columnIndex,\n}: TableCellProps): ComponentProps<'td'> & {\n [GRID_COL_INDEX_ATTRIBUTE]?: number;\n} => {\n const navigationAttributes = useTableKeyboardNavigation(id);\n return {\n colSpan,\n 'role': 'gridcell',\n 'aria-colindex': ariaColumnIndex,\n 'aria-selected': isSelected,\n [GRID_COL_INDEX_ATTRIBUTE]: columnIndex,\n ...navigationAttributes,\n };\n};\n\nexport { useTdProps };\n"],"names":["useTableKeyboardNavigation","GRID_COL_INDEX_ATTRIBUTE","useTdProps","id","colSpan","ariaColumnIndex","isSelected","columnIndex","navigationAttributes"],"mappings":"AACA,SAASA,0BAA0B,QAAQ,mCAAmC;AAC9E,SAASC,wBAAwB,QAAQ,6BAA6B;AAGtE,MAAMC,aAAa,CAAC,EAChBC,EAAE,EACFC,OAAO,EACPC,eAAe,EACfC,UAAU,EACVC,WAAW,EACE;IAGb,MAAMC,uBAAuBR,2BAA2BG;IACxD,OAAO;QACHC;QACA,QAAQ;QACR,iBAAiBC;QACjB,iBAAiBC;QACjB,CAACL,yBAAyB,EAAEM;QAC5B,GAAGC,oBAAoB;IAC3B;AACJ;AAEA,SAASN,UAAU,GAAG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/table",
3
- "version": "41.0.0",
3
+ "version": "41.2.0",
4
4
  "description": "",
5
5
  "homepage": "https://docs.st.dev/docs/frontend/table",
6
6
  "repository": {
@@ -18,7 +18,7 @@
18
18
  "dependencies": {
19
19
  "@progress/kendo-ooxml": "~1.6.2",
20
20
  "@progress/kendo-react-excel-export": "~5.5.0",
21
- "@servicetitan/react-hooks": "^7.5.0",
21
+ "@servicetitan/react-hooks": "^7.7.0",
22
22
  "classnames": "^2.3.1",
23
23
  "memoize-one": "~6.0.0"
24
24
  },
@@ -29,11 +29,11 @@
29
29
  "@progress/kendo-react-grid": "~5.5.0",
30
30
  "@progress/kendo-react-inputs": "~5.5.0",
31
31
  "@progress/kendo-react-pdf": "~5.5.0",
32
- "@servicetitan/data-query": "^41.0.0",
32
+ "@servicetitan/data-query": "^41.2.0",
33
33
  "@servicetitan/design-system": "~14.5.1",
34
- "@servicetitan/form": "^41.0.0",
35
- "@servicetitan/react-ioc": "^36.3.0",
36
- "@servicetitan/suppress-warnings": "^36.3.0",
34
+ "@servicetitan/form": "^41.2.0",
35
+ "@servicetitan/react-ioc": "^38.0.0",
36
+ "@servicetitan/suppress-warnings": "^38.0.0",
37
37
  "@types/accounting": "~0.4.2",
38
38
  "@types/react": "~18.2.55",
39
39
  "accounting": "~0.4.1",
@@ -51,9 +51,9 @@
51
51
  "@progress/kendo-react-grid": "~5.5.0",
52
52
  "@progress/kendo-react-inputs": "~5.5.0",
53
53
  "@progress/kendo-react-pdf": "~5.5.0",
54
- "@servicetitan/data-query": "^41.0.0",
54
+ "@servicetitan/data-query": "^41.2.0",
55
55
  "@servicetitan/design-system": ">=13.2.1",
56
- "@servicetitan/form": "^41.0.0",
56
+ "@servicetitan/form": "^41.2.0",
57
57
  "@servicetitan/react-ioc": ">21.0.0",
58
58
  "@servicetitan/suppress-warnings": ">21.0.0",
59
59
  "accounting": "~0.4.1",
@@ -70,5 +70,5 @@
70
70
  "cli": {
71
71
  "webpack": false
72
72
  },
73
- "gitHead": "9bf5eb2634c17330d1251d431ed5b60b28b56c21"
73
+ "gitHead": "a27c08d5c4a695eb24110ec1477fa23ccf28a148"
74
74
  }
@@ -1,4 +1,5 @@
1
- import { Product, UserRole, Supplier } from './product';
1
+ import type { Product } from './product';
2
+ import { UserRole, Supplier } from './product';
2
3
 
3
4
  export const products: Product[] = [
4
5
  {
@@ -1,6 +1,8 @@
1
1
  import { injectable } from '@servicetitan/react-ioc';
2
- import { IdType, InMemoryDataSource, TableState } from '../..';
3
- import { Product, UserRole, Supplier } from './product';
2
+ import type { IdType } from '../..';
3
+ import { InMemoryDataSource, TableState } from '../..';
4
+ import type { Product } from './product';
5
+ import { UserRole, Supplier } from './product';
4
6
  import { products } from './products';
5
7
 
6
8
  @injectable()
@@ -1,8 +1,10 @@
1
- import { Fragment, FC, memo, useCallback, useState, ChangeEvent } from 'react';
1
+ import type { FC, ChangeEvent } from 'react';
2
+ import { Fragment, memo, useCallback, useState } from 'react';
2
3
  import { provide, useDependencies } from '@servicetitan/react-ioc';
3
4
  import { observer } from 'mobx-react';
4
5
 
5
- import { Table, TableColumn, TableCellProps } from '../..';
6
+ import type { TableCellProps } from '../..';
7
+ import { Table, TableColumn } from '../..';
6
8
  import { TableStore } from './table.store';
7
9
  import { Supplier } from './product';
8
10
  import { TableCell } from '@servicetitan/design-system';
@@ -1,4 +1,5 @@
1
- import { useMemo, FC, Fragment } from 'react';
1
+ import type { FC } from 'react';
2
+ import { useMemo, Fragment } from 'react';
2
3
  import { observer } from 'mobx-react';
3
4
  import { provide, useDependencies } from '@servicetitan/react-ioc';
4
5
 
@@ -1,5 +1,5 @@
1
- import { FC } from 'react';
2
- import { TableCellProps } from '../../table';
1
+ import type { FC } from 'react';
2
+ import type { TableCellProps } from '../../table';
3
3
 
4
4
  export interface Category {
5
5
  CategoryID: number;
@@ -1,4 +1,5 @@
1
- import { useMemo, FC } from 'react';
1
+ import type { FC } from 'react';
2
+ import { useMemo } from 'react';
2
3
 
3
4
  import { provide, useDependencies } from '@servicetitan/react-ioc';
4
5
 
@@ -1,4 +1,5 @@
1
- import { FC, Fragment } from 'react';
1
+ import type { FC } from 'react';
2
+ import { Fragment } from 'react';
2
3
  import { observer } from 'mobx-react';
3
4
  import { provide, useDependencies } from '@servicetitan/react-ioc';
4
5
 
@@ -1,13 +1,15 @@
1
- import { useMemo, FC, Fragment } from 'react';
1
+ import type { FC } from 'react';
2
+ import { useMemo, Fragment } from 'react';
2
3
  import { observer } from 'mobx-react';
3
4
  import { Banner } from '@servicetitan/design-system';
4
5
  import { provide, useDependencies } from '@servicetitan/react-ioc';
5
6
 
6
- import { Table, TableColumn, selectColumnMenuFilter, TableCellProps } from '../..';
7
+ import type { TableCellProps } from '../..';
8
+ import { Table, TableColumn, selectColumnMenuFilter } from '../..';
7
9
 
8
10
  import { TableStore } from './table.store';
9
11
  import { categories, CategoryCell } from './categories';
10
- import { Product } from '../overview/product';
12
+ import type { Product } from '../overview/product';
11
13
 
12
14
  export const PackageCell: FC<TableCellProps> = ({ dataItem, tdProps }) => (
13
15
  <td {...tdProps}>{dataItem?.Package?.PackageName}</td>
@@ -1,4 +1,5 @@
1
- import { useMemo, FC, Fragment } from 'react';
1
+ import type { FC } from 'react';
2
+ import { useMemo, Fragment } from 'react';
2
3
 
3
4
  import { provide, useDependencies } from '@servicetitan/react-ioc';
4
5
 
@@ -1,13 +1,10 @@
1
1
  import { injectable } from '@servicetitan/react-ioc';
2
2
 
3
- import {
4
- InMemoryDataSource,
5
- TableState,
6
- AsyncSelectFilterDataFetcher,
7
- SelectFilterDataFetcher,
8
- } from '../..';
3
+ import type { AsyncSelectFilterDataFetcher, SelectFilterDataFetcher } from '../..';
4
+ import { InMemoryDataSource, TableState } from '../..';
9
5
  import { products } from '../overview/products';
10
- import { categories, Category } from './categories';
6
+ import type { Category } from './categories';
7
+ import { categories } from './categories';
11
8
 
12
9
  @injectable()
13
10
  export class TableStore {
@@ -1,4 +1,5 @@
1
- import { useMemo, FC } from 'react';
1
+ import type { FC } from 'react';
2
+ import { useMemo } from 'react';
2
3
 
3
4
  import { provide, useDependencies } from '@servicetitan/react-ioc';
4
5
 
@@ -1,6 +1,7 @@
1
1
  import { injectable, inject } from '@servicetitan/react-ioc';
2
2
 
3
- import { observable, action, observe, computed, Lambda, makeObservable } from 'mobx';
3
+ import type { Lambda } from 'mobx';
4
+ import { observable, action, observe, computed, makeObservable } from 'mobx';
4
5
 
5
6
  import { TableState } from '../..';
6
7
 
@@ -1,12 +1,15 @@
1
- import { useEffect, FC } from 'react';
1
+ import type { FC } from 'react';
2
+ import { useEffect } from 'react';
2
3
 
3
4
  import { provide, useDependencies } from '@servicetitan/react-ioc';
4
5
 
5
6
  import { observer } from 'mobx-react';
6
7
 
7
- import { Icon, Checkbox, CheckboxProps } from '@servicetitan/design-system';
8
+ import type { CheckboxProps } from '@servicetitan/design-system';
9
+ import { Icon, Checkbox } from '@servicetitan/design-system';
8
10
 
9
- import { Table, TableColumn, TableDetailRowProps } from '../..';
11
+ import type { TableDetailRowProps } from '../..';
12
+ import { Table, TableColumn } from '../..';
10
13
 
11
14
  import { DetailTableStore } from './detail-table.store';
12
15
 
@@ -1,13 +1,14 @@
1
1
  import { injectable } from '@servicetitan/react-ioc';
2
2
 
3
- import { computed, observe, Lambda, makeObservable } from 'mobx';
3
+ import type { Lambda } from 'mobx';
4
+ import { computed, observe, makeObservable } from 'mobx';
4
5
 
5
6
  import { InMemoryDataSource, TableState } from '../..';
6
7
 
7
- import { Product } from './product';
8
+ import type { Product } from './product';
8
9
  import { products } from './products';
9
10
 
10
- import { ProductDetail } from './product-detail';
11
+ import type { ProductDetail } from './product-detail';
11
12
  import { productDetails } from './product-details';
12
13
 
13
14
  @injectable()
@@ -1,4 +1,4 @@
1
- import { ProductDetail } from './product-detail';
1
+ import type { ProductDetail } from './product-detail';
2
2
 
3
3
  export const productDetails: ProductDetail[] = [
4
4
  {
@@ -1,4 +1,5 @@
1
- import { Product, UserRole, Supplier } from './product';
1
+ import type { Product } from './product';
2
+ import { UserRole, Supplier } from './product';
2
3
 
3
4
  export const products: Product[] = [
4
5
  {
@@ -1,10 +1,12 @@
1
- import { useEffect, FC } from 'react';
1
+ import type { FC } from 'react';
2
+ import { useEffect } from 'react';
2
3
 
3
4
  import { provide, useDependencies } from '@servicetitan/react-ioc';
4
5
 
5
6
  import { Button } from '@servicetitan/design-system';
6
7
 
7
- import { Table, TableColumn, TableCellProps, TableExpandChangeEvent } from '../..';
8
+ import type { TableCellProps, TableExpandChangeEvent } from '../..';
9
+ import { Table, TableColumn } from '../..';
8
10
 
9
11
  import { MasterTableStore } from './master-table.store';
10
12
 
@@ -1,10 +1,11 @@
1
- import { FC } from 'react';
1
+ import type { FC } from 'react';
2
2
 
3
3
  import { Button, Icon, Stack } from '@servicetitan/design-system';
4
4
 
5
- import { TableCellProps, getActionCell, EditActionProps } from '../..';
5
+ import type { TableCellProps, EditActionProps } from '../..';
6
+ import { getActionCell } from '../..';
6
7
 
7
- import { Product } from './product';
8
+ import type { Product } from './product';
8
9
 
9
10
  const ViewAction: FC<TableCellProps<Product>> = ({ tableState, dataItem, tdProps }) => {
10
11
  if (!tableState) {
@@ -1,4 +1,5 @@
1
- import { Product, UserRole, Supplier } from './product';
1
+ import type { Product } from './product';
2
+ import { UserRole, Supplier } from './product';
2
3
 
3
4
  export const products: Product[] = [
4
5
  {
@@ -7,7 +7,8 @@ import { InMemoryDataSource, TableState } from '../..';
7
7
  import { setFormStateValues, FormValidators } from '@servicetitan/form';
8
8
  import { FormState, FieldState } from 'formstate';
9
9
 
10
- import { Product, UserRole, Supplier } from './product';
10
+ import type { Product } from './product';
11
+ import { UserRole, Supplier } from './product';
11
12
  import { products } from './products';
12
13
 
13
14
  @injectable()
@@ -1,4 +1,5 @@
1
- import { useMemo, cloneElement, Fragment, FC, ReactElement } from 'react';
1
+ import type { FC, ReactElement } from 'react';
2
+ import { useMemo, cloneElement, Fragment } from 'react';
2
3
 
3
4
  import { provide, useDependencies } from '@servicetitan/react-ioc';
4
5
 
@@ -6,11 +7,11 @@ import { observer } from 'mobx-react';
6
7
 
7
8
  import { Stack, ButtonGroup, Button, Tag, DatePicker } from '@servicetitan/design-system';
8
9
 
10
+ import type { TableCellProps, EditorProps } from '../..';
9
11
  import {
10
12
  Table,
11
13
  TableColumn,
12
14
  TableCell,
13
- TableCellProps,
14
15
  TextEditableCell,
15
16
  BooleanEditableCell,
16
17
  getSelectEditableCell,
@@ -20,7 +21,6 @@ import {
20
21
  multiSelectColumnMenuFilter,
21
22
  CurrencyRangeColumnMenuFilter,
22
23
  getEditableCell,
23
- EditorProps,
24
24
  } from '../..';
25
25
  import { Export } from '../../export';
26
26
 
@@ -29,7 +29,8 @@ import { TableStore } from './table.store';
29
29
  import { ActionsCell } from './actions-cell';
30
30
 
31
31
  import { NumberInput, enumToOptions, getEnumKeys } from '@servicetitan/form';
32
- import { Product, UserRole, Supplier } from './product';
32
+ import type { Product } from './product';
33
+ import { UserRole, Supplier } from './product';
33
34
 
34
35
  const UserRoleColumnMenuFilter = multiSelectColumnMenuFilter(getEnumKeys(UserRole), userRole => (
35
36
  <Tag compact color={UserRole[userRole] === UserRole.Owner ? 'success' : 'default'}>
@@ -2,7 +2,7 @@ import { injectable } from '@servicetitan/react-ioc';
2
2
 
3
3
  import { InMemoryDataSource, TableState } from '../..';
4
4
 
5
- import { Product } from '../overview/product';
5
+ import type { Product } from '../overview/product';
6
6
  import { products } from '../overview/products';
7
7
 
8
8
  @injectable()
@@ -1,11 +1,12 @@
1
1
  import { Stack } from '@servicetitan/design-system';
2
2
  import { provide, useDependencies } from '@servicetitan/react-ioc';
3
3
  import { observer } from 'mobx-react';
4
- import { FC } from 'react';
4
+ import type { FC } from 'react';
5
5
 
6
- import { Table, TableColumn, TableDetailRowProps, useRowExpandColumn } from '../..';
6
+ import type { TableDetailRowProps } from '../..';
7
+ import { Table, TableColumn, useRowExpandColumn } from '../..';
7
8
 
8
- import { Product } from '../overview/product';
9
+ import type { Product } from '../overview/product';
9
10
  import { RowDetailsTableStore } from './row-details-table.store';
10
11
 
11
12
  const DetailsRow: FC<TableDetailRowProps> = ({ dataItem }) => {
@@ -1,4 +1,4 @@
1
- import { Product } from './product';
1
+ import type { Product } from './product';
2
2
 
3
3
  export const beverages: Product[] = [
4
4
  {
@@ -1,4 +1,4 @@
1
- import { Product } from './product';
1
+ import type { Product } from './product';
2
2
 
3
3
  export const products: Product[] = [
4
4
  {
@@ -3,8 +3,8 @@ import { InMemoryDataSource, TableState } from '../..';
3
3
 
4
4
  import { products } from './products';
5
5
  import { beverages } from './beverages';
6
- import { Product } from './product';
7
- import { TableStateModel } from '../../table-state';
6
+ import type { Product } from './product';
7
+ import type { TableStateModel } from '../../table-state';
8
8
 
9
9
  @injectable()
10
10
  export class TableStore {
@@ -1,4 +1,5 @@
1
- import { Fragment, FC } from 'react';
1
+ import type { FC } from 'react';
2
+ import { Fragment } from 'react';
2
3
  import { provide, useDependencies } from '@servicetitan/react-ioc';
3
4
  import { observer } from 'mobx-react';
4
5
  import { ButtonGroup, Button } from '@servicetitan/design-system';
@@ -1,6 +1,8 @@
1
1
  import { Button } from '@servicetitan/design-system';
2
- import { FC, SyntheticEvent, useCallback, useMemo } from 'react';
3
- import { TableCellProps, TableColumn } from '../index';
2
+ import type { FC, SyntheticEvent } from 'react';
3
+ import { useCallback, useMemo } from 'react';
4
+ import type { TableCellProps } from '../index';
5
+ import { TableColumn } from '../index';
4
6
 
5
7
  export const RowExpandCell: FC<TableCellProps> = ({
6
8
  dataItem,
@@ -1,9 +1,10 @@
1
- import { FC } from 'react';
1
+ import type { FC } from 'react';
2
2
  import { observer } from 'mobx-react';
3
3
 
4
4
  import { Checkbox } from '@servicetitan/design-system';
5
5
 
6
- import { getEditableCell, EditorProps } from './get-editable-cell';
6
+ import type { EditorProps } from './get-editable-cell';
7
+ import { getEditableCell } from './get-editable-cell';
7
8
 
8
9
  const Editor = observer<FC<EditorProps<boolean>>>(
9
10
  ({ fieldState: { value, onChange }, className, tdProps }) => {
@@ -1,9 +1,9 @@
1
- import { ComponentType } from 'react';
1
+ import type { ComponentType } from 'react';
2
2
 
3
3
  import { TableCell } from '@servicetitan/design-system';
4
- import { TableCellProps } from '../table';
4
+ import type { TableCellProps } from '../table';
5
5
 
6
- import { PossibleFormState } from '../table-state';
6
+ import type { PossibleFormState } from '../table-state';
7
7
 
8
8
  export interface EditActionProps<T> extends TableCellProps<T> {
9
9
  formState: PossibleFormState<T>;
@@ -1,10 +1,10 @@
1
- import { ComponentType } from 'react';
1
+ import type { ComponentType } from 'react';
2
2
 
3
- import { FieldState } from 'formstate';
3
+ import type { FieldState } from 'formstate';
4
4
 
5
5
  import { TableCell } from '@servicetitan/design-system';
6
- import { TableCellProps } from '../table';
7
- import { PossibleFormState } from '../table-state';
6
+ import type { TableCellProps } from '../table';
7
+ import type { PossibleFormState } from '../table-state';
8
8
 
9
9
  export interface EditorProps<T, TRow = unknown> extends TableCellProps<any> {
10
10
  fieldState: FieldState<T>;
@@ -1,13 +1,15 @@
1
- import { ComponentType, FC } from 'react';
1
+ import type { ComponentType, FC } from 'react';
2
2
 
3
3
  import { observer } from 'mobx-react';
4
4
 
5
- import { DropDownList, DropDownListChangeEvent } from '@progress/kendo-react-dropdowns';
5
+ import type { DropDownListChangeEvent } from '@progress/kendo-react-dropdowns';
6
+ import { DropDownList } from '@progress/kendo-react-dropdowns';
6
7
 
7
- import { TableCellProps } from '../table';
8
- import { getEditableCell, EditorProps } from './get-editable-cell';
8
+ import type { TableCellProps } from '../table';
9
+ import type { EditorProps } from './get-editable-cell';
10
+ import { getEditableCell } from './get-editable-cell';
9
11
 
10
- import { Option } from '@servicetitan/form';
12
+ import type { Option } from '@servicetitan/form';
11
13
 
12
14
  import classNames from 'classnames';
13
15
 
@@ -1,10 +1,12 @@
1
- import { FC } from 'react';
1
+ import type { FC } from 'react';
2
2
 
3
3
  import { observer } from 'mobx-react';
4
4
 
5
- import { Input, InputChangeEvent } from '@progress/kendo-react-inputs';
5
+ import type { InputChangeEvent } from '@progress/kendo-react-inputs';
6
+ import { Input } from '@progress/kendo-react-inputs';
6
7
 
7
- import { getEditableCell, EditorProps } from './get-editable-cell';
8
+ import type { EditorProps } from './get-editable-cell';
9
+ import { getEditableCell } from './get-editable-cell';
8
10
 
9
11
  import { Label } from '@servicetitan/form';
10
12
 
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
1
+ import type { FC } from 'react';
2
2
  import { Button, Dropdown, Icon } from '@servicetitan/design-system';
3
3
  import { formatNumber } from 'accounting';
4
4
 
@@ -1,19 +1,12 @@
1
- import { Component, SyntheticEvent, ReactNode, Fragment, KeyboardEvent, FC } from 'react';
1
+ import type { SyntheticEvent, ReactNode, KeyboardEvent, FC } from 'react';
2
+ import { Component, Fragment } from 'react';
2
3
 
3
- import {
4
- Checkbox,
5
- TableFilterCellProps,
6
- Radio,
7
- Input,
8
- Spinner,
9
- BodyText,
10
- } from '@servicetitan/design-system';
11
- import { IdType } from '@servicetitan/data-query';
4
+ import type { TableFilterCellProps } from '@servicetitan/design-system';
5
+ import { Checkbox, Radio, Input, Spinner, BodyText } from '@servicetitan/design-system';
6
+ import type { IdType } from '@servicetitan/data-query';
12
7
 
13
- import {
14
- CustomColumnMenuFilterSingleOpts,
15
- renderCustomColumnMenuFilter,
16
- } from '../column-menu-filters';
8
+ import type { CustomColumnMenuFilterSingleOpts } from '../column-menu-filters';
9
+ import { renderCustomColumnMenuFilter } from '../column-menu-filters';
17
10
  import { makeObservable, observable, runInAction } from 'mobx';
18
11
  import { observer } from 'mobx-react';
19
12
 
@@ -1,10 +1,7 @@
1
- import { ComponentType, CSSProperties, FC } from 'react';
2
- import {
3
- TableColumnMenuFilter,
4
- TableColumnMenuProps,
5
- TableFilterCellProps,
6
- } from '@servicetitan/design-system';
7
- import { TableColumnMenuFilterUIProps } from '..';
1
+ import type { ComponentType, CSSProperties, FC } from 'react';
2
+ import type { TableColumnMenuProps, TableFilterCellProps } from '@servicetitan/design-system';
3
+ import { TableColumnMenuFilter } from '@servicetitan/design-system';
4
+ import type { TableColumnMenuFilterUIProps } from '..';
8
5
  import { DropDownList } from '@progress/kendo-react-dropdowns';
9
6
 
10
7
  export const StandardColumnMenuFilter = (props: TableColumnMenuProps) => (
@@ -3,13 +3,13 @@ import { Component, Fragment } from 'react';
3
3
  import { observer } from 'mobx-react';
4
4
  import { observable, action, makeObservable } from 'mobx';
5
5
 
6
- import { DropDownList, DropDownListChangeEvent } from '@progress/kendo-react-dropdowns';
7
- import {
8
- DatePicker,
6
+ import type { DropDownListChangeEvent } from '@progress/kendo-react-dropdowns';
7
+ import { DropDownList } from '@progress/kendo-react-dropdowns';
8
+ import type {
9
9
  DatePickerChangeEvent,
10
- TimePicker,
11
10
  TimePickerChangeEvent,
12
11
  } from '@progress/kendo-react-dateinputs';
12
+ import { DatePicker, TimePicker } from '@progress/kendo-react-dateinputs';
13
13
 
14
14
  import {
15
15
  IsUnaryFilter,
@@ -1,13 +1,15 @@
1
1
  import type { TableFilterCellProps } from '@servicetitan/design-system';
2
2
  import { Checkbox } from '@servicetitan/design-system';
3
- import { Component, Fragment, FormEvent } from 'react';
3
+ import type { FormEvent } from 'react';
4
+ import { Component, Fragment } from 'react';
4
5
 
5
6
  import { observer } from 'mobx-react';
6
7
  import { observable, computed, runInAction, action, makeObservable } from 'mobx';
7
8
 
8
- import { Input, InputChangeEvent } from '@progress/kendo-react-inputs';
9
+ import type { InputChangeEvent } from '@progress/kendo-react-inputs';
10
+ import { Input } from '@progress/kendo-react-inputs';
9
11
 
10
- import { DataSource, IdType } from '@servicetitan/data-query';
12
+ import type { DataSource, IdType } from '@servicetitan/data-query';
11
13
  import { TableState } from '../table-state';
12
14
  import { renderCustomColumnMenuFilter } from './column-menu-filters';
13
15
 
@@ -1,11 +1,11 @@
1
- import { Component, SyntheticEvent, ReactNode, FC } from 'react';
1
+ import type { SyntheticEvent, ReactNode, FC } from 'react';
2
+ import { Component } from 'react';
2
3
 
3
- import { TableFilterCellProps, Checkbox } from '@servicetitan/design-system';
4
+ import type { TableFilterCellProps } from '@servicetitan/design-system';
5
+ import { Checkbox } from '@servicetitan/design-system';
4
6
 
5
- import {
6
- CustomColumnMenuFilterSingleOpts,
7
- renderCustomColumnMenuFilter,
8
- } from '../column-menu-filters';
7
+ import type { CustomColumnMenuFilterSingleOpts } from '../column-menu-filters';
8
+ import { renderCustomColumnMenuFilter } from '../column-menu-filters';
9
9
 
10
10
  interface SelectorProps<T> {
11
11
  options: T[];
@@ -1,9 +1,11 @@
1
- import { FC, SyntheticEvent } from 'react';
1
+ import type { FC, SyntheticEvent } from 'react';
2
2
 
3
- import { NumericTextBox, NumericTextBoxChangeEvent } from '@progress/kendo-react-inputs';
4
- import { DropDownList, DropDownListChangeEvent } from '@progress/kendo-react-dropdowns';
3
+ import type { NumericTextBoxChangeEvent } from '@progress/kendo-react-inputs';
4
+ import { NumericTextBox } from '@progress/kendo-react-inputs';
5
+ import type { DropDownListChangeEvent } from '@progress/kendo-react-dropdowns';
6
+ import { DropDownList } from '@progress/kendo-react-dropdowns';
5
7
 
6
- import { GridColumnMenuFilterCellProps as TableColumnMenuFilterCellProps } from '@progress/kendo-react-grid/dist/npm/columnMenu/GridColumnMenuFilterCell';
8
+ import type { GridColumnMenuFilterCellProps as TableColumnMenuFilterCellProps } from '@progress/kendo-react-grid/dist/npm/columnMenu/GridColumnMenuFilterCell';
7
9
  import {
8
10
  IsUnaryFilter,
9
11
  cellOperatorChange,