@catalystsoftware/ui 1.0.12 → 1.0.14

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 (1839) hide show
  1. package/dist/components/catalyst-ui/background/animated-beam.tsx +189 -0
  2. package/dist/components/catalyst-ui/background/background-gradient.tsx +77 -0
  3. package/dist/components/catalyst-ui/background/background-paths.tsx +132 -0
  4. package/dist/components/catalyst-ui/background/canvas-fractal-grid.tsx +1862 -0
  5. package/dist/components/catalyst-ui/background/distorted-glass.tsx +0 -0
  6. package/dist/components/catalyst-ui/background/dot-pattern.tsx +169 -0
  7. package/dist/components/catalyst-ui/background/dotted-glow-background.tsx +342 -0
  8. package/dist/components/catalyst-ui/background/dotted-map.tsx +193 -0
  9. package/dist/components/catalyst-ui/background/dynamic-rain.tsx +216 -0
  10. package/dist/components/catalyst-ui/background/flickering-grid.tsx +211 -0
  11. package/dist/components/catalyst-ui/background/fractal-grid.tsx +666 -0
  12. package/dist/components/catalyst-ui/background/hexagon-background.tsx +102 -0
  13. package/dist/components/catalyst-ui/background/index.ts +25 -0
  14. package/dist/components/catalyst-ui/background/interactive-grid-pattern.tsx +90 -0
  15. package/dist/components/catalyst-ui/background/lamp.tsx +105 -0
  16. package/dist/components/catalyst-ui/background/orbiting-circles.tsx +76 -0
  17. package/dist/components/catalyst-ui/background/particles.tsx +286 -0
  18. package/dist/components/catalyst-ui/background/progressive-blur.tsx +113 -0
  19. package/dist/components/catalyst-ui/background/retro-grid-background.tsx +104 -0
  20. package/dist/components/catalyst-ui/background/smoke.tsx +117 -0
  21. package/dist/components/catalyst-ui/background/sparkles.tsx +435 -0
  22. package/dist/components/catalyst-ui/background/stripe-bg-guides.tsx +260 -0
  23. package/dist/components/catalyst-ui/background/texture-overlay.tsx +207 -0
  24. package/dist/components/catalyst-ui/background/vortex.tsx +257 -0
  25. package/dist/components/catalyst-ui/buttons/animated-theme-toggler.tsx +90 -0
  26. package/dist/components/catalyst-ui/buttons/attract-button.tsx +167 -0
  27. package/dist/components/catalyst-ui/buttons/bg-animate-button.tsx +249 -0
  28. package/dist/components/catalyst-ui/buttons/button-group.tsx +203 -0
  29. package/dist/components/catalyst-ui/buttons/command-button.tsx +109 -0
  30. package/dist/components/catalyst-ui/buttons/copy-button.tsx +117 -0
  31. package/dist/components/catalyst-ui/buttons/copy-text.tsx +347 -0
  32. package/dist/components/catalyst-ui/buttons/export-file.tsx +262 -0
  33. package/dist/components/catalyst-ui/buttons/flip-button.tsx +106 -0
  34. package/dist/components/catalyst-ui/buttons/float-button.tsx +197 -0
  35. package/dist/components/catalyst-ui/buttons/form-button.tsx +90 -0
  36. package/dist/components/catalyst-ui/buttons/hold-button.tsx +208 -0
  37. package/dist/components/catalyst-ui/buttons/index.ts +35 -0
  38. package/dist/components/catalyst-ui/buttons/input-button.tsx +192 -0
  39. package/dist/components/catalyst-ui/buttons/liquid-button.tsx +53 -0
  40. package/dist/components/catalyst-ui/buttons/particle-button.tsx +193 -0
  41. package/dist/components/catalyst-ui/buttons/rating-button-1.tsx +243 -0
  42. package/dist/components/catalyst-ui/buttons/rating-button.tsx +226 -0
  43. package/dist/components/catalyst-ui/buttons/ripple-button.tsx +146 -0
  44. package/dist/components/catalyst-ui/buttons/scroll-to-top.tsx +47 -0
  45. package/dist/components/catalyst-ui/buttons/shimmer-button.tsx +84 -0
  46. package/dist/components/catalyst-ui/buttons/slide-button.tsx +90 -0
  47. package/dist/components/catalyst-ui/buttons/social-button.tsx +194 -0
  48. package/dist/components/catalyst-ui/buttons/split-button.tsx +121 -0
  49. package/dist/components/catalyst-ui/buttons/switch-button.tsx +316 -0
  50. package/dist/components/catalyst-ui/buttons/text-reveal-button.tsx +65 -0
  51. package/dist/components/catalyst-ui/buttons/theme-switcher.tsx +102 -0
  52. package/dist/components/catalyst-ui/buttons/theme-toggle-button.tsx +312 -0
  53. package/dist/components/catalyst-ui/buttons/toggle-button.tsx +125 -0
  54. package/dist/components/catalyst-ui/buttons/tooltip-button.tsx +24 -0
  55. package/dist/components/catalyst-ui/charts/area-chart.tsx +989 -0
  56. package/dist/components/catalyst-ui/charts/bar-chart.tsx +887 -0
  57. package/dist/components/catalyst-ui/charts/bar-list.tsx +171 -0
  58. package/dist/components/catalyst-ui/charts/category-bar.tsx +221 -0
  59. package/dist/components/catalyst-ui/charts/chart-utils.ts +168 -0
  60. package/dist/components/catalyst-ui/charts/combo-chart.tsx +1179 -0
  61. package/dist/components/catalyst-ui/charts/donut-chart.tsx +337 -0
  62. package/dist/components/catalyst-ui/charts/index.ts +14 -0
  63. package/dist/components/catalyst-ui/charts/line-chart.tsx +907 -0
  64. package/dist/components/catalyst-ui/charts/spark-chart.tsx +328 -0
  65. package/dist/components/catalyst-ui/chat/chat.tsx +491 -0
  66. package/dist/components/catalyst-ui/code/code-block-section.tsx +939 -0
  67. package/dist/components/catalyst-ui/code/code-comparison.tsx +221 -0
  68. package/dist/components/catalyst-ui/code/code-comparison1.tsx +203 -0
  69. package/dist/components/catalyst-ui/code/code-editor.tsx +318 -0
  70. package/dist/components/catalyst-ui/code/code-section.tsx +62 -0
  71. package/dist/components/catalyst-ui/code/css-section.tsx +142 -0
  72. package/dist/components/catalyst-ui/code/html-section.tsx +102 -0
  73. package/dist/components/catalyst-ui/code/index.ts +22 -0
  74. package/dist/components/catalyst-ui/code/installCode-section.tsx +181 -0
  75. package/dist/components/catalyst-ui/code/installCodeArray-section.tsx +186 -0
  76. package/dist/components/catalyst-ui/code/installGithub-section.tsx +119 -0
  77. package/dist/components/catalyst-ui/code/json-section.tsx +253 -0
  78. package/dist/components/catalyst-ui/code/props-section.tsx +605 -0
  79. package/dist/components/catalyst-ui/code/sandbox.tsx +398 -0
  80. package/dist/components/catalyst-ui/code/sandbox2.tsx +3194 -0
  81. package/dist/components/catalyst-ui/code/terminal-1.tsx +119 -0
  82. package/dist/components/catalyst-ui/code/terminal-code-section.tsx +395 -0
  83. package/dist/components/catalyst-ui/code/terminal.tsx +315 -0
  84. package/dist/components/catalyst-ui/code/tsx-section.tsx +176 -0
  85. package/dist/components/catalyst-ui/comboboxes/choicebox.tsx +203 -0
  86. package/dist/components/catalyst-ui/comboboxes/combobox-0.tsx +556 -0
  87. package/dist/components/catalyst-ui/comboboxes/combobox-1.tsx +146 -0
  88. package/dist/components/catalyst-ui/comboboxes/combobox2.tsx +255 -0
  89. package/dist/components/catalyst-ui/comboboxes/emoji-picker.tsx +486 -0
  90. package/dist/components/catalyst-ui/comboboxes/filter-combobox.tsx +46 -0
  91. package/dist/components/catalyst-ui/comboboxes/index.ts +9 -0
  92. package/dist/components/catalyst-ui/comboboxes/multi-combobox.tsx +169 -0
  93. package/dist/components/catalyst-ui/comboboxes/nested-combobox.tsx +211 -0
  94. package/dist/components/catalyst-ui/commands/command-2.tsx +126 -0
  95. package/dist/components/catalyst-ui/commands/command-w-combobox.tsx +108 -0
  96. package/dist/components/catalyst-ui/commands/index.ts +6 -0
  97. package/dist/components/catalyst-ui/commands/nested-command-dialog.tsx +429 -0
  98. package/dist/components/catalyst-ui/commands/nested-command.tsx +133 -0
  99. package/dist/components/catalyst-ui/core/components/3d-card.tsx +144 -0
  100. package/dist/components/catalyst-ui/core/components/3d-card1.tsx +196 -0
  101. package/dist/components/catalyst-ui/core/components/android.tsx +105 -0
  102. package/dist/components/catalyst-ui/core/components/apple-cards-carousel.tsx +376 -0
  103. package/dist/components/catalyst-ui/core/components/apple-dock.tsx +280 -0
  104. package/dist/components/catalyst-ui/core/components/badge-1.tsx +117 -0
  105. package/dist/components/catalyst-ui/core/components/card-flip.tsx +204 -0
  106. package/dist/components/catalyst-ui/core/components/card-stack.tsx +224 -0
  107. package/dist/components/catalyst-ui/core/components/chat-bubble.tsx +198 -0
  108. package/dist/components/catalyst-ui/core/components/collapsible-section.tsx +92 -0
  109. package/dist/components/catalyst-ui/core/components/comment.tsx +812 -0
  110. package/dist/components/catalyst-ui/core/components/counter.tsx +77 -0
  111. package/dist/components/catalyst-ui/core/components/credit-card.tsx +406 -0
  112. package/dist/components/catalyst-ui/core/components/device-mockup.tsx +436 -0
  113. package/dist/components/catalyst-ui/core/components/embed.tsx +0 -0
  114. package/dist/components/catalyst-ui/core/components/faq.tsx +166 -0
  115. package/dist/components/catalyst-ui/core/components/feed.tsx +741 -0
  116. package/dist/components/catalyst-ui/core/components/fixed-marker.tsx +232 -0
  117. package/dist/components/catalyst-ui/core/components/for.tsx +138 -0
  118. package/dist/components/catalyst-ui/core/components/glowing-effect-card.tsx +273 -0
  119. package/dist/components/catalyst-ui/core/components/iframe.tsx +175 -0
  120. package/dist/components/catalyst-ui/core/components/in-place.tsx +285 -0
  121. package/dist/components/catalyst-ui/core/components/iphone-15-pro.tsx +129 -0
  122. package/dist/components/catalyst-ui/core/components/macbook-scroll.tsx +702 -0
  123. package/dist/components/catalyst-ui/core/components/magic-card.tsx +102 -0
  124. package/dist/components/catalyst-ui/core/components/message-dock.tsx +61 -0
  125. package/dist/components/catalyst-ui/core/components/meter.tsx +123 -0
  126. package/dist/components/catalyst-ui/core/components/number-ticker.tsx +67 -0
  127. package/dist/components/catalyst-ui/core/components/panel.tsx +286 -0
  128. package/dist/components/catalyst-ui/core/components/pill-1.tsx +166 -0
  129. package/dist/components/catalyst-ui/core/components/qrcode.tsx +1153 -0
  130. package/dist/components/catalyst-ui/core/components/safari-device.tsx +197 -0
  131. package/dist/components/catalyst-ui/core/components/sliding-number.tsx +235 -0
  132. package/dist/components/catalyst-ui/core/components/spoiler.tsx +161 -0
  133. package/dist/components/catalyst-ui/core/components/stat.tsx +572 -0
  134. package/dist/components/catalyst-ui/core/components/sticky.tsx +214 -0
  135. package/dist/components/catalyst-ui/core/components/tag.tsx +551 -0
  136. package/dist/components/catalyst-ui/core/components/tweet-card-1.tsx +164 -0
  137. package/dist/components/catalyst-ui/core/components/tweet-card.tsx +229 -0
  138. package/dist/components/catalyst-ui/core/data-display/barcode.tsx +1007 -0
  139. package/dist/components/catalyst-ui/core/data-display/data-list.tsx +344 -0
  140. package/dist/components/catalyst-ui/core/data-display/descriptionLists.tsx +205 -0
  141. package/dist/components/catalyst-ui/core/data-display/diff.tsx +186 -0
  142. package/dist/components/catalyst-ui/core/data-display/heat-map-calendar.tsx +361 -0
  143. package/dist/components/catalyst-ui/core/data-display/order-list.tsx +0 -0
  144. package/dist/components/catalyst-ui/core/data-display/stats-1.tsx +129 -0
  145. package/dist/components/catalyst-ui/core/data-display/stats.tsx +139 -0
  146. package/dist/components/catalyst-ui/core/data-display/ticker.tsx +179 -0
  147. package/dist/components/catalyst-ui/core/data-display/timeline-1.tsx +452 -0
  148. package/dist/components/catalyst-ui/core/data-display/timeline2.tsx +240 -0
  149. package/dist/components/catalyst-ui/core/data-display/tracker.tsx +209 -0
  150. package/dist/components/catalyst-ui/core/data-display/transfer-list.tsx +278 -0
  151. package/dist/components/catalyst-ui/core/data-display/tremor-tracker.tsx +103 -0
  152. package/dist/components/catalyst-ui/core/demos/FAQ-demo.tsx +41 -0
  153. package/dist/components/catalyst-ui/core/demos/action-panels-demo.tsx +64 -0
  154. package/dist/components/catalyst-ui/core/demos/banner-demo.tsx +100 -0
  155. package/dist/components/catalyst-ui/core/demos/bentoGrid-demo.tsx +191 -0
  156. package/dist/components/catalyst-ui/core/demos/blog-demo.tsx +68 -0
  157. package/dist/components/catalyst-ui/core/demos/blogEditor-demo.tsx +10 -0
  158. package/dist/components/catalyst-ui/core/demos/blogPost-demo.tsx +41 -0
  159. package/dist/components/catalyst-ui/core/demos/button-groups-demo.tsx +111 -0
  160. package/dist/components/catalyst-ui/core/demos/cardHeadings-demo.tsx +65 -0
  161. package/dist/components/catalyst-ui/core/demos/catch-all.tsx +414 -0
  162. package/dist/components/catalyst-ui/core/demos/contact-demo.tsx +87 -0
  163. package/dist/components/catalyst-ui/core/demos/content-demo.tsx +52 -0
  164. package/dist/components/catalyst-ui/core/demos/cta-demo.tsx +64 -0
  165. package/dist/components/catalyst-ui/core/demos/descriptionLists-demo.tsx +109 -0
  166. package/dist/components/catalyst-ui/core/demos/edit-product-page-demo.tsx +11 -0
  167. package/dist/components/catalyst-ui/core/demos/empty-state-demo.tsx +37 -0
  168. package/dist/components/catalyst-ui/core/demos/feature-demo.tsx +104 -0
  169. package/dist/components/catalyst-ui/core/demos/feeds-demo.tsx +26 -0
  170. package/dist/components/catalyst-ui/core/demos/flyoutMenu-demo.tsx +156 -0
  171. package/dist/components/catalyst-ui/core/demos/footer-demo.tsx +62 -0
  172. package/dist/components/catalyst-ui/core/demos/form-layouts-demo.tsx +378 -0
  173. package/dist/components/catalyst-ui/core/demos/gridLists-demo.tsx +47 -0
  174. package/dist/components/catalyst-ui/core/demos/header-demo.tsx +0 -0
  175. package/dist/components/catalyst-ui/core/demos/header2-demo.tsx +77 -0
  176. package/dist/components/catalyst-ui/core/demos/headers-demo.tsx +659 -0
  177. package/dist/components/catalyst-ui/core/demos/hero-demo.tsx +75 -0
  178. package/dist/components/catalyst-ui/core/demos/input-groups-demo.tsx +75 -0
  179. package/dist/components/catalyst-ui/core/demos/landingPage-demo.tsx +222 -0
  180. package/dist/components/catalyst-ui/core/demos/list-demo.tsx +442 -0
  181. package/dist/components/catalyst-ui/core/demos/logoClouds-demo.tsx +36 -0
  182. package/dist/components/catalyst-ui/core/demos/mediaObject-demo.tsx +219 -0
  183. package/dist/components/catalyst-ui/core/demos/multiColumnLayouts-demo.tsx +42 -0
  184. package/dist/components/catalyst-ui/core/demos/newsLetter-demo.tsx +51 -0
  185. package/dist/components/catalyst-ui/core/demos/pageHeading-demo.tsx +55 -0
  186. package/dist/components/catalyst-ui/core/demos/pricing-demo.tsx +114 -0
  187. package/dist/components/catalyst-ui/core/demos/radio-group-demo.tsx +315 -0
  188. package/dist/components/catalyst-ui/core/demos/settingsScreen-demo.tsx +95 -0
  189. package/dist/components/catalyst-ui/core/demos/sidebar-demo.tsx +40 -0
  190. package/dist/components/catalyst-ui/core/demos/stackedLayout-demo.tsx +17 -0
  191. package/dist/components/catalyst-ui/core/demos/stackedLists-demo.tsx +60 -0
  192. package/dist/components/catalyst-ui/core/demos/stats-demo.tsx +99 -0
  193. package/dist/components/catalyst-ui/core/demos/team-demo.tsx +35 -0
  194. package/dist/components/catalyst-ui/core/demos/testimonial-demo.tsx +33 -0
  195. package/dist/components/catalyst-ui/core/demos/toggle-demo-demo.tsx +414 -0
  196. package/dist/components/catalyst-ui/core/feedback/alert-variant.tsx +101 -0
  197. package/dist/components/catalyst-ui/core/feedback/announcement.tsx +53 -0
  198. package/dist/components/catalyst-ui/core/feedback/banner-2.tsx +143 -0
  199. package/dist/components/catalyst-ui/core/feedback/banner.tsx +50 -0
  200. package/dist/components/catalyst-ui/core/feedback/banner1.tsx +64 -0
  201. package/dist/components/catalyst-ui/core/feedback/callout.tsx +18 -0
  202. package/dist/components/catalyst-ui/core/feedback/chat-bubble.tsx +770 -0
  203. package/dist/components/catalyst-ui/core/feedback/dimmer.tsx +518 -0
  204. package/dist/components/catalyst-ui/core/feedback/dot-loader.tsx +116 -0
  205. package/dist/components/catalyst-ui/core/feedback/empty-states.tsx +154 -0
  206. package/dist/components/catalyst-ui/core/feedback/hero-badge.tsx +90 -0
  207. package/dist/components/catalyst-ui/core/feedback/indicator.tsx +315 -0
  208. package/dist/components/catalyst-ui/core/feedback/loading.tsx +11 -0
  209. package/dist/components/catalyst-ui/core/feedback/spinner-2.tsx +10 -0
  210. package/dist/components/catalyst-ui/core/feedback/spinner-3.tsx +163 -0
  211. package/dist/components/catalyst-ui/core/feedback/spinner-4.tsx +276 -0
  212. package/dist/components/catalyst-ui/core/feedback/spinner.tsx +287 -0
  213. package/dist/components/catalyst-ui/core/feedback/status.tsx +54 -0
  214. package/dist/components/catalyst-ui/core/headings/cardHeadings.tsx +215 -0
  215. package/dist/components/catalyst-ui/core/headings/pageHeading.tsx +300 -0
  216. package/dist/components/catalyst-ui/core/headings/sectionHeadings.tsx +240 -0
  217. package/dist/components/catalyst-ui/core/heros/animated-hero.tsx +116 -0
  218. package/dist/components/catalyst-ui/core/heros/animated-hero1.tsx +108 -0
  219. package/dist/components/catalyst-ui/core/heros/hero-video-dialog.tsx +150 -0
  220. package/dist/components/catalyst-ui/core/index.ts +248 -0
  221. package/dist/components/catalyst-ui/core/layout/absolute-center.tsx +45 -0
  222. package/dist/components/catalyst-ui/core/layout/bento-grid.tsx +251 -0
  223. package/dist/components/catalyst-ui/core/layout/bento-grid1.tsx +58 -0
  224. package/dist/components/catalyst-ui/core/layout/bento-grid2.tsx +107 -0
  225. package/dist/components/catalyst-ui/core/layout/bento-system.tsx +101 -0
  226. package/dist/components/catalyst-ui/core/layout/box.tsx +231 -0
  227. package/dist/components/catalyst-ui/core/layout/card-layout.tsx +312 -0
  228. package/dist/components/catalyst-ui/core/layout/center.tsx +76 -0
  229. package/dist/components/catalyst-ui/core/layout/container-demo.tsx +340 -0
  230. package/dist/components/catalyst-ui/core/layout/container.tsx +280 -0
  231. package/dist/components/catalyst-ui/core/layout/flexbox-grid.tsx +469 -0
  232. package/dist/components/catalyst-ui/core/layout/grid.tsx +656 -0
  233. package/dist/components/catalyst-ui/core/layout/group.tsx +49 -0
  234. package/dist/components/catalyst-ui/core/layout/list.tsx +665 -0
  235. package/dist/components/catalyst-ui/core/layout/mediaObject.tsx +254 -0
  236. package/dist/components/catalyst-ui/core/layout/rail.tsx +175 -0
  237. package/dist/components/catalyst-ui/core/layout/section.tsx +86 -0
  238. package/dist/components/catalyst-ui/core/layout/stack.tsx +182 -0
  239. package/dist/components/catalyst-ui/core/lists/animated-list.tsx +98 -0
  240. package/dist/components/catalyst-ui/core/lists/feeds.tsx +190 -0
  241. package/dist/components/catalyst-ui/core/lists/file-tree.tsx +379 -0
  242. package/dist/components/catalyst-ui/core/lists/gridLists.tsx +212 -0
  243. package/dist/components/catalyst-ui/core/lists/index.ts +14 -0
  244. package/dist/components/catalyst-ui/core/lists/list-1.tsx +152 -0
  245. package/dist/components/catalyst-ui/core/lists/list.tsx +217 -0
  246. package/dist/components/catalyst-ui/core/lists/list1.tsx +138 -0
  247. package/dist/components/catalyst-ui/core/lists/pin-list.tsx +191 -0
  248. package/dist/components/catalyst-ui/core/lists/stackedLists.tsx +149 -0
  249. package/dist/components/catalyst-ui/core/lists/tables.tsx +615 -0
  250. package/dist/components/catalyst-ui/core/lists/tree.tsx +194 -0
  251. package/dist/components/catalyst-ui/core/modules/createEditSchedule.tsx +389 -0
  252. package/dist/components/catalyst-ui/core/modules/punchClock.tsx +304 -0
  253. package/dist/components/catalyst-ui/core/modules/schedule.tsx +188 -0
  254. package/dist/components/catalyst-ui/core/modules/viewPunchClockEntries.tsx +629 -0
  255. package/dist/components/catalyst-ui/core/navbars/navbar-01.tsx +264 -0
  256. package/dist/components/catalyst-ui/core/navbars/navbar-02.tsx +498 -0
  257. package/dist/components/catalyst-ui/core/navbars/navbar-03.tsx +263 -0
  258. package/dist/components/catalyst-ui/core/navbars/navbar-04.tsx +331 -0
  259. package/dist/components/catalyst-ui/core/navbars/navbar-05.tsx +400 -0
  260. package/dist/components/catalyst-ui/core/navbars/navbar-06.tsx +436 -0
  261. package/dist/components/catalyst-ui/core/navbars/navbar-07.tsx +331 -0
  262. package/dist/components/catalyst-ui/core/navbars/navbar-08.tsx +418 -0
  263. package/dist/components/catalyst-ui/core/navbars/navbar-09.tsx +440 -0
  264. package/dist/components/catalyst-ui/core/navbars/navbar-10.tsx +351 -0
  265. package/dist/components/catalyst-ui/core/navbars/navbar-11.tsx +444 -0
  266. package/dist/components/catalyst-ui/core/navbars/navbar-12/NotificationMenu.tsx +120 -0
  267. package/dist/components/catalyst-ui/core/navbars/navbar-12/TeamSwitcher.tsx +87 -0
  268. package/dist/components/catalyst-ui/core/navbars/navbar-12/UserMenu.tsx +80 -0
  269. package/dist/components/catalyst-ui/core/navbars/navbar-12/navbar-12.tsx +230 -0
  270. package/dist/components/catalyst-ui/core/navbars/navbar-13/UserMenu.tsx +80 -0
  271. package/dist/components/catalyst-ui/core/navbars/navbar-13/navbar-13.tsx +144 -0
  272. package/dist/components/catalyst-ui/core/navbars/navbar-14/InfoMenu.tsx +62 -0
  273. package/dist/components/catalyst-ui/core/navbars/navbar-14/NotificationMenu.tsx +122 -0
  274. package/dist/components/catalyst-ui/core/navbars/navbar-14/SettingsMenu.tsx +66 -0
  275. package/dist/components/catalyst-ui/core/navbars/navbar-14/navbar-14.tsx +156 -0
  276. package/dist/components/catalyst-ui/core/navbars/navbar-15/DatePicker.tsx +66 -0
  277. package/dist/components/catalyst-ui/core/navbars/navbar-15/Filters.tsx +160 -0
  278. package/dist/components/catalyst-ui/core/navbars/navbar-15/navbar-15.tsx +151 -0
  279. package/dist/components/catalyst-ui/core/navbars/navbar-16/AppToggle.tsx +125 -0
  280. package/dist/components/catalyst-ui/core/navbars/navbar-16/TeamSwitcher.tsx +87 -0
  281. package/dist/components/catalyst-ui/core/navbars/navbar-16/navbar-16.tsx +113 -0
  282. package/dist/components/catalyst-ui/core/navbars/navbar-17.tsx +209 -0
  283. package/dist/components/catalyst-ui/core/navbars/navbar-18.tsx +243 -0
  284. package/dist/components/catalyst-ui/core/navbars/navbar-19.tsx +333 -0
  285. package/dist/components/catalyst-ui/core/navigation/affix.tsx +123 -0
  286. package/dist/components/catalyst-ui/core/navigation/anchor.tsx +41 -0
  287. package/dist/components/catalyst-ui/core/navigation/dock-1.tsx +0 -0
  288. package/dist/components/catalyst-ui/core/navigation/dock-2.tsx +289 -0
  289. package/dist/components/catalyst-ui/core/navigation/dock.tsx +376 -0
  290. package/dist/components/catalyst-ui/core/navigation/efab.tsx +245 -0
  291. package/dist/components/catalyst-ui/core/navigation/fab-menu-component.tsx +299 -0
  292. package/dist/components/catalyst-ui/core/navigation/fab-menu.tsx +220 -0
  293. package/dist/components/catalyst-ui/core/navigation/fab.tsx +236 -0
  294. package/dist/components/catalyst-ui/core/navigation/index.ts +32 -0
  295. package/dist/components/catalyst-ui/core/navigation/limelight-nav.tsx +110 -0
  296. package/dist/components/catalyst-ui/core/navigation/mega-menu.tsx +354 -0
  297. package/dist/components/catalyst-ui/core/navigation/menu-dock.tsx +204 -0
  298. package/dist/components/catalyst-ui/core/navigation/message-dock.tsx +511 -0
  299. package/dist/components/catalyst-ui/core/navigation/page-nav.tsx +29 -0
  300. package/dist/components/catalyst-ui/core/navigation/page-sidebar-nav.tsx +39 -0
  301. package/dist/components/catalyst-ui/core/navigation/pagination-button.tsx +56 -0
  302. package/dist/components/catalyst-ui/core/navigation/pagination-wrapper.tsx +152 -0
  303. package/dist/components/catalyst-ui/core/navigation/panel-menu.tsx +201 -0
  304. package/dist/components/catalyst-ui/core/navigation/remix-link.tsx +40 -0
  305. package/dist/components/catalyst-ui/core/navigation/smooth-tab.tsx +412 -0
  306. package/dist/components/catalyst-ui/core/navigation/speed-dial.tsx +175 -0
  307. package/dist/components/catalyst-ui/core/navigation/stepper.tsx +290 -0
  308. package/dist/components/catalyst-ui/core/navigation/steps.tsx +578 -0
  309. package/dist/components/catalyst-ui/core/navigation/tab-menu.tsx +227 -0
  310. package/dist/components/catalyst-ui/core/navigation/tab-view.tsx +742 -0
  311. package/dist/components/catalyst-ui/core/navigation/toolbar-1.tsx +412 -0
  312. package/dist/components/catalyst-ui/core/navigation/toolbar.tsx +245 -0
  313. package/dist/components/catalyst-ui/core/sections/changelog-section.tsx +135 -0
  314. package/dist/components/catalyst-ui/core/sections/config-section.tsx +82 -0
  315. package/dist/components/catalyst-ui/core/sections/contact.tsx +600 -0
  316. package/dist/components/catalyst-ui/core/sections/content.tsx +386 -0
  317. package/dist/components/catalyst-ui/core/sections/layout.tsx +310 -0
  318. package/dist/components/catalyst-ui/core/sections/note-section.tsx +85 -0
  319. package/dist/components/catalyst-ui/core/sections/placeholder-code-section.tsx +14 -0
  320. package/dist/components/catalyst-ui/core/sections/step-number-section.tsx +16 -0
  321. package/dist/components/catalyst-ui/core/sections/team.tsx +372 -0
  322. package/dist/components/catalyst-ui/core/sections/useage-no-dash-section.tsx +79 -0
  323. package/dist/components/catalyst-ui/core/sections/useage-section.tsx +79 -0
  324. package/dist/components/catalyst-ui/core/shell/app-shell.tsx +321 -0
  325. package/dist/components/catalyst-ui/core/shell/content-shell.tsx +70 -0
  326. package/dist/components/catalyst-ui/core/shell/documentation/example.tsx +106 -0
  327. package/dist/components/catalyst-ui/core/shell/documentation/layout.config.tsx +200 -0
  328. package/dist/components/catalyst-ui/core/shell/documentation/layout.example.tsx +127 -0
  329. package/dist/components/catalyst-ui/core/shell/documentation/layout.tsx +280 -0
  330. package/dist/components/catalyst-ui/core/shell/multiColumnLayouts.tsx +364 -0
  331. package/dist/components/catalyst-ui/core/shell/sidebarLayout.tsx +459 -0
  332. package/dist/components/catalyst-ui/core/shell/stackedLayout.tsx +323 -0
  333. package/dist/components/catalyst-ui/core/shell/three-col/app.tsx +193 -0
  334. package/dist/components/catalyst-ui/core/shell/three-col/content.tsx +358 -0
  335. package/dist/components/catalyst-ui/core/shell/three-col/header.tsx +222 -0
  336. package/dist/components/catalyst-ui/core/shell/three-col/layout.tsx +120 -0
  337. package/dist/components/catalyst-ui/core/shell/three-col/side-navbar.tsx +305 -0
  338. package/dist/components/catalyst-ui/core/shell/three-col/sidebar.tsx +41 -0
  339. package/dist/components/catalyst-ui/crm/comp-297.tsx +24 -0
  340. package/dist/components/catalyst-ui/crm/comp-298.tsx +188 -0
  341. package/dist/components/catalyst-ui/crm/comp-299.tsx +24 -0
  342. package/dist/components/catalyst-ui/crm/comp-300.tsx +62 -0
  343. package/dist/components/catalyst-ui/crm/index.ts +5 -0
  344. package/dist/components/catalyst-ui/crm/tools/scripts-editor.tsx +3109 -0
  345. package/dist/components/catalyst-ui/crm/tools/scripts-viewer.tsx +215 -0
  346. package/dist/components/catalyst-ui/data/bg-data.tsx +901 -0
  347. package/dist/components/catalyst-ui/data/buttons-data.tsx +2327 -0
  348. package/dist/components/catalyst-ui/data/charts-data.tsx +102 -0
  349. package/dist/components/catalyst-ui/data/chat-data.tsx +83 -0
  350. package/dist/components/catalyst-ui/data/code-data.tsx +1040 -0
  351. package/dist/components/catalyst-ui/data/comboboxes-data.tsx +1843 -0
  352. package/dist/components/catalyst-ui/data/command-data.tsx +1381 -0
  353. package/dist/components/catalyst-ui/data/core-data.tsx +15953 -0
  354. package/dist/components/catalyst-ui/data/crm-data.tsx +47 -0
  355. package/dist/components/catalyst-ui/data/data.tsx +159 -0
  356. package/dist/components/catalyst-ui/data/date-and-time-data.tsx +554 -0
  357. package/dist/components/catalyst-ui/data/dependencies.tsx +7 -0
  358. package/dist/components/catalyst-ui/data/ecommerce-data.tsx +1387 -0
  359. package/dist/components/catalyst-ui/data/forms-data.tsx +7890 -0
  360. package/dist/components/catalyst-ui/data/hooks-data.tsx +5487 -0
  361. package/dist/components/catalyst-ui/data/index.ts +34 -0
  362. package/dist/components/catalyst-ui/data/inputs-data.tsx +557 -0
  363. package/dist/components/catalyst-ui/data/interactive-data.tsx +5394 -0
  364. package/dist/components/catalyst-ui/data/lofi-data.tsx +18295 -0
  365. package/dist/components/catalyst-ui/data/marketing-data.tsx +2546 -0
  366. package/dist/components/catalyst-ui/data/media-data.tsx +1510 -0
  367. package/dist/components/catalyst-ui/data/motion-data.tsx +5801 -0
  368. package/dist/components/catalyst-ui/data/overlay-data.tsx +4136 -0
  369. package/dist/components/catalyst-ui/data/pdf-data.tsx +124 -0
  370. package/dist/components/catalyst-ui/data/pos-data.tsx +213 -0
  371. package/dist/components/catalyst-ui/data/primitive-data.tsx +5170 -0
  372. package/dist/components/catalyst-ui/data/prompt-data.tsx +1226 -0
  373. package/dist/components/catalyst-ui/data/requiredLibs.ts +4 -0
  374. package/dist/components/catalyst-ui/data/sandbox-data.tsx +1 -0
  375. package/dist/components/catalyst-ui/data/sidebars-data.tsx +5421 -0
  376. package/dist/components/catalyst-ui/data/stacks-data.tsx +32 -0
  377. package/dist/components/catalyst-ui/data/table-data.tsx +706 -0
  378. package/dist/components/catalyst-ui/data/tools-data.tsx +6910 -0
  379. package/dist/components/catalyst-ui/data/typography-data.tsx +2050 -0
  380. package/dist/components/catalyst-ui/data/utils-data.tsx +6500 -0
  381. package/dist/components/catalyst-ui/data/x-data.tsx +1171 -0
  382. package/dist/components/catalyst-ui/data2.tsx +158 -0
  383. package/dist/components/catalyst-ui/date-and-time/appointment-scheduler.tsx +381 -0
  384. package/dist/components/catalyst-ui/date-and-time/calendar-2.tsx +498 -0
  385. package/dist/components/catalyst-ui/date-and-time/calendar-for-sidebar.tsx +68 -0
  386. package/dist/components/catalyst-ui/date-and-time/calendar-rac.tsx +112 -0
  387. package/dist/components/catalyst-ui/date-and-time/date-picker-input.tsx +76 -0
  388. package/dist/components/catalyst-ui/date-and-time/date-picker.tsx +64 -0
  389. package/dist/components/catalyst-ui/date-and-time/date-range-picker-input.tsx +84 -0
  390. package/dist/components/catalyst-ui/date-and-time/date-range-picker.tsx +125 -0
  391. package/dist/components/catalyst-ui/date-and-time/datefield-rac.tsx +88 -0
  392. package/dist/components/catalyst-ui/date-and-time/docked-date-picker.tsx +267 -0
  393. package/dist/components/catalyst-ui/date-and-time/drawerDatePicker.tsx +50 -0
  394. package/dist/components/catalyst-ui/date-and-time/event-calendar/agenda-view.tsx +90 -0
  395. package/dist/components/catalyst-ui/date-and-time/event-calendar/calendar-dnd-context.tsx +373 -0
  396. package/dist/components/catalyst-ui/date-and-time/event-calendar/constants.ts +18 -0
  397. package/dist/components/catalyst-ui/date-and-time/event-calendar/day-view.tsx +322 -0
  398. package/dist/components/catalyst-ui/date-and-time/event-calendar/demo.tsx +162 -0
  399. package/dist/components/catalyst-ui/date-and-time/event-calendar/draggable-event.tsx +141 -0
  400. package/dist/components/catalyst-ui/date-and-time/event-calendar/droppable-cell.tsx +57 -0
  401. package/dist/components/catalyst-ui/date-and-time/event-calendar/event-calendar.tsx +400 -0
  402. package/dist/components/catalyst-ui/date-and-time/event-calendar/event-dialog.tsx +467 -0
  403. package/dist/components/catalyst-ui/date-and-time/event-calendar/event-item.tsx +262 -0
  404. package/dist/components/catalyst-ui/date-and-time/event-calendar/events-popup.tsx +135 -0
  405. package/dist/components/catalyst-ui/date-and-time/event-calendar/hooks/use-current-time-indicator.ts +57 -0
  406. package/dist/components/catalyst-ui/date-and-time/event-calendar/hooks/use-event-visibility.ts +86 -0
  407. package/dist/components/catalyst-ui/date-and-time/event-calendar/index.ts +23 -0
  408. package/dist/components/catalyst-ui/date-and-time/event-calendar/month-view.tsx +276 -0
  409. package/dist/components/catalyst-ui/date-and-time/event-calendar/types.ts +20 -0
  410. package/dist/components/catalyst-ui/date-and-time/event-calendar/utils.ts +153 -0
  411. package/dist/components/catalyst-ui/date-and-time/event-calendar/week-view.tsx +406 -0
  412. package/dist/components/catalyst-ui/date-and-time/index.ts +74 -0
  413. package/dist/components/catalyst-ui/date-and-time/mini-calendar.tsx +230 -0
  414. package/dist/components/catalyst-ui/date-and-time/modal-date-input.tsx +229 -0
  415. package/dist/components/catalyst-ui/date-and-time/popover-date-input.tsx +233 -0
  416. package/dist/components/catalyst-ui/date-and-time/relative-time.tsx +181 -0
  417. package/dist/components/catalyst-ui/date-and-time/time-picker-dial.tsx +368 -0
  418. package/dist/components/catalyst-ui/date-and-time/time-picker-input.tsx +385 -0
  419. package/dist/components/catalyst-ui/date-and-time/time-picker.tsx +514 -0
  420. package/dist/components/catalyst-ui/demo/examples.tsx +10069 -0
  421. package/dist/components/catalyst-ui/demo/examples2.tsx +10954 -0
  422. package/dist/components/catalyst-ui/demo/index.ts +5 -0
  423. package/dist/components/catalyst-ui/ecommerce/components/categoryFilters.tsx +302 -0
  424. package/dist/components/catalyst-ui/ecommerce/components/categoryPreviews.tsx +464 -0
  425. package/dist/components/catalyst-ui/ecommerce/components/checkoutForms.tsx +991 -0
  426. package/dist/components/catalyst-ui/ecommerce/components/incentives.tsx +529 -0
  427. package/dist/components/catalyst-ui/ecommerce/components/orderHistory.tsx +380 -0
  428. package/dist/components/catalyst-ui/ecommerce/components/orderSummaries.tsx +482 -0
  429. package/dist/components/catalyst-ui/ecommerce/components/productCard.tsx +84 -0
  430. package/dist/components/catalyst-ui/ecommerce/components/productCard2.tsx +82 -0
  431. package/dist/components/catalyst-ui/ecommerce/components/productFeatures.tsx +764 -0
  432. package/dist/components/catalyst-ui/ecommerce/components/productLists.tsx +472 -0
  433. package/dist/components/catalyst-ui/ecommerce/components/productOverview.tsx +856 -0
  434. package/dist/components/catalyst-ui/ecommerce/components/productQuickViews.tsx +378 -0
  435. package/dist/components/catalyst-ui/ecommerce/components/promoSectionts.tsx +414 -0
  436. package/dist/components/catalyst-ui/ecommerce/components/reviews.tsx +274 -0
  437. package/dist/components/catalyst-ui/ecommerce/components/shoppingCarts.tsx +508 -0
  438. package/dist/components/catalyst-ui/ecommerce/components/storeNavigation.tsx +255 -0
  439. package/dist/components/catalyst-ui/ecommerce/demo/categoryFilters-demo.tsx +140 -0
  440. package/dist/components/catalyst-ui/ecommerce/demo/categoryPreviews-demo.tsx +252 -0
  441. package/dist/components/catalyst-ui/ecommerce/demo/checkoutForms-demo.tsx +76 -0
  442. package/dist/components/catalyst-ui/ecommerce/demo/editProductPage-data2.tsx +34 -0
  443. package/dist/components/catalyst-ui/ecommerce/demo/editProductPage-demo.tsx +10 -0
  444. package/dist/components/catalyst-ui/ecommerce/demo/incentives-demo.tsx +172 -0
  445. package/dist/components/catalyst-ui/ecommerce/demo/orderHistory-demo.tsx +81 -0
  446. package/dist/components/catalyst-ui/ecommerce/demo/orderSummaries-demo.tsx +98 -0
  447. package/dist/components/catalyst-ui/ecommerce/demo/pricingPage-demo.tsx +105 -0
  448. package/dist/components/catalyst-ui/ecommerce/demo/product.$id-demo.tsx +98 -0
  449. package/dist/components/catalyst-ui/ecommerce/demo/productCard-demo.tsx +308 -0
  450. package/dist/components/catalyst-ui/ecommerce/demo/productFeatures-demo.tsx +57 -0
  451. package/dist/components/catalyst-ui/ecommerce/demo/productLists-demo.tsx +130 -0
  452. package/dist/components/catalyst-ui/ecommerce/demo/productOverview-demo.tsx +328 -0
  453. package/dist/components/catalyst-ui/ecommerce/demo/productQuickViews-demo.tsx +242 -0
  454. package/dist/components/catalyst-ui/ecommerce/demo/promoSectionts-demo.tsx +169 -0
  455. package/dist/components/catalyst-ui/ecommerce/demo/reviews-demo.tsx +45 -0
  456. package/dist/components/catalyst-ui/ecommerce/demo/shoppingCarts-demo.tsx +73 -0
  457. package/dist/components/catalyst-ui/ecommerce/demo/store-demo.tsx +88 -0
  458. package/dist/components/catalyst-ui/ecommerce/demo/storeNavigation-demo.tsx +171 -0
  459. package/dist/components/catalyst-ui/ecommerce/index.ts +55 -0
  460. package/dist/components/catalyst-ui/ecommerce/modules/cash-drawer-wizard.tsx +1400 -0
  461. package/dist/components/catalyst-ui/ecommerce/modules/cash-till-manager.tsx +639 -0
  462. package/dist/components/catalyst-ui/ecommerce/modules/promotionEngine.ts +341 -0
  463. package/dist/components/catalyst-ui/ecommerce/modules/promotionsManager.tsx +840 -0
  464. package/dist/components/catalyst-ui/forms/action-bar-1.tsx +192 -0
  465. package/dist/components/catalyst-ui/forms/action-bar.tsx +154 -0
  466. package/dist/components/catalyst-ui/forms/action-panels.tsx +153 -0
  467. package/dist/components/catalyst-ui/forms/action-search-bar.tsx +268 -0
  468. package/dist/components/catalyst-ui/forms/auto-resizing-textarea.tsx +36 -0
  469. package/dist/components/catalyst-ui/forms/cascade-tree.tsx +224 -0
  470. package/dist/components/catalyst-ui/forms/cascader.tsx +219 -0
  471. package/dist/components/catalyst-ui/forms/check-tree-picker.tsx +330 -0
  472. package/dist/components/catalyst-ui/forms/check-tree.tsx +348 -0
  473. package/dist/components/catalyst-ui/forms/checkbox-1.tsx +48 -0
  474. package/dist/components/catalyst-ui/forms/checkbox-card-1.tsx +64 -0
  475. package/dist/components/catalyst-ui/forms/checkbox-card.tsx +145 -0
  476. package/dist/components/catalyst-ui/forms/checkbox-multistate.tsx +97 -0
  477. package/dist/components/catalyst-ui/forms/checkbox-tristate.tsx +158 -0
  478. package/dist/components/catalyst-ui/forms/color-picker-1.tsx +299 -0
  479. package/dist/components/catalyst-ui/forms/color-picker-3.tsx +487 -0
  480. package/dist/components/catalyst-ui/forms/color-picker.tsx +251 -0
  481. package/dist/components/catalyst-ui/forms/credit-card-input.tsx +284 -0
  482. package/dist/components/catalyst-ui/forms/debounced-input.tsx +21 -0
  483. package/dist/components/catalyst-ui/forms/fancy-area.tsx +571 -0
  484. package/dist/components/catalyst-ui/forms/fieldset.tsx +107 -0
  485. package/dist/components/catalyst-ui/forms/float-label.tsx +66 -0
  486. package/dist/components/catalyst-ui/forms/floating-label.tsx +138 -0
  487. package/dist/components/catalyst-ui/forms/form-wizard.tsx +787 -0
  488. package/dist/components/catalyst-ui/forms/fuse-search-input.tsx +293 -0
  489. package/dist/components/catalyst-ui/forms/fuzzy-filter.tsx +17 -0
  490. package/dist/components/catalyst-ui/forms/fuzzy-sort.tsx +17 -0
  491. package/dist/components/catalyst-ui/forms/icon-field.tsx +51 -0
  492. package/dist/components/catalyst-ui/forms/index.ts +58 -0
  493. package/dist/components/catalyst-ui/forms/inline-edit.tsx +108 -0
  494. package/dist/components/catalyst-ui/forms/inplace.tsx +174 -0
  495. package/dist/components/catalyst-ui/forms/input-icon.tsx +39 -0
  496. package/dist/components/catalyst-ui/forms/input-mask.tsx +216 -0
  497. package/dist/components/catalyst-ui/forms/input-text.tsx +52 -0
  498. package/dist/components/catalyst-ui/forms/json-input.tsx +261 -0
  499. package/dist/components/catalyst-ui/forms/key-filter.tsx +238 -0
  500. package/dist/components/catalyst-ui/forms/label-variant.tsx +53 -0
  501. package/dist/components/catalyst-ui/forms/listbox.tsx +118 -0
  502. package/dist/components/catalyst-ui/forms/multi-cascade-tree.tsx +586 -0
  503. package/dist/components/catalyst-ui/forms/multi-cascader.tsx +429 -0
  504. package/dist/components/catalyst-ui/forms/multi-select.tsx +161 -0
  505. package/dist/components/catalyst-ui/forms/password-input.tsx +54 -0
  506. package/dist/components/catalyst-ui/forms/pills-input.tsx +133 -0
  507. package/dist/components/catalyst-ui/forms/pin-input.tsx +354 -0
  508. package/dist/components/catalyst-ui/forms/profile-dropdown.tsx +219 -0
  509. package/dist/components/catalyst-ui/forms/radio-tile.tsx +245 -0
  510. package/dist/components/catalyst-ui/forms/rating-2.tsx +140 -0
  511. package/dist/components/catalyst-ui/forms/search-input.tsx +49 -0
  512. package/dist/components/catalyst-ui/forms/select-button.tsx +155 -0
  513. package/dist/components/catalyst-ui/forms/step-form-wizard.tsx +877 -0
  514. package/dist/components/catalyst-ui/forms/tags-input-1.tsx +457 -0
  515. package/dist/components/catalyst-ui/forms/textarea-2.tsx +36 -0
  516. package/dist/components/catalyst-ui/forms/tree-picker.tsx +295 -0
  517. package/dist/components/catalyst-ui/hooks/demo.tsx +2757 -0
  518. package/dist/components/catalyst-ui/hooks/index.ts +106 -0
  519. package/dist/components/catalyst-ui/hooks/react-hook-docs.tsx +608 -0
  520. package/dist/components/catalyst-ui/hooks/use-api-key.tsx +151 -0
  521. package/dist/components/catalyst-ui/hooks/use-async.tsx +36 -0
  522. package/dist/components/catalyst-ui/hooks/use-auto-scroll.tsx +139 -0
  523. package/dist/components/catalyst-ui/hooks/use-breakpoint.tsx +21 -0
  524. package/dist/components/catalyst-ui/hooks/use-character-limit.tsx +37 -0
  525. package/dist/components/catalyst-ui/hooks/use-click-outside.tsx +27 -0
  526. package/dist/components/catalyst-ui/hooks/use-client.tsx +30 -0
  527. package/dist/components/catalyst-ui/hooks/use-color-theme.tsx +4933 -0
  528. package/dist/components/catalyst-ui/hooks/use-color-wheel.tsx +905 -0
  529. package/dist/components/catalyst-ui/hooks/use-current-time-indicator.tsx +65 -0
  530. package/dist/components/catalyst-ui/hooks/use-debounce-fetcher.tsx +56 -0
  531. package/dist/components/catalyst-ui/hooks/use-debounce-submit.tsx +45 -0
  532. package/dist/components/catalyst-ui/hooks/use-debounce.tsx +18 -0
  533. package/dist/components/catalyst-ui/hooks/use-debounced-fuse-search.tsx +168 -0
  534. package/dist/components/catalyst-ui/hooks/use-delegated-anchors.tsx +87 -0
  535. package/dist/components/catalyst-ui/hooks/use-document-title.tsx +14 -0
  536. package/dist/components/catalyst-ui/hooks/use-event-callback.tsx +24 -0
  537. package/dist/components/catalyst-ui/hooks/use-event-source.tsx +69 -0
  538. package/dist/components/catalyst-ui/hooks/use-event-visibility.tsx +72 -0
  539. package/dist/components/catalyst-ui/hooks/use-expandable.tsx +18 -0
  540. package/dist/components/catalyst-ui/hooks/use-export-markdown-usage.tsx +92 -0
  541. package/dist/components/catalyst-ui/hooks/use-export-tsx.tsx +50 -0
  542. package/dist/components/catalyst-ui/hooks/use-external-scripts.tsx +44 -0
  543. package/dist/components/catalyst-ui/hooks/use-favicon.tsx +16 -0
  544. package/dist/components/catalyst-ui/hooks/use-fetch.tsx +64 -0
  545. package/dist/components/catalyst-ui/hooks/use-file-upload.tsx +405 -0
  546. package/dist/components/catalyst-ui/hooks/use-focus-within.tsx +16 -0
  547. package/dist/components/catalyst-ui/hooks/use-form.tsx +86 -0
  548. package/dist/components/catalyst-ui/hooks/use-fuse-search.tsx +155 -0
  549. package/dist/components/catalyst-ui/hooks/use-fuzzy-search.tsx +17 -0
  550. package/dist/components/catalyst-ui/hooks/use-global-loading-state.tsx +7 -0
  551. package/dist/components/catalyst-ui/hooks/use-global-navigation-state.tsx +23 -0
  552. package/dist/components/catalyst-ui/hooks/use-global-pending-state.tsx +10 -0
  553. package/dist/components/catalyst-ui/hooks/use-global-submitting-state.tsx +7 -0
  554. package/dist/components/catalyst-ui/hooks/use-google-font.tsx +39 -0
  555. package/dist/components/catalyst-ui/hooks/use-hover.tsx +24 -0
  556. package/dist/components/catalyst-ui/hooks/use-hydrated.tsx +31 -0
  557. package/dist/components/catalyst-ui/hooks/use-intersection-observer.tsx +28 -0
  558. package/dist/components/catalyst-ui/hooks/use-isomorphic-layout-effect.tsx +9 -0
  559. package/dist/components/catalyst-ui/hooks/use-key-press.tsx +30 -0
  560. package/dist/components/catalyst-ui/hooks/use-keyboard-shortcut.tsx +69 -0
  561. package/dist/components/catalyst-ui/hooks/use-keyboard.tsx +16 -0
  562. package/dist/components/catalyst-ui/hooks/use-local-storage-auto-save.tsx +24 -0
  563. package/dist/components/catalyst-ui/hooks/use-local-storage.tsx +32 -0
  564. package/dist/components/catalyst-ui/hooks/use-locales.tsx +40 -0
  565. package/dist/components/catalyst-ui/hooks/use-long-press.tsx +16 -0
  566. package/dist/components/catalyst-ui/hooks/use-markdown-batches.tsx +120 -0
  567. package/dist/components/catalyst-ui/hooks/use-markdown-to-html.tsx +42 -0
  568. package/dist/components/catalyst-ui/hooks/use-mount-effect.tsx +5 -0
  569. package/dist/components/catalyst-ui/hooks/use-mounted.tsx +11 -0
  570. package/dist/components/catalyst-ui/hooks/use-mouse-enter.tsx +13 -0
  571. package/dist/components/catalyst-ui/hooks/use-move.tsx +16 -0
  572. package/dist/components/catalyst-ui/hooks/use-mutation-observer-useage.tsx +96 -0
  573. package/dist/components/catalyst-ui/hooks/use-mutation-observer.tsx +117 -0
  574. package/dist/components/catalyst-ui/hooks/use-on-click-outside.tsx +38 -0
  575. package/dist/components/catalyst-ui/hooks/use-online-status.tsx +23 -0
  576. package/dist/components/catalyst-ui/hooks/use-outside-click.tsx +25 -0
  577. package/dist/components/catalyst-ui/hooks/use-overlay-listener.tsx +31 -0
  578. package/dist/components/catalyst-ui/hooks/use-overlay-scroll-listener.tsx +128 -0
  579. package/dist/components/catalyst-ui/hooks/use-pagination.tsx +68 -0
  580. package/dist/components/catalyst-ui/hooks/use-press.tsx +17 -0
  581. package/dist/components/catalyst-ui/hooks/use-previous.tsx +13 -0
  582. package/dist/components/catalyst-ui/hooks/use-read-local-storage.tsx +73 -0
  583. package/dist/components/catalyst-ui/hooks/use-reducer.tsx +0 -0
  584. package/dist/components/catalyst-ui/hooks/use-resize-listener.tsx +18 -0
  585. package/dist/components/catalyst-ui/hooks/use-screen.tsx +100 -0
  586. package/dist/components/catalyst-ui/hooks/use-script.tsx +102 -0
  587. package/dist/components/catalyst-ui/hooks/use-scroll-lock.tsx +91 -0
  588. package/dist/components/catalyst-ui/hooks/use-scroll-position.tsx +23 -0
  589. package/dist/components/catalyst-ui/hooks/use-sec-fetch-parser.tsx +52 -0
  590. package/dist/components/catalyst-ui/hooks/use-session-storage.tsx +31 -0
  591. package/dist/components/catalyst-ui/hooks/use-should-hydrate.tsx +27 -0
  592. package/dist/components/catalyst-ui/hooks/use-slide-in-1.tsx +96 -0
  593. package/dist/components/catalyst-ui/hooks/use-slide-in.tsx +368 -0
  594. package/dist/components/catalyst-ui/hooks/use-slider-with-input.tsx +106 -0
  595. package/dist/components/catalyst-ui/hooks/use-smooth-scroll.tsx +35 -0
  596. package/dist/components/catalyst-ui/hooks/use-stream.tsx +576 -0
  597. package/dist/components/catalyst-ui/hooks/use-tailwind-converter.tsx +465 -0
  598. package/dist/components/catalyst-ui/hooks/use-throttle.tsx +22 -0
  599. package/dist/components/catalyst-ui/hooks/use-transition.tsx +0 -0
  600. package/dist/components/catalyst-ui/hooks/use-unmount-effect.tsx +15 -0
  601. package/dist/components/catalyst-ui/hooks/use-update-effect.tsx +13 -0
  602. package/dist/components/catalyst-ui/hooks/use-validate-credit-card.tsx +112 -0
  603. package/dist/components/catalyst-ui/hooks/use-window-size.tsx +23 -0
  604. package/dist/components/catalyst-ui/hooks/useDevList.tsx +185 -0
  605. package/dist/components/catalyst-ui/hooks/useOnWindowResize.tsx +15 -0
  606. package/dist/components/catalyst-ui/index.ts +38 -0
  607. package/dist/components/catalyst-ui/inputs/autocomplete.tsx +569 -0
  608. package/dist/components/catalyst-ui/inputs/autocomplete1.tsx +323 -0
  609. package/dist/components/catalyst-ui/inputs/cc-input.tsx +44 -0
  610. package/dist/components/catalyst-ui/inputs/email-address-input.tsx +17 -0
  611. package/dist/components/catalyst-ui/inputs/index.ts +30 -0
  612. package/dist/components/catalyst-ui/inputs/input-with-characters-left.tsx +41 -0
  613. package/dist/components/catalyst-ui/inputs/input-with-end-add-on.tsx +25 -0
  614. package/dist/components/catalyst-ui/inputs/input-with-end-button.tsx +27 -0
  615. package/dist/components/catalyst-ui/inputs/input-with-end-icon-button.tsx +29 -0
  616. package/dist/components/catalyst-ui/inputs/input-with-end-inline-add-on.tsx +24 -0
  617. package/dist/components/catalyst-ui/inputs/input-with-end-inline-button.tsx +24 -0
  618. package/dist/components/catalyst-ui/inputs/input-with-end-select.tsx +27 -0
  619. package/dist/components/catalyst-ui/inputs/input-with-inline-add-ons.tsx +27 -0
  620. package/dist/components/catalyst-ui/inputs/input-with-inline-start-and-end-add-on.tsx +27 -0
  621. package/dist/components/catalyst-ui/inputs/input-with-inner-tags.tsx +60 -0
  622. package/dist/components/catalyst-ui/inputs/input-with-inset-label.tsx +23 -0
  623. package/dist/components/catalyst-ui/inputs/input-with-mask.tsx +44 -0
  624. package/dist/components/catalyst-ui/inputs/input-with-password-strength-indicator.tsx +137 -0
  625. package/dist/components/catalyst-ui/inputs/input-with-start-add-on.tsx +24 -0
  626. package/dist/components/catalyst-ui/inputs/input-with-start-inline-add-on.tsx +24 -0
  627. package/dist/components/catalyst-ui/inputs/input-with-start-select.tsx +30 -0
  628. package/dist/components/catalyst-ui/inputs/input-with-tags.tsx +72 -0
  629. package/dist/components/catalyst-ui/inputs/number-input-with-chevrons.tsx +61 -0
  630. package/dist/components/catalyst-ui/inputs/number-input-with-plus-minus-buttons.tsx +52 -0
  631. package/dist/components/catalyst-ui/inputs/search-input-with-icon-and-button.tsx +32 -0
  632. package/dist/components/catalyst-ui/inputs/search-input-with-kbd.tsx +26 -0
  633. package/dist/components/catalyst-ui/inputs/search-input-with-loader.tsx +59 -0
  634. package/dist/components/catalyst-ui/interactive/3d-pin.tsx +175 -0
  635. package/dist/components/catalyst-ui/interactive/action-sheet.tsx +240 -0
  636. package/dist/components/catalyst-ui/interactive/activity-card.tsx +196 -0
  637. package/dist/components/catalyst-ui/interactive/ai-prompt.tsx +441 -0
  638. package/dist/components/catalyst-ui/interactive/animated-cursor.tsx +254 -0
  639. package/dist/components/catalyst-ui/interactive/background-paths.tsx +172 -0
  640. package/dist/components/catalyst-ui/interactive/can-edit.tsx +100 -0
  641. package/dist/components/catalyst-ui/interactive/color-swatch.tsx +441 -0
  642. package/dist/components/catalyst-ui/interactive/currency-transfer.tsx +228 -0
  643. package/dist/components/catalyst-ui/interactive/cursor.tsx +109 -0
  644. package/dist/components/catalyst-ui/interactive/drag-and-drop.tsx +374 -0
  645. package/dist/components/catalyst-ui/interactive/drawing-2.tsx +1147 -0
  646. package/dist/components/catalyst-ui/interactive/drawing.tsx +576 -0
  647. package/dist/components/catalyst-ui/interactive/drop-zone-external.tsx +377 -0
  648. package/dist/components/catalyst-ui/interactive/drop-zone.tsx +399 -0
  649. package/dist/components/catalyst-ui/interactive/dropzone-1.tsx +259 -0
  650. package/dist/components/catalyst-ui/interactive/export-excel.tsx +201 -0
  651. package/dist/components/catalyst-ui/interactive/file-upload.tsx +403 -0
  652. package/dist/components/catalyst-ui/interactive/file_upload-1.tsx +422 -0
  653. package/dist/components/catalyst-ui/interactive/filesaver.tsx +51 -0
  654. package/dist/components/catalyst-ui/interactive/gantt-1.tsx +1464 -0
  655. package/dist/components/catalyst-ui/interactive/highlight.tsx +84 -0
  656. package/dist/components/catalyst-ui/interactive/index.ts +49 -0
  657. package/dist/components/catalyst-ui/interactive/kanban-1.tsx +338 -0
  658. package/dist/components/catalyst-ui/interactive/lens.tsx +121 -0
  659. package/dist/components/catalyst-ui/interactive/magnetic.tsx +105 -0
  660. package/dist/components/catalyst-ui/interactive/mouse-effect-card.tsx +158 -0
  661. package/dist/components/catalyst-ui/interactive/pdf-generator.tsx +414 -0
  662. package/dist/components/catalyst-ui/interactive/pdf-signature.tsx +623 -0
  663. package/dist/components/catalyst-ui/interactive/pdf-viewer.tsx +931 -0
  664. package/dist/components/catalyst-ui/interactive/pointer.tsx +108 -0
  665. package/dist/components/catalyst-ui/interactive/ripple.tsx +103 -0
  666. package/dist/components/catalyst-ui/interactive/scroll-based-velocity.tsx +205 -0
  667. package/dist/components/catalyst-ui/interactive/signature.tsx +606 -0
  668. package/dist/components/catalyst-ui/interactive/smooth-cursor.tsx +236 -0
  669. package/dist/components/catalyst-ui/interactive/sortable.tsx +420 -0
  670. package/dist/components/catalyst-ui/interactive/spreadsheet.tsx +601 -0
  671. package/dist/components/catalyst-ui/interactive/task-board.tsx +902 -0
  672. package/dist/components/catalyst-ui/interactive/terminal.tsx +587 -0
  673. package/dist/components/catalyst-ui/interactive/tour-1.tsx +426 -0
  674. package/dist/components/catalyst-ui/interactive/tour.tsx +830 -0
  675. package/dist/components/catalyst-ui/interactive/transition.tsx +913 -0
  676. package/dist/components/catalyst-ui/interactive/transitionable-portal.tsx +0 -0
  677. package/dist/components/catalyst-ui/interactive/tree-view.tsx +427 -0
  678. package/dist/components/catalyst-ui/interactive/virtualizer.tsx +233 -0
  679. package/dist/components/catalyst-ui/interactive/watermark.tsx +211 -0
  680. package/dist/components/catalyst-ui/lo-fi/components/AboutPageLoFi.tsx +19 -0
  681. package/dist/components/catalyst-ui/lo-fi/components/ActionPanelLoFi.tsx +22 -0
  682. package/dist/components/catalyst-ui/lo-fi/components/AnchorLoFi-lofi.tsx +11 -0
  683. package/dist/components/catalyst-ui/lo-fi/components/ButtonGroupLoFi.tsx +11 -0
  684. package/dist/components/catalyst-ui/lo-fi/components/ButtonIconLoFi.tsx +10 -0
  685. package/dist/components/catalyst-ui/lo-fi/components/ButtonLinkLoFi.tsx +5 -0
  686. package/dist/components/catalyst-ui/lo-fi/components/ButtonLoadingLoFi.tsx +9 -0
  687. package/dist/components/catalyst-ui/lo-fi/components/CalendarForSidebarLoFi.tsx +21 -0
  688. package/dist/components/catalyst-ui/lo-fi/components/CalendarMultiDayLoFi.tsx +23 -0
  689. package/dist/components/catalyst-ui/lo-fi/components/CalloutLoFi.tsx +23 -0
  690. package/dist/components/catalyst-ui/lo-fi/components/Chart.tsx +239 -0
  691. package/dist/components/catalyst-ui/lo-fi/components/ContainerLoFi.tsx +13 -0
  692. package/dist/components/catalyst-ui/lo-fi/components/CopyTextLoFi.tsx +10 -0
  693. package/dist/components/catalyst-ui/lo-fi/components/DebouncedInputLoFi.tsx +10 -0
  694. package/dist/components/catalyst-ui/lo-fi/components/DescriptionListLoFi.tsx +14 -0
  695. package/dist/components/catalyst-ui/lo-fi/components/EditorLoFi.tsx +14 -0
  696. package/dist/components/catalyst-ui/lo-fi/components/EmptyStateLoFi.tsx +12 -0
  697. package/dist/components/catalyst-ui/lo-fi/components/ErrorPageLoFi.tsx +12 -0
  698. package/dist/components/catalyst-ui/lo-fi/components/ExportFileLoFi.tsx +16 -0
  699. package/dist/components/catalyst-ui/lo-fi/components/FlyoutMenuLoFi.tsx +14 -0
  700. package/dist/components/catalyst-ui/lo-fi/components/FormLayoutLoFi.tsx +15 -0
  701. package/dist/components/catalyst-ui/lo-fi/components/HeroCalendar.tsx +115 -0
  702. package/dist/components/catalyst-ui/lo-fi/components/HeroLoFi.tsx +17 -0
  703. package/dist/components/catalyst-ui/lo-fi/components/ListLoFi.tsx +11 -0
  704. package/dist/components/catalyst-ui/lo-fi/components/LoadingLoFi.tsx +10 -0
  705. package/dist/components/catalyst-ui/lo-fi/components/LogoCloudLoFi.tsx +11 -0
  706. package/dist/components/catalyst-ui/lo-fi/components/MediaObjectLoFi.tsx +14 -0
  707. package/dist/components/catalyst-ui/lo-fi/components/MultiColumnLayoutLoFi.tsx +11 -0
  708. package/dist/components/catalyst-ui/lo-fi/components/NavButtonLoFi.tsx +6 -0
  709. package/dist/components/catalyst-ui/lo-fi/components/NavButtonStyledLoFi.tsx +11 -0
  710. package/dist/components/catalyst-ui/lo-fi/components/ScaffoldingLoFi.tsx +13 -0
  711. package/dist/components/catalyst-ui/lo-fi/components/SectionHeadingLoFi.tsx +11 -0
  712. package/dist/components/catalyst-ui/lo-fi/components/VerticalNavigationLoFi.tsx +11 -0
  713. package/dist/components/catalyst-ui/lo-fi/components/accordion-lofi.tsx +76 -0
  714. package/dist/components/catalyst-ui/lo-fi/components/accountForm-lofi.tsx +21 -0
  715. package/dist/components/catalyst-ui/lo-fi/components/alert-lofi.tsx +18 -0
  716. package/dist/components/catalyst-ui/lo-fi/components/alertDialog-lofi.tsx +14 -0
  717. package/dist/components/catalyst-ui/lo-fi/components/announcement-lofi.tsx +20 -0
  718. package/dist/components/catalyst-ui/lo-fi/components/aspectRatio-lofi.tsx +9 -0
  719. package/dist/components/catalyst-ui/lo-fi/components/authenticator-lofi.tsx +24 -0
  720. package/dist/components/catalyst-ui/lo-fi/components/avatar-lofi.tsx +6 -0
  721. package/dist/components/catalyst-ui/lo-fi/components/badge-lofi.tsx +5 -0
  722. package/dist/components/catalyst-ui/lo-fi/components/banner.tsx +31 -0
  723. package/dist/components/catalyst-ui/lo-fi/components/bento-grid.tsx +31 -0
  724. package/dist/components/catalyst-ui/lo-fi/components/blog.tsx +37 -0
  725. package/dist/components/catalyst-ui/lo-fi/components/breadcrumb.tsx +13 -0
  726. package/dist/components/catalyst-ui/lo-fi/components/button.tsx +11 -0
  727. package/dist/components/catalyst-ui/lo-fi/components/card-header.tsx +16 -0
  728. package/dist/components/catalyst-ui/lo-fi/components/card-heading.tsx +30 -0
  729. package/dist/components/catalyst-ui/lo-fi/components/card.tsx +16 -0
  730. package/dist/components/catalyst-ui/lo-fi/components/carousel.tsx +14 -0
  731. package/dist/components/catalyst-ui/lo-fi/components/cart.tsx +21 -0
  732. package/dist/components/catalyst-ui/lo-fi/components/catchAll.tsx +660 -0
  733. package/dist/components/catalyst-ui/lo-fi/components/categoryFilter.tsx +19 -0
  734. package/dist/components/catalyst-ui/lo-fi/components/categoryPage.tsx +31 -0
  735. package/dist/components/catalyst-ui/lo-fi/components/categoryPreviews.tsx +20 -0
  736. package/dist/components/catalyst-ui/lo-fi/components/checkbox.tsx +10 -0
  737. package/dist/components/catalyst-ui/lo-fi/components/checkout-form.tsx +27 -0
  738. package/dist/components/catalyst-ui/lo-fi/components/checkout.tsx +34 -0
  739. package/dist/components/catalyst-ui/lo-fi/components/checkoutPage.tsx +67 -0
  740. package/dist/components/catalyst-ui/lo-fi/components/clientOnly.tsx +34 -0
  741. package/dist/components/catalyst-ui/lo-fi/components/collapsible.tsx +13 -0
  742. package/dist/components/catalyst-ui/lo-fi/components/columns.tsx +23 -0
  743. package/dist/components/catalyst-ui/lo-fi/components/combobox.tsx +13 -0
  744. package/dist/components/catalyst-ui/lo-fi/components/contact-section.tsx +28 -0
  745. package/dist/components/catalyst-ui/lo-fi/components/content-section.tsx +20 -0
  746. package/dist/components/catalyst-ui/lo-fi/components/cookieSettings.tsx +34 -0
  747. package/dist/components/catalyst-ui/lo-fi/components/cta-section.tsx +17 -0
  748. package/dist/components/catalyst-ui/lo-fi/components/data.tsx +19 -0
  749. package/dist/components/catalyst-ui/lo-fi/components/dataTable.tsx +36 -0
  750. package/dist/components/catalyst-ui/lo-fi/components/datePicker.tsx +10 -0
  751. package/dist/components/catalyst-ui/lo-fi/components/details.tsx +36 -0
  752. package/dist/components/catalyst-ui/lo-fi/components/dialog.tsx +16 -0
  753. package/dist/components/catalyst-ui/lo-fi/components/display-code.tsx +19 -0
  754. package/dist/components/catalyst-ui/lo-fi/components/dropdown.tsx +15 -0
  755. package/dist/components/catalyst-ui/lo-fi/components/dropdownMenu.tsx +13 -0
  756. package/dist/components/catalyst-ui/lo-fi/components/faq-section.tsx +28 -0
  757. package/dist/components/catalyst-ui/lo-fi/components/feature-section.tsx +20 -0
  758. package/dist/components/catalyst-ui/lo-fi/components/feature.tsx +26 -0
  759. package/dist/components/catalyst-ui/lo-fi/components/feedList.tsx +26 -0
  760. package/dist/components/catalyst-ui/lo-fi/components/footer.tsx +40 -0
  761. package/dist/components/catalyst-ui/lo-fi/components/form.tsx +17 -0
  762. package/dist/components/catalyst-ui/lo-fi/components/fourofour.tsx +42 -0
  763. package/dist/components/catalyst-ui/lo-fi/components/gridLists.tsx +36 -0
  764. package/dist/components/catalyst-ui/lo-fi/components/header.tsx +23 -0
  765. package/dist/components/catalyst-ui/lo-fi/components/hero.tsx +21 -0
  766. package/dist/components/catalyst-ui/lo-fi/components/homeScreen.tsx +31 -0
  767. package/dist/components/catalyst-ui/lo-fi/components/hooks.tsx +31 -0
  768. package/dist/components/catalyst-ui/lo-fi/components/hoverCard.tsx +13 -0
  769. package/dist/components/catalyst-ui/lo-fi/components/icons.tsx +18 -0
  770. package/dist/components/catalyst-ui/lo-fi/components/image.tsx +24 -0
  771. package/dist/components/catalyst-ui/lo-fi/components/incentives.tsx +26 -0
  772. package/dist/components/catalyst-ui/lo-fi/components/index.ts +152 -0
  773. package/dist/components/catalyst-ui/lo-fi/components/input.tsx +10 -0
  774. package/dist/components/catalyst-ui/lo-fi/components/label.tsx +5 -0
  775. package/dist/components/catalyst-ui/lo-fi/components/landingPage.tsx +35 -0
  776. package/dist/components/catalyst-ui/lo-fi/components/loadingPage.tsx +23 -0
  777. package/dist/components/catalyst-ui/lo-fi/components/menubar.tsx +14 -0
  778. package/dist/components/catalyst-ui/lo-fi/components/motherboard-blog.tsx +178 -0
  779. package/dist/components/catalyst-ui/lo-fi/components/motherboard.tsx +91 -0
  780. package/dist/components/catalyst-ui/lo-fi/components/newsletter.tsx +25 -0
  781. package/dist/components/catalyst-ui/lo-fi/components/notifications.tsx +21 -0
  782. package/dist/components/catalyst-ui/lo-fi/components/orderDetails.tsx +51 -0
  783. package/dist/components/catalyst-ui/lo-fi/components/orderHistory.tsx +35 -0
  784. package/dist/components/catalyst-ui/lo-fi/components/orderSumaries.tsx +34 -0
  785. package/dist/components/catalyst-ui/lo-fi/components/pageHeading.tsx +26 -0
  786. package/dist/components/catalyst-ui/lo-fi/components/pageNav.tsx +17 -0
  787. package/dist/components/catalyst-ui/lo-fi/components/pagination.tsx +13 -0
  788. package/dist/components/catalyst-ui/lo-fi/components/paymentMethod.tsx +32 -0
  789. package/dist/components/catalyst-ui/lo-fi/components/pricing.tsx +34 -0
  790. package/dist/components/catalyst-ui/lo-fi/components/pricingPage.tsx +47 -0
  791. package/dist/components/catalyst-ui/lo-fi/components/prisma.tsx +23 -0
  792. package/dist/components/catalyst-ui/lo-fi/components/product-card.tsx +12 -0
  793. package/dist/components/catalyst-ui/lo-fi/components/product-gallery.tsx +10 -0
  794. package/dist/components/catalyst-ui/lo-fi/components/productList.tsx +41 -0
  795. package/dist/components/catalyst-ui/lo-fi/components/productOverview.tsx +62 -0
  796. package/dist/components/catalyst-ui/lo-fi/components/productsFeatured.tsx +43 -0
  797. package/dist/components/catalyst-ui/lo-fi/components/progress.tsx +15 -0
  798. package/dist/components/catalyst-ui/lo-fi/components/promo.tsx +33 -0
  799. package/dist/components/catalyst-ui/lo-fi/components/radioGroup.tsx +14 -0
  800. package/dist/components/catalyst-ui/lo-fi/components/reportIssue.tsx +22 -0
  801. package/dist/components/catalyst-ui/lo-fi/components/review.tsx +14 -0
  802. package/dist/components/catalyst-ui/lo-fi/components/reviews.tsx +60 -0
  803. package/dist/components/catalyst-ui/lo-fi/components/sales-lofi.tsx +257 -0
  804. package/dist/components/catalyst-ui/lo-fi/components/scaffolding.tsx +46 -0
  805. package/dist/components/catalyst-ui/lo-fi/components/scrollBar.tsx +24 -0
  806. package/dist/components/catalyst-ui/lo-fi/components/select.tsx +13 -0
  807. package/dist/components/catalyst-ui/lo-fi/components/settings.tsx +32 -0
  808. package/dist/components/catalyst-ui/lo-fi/components/shoppingCart.tsx +52 -0
  809. package/dist/components/catalyst-ui/lo-fi/components/sidebar.tsx +38 -0
  810. package/dist/components/catalyst-ui/lo-fi/components/skeleton.tsx +11 -0
  811. package/dist/components/catalyst-ui/lo-fi/components/slider.tsx +16 -0
  812. package/dist/components/catalyst-ui/lo-fi/components/stacked-lofi.tsx +43 -0
  813. package/dist/components/catalyst-ui/lo-fi/components/stacked.tsx +52 -0
  814. package/dist/components/catalyst-ui/lo-fi/components/stats.tsx +25 -0
  815. package/dist/components/catalyst-ui/lo-fi/components/storeFront.tsx +65 -0
  816. package/dist/components/catalyst-ui/lo-fi/components/storeNav.tsx +37 -0
  817. package/dist/components/catalyst-ui/lo-fi/components/switch.tsx +9 -0
  818. package/dist/components/catalyst-ui/lo-fi/components/tabs.tsx +29 -0
  819. package/dist/components/catalyst-ui/lo-fi/components/tailwind.tsx +22 -0
  820. package/dist/components/catalyst-ui/lo-fi/components/team.tsx +27 -0
  821. package/dist/components/catalyst-ui/lo-fi/components/team2.tsx +27 -0
  822. package/dist/components/catalyst-ui/lo-fi/components/templatePage.tsx +19 -0
  823. package/dist/components/catalyst-ui/lo-fi/components/testimonial.tsx +36 -0
  824. package/dist/components/catalyst-ui/lo-fi/components/testtimonial.tsx +35 -0
  825. package/dist/components/catalyst-ui/lo-fi/components/textarea.tsx +10 -0
  826. package/dist/components/catalyst-ui/lo-fi/components/toast.tsx +13 -0
  827. package/dist/components/catalyst-ui/lo-fi/components/toggle.tsx +12 -0
  828. package/dist/components/catalyst-ui/lo-fi/components/tooltip.tsx +12 -0
  829. package/dist/components/catalyst-ui/lo-fi/components/useHydrated.tsx +38 -0
  830. package/dist/components/catalyst-ui/lo-fi/index.ts +528 -0
  831. package/dist/components/catalyst-ui/lo-fi/utils/atom.tsx +30 -0
  832. package/dist/components/catalyst-ui/lo-fi/utils/component.tsx +28 -0
  833. package/dist/components/catalyst-ui/lo-fi/v2/AIPromptLoFi.tsx +17 -0
  834. package/dist/components/catalyst-ui/lo-fi/v2/AboutLoFi.tsx +19 -0
  835. package/dist/components/catalyst-ui/lo-fi/v2/AccessLoFi.tsx +14 -0
  836. package/dist/components/catalyst-ui/lo-fi/v2/AccountLoFi.tsx +19 -0
  837. package/dist/components/catalyst-ui/lo-fi/v2/ActivityGoalLoFi.tsx +20 -0
  838. package/dist/components/catalyst-ui/lo-fi/v2/AiChatLoFi.tsx +29 -0
  839. package/dist/components/catalyst-ui/lo-fi/v2/AlertV1LoFi.tsx +13 -0
  840. package/dist/components/catalyst-ui/lo-fi/v2/AspectRatioLoFi.tsx +11 -0
  841. package/dist/components/catalyst-ui/lo-fi/v2/AuthProviderLoFi.tsx +18 -0
  842. package/dist/components/catalyst-ui/lo-fi/v2/AuthSystemLoFi.tsx +23 -0
  843. package/dist/components/catalyst-ui/lo-fi/v2/AutoCompleteV2LoFi.tsx +17 -0
  844. package/dist/components/catalyst-ui/lo-fi/v2/BLoFi.tsx +9 -0
  845. package/dist/components/catalyst-ui/lo-fi/v2/BankLoFi.tsx +26 -0
  846. package/dist/components/catalyst-ui/lo-fi/v2/BarcodeLoFi.tsx +24 -0
  847. package/dist/components/catalyst-ui/lo-fi/v2/BasicAuthMiddlewareLoFi.tsx +16 -0
  848. package/dist/components/catalyst-ui/lo-fi/v2/BatcherMiddlewareLoFi.tsx +17 -0
  849. package/dist/components/catalyst-ui/lo-fi/v2/BlocksLoFi.tsx +15 -0
  850. package/dist/components/catalyst-ui/lo-fi/v2/BlogEditorLoFi.tsx +25 -0
  851. package/dist/components/catalyst-ui/lo-fi/v2/BlogListLoFi.tsx +17 -0
  852. package/dist/components/catalyst-ui/lo-fi/v2/BlogSidebarLoFi.tsx +20 -0
  853. package/dist/components/catalyst-ui/lo-fi/v2/BoxLoFi.tsx +10 -0
  854. package/dist/components/catalyst-ui/lo-fi/v2/CORSMiddlewareLoFi.tsx +17 -0
  855. package/dist/components/catalyst-ui/lo-fi/v2/CSSLoFi.tsx +17 -0
  856. package/dist/components/catalyst-ui/lo-fi/v2/CalendarLoFi.tsx +25 -0
  857. package/dist/components/catalyst-ui/lo-fi/v2/CallOutLoFi.tsx +16 -0
  858. package/dist/components/catalyst-ui/lo-fi/v2/CarServiceLoFi.tsx +18 -0
  859. package/dist/components/catalyst-ui/lo-fi/v2/CardsLoFi.tsx +16 -0
  860. package/dist/components/catalyst-ui/lo-fi/v2/CarouselHeroLoFi.tsx +15 -0
  861. package/dist/components/catalyst-ui/lo-fi/v2/CategoriesNavigationLoFi.tsx +13 -0
  862. package/dist/components/catalyst-ui/lo-fi/v2/CategoryFiltersSectionCenteredLoFi.tsx +13 -0
  863. package/dist/components/catalyst-ui/lo-fi/v2/CategoryFiltersSectionLoFi.tsx +15 -0
  864. package/dist/components/catalyst-ui/lo-fi/v2/CategoryFiltersSidebarLoFi.tsx +22 -0
  865. package/dist/components/catalyst-ui/lo-fi/v2/ChatBubbleLoFi.tsx +14 -0
  866. package/dist/components/catalyst-ui/lo-fi/v2/ChatLoFi.tsx +22 -0
  867. package/dist/components/catalyst-ui/lo-fi/v2/CheckListLoFi.tsx +14 -0
  868. package/dist/components/catalyst-ui/lo-fi/v2/CheckboxMultistateLoFi.tsx +11 -0
  869. package/dist/components/catalyst-ui/lo-fi/v2/CheckboxTristateLoFi.tsx +11 -0
  870. package/dist/components/catalyst-ui/lo-fi/v2/CheckoutCancelLoFi.tsx +12 -0
  871. package/dist/components/catalyst-ui/lo-fi/v2/CheckoutSuccessLoFi.tsx +12 -0
  872. package/dist/components/catalyst-ui/lo-fi/v2/CheckoutVariousLoFi.tsx +16 -0
  873. package/dist/components/catalyst-ui/lo-fi/v2/ClientOnlyLoFi.tsx +13 -0
  874. package/dist/components/catalyst-ui/lo-fi/v2/CnLoFi.tsx +13 -0
  875. package/dist/components/catalyst-ui/lo-fi/v2/CodeSectionLoFi.tsx +21 -0
  876. package/dist/components/catalyst-ui/lo-fi/v2/CollapsesToIconsLoFi.tsx +11 -0
  877. package/dist/components/catalyst-ui/lo-fi/v2/CollapsibleFileTreeLoFi.tsx +26 -0
  878. package/dist/components/catalyst-ui/lo-fi/v2/ConfigSectionLoFi.tsx +26 -0
  879. package/dist/components/catalyst-ui/lo-fi/v2/ConfirmPopupLoFi.tsx +15 -0
  880. package/dist/components/catalyst-ui/lo-fi/v2/ContactLoFi.tsx +13 -0
  881. package/dist/components/catalyst-ui/lo-fi/v2/ContainerLoFi.tsx +11 -0
  882. package/dist/components/catalyst-ui/lo-fi/v2/ContextStorageMiddlewareLoFi.tsx +18 -0
  883. package/dist/components/catalyst-ui/lo-fi/v2/CookieSettingsLoFi.tsx +22 -0
  884. package/dist/components/catalyst-ui/lo-fi/v2/CoreLoFi.tsx +13 -0
  885. package/dist/components/catalyst-ui/lo-fi/v2/CreateAccountLoFi.tsx +16 -0
  886. package/dist/components/catalyst-ui/lo-fi/v2/DashboardLoFi.tsx +13 -0
  887. package/dist/components/catalyst-ui/lo-fi/v2/DashboardSidebarLoFi.tsx +17 -0
  888. package/dist/components/catalyst-ui/lo-fi/v2/DebouncedFetcherAndSubmitLoFi.tsx +11 -0
  889. package/dist/components/catalyst-ui/lo-fi/v2/DebouncedInputLoFi.tsx +10 -0
  890. package/dist/components/catalyst-ui/lo-fi/v2/DefaultStyledLoFi.tsx +11 -0
  891. package/dist/components/catalyst-ui/lo-fi/v2/DeferredContentLoFi.tsx +14 -0
  892. package/dist/components/catalyst-ui/lo-fi/v2/DelegateAnchorsToRemixLoFi.tsx +11 -0
  893. package/dist/components/catalyst-ui/lo-fi/v2/DetailLoFi.tsx +12 -0
  894. package/dist/components/catalyst-ui/lo-fi/v2/DeviceMockupLoFi.tsx +15 -0
  895. package/dist/components/catalyst-ui/lo-fi/v2/DiffLoFi.tsx +15 -0
  896. package/dist/components/catalyst-ui/lo-fi/v2/DisplayCodeLoFi.tsx +20 -0
  897. package/dist/components/catalyst-ui/lo-fi/v2/DockLoFi.tsx +13 -0
  898. package/dist/components/catalyst-ui/lo-fi/v2/DragAndDropLoFi.tsx +15 -0
  899. package/dist/components/catalyst-ui/lo-fi/v2/DrawerLoFi.tsx +16 -0
  900. package/dist/components/catalyst-ui/lo-fi/v2/DrawingLoFi.tsx +18 -0
  901. package/dist/components/catalyst-ui/lo-fi/v2/DrawingV2LoFi.tsx +21 -0
  902. package/dist/components/catalyst-ui/lo-fi/v2/DropZoneLoFi.tsx +12 -0
  903. package/dist/components/catalyst-ui/lo-fi/v2/ECommerceLoFi.tsx +14 -0
  904. package/dist/components/catalyst-ui/lo-fi/v2/EmbedLoFi.tsx +13 -0
  905. package/dist/components/catalyst-ui/lo-fi/v2/EmblaCarouselLoFi.tsx +18 -0
  906. package/dist/components/catalyst-ui/lo-fi/v2/EmblaCarouselSnapLoFi.tsx +12 -0
  907. package/dist/components/catalyst-ui/lo-fi/v2/EnhancedChartLoFi.tsx +29 -0
  908. package/dist/components/catalyst-ui/lo-fi/v2/ErrorLoFi.tsx +12 -0
  909. package/dist/components/catalyst-ui/lo-fi/v2/ExerciseMinutesLoFi.tsx +16 -0
  910. package/dist/components/catalyst-ui/lo-fi/v2/FABLoFi.tsx +10 -0
  911. package/dist/components/catalyst-ui/lo-fi/v2/FaqLoFi.tsx +12 -0
  912. package/dist/components/catalyst-ui/lo-fi/v2/FeatureSectionLoFi.tsx +29 -0
  913. package/dist/components/catalyst-ui/lo-fi/v2/FeedLoFi.tsx +28 -0
  914. package/dist/components/catalyst-ui/lo-fi/v2/FileManagerLoFi.tsx +18 -0
  915. package/dist/components/catalyst-ui/lo-fi/v2/FilterComboboxLoFi.tsx +11 -0
  916. package/dist/components/catalyst-ui/lo-fi/v2/FilterDrawerLoFi.tsx +17 -0
  917. package/dist/components/catalyst-ui/lo-fi/v2/FilterTanStackTableLoFi.tsx +11 -0
  918. package/dist/components/catalyst-ui/lo-fi/v2/FixedMarkerLoFi.tsx +10 -0
  919. package/dist/components/catalyst-ui/lo-fi/v2/FlexboxGridLoFi.tsx +13 -0
  920. package/dist/components/catalyst-ui/lo-fi/v2/FloatingSidebarWithSubmenusLoFi.tsx +18 -0
  921. package/dist/components/catalyst-ui/lo-fi/v2/ForLoFi.tsx +11 -0
  922. package/dist/components/catalyst-ui/lo-fi/v2/ForgotPasswordLoFi.tsx +12 -0
  923. package/dist/components/catalyst-ui/lo-fi/v2/FormsLoFi.tsx +13 -0
  924. package/dist/components/catalyst-ui/lo-fi/v2/Four04LoFi.tsx +12 -0
  925. package/dist/components/catalyst-ui/lo-fi/v2/FunctionalLeftRightSidebarLoFi.tsx +21 -0
  926. package/dist/components/catalyst-ui/lo-fi/v2/FuseSearchInputLoFi.tsx +11 -0
  927. package/dist/components/catalyst-ui/lo-fi/v2/FuzzyFilterLoFi.tsx +11 -0
  928. package/dist/components/catalyst-ui/lo-fi/v2/FuzzySortLoFi.tsx +14 -0
  929. package/dist/components/catalyst-ui/lo-fi/v2/GalleriaLoFi.tsx +14 -0
  930. package/dist/components/catalyst-ui/lo-fi/v2/GnattChartLoFi.tsx +20 -0
  931. package/dist/components/catalyst-ui/lo-fi/v2/GridLoFi.tsx +14 -0
  932. package/dist/components/catalyst-ui/lo-fi/v2/H3LoFi.tsx +9 -0
  933. package/dist/components/catalyst-ui/lo-fi/v2/H4LoFi.tsx +9 -0
  934. package/dist/components/catalyst-ui/lo-fi/v2/H5LoFi.tsx +9 -0
  935. package/dist/components/catalyst-ui/lo-fi/v2/HeaderNavLoFi.tsx +15 -0
  936. package/dist/components/catalyst-ui/lo-fi/v2/HelpLoFi.tsx +12 -0
  937. package/dist/components/catalyst-ui/lo-fi/v2/HighlightLoFi.tsx +13 -0
  938. package/dist/components/catalyst-ui/lo-fi/v2/HighlightV1LoFi.tsx +10 -0
  939. package/dist/components/catalyst-ui/lo-fi/v2/HomeLoFi.tsx +14 -0
  940. package/dist/components/catalyst-ui/lo-fi/v2/HoneypotMiddlewareLoFi.tsx +16 -0
  941. package/dist/components/catalyst-ui/lo-fi/v2/IBLoFi.tsx +9 -0
  942. package/dist/components/catalyst-ui/lo-fi/v2/ILoFi.tsx +9 -0
  943. package/dist/components/catalyst-ui/lo-fi/v2/ImageLoFi.tsx +9 -0
  944. package/dist/components/catalyst-ui/lo-fi/v2/ImageSectionLoFi.tsx +18 -0
  945. package/dist/components/catalyst-ui/lo-fi/v2/InADialogLoFi.tsx +17 -0
  946. package/dist/components/catalyst-ui/lo-fi/v2/IncIdLoFi.tsx +11 -0
  947. package/dist/components/catalyst-ui/lo-fi/v2/IncentivesCardLoFi.tsx +11 -0
  948. package/dist/components/catalyst-ui/lo-fi/v2/IndicatorLoFi.tsx +11 -0
  949. package/dist/components/catalyst-ui/lo-fi/v2/InsetSidebarSecondaryNavLoFi.tsx +20 -0
  950. package/dist/components/catalyst-ui/lo-fi/v2/InsufficientPermissionsLoFi.tsx +12 -0
  951. package/dist/components/catalyst-ui/lo-fi/v2/InvoiceLoFi.tsx +17 -0
  952. package/dist/components/catalyst-ui/lo-fi/v2/JWKAuthMiddlewareLoFi.tsx +17 -0
  953. package/dist/components/catalyst-ui/lo-fi/v2/LandingLoFi.tsx +12 -0
  954. package/dist/components/catalyst-ui/lo-fi/v2/LayoutLoFi.tsx +24 -0
  955. package/dist/components/catalyst-ui/lo-fi/v2/LoadErrorPageLoFi.tsx +15 -0
  956. package/dist/components/catalyst-ui/lo-fi/v2/LoadingLoFi.tsx +15 -0
  957. package/dist/components/catalyst-ui/lo-fi/v2/LoadingOverlayLoFi.tsx +13 -0
  958. package/dist/components/catalyst-ui/lo-fi/v2/LoadingPageLoFi.tsx +18 -0
  959. package/dist/components/catalyst-ui/lo-fi/v2/LoginLoFi.tsx +13 -0
  960. package/dist/components/catalyst-ui/lo-fi/v2/MailLoFi.tsx +18 -0
  961. package/dist/components/catalyst-ui/lo-fi/v2/MarketingLoFi.tsx +15 -0
  962. package/dist/components/catalyst-ui/lo-fi/v2/MegaMenuLoFi.tsx +26 -0
  963. package/dist/components/catalyst-ui/lo-fi/v2/MenuLoFi.tsx +14 -0
  964. package/dist/components/catalyst-ui/lo-fi/v2/MessageLoFi.tsx +14 -0
  965. package/dist/components/catalyst-ui/lo-fi/v2/MeterLoFi.tsx +16 -0
  966. package/dist/components/catalyst-ui/lo-fi/v2/MobileNavLoFi.tsx +12 -0
  967. package/dist/components/catalyst-ui/lo-fi/v2/ModalIntegrationsLoFi.tsx +24 -0
  968. package/dist/components/catalyst-ui/lo-fi/v2/ModalV1LoFi.tsx +20 -0
  969. package/dist/components/catalyst-ui/lo-fi/v2/MusicLoFi.tsx +17 -0
  970. package/dist/components/catalyst-ui/lo-fi/v2/NavMainLoFi.tsx +13 -0
  971. package/dist/components/catalyst-ui/lo-fi/v2/NavProjectsLoFi.tsx +20 -0
  972. package/dist/components/catalyst-ui/lo-fi/v2/NavTreeViewLoFi.tsx +17 -0
  973. package/dist/components/catalyst-ui/lo-fi/v2/NavUserLoFi.tsx +14 -0
  974. package/dist/components/catalyst-ui/lo-fi/v2/NestedComboboxLoFi.tsx +14 -0
  975. package/dist/components/catalyst-ui/lo-fi/v2/NestedCommandDialogLoFi.tsx +15 -0
  976. package/dist/components/catalyst-ui/lo-fi/v2/NestedCommandLoFi.tsx +16 -0
  977. package/dist/components/catalyst-ui/lo-fi/v2/NotFoundLoFi.tsx +12 -0
  978. package/dist/components/catalyst-ui/lo-fi/v2/NoteSectionLoFi.tsx +17 -0
  979. package/dist/components/catalyst-ui/lo-fi/v2/NotificationLoFi.tsx +14 -0
  980. package/dist/components/catalyst-ui/lo-fi/v2/OnTheRightLoFi.tsx +14 -0
  981. package/dist/components/catalyst-ui/lo-fi/v2/OrderListLoFi.tsx +17 -0
  982. package/dist/components/catalyst-ui/lo-fi/v2/OrderSummaryLoFi.tsx +17 -0
  983. package/dist/components/catalyst-ui/lo-fi/v2/OrderedListLoFi.tsx +14 -0
  984. package/dist/components/catalyst-ui/lo-fi/v2/OtpLoFi.tsx +16 -0
  985. package/dist/components/catalyst-ui/lo-fi/v2/OverlayPanelLoFi.tsx +12 -0
  986. package/dist/components/catalyst-ui/lo-fi/v2/PDFGeneratorLoFi.tsx +19 -0
  987. package/dist/components/catalyst-ui/lo-fi/v2/PMLoFi.tsx +14 -0
  988. package/dist/components/catalyst-ui/lo-fi/v2/PageHeaderLoFi.tsx +14 -0
  989. package/dist/components/catalyst-ui/lo-fi/v2/PageHeadingsSectionLoFi.tsx +11 -0
  990. package/dist/components/catalyst-ui/lo-fi/v2/PaginationButtonLoFi.tsx +8 -0
  991. package/dist/components/catalyst-ui/lo-fi/v2/PaginationWrapperLoFi.tsx +14 -0
  992. package/dist/components/catalyst-ui/lo-fi/v2/PanelLoFi.tsx +17 -0
  993. package/dist/components/catalyst-ui/lo-fi/v2/PanelMenuLoFi.tsx +17 -0
  994. package/dist/components/catalyst-ui/lo-fi/v2/PasswordInputLoFi.tsx +15 -0
  995. package/dist/components/catalyst-ui/lo-fi/v2/PaymentFormLoFi.tsx +15 -0
  996. package/dist/components/catalyst-ui/lo-fi/v2/PaymentMethodLoFi.tsx +18 -0
  997. package/dist/components/catalyst-ui/lo-fi/v2/PaymentsLoFi.tsx +22 -0
  998. package/dist/components/catalyst-ui/lo-fi/v2/PdfSignatureLoFi.tsx +14 -0
  999. package/dist/components/catalyst-ui/lo-fi/v2/PdfViewerLoFi.tsx +23 -0
  1000. package/dist/components/catalyst-ui/lo-fi/v2/PlaceholderCodeLoFi.tsx +15 -0
  1001. package/dist/components/catalyst-ui/lo-fi/v2/PlaygroundLoFi.tsx +15 -0
  1002. package/dist/components/catalyst-ui/lo-fi/v2/PopconfirmLoFi.tsx +17 -0
  1003. package/dist/components/catalyst-ui/lo-fi/v2/PrefetchAnchorsLoFi.tsx +10 -0
  1004. package/dist/components/catalyst-ui/lo-fi/v2/PrismaClientExtensionLoFi.tsx +16 -0
  1005. package/dist/components/catalyst-ui/lo-fi/v2/ProductCategoryLoFi.tsx +13 -0
  1006. package/dist/components/catalyst-ui/lo-fi/v2/ProductComparisonLoFi.tsx +14 -0
  1007. package/dist/components/catalyst-ui/lo-fi/v2/ProductDetailsLoFi.tsx +14 -0
  1008. package/dist/components/catalyst-ui/lo-fi/v2/ProductEditLoFi.tsx +12 -0
  1009. package/dist/components/catalyst-ui/lo-fi/v2/ProductPricingLoFi.tsx +12 -0
  1010. package/dist/components/catalyst-ui/lo-fi/v2/ProductsLoFi.tsx +14 -0
  1011. package/dist/components/catalyst-ui/lo-fi/v2/ProfileCreateLoFi.tsx +12 -0
  1012. package/dist/components/catalyst-ui/lo-fi/v2/ProfileListLoFi.tsx +16 -0
  1013. package/dist/components/catalyst-ui/lo-fi/v2/ProfileLoFi.tsx +12 -0
  1014. package/dist/components/catalyst-ui/lo-fi/v2/ProgressLoFi.tsx +15 -0
  1015. package/dist/components/catalyst-ui/lo-fi/v2/ProseLoFi.tsx +16 -0
  1016. package/dist/components/catalyst-ui/lo-fi/v2/QRCodeLoFi.tsx +43 -0
  1017. package/dist/components/catalyst-ui/lo-fi/v2/QaDiscussionLoFi.tsx +14 -0
  1018. package/dist/components/catalyst-ui/lo-fi/v2/QaForumLoFi.tsx +11 -0
  1019. package/dist/components/catalyst-ui/lo-fi/v2/RailLoFi.tsx +16 -0
  1020. package/dist/components/catalyst-ui/lo-fi/v2/RatingLoFi.tsx +14 -0
  1021. package/dist/components/catalyst-ui/lo-fi/v2/ReactHooksDocsLoFi.tsx +11 -0
  1022. package/dist/components/catalyst-ui/lo-fi/v2/ReceiptLoFi.tsx +17 -0
  1023. package/dist/components/catalyst-ui/lo-fi/v2/RedirectBadRequestsLoFi.tsx +11 -0
  1024. package/dist/components/catalyst-ui/lo-fi/v2/RegisterLoFi.tsx +13 -0
  1025. package/dist/components/catalyst-ui/lo-fi/v2/RemixAuthLoFi.tsx +12 -0
  1026. package/dist/components/catalyst-ui/lo-fi/v2/RemixLinkLoFi.tsx +11 -0
  1027. package/dist/components/catalyst-ui/lo-fi/v2/ReportIssueLoFi.tsx +24 -0
  1028. package/dist/components/catalyst-ui/lo-fi/v2/RequestIDMiddlewareLoFi.tsx +11 -0
  1029. package/dist/components/catalyst-ui/lo-fi/v2/ResetPasswordLoFi.tsx +12 -0
  1030. package/dist/components/catalyst-ui/lo-fi/v2/ResponsiveLinkLoFi.tsx +11 -0
  1031. package/dist/components/catalyst-ui/lo-fi/v2/RightSidebarLoFi.tsx +17 -0
  1032. package/dist/components/catalyst-ui/lo-fi/v2/SaasLoFi.tsx +15 -0
  1033. package/dist/components/catalyst-ui/lo-fi/v2/SchedulerLoFi.tsx +14 -0
  1034. package/dist/components/catalyst-ui/lo-fi/v2/ScrolltopLoFi.tsx +11 -0
  1035. package/dist/components/catalyst-ui/lo-fi/v2/SecFetchParserLoFi.tsx +20 -0
  1036. package/dist/components/catalyst-ui/lo-fi/v2/SecureHeadersMiddlewareLoFi.tsx +17 -0
  1037. package/dist/components/catalyst-ui/lo-fi/v2/ServerTimingMiddlewareLoFi.tsx +16 -0
  1038. package/dist/components/catalyst-ui/lo-fi/v2/ServiceRepairFormLoFi.tsx +13 -0
  1039. package/dist/components/catalyst-ui/lo-fi/v2/SessionLoFi.tsx +11 -0
  1040. package/dist/components/catalyst-ui/lo-fi/v2/SettingsLoFi.tsx +13 -0
  1041. package/dist/components/catalyst-ui/lo-fi/v2/ShareLoFi.tsx +21 -0
  1042. package/dist/components/catalyst-ui/lo-fi/v2/Sidebar24LoFi.tsx +17 -0
  1043. package/dist/components/catalyst-ui/lo-fi/v2/SidebarAgnosticLoFi.tsx +22 -0
  1044. package/dist/components/catalyst-ui/lo-fi/v2/SidebarDetailsLoFi.tsx +17 -0
  1045. package/dist/components/catalyst-ui/lo-fi/v2/SidebarInAPopoverLoFi.tsx +16 -0
  1046. package/dist/components/catalyst-ui/lo-fi/v2/SidebarNavLoFi.tsx +14 -0
  1047. package/dist/components/catalyst-ui/lo-fi/v2/SidebarReactRouterLoFi.tsx +24 -0
  1048. package/dist/components/catalyst-ui/lo-fi/v2/SidebarStylisticDefaultLoFi.tsx +18 -0
  1049. package/dist/components/catalyst-ui/lo-fi/v2/SidebarStylisticDefaultWRightLoFi.tsx +23 -0
  1050. package/dist/components/catalyst-ui/lo-fi/v2/SidebarWithSubmenusLoFi.tsx +25 -0
  1051. package/dist/components/catalyst-ui/lo-fi/v2/SignUpLoFi.tsx +14 -0
  1052. package/dist/components/catalyst-ui/lo-fi/v2/SignatureLoFi.tsx +12 -0
  1053. package/dist/components/catalyst-ui/lo-fi/v2/SingletonMiddlewareLoFi.tsx +11 -0
  1054. package/dist/components/catalyst-ui/lo-fi/v2/SiteHeaderLoFi.tsx +18 -0
  1055. package/dist/components/catalyst-ui/lo-fi/v2/SmallTableLoFi.tsx +18 -0
  1056. package/dist/components/catalyst-ui/lo-fi/v2/SpeedDialLoFi.tsx +14 -0
  1057. package/dist/components/catalyst-ui/lo-fi/v2/SpinLoFi.tsx +7 -0
  1058. package/dist/components/catalyst-ui/lo-fi/v2/SpinnerLoFi.tsx +9 -0
  1059. package/dist/components/catalyst-ui/lo-fi/v2/StackLoFi.tsx +14 -0
  1060. package/dist/components/catalyst-ui/lo-fi/v2/StackedListsLoFi.tsx +50 -0
  1061. package/dist/components/catalyst-ui/lo-fi/v2/StackedLoFi.tsx +11 -0
  1062. package/dist/components/catalyst-ui/lo-fi/v2/StateChangeLoFi.tsx +11 -0
  1063. package/dist/components/catalyst-ui/lo-fi/v2/StatsLoFi.tsx +15 -0
  1064. package/dist/components/catalyst-ui/lo-fi/v2/StatusLoFi.tsx +11 -0
  1065. package/dist/components/catalyst-ui/lo-fi/v2/StepsLoFi.tsx +18 -0
  1066. package/dist/components/catalyst-ui/lo-fi/v2/StoreFrontLoFi.tsx +15 -0
  1067. package/dist/components/catalyst-ui/lo-fi/v2/StoreNavSectionLoFi.tsx +14 -0
  1068. package/dist/components/catalyst-ui/lo-fi/v2/StripeLoFi.tsx +15 -0
  1069. package/dist/components/catalyst-ui/lo-fi/v2/StyleProviderLoFi.tsx +16 -0
  1070. package/dist/components/catalyst-ui/lo-fi/v2/TSTableLoFi.tsx +24 -0
  1071. package/dist/components/catalyst-ui/lo-fi/v2/TSTableV1LoFi.tsx +20 -0
  1072. package/dist/components/catalyst-ui/lo-fi/v2/TSTableV2LoFi.tsx +20 -0
  1073. package/dist/components/catalyst-ui/lo-fi/v2/TabViewLoFi.tsx +17 -0
  1074. package/dist/components/catalyst-ui/lo-fi/v2/TableLoFi.tsx +18 -0
  1075. package/dist/components/catalyst-ui/lo-fi/v2/TagLoFi.tsx +11 -0
  1076. package/dist/components/catalyst-ui/lo-fi/v2/TailwindcssTxtLoFi.tsx +20 -0
  1077. package/dist/components/catalyst-ui/lo-fi/v2/TaskListLoFi.tsx +16 -0
  1078. package/dist/components/catalyst-ui/lo-fi/v2/TaskboardLoFi.tsx +20 -0
  1079. package/dist/components/catalyst-ui/lo-fi/v2/TasksLoFi.tsx +19 -0
  1080. package/dist/components/catalyst-ui/lo-fi/v2/TeamMembersLoFi.tsx +20 -0
  1081. package/dist/components/catalyst-ui/lo-fi/v2/TerminalLoFi.tsx +20 -0
  1082. package/dist/components/catalyst-ui/lo-fi/v2/TextEditorLoFi.tsx +14 -0
  1083. package/dist/components/catalyst-ui/lo-fi/v2/ThemeSelectorLoFi.tsx +14 -0
  1084. package/dist/components/catalyst-ui/lo-fi/v2/TicketsLoFi.tsx +16 -0
  1085. package/dist/components/catalyst-ui/lo-fi/v2/TimelineLoFi.tsx +33 -0
  1086. package/dist/components/catalyst-ui/lo-fi/v2/TimelineV1LoFi.tsx +36 -0
  1087. package/dist/components/catalyst-ui/lo-fi/v2/TitleSectionLoFi.tsx +15 -0
  1088. package/dist/components/catalyst-ui/lo-fi/v2/ToDoLoFi.tsx +17 -0
  1089. package/dist/components/catalyst-ui/lo-fi/v2/ToggleClassLoFi.tsx +12 -0
  1090. package/dist/components/catalyst-ui/lo-fi/v2/ToolbarLoFi.tsx +14 -0
  1091. package/dist/components/catalyst-ui/lo-fi/v2/TourLoFi.tsx +21 -0
  1092. package/dist/components/catalyst-ui/lo-fi/v2/TransitionLoFi.tsx +10 -0
  1093. package/dist/components/catalyst-ui/lo-fi/v2/TransitionablePortalLoFi.tsx +12 -0
  1094. package/dist/components/catalyst-ui/lo-fi/v2/TravelLoFi.tsx +12 -0
  1095. package/dist/components/catalyst-ui/lo-fi/v2/TreeViewLoFi.tsx +24 -0
  1096. package/dist/components/catalyst-ui/lo-fi/v2/UnderConstructionLoFi.tsx +11 -0
  1097. package/dist/components/catalyst-ui/lo-fi/v2/UsageSectionLoFi.tsx +19 -0
  1098. package/dist/components/catalyst-ui/lo-fi/v2/UsageSectionNoDashLoFi.tsx +15 -0
  1099. package/dist/components/catalyst-ui/lo-fi/v2/UseAsyncLoFi.tsx +10 -0
  1100. package/dist/components/catalyst-ui/lo-fi/v2/UseClickOutsideLoFi.tsx +10 -0
  1101. package/dist/components/catalyst-ui/lo-fi/v2/UseCopyToClipboardLoFi.tsx +10 -0
  1102. package/dist/components/catalyst-ui/lo-fi/v2/UseCounterLoFi.tsx +11 -0
  1103. package/dist/components/catalyst-ui/lo-fi/v2/UseDebounceLoFi.tsx +10 -0
  1104. package/dist/components/catalyst-ui/lo-fi/v2/UseDebouncedFuseSearchLoFi.tsx +10 -0
  1105. package/dist/components/catalyst-ui/lo-fi/v2/UseEventListenerLoFi.tsx +10 -0
  1106. package/dist/components/catalyst-ui/lo-fi/v2/UseExportMarkdownLoFi.tsx +10 -0
  1107. package/dist/components/catalyst-ui/lo-fi/v2/UseExportTsxLoFi.tsx +10 -0
  1108. package/dist/components/catalyst-ui/lo-fi/v2/UseExternalScriptsLoFi.tsx +11 -0
  1109. package/dist/components/catalyst-ui/lo-fi/v2/UseFaviconLoFi.tsx +10 -0
  1110. package/dist/components/catalyst-ui/lo-fi/v2/UseFetchLoFi.tsx +11 -0
  1111. package/dist/components/catalyst-ui/lo-fi/v2/UseFocusLoFi.tsx +10 -0
  1112. package/dist/components/catalyst-ui/lo-fi/v2/UseFocusWithinLoFi.tsx +10 -0
  1113. package/dist/components/catalyst-ui/lo-fi/v2/UseFormLoFi.tsx +11 -0
  1114. package/dist/components/catalyst-ui/lo-fi/v2/UseFuseSearchLoFi.tsx +10 -0
  1115. package/dist/components/catalyst-ui/lo-fi/v2/UseFuzzySearchLoFi.tsx +11 -0
  1116. package/dist/components/catalyst-ui/lo-fi/v2/UseGlobalLoadingStateLoFi.tsx +10 -0
  1117. package/dist/components/catalyst-ui/lo-fi/v2/UseGlobalNavigationStateLoFi.tsx +11 -0
  1118. package/dist/components/catalyst-ui/lo-fi/v2/UseGlobalPendingStateLoFi.tsx +10 -0
  1119. package/dist/components/catalyst-ui/lo-fi/v2/UseGlobalSubmittingStateLoFi.tsx +10 -0
  1120. package/dist/components/catalyst-ui/lo-fi/v2/UseHoverLoFi.tsx +10 -0
  1121. package/dist/components/catalyst-ui/lo-fi/v2/UseIntersectionObserverLoFi.tsx +10 -0
  1122. package/dist/components/catalyst-ui/lo-fi/v2/UseIntervalLoFi.tsx +10 -0
  1123. package/dist/components/catalyst-ui/lo-fi/v2/UseKeyPressLoFi.tsx +11 -0
  1124. package/dist/components/catalyst-ui/lo-fi/v2/UseKeyboardLoFi.tsx +11 -0
  1125. package/dist/components/catalyst-ui/lo-fi/v2/UseLocalStorageLoFi.tsx +10 -0
  1126. package/dist/components/catalyst-ui/lo-fi/v2/UseLocalesLoFi.tsx +11 -0
  1127. package/dist/components/catalyst-ui/lo-fi/v2/UseLongPressLoFi.tsx +10 -0
  1128. package/dist/components/catalyst-ui/lo-fi/v2/UseMediaQueryLoFi.tsx +10 -0
  1129. package/dist/components/catalyst-ui/lo-fi/v2/UseMobileLoFi.tsx +10 -0
  1130. package/dist/components/catalyst-ui/lo-fi/v2/UseMountEffectLoFi.tsx +10 -0
  1131. package/dist/components/catalyst-ui/lo-fi/v2/UseMountedLoFi.tsx +10 -0
  1132. package/dist/components/catalyst-ui/lo-fi/v2/UseMoveLoFi.tsx +11 -0
  1133. package/dist/components/catalyst-ui/lo-fi/v2/UseMutationObserverLoFi.tsx +10 -0
  1134. package/dist/components/catalyst-ui/lo-fi/v2/UseOnlineStatusLoFi.tsx +10 -0
  1135. package/dist/components/catalyst-ui/lo-fi/v2/UseOverlayListenerLoFi.tsx +10 -0
  1136. package/dist/components/catalyst-ui/lo-fi/v2/UseOverlayScrollListenerLoFi.tsx +10 -0
  1137. package/dist/components/catalyst-ui/lo-fi/v2/UsePressLoFi.tsx +10 -0
  1138. package/dist/components/catalyst-ui/lo-fi/v2/UsePreviousLoFi.tsx +11 -0
  1139. package/dist/components/catalyst-ui/lo-fi/v2/UseResizeListenerLoFi.tsx +10 -0
  1140. package/dist/components/catalyst-ui/lo-fi/v2/UseScrollPositionLoFi.tsx +11 -0
  1141. package/dist/components/catalyst-ui/lo-fi/v2/UseSessionStorageLoFi.tsx +10 -0
  1142. package/dist/components/catalyst-ui/lo-fi/v2/UseShouldHydrateLoFi.tsx +10 -0
  1143. package/dist/components/catalyst-ui/lo-fi/v2/UseSlideInLoFi.tsx +10 -0
  1144. package/dist/components/catalyst-ui/lo-fi/v2/UseStreamLoFi.tsx +11 -0
  1145. package/dist/components/catalyst-ui/lo-fi/v2/UseThrottleLoFi.tsx +10 -0
  1146. package/dist/components/catalyst-ui/lo-fi/v2/UseTimeoutLoFi.tsx +10 -0
  1147. package/dist/components/catalyst-ui/lo-fi/v2/UseToggleLoFi.tsx +10 -0
  1148. package/dist/components/catalyst-ui/lo-fi/v2/UseUnmountEffectLoFi.tsx +10 -0
  1149. package/dist/components/catalyst-ui/lo-fi/v2/UseUpdateEffectLoFi.tsx +10 -0
  1150. package/dist/components/catalyst-ui/lo-fi/v2/UseWindowSizeLoFi.tsx +11 -0
  1151. package/dist/components/catalyst-ui/lo-fi/v2/UserBasedAccessRulesLoFi.tsx +20 -0
  1152. package/dist/components/catalyst-ui/lo-fi/v2/UserLoFi.tsx +10 -0
  1153. package/dist/components/catalyst-ui/lo-fi/v2/UserOnboardingLoFi.tsx +12 -0
  1154. package/dist/components/catalyst-ui/lo-fi/v2/VerificationLoFi.tsx +17 -0
  1155. package/dist/components/catalyst-ui/lo-fi/v2/VirtualizerLoFi.tsx +16 -0
  1156. package/dist/components/catalyst-ui/lo-fi/v2/WatermarkLoFi.tsx +13 -0
  1157. package/dist/components/catalyst-ui/lo-fi/v2/WithACalendarLoFi.tsx +23 -0
  1158. package/dist/components/catalyst-ui/lo-fi/v2/WithAShoppingCartLoFi.tsx +20 -0
  1159. package/dist/components/catalyst-ui/lo-fi/v2/WithATreeViewLoFi.tsx +20 -0
  1160. package/dist/components/catalyst-ui/lo-fi/v2/WithCollapsibleNestedSidebarsLoFi.tsx +22 -0
  1161. package/dist/components/catalyst-ui/lo-fi/v2/WithCollapsibleSectionsLoFi.tsx +20 -0
  1162. package/dist/components/catalyst-ui/lo-fi/v2/WithCollapsibleSubmenusLoFi.tsx +26 -0
  1163. package/dist/components/catalyst-ui/lo-fi/v2/WithCookieMiddlewareLoFi.tsx +17 -0
  1164. package/dist/components/catalyst-ui/lo-fi/v2/WithInitialLoadingStateLoFi.tsx +13 -0
  1165. package/dist/components/catalyst-ui/lo-fi/v2/WithLoadingNavStateChangesLoFi.tsx +17 -0
  1166. package/dist/components/catalyst-ui/lo-fi/v2/WithNavigationGroupedBySectionLoFi.tsx +24 -0
  1167. package/dist/components/catalyst-ui/lo-fi/v2/WithSubmenusAsDropdownsLoFi.tsx +25 -0
  1168. package/dist/components/catalyst-ui/lo-fi/v2/action-bar-lofi.tsx +20 -0
  1169. package/dist/components/catalyst-ui/lo-fi/v2/block-quote-lofi.tsx +10 -0
  1170. package/dist/components/catalyst-ui/lo-fi/v2/calendar-lofi.tsx +19 -0
  1171. package/dist/components/catalyst-ui/lo-fi/v2/cascade-tree-lofi.tsx +34 -0
  1172. package/dist/components/catalyst-ui/lo-fi/v2/cascader-lofi.tsx +27 -0
  1173. package/dist/components/catalyst-ui/lo-fi/v2/changelog-lofi.tsx +14 -0
  1174. package/dist/components/catalyst-ui/lo-fi/v2/check-tree-lofi.tsx +27 -0
  1175. package/dist/components/catalyst-ui/lo-fi/v2/check-tree-picker-lofi.tsx +28 -0
  1176. package/dist/components/catalyst-ui/lo-fi/v2/checkbox-card-v1-lofi.tsx +29 -0
  1177. package/dist/components/catalyst-ui/lo-fi/v2/checkbox-v1-lofi.tsx +24 -0
  1178. package/dist/components/catalyst-ui/lo-fi/v2/client-only-mermaid-lofi.tsx +21 -0
  1179. package/dist/components/catalyst-ui/lo-fi/v2/color-picker-lofi.tsx +24 -0
  1180. package/dist/components/catalyst-ui/lo-fi/v2/combobox-v1-lofi.tsx +25 -0
  1181. package/dist/components/catalyst-ui/lo-fi/v2/credit-card-input-lofi.tsx +32 -0
  1182. package/dist/components/catalyst-ui/lo-fi/v2/floating-label-lofi.tsx +26 -0
  1183. package/dist/components/catalyst-ui/lo-fi/v2/form-wizard-lofi.tsx +26 -0
  1184. package/dist/components/catalyst-ui/lo-fi/v2/hero-lofi.tsx +15 -0
  1185. package/dist/components/catalyst-ui/lo-fi/v2/heroV2-lofi.tsx +17 -0
  1186. package/dist/components/catalyst-ui/lo-fi/v2/inline-edit-lofi.tsx +19 -0
  1187. package/dist/components/catalyst-ui/lo-fi/v2/inplaceLoFi.tsx +10 -0
  1188. package/dist/components/catalyst-ui/lo-fi/v2/input-mask-lofi.tsx +33 -0
  1189. package/dist/components/catalyst-ui/lo-fi/v2/install-code-array-section-lofi.tsx +20 -0
  1190. package/dist/components/catalyst-ui/lo-fi/v2/install-code-section-lofi.tsx +16 -0
  1191. package/dist/components/catalyst-ui/lo-fi/v2/install-github-section-lofi.tsx +11 -0
  1192. package/dist/components/catalyst-ui/lo-fi/v2/json-input-lofi.tsx +29 -0
  1193. package/dist/components/catalyst-ui/lo-fi/v2/multi-cascade-tree-lofi.tsx +40 -0
  1194. package/dist/components/catalyst-ui/lo-fi/v2/multi-cascader-lofi.tsx +28 -0
  1195. package/dist/components/catalyst-ui/lo-fi/v2/multi-combobox-lofi.tsx +31 -0
  1196. package/dist/components/catalyst-ui/lo-fi/v2/nav-shopping-cart-lofi.tsx +13 -0
  1197. package/dist/components/catalyst-ui/lo-fi/v2/pin-input-lofi.tsx +23 -0
  1198. package/dist/components/catalyst-ui/lo-fi/v2/select-button-lofi.tsx +20 -0
  1199. package/dist/components/catalyst-ui/lo-fi/v2/sidebar28-lofi.tsx +15 -0
  1200. package/dist/components/catalyst-ui/lo-fi/v2/step-form-wizard-lofi.tsx +34 -0
  1201. package/dist/components/catalyst-ui/lo-fi/v2/tags-input-lofi.tsx +21 -0
  1202. package/dist/components/catalyst-ui/lo-fi/v2/textarea-lofi.tsx +18 -0
  1203. package/dist/components/catalyst-ui/lo-fi/v2/textarea-v2-lofi.tsx +19 -0
  1204. package/dist/components/catalyst-ui/lo-fi/v2/transfer-list-lofi.tsx +40 -0
  1205. package/dist/components/catalyst-ui/lo-fi/v2/tri-state-checkbox-lofi.tsx +25 -0
  1206. package/dist/components/catalyst-ui/lo-fi/v2/tsxSection-lofi.tsx +20 -0
  1207. package/dist/components/catalyst-ui/marketing/demo/demos.tsx +0 -0
  1208. package/dist/components/catalyst-ui/marketing/demo/sectionHeadings-demo.tsx +103 -0
  1209. package/dist/components/catalyst-ui/marketing/elements/banner-with-effect.tsx +0 -0
  1210. package/dist/components/catalyst-ui/marketing/elements/flyoutMenu.tsx +318 -0
  1211. package/dist/components/catalyst-ui/marketing/index.ts +41 -0
  1212. package/dist/components/catalyst-ui/marketing/sections/animated-testimonials.tsx +169 -0
  1213. package/dist/components/catalyst-ui/marketing/sections/bentoGrid.tsx +300 -0
  1214. package/dist/components/catalyst-ui/marketing/sections/blog.tsx +469 -0
  1215. package/dist/components/catalyst-ui/marketing/sections/blogEditor.tsx +358 -0
  1216. package/dist/components/catalyst-ui/marketing/sections/blogPost.tsx +208 -0
  1217. package/dist/components/catalyst-ui/marketing/sections/carousel.tsx +928 -0
  1218. package/dist/components/catalyst-ui/marketing/sections/cta.tsx +379 -0
  1219. package/dist/components/catalyst-ui/marketing/sections/faq.tsx +147 -0
  1220. package/dist/components/catalyst-ui/marketing/sections/feature-carousel.tsx +505 -0
  1221. package/dist/components/catalyst-ui/marketing/sections/feature-section.tsx +83 -0
  1222. package/dist/components/catalyst-ui/marketing/sections/feature-showcase.tsx +250 -0
  1223. package/dist/components/catalyst-ui/marketing/sections/feature.tsx +279 -0
  1224. package/dist/components/catalyst-ui/marketing/sections/footer.tsx +390 -0
  1225. package/dist/components/catalyst-ui/marketing/sections/header-1.tsx +450 -0
  1226. package/dist/components/catalyst-ui/marketing/sections/header.tsx +414 -0
  1227. package/dist/components/catalyst-ui/marketing/sections/hero-2.tsx +55 -0
  1228. package/dist/components/catalyst-ui/marketing/sections/hero-3.tsx +12 -0
  1229. package/dist/components/catalyst-ui/marketing/sections/hero-section.tsx +17 -0
  1230. package/dist/components/catalyst-ui/marketing/sections/hero.tsx +169 -0
  1231. package/dist/components/catalyst-ui/marketing/sections/image-section.tsx +36 -0
  1232. package/dist/components/catalyst-ui/marketing/sections/index.ts +33 -0
  1233. package/dist/components/catalyst-ui/marketing/sections/logoClouds.tsx +295 -0
  1234. package/dist/components/catalyst-ui/marketing/sections/newsLetter.tsx +137 -0
  1235. package/dist/components/catalyst-ui/marketing/sections/page-header-section.tsx +127 -0
  1236. package/dist/components/catalyst-ui/marketing/sections/pricing-carousel-2.tsx +282 -0
  1237. package/dist/components/catalyst-ui/marketing/sections/pricing-carousel.tsx +555 -0
  1238. package/dist/components/catalyst-ui/marketing/sections/pricing-single-card.tsx +154 -0
  1239. package/dist/components/catalyst-ui/marketing/sections/pricing.tsx +790 -0
  1240. package/dist/components/catalyst-ui/marketing/sections/testimonial-carousel.tsx +499 -0
  1241. package/dist/components/catalyst-ui/marketing/sections/testimonial.tsx +204 -0
  1242. package/dist/components/catalyst-ui/marketing/sections/title-section.tsx +57 -0
  1243. package/dist/components/catalyst-ui/media/3d-marquee.tsx +144 -0
  1244. package/dist/components/catalyst-ui/media/avatar-circles.tsx +78 -0
  1245. package/dist/components/catalyst-ui/media/blur-fade.tsx +106 -0
  1246. package/dist/components/catalyst-ui/media/carousel-1.tsx +926 -0
  1247. package/dist/components/catalyst-ui/media/carousel-2.tsx +198 -0
  1248. package/dist/components/catalyst-ui/media/carousel-hero.tsx +286 -0
  1249. package/dist/components/catalyst-ui/media/carousel-simple.tsx +244 -0
  1250. package/dist/components/catalyst-ui/media/color-palette-card.tsx +85 -0
  1251. package/dist/components/catalyst-ui/media/cropper.tsx +68 -0
  1252. package/dist/components/catalyst-ui/media/embla-carousel-arrow-buttons.tsx +117 -0
  1253. package/dist/components/catalyst-ui/media/embla-carousel-snap.tsx +103 -0
  1254. package/dist/components/catalyst-ui/media/galleria.tsx +316 -0
  1255. package/dist/components/catalyst-ui/media/globe.tsx +138 -0
  1256. package/dist/components/catalyst-ui/media/google-maps-component.tsx +540 -0
  1257. package/dist/components/catalyst-ui/media/icon-cloud.tsx +312 -0
  1258. package/dist/components/catalyst-ui/media/image-comparison.tsx +251 -0
  1259. package/dist/components/catalyst-ui/media/image-crop.tsx +366 -0
  1260. package/dist/components/catalyst-ui/media/image-zoom.tsx +51 -0
  1261. package/dist/components/catalyst-ui/media/index.ts +32 -0
  1262. package/dist/components/catalyst-ui/media/infinite-scroll.tsx +303 -0
  1263. package/dist/components/catalyst-ui/media/infinite-slider.tsx +108 -0
  1264. package/dist/components/catalyst-ui/media/interactive-icon-cloud.tsx +100 -0
  1265. package/dist/components/catalyst-ui/media/logo.tsx +100 -0
  1266. package/dist/components/catalyst-ui/media/marquee.tsx +199 -0
  1267. package/dist/components/catalyst-ui/media/marquee1.tsx +114 -0
  1268. package/dist/components/catalyst-ui/media/parallax-scroll.tsx +119 -0
  1269. package/dist/components/catalyst-ui/media/pixel-image.tsx +153 -0
  1270. package/dist/components/catalyst-ui/media/video-player.tsx +94 -0
  1271. package/dist/components/catalyst-ui/motions/animated-number.tsx +252 -0
  1272. package/dist/components/catalyst-ui/motions/bg-media.tsx +122 -0
  1273. package/dist/components/catalyst-ui/motions/border-beam.tsx +40 -0
  1274. package/dist/components/catalyst-ui/motions/circle-menu.tsx +320 -0
  1275. package/dist/components/catalyst-ui/motions/color-picker.tsx +490 -0
  1276. package/dist/components/catalyst-ui/motions/color-wheel.tsx +81 -0
  1277. package/dist/components/catalyst-ui/motions/direction-aware-tabs.tsx +568 -0
  1278. package/dist/components/catalyst-ui/motions/dynamic-island.tsx +733 -0
  1279. package/dist/components/catalyst-ui/motions/expandable-card.tsx +941 -0
  1280. package/dist/components/catalyst-ui/motions/expandable-screen.tsx +455 -0
  1281. package/dist/components/catalyst-ui/motions/floating-panel.tsx +1115 -0
  1282. package/dist/components/catalyst-ui/motions/gradient-heading.tsx +116 -0
  1283. package/dist/components/catalyst-ui/motions/index.ts +93 -0
  1284. package/dist/components/catalyst-ui/motions/intro-disclosure.tsx +1345 -0
  1285. package/dist/components/catalyst-ui/motions/light-board.tsx +888 -0
  1286. package/dist/components/catalyst-ui/motions/loading-carousel.tsx +517 -0
  1287. package/dist/components/catalyst-ui/motions/logo-carousel.tsx +586 -0
  1288. package/dist/components/catalyst-ui/motions/morph-surface.tsx +779 -0
  1289. package/dist/components/catalyst-ui/motions/motion-accordian.tsx +206 -0
  1290. package/dist/components/catalyst-ui/motions/motion-alert-dialog.tsx +356 -0
  1291. package/dist/components/catalyst-ui/motions/motion-avatar.tsx +384 -0
  1292. package/dist/components/catalyst-ui/motions/motion-beam.tsx +674 -0
  1293. package/dist/components/catalyst-ui/motions/motion-bento.tsx +262 -0
  1294. package/dist/components/catalyst-ui/motions/motion-bento1.tsx +307 -0
  1295. package/dist/components/catalyst-ui/motions/motion-button.tsx +107 -0
  1296. package/dist/components/catalyst-ui/motions/motion-calendar.tsx +213 -0
  1297. package/dist/components/catalyst-ui/motions/motion-card.tsx +1609 -0
  1298. package/dist/components/catalyst-ui/motions/motion-card1.tsx +825 -0
  1299. package/dist/components/catalyst-ui/motions/motion-card2.tsx +289 -0
  1300. package/dist/components/catalyst-ui/motions/motion-card3.tsx +190 -0
  1301. package/dist/components/catalyst-ui/motions/motion-carousel.tsx +517 -0
  1302. package/dist/components/catalyst-ui/motions/motion-checkbox.tsx +77 -0
  1303. package/dist/components/catalyst-ui/motions/motion-choicebox.tsx +360 -0
  1304. package/dist/components/catalyst-ui/motions/motion-combobox.tsx +242 -0
  1305. package/dist/components/catalyst-ui/motions/motion-command.tsx +328 -0
  1306. package/dist/components/catalyst-ui/motions/motion-context-menu.tsx +391 -0
  1307. package/dist/components/catalyst-ui/motions/motion-date-picker.tsx +162 -0
  1308. package/dist/components/catalyst-ui/motions/motion-dialog.tsx +350 -0
  1309. package/dist/components/catalyst-ui/motions/motion-drawer.tsx +1778 -0
  1310. package/dist/components/catalyst-ui/motions/motion-drawer1.tsx +209 -0
  1311. package/dist/components/catalyst-ui/motions/motion-dropdown-menu.tsx +429 -0
  1312. package/dist/components/catalyst-ui/motions/motion-dropdown1.tsx +572 -0
  1313. package/dist/components/catalyst-ui/motions/motion-feature-carousel.tsx +771 -0
  1314. package/dist/components/catalyst-ui/motions/motion-file-upload.tsx +596 -0
  1315. package/dist/components/catalyst-ui/motions/motion-group.tsx +194 -0
  1316. package/dist/components/catalyst-ui/motions/motion-highlight.tsx +550 -0
  1317. package/dist/components/catalyst-ui/motions/motion-highlight2.tsx +590 -0
  1318. package/dist/components/catalyst-ui/motions/motion-hover-card.tsx +207 -0
  1319. package/dist/components/catalyst-ui/motions/motion-images.tsx +53 -0
  1320. package/dist/components/catalyst-ui/motions/motion-input.tsx +51 -0
  1321. package/dist/components/catalyst-ui/motions/motion-list.tsx +170 -0
  1322. package/dist/components/catalyst-ui/motions/motion-logo-carosel.tsx +668 -0
  1323. package/dist/components/catalyst-ui/motions/motion-map.tsx +372 -0
  1324. package/dist/components/catalyst-ui/motions/motion-navbar.tsx +69 -0
  1325. package/dist/components/catalyst-ui/motions/motion-navigation-menu.tsx +302 -0
  1326. package/dist/components/catalyst-ui/motions/motion-panel.tsx +338 -0
  1327. package/dist/components/catalyst-ui/motions/motion-popover.tsx +281 -0
  1328. package/dist/components/catalyst-ui/motions/motion-radio-card.tsx +77 -0
  1329. package/dist/components/catalyst-ui/motions/motion-radio-group.tsx +54 -0
  1330. package/dist/components/catalyst-ui/motions/motion-rating.tsx +182 -0
  1331. package/dist/components/catalyst-ui/motions/motion-screen.tsx +441 -0
  1332. package/dist/components/catalyst-ui/motions/motion-search-bar.tsx +1013 -0
  1333. package/dist/components/catalyst-ui/motions/motion-section.tsx +270 -0
  1334. package/dist/components/catalyst-ui/motions/motion-select.tsx +306 -0
  1335. package/dist/components/catalyst-ui/motions/motion-spotlight.tsx +217 -0
  1336. package/dist/components/catalyst-ui/motions/motion-switch.tsx +83 -0
  1337. package/dist/components/catalyst-ui/motions/motion-tabs.tsx +554 -0
  1338. package/dist/components/catalyst-ui/motions/motion-tabs2.tsx +257 -0
  1339. package/dist/components/catalyst-ui/motions/motion-testimonials.tsx +282 -0
  1340. package/dist/components/catalyst-ui/motions/motion-toast.tsx +398 -0
  1341. package/dist/components/catalyst-ui/motions/motion-toolbar-tabs.tsx +519 -0
  1342. package/dist/components/catalyst-ui/motions/motion-toolbar.tsx +1113 -0
  1343. package/dist/components/catalyst-ui/motions/motion-tooltip.tsx +162 -0
  1344. package/dist/components/catalyst-ui/motions/motion-tooltip2.tsx +82 -0
  1345. package/dist/components/catalyst-ui/motions/motion-video-player.tsx +1056 -0
  1346. package/dist/components/catalyst-ui/motions/motions-input.tsx +51 -0
  1347. package/dist/components/catalyst-ui/motions/popover-form.tsx +469 -0
  1348. package/dist/components/catalyst-ui/motions/profile-dropdown.tsx +237 -0
  1349. package/dist/components/catalyst-ui/motions/radial-menu.tsx +303 -0
  1350. package/dist/components/catalyst-ui/motions/roladex.tsx +194 -0
  1351. package/dist/components/catalyst-ui/motions/roladex1.tsx +166 -0
  1352. package/dist/components/catalyst-ui/motions/shift-card.tsx +302 -0
  1353. package/dist/components/catalyst-ui/motions/side-panel.tsx +352 -0
  1354. package/dist/components/catalyst-ui/motions/smooth-drawer.tsx +213 -0
  1355. package/dist/components/catalyst-ui/motions/smooth-popover.tsx +491 -0
  1356. package/dist/components/catalyst-ui/motions/sortable-list.tsx +712 -0
  1357. package/dist/components/catalyst-ui/motions/stripe.tsx +261 -0
  1358. package/dist/components/catalyst-ui/motions/texture-button.tsx +217 -0
  1359. package/dist/components/catalyst-ui/motions/timer.tsx +286 -0
  1360. package/dist/components/catalyst-ui/motions/toolbar-expandable.tsx +1138 -0
  1361. package/dist/components/catalyst-ui/motions/youtube-player.tsx +614 -0
  1362. package/dist/components/catalyst-ui/overlays/animated-modal.tsx +212 -0
  1363. package/dist/components/catalyst-ui/overlays/animated-tooltip.tsx +99 -0
  1364. package/dist/components/catalyst-ui/overlays/confirm-popup.tsx +219 -0
  1365. package/dist/components/catalyst-ui/overlays/dialog-stack.tsx +558 -0
  1366. package/dist/components/catalyst-ui/overlays/index.ts +19 -0
  1367. package/dist/components/catalyst-ui/overlays/loading-overlay.tsx +324 -0
  1368. package/dist/components/catalyst-ui/overlays/modal-integrations-1.tsx +300 -0
  1369. package/dist/components/catalyst-ui/overlays/modal-integrations.tsx +301 -0
  1370. package/dist/components/catalyst-ui/overlays/overlay-panel.tsx +233 -0
  1371. package/dist/components/catalyst-ui/overlays/popconfirm.tsx +721 -0
  1372. package/dist/components/catalyst-ui/overlays/sidebar-props.tsx +492 -0
  1373. package/dist/components/catalyst-ui/overlays/sidebar.tsx +2208 -0
  1374. package/dist/components/catalyst-ui/overlays/sidebarMenuItemLoading.tsx +124 -0
  1375. package/dist/components/catalyst-ui/overlays/texture-card.tsx +309 -0
  1376. package/dist/components/catalyst-ui/overlays/transitionable-portal.tsx +230 -0
  1377. package/dist/components/catalyst-ui/pdf/generate_custom_pdf.tsx +40 -0
  1378. package/dist/components/catalyst-ui/pdf/generate_pdf.tsx +196 -0
  1379. package/dist/components/catalyst-ui/pdf/index.ts +12 -0
  1380. package/dist/components/catalyst-ui/pdf/pdf.tsx +32 -0
  1381. package/dist/components/catalyst-ui/pdf/pdf_generator.ts +141 -0
  1382. package/dist/components/catalyst-ui/pdf/pdf_sender.$dealerId.$documentId.$dept.tsx +1260 -0
  1383. package/dist/components/catalyst-ui/pdf/pdf_signer.$id.tsx +1438 -0
  1384. package/dist/components/catalyst-ui/pdf/print_pdf.tsx +15905 -0
  1385. package/dist/components/catalyst-ui/pdf/templateBuilder.tsx +1590 -0
  1386. package/dist/components/catalyst-ui/pdf/test.tsx +53 -0
  1387. package/dist/components/catalyst-ui/pos/index.ts +5 -0
  1388. package/dist/components/catalyst-ui/pos/tools/barcodeScanner.tsx +160 -0
  1389. package/dist/components/catalyst-ui/pos/tools/cashDrawerWizard.tsx +1403 -0
  1390. package/dist/components/catalyst-ui/pos/tools/scan.mp4 +0 -0
  1391. package/dist/components/catalyst-ui/primitives/alert.tsx +103 -0
  1392. package/dist/components/catalyst-ui/primitives/annotated.tsx +133 -0
  1393. package/dist/components/catalyst-ui/primitives/button-group.tsx +89 -0
  1394. package/dist/components/catalyst-ui/primitives/checkbox-tree.tsx +175 -0
  1395. package/dist/components/catalyst-ui/primitives/combobox.tsx +93 -0
  1396. package/dist/components/catalyst-ui/primitives/description-list.tsx +88 -0
  1397. package/dist/components/catalyst-ui/primitives/index.ts +59 -0
  1398. package/dist/components/catalyst-ui/primitives/input-group.tsx +186 -0
  1399. package/dist/components/catalyst-ui/primitives/menubar.tsx +273 -0
  1400. package/dist/components/catalyst-ui/primitives/progress-bar.tsx +114 -0
  1401. package/dist/components/catalyst-ui/primitives/radio-card.tsx +167 -0
  1402. package/dist/components/catalyst-ui/primitives/scroll-area.tsx +56 -0
  1403. package/dist/components/catalyst-ui/primitives/table.tsx +329 -0
  1404. package/dist/components/catalyst-ui/prompt/ai-input-search.tsx +288 -0
  1405. package/dist/components/catalyst-ui/prompt/ai-loading-state.tsx +313 -0
  1406. package/dist/components/catalyst-ui/prompt/ai-prompt-input.tsx +305 -0
  1407. package/dist/components/catalyst-ui/prompt/ai-voice.tsx +241 -0
  1408. package/dist/components/catalyst-ui/prompt/chain-of-thought.tsx +146 -0
  1409. package/dist/components/catalyst-ui/prompt/chatbot.tsx +201 -0
  1410. package/dist/components/catalyst-ui/prompt/code-block-examples.tsx +227 -0
  1411. package/dist/components/catalyst-ui/prompt/code-block.tsx +92 -0
  1412. package/dist/components/catalyst-ui/prompt/conversation-actions.tsx +150 -0
  1413. package/dist/components/catalyst-ui/prompt/conversation-avatars.tsx +92 -0
  1414. package/dist/components/catalyst-ui/prompt/conversation-prompt-input.tsx +256 -0
  1415. package/dist/components/catalyst-ui/prompt/conversation-scroll-bottom.tsx +121 -0
  1416. package/dist/components/catalyst-ui/prompt/file-upload.tsx +310 -0
  1417. package/dist/components/catalyst-ui/prompt/full-chat-app.tsx +759 -0
  1418. package/dist/components/catalyst-ui/prompt/full-conversation.tsx +76 -0
  1419. package/dist/components/catalyst-ui/prompt/image.tsx +94 -0
  1420. package/dist/components/catalyst-ui/prompt/index.ts +46 -0
  1421. package/dist/components/catalyst-ui/prompt/input-byok.tsx +70 -0
  1422. package/dist/components/catalyst-ui/prompt/jsx-preview.tsx +81 -0
  1423. package/dist/components/catalyst-ui/prompt/loader.tsx +497 -0
  1424. package/dist/components/catalyst-ui/prompt/markdown.tsx +117 -0
  1425. package/dist/components/catalyst-ui/prompt/pre-prompts.tsx +59 -0
  1426. package/dist/components/catalyst-ui/prompt/prompt-autocomplete-highlight.tsx +81 -0
  1427. package/dist/components/catalyst-ui/prompt/prompt-chat-container-basic.tsx +98 -0
  1428. package/dist/components/catalyst-ui/prompt/prompt-chat-container-streaming.tsx +132 -0
  1429. package/dist/components/catalyst-ui/prompt/prompt-chat-container.tsx +65 -0
  1430. package/dist/components/catalyst-ui/prompt/prompt-feedback-bar.tsx +79 -0
  1431. package/dist/components/catalyst-ui/prompt/prompt-input-actions.tsx +100 -0
  1432. package/dist/components/catalyst-ui/prompt/prompt-input-suggestions.tsx +150 -0
  1433. package/dist/components/catalyst-ui/prompt/prompt-input.tsx +187 -0
  1434. package/dist/components/catalyst-ui/prompt/prompt-message.tsx +109 -0
  1435. package/dist/components/catalyst-ui/prompt/prompt-suggestion.tsx +116 -0
  1436. package/dist/components/catalyst-ui/prompt/providers.tsx +540 -0
  1437. package/dist/components/catalyst-ui/prompt/reasoning.tsx +168 -0
  1438. package/dist/components/catalyst-ui/prompt/response-stream.tsx +392 -0
  1439. package/dist/components/catalyst-ui/prompt/scroll-button.tsx +39 -0
  1440. package/dist/components/catalyst-ui/prompt/sidebar-chat-history.tsx +242 -0
  1441. package/dist/components/catalyst-ui/prompt/snippets.tsx +1378 -0
  1442. package/dist/components/catalyst-ui/prompt/source.tsx +127 -0
  1443. package/dist/components/catalyst-ui/prompt/steps.tsx +111 -0
  1444. package/dist/components/catalyst-ui/prompt/system-message.tsx +131 -0
  1445. package/dist/components/catalyst-ui/prompt/tool-calling.tsx +236 -0
  1446. package/dist/components/catalyst-ui/prompt/tool.tsx +204 -0
  1447. package/dist/components/catalyst-ui/sidebars/nav-components/NotificationMenu.tsx +120 -0
  1448. package/dist/components/catalyst-ui/sidebars/nav-components/Tree.tsx +53 -0
  1449. package/dist/components/catalyst-ui/sidebars/nav-components/active-toc.tsx +213 -0
  1450. package/dist/components/catalyst-ui/sidebars/nav-components/analog-clock.tsx +211 -0
  1451. package/dist/components/catalyst-ui/sidebars/nav-components/app-sidebar.tsx +339 -0
  1452. package/dist/components/catalyst-ui/sidebars/nav-components/blog-sidebar.tsx +39 -0
  1453. package/dist/components/catalyst-ui/sidebars/nav-components/calendars.tsx +58 -0
  1454. package/dist/components/catalyst-ui/sidebars/nav-components/date-picker.tsx +12 -0
  1455. package/dist/components/catalyst-ui/sidebars/nav-components/dev-list-sidebar.tsx +195 -0
  1456. package/dist/components/catalyst-ui/sidebars/nav-components/digital-clock.tsx +343 -0
  1457. package/dist/components/catalyst-ui/sidebars/nav-components/index.ts +41 -0
  1458. package/dist/components/catalyst-ui/sidebars/nav-components/loading-sidebar.tsx +42 -0
  1459. package/dist/components/catalyst-ui/sidebars/nav-components/nav-actions.tsx +122 -0
  1460. package/dist/components/catalyst-ui/sidebars/nav-components/nav-appointments.tsx +429 -0
  1461. package/dist/components/catalyst-ui/sidebars/nav-components/nav-auto-search.tsx +314 -0
  1462. package/dist/components/catalyst-ui/sidebars/nav-components/nav-favorites.tsx +71 -0
  1463. package/dist/components/catalyst-ui/sidebars/nav-components/nav-header.tsx +409 -0
  1464. package/dist/components/catalyst-ui/sidebars/nav-components/nav-main.tsx +1583 -0
  1465. package/dist/components/catalyst-ui/sidebars/nav-components/nav-messenger.tsx +440 -0
  1466. package/dist/components/catalyst-ui/sidebars/nav-components/nav-projects.tsx +66 -0
  1467. package/dist/components/catalyst-ui/sidebars/nav-components/nav-quick-actions.tsx +366 -0
  1468. package/dist/components/catalyst-ui/sidebars/nav-components/nav-secondary.tsx +33 -0
  1469. package/dist/components/catalyst-ui/sidebars/nav-components/nav-shopping-cart.tsx +231 -0
  1470. package/dist/components/catalyst-ui/sidebars/nav-components/nav-shopping-cartCatlstui.tsx +196 -0
  1471. package/dist/components/catalyst-ui/sidebars/nav-components/nav-tree-view.tsx +18 -0
  1472. package/dist/components/catalyst-ui/sidebars/nav-components/nav-user.tsx +87 -0
  1473. package/dist/components/catalyst-ui/sidebars/nav-components/nav-workspaces.tsx +69 -0
  1474. package/dist/components/catalyst-ui/sidebars/nav-components/navigation-theme-selector.tsx +143 -0
  1475. package/dist/components/catalyst-ui/sidebars/nav-components/opt-in-form.tsx +29 -0
  1476. package/dist/components/catalyst-ui/sidebars/nav-components/search-command.tsx +32 -0
  1477. package/dist/components/catalyst-ui/sidebars/nav-components/search-form.tsx +21 -0
  1478. package/dist/components/catalyst-ui/sidebars/nav-components/settings-menu.tsx +35 -0
  1479. package/dist/components/catalyst-ui/sidebars/nav-components/sidebar-dialog.tsx +82 -0
  1480. package/dist/components/catalyst-ui/sidebars/nav-components/site-header.tsx +40 -0
  1481. package/dist/components/catalyst-ui/sidebars/nav-components/team-switcher.tsx +68 -0
  1482. package/dist/components/catalyst-ui/sidebars/nav-components/toc.tsx +301 -0
  1483. package/dist/components/catalyst-ui/sidebars/nav-components/user-menu.tsx +77 -0
  1484. package/dist/components/catalyst-ui/sidebars/nav-components/version-switcher.tsx +49 -0
  1485. package/dist/components/catalyst-ui/sidebars/nav-components/wishlist.tsx +292 -0
  1486. package/dist/components/catalyst-ui/sidebars/sidebar-01/AppSidebar.tsx +36 -0
  1487. package/dist/components/catalyst-ui/sidebars/sidebar-01/SearchForm.tsx +24 -0
  1488. package/dist/components/catalyst-ui/sidebars/sidebar-01/VersionSwitcher.tsx +49 -0
  1489. package/dist/components/catalyst-ui/sidebars/sidebar-01/index.tsx +270 -0
  1490. package/dist/components/catalyst-ui/sidebars/sidebar-01/sidebar-01.tsx +178 -0
  1491. package/dist/components/catalyst-ui/sidebars/sidebar-02/AppSidebar.tsx +56 -0
  1492. package/dist/components/catalyst-ui/sidebars/sidebar-02/SearchForm.tsx +24 -0
  1493. package/dist/components/catalyst-ui/sidebars/sidebar-02/VersionSwitcher.tsx +44 -0
  1494. package/dist/components/catalyst-ui/sidebars/sidebar-02/index.tsx +301 -0
  1495. package/dist/components/catalyst-ui/sidebars/sidebar-02/sidebar-02.tsx +193 -0
  1496. package/dist/components/catalyst-ui/sidebars/sidebar-03/AppSidebar.tsx +54 -0
  1497. package/dist/components/catalyst-ui/sidebars/sidebar-03/index.tsx +238 -0
  1498. package/dist/components/catalyst-ui/sidebars/sidebar-03/sidebar-03.tsx +189 -0
  1499. package/dist/components/catalyst-ui/sidebars/sidebar-04/AppSidebar.tsx +58 -0
  1500. package/dist/components/catalyst-ui/sidebars/sidebar-04/index.tsx +249 -0
  1501. package/dist/components/catalyst-ui/sidebars/sidebar-04/sidebar-04.tsx +201 -0
  1502. package/dist/components/catalyst-ui/sidebars/sidebar-05/AppSidebar.tsx +70 -0
  1503. package/dist/components/catalyst-ui/sidebars/sidebar-05/SearchForm.tsx +25 -0
  1504. package/dist/components/catalyst-ui/sidebars/sidebar-05/index.tsx +275 -0
  1505. package/dist/components/catalyst-ui/sidebars/sidebar-05/sidebar-05.tsx +191 -0
  1506. package/dist/components/catalyst-ui/sidebars/sidebar-06/AppSidebar.tsx +43 -0
  1507. package/dist/components/catalyst-ui/sidebars/sidebar-06/NavMain.tsx +56 -0
  1508. package/dist/components/catalyst-ui/sidebars/sidebar-06/SidebarOptInForm.tsx +34 -0
  1509. package/dist/components/catalyst-ui/sidebars/sidebar-06/index.tsx +290 -0
  1510. package/dist/components/catalyst-ui/sidebars/sidebar-06/sidebar-06.tsx +183 -0
  1511. package/dist/components/catalyst-ui/sidebars/sidebar-07/AppSidebar.tsx +28 -0
  1512. package/dist/components/catalyst-ui/sidebars/sidebar-07/NavMain.tsx +57 -0
  1513. package/dist/components/catalyst-ui/sidebars/sidebar-07/NavProjects.tsx +67 -0
  1514. package/dist/components/catalyst-ui/sidebars/sidebar-07/NavUser.tsx +86 -0
  1515. package/dist/components/catalyst-ui/sidebars/sidebar-07/TeamSwitcher.tsx +74 -0
  1516. package/dist/components/catalyst-ui/sidebars/sidebar-07/index.tsx +474 -0
  1517. package/dist/components/catalyst-ui/sidebars/sidebar-07/sidebar-07.tsx +189 -0
  1518. package/dist/components/catalyst-ui/sidebars/sidebar-08/AppSidebar.tsx +41 -0
  1519. package/dist/components/catalyst-ui/sidebars/sidebar-08/NavMain.tsx +62 -0
  1520. package/dist/components/catalyst-ui/sidebars/sidebar-08/NavProjects.tsx +68 -0
  1521. package/dist/components/catalyst-ui/sidebars/sidebar-08/NavSecondary.tsx +35 -0
  1522. package/dist/components/catalyst-ui/sidebars/sidebar-08/NavUser.tsx +87 -0
  1523. package/dist/components/catalyst-ui/sidebars/sidebar-08/index.tsx +446 -0
  1524. package/dist/components/catalyst-ui/sidebars/sidebar-08/sidebar-08.tsx +181 -0
  1525. package/dist/components/catalyst-ui/sidebars/sidebar-09/AppSidebar.tsx +213 -0
  1526. package/dist/components/catalyst-ui/sidebars/sidebar-09/NavUser.tsx +88 -0
  1527. package/dist/components/catalyst-ui/sidebars/sidebar-09/index.tsx +468 -0
  1528. package/dist/components/catalyst-ui/sidebars/sidebar-09/sidebar-09.tsx +177 -0
  1529. package/dist/components/catalyst-ui/sidebars/sidebar-10/AppSidebar.tsx +28 -0
  1530. package/dist/components/catalyst-ui/sidebars/sidebar-10/NavActions.tsx +59 -0
  1531. package/dist/components/catalyst-ui/sidebars/sidebar-10/NavFavorites.tsx +74 -0
  1532. package/dist/components/catalyst-ui/sidebars/sidebar-10/NavMain.tsx +31 -0
  1533. package/dist/components/catalyst-ui/sidebars/sidebar-10/NavSecondary.tsx +37 -0
  1534. package/dist/components/catalyst-ui/sidebars/sidebar-10/NavWorkspaces.tsx +70 -0
  1535. package/dist/components/catalyst-ui/sidebars/sidebar-10/TeamSwitcher.tsx +70 -0
  1536. package/dist/components/catalyst-ui/sidebars/sidebar-10/index.tsx +675 -0
  1537. package/dist/components/catalyst-ui/sidebars/sidebar-10/sidebar-10.tsx +348 -0
  1538. package/dist/components/catalyst-ui/sidebars/sidebar-11/AppSidebar.tsx +46 -0
  1539. package/dist/components/catalyst-ui/sidebars/sidebar-11/Tree.tsx +49 -0
  1540. package/dist/components/catalyst-ui/sidebars/sidebar-11/index.tsx +175 -0
  1541. package/dist/components/catalyst-ui/sidebars/sidebar-11/sidebar-11.tsx +102 -0
  1542. package/dist/components/catalyst-ui/sidebars/sidebar-12/AppSidebar.tsx +32 -0
  1543. package/dist/components/catalyst-ui/sidebars/sidebar-12/Calendars.tsx +57 -0
  1544. package/dist/components/catalyst-ui/sidebars/sidebar-12/DatePicker.tsx +13 -0
  1545. package/dist/components/catalyst-ui/sidebars/sidebar-12/NavUser.tsx +85 -0
  1546. package/dist/components/catalyst-ui/sidebars/sidebar-12/index.tsx +237 -0
  1547. package/dist/components/catalyst-ui/sidebars/sidebar-12/sidebar-12.tsx +68 -0
  1548. package/dist/components/catalyst-ui/sidebars/sidebar-13/SettingsDialog.tsx +82 -0
  1549. package/dist/components/catalyst-ui/sidebars/sidebar-13/index.tsx +105 -0
  1550. package/dist/components/catalyst-ui/sidebars/sidebar-13/sidebar-13.tsx +24 -0
  1551. package/dist/components/catalyst-ui/sidebars/sidebar-14/AppSidebar.tsx +45 -0
  1552. package/dist/components/catalyst-ui/sidebars/sidebar-14/index.tsx +225 -0
  1553. package/dist/components/catalyst-ui/sidebars/sidebar-14/sidebar-14.tsx +186 -0
  1554. package/dist/components/catalyst-ui/sidebars/sidebar-15/Calendars.tsx +83 -0
  1555. package/dist/components/catalyst-ui/sidebars/sidebar-15/DatePicker.tsx +39 -0
  1556. package/dist/components/catalyst-ui/sidebars/sidebar-15/NavFavorites.tsx +98 -0
  1557. package/dist/components/catalyst-ui/sidebars/sidebar-15/NavMain.tsx +29 -0
  1558. package/dist/components/catalyst-ui/sidebars/sidebar-15/NavSecondary.tsx +36 -0
  1559. package/dist/components/catalyst-ui/sidebars/sidebar-15/NavUser.tsx +89 -0
  1560. package/dist/components/catalyst-ui/sidebars/sidebar-15/NavWorkspaces.tsx +95 -0
  1561. package/dist/components/catalyst-ui/sidebars/sidebar-15/SidebarLeft.tsx +28 -0
  1562. package/dist/components/catalyst-ui/sidebars/sidebar-15/SidebarRight.tsx +38 -0
  1563. package/dist/components/catalyst-ui/sidebars/sidebar-15/TeamSwitcher.tsx +89 -0
  1564. package/dist/components/catalyst-ui/sidebars/sidebar-15/index.tsx +776 -0
  1565. package/dist/components/catalyst-ui/sidebars/sidebar-15/sidebar-15.tsx +324 -0
  1566. package/dist/components/catalyst-ui/sidebars/sidebar-16/AppSidebar.tsx +50 -0
  1567. package/dist/components/catalyst-ui/sidebars/sidebar-16/NavUser.tsx +100 -0
  1568. package/dist/components/catalyst-ui/sidebars/sidebar-16/SearchForm.tsx +35 -0
  1569. package/dist/components/catalyst-ui/sidebars/sidebar-16/SiteHeader.tsx +51 -0
  1570. package/dist/components/catalyst-ui/sidebars/sidebar-16/index.tsx +424 -0
  1571. package/dist/components/catalyst-ui/sidebars/sidebar-16/sidebar-16.tsx +188 -0
  1572. package/dist/components/catalyst-ui/sidebars/sidebar-17/AppSidebar.tsx +154 -0
  1573. package/dist/components/catalyst-ui/sidebars/sidebar-17/ShoppingCartSidebar.tsx +163 -0
  1574. package/dist/components/catalyst-ui/sidebars/sidebar-17/index.tsx +557 -0
  1575. package/dist/components/catalyst-ui/sidebars/sidebar-17/sidebar-17.tsx +183 -0
  1576. package/dist/components/catalyst-ui/sidebars/sidebar-18/AppSidebar.tsx +32 -0
  1577. package/dist/components/catalyst-ui/sidebars/sidebar-18/NavTreeView.tsx +18 -0
  1578. package/dist/components/catalyst-ui/sidebars/sidebar-18/index.tsx +120 -0
  1579. package/dist/components/catalyst-ui/sidebars/sidebar-18/sidebar-18.tsx +92 -0
  1580. package/dist/components/catalyst-ui/sidebars/sidebar-19/AppSidebar.tsx +230 -0
  1581. package/dist/components/catalyst-ui/sidebars/sidebar-19/index.tsx +264 -0
  1582. package/dist/components/catalyst-ui/sidebars/sidebar-19/sidebar-19.tsx +59 -0
  1583. package/dist/components/catalyst-ui/sidebars/sidebar-20/AppSidebar.tsx +215 -0
  1584. package/dist/components/catalyst-ui/sidebars/sidebar-20/index.tsx +250 -0
  1585. package/dist/components/catalyst-ui/sidebars/sidebar-20/sidebar-20.tsx +44 -0
  1586. package/dist/components/catalyst-ui/sidebars/sidebar-21/AppSidebar.tsx +303 -0
  1587. package/dist/components/catalyst-ui/sidebars/sidebar-21/LoadingSidebar.tsx +41 -0
  1588. package/dist/components/catalyst-ui/sidebars/sidebar-21/index.tsx +412 -0
  1589. package/dist/components/catalyst-ui/sidebars/sidebar-21/sidebar-21.tsx +75 -0
  1590. package/dist/components/catalyst-ui/sidebars/sidebar-22/AppSidebar.tsx +184 -0
  1591. package/dist/components/catalyst-ui/sidebars/sidebar-22/LoadingSidebar.tsx +45 -0
  1592. package/dist/components/catalyst-ui/sidebars/sidebar-22/index.tsx +251 -0
  1593. package/dist/components/catalyst-ui/sidebars/sidebar-22/sidebar-22.tsx +44 -0
  1594. package/dist/components/catalyst-ui/sidebars/sidebar-24/NavUser.tsx +87 -0
  1595. package/dist/components/catalyst-ui/sidebars/sidebar-24/calendars-24.tsx +58 -0
  1596. package/dist/components/catalyst-ui/sidebars/sidebar-24/date-picker-24.tsx +12 -0
  1597. package/dist/components/catalyst-ui/sidebars/sidebar-24/sidebar-24.tsx +39 -0
  1598. package/dist/components/catalyst-ui/sidebars/sidebar-25/AppSidebar.tsx +24 -0
  1599. package/dist/components/catalyst-ui/sidebars/sidebar-25/NavMain.tsx +57 -0
  1600. package/dist/components/catalyst-ui/sidebars/sidebar-25/NavSecondary.tsx +35 -0
  1601. package/dist/components/catalyst-ui/sidebars/sidebar-25/NavUser.tsx +87 -0
  1602. package/dist/components/catalyst-ui/sidebars/sidebar-25/SearchForm.tsx +35 -0
  1603. package/dist/components/catalyst-ui/sidebars/sidebar-25/SiteHeader.tsx +19 -0
  1604. package/dist/components/catalyst-ui/sidebars/sidebar-25/index.tsx +172 -0
  1605. package/dist/components/catalyst-ui/sidebars/sidebar-25/sidebar-25.tsx +153 -0
  1606. package/dist/components/catalyst-ui/sidebars/sidebar-26/app-sidebar-26.tsx +344 -0
  1607. package/dist/components/catalyst-ui/sidebars/sidebar-26/index.tsx +78 -0
  1608. package/dist/components/catalyst-ui/sidebars/sidebar-26/sidebar-26.tsx +78 -0
  1609. package/dist/components/catalyst-ui/sidebars/sidebar-26/use-mobile-26.ts +19 -0
  1610. package/dist/components/catalyst-ui/sidebars/sidebar-27/sidebar-27.tsx +5 -0
  1611. package/dist/components/catalyst-ui/sidebars/sidebar-28/app-sidebar-28.tsx +285 -0
  1612. package/dist/components/catalyst-ui/sidebars/sidebar-28/index.tsx +31 -0
  1613. package/dist/components/catalyst-ui/sidebars/sidebar-28/nav-user-28.tsx +88 -0
  1614. package/dist/components/catalyst-ui/sidebars/sidebar-28/search-form-28.tsx +23 -0
  1615. package/dist/components/catalyst-ui/sidebars/sidebar-28/sidebar-28.tsx +32 -0
  1616. package/dist/components/catalyst-ui/sidebars/sidebar-28/site-header-28.tsx +29 -0
  1617. package/dist/components/catalyst-ui/sidebars/sidebar-28/use-mobile-28.ts +19 -0
  1618. package/dist/components/catalyst-ui/sidebars/sidebar-29/ds-left-icon.tsx +101 -0
  1619. package/dist/components/catalyst-ui/sidebars/sidebar-29/ds-left.tsx +88 -0
  1620. package/dist/components/catalyst-ui/sidebars/sidebar-29/ds-right-icon.tsx +106 -0
  1621. package/dist/components/catalyst-ui/sidebars/sidebar-29/ds-right.tsx +87 -0
  1622. package/dist/components/catalyst-ui/sidebars/sidebar-29/nav-user.tsx +74 -0
  1623. package/dist/components/catalyst-ui/sidebars/sidebar-29/settings-dialog.tsx +91 -0
  1624. package/dist/components/catalyst-ui/sidebars/sidebar-29/sidebar-29.tsx +204 -0
  1625. package/dist/components/catalyst-ui/sidebars/sidebar-29/version-switcher.tsx +52 -0
  1626. package/dist/components/catalyst-ui/sidebars/sidebar-30/ds-left.tsx +678 -0
  1627. package/dist/components/catalyst-ui/sidebars/sidebar-30/ds-right.tsx +87 -0
  1628. package/dist/components/catalyst-ui/sidebars/sidebar-30/settings-dialog.tsx +91 -0
  1629. package/dist/components/catalyst-ui/sidebars/sidebar-30/sidebar-30.tsx +604 -0
  1630. package/dist/components/catalyst-ui/sidebars/sidebar-31/ds-left.tsx +431 -0
  1631. package/dist/components/catalyst-ui/sidebars/sidebar-31/message.tsx +28 -0
  1632. package/dist/components/catalyst-ui/sidebars/sidebar-31/nav-auto-search.tsx +310 -0
  1633. package/dist/components/catalyst-ui/sidebars/sidebar-31/nav-search-command.tsx +0 -0
  1634. package/dist/components/catalyst-ui/sidebars/sidebar-31/nav-user.tsx +74 -0
  1635. package/dist/components/catalyst-ui/sidebars/sidebar-31/sidebar-31.tsx +369 -0
  1636. package/dist/components/catalyst-ui/sidebars/sidebar-31/typing-message.tsx +12 -0
  1637. package/dist/components/catalyst-ui/sidebars/sidebar-32/ds-left.tsx +119 -0
  1638. package/dist/components/catalyst-ui/sidebars/sidebar-32/ds-right.tsx +87 -0
  1639. package/dist/components/catalyst-ui/sidebars/sidebar-32/settings-dialog.tsx +91 -0
  1640. package/dist/components/catalyst-ui/sidebars/sidebar-32/sidebar-32.tsx +119 -0
  1641. package/dist/components/catalyst-ui/sidebars/variants/dual-sidebar-agnostic.tsx +3473 -0
  1642. package/dist/components/catalyst-ui/sidebars/variants/sidebar-original.tsx +714 -0
  1643. package/dist/components/catalyst-ui/sidebars/variants/sidebar-right.tsx +823 -0
  1644. package/dist/components/catalyst-ui/sidebars/variants/sidebar-stylistic-default.tsx +591 -0
  1645. package/dist/components/catalyst-ui/table/catalyst-table/column-header-simple.tsx +60 -0
  1646. package/dist/components/catalyst-ui/table/catalyst-table/column-header.tsx +223 -0
  1647. package/dist/components/catalyst-ui/table/catalyst-table/draggable-header.tsx +58 -0
  1648. package/dist/components/catalyst-ui/table/catalyst-table/faceted-filter.tsx +131 -0
  1649. package/dist/components/catalyst-ui/table/catalyst-table/global-search.tsx +0 -0
  1650. package/dist/components/catalyst-ui/table/catalyst-table/row-actions.tsx +49 -0
  1651. package/dist/components/catalyst-ui/table/catalyst-table/table.tsx +421 -0
  1652. package/dist/components/catalyst-ui/table/index.ts +14 -0
  1653. package/dist/components/catalyst-ui/table/props-table.tsx +170 -0
  1654. package/dist/components/catalyst-ui/table/small-table.tsx +719 -0
  1655. package/dist/components/catalyst-ui/table/table-1.tsx +246 -0
  1656. package/dist/components/catalyst-ui/themeStudio/config.tsx +83 -0
  1657. package/dist/components/catalyst-ui/themeStudio/dual-sidebar.tsx +3256 -0
  1658. package/dist/components/catalyst-ui/themeStudio/theme-provider.tsx +269 -0
  1659. package/dist/components/catalyst-ui/themeStudio/use-color-theme.tsx +1614 -0
  1660. package/dist/components/catalyst-ui/themeStudio/use-color-wheel.tsx +904 -0
  1661. package/dist/components/catalyst-ui/tools/Demo/md-render-genie.tsx +273 -0
  1662. package/dist/components/catalyst-ui/tools/GandalfBot.tsx +144 -0
  1663. package/dist/components/catalyst-ui/tools/MdFileTreeExplorer.tsx +287 -0
  1664. package/dist/components/catalyst-ui/tools/accessibility-checker.tsx +370 -0
  1665. package/dist/components/catalyst-ui/tools/animation-builder.tsx +350 -0
  1666. package/dist/components/catalyst-ui/tools/api-response.tsx +318 -0
  1667. package/dist/components/catalyst-ui/tools/chart-playground.tsx +480 -0
  1668. package/dist/components/catalyst-ui/tools/code-carousel.tsx +246 -0
  1669. package/dist/components/catalyst-ui/tools/code-diff.tsx +274 -0
  1670. package/dist/components/catalyst-ui/tools/code-editor.tsx +35 -0
  1671. package/dist/components/catalyst-ui/tools/code-highlight-plugin.tsx +25 -0
  1672. package/dist/components/catalyst-ui/tools/color-converter.tsx +413 -0
  1673. package/dist/components/catalyst-ui/tools/color-wheel.tsx +1012 -0
  1674. package/dist/components/catalyst-ui/tools/components-reel.tsx +135 -0
  1675. package/dist/components/catalyst-ui/tools/convert/converter.tsx +969 -0
  1676. package/dist/components/catalyst-ui/tools/convert/sidebar-converter.tsx +132 -0
  1677. package/dist/components/catalyst-ui/tools/cron-expression-builder.tsx +346 -0
  1678. package/dist/components/catalyst-ui/tools/dual-editor.tsx +240 -0
  1679. package/dist/components/catalyst-ui/tools/editor.tsx +1744 -0
  1680. package/dist/components/catalyst-ui/tools/examples.tsx +1206 -0
  1681. package/dist/components/catalyst-ui/tools/flexbox-sandbox.tsx +327 -0
  1682. package/dist/components/catalyst-ui/tools/function-theater.tsx +93 -0
  1683. package/dist/components/catalyst-ui/tools/grid-sandbox.tsx +464 -0
  1684. package/dist/components/catalyst-ui/tools/icons.tsx +249 -0
  1685. package/dist/components/catalyst-ui/tools/index.ts +59 -0
  1686. package/dist/components/catalyst-ui/tools/json-Formatter.tsx +258 -0
  1687. package/dist/components/catalyst-ui/tools/layout-generator.tsx +237 -0
  1688. package/dist/components/catalyst-ui/tools/lexical-editor.tsx +218 -0
  1689. package/dist/components/catalyst-ui/tools/live-playground.tsx +1458 -0
  1690. package/dist/components/catalyst-ui/tools/lorem-ipsum-generator.tsx +314 -0
  1691. package/dist/components/catalyst-ui/tools/md-badge-builder.tsx +179 -0
  1692. package/dist/components/catalyst-ui/tools/md-cheat-sheet.tsx +5557 -0
  1693. package/dist/components/catalyst-ui/tools/md-editor.tsx +632 -0
  1694. package/dist/components/catalyst-ui/tools/md-render-genie.tsx +1233 -0
  1695. package/dist/components/catalyst-ui/tools/md-renderer.tsx +61 -0
  1696. package/dist/components/catalyst-ui/tools/monaco-sidebar.tsx +7791 -0
  1697. package/dist/components/catalyst-ui/tools/monaco.tsx +492 -0
  1698. package/dist/components/catalyst-ui/tools/motion-sandbox.tsx +0 -0
  1699. package/dist/components/catalyst-ui/tools/qr-code-generator.tsx +432 -0
  1700. package/dist/components/catalyst-ui/tools/regex-tester.tsx +508 -0
  1701. package/dist/components/catalyst-ui/tools/responsive-preview.tsx +286 -0
  1702. package/dist/components/catalyst-ui/tools/rich-text-editor copy.tsx +1058 -0
  1703. package/dist/components/catalyst-ui/tools/rich-text-editor.tsx +1994 -0
  1704. package/dist/components/catalyst-ui/tools/rte.md +119 -0
  1705. package/dist/components/catalyst-ui/tools/sandbox.tsx +52 -0
  1706. package/dist/components/catalyst-ui/tools/scripts-viewer.tsx +215 -0
  1707. package/dist/components/catalyst-ui/tools/scripts.edit.tsx +3102 -0
  1708. package/dist/components/catalyst-ui/tools/table-plugin.tsx +149 -0
  1709. package/dist/components/catalyst-ui/tools/tailwind-converter.tsx +502 -0
  1710. package/dist/components/catalyst-ui/tools/terminal.tsx +60 -0
  1711. package/dist/components/catalyst-ui/tools/theme-builder.tsx +5071 -0
  1712. package/dist/components/catalyst-ui/tools/toolbar-plugin.tsx +383 -0
  1713. package/dist/components/catalyst-ui/tools/toolbar-plugin1.tsx +861 -0
  1714. package/dist/components/catalyst-ui/tools/typography-tester.tsx +310 -0
  1715. package/dist/components/catalyst-ui/tools/uuid-hash-generator.tsx +534 -0
  1716. package/dist/components/catalyst-ui/tools/vscode-cmds.tsx +3813 -0
  1717. package/dist/components/catalyst-ui/tools/x-viewer.tsx +135 -0
  1718. package/dist/components/catalyst-ui/typography/animated-glitch-text.tsx +188 -0
  1719. package/dist/components/catalyst-ui/typography/b.tsx +23 -0
  1720. package/dist/components/catalyst-ui/typography/blockquote.tsx +35 -0
  1721. package/dist/components/catalyst-ui/typography/check-list.tsx +130 -0
  1722. package/dist/components/catalyst-ui/typography/code.tsx +26 -0
  1723. package/dist/components/catalyst-ui/typography/comic-text.tsx +68 -0
  1724. package/dist/components/catalyst-ui/typography/display-code.tsx +148 -0
  1725. package/dist/components/catalyst-ui/typography/div.tsx +20 -0
  1726. package/dist/components/catalyst-ui/typography/dynamic-text.tsx +149 -0
  1727. package/dist/components/catalyst-ui/typography/encrypted-text.tsx +168 -0
  1728. package/dist/components/catalyst-ui/typography/glitch-text.tsx +174 -0
  1729. package/dist/components/catalyst-ui/typography/h1.tsx +19 -0
  1730. package/dist/components/catalyst-ui/typography/h2.tsx +19 -0
  1731. package/dist/components/catalyst-ui/typography/h3.tsx +19 -0
  1732. package/dist/components/catalyst-ui/typography/h4.tsx +19 -0
  1733. package/dist/components/catalyst-ui/typography/h5.tsx +19 -0
  1734. package/dist/components/catalyst-ui/typography/highlight-1.tsx +133 -0
  1735. package/dist/components/catalyst-ui/typography/highlight.tsx +133 -0
  1736. package/dist/components/catalyst-ui/typography/hyper-text.tsx +135 -0
  1737. package/dist/components/catalyst-ui/typography/i.tsx +23 -0
  1738. package/dist/components/catalyst-ui/typography/ib.tsx +24 -0
  1739. package/dist/components/catalyst-ui/typography/index.ts +49 -0
  1740. package/dist/components/catalyst-ui/typography/line-shadow-text.tsx +44 -0
  1741. package/dist/components/catalyst-ui/typography/matrix-text.tsx +186 -0
  1742. package/dist/components/catalyst-ui/typography/ordered-list.tsx +39 -0
  1743. package/dist/components/catalyst-ui/typography/p.tsx +19 -0
  1744. package/dist/components/catalyst-ui/typography/paragraph-scramble.tsx +122 -0
  1745. package/dist/components/catalyst-ui/typography/pm.tsx +20 -0
  1746. package/dist/components/catalyst-ui/typography/prose.tsx +90 -0
  1747. package/dist/components/catalyst-ui/typography/scroll-text.tsx +181 -0
  1748. package/dist/components/catalyst-ui/typography/shimmer-text.tsx +105 -0
  1749. package/dist/components/catalyst-ui/typography/sliced-text.tsx +131 -0
  1750. package/dist/components/catalyst-ui/typography/swoosh-text.tsx +111 -0
  1751. package/dist/components/catalyst-ui/typography/text-animate.tsx +380 -0
  1752. package/dist/components/catalyst-ui/typography/text-highlighter.tsx +101 -0
  1753. package/dist/components/catalyst-ui/typography/text-morph.tsx +272 -0
  1754. package/dist/components/catalyst-ui/typography/text-reveal.tsx +71 -0
  1755. package/dist/components/catalyst-ui/typography/text-rewind.tsx +90 -0
  1756. package/dist/components/catalyst-ui/typography/text-scramble.tsx +111 -0
  1757. package/dist/components/catalyst-ui/typography/text.tsx +134 -0
  1758. package/dist/components/catalyst-ui/typography/typewriter.tsx +153 -0
  1759. package/dist/components/catalyst-ui/typography/typing-animation.tsx +172 -0
  1760. package/dist/components/catalyst-ui/typography/typography.tsx +67 -0
  1761. package/dist/components/catalyst-ui/typography/unordered-list.tsx +78 -0
  1762. package/dist/components/catalyst-ui/typography/video-text.tsx +86 -0
  1763. package/dist/components/catalyst-ui/typography/word-rotate.tsx +48 -0
  1764. package/dist/components/catalyst-ui/utils/auth-provider.tsx +419 -0
  1765. package/dist/components/catalyst-ui/utils/auth.github.callback.tsx +135 -0
  1766. package/dist/components/catalyst-ui/utils/auth.github.tsx +17 -0
  1767. package/dist/components/catalyst-ui/utils/auth.ts +34 -0
  1768. package/dist/components/catalyst-ui/utils/auth_github.ts +48 -0
  1769. package/dist/components/catalyst-ui/utils/auth_session.ts +70 -0
  1770. package/dist/components/catalyst-ui/utils/batcher.tsx +50 -0
  1771. package/dist/components/catalyst-ui/utils/build-package-json.js +89 -0
  1772. package/dist/components/catalyst-ui/utils/cache-assets.ts +72 -0
  1773. package/dist/components/catalyst-ui/utils/client-only-mermaid.tsx +82 -0
  1774. package/dist/components/catalyst-ui/utils/client-only.tsx +27 -0
  1775. package/dist/components/catalyst-ui/utils/cors.ts +178 -0
  1776. package/dist/components/catalyst-ui/utils/crypto.ts +96 -0
  1777. package/dist/components/catalyst-ui/utils/dbLocal.js +74 -0
  1778. package/dist/components/catalyst-ui/utils/dbRemote.js +74 -0
  1779. package/dist/components/catalyst-ui/utils/demo.tsx +499 -0
  1780. package/dist/components/catalyst-ui/utils/dynamic-links.tsx +324 -0
  1781. package/dist/components/catalyst-ui/utils/event-stream.ts +82 -0
  1782. package/dist/components/catalyst-ui/utils/existing-search-params.tsx +78 -0
  1783. package/dist/components/catalyst-ui/utils/external-scripts.tsx +144 -0
  1784. package/dist/components/catalyst-ui/utils/fetcher-context.tsx +45 -0
  1785. package/dist/components/catalyst-ui/utils/fetcher-type.tsx +82 -0
  1786. package/dist/components/catalyst-ui/utils/filename-icon-map.tsx +176 -0
  1787. package/dist/components/catalyst-ui/utils/flickering-grid.tsx +188 -0
  1788. package/dist/components/catalyst-ui/utils/get-client-ip-address.ts +52 -0
  1789. package/dist/components/catalyst-ui/utils/get-client-locales.ts +25 -0
  1790. package/dist/components/catalyst-ui/utils/get-headers.ts +7 -0
  1791. package/dist/components/catalyst-ui/utils/honeypot-react.tsx +480 -0
  1792. package/dist/components/catalyst-ui/utils/honeypot.ts +138 -0
  1793. package/dist/components/catalyst-ui/utils/index.ts +82 -0
  1794. package/dist/components/catalyst-ui/utils/is-prefetch.ts +19 -0
  1795. package/dist/components/catalyst-ui/utils/json-hash.ts +33 -0
  1796. package/dist/components/catalyst-ui/utils/keyboard-shortcut.tsx +124 -0
  1797. package/dist/components/catalyst-ui/utils/named-action.ts +50 -0
  1798. package/dist/components/catalyst-ui/utils/navigation-context.tsx +71 -0
  1799. package/dist/components/catalyst-ui/utils/options.ts +20 -0
  1800. package/dist/components/catalyst-ui/utils/otp-auth-session.ts +14 -0
  1801. package/dist/components/catalyst-ui/utils/otp-client-auth.tsx +30 -0
  1802. package/dist/components/catalyst-ui/utils/otp-email.tsx +104 -0
  1803. package/dist/components/catalyst-ui/utils/parse-accept-header.ts +21 -0
  1804. package/dist/components/catalyst-ui/utils/preload-route-assets.ts +60 -0
  1805. package/dist/components/catalyst-ui/utils/prisma.ts +93 -0
  1806. package/dist/components/catalyst-ui/utils/promise.ts +55 -0
  1807. package/dist/components/catalyst-ui/utils/qr-code-1-server.tsx +42 -0
  1808. package/dist/components/catalyst-ui/utils/qr-code-1.tsx +87 -0
  1809. package/dist/components/catalyst-ui/utils/redirect-back.ts +35 -0
  1810. package/dist/components/catalyst-ui/utils/redirect-bad-requests.tsx +5 -0
  1811. package/dist/components/catalyst-ui/utils/remix-auth.ts +35 -0
  1812. package/dist/components/catalyst-ui/utils/remix_auth_session.ts +71 -0
  1813. package/dist/components/catalyst-ui/utils/respond-to.ts +40 -0
  1814. package/dist/components/catalyst-ui/utils/responses.ts +130 -0
  1815. package/dist/components/catalyst-ui/utils/rolling-cookie.tsx +39 -0
  1816. package/dist/components/catalyst-ui/utils/safe-redirect.ts +21 -0
  1817. package/dist/components/catalyst-ui/utils/scaffolding.tsx +14 -0
  1818. package/dist/components/catalyst-ui/utils/scroll-top.tsx +382 -0
  1819. package/dist/components/catalyst-ui/utils/scroll-x.tsx +22 -0
  1820. package/dist/components/catalyst-ui/utils/scroll-xy.tsx +22 -0
  1821. package/dist/components/catalyst-ui/utils/scroll-y.tsx +14 -0
  1822. package/dist/components/catalyst-ui/utils/scroll.tsx +32 -0
  1823. package/dist/components/catalyst-ui/utils/sec-fetch-parser.tsx +119 -0
  1824. package/dist/components/catalyst-ui/utils/sec-fetch-parsers.tsx +42 -0
  1825. package/dist/components/catalyst-ui/utils/server-only.tsx +12 -0
  1826. package/dist/components/catalyst-ui/utils/singleton.tsx +22 -0
  1827. package/dist/components/catalyst-ui/utils/style-provider.tsx +292 -0
  1828. package/dist/components/catalyst-ui/utils/tailwindcss.css.txt +134 -0
  1829. package/dist/components/catalyst-ui/utils/typed-cookie.ts +90 -0
  1830. package/dist/components/catalyst-ui/utils/typed-session.ts +115 -0
  1831. package/dist/components/catalyst-ui/utils/user-based-access-rules.tsx +118 -0
  1832. package/dist/components/catalyst-ui/x/index.ts +38 -0
  1833. package/dist/components/catalyst-ui/x/input-x.tsx +2263 -0
  1834. package/dist/components/catalyst-ui/x/nav-x.tsx +3213 -0
  1835. package/dist/components/catalyst-ui/x/tracker-x.tsx +2 -12
  1836. package/dist/index.js +198 -220
  1837. package/package.json +1 -1
  1838. /package/dist/{data.tsx → components/catalyst-ui/data.tsx} +0 -0
  1839. /package/dist/components/catalyst-ui/x/{button-X.tsx → button-x.tsx} +0 -0
@@ -0,0 +1,3109 @@
1
+ import React, { Suspense, lazy, useCallback, useEffect, useRef, useState } from "react";
2
+ import { Save, FileText, Eye, Code as CodeLucide, EyeOff, Settings, Download, Upload, Moon, Sun, Split, Maximize2, Code, Component, Boxes, Puzzle, Monitor, X, Search, TextCursorInput, Ban, ChevronRight, Home } from "lucide-react";
3
+ import { LoadingPage } from "~/components/catalyst-ui";
4
+ //import { redirect, json, type LoaderFunction } from "@remix-run/node";
5
+ import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut } from "~/components/catalyst-ui";
6
+ import { Button } from "~/components/catalyst-ui";
7
+ import { CopyText } from "~/components/catalyst-ui";
8
+ import { ExportFile } from "~/components/catalyst-ui";
9
+ import { Input } from "~/components/catalyst-ui";
10
+ import { Label } from "~/components/catalyst-ui";
11
+ import { useFetcher, useLoaderData } from "@remix-run/react";
12
+ import { Editor } from "@monaco-editor/react";
13
+ import { ClientOnly } from "~/utils/client-only";
14
+ //import { prisma } from "~/modules/libs/prisma";
15
+ import { authSessionStorage } from "~/modules/auth/auth_session";
16
+ //import eP from "~/utils/ext";
17
+ import { Popover, PopoverContent, PopoverTrigger } from "~/components/catalyst-ui";
18
+ import { renderPreview } from "../../tools/md-render-genie";
19
+
20
+
21
+
22
+ function TheSecondBiggestEventToEffectMyMotivationAndWorkEthic() {
23
+ const [calls, setCalls] = useState(100);
24
+ const [min, setMin] = useState(1.5);
25
+ const wastedMinutes = parseFloat(calls) * parseFloat(min);
26
+ const wastedHours = (parseFloat(calls) * parseFloat(min)) / 60;
27
+
28
+ const [days, setDays] = useState(260);
29
+ // 8 hours in a work day
30
+ const totalDaysWasted = (((parseFloat(calls) * parseFloat(min)) / 60) * days) / 8;
31
+ const workingDaysWasted = (((parseFloat(calls) * parseFloat(min)) / 60) * days) / 8;
32
+
33
+ const [yearlyPay, setYearlyPay] = useState(85000);
34
+ const [salesPpl, setSalesPpl] = useState(1);
35
+ const salaryWasted = (parseFloat(yearlyPay) / parseFloat(days)) * parseFloat(totalDaysWasted);
36
+ const totalSalaryWasted = parseFloat(salaryWasted) * salesPpl;
37
+
38
+ const [salesMonth, setSalesMonth] = useState(17);
39
+ const [employees, setEmployees] = useState(6 + 2 + 3 + 7);
40
+ const [avgSalary, setAvgSalary] = useState(55000);
41
+ const [timeWastedPerEmployee, setTimeWastedPerEmployee] = useState(2);
42
+
43
+ const totalSalesLost = (totalDaysWasted * ((salesMonth * 12) / days)).toFixed(2);
44
+
45
+ const workingHoursPerYear = 8 * days; // 8 hours/day * 260 days
46
+
47
+ const totalSalaryLoss = (
48
+ timeWastedPerEmployee *
49
+ employees * // Daily wasted hours for the team
50
+ (avgSalary / workingHoursPerYear) * // Hourly rate
51
+ days
52
+ ) // Number of working days
53
+ .toFixed(2);
54
+
55
+ const [crmCustomers, setCrmCustomers] = useState(5500);
56
+
57
+ const [dsa, setDsa] = useState(750);
58
+ const [competitor, setCompetitor] = useState(1500);
59
+ const [offEachSale, setOffEachSale] = useState(11250);
60
+
61
+ const LostInSalaries = ((parseFloat(totalSalaryLoss) + parseFloat(totalSalaryWasted)) * crmCustomers).toFixed(2);
62
+ const LostUnitSales = (totalSalesLost * crmCustomers).toFixed(2);
63
+ const UnitSalesTotal = (offEachSale * LostUnitSales).toFixed(2);
64
+ const GrandTotal = (parseFloat(UnitSalesTotal) + parseFloat(LostInSalaries)).toFixed(2);
65
+
66
+ return (
67
+ <div className="mt-3 grid w-full items-center">
68
+ <p className="mt-3">
69
+ This subject has been gone over at great lengths with the group / owner of your dealer. It's so important, it's why they decided to go with this crm. This crm is the only application focused on obsessing over every second, of every day, when
70
+ it comes to the role of a sales person. Re-engineering the proceses we have to deal with, wherever needed. What do I mean by that?
71
+ </p>
72
+ <p className="mt-3">
73
+ Lets take the process of completing an appointment, and rescheduling that client to follow up with them in 3 days time. We already called or emailed them, and we are just completing the house work, the crm needs us to do, in order to properly
74
+ track our clients and their appointments. Personally, I never measured this till a certain event happened. TBH, it angers me that I didn't see this earlier.
75
+ </p>
76
+ <p className="mt-3">
77
+ Without cheating the system ( because we all know we can cheat it, but in so doing... actually wastes more time in the long run, by well over 10 x in some cases, you'll see ), the average person completes this above 2 minute marker or longer.
78
+ At times, 3, 4, and even hitting the 7-10 minute markers. Anything at the 2 minute marker or below, your going open to close, and you sell more than any one else in the dealer. If there is that person at your dealer, theres only usually one
79
+ if you have one.
80
+ </p>
81
+ <p className="mt-3 text-muted-foreground">Leaving yourself a note, on what took place during that call / email / whatever.</p>
82
+ <p className="mt-3 text-xs text-muted-foreground">
83
+ By skipping this step, when you go to follow up, in 2, 3, 4 days time or whatever, you now have to open previous emails, previous texts, or listen in on that previous call just to get a sense where you are in the process and strategize how
84
+ you should approach the next call. Doing so, your adding 5-10 minutes to this process, where as leaving yourself that little note, whatever it may be to get you up to speed on the call, being well worth the time invested. I will show a split
85
+ comparison.
86
+ </p>
87
+ <p className="mt-3">Then doing whatever it takes, to create the next appointment for that client. There is no way around this to make it so we don't have to do this.</p>
88
+ <p className="mt-3 text-muted-foreground">So how many calls do you do in a day? I'll use the same example I gave the owner.</p>
89
+ <p className="mt-3 text-muted-foreground text-xs ">
90
+ If you want to get good at sales, just a warning. Be honest with the time spent per call. Don't cheat yourself, no one will ever know what you are currently at, timing wise. Only you. The only person that will get hurt from not doing this
91
+ properly, is you. In a second you will see why...
92
+ </p>
93
+ <p className="mt-3 text-muted-foreground">Calls per day:</p>
94
+ <p className="mt-3">
95
+ I strive for 100 calls a day, can I get more done... yes 100%, and there are times I average 150-200. BUT, at 100 calls a day, if I have a couple of really strong days and get zero follow-ups done, I know I can catch up, before that week has
96
+ concluded. Meaning you have 3 strong days with nothing but wire to wire closing, and 0 calls done. I now have 500 calls to do in 2 days.
97
+ </p>
98
+ <p className="mt-3 text-muted-foreground">Time per call:</p>
99
+ <p className="mt-3">If I don't let my colleagues distract me, I timed myself averaging around 1 min 30 secs.</p>
100
+ <p className="mt-3 text-muted-foreground">Days worked:</p>
101
+ <p className="mt-3">
102
+ Now, I know I work more than the average worker nationwide ( all sales people do ), at the end of the year. 260 days is the average amount of days for the average worker. BUT I don't know exactly how many due to being on commission. If you
103
+ don't know how many days you worked, when you look at the final number, remember its actually worse than whats showing.
104
+ </p>
105
+ <div>
106
+ <Table className=" border border-border rounded-[6px] mx-auto mt-5">
107
+ <TableHeader>
108
+ <TableRow>
109
+ <TableHead colSpan={5} className="text-center">
110
+ Appointments Per Day
111
+ </TableHead>
112
+ </TableRow>
113
+ <TableRow>
114
+ <TableHead className="text-center">
115
+ <TooltipProvider>
116
+ <Tooltip>
117
+ <TooltipTrigger asChild>
118
+ <p>Calls / Day</p>
119
+ </TooltipTrigger>
120
+ <TooltipContent className="w-[250px]">
121
+ <p>100 calls a day is easy, every sales person should aim for this. It's so comfortable for me that if I have a couple of huge days and I'm behind by 2-3 days I know I can stil catch up in calls.</p>
122
+ </TooltipContent>
123
+ </Tooltip>
124
+ </TooltipProvider>
125
+ </TableHead>
126
+ <TableHead className="text-center">Time Wasted / min</TableHead>
127
+ <TableHead className="text-center">Wasted Per Day</TableHead>
128
+ <TableHead className="text-center">
129
+ <TooltipProvider>
130
+ <Tooltip>
131
+ <TooltipTrigger asChild>
132
+ <p>Days Worked / Year</p>
133
+ </TooltipTrigger>
134
+ <TooltipContent className="w-[250px]">
135
+ <p>Average person 260, because of working at home after hours mine is closer to 312. I do not take vacation, and I will answer clients all hours of the day.</p>
136
+ </TooltipContent>
137
+ </Tooltip>
138
+ </TooltipProvider>
139
+ </TableHead>
140
+ <TableHead className="text-center">Total Working Days Wasted / Year</TableHead>
141
+ </TableRow>
142
+ </TableHeader>
143
+ <TableBody>
144
+ <TableRow>
145
+ <TableCell>
146
+ <Input
147
+ type="number"
148
+ step="any"
149
+ className="w-[100px] mx-auto"
150
+ value={calls}
151
+ onChange={(e) => {
152
+ setCalls(parseFloat(e.currentTarget.value || 0));
153
+ }}
154
+ />
155
+ </TableCell>
156
+ <TableCell>
157
+ <Input
158
+ type="number"
159
+ step="any"
160
+ className="w-[100px] mx-auto"
161
+ value={min}
162
+ onChange={(e) => {
163
+ setMin(parseFloat(e.currentTarget.value || 0));
164
+ }}
165
+ />
166
+ </TableCell>
167
+ <TableCell className="text-center">
168
+ <p>
169
+ {wastedMinutes} / mins or {wastedHours.toFixed(2)} /hrs
170
+ </p>
171
+ </TableCell>
172
+ <TableCell>
173
+ <Input
174
+ type="number"
175
+ step="any"
176
+ className="w-[100px] mx-auto"
177
+ value={days}
178
+ onChange={(e) => {
179
+ setDays(parseFloat(e.currentTarget.value || 0));
180
+ }}
181
+ />
182
+ </TableCell>
183
+ <TableCell className="text-center">
184
+ <TooltipProvider>
185
+ <Tooltip>
186
+ <TooltipTrigger asChild>
187
+ <p>{totalDaysWasted.toFixed(2)}</p>
188
+ </TooltipTrigger>
189
+ <TooltipContent className="w-[250px]">
190
+ <p>Working days wasted, ie 8 hr work days. {workingDaysWasted}</p>
191
+ </TooltipContent>
192
+ </Tooltip>
193
+ </TooltipProvider>
194
+ </TableCell>
195
+ </TableRow>
196
+ </TableBody>
197
+ <TableFooter>
198
+ <TableRow>
199
+ <TableCell colSpan={5} className="text-center">
200
+ <p className="text-center ">Total amount of days wasted every year, {totalDaysWasted.toFixed(2)}.</p>
201
+ </TableCell>
202
+ </TableRow>
203
+ </TableFooter>
204
+ </Table>
205
+ <p className="text-left text-xs w-[800px] text-muted-foreground mt-2">
206
+ Note: Keep in mind, this is a scenario of a sales person who comes in and works, immediatly. The biggest complaint sales ppl have about crms currently, is that they don't know exactly what to do when they first come in. Due to this issue
207
+ how much time are they wasting?
208
+ </p>
209
+ <p className="mt-3 text-muted-foreground">
210
+ As you can see at the end of the day I waste 2 and 1/2 hours each day, totalling to 81.25 work days completing a process that some software engineer created, who had no knowledge of our job. 81 fucking days... FUCK.
211
+ </p>
212
+ <p className="mt-3">
213
+ Now... some of you are thinking, well I don't do that many calls, obviously I'm not that quick at doing that task but my total time will be better. I too, was shocked to find out sales people who do less calls ( most of the time, by not
214
+ being as profecient with a computer. Its ok, in sales most of us aren't, which is why we're in sales, we are people people, not tech people ), the total time is either, A. stayed the same even after only doing 1 third or half the amount of
215
+ calls, or B. ended up wasting even more time, sometimes even twice as much.
216
+ </p>
217
+ <p className="mt-3">For the people that are having the same reaction as I did, and your freaking out. Not being able to comprehend how... you waste that much time every year even though you work hard.</p>
218
+ <p className="mt-3 text-muted-foreground">How do we solve this?</p>
219
+ <p className="mt-3">
220
+ <span className=" text-muted-foreground"> Up till now, simply... you couldn't.</span> This is an issue that was created when the crm was first developed. When the developers sat in a room and discussed how this should be built for their
221
+ application. No dealer owner, no sales person or anyone outside of those tech companies, can actually solve this problem for themselves. Surprisingly, there are so many process that we have to complete, with this exact issue.
222
+ </p>
223
+ <p className="mt-3">
224
+ The first solution I thought of, was that I would make a new "skin" for the dashboard ( If your a little older and didn't understand what I meant, think of it as giving the dashboard a new coat of paint, where I don't build the whole crm,
225
+ just redo the functions that the dashboard needs to do ). Got approved by my crm, built it. But, funny enough it took them a year to actually give me the access. In that time, after I was done making the new dashboard that would cut my time
226
+ by over 90%. I started to ask other questions, like what else is wasting my time like that one process. And in that year, I built an entire crm, at night while I still worked the floor during the day.
227
+ </p>
228
+ <p className="mt-3 text-muted-foreground">This was the only solution to that problem.</p>
229
+ <p className="mt-3">
230
+ The first version of that crm, looked nothing like the way it does today. I have built this application 13 times over atleast, some of the more important parts, 100-200 times over. I wish there was another way to solve these issues, but
231
+ there isn't. The tech industry, from the ground up, isn't taught to fix this problem. Tech company starts a project, within that project they have 150 items to complete, once one item is completed... They move on. Another deptartment tests
232
+ that item, and as long as it works, it moves down the line and ends up being put into the final product. Never to be touched again. At the same time, that software engineer, has probably never even spent a day in sales. Strangely, creating
233
+ what it is exactly you do each step of the way while not knowing what is important for us as sales people. More often than not, they create flashy gadgets that look cool, but functionally... suck for the end user. THIS is the fundamental
234
+ problem this crm solves. Even if this CRM has 1000 clients that use this software... there will be changes made. Just like continously becoming better at sales, the processes within this system will get tweaked to become better and better.
235
+ </p>
236
+ <p className="mt-3 text-muted-foreground">Cheating the system:</p>
237
+ <p className="mt-3">
238
+ As I said I would go over these numbers, so if your cheating the system, you are doing it faster, or so you think. With page loads, navigating ( keep in mind some system load slower than others ), your going to be sitting at the 45 sec to
239
+ one minute mark. BUT we need to add the extra time needed, in order to get yourself caught up with the call. You don't remember how you reached that client, so you not only open the crms sms messenger, but also open up previous emails,
240
+ listen in on previous calls. Which are in total seperate places in the application ( haven't seen a crm, who put them in the same place ), so lets give you the benefit of the doubt and you complete this portion in 6 minutes. So in total
241
+ your now at 7 minutes... ish.
242
+ </p>
243
+ <p className="mt-3 text-muted-foreground">@ 75 calls / day, your total is 284 working days wasted. So every year that you work, you wasted 284 days.</p>
244
+ <p className="mt-3">
245
+ Lets be real, if your cheating the system your probably not doing 75, lets check 50, 189 days wasted. And 25 calls per day, 94. This seems to be the most probably, for someone who cuts corners I don't see them realistically doing more than
246
+ 25 on average per day. At 1/4 of the amount of calls, you still waste 13 more days per year, then the person doing 100 calls a day.
247
+ </p>
248
+ <p className="mt-3">
249
+ If your asking yourself, is this all you get from this data... The answers is no, this is when the unbelievable numbers, start to compound. Where they will tell you how much money your leaving behind, in the form of, amount of sales missed.
250
+ </p>
251
+ <p className="mt-3 text-muted-foreground">Average month:</p>
252
+ <p className="mt-3">Pretty easy, take your yearly projected / 12 ( I'll leave all the math at the end, if you still don't beleive me for everything ), everything else should already be set for you because it will take ur days lost</p>
253
+ <Table className="mt-10 border border-border rounded-[6px] mx-auto">
254
+ <TableHeader>
255
+ <TableRow>
256
+ <TableHead colSpan={5} className="text-center">
257
+ Missed Sales Oppurtunities Just From Time Wasted
258
+ </TableHead>
259
+ </TableRow>
260
+ <TableRow>
261
+ <TableHead className="text-center">Avg Sales / Month</TableHead>
262
+ <TableHead className="text-center">Days Lost year</TableHead>
263
+ <TableHead className="text-center">Sales Lost / year</TableHead>
264
+ </TableRow>
265
+ </TableHeader>
266
+ <TableBody>
267
+ <TableRow>
268
+ <TableCell>
269
+ <Input
270
+ type="number"
271
+ step="any"
272
+ className="w-[100px] mx-auto"
273
+ value={salesMonth}
274
+ onChange={(e) => {
275
+ setSalesMonth(e.currentTarget.value);
276
+ }}
277
+ />
278
+ </TableCell>
279
+ <TableCell className="text-center">
280
+ <p>{totalDaysWasted.toFixed(2)} days</p>
281
+ </TableCell>
282
+ <TableCell className="text-center">
283
+ <p>{(totalDaysWasted * ((salesMonth * 12) / salesPpl / days)).toFixed(2)} sales</p>
284
+ </TableCell>
285
+ </TableRow>
286
+ </TableBody>
287
+ <TableFooter>
288
+ <TableRow>
289
+ <TableCell colSpan={5}>
290
+ <p className="text-center">{(totalDaysWasted * ((salesMonth * 12) / salesPpl / days) * salesPpl).toFixed(2)} sales lost every year.</p>
291
+ </TableCell>
292
+ </TableRow>
293
+ </TableFooter>
294
+ </Table>
295
+ <p className="mt-3">
296
+ It isn't just with setting appointments... I was at a dealer where, literally every feature we had, was a different system. What kind of work does that entail? Entering ALL customer information in, 12 times, once for each system and along
297
+ with other relevant data needed for that system.
298
+ </p>
299
+ <p className="mt-3">
300
+ Before doing 7 day deliveries, every rushed delivery means, you are spending more time doing licensing. BECAUSE, your not just filling it out and sending it with the pouch ( No more filling out forms btw. ). Your going up yourself, standing
301
+ in line and getting it done at the bureau yourself, because its your deal. Even though the process at every dealer to do licensing, not to mention, to start is an antiquated process every where, is usually a hot mess.
302
+ </p>
303
+ <p className="mt-3">Each rushed sale, your spending more time in parts, more time in service, more time with your sales manager. It's a viscouse cycle.</p>
304
+ <p className="mt-3">
305
+ The finance hand off? How many times... have you had to search every fucking corner of the dealer for a finance manager? Before finding one bending behind a dumpster out back, in their car doing, god only knows what, or they are probably
306
+ taking an extended lunch break, at 3pm as they do. All that, time wasted.
307
+ </p>
308
+ <p className="mt-3">How many times have you edited unit listings on your site? Even though all the data, is in the database already.</p>
309
+ <p className="mt-3">
310
+ What about the things, that aren't as noticeable. That complete and reschedule client appointments is one of them. Let's dig deeper, how about the amount of time wasted in the morning, because you don't exactly know what to do since you
311
+ have to set up your own call list on a extremely complicated system. Even after the crm company sends their OWN employees to train the sales staff. You still look at the dashboad asking yourself, like wtf am I supposed to do with this?
312
+ </p>
313
+ <p className="mt-3 text-muted-foreground">The average sales person... wastes 50-55 minutes each morning before strapping down and actually starting their calls for the day. Another issue, you can't solve.</p>
314
+ <p className="mt-3">
315
+ I'm trying to drive this point home because, no matter how perfect I built this system for us. There will be some fucking moron of an owner / sales manager who wants to do something that they started doing back in the 80s and want to
316
+ continue doing it like that... Just because, thats the way they did it... in the 80s. It's times like that where, even though this system has a process, for every client interaction in the dealer... there will be dealers who do not follow
317
+ it. Just like when, sales people who don't follow the sales process. But if your armed with the right data and knowledge, can present it to them in a logical way... that makes sense. Because if they don't see the logic when you display it
318
+ this way, and still says their way is better, atleast you tried. Dont take defeat, put it on the back burner for 6, 8 or 12 months and bring it back to them. They probably won't remember, and you may get a yes. I've done that many times. Or
319
+ better yet, learn how to drop ideas, consistantly, on your managers. A month from now they say they thought of this new way to do it and its so much better, expecting praise. When you mentioned it to them 30 or 60 days ago, in a
320
+ conversation. Yes you didn't get recognition for your idea, but the end result was accomplished.
321
+ </p>
322
+ <p className="mt-3">
323
+ Don't be like me, and not do it the way your instructed by management. Maybe that day, there was just no way in persuading them, just like in sales. People are weird, one day they said no to you, just because some event took place in their
324
+ lives that pissed them off, when the next day they would have said yes. Next time you bring an item to their attention, they may say yes. Dont give up but you will have to continue doing it their way, unfortunately.
325
+ </p>
326
+ <p className="mt-3">
327
+ Learn from my mistakes, once I got to a certain point doing things a lot more efficiently at one dealer, it just angered the sales manager. Don't know why because it even lightened his work load. After 8 years, at the top of the sales
328
+ leaderboard, even when I brought that dealer to its best year in company history, when the owners and management promised it would be the worst year in 2 decades. Fired, right before bonuses. It was pretty gratifying finding out when, their
329
+ entire sales staff quit on them the moment they got their bonses, not going to lie.
330
+ </p>
331
+ <p className="mt-3 text-muted-foreground">The light at the end of the tunnel.</p>
332
+ <p className="mt-3">Luckily, all those problems we talked about... There is a solution. Even for problems, that some dealers didn't even know they had. Including the smoothest finance hand off, my colleagues and I have ever even heard of.</p>
333
+ <p className="mt-3">
334
+ On a follow-up where they don't pick up and you leave a message, or send an email. Something where there was no interaction from the other party. Going from ( lets be real ), 3-4 minutes, sometimes 7 minutes every follow-up you do, down to
335
+ less than 10 secs. No matter how good / bad you are, at computers.
336
+ </p>
337
+ <p className="mt-3">
338
+ Do you look at your dashboard, every time you open and stare at it and say it might as well be in some foreign language. Since nothing makes sense due to how complicated it is, because they stupidly over complicated for the task they are
339
+ needed for. When you log in, not only are you directed straight to your dashboard for calls, but your call list for that day, is automatically made for you. Your done that days calls? Great, it then automatically gets all past missed calls.
340
+ Without you even pressing a button. Are you a super star and finished that too? It will then get tomorrows calls, and list them for you to start calling as well.
341
+ </p>
342
+ <p className="mt-3 text-muted-foreground">
343
+ 5.42 days wasted at the end of the year, down from 81.25 ( If I remember correctly ). Not bad. While all other calls are still under a minute, closer to 30 secs if your good and are used to the system.
344
+ </p>
345
+ <p className="mt-3">
346
+ What about the time wasted from going back and forth, from the client file to the appointments dashboard, to the sms messenger, to the email client just to follow up with one customer in that crm. Not going to dive into those specifics
347
+ here, due to wildly variable timing due to the actual speeds of your crm. BUT, why not just have it all in one place... where you view that appointment on the dashboard... Along with any notes, you left on that clients file that may be
348
+ important. Meaning, your not navigating anywhere to do what you need to do... to complete that call.
349
+ </p>
350
+ <p className="mt-3">
351
+ Not to mention how slow, some CRMS get on the dashboard. Due to, and I have no clue why even after building it myself, the crm loading 5000 clients onto your dashboard, every single time you visit it... when you only need 10 at a time. (
352
+ I've even had to use CRMs where, you can't login till quarter or even half past 9. Due to all the dealers trying to log into that CRMs system, solved that one as well. )
353
+ </p>
354
+ <p className="mt-3">I'm not going to go over any more here, but rest assured your taken care of when it comes to ending all time wasting processes. Each process will be shown in the training.</p>
355
+ <p className="mt-3 text-muted-foreground">The math.</p>
356
+ <p className="mt-3">Working Days Wasted = (((amount of calls) * (minutes wasted per call)) / 60) * (how many days worked) / 8</p>
357
+ <p className="mt-3">
358
+ 60 is to get the amount of hours, and the 8 is for an 8 hour work shift. When I first started calculating this, the oversight I had made was instead of 8 I was doing 24. Even at those numbers, I was still in shock. But we don't work 24
359
+ hours a day, it was only when I started doing the math from the perspective of the owner, and their employees when I realized the mistake. Making it even worse. If you find a mistake and makes the number lower or higher let me know because,
360
+ not that I wanted to, but I have obsessed about this one equation for so long. I pray, someone finds that I did it wrong, and its shorter then when I calculated it. At first, for a week I spent every single moment I was awake and not
361
+ working, on this because how does someone waste 81 days a year on such a simple process. Even today, at my core I STILL don't trust it, without giving it the math, I just gave this math problem to the smartest math ai at my disposal.
362
+ </p>
363
+ <p className="mt-3">( copy and pasted from the output ) Question: doing 100 calls a day and wasting 1.5 minutes per call, i work 260 days, how many working days ( 8 hour shift ) do i waste</p>
364
+ <p className="mt-3 text-muted-foreground">Answer: Let me calculate this:</p>
365
+ <p className="mt-3 text-muted-foreground">Daily waste:</p>
366
+ <p className="mt-3 text-muted-foreground">100 calls × 1.5 minutes = 150 minutes per day 150 minutes ÷ 60 = 2.5 hours per day</p>
367
+ <p className="mt-3 text-muted-foreground">Annual waste:</p>
368
+ <p className="mt-3 text-muted-foreground">
369
+ 2.5 hours × 260 working days = 650 hours per year 650 hours ÷ 8 hours per workday = 81.25 working days You're wasting over 81 full working days per year, or about 3 months of productivity just on those inefficient calls.
370
+ </p>
371
+ <p className="mt-3">LOL, those innefficient calls... tell me something I don't already know.</p>
372
+ </div>
373
+ </div>
374
+ );
375
+ }
376
+
377
+ export const tips = [
378
+ // New to sales
379
+ {
380
+ userEmail: "skylerzanth@outlook.com",
381
+ category: "Tips and Tricks",
382
+ subCat: `New to sales`,
383
+ body: `# Comprehensive Sales Training Framework: From Foundation to Mastery
384
+
385
+ This document serves as a comprehensive guideline outlining what you should learn, when to learn it, benchmarks for measuring progress, and additional critical components. Future content may include videos and posts covering advanced topics or specialized deep-dive subjects. Additional resources including scripts for objections, closing techniques, follow-ups, automation, and more are available separately.
386
+
387
+ ## Overcoming Initial Hesitation
388
+
389
+ **If this is your first sales position and you feel you may be bothering potential customers by engaging them, you must overcome this mindset immediately.**
390
+
391
+ When someone visits your establishment, calls, or browses online, they have invested their personal time to learn about your product. They are seeking information they do not currently possess and desire the solution you offer. If they claim otherwise, they are being disingenuous—why else would they be present? Furthermore, they are not being compensated for their time, whereas you are. Therefore, if they are not genuine buyers, they are wasting your valuable time that could otherwise be dedicated to clients who will purchase.
392
+
393
+ You are not bothering them. Out of thousands of possible destinations, they chose your establishment. Sell to them—they want your product. In thousands of client interactions, I have only once needed to ask, "So, why are you here exactly?" It is unusual for someone to visit without purchasing intent or genuine interest.
394
+
395
+ ## Foundation: Effective Communication
396
+
397
+ Initially, focus exclusively on learning to explain products and services in clear, accessible language that the average person can understand without requiring clarification. Do not concern yourself with other aspects until you master this fundamental skill.
398
+
399
+ Once proficient, simplify your explanations further—this approach will ultimately increase your sales volume.
400
+
401
+ ### Communication Benchmark
402
+
403
+ Whether speaking with family members, clients, potential clients, or friends, when you finish explaining a product or service, they should have no remaining questions, and your explanation must be completed within five minutes.
404
+
405
+ Regardless of what you sell, five minutes is the standard. (Exceptions exist, but automotive sales is not among them.) I have observed countless salespeople spend an hour on presentations, leaving clients with more questions than answers, when the same information could be conveyed in under five minutes.
406
+
407
+ **Important Clarification**: This exercise develops communication skills, not presentation length requirements. While actual sales presentations may last 15-60 minutes, you often have only one opportunity with each prospect. If clients cannot understand 90% of your presentation—whether due to irrelevant topics or inappropriate focus—you are creating unnecessary obstacles to closing sales.
408
+
409
+ **Note**: Do not focus on closing techniques at this stage. You are not ready for that component.
410
+
411
+ ## Product Knowledge: The Minimal Approach
412
+
413
+ **Contrary to popular belief, extensive product knowledge is not crucial.**
414
+
415
+ Many organizations overemphasize comprehensive product knowledge for new sales staff. While learning basics is important, that is typically sufficient (industry-dependent, but applicable 80% of the time).
416
+
417
+ Even after two years in a position, many clients will possess more detailed knowledge about specific models or services than you do. They have spent months researching, staying up late studying specifications for their potential purchase. When you lack specific information, respond professionally: "I do not have that information currently, but I have access to decades of institutional knowledge through our organization's resources. May I have your contact information so I can follow up with that answer?"
418
+
419
+ This approach also provides an effortless method for obtaining contact information, which I utilize even when I know the answer if I anticipate difficulty securing their details.
420
+
421
+ ### Evidence Supporting Minimal Product Knowledge
422
+
423
+ Two examples demonstrate this principle:
424
+
425
+ 1. **Automotive Industry**: By years five through ten in dealership sales, I possessed less product knowledge than during any six-month period within my first two to three years, yet achieved higher sales volume with reduced product expertise.
426
+
427
+ 2. **Industry Transitions**: I changed industries twice after automotive sales. In one transition, I became the fastest new hire to reach $100,000 in commissions because I did not waste time memorizing extensive product details. From the second week until departure, I maintained the highest pricing retention while remaining in the top 5% of closers, averaging above 75% closing ratios. In the second industry change, I surpassed nearly all colleagues in commissions by weeks two or three and was projected to earn $500,000 in my first year—doubling, tripling, or quadrupling the commissions of senior staff in an industry where I possessed zero prior knowledge.
428
+
429
+ ## Objection Handling
430
+
431
+ **You want objections. You need objections.**
432
+
433
+ When clients present objections, they are communicating: "I want to purchase, but I lack sufficient information to feel comfortable proceeding. I need specific questions answered before moving forward." The more comfortable you become with objections, the more actively you will seek them, resulting in higher closing rates.
434
+
435
+ You do not need to handle objections smoothly initially—you simply need to answer their questions effectively using accessible language that provides more clarity than confusion.
436
+
437
+ ## Contract Presentation
438
+
439
+ This component, when executed properly (assuming honest business practices), eliminates virtually all sales-related complications before they occur.
440
+
441
+ Contract presentation is the first and most critical document you must memorize completely. If clients feel rushed or cannot understand your explanations, they will assume you are attempting to deceive them.
442
+
443
+ Your objective is to ensure their complete comfort level, eliminating questions and preventing them from reviewing the contract repeatedly at home, searching for deceptive elements. Poor contract explanation makes final signatures more difficult and generates post-sale inquiries that interrupt time better spent with new prospects.
444
+
445
+ ### Contract Explanation Standards
446
+
447
+ Explain every contract line in accessible terms effectively enough that clients have fewer questions than answers. Maintain appropriate pacing—neither too fast nor too slow—and know every contract component thoroughly enough to explain it without reference to the document.
448
+
449
+ During my construction sales role, I was the only team member without pending lawsuits. Given the industry's notorious reputation (the company maintained an in-house legal team rather than hiring external firms), this distinction stemmed from my decade of contract experience.
450
+
451
+ **Success Indicator**: For most clients, upon completing your contract explanation, you should be able to place the pen on the signature line, point with your finger (never mark with X's or any ink, including highlighter—I witnessed a client successfully challenge a contract in court by arguing the marked signature was not theirs), and have the client immediately sign without hesitation.
452
+
453
+ ### Advanced Note: Question Minimization
454
+
455
+ Throughout the entire sales process, minimize client questions (distinct from objections). Questions interrupt presentation flow and waste time. More importantly, requiring explanations suggests your initial presentation was confusing, causing clients to lose focus and potentially creating additional objections or questions that would have been unnecessary with clearer initial communication.
456
+
457
+ Fewer questions mean shorter presentations, allowing more time for new, unsold prospects.
458
+
459
+ ## Closing Techniques
460
+
461
+ Closing is challenging to teach effectively because technical proficiency and proper timing can generate substantial sales. However, skilled salespeople who can gauge clients through test closes while maintaining subtlety perform significantly better. Nevertheless, advanced skills are not required for most sales success.
462
+
463
+ ### Basic Closing Approach
464
+
465
+ Begin with technical methods: present the contract, place the pen down, point to the signature area, and remain silent. That is sufficient. Experience will develop additional skills naturally.
466
+
467
+ The sales process is not rigid. Clients can derail presentations at any point, or conversely, through effective test closing, you may skip 99% of the process when clients already know their preferences, pricing, and specifications. These clients appreciate efficiency and may leave enthusiastically grateful for not wasting their time.
468
+
469
+ ### Advanced Note: Rapid Closing
470
+
471
+ I am known for closing clients in under 30 seconds, and I close many of them successfully.
472
+
473
+ This is possible due to several factors: poor competitor service (clients arrive frustrated from other dealerships), extensive client research (they already understand pricing, financing, and product specifications), and simply need professional, respectful treatment and decisive closing.
474
+
475
+ **Example**: When clients are examining products, I approach with a simple question: "What color were you considering?" Their response determines the next step. If they respond enthusiastically about a specific color, they have mentally committed to purchase—no presentation is needed. If they inquire about technical specifications, a presentation is required.
476
+
477
+ ### The Silence Principle
478
+
479
+ After delivering your close, remain silent regardless of your instincts. Do not continue speaking before clients have an opportunity to respond, as this distracts them from the signing process. Closes are designed to facilitate signatures, not continue presentations.
480
+
481
+ ### Demographic Considerations
482
+
483
+ Different clients require different approaches based on demographics, cultural backgrounds, and presentation styles. This reality necessitates adaptability in negotiation, presentation, and closing techniques across diverse client populations.
484
+
485
+ The sales process should be fluid and responsive rather than rigidly structured, adapting in real-time based on client responses.
486
+
487
+ ## Follow-Up Procedures
488
+
489
+ The primary obstacle to effective follow-up stems from the same hesitation discussed initially—the misconception that you are bothering potential clients.
490
+
491
+ As established earlier, your time has value, and your employer compensates you for that time. If prospects will utilize your time, they should have purchasing intent, or they are wasting valuable resources.
492
+
493
+ ### Follow-Up Strategy
494
+
495
+ At this stage, the process involves repetition: ask questions that reveal objections and determine why they have not yet purchased. Maintain conversation flow and uncover real obstacles. Sometimes external factors—unrelated to your product—prevented the purchase (such as unexpected personal situations), and circumstances may change within days or weeks.
496
+
497
+ Continue systematic follow-up until you understand the genuine reasons behind their hesitation and can address those concerns effectively.`,
498
+ },
499
+ // Finding the motivation
500
+ {
501
+ userEmail: "skylerzanth@outlook.com",
502
+ category: "Tips and Tricks",
503
+ subCat: `Finding the motivation`,
504
+ body: `# Sustainable Motivation in Sales: Understanding Internal Drive
505
+
506
+ When coaching sales professionals, I discovered that teaching motivational techniques was not only challenging in terms of adapting approaches for different personality types, but at times, motivating certain individuals proved impossible.
507
+
508
+ ## The Limitation of External Motivation
509
+
510
+ Even with exceptional coaching, if an individual lacks internal drive—the fire, motivation, need, or whatever term you prefer—they can only be motivated externally for brief periods. These individuals cannot sustain the same level of self-motivation as naturally driven people because they lack a clear mental vision of their path forward. This occurs primarily due to the absence of a defined destination or goal.
511
+
512
+ ### A Personal Case Study in Drive Disparity
513
+
514
+ A compelling example involves the relationship with my former spouse and myself. My drive is unprecedented—I have personally encountered only three other individuals who operate at a similar level of intensity. When we encountered some financial debt, I understood that my ex-wife did not possess the internal motivation to take additional shifts or work harder to address our financial challenges. I accepted this reality without resentment, recognizing that not everyone shares the same level of drive.
515
+
516
+ Occasionally, I could motivate her temporarily, and the results would last perhaps one day, maybe two, hopefully three, before the motivation dissipated. To provide context, her professional goal was part-time employment rather than full-time work.
517
+
518
+ ### The Relentless Pursuit of Financial Recovery
519
+
520
+ I assumed complete responsibility for eliminating our debt. My approach was methodical and intensive: Monday through Saturday, I worked the sales floor at my primary job. Upon completion, I drove home and immediately returned to work, often without eating. Sometimes this involved closing additional deals, but predominantly, I focused on developing a business application.
521
+
522
+ When I noticed dawn breaking, I would tell myself, "I need at least a brief rest," and lie on the couch for thirty minutes, frequently without actually falling asleep. I would then shower and return to the dealership. I maintained this schedule for over a year.
523
+
524
+ If you believe this routine is impossible, consider this: on Saturday evenings when we prepared dinner and sat down to watch a movie, I would apparently fall asleep sitting upright while holding food or a fork with food on it. If I managed to finish an entire meal, I would immediately fall sideways against her or back into the couch, completely unconscious. This illustrates the level of exhaustion I was experiencing.
525
+
526
+ ## The Reality of Unequal Partnership Drive
527
+
528
+ I chose this personal example rather than one of the thousands involving sales professionals because it illustrates a common scenario: your partner—whether personal or professional—will likely not match your level of drive. While this creates additional challenges, you must avoid reducing yourself to their level of motivation. In most cases, you will not receive assistance in maintaining your drive, so you must remain vigilant about preserving your motivational strength.
529
+
530
+ ## Developing Internal Motivation
531
+
532
+ If you currently lack this internal drive, you can develop it. The approach varies for each individual, but the process begins with fundamental questions:
533
+
534
+ **What is genuinely important to you?**
535
+
536
+ Money alone does not resolve all problems. When I earned half a million dollars, I faced the same fundamental challenges as when I earned fifty thousand. Financial success does not eliminate life's difficulties, so avoid the delusion that money solves everything.
537
+
538
+ ### Identifying Your Core Motivators
539
+
540
+ Perhaps your motivation is not reaching a specific earning potential but providing for your family—which still requires financial resources. Maybe you aspire to improve your guitar skills and release a single. Money would certainly facilitate this goal by enabling you to purchase superior equipment and collaborate with skilled professionals.
541
+
542
+ Perhaps you want to reduce the number of dogs in shelters or prevent euthanization due to extended stays and lack of adoption. This noble goal requires substantial financial resources, as you can only personally care for a limited number of animals. You would need funds to sponsor dogs in other care facilities or support rescue organizations.
543
+
544
+ Only you can answer what drives you.
545
+
546
+ ### Critical Self-Assessment Questions
547
+
548
+ Consider these essential questions:
549
+
550
+ - What do you want from life?
551
+ - If I had adequate resources, would my life be different? If so, what would it look like?
552
+ - At what age do I want to retire?
553
+ - Do I want to own a home? (Particularly relevant in Canada's current housing market)
554
+
555
+ ## Maintaining Peak Performance
556
+
557
+ When you experience declining performance, exhaustion, or frustration to the point where you would rather "put your head through a wall" than work, remember your underlying motivation. If creating a vision board helps, create one. If maintaining a journal to document and revisit your goals is beneficial, do so. Utilize whatever tools necessary to shift your mindset and return to peak performance.
558
+
559
+ ### The Distinction Between All-Stars and Average Performers
560
+
561
+ The level of sustained motivation ultimately distinguishes all-star performers in the long term. While less motivated individuals might occasionally outperform an all-star on any given day, consistency over time favors the all-star. Average performers eventually reach a point of contentment and plateau, or they believe they have worked sufficiently hard to deserve an extended break. All-stars do not encounter this wall—they break through it.
562
+
563
+ ## Resilience Through Purpose
564
+
565
+ When you experience a sales drought, understanding your core motivation enables rapid recovery. When life presents inevitable challenges—and we all face them—revisiting your documented reasons for pushing yourself can restore focus rather than spending days, weeks, or months in an unproductive haze without purpose.
566
+
567
+ Countless obstacles will arise throughout your career. The objective is to minimize these periods of reduced performance and return to peak effectiveness as quickly as possible. Your clearly defined motivation serves as the foundation for this resilience.`,
568
+ },
569
+ // Stand your ground with pricing
570
+ {
571
+ userEmail: "skylerzanth@outlook.com",
572
+ category: "Tips and Tricks",
573
+ subCat: `Stand your ground with pricing`,
574
+ body: `# The Strategic Advantage of No-Discount Selling
575
+
576
+ Many sales environments will not benefit from this approach as much as others. However, I recommend beginning to practice this methodology now, as the benefits will become apparent over time.
577
+
578
+ ## The Foundation of Value-Based Selling
579
+
580
+ I learned this technique during my door-to-door sales training and was required to implement it in automotive sales. Seriously—no discounts 98% of the time. While this approach is challenging, I will explain why you should adopt it regardless.
581
+
582
+ ### Understanding Time Value in Sales Transactions
583
+
584
+ When a customer visits your establishment, they have taken time from their day to engage with you. While you are managing customers, paperwork, and various other responsibilities, it is important to recognize the dynamic at play. The customer is not being compensated for their visit, whereas you are being paid to sell. This raises the question: whose time holds greater value in this context?
585
+
586
+ The customer has approached you in some capacity—you did not visit their workplace to offer your services. My time is valuable, and I must dedicate it to individuals who are genuinely prepared to make a purchase. Therefore, I operate under the assumption that I am closing every single prospect. If you are not here to buy, then you are potentially wasting valuable time that could be allocated to more productive activities.
587
+
588
+ ## A Case Study in High-Performance Sales
589
+
590
+ I was recruited by a construction company during the height of the pandemic. Standing 6'2" or 6'3" with a full beard that had grown extensively due to salon closures, numerous tattoos, and what some might describe as an intimidating demeanor, I was not the most approachable salesperson. Compared to the existing top performers—a group of four women who dressed professionally and appeared more traditionally suited to sales—I seemed an unlikely candidate for success.
591
+
592
+ ### The Power of Quality Leads and Conviction
593
+
594
+ However, I provided this company with exactly what they needed during a critical period. The pandemic had created unprecedented demand, and this construction company had refined their advertising to such a degree that leads were exceptionally qualified. I had never experienced such high-quality prospects, particularly compared to my automotive experience.
595
+
596
+ Despite my unconventional appearance and approach, I began achieving remarkable results immediately. I was informed that I reached $100,000 in commission faster than any previous employee. Day after day, despite receiving fewer calls due to my newcomer status and the need for acclimatization, I continued to excel. On numerous occasions, I led the team in commission—not necessarily in total sales volume due to my lower call volume, but in commission because this company rewarded employees who maintained pricing integrity.
597
+
598
+ ### Challenging Established Practices
599
+
600
+ The existing top performers became frustrated, and understandably so—I was handling half to one-third of their call volume while achieving superior results. They questioned how someone with my intimidating appearance could perform so well without offering any discounts. Their complaints to the owner eventually resulted in a call requesting that I "adjust" my sales tactics.
601
+
602
+ That week, my closing rate was 82%—an extraordinary figure in any sales environment. When the owner demanded that I begin offering discounts because I was "leaving 18% of sales on the table," I initially thought he was joking. My laughter only compounded the situation, as he was entirely serious.
603
+
604
+ ### Defending Value-Based Pricing
605
+
606
+ I directly challenged his perspective: "Why would you want me to devalue your service? Your service is worth its stated price. If I am closing at 82%, the pricing is appropriate where it stands—if anything, you could charge more." This conversation occurred approximately six weeks into my tenure, during which I had demonstrated that discounting was unnecessary.
607
+
608
+ The impact was significant. Over time, other team members began reducing their discount offerings. By the time I departed the company, everyone had decreased their discounting practices. This raises an important question: why did it require an outsider to demonstrate what was possible before the existing team would adapt their approach?
609
+
610
+ Unfortunately, the owner did not appreciate being proven incorrect, despite the demonstrable success of the no-discount strategy. He eventually mandated that staff avoid discounting, threatening to cancel deals if they did. Some individuals struggle with being proven wrong. I remained with the company for eight months.
611
+
612
+ ## The Psychology Behind Discounting
613
+
614
+ Why do salespeople discount? The primary reason is lack of belief—in the service, in the pricing structure, in the product, in the dealership, or in themselves. With genuine conviction in what you are selling, discounting becomes unnecessary.
615
+
616
+ ## Market Intelligence and Pricing Strategy
617
+
618
+ Allow me to share a critical insight: manufacturers price their products based on extensive market research and analysis.
619
+
620
+ Consider the luxury goods industry—Porsche, BMW, Mercedes-Benz. Examine their pricing structures and notice how they vary by country and market. Take BMW, for example, one of the most recognizable brands globally. Their pricing strategies differ significantly across international markets.
621
+
622
+ ### The Investment in Pricing Research
623
+
624
+ BMW invests substantial resources in pricing research and market analysis—figures that would likely astound you. How can anyone presume that their product is worth less than the manufacturer's suggested retail price? BMW's objective is to maximize unit sales while maintaining brand value.
625
+
626
+ Having participated in numerous manufacturer training sessions, I understand their methodology and mindset. They did not achieve global recognition by accident. Their product portfolio is strategically designed and priced appropriately for each market they serve.
627
+
628
+ BMW possesses enormous financial resources—far beyond what most people can comprehend. Interestingly, automotive sales do not represent their primary revenue source, yet they allocate tremendous funding to every aspect of their operations.
629
+
630
+ ### Trusting Manufacturer Expertise
631
+
632
+ If you believe for a moment that they do not conduct thorough pricing sensitivity research in every market they operate in, you are mistaken. Why, then, would you discount their carefully researched pricing structure?
633
+
634
+ BMW is valued at $61 billion and possesses greater pricing expertise than individual dealers because they operate globally across diverse markets. Prices are strategically established to help dealers sell more effectively, not with the expectation that discounting will be necessary to achieve sales goals.
635
+
636
+ While there are rare exceptions—brands that undermine their dealer networks—these are extremely uncommon. I am aware of only one such company, which treats both customers and dealers poorly, in direct contrast to BMW's approach. This company is not even worth half a billion dollars.
637
+
638
+ ### The Universal Principle
639
+
640
+ BMW is not unique in investing heavily in pricing research. Rather than working against the millions or billions of dollars invested in market research and pricing strategy, embrace and trust it. There are teams of highly educated professionals with substantial financial backing who understand market dynamics better than individual dealers. Leverage their expertise rather than disregarding it.
641
+
642
+ If you are concerned about the exceptional brand that undermines its network, do not worry—you will recognize it immediately. Ninety-nine percent of those reading this will not be selling their products.
643
+
644
+ ## Conclusion
645
+
646
+ Begin believing in what you sell. Trust the research, expertise, and investment that manufacturers have made in establishing appropriate pricing. Your role is to communicate value effectively, not to undermine it through unnecessary discounting.`,
647
+ },
648
+ // Deliver every unit 7 days or later
649
+ {
650
+ userEmail: "skylerzanth@outlook.com",
651
+ category: "Tips and Tricks",
652
+ subCat: `Deliver every unit 7 days or later`,
653
+ body: `# The Strategic Advantage of Seven-Day Delivery Windows
654
+
655
+ ## The Foundation of Operational Excellence
656
+
657
+ I have discovered that implementing a seven-day delivery standard for all sales transactions fundamentally transforms business operations. **Offering next-day deliveries or any timeframe shorter than seven days creates significantly more complications than benefits**.
658
+
659
+ Consider the operational reality: when we deliver within one to two days, we eliminate any opportunity to identify and resolve problems that may arise. Additionally, this timeframe provides powerful closing leverage: "Depending on your schedule, I recommend finalizing your decision sooner rather than later, as the earliest available delivery slot is seven days out—that reflects our current demand level." You can further emphasize that without confirmed scheduling, their vehicle cannot even be placed on the service department's calendar.
660
+
661
+ ## Operational Efficiency and Resource Management
662
+
663
+ This approach significantly enhances efficiency across all departments. **Parts ordering, service scheduling, and licensing and registration processes all operate more smoothly within a seven-day window**. With same-day or next-day deliveries, any arising problem becomes your singular focus until resolution. You must immediately visit licensing bureaus for plate transfers or new registrations, rather than processing paperwork through standard channels. This emergency approach wastes between fifteen minutes to over an hour, depending on your dealership's proximity to the bureau.
664
+
665
+ Have you observed how additional preparation time results in fewer customer complaints? This creates a mutually beneficial situation: we achieve higher customer satisfaction due to reduced problems and close more sales because sales staff are not frantically attempting to resolve preventable issues.
666
+
667
+ ## Proactive Problem Resolution
668
+
669
+ When parts are backordered, you discover this the following day and can contact the customer with options: "Would you prefer to wait for the part and have it installed later at no charge, or would you like me to source an alternative that will be available before your pickup date?"
670
+
671
+ If body panels require replacement and someone noticed and ordered them when the unit arrived at the dealership, the process continues smoothly. If not, the next delivery becomes impossible. When customers had no specific plans upon purchase but develop them afterward, calling to cancel their scheduled delivery creates significant frustration because **you have disrupted their newly made arrangements**.
672
+
673
+ ## Comprehensive Organizational Benefits
674
+
675
+ This system not only eliminates operational headaches and increases sales volume but also prevents numerous problems throughout the entire dealership ecosystem.
676
+
677
+ When service managers must reorganize technician schedules four times daily, compressing three-hour jobs into one-hour windows to accommodate next-day pickups, frustration permeates the department. Service managers become frustrated because their technicians are frustrated—their schedules are disrupted, and they must work significantly harder than necessary despite hourly compensation. **This pressure not only creates employee dissatisfaction but also increases error rates, which elevates service department costs**.
678
+
679
+ The department must absorb expenses for any damage they cause to customer units—dropping motorcycles, colliding with vehicles in the parking lot while rushing units in and out. They rush because they are attempting to complete ten to twelve hours of service work within an eight-hour shift while still maintaining normal departure times.
680
+
681
+ ## The Risk-Reward Analysis
682
+
683
+ **You would never attend dog races in Las Vegas, scan to the bottom of the performance screen to identify the worst-performing animal, then place $5,000 on the poorest racing prospect of the day**. Why would you risk so much within your dealership for same-day or next-day delivery when there is virtually no upside and exponentially more risk?
684
+
685
+ The seven-day delivery window represents a strategic decision that prioritizes sustainable operations, employee satisfaction, customer experience, and long-term profitability over the illusion of competitive advantage through speed. **Smart business practices focus on delivering excellence consistently rather than creating unnecessary urgency that compromises quality**.`,
686
+ },
687
+ // The Up-Sell
688
+ {
689
+ userEmail: "skylerzanth@outlook.com",
690
+ category: "Tips and Tricks",
691
+ subCat: `The Up-Sell`,
692
+ body: `# The Psychology of Value-Based Selling and Pricing Strategies
693
+
694
+ ## Moving Beyond Price Objections
695
+
696
+ Perhaps you are not closing the sale because, for the investment required on that particular model or trim level, the customer does not perceive adequate value. **Why not present a higher-tier option where they may actually recognize the value proposition relative to their investment?** The transaction ultimately represents a monthly payment structure. If a customer can afford a $300 monthly payment, they can typically accommodate $350 or $400. I have successfully doubled and tripled customers' investment levels, and they expressed satisfaction with their decisions. These customers, upon completion of their purchases, acquired products where they clearly recognized the value exchange for their financial commitment.
697
+
698
+ Lower trim levels often provide insufficient features compared to premium options, making downward movement counterproductive. **More often than not, advancing to higher tiers proves significantly easier than reducing options**.
699
+
700
+ ## The Destructive Practice of Automatic Discounting
701
+
702
+ Many sales professionals struggle with this fundamental principle. Related to this concept is the problematic practice of immediate discounting. This approach is entirely counterproductive—**why would you devalue the product you are selling?** The manufacturer's suggested retail price or established product pricing exists for a specific reason: it represents the product's actual value.
703
+
704
+ ## A Real-World Case Study in Value Selling
705
+
706
+ When I was recruited by a construction company during the early stages of the pandemic, my appearance was unconventional by traditional sales standards. I had not maintained regular grooming, had grown an unusually long beard, and my visible tattoos created a questionable first impression. The sales manager expressed concern about my potential performance, given that the entire sales team consisted of young, professionally presented women who maintained impeccable appearances.
707
+
708
+ Two weeks into my tenure, **I had not discounted a single transaction**. As a new team member, I received only one-quarter to one-fifth of the inquiries the established team members handled, allowing me to acclimate to the new product lines gradually.
709
+
710
+ My commission earnings? They equaled or exceeded those of my colleagues, which understandably created tension. My manager shared their comments with me: "How is that individual not discounting anything? It makes no sense! Is he intimidating customers?" The answer was simple: **genuine belief in the value of the product being sold**.
711
+
712
+ ## Executive Recognition and Subsequent Pressure
713
+
714
+ During the third week, at the first in-person sales meeting since the pandemic began, I had my initial interaction with the CEO. While he was conducting a meeting with seven employees from another department, he noticed me and interrupted his presentation to announce loudly: "You performed exceptionally well this week, earning over $10,000 in commissions—that's remarkable!"
715
+
716
+ I felt uncomfortable with this public display, particularly given that none of the meeting participants were sales team members and earned significantly lower salaries. The situation was professionally inappropriate.
717
+
718
+ ## The Paradox of Success and Organizational Pressure
719
+
720
+ During my fourth week, I received a call from the CEO stating: "You need to begin discounting—you are leaving sales opportunities on the table."
721
+
722
+ With a closing ratio exceeding 75% without any discounts, I initially assumed he was joking. When I realized he was serious, I explained: "Why would I devalue your service given my current closing performance? We are booking appointments a full year in advance, and customers need immediate service access. Discounting makes no strategic sense. **We offer superior service and competitive industry pricing**. If anything, our pricing is too low—we could easily increase rates without market resistance."
723
+
724
+ ## The Resolution and Policy Change
725
+
726
+ For the subsequent two weeks, I maintained my no-discount policy. After each sale, I was required to document fictitious discounts to avoid termination. Before my departure from the organization, the owner implemented a new policy: **any client receiving a discount would be moved to the end of the installation queue, while full-price customers would receive priority scheduling**.
727
+
728
+ This policy change validated the principle that **maintaining pricing integrity not only preserves profit margins but also reinforces the value proposition in customers' minds**. When you discount immediately, you communicate that your initial price was inflated, undermining trust and perceived value.`,
729
+ },
730
+ // Zero salesmanship involved
731
+ {
732
+ userEmail: "skylerzanth@outlook.com",
733
+ category: "Tips and Tricks",
734
+ subCat: `Zero salesmanship involved`,
735
+ body: `# Mastering Contract Management for Sales Excellence
736
+
737
+ ## The Foundation of Successful Transactions
738
+
739
+ Achieving mastery in contract management represents a critical component of sales excellence. While contract negotiations may initially appear overwhelming, understanding the fundamental principles will significantly enhance your effectiveness. **Securing the bill of sale immediately after the customer confirms their purchase decision is essential**. This document clearly delineates client expectations and our delivery commitments while securing their commitment and preventing unnecessary capital allocation delays.
740
+
741
+ ## Developing Contract Expertise Through Practice
742
+
743
+ If you currently lack contract proficiency, consistent practice will develop the necessary expertise. I personally review every line of every contract for every transaction, regardless of whether the client is an experienced customer purchasing multiple units or a first-time buyer. This meticulous approach ensures complete understanding and eliminates potential confusion.
744
+
745
+ **Explaining contracts in clear, comprehensible language is absolutely vital**. I have observed finance teams struggle with this fundamental responsibility. We should never fear losing a sale due to providing clarity and transparency. Well-structured contracts facilitate smooth transactions, particularly for products scheduled for delivery in subsequent weeks. The objective is establishing clear expectations while ensuring all components are properly ordered and service appointments are scheduled efficiently.
746
+
747
+ ## Setting Clear Communication Parameters
748
+
749
+ We inform customers that any modifications must be communicated within established timeframes to ensure efficient coordination. For example, licensing documentation will not be available until several days prior to pickup. While we manage numerous responsibilities—from registrations to warranty processing—strategic planning enables seamless delivery execution.
750
+
751
+ ## Maximizing Efficiency in Administrative Tasks
752
+
753
+ This principle applies to all paperwork and administrative requirements necessary to complete sales transactions that do not directly contribute to generating new sales. While systematic automation addresses the majority of these processes more effectively than alternative methods, occasional individual items will require manual completion. **Focus on achieving maximum efficiency with these administrative tasks**.
754
+
755
+ These responsibilities may appear insignificant—and truthfully, they are secondary to core sales activities—but anything that reduces time spent actively selling becomes sufficiently important to complete as quickly as possible to maximize client closing opportunities. Any activity that does not directly contribute to securing new sales represents wasted time, and procrastinating on these tasks will only create greater long-term disadvantages.
756
+
757
+ ## The Strategic Imperative
758
+
759
+ Contract mastery and administrative efficiency serve a singular purpose: **maximizing your availability for revenue-generating activities**. Every minute spent struggling with paperwork or contract confusion represents lost selling opportunities. By developing systematic approaches to these necessary but secondary tasks, you create more time for what truly matters—closing sales and generating revenue.
760
+
761
+ The most successful sales professionals recognize that excellence in supporting activities like contract management is not an end in itself, but rather a means to spend more time doing what they do best: selling.`,
762
+ },
763
+ // Working on scripts
764
+ {
765
+ userEmail: "skylerzanth@outlook.com",
766
+ category: "Tips and Tricks",
767
+ subCat: "Working on scripts",
768
+ body: `# The Art and Science of Sales Script Development
769
+
770
+ ## The Reality of Script Mastery
771
+
772
+ Unfortunately, developing effective scripts requires considerable time investment. For individuals like myself, who began their sales careers performing exceptionally poorly, this process will require an extended period to master.
773
+
774
+ I have encountered only one script that possesses the versatility to be utilized in every conceivable situation. Regardless of demographic, gender, age, industry, product, service, or position within the sales process—whether used within the first five minutes of contact or to revive customers presumed lost months earlier—this script remains effective without requiring any modification for different situations.
775
+
776
+ Despite the remarkable effectiveness of this particular script, I will not discuss it in detail here because I understand that 99.99% of sales professionals will not implement it. To illustrate its boldness: I utilized this script with a customer and successfully closed the sale in front of a sales coach. He approached me afterward and asked, "Did you say what I think you said?" When I confirmed, he responded, "You have considerable courage. I would never use that approach." Nevertheless, this script is included among the materials available to you.
777
+
778
+ ## The Development Process
779
+
780
+ Not everyone will be able to execute this effectively initially. Your early scripts will, to be direct, be inadequate. Understanding when you are providing excessive information versus insufficient detail, constructing the proper sequence when explaining a product or service, discussing pricing at the appropriate moment—these challenges represent merely the beginning of script development.
781
+
782
+ Frequently, success depends simply on recognizing when to close or when to test client receptivity with a softer closing approach. **Consider the close as the dynamic and fluid component of any script**. If you sense or believe the client is prepared to make a purchase decision, attempt to close earlier than your script indicates. If they agree, cease talking immediately and secure their signature on the purchase agreement.
783
+
784
+ ## Learning from Experience: Protecting Your Work
785
+
786
+ Personally, I lost twelve years' worth of developed scripts at one organization, and I will never repeat that mistake. I had stored them exclusively on the company computer without maintaining accessible backup copies in case of fire, termination, or resignation. Many organizations, when employees provide notice, will pay for the notice period but request that the employee not return to work. Regardless of the circumstances, do not make the same error I did.
787
+
788
+ ## Script Development Methodology
789
+
790
+ A high-quality script may require hours of concentrated effort if you focus exclusively on its development. When immediate daily tasks do not require attention, I employ a specific tactic to perfect scripts, which also proves beneficial during actual sales calls. I maintain scripts in an editable program, reading them as the phone dials to refresh my understanding, make adjustments, and test different variations. **I will often create the same script concept written differently four to seven times**. At this level of refinement, I am testing specific wording for different script types. Language that proves highly effective for service explanations may not produce the same results when used in closing sequences.
791
+
792
+ ## Expanding Your Skill Set Through Copywriting
793
+
794
+ Do not simply read this information and assume you will immediately write exceptional scripts. This represents only one strategy for script development. If you choose to pursue this path and begin this journey, I strongly recommend researching copywriting books online. The top-selling titles provide an excellent starting point, and since only a few achieved significant sales success, they will be easily identifiable.
795
+
796
+ While copywriting does not perfectly align with sales floor applications, I guarantee it will provide substantial assistance. **As clients become increasingly accustomed to digital communications, copywriting skills will become invaluable**. Without these skills, your emails or text messages may convey incorrect tone or fail to communicate your intended message effectively, ultimately resulting in lost leads.
797
+
798
+ ## The Investment in Excellence
799
+
800
+ Script development represents a long-term investment in professional excellence. The time and effort required to create truly effective scripts will compound over months and years, ultimately distinguishing exceptional sales professionals from their peers. The discipline required to continuously refine and perfect your communication tools reflects the same commitment necessary for sustained success in sales.`,
801
+ },
802
+ // Never give up
803
+ {
804
+ userEmail: "skylerzanth@outlook.com",
805
+ category: "Tips and Tricks",
806
+ subCat: `Never give up`,
807
+ body: `# A Journey of Professional Transformation in Sales
808
+
809
+ ## The Challenging Beginning
810
+
811
+ When I initially entered the sales profession, my performance was exceptionally poor. There were days when I experienced such profound frustration that I questioned my ability to continue in this field. We have all encountered such moments. Reflecting on that period now, I cannot fully comprehend why I persisted, particularly given that I lacked the level of motivation I possess today. Even with the benefit of hindsight, I wonder why I never considered leaving the profession. While I am grateful that I persevered, the reasoning behind my persistence remains unclear to me. I distinctly remember concluding each workday with absolutely no confidence, reviewing my sales performance with a sense of despondency, yet somehow finding the resolve to continue moving forward.
812
+
813
+ For reasons I would discover later, I received a promotion at year's end and was relocated from Ottawa to Vancouver to assist in establishing a new location. I recognized the critical need for personal and professional development. I invested in books, audio programs, and educational courses, absorbing every available piece of knowledge. My progress required more time than it would for most individuals—unbeknownst to me at the time, having ADHD significantly impacted this developmental process. During my first year as a manager, because it represented an entirely different position requiring a completely new skill set, my performance was again inadequate. However, with each passing year, I experienced gradual improvement, eventually advancing to the position of general manager for a location.
814
+
815
+ ## The Pivotal Challenge
816
+
817
+ Later that year, we encountered skepticism among our staff regarding the achievability of certain sales targets. I served as co-general manager alongside another first-year general manager who possessed more extensive experience as a salesperson and demonstrated superior selling capabilities. During a morning meeting with our sales staff, my partner proposed that one of us should demonstrate the feasibility of these numbers by returning to active selling. We agreed that whichever manager participated would be eligible for sales bonuses, considering that I had not engaged in full-day selling for five years, while my partner had been away from active sales for approximately one year. Theoretically, our current sales staff, who were actively selling daily, should have outperformed us. For various reasons, we determined that I would undertake this challenge.
818
+
819
+ I experienced considerable anxiety and apprehension because this situation presented only two possible outcomes, and the circumstances were not favorable to my success. This would mark my first return to active sales in five years. Furthermore, I was required to demonstrate that high sales numbers were achievable, enabling my staff to target these figures themselves. This meant I needed to achieve exceptional results.
820
+
821
+ Failure would have permanently convinced my entire team that superior numbers were unattainable.
822
+
823
+ Both my partner and I—though he did not reveal this at the time but admitted subsequently—maintained modest expectations regarding the outcome.
824
+
825
+ ## The Breakthrough Performance
826
+
827
+ Fortunately, I achieved outstanding results that surprised everyone, including the Chief Executive Officer, who later inquired of my partner how we had decided that I should be the one to undertake this demonstration. My performance was sufficiently impressive that I continued in active sales, working both as a salesperson during business hours and fulfilling my general management responsibilities for the remainder of each day. While this arrangement was demanding, the results justified the additional effort. My confidence reached unprecedented levels and continued to improve consistently.
828
+
829
+ I have shared portions of this narrative elsewhere, so I will summarize briefly here to continue efficiently. During the winter of my final year with the company, on the last day we offered that particular product or service, I established a new sales record, surpassing the previous record held by the top performer in a company that employs more than 60,000 sales professionals annually.
830
+
831
+ ## Sustained Excellence Across Industries
832
+
833
+ My confidence level at that point would be difficult to overstate. When I transitioned to dealer sales, I began with exceptional momentum, achieving sales levels never before witnessed at that dealership while simultaneously helping the team improve both sales performance and operational efficiency. When I initially started at that location, the dealer employed twelve sales professionals. By the time I was recruited and departed, we operated with only three team members. **With those three individuals, we outsold the original team of twelve**. I must strongly advise against implementing such dramatic efficiency measures in dealer environments, as the following year resulted in complete staff turnover due to the excessive workload demands.
834
+
835
+ The organization that recruited me operated in an entirely different industry that I had never previously examined. I possessed no knowledge of their products or services. However, I understood sales principles and recognized that specific product knowledge was not the determining factor for success. I became the fastest new hire in company history to achieve $100,000 in commissions and was on track to reach $500,000 that year.
836
+
837
+ ## The Decision to Persevere
838
+
839
+ Did I have opportunities to leave sales? Certainly, and I must emphasize that there were numerous occasions when I seriously considered such a transition.
840
+
841
+ There were exceptionally difficult days, but there were also extraordinarily rewarding ones. Sales may be the only profession where you can experience complete despair one day and feel invincible the next. I am grateful that I never surrendered, and it feels remarkable to know that regardless of the sales environment, industry, product, or service, I can compete successfully with anyone in the field. I do not state this to enhance my personal reputation, but rather to demonstrate that the transformation from my initial position to my current level of success proves that others can achieve similar results, particularly you.
842
+
843
+ **The fundamental principle is simple: never give up.**`,
844
+ },
845
+ // Work towards making the entire process, as effortless, for the client, as possible
846
+ {
847
+ userEmail: "skylerzanth@outlook.com",
848
+ category: "Tips and Tricks",
849
+ subCat: `Work towards making the entire process, as effortless, for the client, as possible`,
850
+ body: `# The Critical Importance of Task Prioritization in Sales
851
+
852
+ ## The Universal Assumption
853
+
854
+ When this concept is articulated, most sales professionals likely think to themselves, "Of course, I have been implementing this practice consistently." To be completely honest, you probably have not. I am not stating this to diminish your confidence, but rather to bring this critical oversight to your attention, as it affects significantly more professionals than the average salesperson realizes.
855
+
856
+ ## A Common Inefficiency: Administrative Tasks During Client Interactions
857
+
858
+ For example, I repeatedly observe sales professionals completing administrative duties related to their sales while customers sit and observe for fifteen to twenty minutes. These customers could have departed fifteen to twenty minutes earlier, as their presence was unnecessary during these administrative tasks. Why not prioritize your responsibilities, completing only those requiring client presence during face-to-face interactions, and reserving tasks that do not require customer participation for after their departure? This approach wastes not only the client's valuable time but frequently your own as well.
859
+
860
+ Customers become restless during these delays and initiate conversations. These conversations subsequently impede your administrative process because you are attempting to multitask, or you pause your work entirely to engage in dialogue. This represents merely one illustration of inefficient time management.
861
+
862
+ ## Maximizing Floor Time During Peak Hours
863
+
864
+ Another perspective to consider—and this directly relates to making the sales process as effortless as possible for clients, because you cannot capitalize on the following strategy without implementing the previously discussed principles—involves managing exceptionally busy days when the sales floor is highly active and everyone is performing well. **What is your primary responsibility? Even while actively making sales?** You must ensure maximum floor presence regardless of circumstances. The greater your selling time, the higher your sales volume will be.
865
+
866
+ Remember those administrative duties that do not require client presence? These same responsibilities do not require immediate completion. They can be deferred until closing time when active selling is no longer possible. While your colleague spends the subsequent thirty-five to sixty minutes during business hours completing various administrative tasks required for each sale, **I remain on the sales floor closing one, two, or even four additional sales**. At year's end, considering this single routine adjustment, who will have achieved superior sales results? The answer is evident.
867
+
868
+ ## Strategic Timing of Administrative Work
869
+
870
+ You need not wait until closing time to finalize all deal components—simply avoid completing these tasks while potential clients are present on the floor. We have all witnessed unexpected customer surges that emerge suddenly, persist for several hours, then result in completely quiet periods for the remainder of the day.
871
+
872
+ **Prioritize every activity according to one fundamental question: What is our most important function? Making sales.** That is the singular focus.
873
+
874
+ ## The Compounding Effect
875
+
876
+ This seemingly simple adjustment to your daily routine could substantially increase your annual sales totals. The impact of consistently prioritizing direct selling activities over administrative tasks during peak customer traffic periods creates a compounding effect that becomes increasingly significant over time. By maintaining maximum availability during selling opportunities and relegating paperwork to non-selling hours, you position yourself to capitalize on every potential sales interaction while your competitors remain occupied with tasks that generate no immediate revenue.`,
877
+ },
878
+ // When to drink the cool-aid
879
+ {
880
+ userEmail: "skylerzanth@outlook.com",
881
+ category: "Tips and Tricks",
882
+ subCat: `When to drink the cool-aid`,
883
+ body: `# The Importance of Knowledge Timing in Sales Development
884
+
885
+ ## The Critical Balance of Learning and Application
886
+
887
+ I wish I had learned earlier that **you are not going to be ready to receive all knowledge from the moment you begin your career**. This principle applies extensively throughout sales, encompassing advanced scripting techniques, sophisticated closing methodologies, and conceptual frameworks like those presented in motivational literature that focus on sales mindset and strategic thinking.
888
+
889
+ When knowledge is received prematurely, professionals often lack the foundational understanding necessary to effectively implement it. Conversely, when crucial knowledge arrives too late, valuable sales opportunities have already been missed—opportunities that could have been successfully closed with the proper expertise.
890
+
891
+ ## The Premature Introduction of Advanced Concepts
892
+
893
+ Sales development literature and motivational teachings are frequently introduced to new sales professionals immediately upon entering the field. This approach proves counterproductive, as newcomers should focus primarily on mastering fundamental sales principles before advancing to complex methodologies. Visualization techniques, while valuable, will not secure your first sale without a solid foundation in basic sales competencies.
894
+
895
+ This premature introduction fails for several reasons. First, recipients lack the prerequisite knowledge necessary to effectively absorb and implement advanced concepts. Mathematical principles must be mastered before attempting calculus. Additionally, some individuals may never develop the capacity to effectively utilize certain advanced techniques.
896
+
897
+ Second, when individuals receive knowledge prematurely, they inevitably attempt immediate implementation. When results fail to meet expectations, they dismiss the entire concept as ineffective or fraudulent, closing themselves off to potentially valuable methodologies that could benefit them at a later stage in their development.
898
+
899
+ ## The Management Problem
900
+
901
+ The individuals responsible for delivering knowledge at appropriate developmental stages are frequently absent when needed most. Alarmingly, approximately seventy-five percent of sales managers—likely more—are fundamentally unqualified for their positions. These individuals receive management roles out of organizational necessity rather than demonstrated leadership capabilities. When employees resign or are terminated, organizations hastily promote available personnel, typically selecting individuals who lack proper qualifications or comprehensive understanding of managerial responsibilities, even after years in the role.
902
+
903
+ Sales management represents an entirely different professional discipline. **You are no longer selling**—you have become a coach. Your responsibilities include providing motivation to energize your team and delivering appropriate knowledge and training to individual sales professionals at precisely the right developmental moments. This represents the singular critical function of the position. Just as closing sales is the only truly important aspect of a salesperson's role, everything else serves as either a consequence of this primary function or peripheral activity.
904
+
905
+ ## The Path to Excellence in Sales Management
906
+
907
+ To achieve excellence in sales management, you must develop and nurture your team collectively while replacing underperforming members when necessary. Your objective is to continuously advance team members professionally, enabling each individual to increase their sales performance and become exceptional sales professionals. This approach creates the most effective sales team in your market segment, which explains why managerial compensation is typically based on team performance rather than individual achievement. Organizations that master this approach can consistently develop outstanding sales professionals.
908
+
909
+ Unfortunately, I have observed only one organization that fully understood and successfully implemented strategies to ensure continuous development of exceptional sales talent.
910
+
911
+ ## The Perpetuation of Ineffective Practices
912
+
913
+ Regrettably, many sales professionals who receive promotions to management positions never develop thinking beyond their individual sales experience. They continue operating with a salesperson's mindset, which proves entirely inappropriate for management roles. Sales professionals focus exclusively on personal success, while managers must develop and motivate entire teams. Therefore, you must exercise discernment regarding new knowledge—if implementation proves unsuccessful, revisit the concept at a later developmental stage.
914
+
915
+ Upon reflection, aside from conducting personal strategic planning sessions annually, monthly, and weekly, I have not participated in a quality one-on-one development session with a sales manager since departing from that exceptional sales organization. There have been no advanced technique sessions, sophisticated motivational coaching, or meaningful professional development opportunities. Even the expensive sales coaching I recently received failed to provide practical applications for daily sales activities.
916
+
917
+ ## The Importance of Deferred Learning
918
+
919
+ When you encounter new scripts, sales processes, or conceptual frameworks and fail to achieve expected results, **do not dismiss them entirely**. Create a "future learning" repository to prevent complete abandonment of potentially valuable concepts. Review these materials periodically as your skills develop. You may have made minor errors during initial implementation that yielded poor results, while your future, more experienced self could execute the same approach with slight modifications to achieve the intended outcome.
920
+
921
+ ## The Self-Fulfilling Prophecy of Closing Reluctance
922
+
923
+ Consider this perspective: the majority of sales professionals fail to close when they should. I am confident that most do not genuinely believe in the closing process. They attempted closing techniques during their first or second day, failed due to inexperience, and subsequently lacked proper managerial coaching to overcome the negative mindset these early failures created. This results in a permanent lack of confidence in closing techniques throughout their sales careers.
924
+
925
+ Unless these sales professionals remain receptive to receiving and implementing new knowledge—which becomes increasingly difficult after five to ten years of established patterns—they will dismiss valuable opportunities when they finally arise and continue following their current, ineffective trajectory.`,
926
+ },
927
+ // No one does this, but everyone should
928
+ {
929
+ userEmail: "skylerzanth@outlook.com",
930
+ category: "Tips and Tricks",
931
+ subCat: `No one does this, but everyone should`,
932
+ body: `# The Power of Complete Transparency in Sales
933
+
934
+ ## Being 100% transparent and honest
935
+
936
+ As easy as it sounds, I have yet to meet another salesperson who takes it as far as I do. To be frank, you may not even be able to do this completely depending on the sales team you have.
937
+
938
+ If you have a management team that lies to every single client in every situation, whether it is positive or negative, this will be hard or even impossible to accomplish. With that said, if you start this and follow through with it, the difference in your day-to-day is so polarizing, I promise you... it is hard to explain because it affects every minute of every day.
939
+
940
+ ## A real-world example
941
+
942
+ For example: Returning to a dealership where the management team (and owners), along with the sales staff, were one of those "lie no matter what" atmospheres. It was COVID, I started in the spring, so I did not have any sales from the winter at that point because spring and summer is when the units go out for that dealership.
943
+
944
+ Starting with a huge disadvantage in sales numbers (about six months behind), I not only beat every single salesperson including management that September, but it was my busiest year in that dealership... but shockingly the easiest year I ever had. I sold more in the last half of the year than the other salespeople did during that entire sales year.
945
+
946
+ ### The contrast in daily operations
947
+
948
+ How did my day look compared to theirs? Well, if you were not selling during COVID, you would not know this... there were no models available anywhere, at any trim level. To top that, the people that did get the chance to buy wanted it last week.
949
+
950
+ **The other salespeople:** From 9 AM to close, every single day, their phones were ringing off the hook. Client asks, "Where is my unit?" Salesperson says, "Oh well, I am looking at the transportation path that your unit is taking from the manufacturer right now and for some reason it is in Winnipeg; I do not know what it is doing there. Let me call my rep and see what is going on." (It was not there, and we do not have access to that, and yes that was a legitimate phone call I overheard and just laughed).
951
+
952
+ When do you think this customer will call next to bug that sales rep on where his unit is? Probably tomorrow, and with another lie... the day following. Multiply that by 100-300 customers, along with all the other issues that come with lying for literally... no possible good reason to justify it.
953
+
954
+ ## The transparent approach
955
+
956
+ Taking a different approach, I think I had one client do this to me. After that one phone call, he never called again until I called to tell him his unit was ready to be picked up months later.
957
+
958
+ ### The signing conversation
959
+
960
+ The time to do most of this is during the signing of the bill of sale:
961
+
962
+ > "Now I do not know when your unit will be in, but by signing this we will have a VIN registered in your name so I promise you will get one. You already know COVID is just affecting availability... literally anywhere. And because I am on partial commission, as soon as it arrives I will get it prepped and deliver it to you, because I do not get paid until you drive off with it. There is no reason for me to hide it out back like some of my colleagues' clients think. (They actually thought the other sales people were doing that, but that is what you get when your client thinks you are lying to them). With that said, Mr. Smith, I just want to warn you: do not call me and ask where it is because I will not know until it arrives here, and I do not want to waste your time or mine with that type of phone call. For anything else, call me anytime. We are signing for your parts today, so I promise you if they are not on the unit when you pick it up, they will 100% be on order. It is just crazy with everything on backorder right now. Good news is, whenever they do come in, we can schedule an appointment with service to install them at no extra cost to you."
963
+
964
+ ### For units in stock
965
+
966
+ > "Now your pickup is in seven days (Yes, customers will complain; just tell them they should have come seven days ago in order to get it tomorrow), and I cannot do it sooner because I need the time to order your parts, ensure that service has the adequate time to go over it with the PDI and installing your accessories. Look how busy we are - even if I book it right now and squeeze it in somewhere, hoping the technician rushes an hour job where it should take three (if you are new, yes this happens way more than it should at some dealerships, so if you do not believe that happens, trust me it does), I am booking at least 4-5 days out. On top of that, this allows me time to work on any issues that may arise during the process before you come to pick it up and it leaves here. For example, I have seen models need replacement body panels because something happened during transportation and needs to be replaced. This timeframe allows me to find solutions to those types of issues. And with all that, licensing is at least a day without issues; if you have parking fines, it is two days minimum, and sometimes there are other issues as well that just take time to solve."
967
+
968
+ **Saying that right there, with every single sale, will literally save you from 99% of the problems that come with sales after it is signed and before it leaves.**
969
+
970
+ ## Handling difficult situations
971
+
972
+ What happened during that one phone call I received? He was upset; his friend just took delivery of the same model at a lower trim level and was concerned he did not have his. My response:
973
+
974
+ > "I have no idea when it is coming in; the representatives at the manufacturer have no idea when they will get delivered (to save time, this is where I explained the commission part). The moment it gets here, well not the moment because I will open the crate and inspect for damage that may have happened during transportation and make sure everything is 100% good before I call you because I know you will want it the next day. If you still do not believe me, come in. I will call the rep on the speaker phone with you sitting beside me, without telling the rep you are there, and ask where your unit is and when it will be getting delivered. That is how transparent I am, because I do not care if the rep dislikes me if he finds out. He should have a better grip on his allocation to dealers and should be able to tell me when it will come, but he will not have that information."
975
+
976
+ ### Managing major setbacks
977
+
978
+ Now what about some of the bigger headaches you think will come from this, or the situations or conversations you really do not want to have? Like a client's model got damaged, or the manufacturer, after four months of waiting, took that client's unit and shipped it on purpose to another dealer. Now he has to wait another 4-5 months for another unit to be built at the factory.
979
+
980
+ Being 100% honest and transparent actually made it easier with less follow-up. Yes, the initial conversation will be difficult, especially if you do not have all the information. And if that is the case, tell them that. Explain to them that you do not have the information at this time, but you will make sure to get it promptly and inform them. Clients, 99% of the time, unless you for no reason upset them, are reasonable. The average person knows that you will not have 100% of the information 100% of the time.
981
+
982
+ ## The results
983
+
984
+ My days in comparison were nothing but smooth sailing. This, along with the seven-day delivery rule (I followed both religiously as a test for one summer), turned what would have been a difficult summer into one of my favorites in sales. This, along with the seven-day delivery, also comes with huge dividends that pay long after they have originally taken place. If the entire sales staff and service department followed that seven-day rule along with being honest and transparent, three-quarters of the dealership would have 99% fewer problems to deal with, thus freeing up 99% of their time.
985
+
986
+ That summer was so difficult for that dealership that the sales manager, along with everyone but one salesperson, left that dealership.
987
+
988
+ ### A telling conversation
989
+
990
+ In closing, at the end of the summer I dropped a work order off at the service counter. The service manager asked how I was doing, and I said great and stood there for a second.
991
+
992
+ He asks, "Have you been doing well this summer? I have not seen a single one of your sales."
993
+
994
+ *I responded, "What are you talking about? I am leading... like always."*
995
+
996
+ He gave me a confused look, "How? I seriously have not dealt with a single one of your sales."
997
+
998
+ *"That is by design," I said.*
999
+
1000
+ "What do you mean?"
1001
+
1002
+ *"For every sale, it is seven-day delivery, no matter what and no matter how much the client complains. Which gives me adequate time to literally take care of any issue that could arise before pickup, no matter what."*
1003
+
1004
+ "Wait... are you telling me this is possible?"
1005
+
1006
+ *"Yes, and I have an entire summer as proof that it can be done, with zero issues. So much so that management did not even know. They still do not know that I did that; it was that successful."*
1007
+
1008
+ He quit as service manager after that conversation, promptly.
1009
+
1010
+ ## The bigger picture
1011
+
1012
+ To give some context, every day with every other sales staff member, including the sales manager, would literally hand the service manager a deal that had to go out that day or the next with a bunch of items to be done that were not quick to complete. Every day he had to rearrange the technicians' schedules to deal with these last-minute problems and issues that should have never existed. Nine times out of ten, forcing three-hour jobs into one hour (when this happened, technicians became frustrated; it got to the point where some of them told management, "If you bring me one of those sales problems and interfere with my calendar, I will quit"), or even worse, having someone who was not a technician complete the work.
1013
+
1014
+ **There was not a single situation I encountered where I had no choice but to be dishonest, and each of them was significantly less of a headache because I was honest and transparent. So, it can be done.**
1015
+
1016
+ ---
1017
+
1018
+ *Remember: Transparency is not just about honesty; it is about setting proper expectations and managing processes that prevent problems before they occur.*`,
1019
+ },
1020
+ // Parts and Accessories
1021
+ {
1022
+ userEmail: "skylerzanth@outlook.com",
1023
+ category: "Tips and Tricks",
1024
+ subCat: "Parts and Accessories",
1025
+ body: `# Parts and Accessories Ordering Policy
1026
+
1027
+ ## The fundamental rule
1028
+
1029
+ **Do not order or promise parts to a customer who has not signed a bill of sale.**
1030
+
1031
+ We have witnessed entire dealerships fall victim to this practice. A customer comes in, orders a part on a unit at the time of purchase, and then the week of pickup or even the day before, the customer attempts to cancel or change the part. If the bill of sale is not signed, you legally cannot force them to take it, even if it is installed.
1032
+
1033
+ ## The operational reality
1034
+
1035
+ Your service department, if it is run well, would have had this completed the week before. It is already installed. The customer signed for it; the customer is taking it. Your dealership invested the funds to order this part. The service department invested the labor hours to install the part. It is only fair that the customer takes the unit with it installed if they did not provide you proper time to adjust the order.
1036
+
1037
+ ### The explanation at signing
1038
+
1039
+ > "I have listed the parts and accessories you wanted on the bill of sale so that we can order them ahead of time and have them installed before you pick up your unit. This way you can enjoy your unit right away. This also ensures that in case the part is on backorder, we can try to find a replacement part before you pick up. If you need to cancel the part, you need to give me at least 2-3 weeks notice because my service department will probably work on your unit the week or two before. This does not mean your unit will be ready at that time; it is just that in case the service department is on schedule, we like to prep units early. That way if anything is wrong at the time of the PDI, we can notify you that we need to change the pickup date. Customers do not appreciate being called the day of or the day before informing them that it is not ready because the manufacturer forgot a bolt, or the shipping company dented a panel. I want your pickup to be as smooth as possible, so sign here."
1040
+
1041
+ ## Department coordination
1042
+
1043
+ I do not care if the finance department objects to not being able to sell their products after it is signed. This is for the dealership as a whole, not just the finance manager's commission. They should be there to help the customer when both the customer and dealership need it. Bills of sale need to be signed as soon as possible. We will address this further when discussing unit ordering as well.
1044
+
1045
+ ## Protecting dealership interests
1046
+
1047
+ Are you here to make money? Yes. However, you are also there to protect the dealership and its finances. Have we sold units with extensive modification lists? Absolutely, but before obtaining a signed bill of sale, we consulted with the sales manager regarding the required deposit. When the parts list value exceeded the unit value itself, and the list was so extensive that management required a substantial deposit, we still completed the sale. Did the customer have the chance to back out on a single part? No. The bill of sale was signed along with a detailed description on the bill itself.
1048
+
1049
+ ### The financial reality
1050
+
1051
+ You need to protect the dealership in multiple ways. Every part you order is likely on credit. You need your customer's commitment to pay for it. If there is an objection, simply explain:
1052
+
1053
+ > "We as a dealership are ordering this part for you. Some parts are very sellable, yes, others are not. Let us be honest here: I want to give you exactly what you want, but we also need your commitment. I cannot accept customer promises on every unit I sell; I would go bankrupt just from inventory credits."
1054
+
1055
+ ## The value of transparency
1056
+
1057
+ Whenever you speak honestly with the customer, whether about parts and accessories or any other issue or subject, the customer will not only appreciate it but understand you. If, after all the explanation, the customer "changes their mind," this means that the customer did not really want it to begin with. Be satisfied with this outcome, because you just saved yourself from being reprimanded at the time of pickup by management.
1058
+
1059
+ ---
1060
+
1061
+ *Remember: A signed bill of sale protects both the dealership's investment and the customer's commitment. It is the foundation of professional business practice.*`,
1062
+ },
1063
+ // Ordering Units / Contracts
1064
+ {
1065
+ userEmail: "skylerzanth@outlook.com",
1066
+ category: "Tips and Tricks",
1067
+ subCat: "Ordering Units / Contracts",
1068
+ body: `# Contract Signing and Department Coordination
1069
+
1070
+ ## Why deposits are insufficient
1071
+
1072
+ A deposit means nothing. I do not care if it is your first day or your tenth year. A deposit still allows the customer to back out. Why are you committing time, resources, and probably headaches of not only yourself but to others in your dealership?
1073
+
1074
+ Got a yes? Sign, right away. Why wait?
1075
+
1076
+ ## The commitment factor
1077
+
1078
+ A lot of salespeople are so eager or hungry to get the sale that they just get a deposit. It means nothing because there is no commitment. Maybe they are afraid of contracts. Do not be, if your dealership allows salespeople to sign contracts. Practice extensively. This is a great skill to have for the sales process. I will, exhaustively, go over every line with every customer for every deal. Even if they bought a unit from me yesterday. That way, there is no confusion after the sale. Nothing for the customer to come back saying they are confused about this or that.
1079
+
1080
+ Whenever you hear customers say this, that person did not do their job. Finance managers are notorious for this. They do not have to be; they are afraid if they explain it the way they should, they will not sell their products. They are wrong. You can explain it in a way the customer is not confused after the sale and still sell their product. I do not get calls a week, month, or year later asking about some random fee that was never explained.
1081
+
1082
+ ## Finance department availability
1083
+
1084
+ If you are in a dealership where only the finance manager signs the customer: This is where finance managers might get upset. However, they need to be available on the customer's terms, not theirs. Customer walks in, says yes, but your finance manager says he is going on lunch and would rather call them after or schedule a meeting a week from now. Absolutely not. You are the finance manager, getting paid more than the sales staff. Do your job and sign the customer.
1085
+
1086
+ **The salesperson got the yes, which makes the finance manager's job easier to sell.** The salesperson has the most challenging job in the dealership. The amount of rejection and obstacles we have to go through is substantial. I wish I could have someone presell my customers and only deal with confirmations. At the same time, I do not get the same satisfaction from that. The finance managers need to understand their role.
1087
+
1088
+ The dealership is not bowing to the finance department, are they? No. The dealership is not bowing to the salesperson, are they? No. Do your job when it needs to be done. I do not care how much you are getting paid; to be honest, I expect more from the ones I am paying more. So if that bill needs to be signed and your dealership's finance managers are the ones doing the signing, they need to be there when the customer says yes. Not a week from now.
1089
+
1090
+ ## Professional perspective
1091
+
1092
+ I have been a general manager, sales manager, and a salesperson. I have done it all. As a salesperson, I have even managed sales managers.
1093
+
1094
+ I understand the sales process thoroughly; I have experienced it. I understand that every finance manager wants a piece of the action. I will help them make as much money as they will. With that said, do not put my customer on hold for any reason. Because it is not just my customer they are putting on hold; it is the dealership's customer.
1095
+
1096
+ ### Having the difficult conversation
1097
+
1098
+ Show your finance or sales manager this if you are not comfortable having this conversation. If this is an issue in your dealership, this conversation needs to happen.
1099
+
1100
+ ---
1101
+
1102
+ *Remember: When a customer says yes, that is the moment of maximum commitment. Every delay reduces the likelihood of completing the sale.*`,
1103
+ },
1104
+ // Your not going to make every sale. Taking the lose professionally
1105
+ {
1106
+ userEmail: "skylerzanth@outlook.com",
1107
+ category: "Tips and Tricks",
1108
+ subCat: "Your not going to make every sale. Taking the lose professionally",
1109
+ body: `# When You Don't Get the Sale
1110
+
1111
+ ## The reality of dealership sales
1112
+
1113
+ In the world of sales, no one can close every deal in a dealership. While I have seen it happen in other industries, the automotive sector presents a different reality. It is not just about you; it is about the general perception customers have about salespeople and dealerships.
1114
+
1115
+ Instead of accepting defeat like every other dealer, why not respond differently? In doing so, you might end up gaining more customers than you initially expected, including those who bought elsewhere.
1116
+
1117
+ ## The professional response
1118
+
1119
+ > "Congratulations! I hope the unit meets your expectations. If you have any questions, whether about insurance or the best roads to ride on, feel free to ask. I am more than happy to assist you."
1120
+
1121
+ When someone you have just informed about not moving forward with a sale approaches you with such inquiries, they will remember it. Particularly if they are the type to be open and direct with their salespeople. Often, they face hostility because the salesperson feels their time was wasted.
1122
+
1123
+ ### The long-term perspective
1124
+
1125
+ Although we did not close the deal today, consider this:
1126
+
1127
+ **What if the unit they purchased does not meet their expectations, or their spouse's?** Those are easy sales if you have made a positive impression on the husband. Trust me on that one.
1128
+
1129
+ **What if their circumstances change in a month and they need something different?**
1130
+
1131
+ **What if they were eyeing a specific unit, bought elsewhere due to price, but your professional handling of the situation led them to buy their entire corporate fleet from you instead?**
1132
+
1133
+ **What if they have a friend looking to buy a unit and they refer them to you because of how you handled the situation?**
1134
+
1135
+ ---
1136
+
1137
+ *The difference between average salespeople and exceptional ones lies not in closing every deal, but in how they handle the ones they don't close.*`,
1138
+ },
1139
+ // Asking the questions, other sales people won't
1140
+ {
1141
+ userEmail: "skylerzanth@outlook.com",
1142
+ category: "Tips and Tricks",
1143
+ subCat: `Asking the questions, other sales people won't`,
1144
+ body: `# The Confidence Question
1145
+
1146
+ ## This isn't about skill, it's about confidence
1147
+
1148
+ Does what I'm about to teach you take skill? No. Does it take confidence? Yes.
1149
+
1150
+ Nothing that we provide here requires skill. It requires confidence. Confidence in yourself, your product, your dealer, and your industry. If you don't have confidence in yourself, work on it. If you don't have confidence in your dealer or management, either fill in for the role that they provide or find a new opportunity.
1151
+
1152
+ ### Here's an easy way to get them talking
1153
+
1154
+ An easy way to get a customer talking after a period of no response, or if they seemed ready to buy yesterday and just went cold, is to ask the question.
1155
+
1156
+ It will seem too forward to most, and I've discussed this with many sales coaches who agree with me - almost all salespeople don't ask the right questions at the right time.
1157
+
1158
+ Here's the question:
1159
+
1160
+ > "Were there any other questions or concerns that was keeping you back from moving forward? I want to make sure you have all the information you need before buying so you make an informed decision."
1161
+
1162
+ ### The usual reaction
1163
+
1164
+ The usual reaction is, **"Do you really say that?"**
1165
+
1166
+ Yes, because I need to know why they aren't moving forward when they contacted me. That way I can address the concerns they have when they are having them.
1167
+
1168
+ Most of the time, they are trivial and so easy to overcome that it's just low-hanging fruit. Should I sit at my desk and hope they call back again? No.
1169
+
1170
+ ### The reality check
1171
+
1172
+ "The Secret" belongs more in other sections of the bookstore than where it currently resides. Wishful thinking is not a sales tactic. The force is not real; you cannot move things with your mind. You can pick up the phone though.
1173
+
1174
+ ## When you don't get the sale
1175
+
1176
+ In the world of sales, no one can close every deal in a dealership. While I have seen it happen in other industries, the automotive sector presents a different reality. It is not just about you; it is about the general perception customers have about salespeople and dealerships.
1177
+
1178
+ Instead of accepting defeat like every other dealer, why not respond differently? In doing so, you might end up gaining more customers than you initially expected, including those who bought elsewhere.
1179
+
1180
+ ### The professional response
1181
+
1182
+ "Congratulations! I hope the unit meets your expectations. If you have any questions, whether about insurance or the best roads to ride on, feel free to ask. I am more than happy to assist you."
1183
+
1184
+ When someone you have just informed about not moving forward with a sale approaches you with such inquiries, they will remember it. Particularly if they are the type to be open and direct with their salespeople. Often, they face hostility because the salesperson feels their time was wasted.
1185
+
1186
+ ### The long-term perspective
1187
+
1188
+ Although we did not close the deal today, consider this: What if the unit they purchased does not meet their expectations, or their spouse's? Those are easy sales if you have made a positive impression on the husband. Trust me on that one.
1189
+
1190
+ What if their circumstances change in a month and they need something different? What if they were eyeing a specific unit, bought elsewhere due to price, but your professional handling of the situation led them to buy their entire corporate fleet from you instead? What if they have a friend looking to buy a unit and they refer them to you because of how you handled the situation?
1191
+
1192
+ ---
1193
+
1194
+ *Remember: Most salespeople don't ask the right questions at the right time. Don't be most salespeople.*`,
1195
+ },
1196
+ // It's easier being in first
1197
+ {
1198
+ userEmail: "skylerzanth@outlook.com",
1199
+ category: "Tips and Tricks",
1200
+ subCat: `It's easier being in first`,
1201
+ body: `Before I get into it, I'll start off by saying, there are some drawbacks. At some sales orgs, its lonely at the top, and with only one person at the top, people only have to aim at one target to try to bring you down.
1202
+
1203
+ But if your in 3, 4 or 9 place or even lower, and your asking yourself what the point of going for first is, or if its even worth the extra effort? Do I have it in me? And the million other demoralizing questions we ask ourselves. It is worth it, a million times over and not only that... weirdly, it gets easier. It is so much easier being first then any other position on the board.
1204
+
1205
+ I've been in last place, and every place from last to first. Last or close to last, was the worst, then it kinda lulled out till about 10thish, where it started to become harder. 10th - 2nd is the hardest and gets harder the closer you get to first.
1206
+
1207
+ 2nd is by far the worst, because you did well enough to beat everyone there, but 1st place. Usually missing out on a substantial bonus due to mere dollars in difference in sales.
1208
+
1209
+ Why is it easier?
1210
+
1211
+ It's a large combinition of things, that your either missing out on from not being in first, or its because your not doing the things that it takes to be in first and reaping the benefits from doing it that way.
1212
+
1213
+ Missing out from not being in first: the daily rush that comes with the amount of sales you close helps a tremendous amount. You are getting the result you are going for. Your seeing the benefits of everything your doing. Along with the extra kick to your motivation / confidence from being in first.
1214
+
1215
+ Your not doing the things it takes to be in first: The one will be harder to articulate. One of the benefits, is derived from handling your clients in such an effcient way, due to the number of them, making it easier to do your job. And not just your clients but everything in your day. For someone who is busy, they aren't going to get sidetracked for an hour due to a colleague doing soemthing stupid. Where as someone in any other place may let themselves fall victim to having their time wasted. Or get sucked into unneeded, lengthly conversations with clients / colleagues.
1216
+ To be continued... `,
1217
+ },
1218
+ // Want to be better than the rest of the dealer?
1219
+ {
1220
+ userEmail: "skylerzanth@outlook.com",
1221
+ category: "Tips and Tricks",
1222
+ subCat: `Want to be better than the rest of the dealer?`,
1223
+ body: `# Work Ethic and Sales Success: The Competitive Advantage of Dedication
1224
+
1225
+ The phenomenon depicted in "Glengarry Glen Ross" regarding workplace dynamics continues to astound me with its real-world prevalence. I had not experienced this directly within my own dealership until recently, when I observed the entire sales team prioritizing extended coffee breaks lasting two to three hours or more. This team was exceptionally fortunate that their sales manager participated in these activities, and the sales manager was equally fortunate that ownership permitted such behavior.
1226
+
1227
+ ## Performance Through Focus
1228
+
1229
+ During this period, I was assigned exclusively to web leads. By the second month, I was achieving higher sales volumes than the entire floor combined, despite working with lower-quality leads on a product lineup I had never previously encountered. My approach was diametrically opposite to their methodology.
1230
+
1231
+ While coffee breaks and casual conversation are enjoyable, the fundamental purpose of being at work is to work. Will colleagues resent your dedication? Absolutely—particularly when they observe you generating sales while they are not. I do not intend to disrespect colleagues by maintaining focus, but if they want to socialize, I prefer to do so after work hours.
1232
+
1233
+ I maintain this work ethic consistently. I take client calls during dinner dates with my wife, and I appreciate when in-laws visit because during family dinners, while they engage in conversation amongst themselves, I can respond to emails and text messages. Occasionally, my wife becomes annoyed and inquires about my activities. When I explain that I just closed four units, she cannot reasonably object, particularly when I am not included in family gossip discussions.
1234
+
1235
+ ## The Reality of High Performance
1236
+
1237
+ Sales professionals achieving significant numbers do not succeed through skill alone—it requires exceptional work ethic.
1238
+
1239
+ ### A Case Study in Compensation Through Effort
1240
+
1241
+ During my tenure as a sales manager at a door-to-door company, I observed this principle with several remarkable individuals. One employee worked harder than anyone else despite being challenged by autism spectrum characteristics that affected his sales abilities. He recognized these challenges and compensated through extraordinary effort. To compete with other sales professionals, he knocked on more doors than anyone else.
1242
+
1243
+ Did he experience difficult days? Absolutely, and I felt sympathy during those periods. Did he occasionally outperform some of our best salespeople? Yes, through sheer determination and relentless door-to-door effort. When he achieved victory on those days, his celebratory comments to colleagues he had defeated were so entertaining that I would laugh until my ribs hurt.
1244
+
1245
+ ## Personal Transformation Through Dedication
1246
+
1247
+ Consider my own experience at that door-to-door company. I began with no sales experience and performed terribly. My performance was so inconsistent that on good days, nobody believed the results were legitimate. When working in pairs, colleagues assumed my partner was responsible for any sales generated. While there were challenging days, performance gradually improved over time.
1248
+
1249
+ ### The Defining Moment
1250
+
1251
+ My final day with that company occurred at season's end—literally the last day before closing for the year. We were selling a product and service that would be discontinued. The company's top salesperson decided to take the remainder of the day off, reasoning that since we were significantly behind in daily sales targets, nothing substantial would result from continued effort.
1252
+
1253
+ As a manager who wanted to work the remainder of the season as a salesperson, I was given first opportunity at her territory. Fortunately, my six years of management experience had developed my coaching abilities, and combined with accumulated sales skills, we achieved extraordinary results. I worked with one other salesperson as a team.
1254
+
1255
+ This individual possessed exceptional sales talent but struggled with emotional regulation. If he did not receive a positive response every fifteen minutes, he would experience a mental breakdown. When I was not actively selling, I was coaching him. This previously untold story involves working until after 11:00 PM without eating or taking breaks.
1256
+
1257
+ Despite his exceptional abilities (he was the best at his location, second only to one person company-wide who worked elsewhere), I was matching his performance. Without my management training and coaching capabilities, we could never have achieved that day's record. Whenever I observed him struggling, I would provide brief coaching sessions between client presentations. These interventions proved effective, as he would resume closing successfully.
1258
+
1259
+ ### The Record-Breaking Achievement
1260
+
1261
+ At day's end, when management forced us to conclude by packing equipment around us, I submitted our sales figures. Back at the office, focused on finding food after not eating all day, I was unaware of the background reactions.
1262
+
1263
+ When the previous record holder discovered the results, her anger was audible throughout the office. I had surpassed her sales record on the final day, in the final hour. Having started at 8:00 AM while my second partner joined at 3:00 PM, my total significantly exceeded both of theirs.
1264
+
1265
+ This represented a complete transformation: from last place on my first day to first place and record holder on the final day, surpassing the top salesperson in a company employing an estimated 60,000 to 100,000 sales professionals annually.
1266
+
1267
+ Her competitive nature generated numerous excuses for the outcome. While her frustration was understandable, the fundamental issue was her decision to prioritize leisure over productivity on a critical day.
1268
+
1269
+ ## The Fundamental Principle
1270
+
1271
+ High-performing sales professionals understand that success requires unwavering dedication to the work itself. While relationships with colleagues are important, they cannot supersede the primary responsibility of generating results. The most successful individuals consistently choose productivity over convenience, effort over comfort, and dedication over distraction.
1272
+
1273
+ This work ethic distinguishes exceptional performers from average ones, often more significantly than natural talent or experience. When combined with skill development and proper coaching, relentless work ethic becomes an nearly insurmountable competitive advantage.`,
1274
+ },
1275
+ {
1276
+ userEmail: 'skylerzanth@outlook.com',
1277
+ category: "Tips and Tricks",
1278
+ subCat: `The second biggest event to effect my motivation and work ethic`,
1279
+ body:`# CRM Efficiency Analysis: The Hidden Cost of Administrative Overhead
1280
+
1281
+ This subject has been extensively discussed with dealership management and ownership. The importance of this analysis led to their decision to adopt our CRM solution. This system represents the only application focused on optimizing every second of every day in the sales professional's role, re-engineering processes wherever necessary.
1282
+
1283
+ ## The Problem: Inefficient Administrative Processes
1284
+
1285
+ Consider the seemingly simple process of completing an appointment and rescheduling client follow-up for three days hence. We have already contacted the client via phone or email and are now completing the administrative requirements necessary for proper client tracking and appointment management. I had never measured this process until a significant event occurred, and I remain frustrated that I failed to recognize this inefficiency earlier.
1286
+
1287
+ Without circumventing the system (while acknowledging that shortcuts exist, they actually waste significantly more time in the long run—often exceeding 10x the original time investment), the average person requires over two minutes to complete this process. Frequently, this extends to three, four, or even seven to ten minutes. Anyone completing this task at the two-minute mark or below typically operates with exceptional efficiency and likely outsells all colleagues. Such individuals are rare—typically only one per dealership, if any.
1288
+
1289
+ ### The Critical Component: Documentation
1290
+
1291
+ An essential element involves leaving detailed notes regarding what transpired during the call, email, or other communication. Skipping this step creates a cascading inefficiency: when conducting follow-up activities in two, three, or four days, you must review previous emails, text messages, or listen to recorded calls to understand your position in the sales process and strategize your approach. This adds five to ten minutes to the process, whereas a brief note summarizing the interaction provides immediate context and proves valuable for the time invested.
1292
+
1293
+ ## Quantifying the Impact
1294
+
1295
+ ### Daily Call Volume Analysis
1296
+
1297
+ How many calls do you complete daily? I will use the same example provided to ownership.
1298
+
1299
+ **Important Note**: For those seeking sales excellence, maintain honesty regarding time spent per call. Do not deceive yourself—only you will know your actual timing, and you are the only person who will suffer from inaccurate self-assessment.
1300
+
1301
+ **Personal Benchmark**: I target 100 calls daily. While I can exceed this number (often averaging 150-200 calls), maintaining 100 calls daily ensures that even after several intensive closing days with zero follow-ups completed, I can recover before week's end. This means after three strong days focused exclusively on closing with no follow-up calls completed, I must complete 500 calls in two days.
1302
+
1303
+ **Time Per Call**: When avoiding colleague distractions, I average approximately 1 minute 30 seconds per administrative task.
1304
+
1305
+ **Annual Working Days**: I work more than the average employee nationwide (as do most sales professionals), totaling approximately 260 days annually for the average worker. However, commission-based work makes exact calculation difficult. If you are uncertain of your annual working days, remember that the final calculations represent conservative estimates—your actual waste is likely higher.
1306
+
1307
+ ## Productivity Loss Analysis
1308
+
1309
+ ### Time Waste Calculations
1310
+
1311
+ Using conservative estimates:
1312
+ - **100 calls per day** × **1.5 minutes per call** = **150 minutes daily waste**
1313
+ - **150 minutes** ÷ **60** = **2.5 hours daily waste**
1314
+ - **2.5 hours** × **260 working days** = **650 hours annually**
1315
+ - **650 hours** ÷ **8 hours per workday** = **81.25 working days wasted annually**
1316
+
1317
+ This represents over 81 full working days—approximately three months of productivity—lost to inefficient administrative processes.
1318
+
1319
+ ### The Compounding Effect
1320
+
1321
+ These calculations reveal only the beginning. The truly staggering numbers emerge when examining missed sales opportunities resulting from this time waste.
1322
+
1323
+ **Sales Impact Analysis:**
1324
+ - Average monthly sales: 17 units
1325
+ - Days lost annually: 81.25
1326
+ - **Sales lost annually: 62.5 units** (based on working day calculations)
1327
+
1328
+ ## System Circumvention: The False Economy
1329
+
1330
+ Many attempt to "cheat the system" by completing tasks more rapidly. With page loads and navigation (considering varying system speeds), you might reduce completion time to 45 seconds to one minute. However, you must add additional time to orient yourself for each call. Without remembering your previous client interaction method, you must access the CRM's SMS messenger, review previous emails, and listen to recorded calls—all located in separate application areas. Even with optimal efficiency, this orientation requires approximately six minutes, totaling seven minutes per interaction.
1331
+
1332
+ **Comparative Analysis:**
1333
+ - **75 calls daily**: 284 working days wasted annually
1334
+ - **50 calls daily**: 189 working days wasted annually
1335
+ - **25 calls daily**: 94 working days wasted annually
1336
+
1337
+ Remarkably, at one-quarter the call volume, you still waste 13 more days annually than someone completing 100 calls daily with proper efficiency.
1338
+
1339
+ ## The Broader Impact: Multiple System Integration
1340
+
1341
+ The inefficiency extends beyond appointment scheduling. I worked at a dealership where every feature required a different system, necessitating entering all customer information 12 times—once for each system—along with relevant data specific to each platform.
1342
+
1343
+ Additional time-consuming processes include:
1344
+ - **Expedited deliveries**: Personal visits to licensing bureaus, standing in lines rather than standard processing
1345
+ - **Rush sales**: Additional time in parts, service, and sales management
1346
+ - **Finance handoffs**: Searching for finance managers throughout the facility
1347
+ - **Unit listing updates**: Manual editing despite existing database information
1348
+ - **Morning setup time**: Average of 50-55 minutes daily before beginning actual sales calls
1349
+
1350
+ ## The Solution: Systematic Re-Engineering
1351
+
1352
+ After extensive analysis, I developed a comprehensive solution addressing these inefficiencies. The system reduces appointment completion and rescheduling from 3-7 minutes to under 10 seconds, regardless of computer proficiency.
1353
+
1354
+ ### Key Improvements
1355
+
1356
+ **Dashboard Optimization**: Upon login, users access an automatically generated call list. Upon completion, the system automatically populates missed calls, then tomorrow's calls, without user intervention.
1357
+
1358
+ **Integrated Interface**: All client interaction tools—appointments, notes, SMS, email—accessible from a single location, eliminating navigation between multiple systems.
1359
+
1360
+ **Performance Enhancement**: The system loads only necessary data (10 clients) rather than entire databases (5,000+ clients), dramatically improving response times.
1361
+
1362
+ **Result**: Annual time waste reduced from 81.25 days to 5.42 days while maintaining sub-minute call completion times.
1363
+
1364
+ ## Mathematical Verification
1365
+
1366
+ **Formula**: Working Days Wasted = (((calls per day) × (minutes wasted per call)) ÷ 60) × (working days per year) ÷ 8
1367
+
1368
+ The calculation divides by 60 to convert to hours and by 8 for standard work shifts. I initially calculated using 24-hour days, which, while shocking, underestimated the actual inefficiency when considered from an employer's perspective of 8-hour productive workdays.
1369
+
1370
+ **AI Verification**: When presented with this calculation to advanced mathematical AI, the response confirmed: "You're wasting over 81 full working days per year, or about 3 months of productivity just on those inefficient processes."
1371
+
1372
+ ## Conclusion
1373
+
1374
+ This analysis reveals a fundamental problem within the sales technology industry: systems designed by developers without sales experience, creating processes that appear functional but prove devastatingly inefficient for end users. The solution requires purpose-built systems designed by sales professionals who understand the critical importance of every minute in the sales process.
1375
+
1376
+ The financial impact extends beyond individual productivity to organizational profitability, making this efficiency analysis crucial for any sales-driven organization committed to maximizing performance and revenue generation.`
1377
+ }
1378
+ ];
1379
+
1380
+ const text = [
1381
+ {
1382
+ email: "skylerzanth@outlook.com",
1383
+ subCat: "Texting / Automations",
1384
+ body: "Note: A lot of the entries in texting can be used for automation",
1385
+ category: "Texting",
1386
+ subject: "Texting / Automations",
1387
+ },
1388
+ {
1389
+ email: "skylerzanth@outlook.com",
1390
+ subCat: "Not ready right now?",
1391
+ body: "Hey Mike just wanted to follow up to our conversations, if your not ready to buy right now when do you want me to follow up with you? that way I'm not wasting your time and bugging you every couple of days. ",
1392
+ category: "Texting",
1393
+ subject: "Not ready right now?",
1394
+ },
1395
+ {
1396
+ email: "skylerzanth@outlook.com",
1397
+ subCat: "Respone to online request?",
1398
+ body: `Hey its {user.username} from {dFees.dealer} you put in a request on line to take advantage of the current promotions, which unit were you looking for?`,
1399
+ category: "Texting",
1400
+ subject: "Respone to online request?",
1401
+ },
1402
+ {
1403
+ email: "skylerzanth@outlook.com",
1404
+ subCat: "You requested that rep get in contact with you ",
1405
+ body: `Hey its {user.username} from {dFees.dealer} you requested that rep get in contact with you about the unit you were looking at online when is a good time for me to call you back, would later on today work or tomorrow?`,
1406
+ category: "Texting",
1407
+ subject: "You requested that rep get in contact with you ",
1408
+ },
1409
+ {
1410
+ email: "skylerzanth@outlook.com",
1411
+ subCat: "After hours invalid email 3",
1412
+ body: "Hey { Client - First name } its { User - First name } from Freedom, were currently closed so I may not be able to answers all your questions till we open, but I'll try my best to help you now.",
1413
+ category: "Texting",
1414
+ subject: "After hours invalid email 3",
1415
+ },
1416
+
1417
+ {
1418
+ email: "skylerzanth@outlook.com",
1419
+ subCat: "After meeting 2",
1420
+ body: "Hey { Client - Civility } { Client - First name }, it's { User - First name } from { Dealer - Name }. It was nice meeting you today. Do not hesitate if you have any questions. Have a great day!",
1421
+ category: "Texting",
1422
+ subject: "After meeting 2",
1423
+ },
1424
+ {
1425
+ email: "skylerzanth@outlook.com",
1426
+ subCat: "Client - bdc - source FB - coms - text",
1427
+ body: `Hey it's {user.username} from {dFees.dealer}, you requested to have a rep contact you about the { Current Vehicle - Model } on facebook. When is a good time for me to call you back, would later on today work or tomorrow? If text is the only way of contact, that would be good as well.`,
1428
+ category: "Texting",
1429
+ subject: "Client - bdc - source FB - coms - text",
1430
+ },
1431
+ {
1432
+ email: "skylerzanth@outlook.com",
1433
+ subCat: "Client - 24 hour reminder for in store appt",
1434
+ body: "I wanted to remind you about our appointment tomorrow. If, for any reason, you can't make it, please let me know, and we can reschedule. Otherwise, I'm looking forward to seeing you tomorrow!",
1435
+ category: "Texting",
1436
+ subject: "Client - 24 hour reminder for in store appt",
1437
+ },
1438
+ {
1439
+ email: "skylerzanth@outlook.com",
1440
+ subCat: "Client - 24 hour reminder for bike pu",
1441
+ body: "I wanted to remind you about your motorcycle pick-up tomorrow. If, for any reason, you can't make it, please let me know, and we can reschedule. Otherwise, I'm looking handing off your new bike to you so you can hit the open road.",
1442
+ category: "Texting",
1443
+ subject: "Client - 24 hour reminder for bike pu",
1444
+ },
1445
+ ];
1446
+ const followUp = [
1447
+ {
1448
+ userEmail: "skylerzanth@outlook.com",
1449
+ subCat: "Asking for objections 3",
1450
+ body: "Were there any other questions or concerns that was keeping you back from moving forward? I want to make sure you have all the information you need before buying so you make an informed buying decision, I'm hear to help make the process easy for you.",
1451
+ category: "Follow-up",
1452
+ subject: "Asking for objections 3",
1453
+ },
1454
+ {
1455
+ userEmail: "skylerzanth@outlook.com",
1456
+ subCat: "Receiving significant interest",
1457
+ body: "I hope you're having a great day! I wanted to check in and see if you have any additional questions or concerns regarding the Street Glide. We've received significant interest in this model, and I want to ensure you don't miss the chance to own one at the price we discussed. If you're ready to proceed, please let me know, and I'll be delighted to assist you with the purchase process.",
1458
+ category: "Follow-up",
1459
+ subject: "Receiving significant interest",
1460
+ },
1461
+ {
1462
+ userEmail: "skylerzanth@outlook.com",
1463
+ subCat: "Aim to make the buying process effortless",
1464
+ body: "Which day works best for you? My aim is to make the buying process as effortless as possible for my customers. If you prefer, we can handle everything over the phone to ensure convenience on your end. I understand the importance of a hassle-free experience because I'm also a consumer, and I know how frustrating it can be when the process isn't seamless. I take pride in tailoring the buying process to meet your unique needs, whether it's your first purchase or if you're a seasoned buyer. Even if you're too busy to visit the store, we can manage everything efficiently through email or phone until it's time for pickup. Your satisfaction is my priority, and I'm here to make it as easy as possible for you.",
1465
+ category: "Follow-up",
1466
+ subject: "Aim to make the buying process effortless",
1467
+ },
1468
+ {
1469
+ userEmail: "skylerzanth@outlook.com",
1470
+ subCat: "Walk through process",
1471
+ body: "Allow me to walk you through our sales process. Since you've already visited our dealership, we can efficiently handle most of the steps over the phone or through email. To get the ball rolling, I'll need a picture of the front of your driver's license. This will help us prepare your file and move things along smoothly. Additionally, to secure the unit while we work on your approval, a $500 deposit is required, which you can conveniently put on your credit card. You have the option to either call me with your card number or send a picture of the front and back if you're busy at work and prefer not to make a phone call. Once we have the necessary details, our sales manager will assemble your file and forward it to our business manager, who will reach out to you to facilitate the approval process. Once you're approved, the business manager will coordinate a pickup date with you. During the pickup, I'll be there to assist you with the vehicle explanation and help you load it if needed. We have ramps available for your convenience. Please note that while we strive to ensure a smooth loading and unloading process, we cannot be held liable for any incidents during these activities. Rest assured, I've never encountered any issues before, and I'm confident in my ability to assist you with loading and securing your purchase.",
1472
+ category: "Follow-up",
1473
+ subject: "Walk through process",
1474
+ },
1475
+ {
1476
+ userEmail: "skylerzanth@outlook.com",
1477
+ subCat: "Create urgency with pricing - seasonal",
1478
+ body: "As the holidays approach, I understand that many folks might be considering waiting until after Christmas to make a move on their new bike purchase. While I'm more than happy to assist you {Client - First Name} whenever you decide, I wanted to ensure you're aware of the incredible promotions currently available. Our used bikes are now priced at what we paid for them on trade, presenting an unbeatable opportunity for savvy buyers. For new bikes, we're offering promotional rates as low as 1.99%, coupled with generous discounts. These rates are so remarkable that I don't foresee them being this low until next winter. If you choose to wait until after Christmas, I'll be ready to assist you. However, given the exceptional nature of these deals, waiting might mean missing out on substantial savings. Feel free to reach out if you have any questions or if you'd like to discuss these promotions further. Looking forward to helping you make the best decision for your bike purchase! If I don't see or talk to you again before the Holidays, Merry Christmas {Client - First Name}.",
1479
+ category: "Follow-up",
1480
+ subject: "Create urgency with pricing - seasonal",
1481
+ },
1482
+ {
1483
+ userEmail: "skylerzanth@outlook.com",
1484
+ subCat: "First text message",
1485
+ body: "Hey its $ {user.username} from $ {dFees.dealer} I just called but your probably tied up give me a call or text when you can and we can go over that unit you were looking for",
1486
+ category: "Follow-up",
1487
+ subject: `First text message`,
1488
+ },
1489
+ {
1490
+ userEmail: "skylerzanth@outlook.com",
1491
+ subCat: "First text message - fb reserve",
1492
+ body: "Hey { Client - First name } it's me from Freedom HD, you requested to reserve the { Current Vehicle - Model } on facebook and have a rep get in contact with you. When is a good time for me to call you back, would later on today work or tomorrow?",
1493
+ category: "Follow-up",
1494
+ subject: `First text message - fb reserve`,
1495
+ },
1496
+ {
1497
+ userEmail: "skylerzanth@outlook.com",
1498
+ subCat: "After hours invalid email 1",
1499
+ body: "Hey { Client - First name } its { User - First name } from Freedom, were currently closed so I may not be able to answers all your questions till we open, but I'll try my best to help you now.",
1500
+ category: "Follow-up",
1501
+ subject: `After hours invalid email 1`,
1502
+ },
1503
+ {
1504
+ userEmail: "skylerzanth@outlook.com",
1505
+ subCat: "Request on line",
1506
+ body: `Hey its $ {user.username} from $ {dFees.dealer} you put in a request on line to take advantage of the current promotions, which unit were you looking for?`,
1507
+ category: "Follow-up",
1508
+ subject: "Request on line",
1509
+ },
1510
+ {
1511
+ userEmail: "skylerzanth@outlook.com",
1512
+ subCat: "When is a good time to call?",
1513
+ body: `Hey its $ {user.username} from $ {dFees.dealer} you requested that rep get in contact with you about the unit you were looking at online when is a good time for me to call you back, would later on today work or tomorrow?`,
1514
+ category: "Follow-up",
1515
+ subject: "When is a good time to call?",
1516
+ },
1517
+ {
1518
+ userEmail: "skylerzanth@outlook.com",
1519
+ subCat: "Taking the deal to the boss on your behalf",
1520
+ body: "Hello Frank, With the warm weather, many people are coming out of hibernation and making purchases. I want to ensure that my customers can enjoy the products they desire for this summer, especially since it's the first truly free COVID summer in years. While I can't make promises, I'd like to know what it would take to earn your business. Your satisfaction is my priority.",
1521
+ category: "Follow-up",
1522
+ subject: "Taking the deal to the boss on your behalf",
1523
+ },
1524
+ {
1525
+ userEmail: "skylerzanth@outlook.com",
1526
+ subCat: "Push the sale",
1527
+ body: "Hello! I wanted to check in and see how you're feeling about the sales process. Is there anything specific you'd like assistance with or any questions I can address to help move things forward? While I can't promise to fulfill every request, I'm here to do my best and ensure your experience is as smooth as possible. Feel free to share any concerns or requests, and I'll be more than happy to assist you.",
1528
+ category: "Follow-up",
1529
+ subject: "Push the sale",
1530
+ },
1531
+ {
1532
+ subCat: "No answer for a while - havent forgotten them",
1533
+ body: "Just reaching out to ensure you know that I'm here whenever you're ready to move forward with the purchase. I completely understand that life can sometimes get in the way of making decisions like this, and I want to emphasize that I haven't abandoned you as your salesperson. Whether it's in a week, a month, or even six months, I'm here to assist you. If I don't receive a response, I'll follow up with you at the beginning of the season to ensure you don't miss out on any opportunities. Your satisfaction is my priority, and I'm committed to providing the support you need when you're ready.",
1534
+ category: "Follow-up",
1535
+ userEmail: "skylerzanth@outlook.com",
1536
+ subject: "No answer for a while - havent forgotten them",
1537
+ },
1538
+ {
1539
+ userEmail: "skylerzanth@outlook.com",
1540
+ subCat: "Life can sometimes get in the way of these decisions",
1541
+ body: "Just a quick Follow-up to let you know that I'm here for you whenever you're ready to move forward with the purchase. Life can sometimes get in the way of these decisions, and I want you to know that I haven't forgotten about you as your salesperson. Whether it's in a week, a month, or even six months, I'm here to assist you. It's worth noting that our Spring check promotion is coming to a close this week, which includes a fantastic warranty promo. If that's of interest to you, now would be an ideal time to take advantage of it. Additionally, if you're looking for an in-stock unit, we currently have promotions offering up to $750 off, along with any other promotions offered by BRP at the time of purchase. Even if I don't hear back from you, I'll give you a call in October, right before the start of the next season, to see if you're ready to explore your options further. Your satisfaction is my priority, and I'm here to make the process as smooth as possible for you.",
1542
+ category: "Follow-up",
1543
+ subject: "Life can sometimes get in the way of these decisions",
1544
+ },
1545
+ {
1546
+ userEmail: "skylerzanth@outlook.com",
1547
+ subCat: "Life gets in the way",
1548
+ body: "Just a quick Follow-up to let you know that I'm here for you whenever you're ready to move forward with the purchase. Life can sometimes get in the way of these decisions, and I want you to know that I haven't forgotten about you as your salesperson. Whether it's in a week, a month, or even six months, I'm here to assist you. It's worth noting that we currently have promotional finance rates to help clients get on their dream bikes today. If that's of interest to you, now would be an ideal time to take advantage of it. Even if I don't hear back from you, I'll give you a call in March, right before the start of the next season, to see if you're ready to explore your options further. Your satisfaction is my priority, and I'm here to make the process as smooth as possible for you.",
1549
+ category: "Follow-up",
1550
+ subject: "Life gets in the way",
1551
+ },
1552
+ {
1553
+ userEmail: "skylerzanth@outlook.com",
1554
+ subCat: "Whats holding you back?",
1555
+ body: "Hello! I hope you're having a fantastic day. I wanted to check in and see if you have any additional questions or concerns about the Outlander. We've received significant interest in this model, and I want to ensure you don't miss the opportunity to own one at the price we discussed. If you're ready to proceed, please let me know, and I'll be delighted to assist you with the purchase process. If there's something holding you back, such as the price or if this isn't the right unit, please don't hesitate to share your thoughts. I'm here to help. Whether it's working with my manager to find a better price or exploring other unit options, I'm committed to finding a solution that aligns with your needs.",
1556
+ category: "Follow-up",
1557
+ subject: "Whats holding you back?",
1558
+ },
1559
+ {
1560
+ userEmail: "skylerzanth@outlook.com",
1561
+ subCat: "Instead of wasting your time, when do you feel you would be ready to buy?",
1562
+ body: "Instead of reaching out to you every few days and potentially taking up your valuable time, I'd like to work on your schedule. When do you think you'll be ready to move forward with the purchase? I'll make a note of it in my calendar and follow up with you at the time that's most convenient for you.",
1563
+ category: "Follow-up",
1564
+ subject: "Instead of wasting your time, when do you feel you would be ready to buy?",
1565
+ },
1566
+ {
1567
+ userEmail: "skylerzanth@outlook.com",
1568
+ subCat: "Create urgency with stock levels",
1569
+ body: "Just came out of a meeting where we discussed inventory and unit ordering, and it's clear that the power sports industry is still going strong post-pandemic, with no signs of slowing down. Unfortunately, this also means that inventory continues to be a challenge for us and other dealers. Despite promises from manufacturers, availability hasn't improved as expected. I completely respect your decision to wait, but I wanted to present an option that might work for you. If this is the unit you truly desire, you can secure it by placing a deposit along with a signed bill of sale and opting for storage. Ordering a new one might mean waiting until after June, or possibly even longer. The choice is entirely yours, and we're here to make it as convenient as possible for you.",
1570
+ category: "Follow-up",
1571
+ subject: "Create urgency with stock levels",
1572
+ },
1573
+ {
1574
+ userEmail: "skylerzanth@outlook.com",
1575
+ subCat: "If this is what you truly desire",
1576
+ body: "While I fully understand and respect your decision to wait, I'd like to offer an alternative solution. If this is the unit you truly desire, you can secure it by placing a deposit along with a signed bill of sale. We can also arrange for storage until you're ready to pick it up. This way, you won't have to worry about missing out on this season's enjoyment, as ordering a new one might not guarantee it arrives in time. The choice is entirely yours, and I'm here to make it as convenient as possible for you.",
1577
+ category: "Follow-up",
1578
+ subject: "If this is what you truly desire",
1579
+ },
1580
+ {
1581
+ userEmail: "skylerzanth@outlook.com",
1582
+ subCat: "Stock levels down",
1583
+ body: "If the season hasn't started yet, and no phone number was provided. Our stock levels are being depleted before the season has even started, and it's only going to get worse. Every day I get requests online and emails, so it's only a matter of time before we're sold out. With that said, we're trying not to sell outside our territory because we want to take care of the people within our territory and give them the service they deserve. If we sold outside of our territory, we would already be sold out. Give me a call when you have some time to claim it.",
1584
+ category: "Follow-up",
1585
+ subject: "Stock levels down",
1586
+ },
1587
+ {
1588
+ userEmail: "skylerzanth@outlook.com",
1589
+ subCat: "Simplifing the buying process",
1590
+ body: "Which day would be most convenient for you? My priority is to simplify the buying process for our customers. If you prefer, we can handle everything over the phone, making it as hassle-free as possible. I understand the frustration when the buying process becomes cumbersome, and I aim to provide a smoother experience because, like you, I'm also a consumer. I take pride in tailoring the buying process to individual preferences, whether it's someone's first purchase or their 100th. Your convenience matters most. If visiting the store is challenging due to a busy schedule, we can manage everything efficiently through email or phone until it's time for pickup. Your satisfaction is my commitment, and I'm here to ensure the process aligns with your needs.",
1591
+ category: "Follow-up",
1592
+ subject: "Simplifing the buying process",
1593
+ },
1594
+ {
1595
+ userEmail: "skylerzanth@outlook.com",
1596
+ subCat: "Asking when would they be ready",
1597
+ body: "Hey just wanted to follow up to our conversations, if your not ready to buy right now when do you want me to follow up with you? I want to respect your time, that way im not wasting your it and bugging you every couple of days.",
1598
+ category: "Follow-up",
1599
+ subject: "Asking when would they be ready",
1600
+ },
1601
+ {
1602
+ userEmail: "skylerzanth@outlook.com",
1603
+ subCat: "Respect decision to wait",
1604
+ body: "While I respect your decision to wait, if this is the unit you want. We can button up the deal now, and you can store it here for free till your ready to pick up. Because if we were to order one we wouldn't get till after June, maybe longer.",
1605
+ category: "Follow-up",
1606
+ subject: "Respect decision to wait",
1607
+ },
1608
+ {
1609
+ userEmail: "skylerzanth@outlook.com",
1610
+ subCat: "Create Urgency",
1611
+ body: "If the season is winding down or coming to a close, it's essential to act swiftly. Our stock levels are depleting rapidly, and it's likely to worsen. Every day, we receive numerous requests online and via email, and it's only a matter of time before we're completely sold out. We're committed to providing excellent service to the customers within our territory, and that's why we try not to sell outside of it. If we did, we'd already be sold out given the high demand. Considering the wide range of trim levels, colors, and more, our ability to order from BRP is limited. Therefore, it's crucial to act quickly if we have what you need right now. Whenever you have a moment, please give me a call to secure your purchase.",
1612
+ category: "Follow-up",
1613
+ subject: "Create Urgency",
1614
+ },
1615
+ {
1616
+ body: "I've noticed that you may have some concerns about the current deal we're discussing. What would it take to make it more appealing to you? While I can't guarantee that we can fulfill every request, I'm more than willing to take your conditions and present them to my manager. I've been collaborating with him for several years now, so I have a good understanding of how and when to negotiate to get favorable terms into deals, always within reasonable boundaries, of course. Your satisfaction is our priority, and I'm here to work with you to find a solution that suits your needs.",
1617
+ userEmail: "skylerzanth@outlook.com",
1618
+ category: "Follow-up",
1619
+ type: "text",
1620
+ subCat: "When do you want me to call you",
1621
+ dept: "sales",
1622
+ subject: "When do you want me to call you",
1623
+ },
1624
+ {
1625
+ body: "I hope you're having a great day! I wanted to check in and see if you had any further questions or concerns about the ${model}. We've had a lot of interest in this model and I want to make sure you don't miss out on the opportunity to own one at the price we discussed. If you're ready to move forward, please let me know and I'll be happy to assist you with the purchase process.",
1626
+ userEmail: "skylerzanth@outlook.com",
1627
+ category: "Follow-up",
1628
+ type: "text",
1629
+ subCat: "Wanted to check in and see if you had any further questions or concerns about the ${model}",
1630
+ dept: "sales",
1631
+ subject: "Wanted to check in and see if you had any further questions or concerns",
1632
+ },
1633
+ {
1634
+ body: "I noticed you haven't responded to my previous email, and I wanted to check in and see if you have any further questions about the ${model}. When you're ready to move forward with your purchase, we're offering a limited-time promotional rate for people that qualify. Let me know if you're interested and we can discuss next steps.",
1635
+ userEmail: "skylerzanth@outlook.com",
1636
+ category: "Follow-up",
1637
+ type: "text",
1638
+ subCat: "Noticed you haven't responded to my previous email",
1639
+ dept: "sales",
1640
+ subject: "Noticed you haven't responded to my previous email",
1641
+ },
1642
+ {
1643
+ body: "I understand that deciding on a motorcycle purchase is a significant decision. However, I'd like to emphasize that the ${model} is currently available at the agreed-upon price we discussed. To help you make an informed decision, I'm thrilled to offer you the opportunity for a test drive. This will allow you to personally experience the motorcycle's exceptional features and performance. Could we arrange a test drive for you this afternoon? Alternatively, if your schedule is more accommodating, tomorrow would also work perfectly. Your comfort and satisfaction are our top priorities, and I'm here to assist you in making the right choice for your needs.",
1644
+ userEmail: "skylerzanth@outlook.com",
1645
+ category: "Follow-up",
1646
+ type: "text",
1647
+ subCat: "Follow-up I understand that deciding on a motorcycle purchase is a significant decision. However,",
1648
+ dept: "sales",
1649
+ subject: "I understand that deciding on a motorcycle purchase is a significant decision",
1650
+ },
1651
+ {
1652
+ body: "I completely understand that making a decision like this can be a significant step. Many of our customers have been in the same position, and they've shared some incredible stories with us. Customers who purchased the ${model} have told us how it transformed their weekends and vacations. They found that it added a new dimension to their family time, creating memories that they'll cherish forever. One of our recent customers, John, initially had similar reservations. However, after taking the ${model} for a test drive, he couldn't resist its appeal. He mentioned how it rekindled his love for the open road and brought his family closer together. Another customer, Sarah, told us how she discovered hidden backcountry roads and beautiful spots she never knew existed before owning this motorcycle. It's stories like these that remind us how life-changing the ${model} can be. We'd love to help you create your own memorable experiences. If you're open to it, I can schedule a test drive for you. Would this afternoon or tomorrow work better for you?",
1653
+ userEmail: "skylerzanth@outlook.com",
1654
+ category: "Follow-up",
1655
+ type: "text",
1656
+ subCat: "Follow-up I completely understand that making a decision like this can be a significant step.",
1657
+ dept: "sales",
1658
+ subject: "this can be a significant step",
1659
+ },
1660
+ {
1661
+ body: "I understand that you might have some concerns, and I appreciate your diligence in making the right decision. Let me address a few common questions and concerns that customers often have: Price: Some customers worry about the cost. However, the ${model} is not just an expense; it's an investment in your lifestyle and enjoyment. Plus, the price we've discussed today is a fantastic offer. Maintenance: Maintenance can be a concern. Rest assured that H-D is known for its reliability, and we offer maintenance plans that will keep your motorcycle in top condition without any hassle. Safety: Safety is paramount. The ${model} is equipped with state-of-the-art safety features. Resale Value: Some wonder about the resale value. H-D tend to hold their value well over time, and we can provide you with insights on how to maintain that value. Time Commitment: You might be concerned about the time needed to enjoy your motorcycle. Remember, the ${model} is designed to enhance your free time, allowing you to create wonderful memories without extensive commitments. I'm here to address any specific concerns you may have. Your comfort and confidence in your decision are of utmost importance to us. Is there a particular concern you'd like to discuss or any additional information you need before moving forward?",
1662
+ userEmail: "skylerzanth@outlook.com",
1663
+ category: "Follow-up",
1664
+ type: "text",
1665
+ subCat: "Follow-up I understand that you might have some concerns,",
1666
+ dept: "sales",
1667
+ subject: "I understand that you might have some concerns",
1668
+ },
1669
+ {
1670
+ body: "Hey ${firstName}, it's ${userFname} from ${dealerName}. It was nice meeting you today. Do not hesitate if you have any questions. Have a great day!",
1671
+ userEmail: "skylerzanth@outlook.com",
1672
+ category: "Follow-up",
1673
+ type: "text",
1674
+ subCat: "After meeting 1",
1675
+ dept: "sales",
1676
+ subject: "After meeting 1",
1677
+ },
1678
+ {
1679
+ body: "Were there any questions or concerns you had that was stopping you from moving forward?",
1680
+ userEmail: "skylerzanth@outlook.com",
1681
+ category: "Follow-up",
1682
+ type: "text",
1683
+
1684
+ subCat: "Asking for objections 2",
1685
+ dept: "sales",
1686
+ subject: "Asking for objections 2",
1687
+ },
1688
+ {
1689
+ body: "Hey its ${userFname} from ${dealerName} you put in a request on line to take advantage of the current promotions, which unit were you looking for?",
1690
+ userEmail: "skylerzanth@outlook.com",
1691
+ category: "Follow-up",
1692
+ type: "text",
1693
+
1694
+ subCat: "You put in a request on line to take advantage",
1695
+ dept: "sales",
1696
+ subject: "you put in a request on line to take advantage",
1697
+ },
1698
+ {
1699
+ body: "Hey its ${userFname} from ${dealerName} you requested that rep get in contact with you about the unit you were looking at online when is a good time for me to call you back, would later on today work or tomorrow?",
1700
+ userEmail: "skylerzanth@outlook.com",
1701
+ category: "Follow-up",
1702
+ type: "text",
1703
+
1704
+ subCat: "You requested that rep get in contact with you about the unit 1",
1705
+ dept: "sales",
1706
+ subject: "you requested that rep get in contact with you about the unit 1",
1707
+ },
1708
+ {
1709
+ body: "As the holidays approach, I understand that many folks might be considering waiting until after Christmas to make a move on their new bike purchase. While I'm more than happy to assist you ${firstName} whenever you decide, I wanted to ensure you're aware of the incredible promotions currently available. Our used bikes are now priced at what we paid for them on trade, presenting an unbeatable opportunity for savvy buyers. For new bikes, we're offering promotional rates as low as 1.99%, coupled with generous discounts. These rates are so remarkable that I don't foresee them being this low until next winter. If you choose to wait until after Christmas, I'll be ready to assist you. However, given the exceptional nature of these deals, waiting might mean missing out on substantial savings. Feel free to reach out if you have any questions or if you'd like to discuss these promotions further. Looking forward to helping you make the best decision for your bike purchase! If I don't see or talk to you again before the Holidays, Merry Christmas ${firstName}.",
1710
+ userEmail: "skylerzanth@outlook.com",
1711
+ category: "Follow-up",
1712
+ type: "email",
1713
+
1714
+ subCat: "Discussing promos - winter themed",
1715
+ dept: "sales",
1716
+ subject: "Discussing promos - winter themed",
1717
+ },
1718
+ ];
1719
+ const automation = [
1720
+ {
1721
+ userEmail: "skylerzanth@outlook.com",
1722
+ subCat: "1 day after pick up 1",
1723
+ body: " I want to express my gratitude once more for choosing us, { Client - First name }. I hope you find great joy in your { Current Vehicle - Model } for the years ahead. If you ever have questions, encounter any issues, or anything else comes to mind, please don't hesitate to reach out. I'm here and more than willing to assist. Even if you believe it's something minor, I value your feedback to ensure your purchase was absolutely perfect.",
1724
+ category: "Automation",
1725
+ subject: "1 day after pick up 1",
1726
+ },
1727
+ {
1728
+ userEmail: "skylerzanth@outlook.com",
1729
+ subCat: "After first visit no phone # provided 2",
1730
+ body: "Hey {Client - First Name} It was great talking to you about the {Wanted vehicle - Model} you are interested in. If any questions or concerns come up let me know and I will be more than happy to address them. I'll follow up with you in a couple of days to give you time to consider any parts or accessories you would like to add. If you want to move forward before I follow up, text or call me and we can lock it in for you.",
1731
+ category: "Automation",
1732
+ subject: "After first visit no phone # provided 2",
1733
+ },
1734
+ {
1735
+ userEmail: "skylerzanth@outlook.com",
1736
+ subCat: "After first visit - set up time for a call 1",
1737
+ body: " Hey { Client - First name } It was great talking to you about the { Wanted Vehicle - Model }. If any questions come up let me know and I will be more than happy to address them.",
1738
+ category: "Automation",
1739
+ subject: "After first visit - set up time for a call 1",
1740
+ },
1741
+ {
1742
+ userEmail: "skylerzanth@outlook.com",
1743
+ subCat: "After hours invalid email 2",
1744
+ body: " Hey { Client - First name } its { User - First name } from dealer, were currently closed so I may not be able to answers all your questions till we open, but I'll try my best to help you now.",
1745
+ category: "Automation",
1746
+ subject: "After hours invalid email 2",
1747
+ },
1748
+ {
1749
+ userEmail: "skylerzanth@outlook.com",
1750
+ subCat: "First text message 1",
1751
+ body: "Hey { Client - First name } it's me from dealer, you requested that rep get in contact with you about the { Current Vehicle - Model } you were looking at online. When is a good time for me to call you back, would later on today work or tomorrow?",
1752
+ category: "Automation",
1753
+ subject: "First text message 1",
1754
+ },
1755
+ {
1756
+ userEmail: "skylerzanth@outlook.com",
1757
+ subCat: "Call/text combo",
1758
+ body: "Hey { Client - First name } it's me from dealer, I just called but your probably tied up. When is a good time for us to talk about the { Current Vehicle - Model }, would later this afternoon work, or is tomorrow better?",
1759
+ category: "Automation",
1760
+ subject: "Call/text combo",
1761
+ },
1762
+ {
1763
+ body: "I want to express my gratitude once more for choosing us, ${firstName}. I hope you find great joy in your ${model} for the years ahead. If you ever have questions, encounter any issues, or anything else comes to mind, please don't hesitate to reach out. I'm here and more than willing to assist. Even if you believe it's something minor, I value your feedback to ensure your purchase was absolutely perfect.",
1764
+ userEmail: "skylerzanth@outlook.com",
1765
+ category: "Automation",
1766
+ type: "text",
1767
+ subCat: "1 day after pick up 2",
1768
+ dept: "sales",
1769
+ subject: "1 day after pick up 2",
1770
+ },
1771
+ {
1772
+ body: "Hey ${firstName} It was great talking to you about the {Wanted vehicle - Model} you are interested in. If any questions or concerns come up let me know and I will be more than happy to address them. I'll follow up with you in a couple of days to give you time to consider any parts or accessories you would like to add. If you want to move forward before I follow up, text or call me and we can lock it in for you.",
1773
+ userEmail: "skylerzanth@outlook.com",
1774
+ category: "Automation",
1775
+ type: "text",
1776
+ subCat: "After first visit no phone # provided 1",
1777
+ dept: "sales",
1778
+ subject: "After first visit no phone # provided 1",
1779
+ },
1780
+ {
1781
+ body: "Hey ${firstName} It was great talking to you about the { Wanted Vehicle - Model }. If any questions come up let me know and I will be more than happy to address them.",
1782
+ userEmail: "skylerzanth@outlook.com",
1783
+ category: "Automation",
1784
+ type: "text",
1785
+ subCat: "After first visit - set up time for a call 2",
1786
+ dept: "sales",
1787
+ subject: "After first visit - set up time for a call 2",
1788
+ },
1789
+ {
1790
+ body: "Hey ${firstName} its ${userFname} from ${dealerName}, were currently closed so I may not be able to answers all your questions till we open, but I'll try my best to help you now.",
1791
+ userEmail: "skylerzanth@outlook.com",
1792
+ category: "Automation",
1793
+ type: "text",
1794
+
1795
+ subCat: "After hours invalid email 4",
1796
+ dept: "sales",
1797
+ subject: "After hours invalid email 4",
1798
+ },
1799
+ {
1800
+ body: "Hey ${firstName} it's me from ${dealerName}, you requested that rep get in contact with you about the ${model} you were looking at online. When is a good time for me to call you back, would later on today work or tomorrow?",
1801
+ userEmail: "skylerzanth@outlook.com",
1802
+ category: "Automation",
1803
+ type: "text",
1804
+
1805
+ subCat: "First text message 2",
1806
+ dept: "sales",
1807
+ subject: "First text message 2",
1808
+ },
1809
+ {
1810
+ body: "Were there any other questions or concerns that was keeping you back from moving forward? I want to make sure you have all the information you need before buying so you make an informed buying decision, I'm hear to help make the process easy for you.",
1811
+ userEmail: "skylerzanth@outlook.com",
1812
+ category: "Automation",
1813
+ type: "text",
1814
+ subCat: "Asking for objections 1",
1815
+ dept: "sales",
1816
+ subject: "Asking for objections 1",
1817
+ },
1818
+ ];
1819
+ const closes = [
1820
+ {
1821
+ userEmail: "skylerzanth@outlook.com",
1822
+ subCat: "Check in and see if you had any further questions or concerns",
1823
+ body: "I hope you're having a great day! I wanted to check in and see if you had any further questions or concerns about the Street Glide. We've had a lot of interest in this model and I want to make sure you don't miss out on the opportunity to own one at the price we discussed. If you're ready to move forward, please let me know and I'll be happy to assist you with the purchase process.",
1824
+ category: "Closes",
1825
+ subject: "Check in and see if you had any further questions or concerns",
1826
+ },
1827
+ {
1828
+ userEmail: "skylerzanth@outlook.com",
1829
+ subCat: "I noticed you haven't responded to my previous email",
1830
+ body: "I noticed you haven't responded to my previous email, and I wanted to check in and see if you have any further questions about the Street Glide. When you're ready to move forward with your purchase, we're offering a limited-time promotional rate for people that qualify. Let me know if you're interested and we can discuss next steps.",
1831
+ category: "Closes",
1832
+ subject: "I noticed you haven't responded to my previous email",
1833
+ },
1834
+ {
1835
+ userEmail: "skylerzanth@outlook.com",
1836
+ subCat: "I understand that purchasing a motorcycle can be a big decision",
1837
+ body: "I understand that purchasing a motorcycle can be a big decision, but I want to remind you that the Street Glide is currently available at the price we discussed. I would be happy to go over all te features it has again with you. Would this afternoon work for you or would tomorrow fit your schedule better?",
1838
+ category: "Closes",
1839
+ subject: "I understand that purchasing a motorcycle can be a big decision",
1840
+ },
1841
+ {
1842
+ userEmail: "skylerzanth@outlook.com",
1843
+ subCat: "if you don't like it when you see it, you'll receive a full deposit refund",
1844
+ body: "To ensure that you have the opportunity to view and secure the unit, I recommend placing a deposit to reserve it until it arrives. This way, you'll prevent anyone else from purchasing it before you've had a chance to see it. The best part is, if you don't like it when you see it, you'll receive a full deposit refund. On the other hand, if you fall in love with it, you won't miss the opportunity to make it yours.",
1845
+ category: "Closes",
1846
+ subject: "if you don't like it when you see it, you'll receive a full deposit refund",
1847
+ },
1848
+ {
1849
+ userEmail: "skylerzanth@outlook.com",
1850
+ subCat: "Test Drives",
1851
+ body: "I understand that deciding on a motorcycle purchase is a significant decision. However, I'd like to emphasize that the Street Glide is currently available at the agreed-upon price we discussed. To help you make an informed decision, I'm thrilled to offer you the opportunity for a test drive. This will allow you to personally experience the motorcycle's exceptional features and performance. Could we arrange a test drive for you this afternoon? Alternatively, if your schedule is more accommodating, tomorrow would also work perfectly. Your comfort and satisfaction are our top priorities, and I'm here to assist you in making the right choice for your needs.",
1852
+ category: "Closes",
1853
+ subject: "Test Drives",
1854
+ },
1855
+ {
1856
+ userEmail: "skylerzanth@outlook.com",
1857
+ subCat: "Investing in unforgettable memories",
1858
+ body: "I understand that choosing the perfect motorcycle is a significant decision, one that can truly enhance your life. Imagine the Street Glide as more than just a motorcycle; it's your ticket to unforgettable adventures and cherished moments with family and friends. Picture yourself cruising the curvy roads. With the Street Glide, you're not just buying a motorcycle; you're investing in unforgettable memories and quality time with loved ones. The price we discussed today is an incredible opportunity to bring these dreams to life. I'd love to arrange a test drive, so you can personally experience the excitement and freedom this motorcycle offers. Would this afternoon or tomorrow be a better time for you? Your happiness and the enrichment of your life are our utmost priorities, and I'm here to make that happen.",
1859
+ category: "Closes",
1860
+ subject: "Investing in unforgettable memories",
1861
+ },
1862
+ {
1863
+ userEmail: "skylerzanth@outlook.com",
1864
+ subCat: "It's stories like these that remind us",
1865
+ body: "I completely understand that making a decision like this can be a significant step. Many of our customers have been in the same position, and they've shared some incredible stories with us. Customers who purchased the Street Glide have told us how it transformed their weekends and vacations. They found that it added a new dimension to their family time, creating memories that they'll cherish forever. One of our recent customers, John, initially had similar reservations. However, after taking the Street Glide for a test drive, he couldn't resist its appeal. He mentioned how it rekindled his love for the open road and brought his family closer together. Another customer, Sarah, told us how she discovered hidden backcountry roads and beautiful spots she never knew existed before owning this motorcycle. It's stories like these that remind us how life-changing the Street Glide can be. We'd love to help you create your own memorable experiences. If you're open to it, I can schedule a test drive for you. Would this afternoon or tomorrow work better for you?",
1866
+ category: "Closes",
1867
+ subject: "It's stories like these that remind us",
1868
+ },
1869
+ {
1870
+ userEmail: "skylerzanth@outlook.com",
1871
+ subCat: "I appreciate your diligence in making the right decision",
1872
+ body: "I understand that you might have some concerns, and I appreciate your diligence in making the right decision. Let me address a few common questions and concerns that customers often have: Price: Some customers worry about the cost. However, the Street Glide is not just an expense; it's an investment in your lifestyle and enjoyment. Plus, the price we've discussed today is a fantastic offer. Maintenance: Maintenance can be a concern. Rest assured that H-D is known for its reliability, and we offer maintenance plans that will keep your motorcycle in top condition without any hassle. Safety: Safety is paramount. The Street Glide is equipped with state-of-the-art safety features. Resale Value: Some wonder about the resale value. H-D tend to hold their value well over time, and we can provide you with insights on how to maintain that value. Time Commitment: You might be concerned about the time needed to enjoy your motorcycle. Remember, the Street Glide is designed to enhance your free time, allowing you to create wonderful memories without extensive commitments. I'm here to address any specific concerns you may have. Your comfort and confidence in your decision are of utmost importance to us. Is there a particular concern you'd like to discuss or any additional information you need before moving forward?",
1873
+ category: "Closes",
1874
+ subject: "I appreciate your diligence in making the right decision",
1875
+ },
1876
+ {
1877
+ userEmail: "skylerzanth@outlook.com",
1878
+ subCat: "Alternative 3",
1879
+ body: "Present the customer with two options and ask them to choose. It's as simple as that.",
1880
+ category: "Closes",
1881
+ subject: "Alternative 3",
1882
+ },
1883
+ {
1884
+ userEmail: "skylerzanth@outlook.com",
1885
+ subCat: "We'll refund the deposit when you come to pick up your new bike",
1886
+ body: "To move forward with your purchase, we would need a $500 deposit and a picture of your driver's license. This will allow us to initiate the process for our finance manager to go over the application with you. We understand that making a financial commitment is an important step, and we want you to feel comfortable. If you're hesitant about putting money down for financing, please know that it's perfectly okay. In fact, we have a flexible approach, and we'll refund the deposit when you come to pick up your new bike. We genuinely want to make this process as smooth and convenient for you as possible. Could you please let us know which payment option you're most comfortable with?",
1887
+ category: "Closes",
1888
+ subject: "We'll refund the deposit when you come to pick up your new bike",
1889
+ },
1890
+ {
1891
+ userEmail: "skylerzanth@outlook.com",
1892
+ subCat: "Direct 3",
1893
+ body: "It seems like you might have some concerns about the deal we're working on, and I truly value your feedback. My goal is to ensure that you're completely satisfied with your purchase. I can't make guarantees, but I'm more than willing to take your conditions and present them to my manager. I've had a long-standing working relationship with him, and I know how and when to approach him to explore options that can meet your needs, within reasonable boundaries, of course. Your satisfaction is of the utmost importance to us, and we're committed to finding a solution that works for you. What would it take to make this deal align better with your expectations? Please share your conditions, and I'll do my best to advocate for you",
1894
+ category: "Closes",
1895
+ subject: "Direct 3",
1896
+ },
1897
+ {
1898
+ userEmail: "skylerzanth@outlook.com",
1899
+ subCat: "Direct 4",
1900
+ body: "To ensure you have the opportunity to see and buy it, I recommend placing a deposit to reserve the unit until it arrives. This way, you'll have peace of mind knowing that no one else can purchase it before you have a chance to make a decision. The best part is, if you happen to dislike it when you see it, you'll receive a full refund of your deposit. On the other hand, if you fall in love with it, you won't miss out on the chance to make it yours. It's a win-win scenario that allows you the time and flexibility to make an informed choice. Would you like to go ahead and place a deposit to secure the unit?",
1901
+ category: "Closes",
1902
+ subject: "Direct 4",
1903
+ },
1904
+ {
1905
+ userEmail: "skylerzanth@outlook.com",
1906
+ subCat: "Trial 2",
1907
+ body: "Ask the customer questions to gauge their level of interest.",
1908
+ category: "Closes",
1909
+ subject: "Trial 2",
1910
+ },
1911
+ {
1912
+ userEmail: "skylerzanth@outlook.com",
1913
+ subCat: "Summary 2",
1914
+ body: "Summarize the key benefits of the product and ask for the sale.",
1915
+ category: "Closes",
1916
+ subject: "Summary 2",
1917
+ },
1918
+ {
1919
+ userEmail: "skylerzanth@outlook.com",
1920
+ subCat: "Worried about finance figures?",
1921
+ body: "If your worried about the finance numbers we can sit you down with our finance manager and he can go over the deal with you and see what rate we can go for before you fully commit. That way you have all the information to make an informed decision.",
1922
+ category: "Closes",
1923
+ subject: "Worried about finance figures?",
1924
+ },
1925
+
1926
+ {
1927
+ userEmail: "skylerzanth@outlook.com",
1928
+ subCat: "You can pocket some great savings",
1929
+ body: "I noticed you haven't responded to my previous email, and I wanted to check in and see if you have any further questions about the Street Glide. When you're ready to move forward with your purchase, we're offering a limited-time promotional rate for people that qualify. Let's quickly apply to see where you sit, if you don't qualify no harm done but if you do, than you can pocket some great savings!",
1930
+ category: "Closes",
1931
+ subject: "You can pocket some great savings",
1932
+ },
1933
+ {
1934
+ userEmail: "skylerzanth@outlook.com",
1935
+ subCat: "Understand its a big decision",
1936
+ body: "I understand that purchasing a motorcycle can be a big decision, but I want to remind you that the Street Glide is currently available at the price we discussed. I would be happy to go over all te features it has again with you. Would this afternoon work for you or would tomorrow fit your schedule better?",
1937
+ category: "Closes",
1938
+ subject: "I understand that purchasing a motorcycle",
1939
+ },
1940
+ {
1941
+ userEmail: "skylerzanth@outlook.com",
1942
+ subCat: "I take pride in being the best salesperson",
1943
+ body: "I take pride in being the best salesperson I can be and assisting as many people in my community as possible. It's clear that you may have some reservations about the current deal. If you don't mind sharing, I'd love to know what we can adjust or improve to make it a more attractive offer for you. Your feedback is invaluable, and I'm here to work together on a solution that meets your needs and expectations.",
1944
+ category: "Closes",
1945
+ subject: "I take pride in being the best salesperson",
1946
+ },
1947
+ {
1948
+ userEmail: "skylerzanth@outlook.com",
1949
+ subCat: "Motorcycle purchase is a significant decision",
1950
+ body: "I understand that deciding on a motorcycle purchase is a significant decision. However, I'd like to emphasize that the Street Glide is currently available at the agreed-upon price we discussed. To help you make an informed decision, I'm thrilled to offer you the opportunity for a test drive. This will allow you to personally experience the motorcycle's exceptional features and performance. Could we arrange a test drive for you this afternoon? Alternatively, if your schedule is more accommodating, tomorrow would also work perfectly. Your comfort and satisfaction are our top priorities, and I'm here to assist you in making the right choice for your needs.",
1951
+ category: "Closes",
1952
+ subject: "Motorcycle purchase is a significant decision",
1953
+ },
1954
+ {
1955
+ userEmail: "skylerzanth@outlook.com",
1956
+ subCat: "Emotional 1",
1957
+ body: "I understand that choosing the perfect motorcycle is a significant decision, one that can truly enhance your life. Imagine the Street Glide as more than just a motorcycle; it's your ticket to unforgettable adventures and cherished moments with family and friends. Picture yourself cruising the curvy roads. With the Street Glide, you're not just buying a motorcycle; you're investing in unforgettable memories and quality time with loved ones. The price we discussed today is an incredible opportunity to bring these dreams to life. I'd love to arrange a test drive, so you can personally experience the excitement and freedom this motorcycle offers. Would this afternoon or tomorrow be a better time for you? Your happiness and the enrichment of your life are our utmost priorities, and I'm here to make that happen.",
1958
+ category: "Closes",
1959
+ subject: "Emotional 1",
1960
+ },
1961
+ {
1962
+ userEmail: "skylerzanth@outlook.com",
1963
+ subCat: "Felt",
1964
+ body: "I completely understand that making a decision like this can be a significant step. Many of our customers have been in the same position, and they've shared some incredible stories with us. Customers who purchased the Street Glide have told us how it transformed their weekends and vacations. They found that it added a new dimension to their family time, creating memories that they'll cherish forever. One of our recent customers, John, initially had similar reservations. However, after taking the Street Glide for a test drive, he couldn't resist its appeal. He mentioned how it rekindled his love for the open road and brought his family closer together. Another customer, Sarah, told us how she discovered hidden backcountry roads and beautiful spots she never knew existed before owning this motorcycle. It's stories like these that remind us how life-changing the Street Glide can be. We'd love to help you create your own memorable experiences. If you're open to it, I can schedule a test drive for you. Would this afternoon or tomorrow work better for you?",
1965
+ category: "Closes",
1966
+ subject: "Felt 1",
1967
+ },
1968
+ {
1969
+ userEmail: "skylerzanth@outlook.com",
1970
+ subCat: "Problem 1",
1971
+ body: "I understand that you might have some concerns, and I appreciate your diligence in making the right decision. Let me address a few common questions and concerns that customers often have: Price: Some customers worry about the cost. However, the Street Glide is not just an expense; it's an investment in your lifestyle and enjoyment. Plus, the price we've discussed today is a fantastic offer. Maintenance: Maintenance can be a concern. Rest assured that H-D is known for its reliability, and we offer maintenance plans that will keep your motorcycle in top condition without any hassle. Safety: Safety is paramount. The Street Glide is equipped with state-of-the-art safety features. Resale Value: Some wonder about the resale value. H-D tend to hold their value well over time, and we can provide you with insights on how to maintain that value. Time Commitment: You might be concerned about the time needed to enjoy your motorcycle. Remember, the Street Glide is designed to enhance your free time, allowing you to create wonderful memories without extensive commitments. I'm here to address any specific concerns you may have. Your comfort and confidence in your decision are of utmost importance to us. Is there a particular concern you'd like to discuss or any additional information you need before moving forward?",
1972
+ category: "Closes",
1973
+ subject: "Problem 1",
1974
+ },
1975
+ {
1976
+ userEmail: "skylerzanth@outlook.com",
1977
+ subCat: "Alternative 1",
1978
+ body: "Present the customer with two options and ask them to choose. It's as simple as that.",
1979
+ category: "Closes",
1980
+ subject: "Alternative 1",
1981
+ },
1982
+ {
1983
+ userEmail: "skylerzanth@outlook.com",
1984
+ subCat: "Offer to refund deposit on pickup",
1985
+ body: "To move forward with your purchase, we would need a $500 deposit and a picture of your driver's license. This will allow us to initiate the process for our finance manager to go over the application with you. We understand that making a financial commitment is an important step, and we want you to feel comfortable. If you're hesitant about putting money down for financing, please know that it's perfectly okay. In fact, we have a flexible approach, and we'll refund the deposit when you come to pick up your new bike. We genuinely want to make this process as smooth and convenient for you as possible. Could you please let us know which payment option you're most comfortable with?",
1986
+ category: "Closes",
1987
+ subject: "Offer to refund deposit on pickup",
1988
+ },
1989
+ {
1990
+ userEmail: "skylerzanth@outlook.com",
1991
+ subCat: "Concerns about the deal we're working on, and I truly value your feedback",
1992
+ body: "It seems like you might have some concerns about the deal we're working on, and I truly value your feedback. My goal is to ensure that you're completely satisfied with your purchase. I can't make guarantees, but I'm more than willing to take your conditions and present them to my manager. I've had a long-standing working relationship with him, and I know how and when to approach him to explore options that can meet your needs, within reasonable boundaries, of course. Your satisfaction is of the utmost importance to us, and we're committed to finding a solution that works for you. What would it take to make this deal align better with your expectations? Please share your conditions, and I'll do my best to advocate for you",
1993
+ category: "Closes",
1994
+ subject: "Concerns about the deal we're working on, and I truly value your feedback",
1995
+ },
1996
+ {
1997
+ userEmail: "skylerzanth@outlook.com",
1998
+ subCat: "Recommend placing a deposit to reserve the unit",
1999
+ body: "To ensure you have the opportunity to see and buy it, I recommend placing a deposit to reserve the unit until it arrives. This way, you'll have peace of mind knowing that no one else can purchase it before you have a chance to make a decision. The best part is, if you happen to dislike it when you see it, you'll receive a full refund of your deposit. On the other hand, if you fall in love with it, you won't miss out on the chance to make it yours. It's a win-win scenario that allows you the time and flexibility to make an informed choice. Would you like to go ahead and place a deposit to secure the unit?",
2000
+ category: "Closes",
2001
+ subject: "Recommend placing a deposit to reserve the unit",
2002
+ },
2003
+ {
2004
+ userEmail: "skylerzanth@outlook.com",
2005
+ subCat: "Trial 1",
2006
+ body: "Ask the customer questions to gauge their level of interest.",
2007
+ category: "Closes",
2008
+ subject: "Trial 1",
2009
+ },
2010
+ {
2011
+ userEmail: "skylerzanth@outlook.com",
2012
+ subCat: "Summary 1",
2013
+ body: "Summarize the key benefits of the product and ask for the sale.",
2014
+ category: "Closes",
2015
+ subject: "Summary 1",
2016
+ },
2017
+ {
2018
+ userEmail: "skylerzanth@outlook.com",
2019
+ subCat: "If your worried about the finance numbers",
2020
+ body: "If your worried about the finance numbers we can sit you down with our finance manager and he can go over the deal with you and see what rate we can go for before you fully commit. That way you have all the information to make an informed decision.",
2021
+ category: "Closes",
2022
+ subject: "If your worried about the finance numbers",
2023
+ },
2024
+ {
2025
+ email: "skylerzanth@outlook.com",
2026
+ subCat: "Asking for objections 5",
2027
+ body: "Were there any questions or concerns you had that was stopping you from moving forward?",
2028
+ category: "Texting",
2029
+ subject: "Asking for objections 5",
2030
+ },
2031
+ {
2032
+ userEmail: "skylerzanth@outlook.com",
2033
+ subCat: "Close 1",
2034
+ body: "I hope you're having a great day! I wanted to check in and see if you had any further questions or concerns about the Street Glide. We've had a lot of interest in this model and I want to make sure you don't miss out on the opportunity to own one at the price we discussed. If you're ready to move forward, please let me know and I'll be happy to assist you with the purchase process.",
2035
+ category: "Closes",
2036
+ subject: "Close 1",
2037
+ },
2038
+ {
2039
+ userEmail: "skylerzanth@outlook.com",
2040
+ subCat: "Don't like it when you see it? heres your refund",
2041
+ body: "To ensure you have the opportunity to see and buy it, I recommend placing a deposit to reserve the unit until it arrives. This way, you'll have peace of mind knowing that no one else can purchase it before you have a chance to make a decision. The best part is, if you happen to dislike it when you see it, you'll receive a full refund of your deposit. On the other hand, if you fall in love with it, you won't miss out on the chance to make it yours. It's a win-win scenario that allows you the time and flexibility to make an informed choice. Would you like to go ahead and place a deposit to secure the unit?",
2042
+ category: "Closes",
2043
+ subject: "Don't like it when you see it? heres your refund",
2044
+ },
2045
+ {
2046
+ userEmail: "skylerzanth@outlook.com",
2047
+ subCat: "Worried about the finance numbers",
2048
+ body: "If your worried about the finance numbers we can sit you down with our finance manager and he can go over the deal with you and see what rate we can go for before you fully commit. That way you have all the information to make an informed decision.",
2049
+ category: "Closes",
2050
+ subject: "Worried about the finance numbers",
2051
+ },
2052
+ {
2053
+ userEmail: "skylerzanth@outlook.com",
2054
+ subCat: "Nut up or shut up and just close him",
2055
+ body: "Were there any questions or concerns you had that was stopping you from moving forward?",
2056
+ category: "Closes",
2057
+ subject: "Stopping you from moving forward?",
2058
+ },
2059
+ {
2060
+ body: "I understand that purchasing a motorcycle can be a big decision, but I want to remind you that the ${model} is currently available at the price we discussed. I would be happy to go over all te features it has again with you. Would this afternoon work for you or would tomorrow fit your schedule better?",
2061
+ userEmail: "skylerzanth@outlook.com",
2062
+ category: "Closes",
2063
+ type: "text",
2064
+ subCat: "Purchasing a motorcycle can be a big decision",
2065
+ dept: "sales",
2066
+ subject: "Purchasing a motorcycle can be a big decision",
2067
+ },
2068
+ {
2069
+ body: "To ensure that you have the opportunity to view and secure the unit, I recommend placing a deposit to reserve it until it arrives. This way, you'll prevent anyone else from purchasing it before you've had a chance to see it. The best part is, if you don't like it when you see it, you'll receive a full deposit refund. On the other hand, if you fall in love with it, you won't miss the opportunity to make it yours.",
2070
+ userEmail: "skylerzanth@outlook.com",
2071
+ category: "Closes",
2072
+ type: "text",
2073
+ subCat: "To ensure that you have the opportunity to view and secure the unit",
2074
+ dept: "sales",
2075
+ subject: "To ensure that you have the opportunity to view and secure the unit",
2076
+ },
2077
+ {
2078
+ body: "I understand that choosing the perfect motorcycle is a significant decision, one that can truly enhance your life. Imagine the ${model} as more than just a motorcycle; it's your ticket to unforgettable adventures and cherished moments with family and friends. Picture yourself cruising the curvy roads. With the ${model}, you're not just buying a motorcycle; you're investing in unforgettable memories and quality time with loved ones. The price we discussed today is an incredible opportunity to bring these dreams to life. I'd love to arrange a test drive, so you can personally experience the excitement and freedom this motorcycle offers. Would this afternoon or tomorrow be a better time for you? Your happiness and the enrichment of your life are our utmost priorities, and I'm here to make that happen.",
2079
+ userEmail: "skylerzanth@outlook.com",
2080
+ category: "Closes",
2081
+ type: "text",
2082
+ subCat: "Follow-up I understand that choosing the perfect motorcycle is a significant decision, one that can truly enhance your life.",
2083
+ dept: "sales",
2084
+ subject: "I understand that choosing the perfect motorcycle is a significant decision",
2085
+ },
2086
+ {
2087
+ body: "To move forward with your purchase, we would need a $500 deposit and a picture of your driver's license. This will allow us to initiate the process for our finance manager to go over the application with you. We understand that making a financial commitment is an important step, and we want you to feel comfortable. If you're hesitant about putting money down for financing, please know that it's perfectly okay. In fact, we have a flexible approach, and we'll refund the deposit when you come to pick up your new bike. We genuinely want to make this process as smooth and convenient for you as possible. Could you please let us know which payment option you're most comfortable with?",
2088
+ userEmail: "skylerzanth@outlook.com",
2089
+ category: "Closes",
2090
+ type: "text",
2091
+ subCat: "To move forward with your purchase, we would need a $500 deposit and a picture of your driver's license.",
2092
+ dept: "sales",
2093
+ subject: "To move forward with your purchase, we would need a $500 deposit and a picture of your driver's license",
2094
+ },
2095
+ {
2096
+ body: "It seems like you might have some concerns about the deal we're working on, and I truly value your feedback. My goal is to ensure that you're completely satisfied with your purchase. I can't make guarantees, but I'm more than willing to take your conditions and present them to my manager. I've had a long-standing working relationship with him, and I know how and when to approach him to explore options that can meet your needs, within reasonable boundaries, of course. Your satisfaction is of the utmost importance to us, and we're committed to finding a solution that works for you. What would it take to make this deal align better with your expectations? Please share your conditions, and I'll do my best to advocate for you",
2097
+ userEmail: "skylerzanth@outlook.com",
2098
+ category: "Closes",
2099
+ type: "text",
2100
+
2101
+ subCat: "It seems like you might have some concerns about the deal we're working on,",
2102
+ dept: "sales",
2103
+ subject: "It seems like you might have some concerns about the deal we're working on",
2104
+ },
2105
+ {
2106
+ body: "To ensure you have the opportunity to see and buy it, I recommend placing a deposit to reserve the unit until it arrives. This way, you'll have peace of mind knowing that no one else can purchase it before you have a chance to make a decision. The best part is, if you happen to dislike it when you see it, you'll receive a full refund of your deposit. On the other hand, if you fall in love with it, you won't miss out on the chance to make it yours. It's a win-win scenario that allows you the time and flexibility to make an informed choice. Would you like to go ahead and place a deposit to secure the unit?",
2107
+ userEmail: "skylerzanth@outlook.com",
2108
+ category: "Closes",
2109
+ type: "text",
2110
+
2111
+ subCat: "To ensure you have the opportunity to see and buy it, I recommend placing a deposit",
2112
+ dept: "sales",
2113
+ subject: "To ensure you have the opportunity to see and buy it, I recommend placing a deposit",
2114
+ },
2115
+ {
2116
+ body: "If your worried about the finance numbers we can sit you down with our finance manager and he can go over the deal with you and see what rate we can go for before you fully commit. That way you have all the information to make an informed decision.",
2117
+ userEmail: "skylerzanth@outlook.com",
2118
+ category: "Closes",
2119
+ type: "text",
2120
+
2121
+ subCat: "If your worried about the finance numbers we can sit you down with our finance manager",
2122
+ dept: "sales",
2123
+ subject: "If your worried about the finance numbers we can sit you down with our finance manager",
2124
+ },
2125
+ ];
2126
+ const info = [
2127
+ {
2128
+ userEmail: "skylerzanth@outlook.com",
2129
+ subCat: "From the moment we select the right vehicle",
2130
+ body: "From the moment we select the right vehicle, and we have a mutal agreement, do you want your new vehicle by the end of the week or the begining of next month?",
2131
+ dept: "sales",
2132
+ category: "Information Gathering",
2133
+ subject: "From the moment we select the right vehicle",
2134
+ },
2135
+ {
2136
+ userEmail: "skylerzanth@outlook.com",
2137
+ subCat: "Concerning the purchase of the vehicle",
2138
+ body: "Concerning the purchase of the vehicle, are you making the final decision today? ",
2139
+ dept: "sales",
2140
+ category: "Information Gathering",
2141
+ subject: "Concerning the purchase of the vehicle",
2142
+ },
2143
+ {
2144
+ userEmail: "skylerzanth@outlook.com",
2145
+ subCat: "Did anyone explain to you the different programs",
2146
+ body: "Did anyone explain to you the different programs that are avialabe on the market today? First we are going to choose the right vehicle for you and then we will select the right program to fit your budget.",
2147
+ category: "Information Gathering",
2148
+ dept: "sales",
2149
+
2150
+ subject: "Did anyone explain to you the different programs",
2151
+ },
2152
+ {
2153
+ userEmail: "skylerzanth@outlook.com",
2154
+ subCat: "To be in a comfortable situation",
2155
+ body: "To be in a comfortable situation, would you invest 25 or 50 more per week on your vehicle? Again to be in a comfrotable situation, would you like to invest 500 or 1000 cash down on your bank loan?",
2156
+ category: "Information Gathering",
2157
+ dept: "sales",
2158
+
2159
+ subject: "To be in a comfortable situation",
2160
+ },
2161
+ {
2162
+ userEmail: "skylerzanth@outlook.com",
2163
+ subCat: "Has anything changed since you bought that vehicle last time?",
2164
+ body: "What vehicle do you drive now? How much cash did you want to invest? What were the advatages for you to purchase on your last purchase? Has anything changed since you bought that vehicle last time? More family members, different riding/driving circumstances, etc",
2165
+ category: "Information Gathering",
2166
+ subject: "Has anything changed since you bought that vehicle last time?",
2167
+ },
2168
+ {
2169
+ userEmail: "skylerzanth@outlook.com",
2170
+ subCat: "I may have a buyer for your vehicle",
2171
+ body: "I may have a buyer for your vehicle, are you loooking to sell it?",
2172
+ category: "Information Gathering",
2173
+ subject: "I may have a buyer for your vehicle",
2174
+ },
2175
+ {
2176
+ userEmail: "skylerzanth@outlook.com",
2177
+ subCat: "How many monthly payments",
2178
+ body: "How many monthly payments do you have left?",
2179
+ category: "Information Gathering",
2180
+ subject: "How many monthly payments",
2181
+ },
2182
+ {
2183
+ userEmail: "skylerzanth@outlook.com",
2184
+ subCat: "How much are you paying every month?",
2185
+ body: "At this time, how much are you paying every month? Did you finance or purchase out right?",
2186
+ category: "Information Gathering",
2187
+ subject: "How much are you paying every month?",
2188
+ },
2189
+ {
2190
+ userEmail: "skylerzanth@outlook.com",
2191
+ subCat: "Besides the equipemnt",
2192
+ body: "Besides the equipemnt, what else is important to you in your next vehicle? ",
2193
+ category: "Information Gathering",
2194
+ subject: "Besides the equipemnt",
2195
+ },
2196
+
2197
+ {
2198
+ userEmail: "skylerzanth@outlook.com",
2199
+ subCat: "What made you choose this?",
2200
+ body: "What made you choose this? What would be the advantages for you to drive this?",
2201
+ category: "Information Gathering",
2202
+ subject: "What made you choose this?",
2203
+ },
2204
+ {
2205
+ userEmail: "skylerzanth@outlook.com",
2206
+ subCat: "Mileage",
2207
+ body: "How many kms do you typically put on in a year?",
2208
+ category: "Information Gathering",
2209
+ subject: "Mileage",
2210
+ },
2211
+ {
2212
+ userEmail: "skylerzanth@outlook.com",
2213
+ subCat: "Used mostly in the city or on the highway?",
2214
+ body: "Is this bike going to be used mostly in the city or on the highway?",
2215
+ category: "Information Gathering",
2216
+ subject: "Used mostly in the city or on the highway?",
2217
+ },
2218
+ {
2219
+ userEmail: "skylerzanth@outlook.com",
2220
+ subCat: "Primary driver",
2221
+ body: "Now who will be the primary driver?",
2222
+ category: "Information Gathering",
2223
+ subject: "Primary driver",
2224
+ },
2225
+ {
2226
+ userEmail: "skylerzanth@outlook.com",
2227
+ subCat: "What basic features/equipment",
2228
+ body: "What basic features/equipment are important to you? Would this unit meet those requirements?",
2229
+ category: "Information Gathering",
2230
+ subject: "What basic features/equipment",
2231
+ },
2232
+ {
2233
+ userEmail: "skylerzanth@outlook.com",
2234
+ subCat: "What are we looking at today?",
2235
+ body: "What are we looking at today?",
2236
+ category: "Information Gathering",
2237
+ subject: "What are we looking at today?",
2238
+ },
2239
+ ];
2240
+ const first = [
2241
+ {
2242
+ userEmail: "skylerzanth@outlook.com",
2243
+ subCat: "Didnt pick a model",
2244
+ body: "You had put an inquiry online for one of our representatives to get in touch with you. Do you already have a specific idea of what you're looking for, or would you like some guidance in finding the right fit for you? We currently have a model on our sales floor, which is a great opportunity to experience firsthand the exceptional quality H-D has to offer. You're more than welcome to visit us in person for a closer look. Alternatively, we can have a phone conversation to discuss your preferences and options. When would be a convenient time for you to visit or have a phone call? Would later today work for you, or would tomorrow better suit your schedule?",
2245
+ category: "Web leads - First Contact",
2246
+ subject: "Didnt pick a model",
2247
+ },
2248
+ {
2249
+ userEmail: "skylerzanth@outlook.com",
2250
+ subCat: `Interested in? If not, that's ok we can pick one together for you, that you would enjoy for thousands of miles on the open road`,
2251
+ body: `Good morning Linda You had put in a online request for a H-D rep to get in contact with you about the full lineup. We have some phenomenal bikes to offer, was their a model in particular you were interested in? If not, that's ok we can pick one together for you, that you would enjoy for thousands of miles on the open road.`,
2252
+ dept: "sales",
2253
+
2254
+ category: "Web leads - First Contact",
2255
+ subject: `interested in? If not, that's ok we can pick one together for you, that you would enjoy for thousands of miles on the open road`,
2256
+ },
2257
+ ];
2258
+ const overcome = [
2259
+ {
2260
+ userEmail: "skylerzanth@outlook.com",
2261
+ subCat: "Client wants to compare with other brands.",
2262
+ body: "I want to compare with other brands before making a decision. I completely understand, it's important to make an informed decision when purchasing a motorcycle. I would recommend taking a look at our Street Glide, it offers advanced features and performance that are unmatched by other brands in its class. But if you still want to compare, I would be happy to provide you with information on other brands and models so you can make a comparison. I'll also be happy to answer any questions you might have about the features and benefits of the Street Glide. Let me know what you need and I'll be happy to help you.",
2263
+ category: "Overcome",
2264
+ },
2265
+ {
2266
+ userEmail: "skylerzanth@outlook.com",
2267
+ subCat: "Price",
2268
+ body: "Unfortunately whatever you get at the motorcycle show will probably be more money than a 22, if we have it in stock. Due to the rising costs of the pandemic there will be a new fee on sea-doo as they have introduced to every other line up so far. I don't know what that cost will be for the new fee but it will be called a commodity fee set by brp so the dealers will have to pay for it which means so will the customer. MSRP's will also be rising and our cost has gone up so the discounts will be smaller. I was talking to an old retired dealer owner who had brp, he was like I don't know how you guys do it, its smaller margins and costs just keep going up and the dealers cant seem to keep people. I'm not saying don't go because you never know when a dealer owner needs to pay his staff or his bills so he doesn't loose his location, but the days of cost units for sale are done. Here on out any consumer buying something at cost will be hurting that dealer horribly and it will be one step closer to shutting its doors. I wish this wasn't the case because I'm a consumer as well but ive been in 2 dealers my whole life and ive seen doors close over and over again, there's almost no more mom and pop shops in canada and they all closed in the last 5 years. It happened with cars, you have huge car groups behind the car dealers with almost no soul but own everything. Sales people come and go more than you clear the snow off youre driveway and you don't have that trusted sales person who you will beleive what they say because they have been doing it forever. I drive my brands and sell what I beleive in, you can't find that in a lot of dealers. When was the last time you bought a ford or ram truck and that sales person loved it so much he bought it with his own money. I knew more about the ram I never owned than the person that sold it to me, he had a ford.",
2269
+ category: "Overcome",
2270
+ subject: "Price",
2271
+ },
2272
+ {
2273
+ userEmail: "skylerzanth@outlook.com",
2274
+ subCat: "Whats the rate? ",
2275
+ body: "The finance person didn't give me an exact rate, when you sit down with the finance manager we check your credit and match you with an institution that will give you the best rate. Every institution has different thresholds on how they evaluate credit, investments and so on but because of our working relationships with the bank managers we know each bank is looking for in a customer and they evaluate each customer and assign rates.",
2276
+ category: "Overcome",
2277
+ subject: "Whats the rate?",
2278
+ },
2279
+ {
2280
+ userEmail: "skylerzanth@outlook.com",
2281
+ subCat: "Whats the rate right now?",
2282
+ body: "It's hard to answer that because everyones rate is going to be different. We deal with several institutions so when we get your information and run your credit we can match you with the best bank. As you know not all banks treat investments and current customer loans the same. Were not here to just sell you one thing were here to sell you multiple of units down the road when you want to upgrade so we will do our best to get the rate you deserve. ",
2283
+ category: "Overcome",
2284
+ subject: "Whats the rate right now?",
2285
+ },
2286
+ {
2287
+ userEmail: "skylerzanth@outlook.com",
2288
+ subCat: "Insurance Broker",
2289
+ body: "For insurance, whether it's bikes or any motorcycle, call David Bodnar. I've been with him now for 8 years and he's with the times. If anything changes I can just text him whatever the details are, like an ownership, and he will quote/write it up immediately. He handles all of his customers like this and his rates are the best too. I switched to him because my company dropped me due to my zx-10rr, ever since switching it hasn't cost me more than $950. I've switched everything to him because of his rates, every person that calls him.... switches seriously. Office 905-364-4007 cell 289-380-3824 david.bodnar@thebig.ca.",
2290
+ category: "Overcome",
2291
+ subject: "Insurance Broker",
2292
+ },
2293
+ {
2294
+ userEmail: "skylerzanth@outlook.com",
2295
+ subCat: "Comparing models 1",
2296
+ body: "I completely understand, it's important to make an informed decision when purchasing a motorcycle. I would recommend taking a look at our Street Glide, it offers advanced features and performance that are unmatched by other brands in its class. But if you still want to compare, I would be happy to provide you with information on other brands and models so you can make a comparison. I'll also be happy to answer any questions you might have about the features and benefits of the Street Glide. Let me know what you need and I'll be happy to help you.",
2297
+ category: "Overcome",
2298
+ subject: "Comparing models 1",
2299
+ },
2300
+ {
2301
+ userEmail: "skylerzanth@outlook.com",
2302
+ subCat: "Current Rates 1",
2303
+ body: "The finance person didn't give me an exact rate, when you sit down with the finance manager we check your credit and match you with an institution that will give you the best rate. Every institution has different thresholds on how they evaluate credit, investments and so on but because of our working relationships with the bank managers we know each bank is looking for in a customer and they evaluate each customer and assign rates.",
2304
+ category: "Overcome",
2305
+ subject: "Current Rates 1",
2306
+ },
2307
+ {
2308
+ userEmail: "skylerzanth@outlook.com",
2309
+ subCat: "Current Rates 0",
2310
+ body: "It's hard to answer that because everyones rate is going to be different. We deal with several institutions so when we get your information and run your credit we can match you with the best bank. As you know not all banks treat investments and current customer loans the same. Were not here to just sell you one thing were here to sell you multiple of units down the road when you want to upgrade so we will do our best to get the rate you deserve. ",
2311
+ category: "Overcome",
2312
+ subject: "Current Rates 0",
2313
+ },
2314
+ {
2315
+ userEmail: "skylerzanth@outlook.com",
2316
+ subCat: "let me see what I can do 2",
2317
+ body: "Hey just wanted to follow up to our conversations, if your not ready to buy right now when do you want me to follow up with you? I want to respect your time, that way im not wasting your it and bugging you every couple of days.",
2318
+ category: "Overcome",
2319
+ subject: "let me see what I can do for you 2",
2320
+ },
2321
+ {
2322
+ userEmail: "skylerzanth@outlook.com",
2323
+ subCat: "What can we do to make it happen",
2324
+ body: "I've noticed that you may have some concerns about the current deal we're discussing. What would it take to make it more appealing to you? While I can't guarantee that we can fulfill every request, I'm more than willing to take your conditions and present them to my manager. I've been collaborating with him for several years now, so I have a good understanding of how and when to negotiate to get favorable terms into deals, always within reasonable boundaries, of course. Your satisfaction is our priority, and I'm here to work with you to find a solution that suits your needs.",
2325
+ category: "Overcome",
2326
+ subject: "What can we do to make it happen",
2327
+ },
2328
+ {
2329
+ userEmail: "skylerzanth@outlook.com",
2330
+ subCat: "Push sale at discounted price",
2331
+ body: "I understand that deciding on a motorcycle purchase is a significant decision. However, I'd like to emphasize that the Street Glide is currently available at the agreed-upon price we discussed, but will be ending soon. To help you make an informed decision, I'm thrilled to offer you the opportunity for a test drive. This will allow you to personally experience the motorcycle's exceptional features and performance. Could we arrange a test drive for you this afternoon? Alternatively, if your schedule is more accommodating, tomorrow would also work perfectly. Your comfort and satisfaction are our top priorities, and I'm here to assist you in making the right choice for your needs.",
2332
+ category: "Overcome",
2333
+ subject: "Push sale at discounted price",
2334
+ },
2335
+ {
2336
+ userEmail: "skylerzanth@outlook.com",
2337
+ subCat: "Appreciate your diligence in making the right decision",
2338
+ body: "I understand that you might have some concerns, and I appreciate your diligence in making the right decision. Let me address a few common questions and concerns that customers often have: Price: Some customers worry about the cost. However, the Street Glide is not just an expense; it's an investment in your lifestyle and enjoyment. Plus, the price we've discussed today is a fantastic offer. Maintenance: Maintenance can be a concern. Rest assured that H-D is known for its reliability, and we offer maintenance plans that will keep your motorcycle in top condition without any hassle. Safety: Safety is paramount. The Street Glide is equipped with state-of-the-art safety features. Resale Value: Some wonder about the resale value. H-D tend to hold their value well over time, and we can provide you with insights on how to maintain that value. Time Commitment: You might be concerned about the time needed to enjoy your motorcycle. Remember, the Street Glide is designed to enhance your free time, allowing you to create wonderful memories without extensive commitments. I'm here to address any specific concerns you may have. Your comfort and confidence in your decision are of utmost importance to us. Is there a particular concern you'd like to discuss or any additional information you need before moving forward?",
2339
+ category: "Overcome",
2340
+ subject: "Appreciate your diligence in making the right decision",
2341
+ },
2342
+ {
2343
+ userEmail: "skylerzanth@outlook.com",
2344
+ subCat: "Let me take your offer to my boss",
2345
+ body: "It seems like you might have some concerns about the deal we're working on, and I truly value your feedback. My goal is to ensure that you're completely satisfied with your purchase. I can't make guarantees, but I'm more than willing to take your conditions and present them to my manager. I've had a long-standing working relationship with him, and I know how and when to approach him to explore options that can meet your needs, within reasonable boundaries, of course. Your satisfaction is of the utmost importance to us, and we're committed to finding a solution that works for you. What would it take to make this deal align better with your expectations? Please share your conditions, and I'll do my best to advocate for you",
2346
+ category: "Overcome",
2347
+ subject: "Let me take your offer to my boss",
2348
+ },
2349
+ {
2350
+ userEmail: "skylerzanth@outlook.com",
2351
+ subCat: "We wouldn't sell it for that amount, whatever we take it in on trade",
2352
+ dept: "sales",
2353
+ body: `We wouldn't sell it for that amount, whatever we take it in on trade, we ad 15%. That way there's really only aa 2% difference between what ur getting after the tax savings and what we sell it for. Any dealer that over prices their inventory, is putting a lot more risk on them selves. Almost all dealers rely on a line of credit in order to have bikes on their floor so any inventory that just sits, is eating away at their profit. The blue book takes the statistical data from the license bureau and bases the values off of what they sell privately and theres enough data to support the pricing. When their isn't, their is some math invloved where you can compare it to previous or ealier model years and get the value that way. Any dealer that sells or takes in on trade above the blue book is gambling at that point and they shouldnt be taking that risk. Like I have the perfect example, I have a road glide here in our used inventory, the last sales manager over paid for it by such a huge amount we almost can't even sell it and we will have to end up loosing thousands on it. Top clean for your bike is 7500 but as I said I can go above it up to $500 more but that would be the limit because any more than that and then the bike will be competing with bikes that are newer. I have to see your bike before I can confirm the increase, I trust what you say about your bike, I just have to confirm it. I'm always very transparent because in the end you will know what we will sell your bike for becuse you can just see it online when we post it anyways. The blue book says to sell your bike for 9100 so that what we would sell it for, unless we gave you the increase then we would sell it for 500 more.`,
2354
+ category: "Overcome",
2355
+ subject: `Complaints about trade in value.`,
2356
+ },
2357
+ {
2358
+ userEmail: "skylerzanth@outlook.com",
2359
+ subCat: "Asking for objections 4",
2360
+ body: "Were there any other questions or concerns that was keeping you from moving forward? I want to make sure you have all the information you need before buying so you make an informed buying decision, I'm hear to help make the process easy for you.",
2361
+ category: "Overcome",
2362
+ subject: "Asking for objections 4",
2363
+ },
2364
+ {
2365
+ userEmail: "skylerzanth@outlook.com",
2366
+ subCat: "Satisfied with the deal?",
2367
+ body: "It seems like you might not be completely satisfied with the deal we're working on. No worries! I can't promise to get everything you want, but I'd be more than happy to take your conditions, present them to the sales manager, and negotiate on your behalf. I'll even throw in an arm-wrestling match with him to squeeze the best possible deal for you! In all seriousness, your satisfaction is my top priority, and I'm here to work together on finding a solution that aligns better with your expectations.",
2368
+ category: "Overcome",
2369
+ subject: "It seems like you might not be completely satisfied with the deal...",
2370
+ },
2371
+ {
2372
+ userEmail: "skylerzanth@outlook.com",
2373
+ subCat: "Concerns? let me taking them to the boss lets get them resolved",
2374
+ body: "I've noticed that you may have some concerns about the current deal we're discussing. What would it take to make it more appealing to you? While I can't guarantee that we can fulfill every request, I'm more than willing to take your conditions and present them to my manager. I've been collaborating with him for several years now, so I have a good understanding of how and when to negotiate to get favorable terms into deals, always within reasonable boundaries, of course. Your satisfaction is our priority, and I'm here to work with you to find a solution that suits your needs.",
2375
+ category: "Overcome",
2376
+ subject: "Concerns? let me taking them to the boss lets get them resolved",
2377
+ },
2378
+ {
2379
+ userEmail: "skylerzanth@outlook.com",
2380
+ subCat: "Informed buying decision",
2381
+ body: "Hello! I hope you're having a fantastic day. I wanted to follow up with you regarding the 850. Is there anything that's been holding you back from moving forward with your purchase? I'm here to assist you in making an informed buying decision and answer any questions you may have. Please feel free to let me know your thoughts or any concerns, and I'll be more than happy to address them. If there's anything specific you'd like to discuss or if you're ready to take the next steps, please don't hesitate to reach out.",
2382
+ category: "Overcome",
2383
+ subject: "Informed buying decision",
2384
+ },
2385
+ {
2386
+ userEmail: "skylerzanth@outlook.com",
2387
+ subCat: "What's holding you back?",
2388
+ body: "Hello! I hope you're having a fantastic day. I wanted to follow up with you regarding the 850. Is there anything specific that's been holding you back from moving forward? I'm here to assist you in making an informed buying decision and to promptly address any questions or concerns you may have. Please don't hesitate to let me know, and I'll be more than happy to help.",
2389
+ category: "Overcome",
2390
+ subject: `What's holding you back?`,
2391
+ },
2392
+ {
2393
+ userEmail: "skylerzanth@outlook.com",
2394
+ subCat: "Were there any other questions or concerns",
2395
+ body: "I wanted to follow up on our last correspondence. Were there any other questions or concerns that were keeping you back from moving forward? I want to make sure you have all the information you need before making an informed buying decision. I'm here to make the process easy for you.",
2396
+ category: "Overcome",
2397
+ subject: "Were there any other questions or concerns8",
2398
+ },
2399
+ {
2400
+ userEmail: "skylerzanth@outlook.com",
2401
+ subCat: "Questions / Concerns",
2402
+ body: "Were there any other questions or concerns that was keeping you back from moving forward? I want to make sure you have all the information you need before buying because I'm hear to help make the process easy.",
2403
+ category: "Overcome",
2404
+ subject: "Questions / Concerns",
2405
+ },
2406
+ {
2407
+ body: "I completely understand, it's important to make an informed decision when purchasing a motorcycle. I would recommend taking a look at our ${model}, it offers advanced features and performance that are unmatched by other brands in its class. But if you still want to compare, I would be happy to provide you with information on other brands and models so you can make a comparison. I'll also be happy to answer any questions you might have about the features and benefits of the ${model}. Let me know what you need and I'll be happy to help you.",
2408
+ userEmail: "skylerzanth@outlook.com",
2409
+ category: "Overcome",
2410
+ type: "email",
2411
+ subCat: "Comparing models",
2412
+ dept: "sales",
2413
+ subject: "Comparing models",
2414
+ },
2415
+ {
2416
+ body: "The finance person didn't give me an exact rate, when you sit down with the finance manager we check your credit and match you with an institution that will give you the best rate. Every institution has different thresholds on how they evaluate credit, investments and so on but because of our working relationships with the bank managers we know each bank is looking for in a customer and they evaluate each customer and assign rates.",
2417
+ userEmail: "skylerzanth@outlook.com",
2418
+ category: "Overcome",
2419
+ type: "text",
2420
+ subCat: "Current Rates",
2421
+ dept: "sales",
2422
+ subject: "Current Rates",
2423
+ },
2424
+ {
2425
+ body: "It's hard to answer that because everyones rate is going to be different. We deal with several institutions so when we get your information and run your credit we can match you with the best bank. As you know not all banks treat investments and current customer loans the same. Were not here to just sell you one thing were here to sell you multiple of units down the road when you want to upgrade so we will do our best to get the rate you deserve. ",
2426
+ userEmail: "skylerzanth@outlook.com",
2427
+ category: "Overcome",
2428
+ type: "text",
2429
+ subCat: "Current Rates 2",
2430
+ dept: "sales",
2431
+ subject: "Current Rates 2",
2432
+ },
2433
+ {
2434
+ body: "Hey just wanted to follow up to our conversations, if your not ready to buy right now when do you want me to follow up with you? I want to respect your time, that way im not wasting your it and bugging you every couple of days.",
2435
+ userEmail: "skylerzanth@outlook.com",
2436
+ category: "Overcome",
2437
+ type: "text",
2438
+ subCat: "let me see what I can do 1",
2439
+ dept: "sales",
2440
+ subject: "let me see what I can do 1",
2441
+ },
2442
+ {
2443
+ body: "I've noticed that you may have some concerns about the current deal we're discussing. What would it take to make it more appealing to you? While I can't guarantee that we can fulfill every request, I'm more than willing to take your conditions and present them to my manager. I've been collaborating with him for several years now, so I have a good understanding of how and when to negotiate to get favorable terms into deals, always within reasonable boundaries, of course. Your satisfaction is our priority, and I'm here to work with you to find a solution that suits your needs.",
2444
+ userEmail: "skylerzanth@outlook.com",
2445
+ category: "Overcome",
2446
+ type: "text",
2447
+ subCat: "What would it take to make it more appealing to you",
2448
+ dept: "sales",
2449
+ subject: "What would it take to make it more appealing to you",
2450
+ },
2451
+ ];
2452
+
2453
+ export default function ScriptsEditorClient() {
2454
+ return (
2455
+ <div className="max-h-[100vh] max-w-[100vw] flex flex-col justify-center h-full w-full">
2456
+ <ClientOnly>{() => <ScriptsEditor />}</ClientOnly>
2457
+ </div>
2458
+ );
2459
+ }
2460
+ export const templates = [...text, ...followUp, ...automation, ...closes, ...info, ...first, ...overcome];
2461
+
2462
+ export function ScriptsEditor() {
2463
+ // const { user, templates } = useLoaderData();
2464
+
2465
+ const customDarkTheme = {
2466
+ base: "vs-dark",
2467
+ inherit: true,
2468
+ rules: [],
2469
+ colors: {
2470
+ "editor.background": "#020817", // slate-800 background
2471
+ },
2472
+ };
2473
+
2474
+ const mergedArray = [
2475
+ ...tips,
2476
+ {
2477
+ userEmail: "skylerzanth@outlook.com",
2478
+ category: "Tips and Tricks",
2479
+ subCat: "Getting nerdy, with your day to day",
2480
+ body: null,
2481
+ },
2482
+ ...templates,
2483
+ ];
2484
+ const [isClient, setIsClient] = useState(false);
2485
+ const [content, setContent] = useState("Script...");
2486
+ const [language, setLanguage] = useState("markdown");
2487
+ const [theme, setTheme] = useState("customDark");
2488
+ const [isPreview, setIsPreview] = useState(false);
2489
+ const [isSplitView, setIsSplitView] = useState(false);
2490
+ const [isSaving, setIsSaving] = useState(false);
2491
+ const [lastSaved, setLastSaved] = useState(null);
2492
+ const [isDirty, setIsDirty] = useState(false);
2493
+ const [isFullscreen, setIsFullscreen] = useState(false);
2494
+
2495
+ useEffect(() => {
2496
+ console.log(content, "content");
2497
+ }, [content]);
2498
+
2499
+ // Mobile-specific states
2500
+ const [isMobile, setIsMobile] = useState(false);
2501
+ const [showSidebar, setShowSidebar] = useState(false);
2502
+ const [mobileView, setMobileView] = useState("editor"); // 'editor', 'preview', 'sidebar'
2503
+
2504
+ useEffect(() => {
2505
+ const savedMonaco = localStorage.getItem("monaco");
2506
+ if (savedMonaco) {
2507
+ setContent(savedMonaco);
2508
+ }
2509
+ }, []);
2510
+
2511
+ useEffect(() => {
2512
+ const timeoutId = setTimeout(() => {
2513
+ try {
2514
+ localStorage.setItem("monaco", content);
2515
+ } catch (error) {
2516
+ console.warn("Failed to save to localStorage:", error);
2517
+ }
2518
+ }, 500);
2519
+
2520
+ return () => clearTimeout(timeoutId);
2521
+ }, [content]);
2522
+ // Script management states
2523
+ const [selectedScript, setSelectedScript] = useState(false);
2524
+ const [id, setId] = useState("");
2525
+ const [category, setCategory] = useState("");
2526
+ const [subCat, setSubCat] = useState("");
2527
+
2528
+ const editorRef = useRef(null);
2529
+ const saveTimeoutRef = useRef(null);
2530
+ const fetcher = useFetcher();
2531
+
2532
+ const languages = [
2533
+ { value: "markdown", label: "Markdown" },
2534
+ { value: "javascript", label: "JavaScript" },
2535
+ { value: "typescript", label: "TypeScript" },
2536
+ { value: "html", label: "HTML" },
2537
+ { value: "css", label: "CSS" },
2538
+ { value: "json", label: "JSON" },
2539
+ { value: "python", label: "Python" },
2540
+ { value: "sql", label: "SQL" },
2541
+ ];
2542
+
2543
+ useEffect(() => {
2544
+ setIsClient(true);
2545
+
2546
+ // Check if mobile
2547
+ const checkMobile = () => {
2548
+ setIsMobile(window.innerWidth < 768);
2549
+ };
2550
+
2551
+ checkMobile();
2552
+ window.addEventListener("resize", checkMobile);
2553
+
2554
+ return () => window.removeEventListener("resize", checkMobile);
2555
+ }, []);
2556
+
2557
+ // Auto-save function
2558
+ const autoSave = (contentToSave) => {
2559
+ setIsSaving(true);
2560
+ setTimeout(() => {
2561
+ setIsSaving(false);
2562
+ setLastSaved(new Date());
2563
+ setIsDirty(false);
2564
+ }, 500);
2565
+ };
2566
+
2567
+ const handleEditorChange = (value) => {
2568
+ setContent(value || "");
2569
+ setIsDirty(true);
2570
+
2571
+ clearTimeout(saveTimeoutRef.current);
2572
+ saveTimeoutRef.current = setTimeout(() => {
2573
+ autoSave(value || "");
2574
+ }, 2000);
2575
+ };
2576
+
2577
+ const handleManualSave = () => {
2578
+ clearTimeout(saveTimeoutRef.current);
2579
+ autoSave(content);
2580
+ };
2581
+
2582
+ const toggleFullscreen = () => {
2583
+ if (!document.fullscreenElement) {
2584
+ document.documentElement.requestFullscreen();
2585
+ setIsFullscreen(true);
2586
+ } else {
2587
+ document.exitFullscreen();
2588
+ setIsFullscreen(false);
2589
+ }
2590
+ };
2591
+
2592
+ const resetSelection = () => {
2593
+ setSelectedScript(false);
2594
+ setId("");
2595
+ setCategory("");
2596
+ setSubCat("");
2597
+ setContent("Script...");
2598
+ if (isMobile) {
2599
+ setMobileView("editor");
2600
+ setShowSidebar(false);
2601
+ }
2602
+ };
2603
+
2604
+ const handleEditorDidMount = (editor, monaco) => {
2605
+ editorRef.current = editor;
2606
+ monaco.editor.defineTheme("customDark", customDarkTheme);
2607
+ monaco.editor.setTheme("customDark");
2608
+ editor.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyS, () => {
2609
+ handleManualSave();
2610
+ });
2611
+
2612
+ editor.addCommand(monaco.KeyMod.CtrlCmd | monaco.KeyCode.KeyP, () => {
2613
+ setIsPreview(!isPreview);
2614
+ });
2615
+
2616
+ editor.focus();
2617
+ };
2618
+
2619
+
2620
+
2621
+ const EditorLoading = () => <LoadingPage text="Loading editor..." />;
2622
+
2623
+ const renderEditor = () => {
2624
+ if (!isClient) {
2625
+ return <EditorLoading />;
2626
+ }
2627
+
2628
+ return (
2629
+ <Editor
2630
+ height="100%"
2631
+ language={language}
2632
+ value={content}
2633
+ theme={theme}
2634
+ onChange={handleEditorChange}
2635
+ onMount={handleEditorDidMount}
2636
+ options={{
2637
+ minimap: { enabled: false },
2638
+ fontSize: isMobile ? 12 : 14,
2639
+ lineNumbers: "off",
2640
+ wordWrap: "on",
2641
+ automaticLayout: true,
2642
+ scrollBeyondLastLine: false,
2643
+ folding: !isMobile,
2644
+ bracketMatching: "always",
2645
+ renderWhitespace: "selection",
2646
+ multiCursorModifier: "alt",
2647
+ formatOnPaste: true,
2648
+ formatOnType: true,
2649
+ suggest: {
2650
+ showKeywords: true,
2651
+ showSnippets: true,
2652
+ },
2653
+ // Mobile-specific options
2654
+ accessibilitySupport: isMobile ? "on" : "auto",
2655
+ quickSuggestions: !isMobile,
2656
+ parameterHints: { enabled: !isMobile },
2657
+ hover: { enabled: !isMobile },
2658
+ }}
2659
+ />
2660
+ );
2661
+ };
2662
+
2663
+ const MobileButtonBar = () => {
2664
+ return (
2665
+ <div className="flex items-center justify-between p-2 bg-muted/50 border-b border-border">
2666
+ <div className="flex items-center space-x-1">
2667
+ <Button variant={mobileView === "editor" ? "default" : "ghost"} size="sm" onClick={() => setMobileView("editor")} className="text-xs px-2">
2668
+ <CodeLucide className="h-3 w-3 mr-1" />
2669
+ Code
2670
+ </Button>
2671
+ <Button variant={mobileView === "preview" ? "default" : "ghost"} size="sm" onClick={() => setMobileView("preview")} className="text-xs px-2">
2672
+ <Monitor className="h-3 w-3 mr-1" />
2673
+ Preview
2674
+ </Button>
2675
+ <Button
2676
+ variant={showSidebar ? "default" : "ghost"}
2677
+ size="sm"
2678
+ onClick={() => {
2679
+ setShowSidebar(!showSidebar);
2680
+ setMobileView("sidebar");
2681
+ }}
2682
+ className="text-xs px-2"
2683
+ >
2684
+ <FileText className="h-3 w-3 mr-1" />
2685
+ Scripts
2686
+ </Button>
2687
+ </div>
2688
+
2689
+ <div className="flex items-center space-x-1">
2690
+ <CopyText code={content} />
2691
+ <Button variant="ghost" size="sm" onClick={resetSelection} disabled={!selectedScript}>
2692
+ <X className="h-3 w-3 text-red-500" />
2693
+ </Button>
2694
+ </div>
2695
+ </div>
2696
+ );
2697
+ };
2698
+
2699
+ const DesktopButtonBar = () => {
2700
+ return (
2701
+ <div className="flex items-center space-x-2">
2702
+ <Button variant="outline" size="sm" onClick={() => setIsPreview(!isPreview)}>
2703
+ {isPreview ? <CodeLucide className="h-4 w-4 mr-1" /> : <Monitor className="h-4 w-4 mr-1" />}
2704
+ {isPreview ? "Code" : "Preview"}
2705
+ </Button>
2706
+
2707
+ <ExportFile code={content} filename={`script.${language === "javascript" ? "js" : language === "typescript" ? "ts" : "txt"}`} />
2708
+
2709
+ <CopyText code={content} />
2710
+
2711
+ <Button variant="ghost" size="icon" onClick={toggleFullscreen} className="cursor-pointer">
2712
+ <Maximize2 className="h-4 w-4" />
2713
+ </Button>
2714
+
2715
+ <Button variant="ghost" size="icon" onClick={resetSelection} disabled={!selectedScript} className="text-muted-foreground hover:text-foreground">
2716
+ <X className="h-4 w-4 text-red-500" />
2717
+ </Button>
2718
+ </div>
2719
+ );
2720
+ };
2721
+ const [search, setSearch] = useState("");
2722
+ const [pages, setPages] = useState([]);
2723
+
2724
+ const page = pages[pages.length - 1];
2725
+
2726
+ // Group scripts by category
2727
+ const groupedByCategory = mergedArray.reduce((acc, script) => {
2728
+ if (!acc[script.category]) {
2729
+ acc[script.category] = [];
2730
+ }
2731
+ acc[script.category].push(script);
2732
+ return acc;
2733
+ }, {});
2734
+
2735
+ const categories = Object.keys(groupedByCategory);
2736
+
2737
+ // Filter functions
2738
+ const filteredCategories = categories.filter((category) => category.toLowerCase().includes(search.toLowerCase()));
2739
+
2740
+ const filteredSubCats = page && groupedByCategory[page] ? groupedByCategory[page].filter((script) => script.subCat.toLowerCase().includes(search.toLowerCase())) : [];
2741
+
2742
+ const Sidebar = () => (
2743
+ <div className={`${isMobile ? "fixed inset-0 z-50 bg-background" : "w-1/4 max-w-[400px] min-w-[400px]"} bg-muted/50 p-4 overflow-y-auto`}>
2744
+ {isMobile && (
2745
+ <div className="flex justify-between items-center mb-4">
2746
+ <h2 className="text-lg font-semibold">Scripts</h2>
2747
+ <Button
2748
+ variant="ghost"
2749
+ size="sm"
2750
+ onClick={() => {
2751
+ setShowSidebar(false);
2752
+ setMobileView("editor");
2753
+ }}
2754
+ >
2755
+ <X className="h-4 w-4" />
2756
+ </Button>
2757
+ </div>
2758
+ )}
2759
+
2760
+ {!selectedScript && (
2761
+ <Command
2762
+ className="rounded-lg border shadow-md h-auto"
2763
+ onKeyDown={(e) => {
2764
+ if (e.key === "Escape" || (e.key === "Backspace" && !search)) {
2765
+ e.preventDefault();
2766
+ setPages((pages) => pages.slice(0, -1));
2767
+ setSelectedScript(null);
2768
+ }
2769
+ }}
2770
+ >
2771
+ <CommandInput value={search} onValueChange={setSearch} placeholder="Search scripts..." />
2772
+ <CommandList>
2773
+ {!page && (
2774
+ <CommandGroup heading="Categories">
2775
+ {filteredCategories.length === 0 ? (
2776
+ <CommandEmpty>No categories found.</CommandEmpty>
2777
+ ) : (
2778
+ filteredCategories.map((category) => (
2779
+ <CommandItem key={category} onSelect={() => setPages([...pages, category])} className="flex items-center justify-between cursor-pointer">
2780
+ <span>{category}</span>
2781
+ <div className="flex items-center text-xs text-muted-foreground">
2782
+ <span>{groupedByCategory[category].length}</span>
2783
+ <ChevronRight className="h-3 w-3 ml-1" />
2784
+ </div>
2785
+ </CommandItem>
2786
+ ))
2787
+ )}
2788
+ <CommandItem
2789
+ className="cursor-pointer"
2790
+ onSelect={() => {
2791
+ setContent("# New Script\n\nStart typing your script here...");
2792
+ setSubCat("New Script");
2793
+ setCategory("");
2794
+ setId("");
2795
+ setSelectedScript(true);
2796
+ if (isMobile) {
2797
+ setShowSidebar(false);
2798
+ setMobileView("editor");
2799
+ }
2800
+ }}
2801
+ >
2802
+ <span className="text-sm">Create New Script</span>
2803
+ </CommandItem>
2804
+ </CommandGroup>
2805
+ )}
2806
+
2807
+ {page && groupedByCategory[page] && (
2808
+ <CommandGroup heading={`${page} Scripts`}>
2809
+ <CommandItem
2810
+ onSelect={() => {
2811
+ setPages((pages) => pages.slice(0, -1));
2812
+ setSelectedScript(null);
2813
+ }}
2814
+ className="flex items-center text-muted-foreground cursor-pointer"
2815
+ >
2816
+ <Home className="h-3 w-3 mr-2" />
2817
+ Back to Categories
2818
+ </CommandItem>
2819
+
2820
+ {filteredSubCats.length === 0 ? (
2821
+ <CommandEmpty>No scripts found in this category.</CommandEmpty>
2822
+ ) : (
2823
+ filteredSubCats.map((script) => (
2824
+ <CommandItem
2825
+ className="cursor-pointer"
2826
+ key={script.id}
2827
+ onSelect={() => {
2828
+ // setSelectedScript(script)
2829
+ setContent(script.body);
2830
+ setSubCat(script.subCat);
2831
+ setCategory(script.category);
2832
+ setId(script.id);
2833
+ setSelectedScript(true);
2834
+ if (isMobile) {
2835
+ setShowSidebar(false);
2836
+ setMobileView("editor");
2837
+ }
2838
+ }}
2839
+ className="flex items-center justify-between"
2840
+ >
2841
+ <span className="truncate">{script.subCat}</span>
2842
+ <Eye className="h-3 w-3 text-muted-foreground" />
2843
+ </CommandItem>
2844
+ ))
2845
+ )}
2846
+ </CommandGroup>
2847
+ )}
2848
+ </CommandList>
2849
+ </Command>
2850
+ )}
2851
+
2852
+ {selectedScript && (
2853
+ <div className="flex flex-col gap-3 mt-4 pt-4">
2854
+ <h3 className="font-semibold text-foreground">Script Details</h3>
2855
+ <div className="grid w-full items-center gap-1.5">
2856
+ <Label>Category</Label>
2857
+ <Input value={category} onChange={(e) => setCategory(e.target.value)} placeholder="Enter category" />
2858
+ </div>
2859
+ <div className="grid w-full items-center gap-1.5">
2860
+ <Label>Sub-Category</Label>
2861
+ <Input value={subCat} onChange={(e) => setSubCat(e.target.value)} placeholder="Enter sub-category" />
2862
+ </div>
2863
+ {id ? (
2864
+ <Button
2865
+ variant='styled'
2866
+ onClick={() => {
2867
+ const formData = new FormData();
2868
+ formData.append("id", id);
2869
+ formData.append("category", category);
2870
+ formData.append("subCat", subCat);
2871
+ formData.append("body", content);
2872
+ formData.append("intent", "updateScript");
2873
+ fetcher.submit(formData, { method: "post" });
2874
+ resetSelection();
2875
+ }}
2876
+ >
2877
+ Update Script
2878
+ </Button>
2879
+ ) : (
2880
+ <Button
2881
+ variant='styled'
2882
+ onClick={() => {
2883
+ const formData = new FormData();
2884
+ formData.append("category", category);
2885
+ formData.append("subCat", subCat);
2886
+ formData.append("body", content);
2887
+ formData.append("intent", "createScript");
2888
+ fetcher.submit(formData, { method: "post" });
2889
+ resetSelection();
2890
+ }}
2891
+ >
2892
+ Create Script
2893
+ </Button>
2894
+ )}
2895
+ </div>
2896
+ )}
2897
+ </div>
2898
+ );
2899
+
2900
+ // Mobile layout
2901
+ if (isMobile) {
2902
+ return (
2903
+ <div className="flex flex-col h-screen bg-background">
2904
+ <MobileButtonBar />
2905
+
2906
+ {/* Mobile Content */}
2907
+ <div className="flex-1 relative overflow-hidden">
2908
+ {mobileView === "editor" && <div className="h-full bg-background">{renderEditor()}</div>}
2909
+
2910
+ {mobileView === "preview" && (
2911
+ <div className="h-full overflow-auto bg-background p-4">
2912
+ <div className="prose prose-sm max-w-none">{renderPreview(content)}</div>
2913
+ </div>
2914
+ )}
2915
+
2916
+ {(mobileView === "sidebar" || showSidebar) && <Sidebar />}
2917
+ </div>
2918
+
2919
+ {/* Mobile Status Bar */}
2920
+ <div className="bg-muted/30 border-t border-border px-3 py-2 text-xs">
2921
+ <div className="flex justify-between items-center">
2922
+ <span>
2923
+ {content.split("\n").length}L • {content.length}C{isDirty && <span className="text-red-500 ml-2">●</span>}
2924
+ </span>
2925
+ {isSaving && <span className="text-primary">Saving...</span>}
2926
+ </div>
2927
+ </div>
2928
+ </div>
2929
+ );
2930
+ }
2931
+
2932
+ // Desktop layout (existing)
2933
+ return (
2934
+ <div className="flex h-[95vh] bg-background">
2935
+ <div className="border-2 border-border rounded-lg shadow-lg overflow-hidden flex w-full">
2936
+ {/* Main Editor Container */}
2937
+ <div className="flex-1 flex flex-col h-full overflow-hidden w-full">
2938
+ {/* Header */}
2939
+ <div className="bg-background/50 border-b-2 border-border px-4 py-2 flex items-center justify-between">
2940
+ <div className="flex items-center space-x-4">
2941
+ <FileText className="h-6 w-6 text-muted-foreground" />
2942
+ <span className="font-medium text-foreground">Catalyst Editor</span>
2943
+ {isDirty && <span className="text-sm text-destructive">● Unsaved changes</span>}
2944
+ {isSaving && <span className="text-sm text-primary/80">Saving...</span>}
2945
+ {lastSaved && !isDirty && <span className="text-sm text-primary/80">Saved {lastSaved.toLocaleTimeString()}</span>}
2946
+ </div>
2947
+ <DesktopButtonBar />
2948
+ </div>
2949
+
2950
+ {/* Main Content Area */}
2951
+ <div className="flex-1 flex">
2952
+ {isSplitView ? (
2953
+ <>
2954
+ <div className="flex-1 border-r border-border">{renderEditor()}</div>
2955
+ <div className="flex-1 overflow-auto bg-background text-foreground">
2956
+ <div className="max-w-4xl mx-auto p-6 prose prose-lg">{renderPreview(content)}</div>
2957
+ </div>
2958
+ </>
2959
+ ) : !isPreview ? (
2960
+ <div className="flex-1 bg-background">{renderEditor()}</div>
2961
+ ) : (
2962
+ <div className="flex-1 overflow-auto bg-background text-foreground">
2963
+ <div className="mx-auto p-6 prose prose-lg">{renderPreview(content)}</div>
2964
+ </div>
2965
+ )}
2966
+ </div>
2967
+
2968
+ {/* Status Bar */}
2969
+ <div className="bg-background/30 border-t-2 border-border text-foreground px-4 py-2 flex items-center justify-between text-sm">
2970
+ <div className="flex items-center space-x-4">
2971
+ <span>Lines: {content.split("\n").length}</span>
2972
+ <span>Characters: {content.length}</span>
2973
+ <span>Words: {content.split(/\s+/).filter((word) => word.length > 0).length}</span>
2974
+ </div>
2975
+ <div className="flex items-center space-x-2">
2976
+ <span>UTF-8</span>
2977
+ <span>•</span>
2978
+ <span>Ctrl+S to save</span>
2979
+ <span>•</span>
2980
+ <span>Ctrl+P to toggle preview</span>
2981
+ </div>
2982
+ </div>
2983
+ </div>
2984
+
2985
+ <Sidebar />
2986
+ </div>
2987
+ </div>
2988
+ );
2989
+ }
2990
+ /**export const meta: MetaFunction = () => {
2991
+ return [{ title: "Scripts - Catalyst POS" }, { property: "og:title", content: "Your bespoke POS." }];
2992
+ };
2993
+
2994
+ export async function loader({ request, params }: LoaderFunction) {
2995
+ const session = await authSessionStorage.getSession(request.headers.get("Cookie"));
2996
+ const email = session.get("email");
2997
+ const user = await eP.user.all(email);
2998
+ if (!user) {
2999
+ return redirect(import.meta.env.VITE_LOGIN);
3000
+ }
3001
+ const templates = await prisma.emailTemplates.findMany({
3002
+ where: {
3003
+ OR: [{ userEmail: user.email }, { userEmail: "skylerzanth@outlook.com" }],
3004
+ },
3005
+ });
3006
+ return json({ ok: true, email, user, templates });
3007
+ }
3008
+
3009
+ export const action = async ({ request }: ActionArgs) => {
3010
+ const data = Object.fromEntries(await request.formData());
3011
+ const session = await authSessionStorage.getSession(request.headers.get("Cookie"));
3012
+ const email = session.get("email");
3013
+ const user = await eP.user.include(email, include);
3014
+ if (!user) {
3015
+ return redirect(import.meta.env.VITE_LOGIN);
3016
+ }
3017
+ const intent = formData.intent;
3018
+ const dataPayload = {
3019
+ body: data.body,
3020
+ category: data.category,
3021
+ userEmail: data.userEmail,
3022
+ review: data.review,
3023
+ dept: data.dept,
3024
+ type: data.type,
3025
+ subCat: data.subCat,
3026
+ };
3027
+ if (data.userEmail !== "skylerzanth@outlook.com") {
3028
+ if (intent === "updateTemplate") {
3029
+ const cleanedStr = data.body.replace(/<\/?p>/g, "");
3030
+
3031
+ const id = formData.id;
3032
+ const template = await prisma.emailTemplates.create({
3033
+ data: {
3034
+ ...dataPayload,
3035
+ body: cleanedStr,
3036
+ userEmail: user.email,
3037
+ },
3038
+ });
3039
+ console.log("update template", formData, data, template);
3040
+ return json({ template, user });
3041
+ }
3042
+ if (intent === "deleteTemplate") {
3043
+ const id = formData.id;
3044
+ const template = await prisma.emailTemplates.delete({
3045
+ where: {
3046
+ id: id,
3047
+ },
3048
+ });
3049
+ return template;
3050
+ }
3051
+ }
3052
+ if (user.email === "skylerzanth@outlook.com") {
3053
+ if (intent === "updateTemplate") {
3054
+ const cleanedStr = data.body.replace(/<\/?p>/g, "");
3055
+
3056
+ const id = formData.id;
3057
+ const template = await prisma.emailTemplates.create({
3058
+ data: {
3059
+ ...dataPayload,
3060
+ body: cleanedStr,
3061
+ userEmail: user.email,
3062
+ },
3063
+ });
3064
+ console.log("update template", formData, data, template);
3065
+ return json({ template, user });
3066
+ }
3067
+ if (intent === "deleteTemplate") {
3068
+ const id = formData.id;
3069
+ const template = await prisma.emailTemplates.delete({
3070
+ where: {
3071
+ id: id,
3072
+ },
3073
+ });
3074
+ return template;
3075
+ }
3076
+ }
3077
+ console.log(data, "data");
3078
+
3079
+ if (intent === "create") {
3080
+ const template = await prisma.emailTemplates.create({
3081
+ data: {
3082
+ dept: data.dept,
3083
+ body: data.body,
3084
+ category: data.category,
3085
+ userEmail: user.email,
3086
+ subCat: data.subCat,
3087
+ },
3088
+ });
3089
+ console.log("create template");
3090
+ return json({ template, user });
3091
+ }
3092
+ if (intent === "addToDropdown") {
3093
+ const template = await prisma.emailTemplatesForDropdown.create({
3094
+ data: {
3095
+ subCat: formData.subCat,
3096
+ body: formData.body,
3097
+ userEmail: formData.userEmail,
3098
+ category: formData.category,
3099
+ type: formData.type,
3100
+ },
3101
+ });
3102
+ console.log("addToDropdown template");
3103
+ return json({ template, user });
3104
+ }
3105
+
3106
+ console.log("returned null");
3107
+ return user;
3108
+ };
3109
+ */