@servicetitan/navigation 11.0.0-canary.237.c90556e.0 → 11.0.0-canary.237.f92c882.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 (280) hide show
  1. package/dist/components/badge-tag.d.ts +12 -0
  2. package/dist/components/badge-tag.d.ts.map +1 -0
  3. package/dist/components/badge-tag.js +8 -0
  4. package/dist/components/badge-tag.js.map +1 -0
  5. package/dist/components/counter-tag.d.ts +12 -0
  6. package/dist/components/counter-tag.d.ts.map +1 -0
  7. package/dist/components/counter-tag.js +8 -0
  8. package/dist/components/counter-tag.js.map +1 -0
  9. package/dist/components/header-navigation/header-navigation-content.d.ts +30 -0
  10. package/dist/components/header-navigation/header-navigation-content.d.ts.map +1 -0
  11. package/dist/components/header-navigation/header-navigation-content.js +22 -0
  12. package/dist/components/header-navigation/header-navigation-content.js.map +1 -0
  13. package/dist/components/header-navigation/header-navigation-extra-stacked.stories.d.ts +9 -0
  14. package/dist/components/header-navigation/header-navigation-extra-stacked.stories.d.ts.map +1 -0
  15. package/dist/components/header-navigation/header-navigation-extra-stacked.stories.js +13 -0
  16. package/dist/components/header-navigation/header-navigation-extra-stacked.stories.js.map +1 -0
  17. package/dist/components/header-navigation/header-navigation-extra.stories.d.ts +12 -0
  18. package/dist/components/header-navigation/header-navigation-extra.stories.d.ts.map +1 -0
  19. package/dist/components/header-navigation/header-navigation-extra.stories.js +29 -0
  20. package/dist/components/header-navigation/header-navigation-extra.stories.js.map +1 -0
  21. package/dist/components/header-navigation/header-navigation-links.d.ts +11 -0
  22. package/dist/components/header-navigation/header-navigation-links.d.ts.map +1 -0
  23. package/dist/components/header-navigation/header-navigation-links.js +26 -0
  24. package/dist/components/header-navigation/header-navigation-links.js.map +1 -0
  25. package/dist/components/header-navigation/header-navigation-stacked.stories.d.ts +12 -0
  26. package/dist/components/header-navigation/header-navigation-stacked.stories.d.ts.map +1 -0
  27. package/dist/components/header-navigation/header-navigation-stacked.stories.js +50 -0
  28. package/dist/components/header-navigation/header-navigation-stacked.stories.js.map +1 -0
  29. package/dist/components/header-navigation/header-navigation-stories.module.less +6 -0
  30. package/dist/components/header-navigation/header-navigation.d.ts +59 -0
  31. package/dist/components/header-navigation/header-navigation.d.ts.map +1 -0
  32. package/dist/components/header-navigation/header-navigation.js +96 -0
  33. package/dist/components/header-navigation/header-navigation.js.map +1 -0
  34. package/dist/components/header-navigation/header-navigation.module.less +260 -0
  35. package/dist/components/header-navigation/header-navigation.stories.d.ts +12 -0
  36. package/dist/components/header-navigation/header-navigation.stories.d.ts.map +1 -0
  37. package/dist/components/header-navigation/header-navigation.stories.js +54 -0
  38. package/dist/components/header-navigation/header-navigation.stories.js.map +1 -0
  39. package/dist/components/header-navigation/index.d.ts +2 -0
  40. package/dist/components/header-navigation/index.d.ts.map +1 -0
  41. package/dist/components/header-navigation/index.js +2 -0
  42. package/dist/components/header-navigation/index.js.map +1 -0
  43. package/dist/components/header-navigation/with-tooltip.d.ts +4 -0
  44. package/dist/components/header-navigation/with-tooltip.d.ts.map +1 -0
  45. package/dist/components/header-navigation/with-tooltip.js +4 -0
  46. package/dist/components/header-navigation/with-tooltip.js.map +1 -0
  47. package/dist/components/layout.stories.d.ts +13 -0
  48. package/dist/components/layout.stories.d.ts.map +1 -0
  49. package/dist/components/layout.stories.js +29 -0
  50. package/dist/components/layout.stories.js.map +1 -0
  51. package/dist/components/left-navigation/header-navigation-extra-tiny.stories.d.ts +9 -0
  52. package/dist/components/left-navigation/header-navigation-extra-tiny.stories.d.ts.map +1 -0
  53. package/dist/components/left-navigation/header-navigation-extra-tiny.stories.js +13 -0
  54. package/dist/components/left-navigation/header-navigation-extra-tiny.stories.js.map +1 -0
  55. package/dist/components/left-navigation/header-navigation-tiny-links.d.ts +18 -0
  56. package/dist/components/left-navigation/header-navigation-tiny-links.d.ts.map +1 -0
  57. package/dist/components/left-navigation/header-navigation-tiny-links.js +32 -0
  58. package/dist/components/left-navigation/header-navigation-tiny-links.js.map +1 -0
  59. package/dist/components/left-navigation/header-navigation-tiny.d.ts +23 -0
  60. package/dist/components/left-navigation/header-navigation-tiny.d.ts.map +1 -0
  61. package/dist/components/left-navigation/header-navigation-tiny.js +7 -0
  62. package/dist/components/left-navigation/header-navigation-tiny.js.map +1 -0
  63. package/dist/components/left-navigation/header-navigation-tiny.module.less +117 -0
  64. package/dist/components/left-navigation/header-navigation-tiny.stories.d.ts +12 -0
  65. package/dist/components/left-navigation/header-navigation-tiny.stories.d.ts.map +1 -0
  66. package/dist/components/left-navigation/header-navigation-tiny.stories.js +30 -0
  67. package/dist/components/left-navigation/header-navigation-tiny.stories.js.map +1 -0
  68. package/dist/components/left-navigation/index.d.ts +5 -0
  69. package/dist/components/left-navigation/index.d.ts.map +1 -0
  70. package/dist/components/left-navigation/index.js +5 -0
  71. package/dist/components/left-navigation/index.js.map +1 -0
  72. package/dist/components/left-navigation/interface-internal.d.ts +10 -0
  73. package/dist/components/left-navigation/interface-internal.d.ts.map +1 -0
  74. package/dist/components/left-navigation/interface-internal.js +2 -0
  75. package/dist/components/left-navigation/interface-internal.js.map +1 -0
  76. package/dist/components/left-navigation/interface.d.ts +20 -0
  77. package/dist/components/left-navigation/interface.d.ts.map +1 -0
  78. package/dist/components/left-navigation/interface.js +2 -0
  79. package/dist/components/left-navigation/interface.js.map +1 -0
  80. package/dist/components/left-navigation/side-navigation-context.d.ts +8 -0
  81. package/dist/components/left-navigation/side-navigation-context.d.ts.map +1 -0
  82. package/dist/components/left-navigation/side-navigation-context.js +7 -0
  83. package/dist/components/left-navigation/side-navigation-context.js.map +1 -0
  84. package/dist/components/left-navigation/side-navigation-links-internal.d.ts +28 -0
  85. package/dist/components/left-navigation/side-navigation-links-internal.d.ts.map +1 -0
  86. package/dist/components/left-navigation/side-navigation-links-internal.js +29 -0
  87. package/dist/components/left-navigation/side-navigation-links-internal.js.map +1 -0
  88. package/dist/components/left-navigation/side-navigation-links.d.ts +6 -0
  89. package/dist/components/left-navigation/side-navigation-links.d.ts.map +1 -0
  90. package/dist/components/left-navigation/side-navigation-links.js +27 -0
  91. package/dist/components/left-navigation/side-navigation-links.js.map +1 -0
  92. package/dist/components/left-navigation/side-navigation.d.ts +29 -0
  93. package/dist/components/left-navigation/side-navigation.d.ts.map +1 -0
  94. package/dist/components/left-navigation/side-navigation.js +182 -0
  95. package/dist/components/left-navigation/side-navigation.js.map +1 -0
  96. package/dist/components/left-navigation/side-navigation.module.less +530 -0
  97. package/dist/components/left-navigation/side-navigation.stories.d.ts +17 -0
  98. package/dist/components/left-navigation/side-navigation.stories.d.ts.map +1 -0
  99. package/dist/components/left-navigation/side-navigation.stories.js +115 -0
  100. package/dist/components/left-navigation/side-navigation.stories.js.map +1 -0
  101. package/dist/components/left-navigation/with-tooltip.d.ts +4 -0
  102. package/dist/components/left-navigation/with-tooltip.d.ts.map +1 -0
  103. package/dist/components/left-navigation/with-tooltip.js +4 -0
  104. package/dist/components/left-navigation/with-tooltip.js.map +1 -0
  105. package/dist/components/links.d.ts +5 -0
  106. package/dist/components/links.d.ts.map +1 -0
  107. package/dist/components/links.js +14 -0
  108. package/dist/components/links.js.map +1 -0
  109. package/dist/components/logo/logo-company-title.d.ts +8 -0
  110. package/dist/components/logo/logo-company-title.d.ts.map +1 -0
  111. package/dist/components/logo/logo-company-title.js +6 -0
  112. package/dist/components/logo/logo-company-title.js.map +1 -0
  113. package/dist/components/logo/logo-titan-text.d.ts +29 -0
  114. package/dist/components/logo/logo-titan-text.d.ts.map +1 -0
  115. package/dist/components/logo/logo-titan-text.js +13 -0
  116. package/dist/components/logo/logo-titan-text.js.map +1 -0
  117. package/dist/components/logo/logo-titan-text.module.less +31 -0
  118. package/dist/components/logo/logo-titan.d.ts +9 -0
  119. package/dist/components/logo/logo-titan.d.ts.map +1 -0
  120. package/dist/components/logo/logo-titan.js +13 -0
  121. package/dist/components/logo/logo-titan.js.map +1 -0
  122. package/dist/components/logo/logo.stories.d.ts +14 -0
  123. package/dist/components/logo/logo.stories.d.ts.map +1 -0
  124. package/dist/components/logo/logo.stories.js +20 -0
  125. package/dist/components/logo/logo.stories.js.map +1 -0
  126. package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.d.ts +9 -0
  127. package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.d.ts.map +1 -0
  128. package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.js +13 -0
  129. package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.js.map +1 -0
  130. package/dist/components/profile-dropdown/profile-dropdown-tiny.stories.d.ts +9 -0
  131. package/dist/components/profile-dropdown/profile-dropdown-tiny.stories.d.ts.map +1 -0
  132. package/dist/components/profile-dropdown/profile-dropdown-tiny.stories.js +13 -0
  133. package/dist/components/profile-dropdown/profile-dropdown-tiny.stories.js.map +1 -0
  134. package/dist/components/profile-dropdown/profile-dropdown.d.ts +80 -0
  135. package/dist/components/profile-dropdown/profile-dropdown.d.ts.map +1 -0
  136. package/dist/components/profile-dropdown/profile-dropdown.js +85 -0
  137. package/dist/components/profile-dropdown/profile-dropdown.js.map +1 -0
  138. package/dist/components/profile-dropdown/profile-dropdown.module.less +171 -0
  139. package/dist/components/profile-dropdown/profile-dropdown.stories.d.ts +16 -0
  140. package/dist/components/profile-dropdown/profile-dropdown.stories.d.ts.map +1 -0
  141. package/dist/components/profile-dropdown/profile-dropdown.stories.js +51 -0
  142. package/dist/components/profile-dropdown/profile-dropdown.stories.js.map +1 -0
  143. package/dist/components/profile-dropdown/profile-icon.d.ts +3 -0
  144. package/dist/components/profile-dropdown/profile-icon.d.ts.map +1 -0
  145. package/dist/components/profile-dropdown/profile-icon.js +5 -0
  146. package/dist/components/profile-dropdown/profile-icon.js.map +1 -0
  147. package/dist/components/titan-layout/index.d.ts +6 -0
  148. package/dist/components/titan-layout/index.d.ts.map +1 -0
  149. package/dist/components/titan-layout/index.js +6 -0
  150. package/dist/components/titan-layout/index.js.map +1 -0
  151. package/dist/components/titan-layout/interface-internal.d.ts +6 -0
  152. package/dist/components/titan-layout/interface-internal.d.ts.map +1 -0
  153. package/dist/components/titan-layout/interface-internal.js +2 -0
  154. package/dist/components/titan-layout/interface-internal.js.map +1 -0
  155. package/dist/components/titan-layout/interface.d.ts +21 -0
  156. package/dist/components/titan-layout/interface.d.ts.map +1 -0
  157. package/dist/components/titan-layout/interface.js +2 -0
  158. package/dist/components/titan-layout/interface.js.map +1 -0
  159. package/dist/components/titan-layout/layout-context.d.ts +20 -0
  160. package/dist/components/titan-layout/layout-context.d.ts.map +1 -0
  161. package/dist/components/titan-layout/layout-context.js +12 -0
  162. package/dist/components/titan-layout/layout-context.js.map +1 -0
  163. package/dist/components/titan-layout/layout-header-links.d.ts +7 -0
  164. package/dist/components/titan-layout/layout-header-links.d.ts.map +1 -0
  165. package/dist/components/titan-layout/layout-header-links.js +32 -0
  166. package/dist/components/titan-layout/layout-header-links.js.map +1 -0
  167. package/dist/components/titan-layout/layout-header.d.ts +22 -0
  168. package/dist/components/titan-layout/layout-header.d.ts.map +1 -0
  169. package/dist/components/titan-layout/layout-header.js +10 -0
  170. package/dist/components/titan-layout/layout-header.js.map +1 -0
  171. package/dist/components/titan-layout/layout-header.module.less +196 -0
  172. package/dist/components/titan-layout/layout-logo.d.ts +12 -0
  173. package/dist/components/titan-layout/layout-logo.d.ts.map +1 -0
  174. package/dist/components/titan-layout/layout-logo.js +15 -0
  175. package/dist/components/titan-layout/layout-logo.js.map +1 -0
  176. package/dist/components/titan-layout/layout-logo.stories.d.ts +13 -0
  177. package/dist/components/titan-layout/layout-logo.stories.d.ts.map +1 -0
  178. package/dist/components/titan-layout/layout-logo.stories.js +17 -0
  179. package/dist/components/titan-layout/layout-logo.stories.js.map +1 -0
  180. package/dist/components/titan-layout/layout-profile.d.ts +9 -0
  181. package/dist/components/titan-layout/layout-profile.d.ts.map +1 -0
  182. package/dist/components/titan-layout/layout-profile.js +68 -0
  183. package/dist/components/titan-layout/layout-profile.js.map +1 -0
  184. package/dist/components/titan-layout/layout-profile.stories.d.ts +13 -0
  185. package/dist/components/titan-layout/layout-profile.stories.d.ts.map +1 -0
  186. package/dist/components/titan-layout/layout-profile.stories.js +13 -0
  187. package/dist/components/titan-layout/layout-profile.stories.js.map +1 -0
  188. package/dist/components/titan-layout/layout-sidebar-links-internal.d.ts +46 -0
  189. package/dist/components/titan-layout/layout-sidebar-links-internal.d.ts.map +1 -0
  190. package/dist/components/titan-layout/layout-sidebar-links-internal.js +61 -0
  191. package/dist/components/titan-layout/layout-sidebar-links-internal.js.map +1 -0
  192. package/dist/components/titan-layout/layout-sidebar-links.d.ts +6 -0
  193. package/dist/components/titan-layout/layout-sidebar-links.d.ts.map +1 -0
  194. package/dist/components/titan-layout/layout-sidebar-links.js +28 -0
  195. package/dist/components/titan-layout/layout-sidebar-links.js.map +1 -0
  196. package/dist/components/titan-layout/layout-sidebar.d.ts +19 -0
  197. package/dist/components/titan-layout/layout-sidebar.d.ts.map +1 -0
  198. package/dist/components/titan-layout/layout-sidebar.js +67 -0
  199. package/dist/components/titan-layout/layout-sidebar.js.map +1 -0
  200. package/dist/components/titan-layout/layout-sidebar.module.less +529 -0
  201. package/dist/components/titan-layout/notifications-context.d.ts +13 -0
  202. package/dist/components/titan-layout/notifications-context.d.ts.map +1 -0
  203. package/dist/components/titan-layout/notifications-context.js +23 -0
  204. package/dist/components/titan-layout/notifications-context.js.map +1 -0
  205. package/dist/components/titan-layout/titan-layout.d.ts +38 -0
  206. package/dist/components/titan-layout/titan-layout.d.ts.map +1 -0
  207. package/dist/components/titan-layout/titan-layout.js +139 -0
  208. package/dist/components/titan-layout/titan-layout.js.map +1 -0
  209. package/dist/components/titan-layout/titan-layout.module.less +103 -0
  210. package/dist/components/titan-layout/titan-layout.stories.d.ts +21 -0
  211. package/dist/components/titan-layout/titan-layout.stories.d.ts.map +1 -0
  212. package/dist/components/titan-layout/titan-layout.stories.js +82 -0
  213. package/dist/components/titan-layout/titan-layout.stories.js.map +1 -0
  214. package/dist/components/titan-layout/with-tooltip.d.ts +4 -0
  215. package/dist/components/titan-layout/with-tooltip.d.ts.map +1 -0
  216. package/dist/components/titan-layout/with-tooltip.js +4 -0
  217. package/dist/components/titan-layout/with-tooltip.js.map +1 -0
  218. package/dist/index.d.ts +13 -0
  219. package/dist/index.d.ts.map +1 -0
  220. package/dist/index.js +13 -0
  221. package/dist/index.js.map +1 -0
  222. package/dist/test/data-stories.module.less +8 -0
  223. package/dist/test/data.d.ts +35 -0
  224. package/dist/test/data.d.ts.map +1 -0
  225. package/dist/test/data.js +243 -0
  226. package/dist/test/data.js.map +1 -0
  227. package/dist/utils/counter-tag.d.ts +5 -0
  228. package/dist/utils/counter-tag.d.ts.map +1 -0
  229. package/dist/utils/counter-tag.js +2 -0
  230. package/dist/utils/counter-tag.js.map +1 -0
  231. package/dist/utils/navigation-context.d.ts +27 -0
  232. package/dist/utils/navigation-context.d.ts.map +1 -0
  233. package/dist/utils/navigation-context.js +10 -0
  234. package/dist/utils/navigation-context.js.map +1 -0
  235. package/dist/utils/navigation-legacy.d.ts +88 -0
  236. package/dist/utils/navigation-legacy.d.ts.map +1 -0
  237. package/dist/utils/navigation-legacy.js +2 -0
  238. package/dist/utils/navigation-legacy.js.map +1 -0
  239. package/dist/utils/navigation.d.ts +48 -0
  240. package/dist/utils/navigation.d.ts.map +1 -0
  241. package/dist/utils/navigation.js +2 -0
  242. package/dist/utils/navigation.js.map +1 -0
  243. package/dist/utils/side-nav.d.ts +6 -0
  244. package/dist/utils/side-nav.d.ts.map +1 -0
  245. package/dist/utils/side-nav.js +28 -0
  246. package/dist/utils/side-nav.js.map +1 -0
  247. package/dist/utils/use-breakpoint.d.ts +7 -0
  248. package/dist/utils/use-breakpoint.d.ts.map +1 -0
  249. package/dist/utils/use-breakpoint.js +13 -0
  250. package/dist/utils/use-breakpoint.js.map +1 -0
  251. package/package.json +3 -4
  252. package/src/components/badge-tag.tsx +1 -1
  253. package/src/components/header-navigation/header-navigation-stacked.stories.tsx +1 -1
  254. package/src/components/header-navigation/header-navigation-stories.module.less.d.ts +3 -0
  255. package/src/components/header-navigation/header-navigation.module.less.d.ts +22 -0
  256. package/src/components/header-navigation/header-navigation.stories.tsx +1 -1
  257. package/src/components/left-navigation/header-navigation-tiny.module.less.d.ts +15 -0
  258. package/src/components/left-navigation/header-navigation-tiny.stories.tsx +2 -2
  259. package/src/components/left-navigation/side-navigation-links.tsx +1 -1
  260. package/src/components/left-navigation/side-navigation.module.less.d.ts +48 -0
  261. package/src/components/logo/logo-titan-text.module.less.d.ts +6 -0
  262. package/src/components/profile-dropdown/profile-dropdown.module.less.d.ts +21 -0
  263. package/src/components/profile-dropdown/profile-dropdown.tsx +13 -6
  264. package/src/components/titan-layout/layout-header.module.less +58 -15
  265. package/src/components/titan-layout/layout-header.module.less.d.ts +16 -0
  266. package/src/components/titan-layout/layout-header.tsx +12 -5
  267. package/src/components/titan-layout/layout-profile.stories.tsx +10 -1
  268. package/src/components/titan-layout/layout-profile.tsx +60 -25
  269. package/src/components/titan-layout/layout-sidebar-links-internal.tsx +18 -5
  270. package/src/components/titan-layout/layout-sidebar-links.tsx +17 -5
  271. package/src/components/titan-layout/layout-sidebar.module.less +20 -19
  272. package/src/components/titan-layout/layout-sidebar.module.less.d.ts +49 -0
  273. package/src/components/titan-layout/layout-sidebar.tsx +15 -9
  274. package/src/components/titan-layout/notifications-context.tsx +44 -0
  275. package/src/components/titan-layout/titan-layout.module.less +66 -16
  276. package/src/components/titan-layout/titan-layout.module.less.d.ts +15 -0
  277. package/src/components/titan-layout/titan-layout.stories.tsx +161 -18
  278. package/src/components/titan-layout/titan-layout.tsx +146 -58
  279. package/src/test/data-stories.module.less.d.ts +3 -0
  280. package/src/test/data.tsx +2 -3
