@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.
- package/dist/components/badge-tag.d.ts +12 -0
- package/dist/components/badge-tag.d.ts.map +1 -0
- package/dist/components/badge-tag.js +8 -0
- package/dist/components/badge-tag.js.map +1 -0
- package/dist/components/counter-tag.d.ts +12 -0
- package/dist/components/counter-tag.d.ts.map +1 -0
- package/dist/components/counter-tag.js +8 -0
- package/dist/components/counter-tag.js.map +1 -0
- package/dist/components/header-navigation/header-navigation-content.d.ts +30 -0
- package/dist/components/header-navigation/header-navigation-content.d.ts.map +1 -0
- package/dist/components/header-navigation/header-navigation-content.js +22 -0
- package/dist/components/header-navigation/header-navigation-content.js.map +1 -0
- package/dist/components/header-navigation/header-navigation-extra-stacked.stories.d.ts +9 -0
- package/dist/components/header-navigation/header-navigation-extra-stacked.stories.d.ts.map +1 -0
- package/dist/components/header-navigation/header-navigation-extra-stacked.stories.js +13 -0
- package/dist/components/header-navigation/header-navigation-extra-stacked.stories.js.map +1 -0
- package/dist/components/header-navigation/header-navigation-extra.stories.d.ts +12 -0
- package/dist/components/header-navigation/header-navigation-extra.stories.d.ts.map +1 -0
- package/dist/components/header-navigation/header-navigation-extra.stories.js +29 -0
- package/dist/components/header-navigation/header-navigation-extra.stories.js.map +1 -0
- package/dist/components/header-navigation/header-navigation-links.d.ts +11 -0
- package/dist/components/header-navigation/header-navigation-links.d.ts.map +1 -0
- package/dist/components/header-navigation/header-navigation-links.js +26 -0
- package/dist/components/header-navigation/header-navigation-links.js.map +1 -0
- package/dist/components/header-navigation/header-navigation-stacked.stories.d.ts +12 -0
- package/dist/components/header-navigation/header-navigation-stacked.stories.d.ts.map +1 -0
- package/dist/components/header-navigation/header-navigation-stacked.stories.js +50 -0
- package/dist/components/header-navigation/header-navigation-stacked.stories.js.map +1 -0
- package/dist/components/header-navigation/header-navigation-stories.module.less +6 -0
- package/dist/components/header-navigation/header-navigation.d.ts +59 -0
- package/dist/components/header-navigation/header-navigation.d.ts.map +1 -0
- package/dist/components/header-navigation/header-navigation.js +96 -0
- package/dist/components/header-navigation/header-navigation.js.map +1 -0
- package/dist/components/header-navigation/header-navigation.module.less +260 -0
- package/dist/components/header-navigation/header-navigation.stories.d.ts +12 -0
- package/dist/components/header-navigation/header-navigation.stories.d.ts.map +1 -0
- package/dist/components/header-navigation/header-navigation.stories.js +54 -0
- package/dist/components/header-navigation/header-navigation.stories.js.map +1 -0
- package/dist/components/header-navigation/index.d.ts +2 -0
- package/dist/components/header-navigation/index.d.ts.map +1 -0
- package/dist/components/header-navigation/index.js +2 -0
- package/dist/components/header-navigation/index.js.map +1 -0
- package/dist/components/header-navigation/with-tooltip.d.ts +4 -0
- package/dist/components/header-navigation/with-tooltip.d.ts.map +1 -0
- package/dist/components/header-navigation/with-tooltip.js +4 -0
- package/dist/components/header-navigation/with-tooltip.js.map +1 -0
- package/dist/components/layout.stories.d.ts +13 -0
- package/dist/components/layout.stories.d.ts.map +1 -0
- package/dist/components/layout.stories.js +29 -0
- package/dist/components/layout.stories.js.map +1 -0
- package/dist/components/left-navigation/header-navigation-extra-tiny.stories.d.ts +9 -0
- package/dist/components/left-navigation/header-navigation-extra-tiny.stories.d.ts.map +1 -0
- package/dist/components/left-navigation/header-navigation-extra-tiny.stories.js +13 -0
- package/dist/components/left-navigation/header-navigation-extra-tiny.stories.js.map +1 -0
- package/dist/components/left-navigation/header-navigation-tiny-links.d.ts +18 -0
- package/dist/components/left-navigation/header-navigation-tiny-links.d.ts.map +1 -0
- package/dist/components/left-navigation/header-navigation-tiny-links.js +32 -0
- package/dist/components/left-navigation/header-navigation-tiny-links.js.map +1 -0
- package/dist/components/left-navigation/header-navigation-tiny.d.ts +23 -0
- package/dist/components/left-navigation/header-navigation-tiny.d.ts.map +1 -0
- package/dist/components/left-navigation/header-navigation-tiny.js +7 -0
- package/dist/components/left-navigation/header-navigation-tiny.js.map +1 -0
- package/dist/components/left-navigation/header-navigation-tiny.module.less +117 -0
- package/dist/components/left-navigation/header-navigation-tiny.stories.d.ts +12 -0
- package/dist/components/left-navigation/header-navigation-tiny.stories.d.ts.map +1 -0
- package/dist/components/left-navigation/header-navigation-tiny.stories.js +30 -0
- package/dist/components/left-navigation/header-navigation-tiny.stories.js.map +1 -0
- package/dist/components/left-navigation/index.d.ts +5 -0
- package/dist/components/left-navigation/index.d.ts.map +1 -0
- package/dist/components/left-navigation/index.js +5 -0
- package/dist/components/left-navigation/index.js.map +1 -0
- package/dist/components/left-navigation/interface-internal.d.ts +10 -0
- package/dist/components/left-navigation/interface-internal.d.ts.map +1 -0
- package/dist/components/left-navigation/interface-internal.js +2 -0
- package/dist/components/left-navigation/interface-internal.js.map +1 -0
- package/dist/components/left-navigation/interface.d.ts +20 -0
- package/dist/components/left-navigation/interface.d.ts.map +1 -0
- package/dist/components/left-navigation/interface.js +2 -0
- package/dist/components/left-navigation/interface.js.map +1 -0
- package/dist/components/left-navigation/side-navigation-context.d.ts +8 -0
- package/dist/components/left-navigation/side-navigation-context.d.ts.map +1 -0
- package/dist/components/left-navigation/side-navigation-context.js +7 -0
- package/dist/components/left-navigation/side-navigation-context.js.map +1 -0
- package/dist/components/left-navigation/side-navigation-links-internal.d.ts +28 -0
- package/dist/components/left-navigation/side-navigation-links-internal.d.ts.map +1 -0
- package/dist/components/left-navigation/side-navigation-links-internal.js +29 -0
- package/dist/components/left-navigation/side-navigation-links-internal.js.map +1 -0
- package/dist/components/left-navigation/side-navigation-links.d.ts +6 -0
- package/dist/components/left-navigation/side-navigation-links.d.ts.map +1 -0
- package/dist/components/left-navigation/side-navigation-links.js +27 -0
- package/dist/components/left-navigation/side-navigation-links.js.map +1 -0
- package/dist/components/left-navigation/side-navigation.d.ts +29 -0
- package/dist/components/left-navigation/side-navigation.d.ts.map +1 -0
- package/dist/components/left-navigation/side-navigation.js +182 -0
- package/dist/components/left-navigation/side-navigation.js.map +1 -0
- package/dist/components/left-navigation/side-navigation.module.less +530 -0
- package/dist/components/left-navigation/side-navigation.stories.d.ts +17 -0
- package/dist/components/left-navigation/side-navigation.stories.d.ts.map +1 -0
- package/dist/components/left-navigation/side-navigation.stories.js +115 -0
- package/dist/components/left-navigation/side-navigation.stories.js.map +1 -0
- package/dist/components/left-navigation/with-tooltip.d.ts +4 -0
- package/dist/components/left-navigation/with-tooltip.d.ts.map +1 -0
- package/dist/components/left-navigation/with-tooltip.js +4 -0
- package/dist/components/left-navigation/with-tooltip.js.map +1 -0
- package/dist/components/links.d.ts +5 -0
- package/dist/components/links.d.ts.map +1 -0
- package/dist/components/links.js +14 -0
- package/dist/components/links.js.map +1 -0
- package/dist/components/logo/logo-company-title.d.ts +8 -0
- package/dist/components/logo/logo-company-title.d.ts.map +1 -0
- package/dist/components/logo/logo-company-title.js +6 -0
- package/dist/components/logo/logo-company-title.js.map +1 -0
- package/dist/components/logo/logo-titan-text.d.ts +29 -0
- package/dist/components/logo/logo-titan-text.d.ts.map +1 -0
- package/dist/components/logo/logo-titan-text.js +13 -0
- package/dist/components/logo/logo-titan-text.js.map +1 -0
- package/dist/components/logo/logo-titan-text.module.less +31 -0
- package/dist/components/logo/logo-titan.d.ts +9 -0
- package/dist/components/logo/logo-titan.d.ts.map +1 -0
- package/dist/components/logo/logo-titan.js +13 -0
- package/dist/components/logo/logo-titan.js.map +1 -0
- package/dist/components/logo/logo.stories.d.ts +14 -0
- package/dist/components/logo/logo.stories.d.ts.map +1 -0
- package/dist/components/logo/logo.stories.js +20 -0
- package/dist/components/logo/logo.stories.js.map +1 -0
- package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.d.ts +9 -0
- package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.d.ts.map +1 -0
- package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.js +13 -0
- package/dist/components/profile-dropdown/profile-dropdown-stacked.stories.js.map +1 -0
- package/dist/components/profile-dropdown/profile-dropdown-tiny.stories.d.ts +9 -0
- package/dist/components/profile-dropdown/profile-dropdown-tiny.stories.d.ts.map +1 -0
- package/dist/components/profile-dropdown/profile-dropdown-tiny.stories.js +13 -0
- package/dist/components/profile-dropdown/profile-dropdown-tiny.stories.js.map +1 -0
- package/dist/components/profile-dropdown/profile-dropdown.d.ts +80 -0
- package/dist/components/profile-dropdown/profile-dropdown.d.ts.map +1 -0
- package/dist/components/profile-dropdown/profile-dropdown.js +85 -0
- package/dist/components/profile-dropdown/profile-dropdown.js.map +1 -0
- package/dist/components/profile-dropdown/profile-dropdown.module.less +171 -0
- package/dist/components/profile-dropdown/profile-dropdown.stories.d.ts +16 -0
- package/dist/components/profile-dropdown/profile-dropdown.stories.d.ts.map +1 -0
- package/dist/components/profile-dropdown/profile-dropdown.stories.js +51 -0
- package/dist/components/profile-dropdown/profile-dropdown.stories.js.map +1 -0
- package/dist/components/profile-dropdown/profile-icon.d.ts +3 -0
- package/dist/components/profile-dropdown/profile-icon.d.ts.map +1 -0
- package/dist/components/profile-dropdown/profile-icon.js +5 -0
- package/dist/components/profile-dropdown/profile-icon.js.map +1 -0
- package/dist/components/titan-layout/index.d.ts +6 -0
- package/dist/components/titan-layout/index.d.ts.map +1 -0
- package/dist/components/titan-layout/index.js +6 -0
- package/dist/components/titan-layout/index.js.map +1 -0
- package/dist/components/titan-layout/interface-internal.d.ts +6 -0
- package/dist/components/titan-layout/interface-internal.d.ts.map +1 -0
- package/dist/components/titan-layout/interface-internal.js +2 -0
- package/dist/components/titan-layout/interface-internal.js.map +1 -0
- package/dist/components/titan-layout/interface.d.ts +21 -0
- package/dist/components/titan-layout/interface.d.ts.map +1 -0
- package/dist/components/titan-layout/interface.js +2 -0
- package/dist/components/titan-layout/interface.js.map +1 -0
- package/dist/components/titan-layout/layout-context.d.ts +20 -0
- package/dist/components/titan-layout/layout-context.d.ts.map +1 -0
- package/dist/components/titan-layout/layout-context.js +12 -0
- package/dist/components/titan-layout/layout-context.js.map +1 -0
- package/dist/components/titan-layout/layout-header-links.d.ts +7 -0
- package/dist/components/titan-layout/layout-header-links.d.ts.map +1 -0
- package/dist/components/titan-layout/layout-header-links.js +32 -0
- package/dist/components/titan-layout/layout-header-links.js.map +1 -0
- package/dist/components/titan-layout/layout-header.d.ts +22 -0
- package/dist/components/titan-layout/layout-header.d.ts.map +1 -0
- package/dist/components/titan-layout/layout-header.js +10 -0
- package/dist/components/titan-layout/layout-header.js.map +1 -0
- package/dist/components/titan-layout/layout-header.module.less +196 -0
- package/dist/components/titan-layout/layout-logo.d.ts +12 -0
- package/dist/components/titan-layout/layout-logo.d.ts.map +1 -0
- package/dist/components/titan-layout/layout-logo.js +15 -0
- package/dist/components/titan-layout/layout-logo.js.map +1 -0
- package/dist/components/titan-layout/layout-logo.stories.d.ts +13 -0
- package/dist/components/titan-layout/layout-logo.stories.d.ts.map +1 -0
- package/dist/components/titan-layout/layout-logo.stories.js +17 -0
- package/dist/components/titan-layout/layout-logo.stories.js.map +1 -0
- package/dist/components/titan-layout/layout-profile.d.ts +9 -0
- package/dist/components/titan-layout/layout-profile.d.ts.map +1 -0
- package/dist/components/titan-layout/layout-profile.js +68 -0
- package/dist/components/titan-layout/layout-profile.js.map +1 -0
- package/dist/components/titan-layout/layout-profile.stories.d.ts +13 -0
- package/dist/components/titan-layout/layout-profile.stories.d.ts.map +1 -0
- package/dist/components/titan-layout/layout-profile.stories.js +13 -0
- package/dist/components/titan-layout/layout-profile.stories.js.map +1 -0
- package/dist/components/titan-layout/layout-sidebar-links-internal.d.ts +46 -0
- package/dist/components/titan-layout/layout-sidebar-links-internal.d.ts.map +1 -0
- package/dist/components/titan-layout/layout-sidebar-links-internal.js +61 -0
- package/dist/components/titan-layout/layout-sidebar-links-internal.js.map +1 -0
- package/dist/components/titan-layout/layout-sidebar-links.d.ts +6 -0
- package/dist/components/titan-layout/layout-sidebar-links.d.ts.map +1 -0
- package/dist/components/titan-layout/layout-sidebar-links.js +28 -0
- package/dist/components/titan-layout/layout-sidebar-links.js.map +1 -0
- package/dist/components/titan-layout/layout-sidebar.d.ts +19 -0
- package/dist/components/titan-layout/layout-sidebar.d.ts.map +1 -0
- package/dist/components/titan-layout/layout-sidebar.js +67 -0
- package/dist/components/titan-layout/layout-sidebar.js.map +1 -0
- package/dist/components/titan-layout/layout-sidebar.module.less +529 -0
- package/dist/components/titan-layout/notifications-context.d.ts +13 -0
- package/dist/components/titan-layout/notifications-context.d.ts.map +1 -0
- package/dist/components/titan-layout/notifications-context.js +23 -0
- package/dist/components/titan-layout/notifications-context.js.map +1 -0
- package/dist/components/titan-layout/titan-layout.d.ts +38 -0
- package/dist/components/titan-layout/titan-layout.d.ts.map +1 -0
- package/dist/components/titan-layout/titan-layout.js +139 -0
- package/dist/components/titan-layout/titan-layout.js.map +1 -0
- package/dist/components/titan-layout/titan-layout.module.less +103 -0
- package/dist/components/titan-layout/titan-layout.stories.d.ts +21 -0
- package/dist/components/titan-layout/titan-layout.stories.d.ts.map +1 -0
- package/dist/components/titan-layout/titan-layout.stories.js +82 -0
- package/dist/components/titan-layout/titan-layout.stories.js.map +1 -0
- package/dist/components/titan-layout/with-tooltip.d.ts +4 -0
- package/dist/components/titan-layout/with-tooltip.d.ts.map +1 -0
- package/dist/components/titan-layout/with-tooltip.js +4 -0
- package/dist/components/titan-layout/with-tooltip.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/test/data-stories.module.less +8 -0
- package/dist/test/data.d.ts +35 -0
- package/dist/test/data.d.ts.map +1 -0
- package/dist/test/data.js +243 -0
- package/dist/test/data.js.map +1 -0
- package/dist/utils/counter-tag.d.ts +5 -0
- package/dist/utils/counter-tag.d.ts.map +1 -0
- package/dist/utils/counter-tag.js +2 -0
- package/dist/utils/counter-tag.js.map +1 -0
- package/dist/utils/navigation-context.d.ts +27 -0
- package/dist/utils/navigation-context.d.ts.map +1 -0
- package/dist/utils/navigation-context.js +10 -0
- package/dist/utils/navigation-context.js.map +1 -0
- package/dist/utils/navigation-legacy.d.ts +88 -0
- package/dist/utils/navigation-legacy.d.ts.map +1 -0
- package/dist/utils/navigation-legacy.js +2 -0
- package/dist/utils/navigation-legacy.js.map +1 -0
- package/dist/utils/navigation.d.ts +48 -0
- package/dist/utils/navigation.d.ts.map +1 -0
- package/dist/utils/navigation.js +2 -0
- package/dist/utils/navigation.js.map +1 -0
- package/dist/utils/side-nav.d.ts +6 -0
- package/dist/utils/side-nav.d.ts.map +1 -0
- package/dist/utils/side-nav.js +28 -0
- package/dist/utils/side-nav.js.map +1 -0
- package/dist/utils/use-breakpoint.d.ts +7 -0
- package/dist/utils/use-breakpoint.d.ts.map +1 -0
- package/dist/utils/use-breakpoint.js +13 -0
- package/dist/utils/use-breakpoint.js.map +1 -0
- package/package.json +3 -4
- package/src/components/badge-tag.tsx +1 -1
- package/src/components/header-navigation/header-navigation-stacked.stories.tsx +1 -1
- package/src/components/header-navigation/header-navigation-stories.module.less.d.ts +3 -0
- package/src/components/header-navigation/header-navigation.module.less.d.ts +22 -0
- package/src/components/header-navigation/header-navigation.stories.tsx +1 -1
- package/src/components/left-navigation/header-navigation-tiny.module.less.d.ts +15 -0
- package/src/components/left-navigation/header-navigation-tiny.stories.tsx +2 -2
- package/src/components/left-navigation/side-navigation-links.tsx +1 -1
- package/src/components/left-navigation/side-navigation.module.less.d.ts +48 -0
- package/src/components/logo/logo-titan-text.module.less.d.ts +6 -0
- package/src/components/profile-dropdown/profile-dropdown.module.less.d.ts +21 -0
- package/src/components/profile-dropdown/profile-dropdown.tsx +13 -6
- package/src/components/titan-layout/layout-header.module.less +58 -15
- package/src/components/titan-layout/layout-header.module.less.d.ts +16 -0
- package/src/components/titan-layout/layout-header.tsx +12 -5
- package/src/components/titan-layout/layout-profile.stories.tsx +10 -1
- package/src/components/titan-layout/layout-profile.tsx +60 -25
- package/src/components/titan-layout/layout-sidebar-links-internal.tsx +18 -5
- package/src/components/titan-layout/layout-sidebar-links.tsx +17 -5
- package/src/components/titan-layout/layout-sidebar.module.less +20 -19
- package/src/components/titan-layout/layout-sidebar.module.less.d.ts +49 -0
- package/src/components/titan-layout/layout-sidebar.tsx +15 -9
- package/src/components/titan-layout/notifications-context.tsx +44 -0
- package/src/components/titan-layout/titan-layout.module.less +66 -16
- package/src/components/titan-layout/titan-layout.module.less.d.ts +15 -0
- package/src/components/titan-layout/titan-layout.stories.tsx +161 -18
- package/src/components/titan-layout/titan-layout.tsx +146 -58
- package/src/test/data-stories.module.less.d.ts +3 -0
- 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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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.
|
|
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.
|
|
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": "
|
|
45
|
+
"gitHead": "f92c8826ed4ddf2172324957fa5dcf5d1cd48963"
|
|
47
46
|
}
|
|
@@ -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>
|