@@ -0,0 +1,243 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { AnvilProvider } from '@servicetitan/anvil2';
3
+ import SvgPhone from '@servicetitan/anvil2/assets/icons/material/round/phone_disabled.svg';
4
+ import SvgPhoneActive from '@servicetitan/anvil2/assets/icons/material/round/phone_enabled.svg';
5
+ import SvgAccountingActive from '@servicetitan/anvil2/assets/icons/st/gnav_accounting_active.svg';
6
+ import SvgAccounting from '@servicetitan/anvil2/assets/icons/st/gnav_accounting_inactive.svg';
7
+ import SvgCallsActive from '@servicetitan/anvil2/assets/icons/st/gnav_calls_active.svg';
8
+ import SvgCalls from '@servicetitan/anvil2/assets/icons/st/gnav_calls_inactive.svg';
9
+ import SvgDashboardActive from '@servicetitan/anvil2/assets/icons/st/gnav_dashboard_active.svg';
10
+ import SvgDashboard from '@servicetitan/anvil2/assets/icons/st/gnav_dashboard_inactive.svg';
11
+ import SvgDispatchActive from '@servicetitan/anvil2/assets/icons/st/gnav_dispatch_active.svg';
12
+ import SvgDispatch from '@servicetitan/anvil2/assets/icons/st/gnav_dispatch_inactive.svg';
13
+ import SvgFleetProActive from '@servicetitan/anvil2/assets/icons/st/gnav_fleet_pro_active.svg';
14
+ import SvgFleetPro from '@servicetitan/anvil2/assets/icons/st/gnav_fleet_pro_inactive.svg';
15
+ import SvgFollowUpActive from '@servicetitan/anvil2/assets/icons/st/gnav_follow_up_active.svg';
16
+ import SvgFollowUp from '@servicetitan/anvil2/assets/icons/st/gnav_follow_up_inactive.svg';
17
+ import SvgInventoryActive from '@servicetitan/anvil2/assets/icons/st/gnav_inventory_active.svg';
18
+ import SvgInventory from '@servicetitan/anvil2/assets/icons/st/gnav_inventory_inactive.svg';
19
+ import SvgMarketingActive from '@servicetitan/anvil2/assets/icons/st/gnav_marketing_active.svg';
20
+ import SvgMarketing from '@servicetitan/anvil2/assets/icons/st/gnav_marketing_inactive.svg';
21
+ import SvgPosActive from '@servicetitan/anvil2/assets/icons/st/gnav_pos_active.svg';
22
+ import SvgPos from '@servicetitan/anvil2/assets/icons/st/gnav_pos_inactive.svg';
23
+ import SvgPriceBookActive from '@servicetitan/anvil2/assets/icons/st/gnav_pricebook_active.svg';
24
+ import SvgPriceBook from '@servicetitan/anvil2/assets/icons/st/gnav_pricebook_inactive.svg';
25
+ import SvgProjectsActive from '@servicetitan/anvil2/assets/icons/st/gnav_projects_active.svg';
26
+ import SvgProjects from '@servicetitan/anvil2/assets/icons/st/gnav_projects_inactive.svg';
27
+ import SvgReportsActive from '@servicetitan/anvil2/assets/icons/st/gnav_reports_active.svg';
28
+ import SvgReports from '@servicetitan/anvil2/assets/icons/st/gnav_reports_inactive.svg';
29
+ import SvgScheduleActive from '@servicetitan/anvil2/assets/icons/st/gnav_schedule_active.svg';
30
+ import SvgSchedule from '@servicetitan/anvil2/assets/icons/st/gnav_schedule_inactive.svg';
31
+ import SvgTasksActive from '@servicetitan/anvil2/assets/icons/st/gnav_tasks_active.svg';
32
+ import SvgTasks from '@servicetitan/anvil2/assets/icons/st/gnav_tasks_inactive.svg';
33
+ import { BodyText, Popover } from '@servicetitan/design-system';
34
+ import classNames from 'classnames';
35
+ import { Fragment, forwardRef, useMemo, useState } from 'react';
36
+ // needed only for storybook and added in root dependencies
37
+ // eslint-disable-next-line import/no-extraneous-dependencies
38
+ import { MemoryRouter, Redirect, Switch, matchPath, useHistory, useLocation, } from 'react-router-dom';
39
+ import { HeaderNavigationTrigger } from '../components/links';
40
+ import { NavigationComponentContext, NavigationLocationContext, } from '../utils/navigation-context';
41
+ import * as Styles from './data-stories.module.less';
42
+ export const NavLinkMock = forwardRef(({ to, children, activeClassName, className, isActive, ...rest }, ref) => {
43
+ const history = useHistory();
44
+ const location = useLocation();
45
+ const linkActive = location.pathname.startsWith(to);
46
+ return (_jsx("a", { ...rest, onClick: e => {
47
+ e.preventDefault();
48
+ if (!to.startsWith('http')) {
49
+ history.replace(to);
50
+ }
51
+ }, className: classNames(className, linkActive ? activeClassName : ''), href: to, ref: ref, children: children }));
52
+ });
53
+ export const LocationInfo = ({ className }) => {
54
+ const location = useLocation();
55
+ return _jsxs(BodyText, { className: className, children: ["current location - ", location.pathname] });
56
+ };
57
+ const LocationProvider = ({ children }) => {
58
+ const location = useLocation();
59
+ const context = useMemo(() => ({
60
+ location: { pathname: location.pathname },
61
+ isLinkActive: (location, item) => !!matchPath(location.pathname, item.to),
62
+ }), [location.pathname]);
63
+ return (_jsx(NavigationLocationContext.Provider, { value: context, children: children }));
64
+ };
65
+ export const withMemoryRouter = (Story) => (_jsx(MemoryRouter, { children: _jsx(NavigationComponentContext.Provider, { value: NavLinkMock, children: _jsx(LocationProvider, { children: _jsx(Story, {}) }) }) }));
66
+ export const withAnvil = (Story) => (_jsx(AnvilProvider, { className: Styles.fixIcons, children: _jsx(Story, {}) }));
67
+ export const InventoryIcon = () => (_jsxs("svg", { width: "20", xmlns: "http://www.w3.org/2000/svg", viewBox: "-293 385 24 24", fill: "currentColor", children: [_jsx("polyline", { points: "-288,400.9 -282,404.3 -282,397.6 -288,394.2 -288,400.9 " }), _jsx("path", { d: "M-272,401.5c0,0.4-0.2,0.7-0.5,0.9l-7.9,4.4c-0.2,0.1-0.4,0.2-0.6,0.2s-0.4-0.1-0.6-0.2l-7.9-4.4c-0.3-0.2-0.5-0.5-0.5-0.9v-9c0-0.4,0.2-0.7,0.5-0.9l7.9-4.4c0.2-0.1,0.4-0.2,0.6-0.2s0.4,0.1,0.6,0.2l7.9,4.4c0.3,0.2,0.5,0.5,0.5,0.9V401.5 M-287,392.5 l6,3.4l5.9-3.3l-5.9-3.4L-287,392.5 M-274,400.9v-6.7l-6,3.4v6.7L-274,400.9z" })] }));
68
+ export const SearchIcon = () => (_jsx("svg", { width: "1em", height: "1em", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("g", { transform: "translate(0,4)", children: _jsx("path", { d: "M0 15.7992V13.9992H12V15.7992H0ZM0 9.49922V7.69922H6V9.49922H0ZM0 3.19922V1.39922H6V3.19922H0ZM22.74 15.7992L17.94 10.9992C17.42 11.3992 16.86 11.6992 16.26 11.8992C15.66 12.0992 15.04 12.1992 14.4 12.1992C12.74 12.1992 11.325 11.6142 10.155 10.4442C8.985 9.27422 8.4 7.85922 8.4 6.19922C8.4 4.53922 8.985 3.12422 10.155 1.95422C11.325 0.784219 12.74 0.199219 14.4 0.199219C16.06 0.199219 17.475 0.784219 18.645 1.95422C19.815 3.12422 20.4 4.53922 20.4 6.19922C20.4 6.83922 20.3 7.45922 20.1 8.05922C19.9 8.65922 19.6 9.21922 19.2 9.73922L24 14.5392L22.74 15.7992ZM14.393 10.3992C15.5577 10.3992 16.55 9.99157 17.37 9.17627C18.19 8.36099 18.6 7.37099 18.6 6.20627C18.6 5.04157 18.1923 4.04922 17.377 3.22922C16.5618 2.40922 15.5718 1.99922 14.407 1.99922C13.2423 1.99922 12.25 2.40687 11.43 3.22217C10.61 4.03745 10.2 5.02745 10.2 6.19217C10.2 7.35687 10.6077 8.34922 11.423 9.16922C12.2382 9.98922 13.2282 10.3992 14.393 10.3992Z", fill: "white" }) }) }));
69
+ const getItem = (id, data) => ({
70
+ id,
71
+ to: '/' + id,
72
+ title: id[0].toUpperCase() + id.substring(1),
73
+ hint: id,
74
+ icon: undefined,
75
+ iconActive: undefined,
76
+ ...data,
77
+ submenu: data.submenu
78
+ ? {
79
+ ...data.submenu,
80
+ groups: data.submenu.groups.map(group => ({
81
+ ...group,
82
+ links: group.links.map(link => ({
83
+ ...link,
84
+ to: `/${id}/${link.to}`,
85
+ })),
86
+ })),
87
+ }
88
+ : undefined,
89
+ });
90
+ const getSubItem = (id, data) => ({
91
+ id,
92
+ to: id,
93
+ title: id[0].toUpperCase() + id.substring(1),
94
+ ...data,
95
+ });
96
+ const getGroup = (title, links) => ({
97
+ title,
98
+ links,
99
+ });
100
+ export const items = {
101
+ calendar: getItem('calendar', {
102
+ iconName: 'event',
103
+ icon: SvgSchedule,
104
+ iconActive: SvgScheduleActive,
105
+ }),
106
+ schedule: getItem('schedule', {
107
+ iconName: 'event',
108
+ icon: SvgSchedule,
109
+ iconActive: SvgScheduleActive,
110
+ }),
111
+ calls: getItem('calls', {
112
+ iconName: 'local_phone',
113
+ icon: SvgCalls,
114
+ iconActive: SvgCallsActive,
115
+ counter: 1234,
116
+ }),
117
+ dashboard: getItem('dashboard', {
118
+ iconName: 'odometer',
119
+ icon: SvgDashboard,
120
+ iconActive: SvgDashboardActive,
121
+ }),
122
+ dispatch: getItem('dispatch', {
123
+ iconName: 'location_disabled',
124
+ icon: SvgDispatch,
125
+ iconActive: SvgDispatchActive,
126
+ tag: { value: 3 },
127
+ }),
128
+ fleet: getItem('fleet', {
129
+ iconName: 'fleet-pro',
130
+ icon: SvgFleetPro,
131
+ iconActive: SvgFleetProActive,
132
+ title: 'Fleet Pro',
133
+ }),
134
+ followUps: getItem('followUps', {
135
+ iconName: 'flag',
136
+ icon: SvgFollowUp,
137
+ iconActive: SvgFollowUpActive,
138
+ title: 'Follow Up',
139
+ }),
140
+ followUpsWithSubmenu: getItem('followUps', {
141
+ iconName: 'flag',
142
+ icon: SvgFollowUp,
143
+ iconActive: SvgFollowUpActive,
144
+ title: 'Follow Up',
145
+ submenu: {
146
+ groups: [
147
+ getGroup('', [
148
+ getSubItem('estimates', { title: 'Unsold Estimates' }),
149
+ getSubItem('sold', { title: 'Sold Estimates' }),
150
+ getSubItem('surveys', { title: 'Surveys' }),
151
+ ]),
152
+ ],
153
+ },
154
+ }),
155
+ inventory: getItem('inventory', {
156
+ iconName: 'toys',
157
+ icon: SvgInventory,
158
+ iconActive: SvgInventoryActive,
159
+ }),
160
+ purchasing: getItem('purchasing', { iconComponent: InventoryIcon }),
161
+ purchasingWithSubmenu: getItem('purchasing', {
162
+ iconName: 'toys',
163
+ icon: SvgInventory,
164
+ iconActive: SvgInventoryActive,
165
+ counter: true,
166
+ submenu: {
167
+ groups: [
168
+ getGroup('Purchase', [
169
+ getSubItem('repl', { title: 'Replenishment' }),
170
+ getSubItem('orders', { title: 'Purchase Orders' }),
171
+ getSubItem('receipts', { title: 'Receipts' }),
172
+ getSubItem('returns', { title: 'Returns' }),
173
+ ]),
174
+ ],
175
+ },
176
+ }),
177
+ accounting: getItem('accounting', {
178
+ iconName: 'assignment',
179
+ icon: SvgAccounting,
180
+ iconActive: SvgAccountingActive,
181
+ counter: true,
182
+ }),
183
+ accountingWithSubmenu: getItem('accounting', {
184
+ iconName: 'assignment',
185
+ icon: SvgAccounting,
186
+ iconActive: SvgAccountingActive,
187
+ counter: 1,
188
+ submenu: {
189
+ groups: [
190
+ getGroup('Accounts Receivable', [
191
+ getSubItem('export', {
192
+ title: 'Batch/Export Transactions',
193
+ counter: true,
194
+ }),
195
+ getSubItem('ar', { title: 'AR Management' }),
196
+ getSubItem('invoices', { title: 'Invoices', counter: 3 }),
197
+ getSubItem('payments', { title: 'Customer Payments', counter: 2 }),
198
+ getSubItem('deposits', { title: 'Bank Deposits' }),
199
+ ]),
200
+ getGroup('Accounts Payable', [getSubItem('bills', { title: 'Bills' })]),
201
+ getGroup('Financing', [getSubItem('dashboard', { title: 'Dashboard' })]),
202
+ getGroup('Others', [getSubItem('at', { title: 'Accounting Audit Trail' })]),
203
+ ],
204
+ },
205
+ }),
206
+ marketing: getItem('marketing', {
207
+ iconName: 'bullhorn',
208
+ icon: SvgMarketing,
209
+ iconActive: SvgMarketingActive,
210
+ }),
211
+ priceBook: getItem('pricebook', {
212
+ iconName: 'book',
213
+ icon: SvgPriceBook,
214
+ iconActive: SvgPriceBookActive,
215
+ }),
216
+ pointOfSale: getItem('pointOfSale', {
217
+ iconName: 'cash-register',
218
+ icon: SvgPos,
219
+ iconActive: SvgPosActive,
220
+ title: 'Point Of Sale',
221
+ }),
222
+ projects: getItem('projects', {
223
+ iconName: 'folder_special',
224
+ icon: SvgProjects,
225
+ iconActive: SvgProjectsActive,
226
+ }),
227
+ reports: getItem('reports', {
228
+ iconName: 'folder_special',
229
+ icon: SvgReports,
230
+ iconActive: SvgReportsActive,
231
+ }),
232
+ tasks: getItem('tasks', {
233
+ iconName: 'format_list_bulleted',
234
+ icon: SvgTasks,
235
+ iconActive: SvgTasksActive,
236
+ }),
237
+ };
238
+ export const CallsNavigationTrigger = () => {
239
+ const [open, setOpen] = useState(false);
240
+ return (_jsx(Popover, { open: open, onClickOutside: () => setOpen(false), direction: "bl", trigger: _jsx(HeaderNavigationTrigger, { id: "dialpad", iconName: "phone", counter: 2, title: "Calls", icon: SvgPhone, iconActive: SvgPhoneActive, onClick: () => setOpen(!open), isActive: open }), children: "calls content" }));
241
+ };
242
+ export const withDefaultRedirects = (Story) => (_jsxs(Fragment, { children: [_jsxs(Switch, { children: [_jsx(Redirect, { from: "/accounting", exact: true, to: "/accounting/export" }), _jsx(Redirect, { from: "/purchasing", exact: true, to: "/purchasing/repl" }), _jsx(Redirect, { from: "/followUps", exact: true, to: "/followUps/sold" })] }), _jsx(Story, {})] }));
243
+ //# sourceMappingURL=data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/test/data.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export type CounterTagValue = boolean | number;
2
+ export interface CounterTagData {
3
+ value: CounterTagValue;
4
+ }
5
+ //# sourceMappingURL=counter-tag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"counter-tag.d.ts","sourceRoot":"","sources":["../../src/utils/counter-tag.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,eAAe,CAAC;CAC1B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=counter-tag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"counter-tag.js","sourceRoot":"","sources":["../../src/utils/counter-tag.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ import { FC, HTMLAttributeAnchorTarget, ReactNode } from 'react';
2
+ import { NavigationLinkData } from './navigation';
3
+ export interface NavLinkComponentPropsStrict {
4
+ to: string;
5
+ title?: string;
6
+ className?: string;
7
+ activeClassName?: string;
8
+ children: ReactNode;
9
+ isActive?: (pathname: string) => boolean;
10
+ target?: HTMLAttributeAnchorTarget;
11
+ }
12
+ export interface NavLinkComponentProps extends NavLinkComponentPropsStrict {
13
+ [key: string]: any;
14
+ }
15
+ export declare const DefaultNavLinkComponent: FC<NavLinkComponentProps>;
16
+ export interface NavigationLocationInfo {
17
+ pathname: string;
18
+ }
19
+ export type NavigationActiveLinkMatcher = (location: NavigationLocationInfo, link: NavigationLinkData) => boolean;
20
+ export interface NavigationLocationContextType {
21
+ location: NavigationLocationInfo;
22
+ isLinkActive: NavigationActiveLinkMatcher;
23
+ }
24
+ export declare const NavigationComponentContext: import("react").Context<FC<NavLinkComponentProps>>;
25
+ export declare const NavigationLegacyContext: import("react").Context<boolean>;
26
+ export declare const NavigationLocationContext: import("react").Context<NavigationLocationContextType>;
27
+ //# sourceMappingURL=navigation-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-context.d.ts","sourceRoot":"","sources":["../../src/utils/navigation-context.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,yBAAyB,EAAE,SAAS,EAAiB,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,WAAW,2BAA2B;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IACzC,MAAM,CAAC,EAAE,yBAAyB,CAAC;CACtC;AAED,MAAM,WAAW,qBAAsB,SAAQ,2BAA2B;IACtE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,eAAO,MAAM,uBAAuB,EAAE,EAAE,CAAC,qBAAqB,CAK5B,CAAC;AAEnC,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,2BAA2B,GAAG,CACtC,QAAQ,EAAE,sBAAsB,EAChC,IAAI,EAAE,kBAAkB,KACvB,OAAO,CAAC;AAEb,MAAM,WAAW,6BAA6B;IAC1C,QAAQ,EAAE,sBAAsB,CAAC;IACjC,YAAY,EAAE,2BAA2B,CAAC;CAC7C;AAED,eAAO,MAAM,0BAA0B,oDAC8B,CAAC;AACtE,eAAO,MAAM,uBAAuB,kCAAuB,CAAC;AAC5D,eAAO,MAAM,yBAAyB,wDAGpC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext } from 'react';
3
+ export const DefaultNavLinkComponent = ({ children, activeClassName, isActive, ...props }) => _jsx("a", { ...props, children: children });
4
+ export const NavigationComponentContext = createContext(DefaultNavLinkComponent);
5
+ export const NavigationLegacyContext = createContext(false);
6
+ export const NavigationLocationContext = createContext({
7
+ location: { pathname: '' },
8
+ isLinkActive: () => false,
9
+ });
10
+ //# sourceMappingURL=navigation-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-context.js","sourceRoot":"","sources":["../../src/utils/navigation-context.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA4C,aAAa,EAAE,MAAM,OAAO,CAAC;AAiBhF,MAAM,CAAC,MAAM,uBAAuB,GAA8B,CAAC,EAC/D,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,GAAG,KAAK,EACX,EAAE,EAAE,CAAC,eAAO,KAAK,YAAG,QAAQ,GAAK,CAAC;AAgBnC,MAAM,CAAC,MAAM,0BAA0B,GACnC,aAAa,CAA4B,uBAAuB,CAAC,CAAC;AACtE,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AAC5D,MAAM,CAAC,MAAM,yBAAyB,GAAG,aAAa,CAAgC;IAClF,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC1B,YAAY,EAAE,GAAG,EAAE,CAAC,KAAK;CAC5B,CAAC,CAAC"}
@@ -0,0 +1,88 @@
1
+ import { IconProps } from '@servicetitan/anvil2';
2
+ import { IconPropsStrict } from '@servicetitan/design-system';
3
+ import { FC, HTMLAttributeAnchorTarget } from 'react';
4
+ import { CounterTagData, CounterTagValue } from './counter-tag';
5
+ import { NavigationSubmenuData } from './navigation';
6
+ export interface HeaderNavigationItemData extends HeaderNavigationItemLinkProps {
7
+ /** link description */
8
+ hint: string;
9
+ /** flag if the link is not shown (based on FG and/or user permissions) */
10
+ isHidden?: boolean;
11
+ /** custom className (can be used for mdi icons) */
12
+ iconClassName?: string;
13
+ /** anvil's icon name of item */
14
+ iconName?: IconPropsStrict['name'];
15
+ /** svg icon (anvil2) of inactive item */
16
+ icon: IconProps['svg'] | undefined;
17
+ /** svg icon (anvil2) of active item */
18
+ iconActive: IconProps['svg'] | undefined;
19
+ /** icon component of item (<svg />) */
20
+ iconComponent?: FC;
21
+ /** item tag (optional). shown if it is set and true or greater than 0 */
22
+ counter?: CounterTagValue;
23
+ tag?: CounterTagData;
24
+ /** class name of link item */
25
+ className?: string;
26
+ /** optional submenu of link item */
27
+ submenu?: NavigationSubmenuData;
28
+ }
29
+ export interface HeaderNavigationItemLinkProps {
30
+ /** link id */
31
+ id: string;
32
+ /** link href */
33
+ to: string;
34
+ /** link title */
35
+ title: string;
36
+ /** callback to return active state. By default, it compares link href with current pathname */
37
+ isActive?: boolean | ((pathname: string) => boolean);
38
+ }
39
+ export interface HeaderNavigationTriggerPropsStrict {
40
+ /** unique identifier */
41
+ id: string;
42
+ /** item title (used for mobile) */
43
+ title: string;
44
+ /** tooltip text */
45
+ tooltip?: string;
46
+ /** item description */
47
+ hint?: string;
48
+ /** container class name */
49
+ className?: string;
50
+ /** item label */
51
+ label?: string;
52
+ /** label class name */
53
+ labelClassName?: string;
54
+ /** isActive */
55
+ isActive?: boolean;
56
+ /** counter value shown for item */
57
+ counter?: CounterTagValue;
58
+ tag?: CounterTagData;
59
+ /** counter component class name */
60
+ counterClassName?: string;
61
+ /** icon component class name */
62
+ iconClassName?: string;
63
+ /** IconComponent custom icon component */
64
+ iconComponent?: FC;
65
+ /** iconName name of anvil icon */
66
+ iconName?: IconPropsStrict['name'];
67
+ /** svg icon (anvil2) of inactive item */
68
+ icon: IconProps['svg'] | undefined;
69
+ /** svg icon (anvil2) of active item */
70
+ iconActive?: IconProps['svg'];
71
+ }
72
+ export interface HeaderNavigationTriggerProps extends HeaderNavigationTriggerPropsStrict {
73
+ /** unstrict props */
74
+ [key: string]: any;
75
+ }
76
+ export interface HeaderNavigationLinkPropsStrict extends Omit<HeaderNavigationTriggerPropsStrict, 'isActive'> {
77
+ /** link href */
78
+ to: string;
79
+ /** isActive */
80
+ isActive?: boolean | ((pathname: string) => boolean);
81
+ /** link html target */
82
+ target?: HTMLAttributeAnchorTarget;
83
+ }
84
+ export interface HeaderNavigationLinkProps extends HeaderNavigationLinkPropsStrict {
85
+ /** unstrict props */
86
+ [key: string]: any;
87
+ }
88
+ //# sourceMappingURL=navigation-legacy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-legacy.d.ts","sourceRoot":"","sources":["../../src/utils/navigation-legacy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=navigation-legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-legacy.js","sourceRoot":"","sources":["../../src/utils/navigation-legacy.ts"],"names":[],"mappings":""}
@@ -0,0 +1,48 @@
1
+ import { IconProps } from '@servicetitan/anvil2';
2
+ import { FC } from 'react';
3
+ import { CounterTagData, CounterTagValue } from './counter-tag';
4
+ export interface NavigationItemData extends NavigationLinkData {
5
+ /** flag if the link is not shown (based on FG and/or user permissions) */
6
+ isHidden?: boolean;
7
+ /** custom className (can be used for mdi icons) */
8
+ iconClassName?: string;
9
+ /** svg icon (anvil2) of inactive item */
10
+ icon: IconProps['svg'] | undefined;
11
+ /** svg icon (anvil2) of active item */
12
+ iconActive: IconProps['svg'] | undefined;
13
+ /** icon component of item (<svg />) */
14
+ iconComponent?: FC;
15
+ /** item tag (optional). shown if it is set and true or greater than 0 */
16
+ counter?: CounterTagValue;
17
+ tag?: CounterTagData;
18
+ /** class name of link item */
19
+ className?: string;
20
+ /** optional submenu of link item */
21
+ submenu?: NavigationSubmenuData;
22
+ }
23
+ export interface NavigationLinkData {
24
+ /** link id */
25
+ id: string;
26
+ /** link href */
27
+ to: string;
28
+ /** link title */
29
+ title: string;
30
+ /** callback to return active state. By default, it compares link href with current pathname */
31
+ isActive?: boolean | ((pathname: string) => boolean);
32
+ }
33
+ export interface NavigationSubmenuData {
34
+ /** submenu groups */
35
+ groups: NavigationSubmenuGroupData[];
36
+ }
37
+ export interface NavigationSubmenuItemData extends NavigationLinkData {
38
+ /** item tag (optional) value. shown if it is set and true or greater than 0 */
39
+ counter?: CounterTagValue;
40
+ tag?: CounterTagData;
41
+ }
42
+ export interface NavigationSubmenuGroupData {
43
+ /** submenu group title */
44
+ title: string;
45
+ /** submenu group links */
46
+ links: NavigationSubmenuItemData[];
47
+ }
48
+ //# sourceMappingURL=navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/utils/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhE,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;IAC1D,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,mDAAmD;IACnD,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,yCAAyC;IACzC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IAEnC,uCAAuC;IACvC,UAAU,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IAEzC,uCAAuC;IACvC,aAAa,CAAC,EAAE,EAAE,CAAC;IAEnB,yEAAyE;IACzE,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,GAAG,CAAC,EAAE,cAAc,CAAC;IAErB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,oCAAoC;IACpC,OAAO,CAAC,EAAE,qBAAqB,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IAC/B,cAAc;IACd,EAAE,EAAE,MAAM,CAAC;IAEX,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IAEX,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IAEd,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,qBAAqB;IAClC,qBAAqB;IACrB,MAAM,EAAE,0BAA0B,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,yBAA0B,SAAQ,kBAAkB;IACjE,+EAA+E;IAC/E,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,GAAG,CAAC,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,0BAA0B;IACvC,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAC;IAEd,0BAA0B;IAC1B,KAAK,EAAE,yBAAyB,EAAE,CAAC;CACtC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/utils/navigation.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { CounterTagProps } from '../components/counter-tag';
2
+ import { CounterTagData, CounterTagValue } from './counter-tag';
3
+ import { NavigationSubmenuData } from './navigation';
4
+ export declare function getSubmenuGroupTag(submenu: NavigationSubmenuData | undefined, defaultTag: CounterTagProps | undefined): CounterTagProps | undefined;
5
+ export declare const getCounterTag: (counter: CounterTagValue | undefined, tag?: CounterTagData) => CounterTagProps | undefined;
6
+ //# sourceMappingURL=side-nav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-nav.d.ts","sourceRoot":"","sources":["../../src/utils/side-nav.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,wBAAgB,kBAAkB,CAC9B,OAAO,EAAE,qBAAqB,GAAG,SAAS,EAC1C,UAAU,EAAE,eAAe,GAAG,SAAS,GACxC,eAAe,GAAG,SAAS,CAyB7B;AAED,eAAO,MAAM,aAAa,GACtB,SAAS,eAAe,GAAG,SAAS,EACpC,MAAM,cAAc,KACrB,eAAe,GAAG,SAIpB,CAAC"}
@@ -0,0 +1,28 @@
1
+ export function getSubmenuGroupTag(submenu, defaultTag) {
2
+ if (!submenu) {
3
+ return defaultTag;
4
+ }
5
+ let tagValue = undefined;
6
+ for (const group of submenu.groups) {
7
+ for (const link of group.links) {
8
+ const ltv = link.counter;
9
+ if (ltv) {
10
+ if (typeof ltv === 'number') {
11
+ if (typeof tagValue !== 'number') {
12
+ tagValue = 0;
13
+ }
14
+ tagValue += ltv;
15
+ }
16
+ else if (typeof tagValue !== 'number') {
17
+ tagValue = true;
18
+ }
19
+ }
20
+ }
21
+ }
22
+ return tagValue ? getCounterTag(tagValue) : defaultTag;
23
+ }
24
+ export const getCounterTag = (counter, tag) => {
25
+ const value = counter !== null && counter !== void 0 ? counter : tag === null || tag === void 0 ? void 0 : tag.value;
26
+ return value ? { value, className: '' } : undefined;
27
+ };
28
+ //# sourceMappingURL=side-nav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"side-nav.js","sourceRoot":"","sources":["../../src/utils/side-nav.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,kBAAkB,CAC9B,OAA0C,EAC1C,UAAuC;IAEvC,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,IAAI,QAAQ,GAAiC,SAAS,CAAC;IAEvD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAiC,IAAI,CAAC,OAAO,CAAC;YAEvD,IAAI,GAAG,EAAE,CAAC;gBACN,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC1B,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;wBAC/B,QAAQ,GAAG,CAAC,CAAC;oBACjB,CAAC;oBACD,QAAQ,IAAI,GAAG,CAAC;gBACpB,CAAC;qBAAM,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;oBACtC,QAAQ,GAAG,IAAI,CAAC;gBACpB,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CACzB,OAAoC,EACpC,GAAoB,EACO,EAAE;IAC7B,MAAM,KAAK,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,CAAC;IAEpC,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACxD,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { BreakpointReturnProps } from '@servicetitan/anvil2';
2
+ export interface TitanBreakpoint {
3
+ name: BreakpointReturnProps['name'];
4
+ isMobile: boolean;
5
+ }
6
+ export declare const useTitanBreakpoint: () => TitanBreakpoint;
7
+ //# sourceMappingURL=use-breakpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-breakpoint.d.ts","sourceRoot":"","sources":["../../src/utils/use-breakpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAiB,MAAM,sBAAsB,CAAC;AAG5E,MAAM,WAAW,eAAe;IAC5B,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACpC,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,eAAO,MAAM,kBAAkB,QAAO,eAUrC,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { useBreakpoint } from '@servicetitan/anvil2';
2
+ import { useMemo } from 'react';
3
+ export const useTitanBreakpoint = () => {
4
+ const breakpoint = useBreakpoint();
5
+ return useMemo(() => {
6
+ var _a;
7
+ return ({
8
+ name: (_a = breakpoint === null || breakpoint === void 0 ? void 0 : breakpoint.name) !== null && _a !== void 0 ? _a : 'xl',
9
+ isMobile: breakpoint ? breakpoint.innerWidth <= 768 : false,
10
+ });
11
+ }, [breakpoint]);
12
+ };
13
+ //# sourceMappingURL=use-breakpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-breakpoint.js","sourceRoot":"","sources":["../../src/utils/use-breakpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAOhC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAoB,EAAE;IACpD,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,OAAO,OAAO,CACV,GAAG,EAAE;;QAAC,OAAA,CAAC;YACH,IAAI,EAAE,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,mCAAI,IAAI;YAC9B,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK;SAC9D,CAAC,CAAA;KAAA,EACF,CAAC,UAAU,CAAC,CACf,CAAC;AACN,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/navigation",
3
- "version": "11.0.0-canary.237.c90556e.0",
3
+ "version": "11.0.0-canary.237.f92c882.0",
4
4
  "description": "Navigation components",
5
5
  "repository": {
6
6
  "type": "git",
@@ -28,10 +28,9 @@
28
28
  "devDependencies": {
29
29
  "@servicetitan/anvil2": "~1.47.1",
30
30
  "@servicetitan/design-system": "~14.5.1",
31
- "@servicetitan/react-ioc": "^30.2.1",
31
+ "@servicetitan/react-ioc": "^30.3.1",
32
32
  "@servicetitan/tokens": ">=12.1.11",
33
33
  "@testing-library/react": "^16.2.0",
34
- "@types/react": "~18.2.55",
35
34
  "mobx": "~6.10.2",
36
35
  "mobx-react": "~9.0.2",
37
36
  "react": "~18.2.0"
@@ -43,5 +42,5 @@
43
42
  "less": true,
44
43
  "webpack": false
45
44
  },
46
- "gitHead": "c90556efce26d8adfa0d10bc4117a1d639f84c2e"
45
+ "gitHead": "f92c8826ed4ddf2172324957fa5dcf5d1cd48963"
47
46
  }
@@ -5,7 +5,7 @@ import { CounterTagData } from '../utils/counter-tag';
5
5
 
6
6
  export interface BadgeTagProps extends CounterTagData {
7
7
  [key: string]: any;
8
- className: string;
8
+ className?: string;
9
9
  }
10
10
 
11
11
  export const BadgeTag: FC<{
@@ -130,7 +130,7 @@ export const WithAllMonolithData = () => (
130
130
  Task Management
131
131
  </ProfileDropdown.Link>
132
132
  <ProfileDropdown.Divider />
133
- <ProfileDropdown.Link id="sign-out" to="https://googgle.com">
133
+ <ProfileDropdown.Link id="sign-out" to="https://googgle.com" text="Sign Out">
134
134
  Sign Out{' '}
135
135
  <span className="c-neutral-100 m-l-half t-truncate">James Bond</span>
136
136
  </ProfileDropdown.Link>
@@ -0,0 +1,3 @@
1
+ export const __esModule: true;
2
+ export const rocketIcon: string;
3
+